<?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>145330</bug_id>
          
          <creation_ts>2015-05-22 17:20:27 -0700</creation_ts>
          <short_desc>Scroll-snap points should be triggered during programmatic scroll</short_desc>
          <delta_ts>2021-06-21 20:23:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=227246</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218115</blocked>
    
    <blocked>221302</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>jonlee</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>m.goleb+bugzilla</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097007</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-22 17:20:27 -0700</bug_when>
    <thetext>I&apos;ve recently made a set of bug fixes that help the engine keep track of the current snap point, even after programmatic scrolls.

For proper behavior, when a programmatic scroll occurs that will take us close to a snap point, we should drive an animation to that snap point. If the programmatic scroll was not sufficient to take us past, say, the midpoint between two snap points, we should roll back to the original snap point once the scroll operation completes.

However, this would break manually animated scrolling operations.

One possible answer to this problem is to say &quot;Don&apos;t try to combine scroll-snap points and programmatic scrolling.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103409</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-19 14:37:00 -0700</bug_when>
    <thetext>This is currently under discussion in the css working group. The current thought is that we should not invoke scroll snap points for programmatic scrolls, but we should add a &apos;snap&apos; element to the ScrollOptions dictionary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103410</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-06-19 14:37:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/21467780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718639</commentid>
    <comment_count>3</comment_count>
      <attachid>417363</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-11 02:34:15 -0800</bug_when>
    <thetext>Created attachment 417363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718641</commentid>
    <comment_count>4</comment_count>
      <attachid>417365</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-11 03:00:06 -0800</bug_when>
    <thetext>Created attachment 417365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718665</commentid>
    <comment_count>5</comment_count>
      <attachid>417371</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-11 05:21:32 -0800</bug_when>
    <thetext>Created attachment 417371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718734</commentid>
    <comment_count>6</comment_count>
      <attachid>417371</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-11 10:47:35 -0800</bug_when>
    <thetext>Comment on attachment 417371
Patch

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

&gt; Source/WebCore/dom/Element.cpp:991
&gt; +    FloatPoint originalPosition = FloatPoint(
&gt;          adjustForAbsoluteZoom(renderer-&gt;scrollLeft(), *renderer),
&gt;          adjustForAbsoluteZoom(renderer-&gt;scrollTop(), *renderer)
&gt;      );

The better way to write this is auto originalPosition = FloatPoint { ... }

&gt; Source/WebCore/dom/Element.cpp:992
&gt; +    ScrollToOptions scrollToOptions = normalizeNonFiniteCoordinatesOrFallBackTo(options, originalPosition.x(), originalPosition.y());

auto

&gt; Source/WebCore/dom/Element.cpp:998
&gt; +    SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();

auto

&gt; Source/WebCore/dom/Element.cpp:1003
&gt; +    if (snapPointSelectionMethod == ScrollSnapPointSelectionMethod::Directional)
&gt; +        setScrollPositionOptions.enableDirectionalScrollSnapping(originalPosition);
&gt; +    if (useSmoothScrolling(scrollToOptions.behavior.valueOr(ScrollBehavior::Auto), this))
&gt; +        setScrollPositionOptions.setAnimated();

Is this code that could live in a helper on ScrollableArea?

&gt; Source/WebCore/dom/Element.cpp:1333
&gt; +    auto options = SetScrollPositionOptions::createProgrammatic();
&gt; +    if (useSmoothScrolling(ScrollBehavior::Auto, this))
&gt; +        options.setAnimated();

Ditto. Like ScrollableArea::optionsForProgrammaticScroll().

&gt; Source/WebCore/page/DOMWindow.cpp:1708
&gt; +    SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();

auto.

&gt; Source/WebCore/page/FrameView.cpp:2331
&gt; +    ScrollOffset snappedOffset = ceiledIntPoint(
&gt; +        scrollAnimator().adjustScrollOffsetForSnappingIfNeeded(scrollOffsetFromPosition(scrollPosition), delta, originalPosition));

Weird wrapping

&gt; Source/WebCore/platform/ScrollTypes.h:257
&gt; +enum class ScrollSnapPointSelectionMethod : bool {

I prefer uint8_t rather than bool.

&gt; Source/WebCore/platform/ScrollTypes.h:270
&gt; +struct SetScrollPositionOptions {

Having &quot;Set&quot; in the name makes this read like a function at the call sites. Maybe ScrollPositionChangeOptions?

&gt; Source/WebCore/platform/cocoa/ScrollController.mm:918
&gt; +    Optional&lt;LayoutUnit&gt; originalPositionInLayoutUnits = WTF::nullopt;

No need to initialize.

&gt; Source/WebCore/rendering/RenderLayer.cpp:2849
&gt; +            SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; +            if (shouldUseAnimatedScroll(box-&gt;element(), options.behavior))
&gt; +                setScrollPositionOptions.setAnimated();

More sharable code.

&gt; Source/WebCore/rendering/RenderLayer.cpp:2884
&gt; +                SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; +                if (shouldUseAnimatedScroll(element, options.behavior))
&gt; +                    setScrollPositionOptions.setAnimated();

Ditto

&gt; Source/WebCore/rendering/RenderLayer.cpp:2935
&gt; +                SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; +                if (shouldUseAnimatedScroll(element, options.behavior))
&gt; +                    setScrollPositionOptions.setAnimated();

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718972</commentid>
    <comment_count>7</comment_count>
      <attachid>417448</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-12 05:38:27 -0800</bug_when>
    <thetext>Created attachment 417448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718974</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-12 05:42:27 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #6)
&gt; Comment on attachment 417371 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417371&amp;action=review

Thanks for the review!

&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:991
&gt; &gt; +    FloatPoint originalPosition = FloatPoint(
&gt; &gt;          adjustForAbsoluteZoom(renderer-&gt;scrollLeft(), *renderer),
&gt; &gt;          adjustForAbsoluteZoom(renderer-&gt;scrollTop(), *renderer)
&gt; &gt;      );
&gt; 
&gt; The better way to write this is auto originalPosition = FloatPoint { ... }

I gave this a shot, but it seems that things inside curly initialisers and casts are subject to errors due to narrowing int into float. I&apos;ve switched this to:

FloatPoint originalPosition(...)

 
&gt; &gt; Source/WebCore/dom/Element.cpp:992
&gt; &gt; +    ScrollToOptions scrollToOptions = normalizeNonFiniteCoordinatesOrFallBackTo(options, originalPosition.x(), originalPosition.y());
&gt; 
&gt; auto

Fixed.

&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:998
&gt; &gt; +    SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; 
&gt; auto

Fixed.

&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1003
&gt; &gt; +    if (snapPointSelectionMethod == ScrollSnapPointSelectionMethod::Directional)
&gt; &gt; +        setScrollPositionOptions.enableDirectionalScrollSnapping(originalPosition);
&gt; &gt; +    if (useSmoothScrolling(scrollToOptions.behavior.valueOr(ScrollBehavior::Auto), this))
&gt; &gt; +        setScrollPositionOptions.setAnimated();
&gt; 
&gt; Is this code that could live in a helper on ScrollableArea?

It&apos;s a little tricky to do a simple helper in ScrollableArea, but I reworked this a quite a bit and now I think there isn&apos;t any repeated code, apart from the call to useSmoothScrolling (which takes a different argument).
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1333
&gt; &gt; +    auto options = SetScrollPositionOptions::createProgrammatic();
&gt; &gt; +    if (useSmoothScrolling(ScrollBehavior::Auto, this))
&gt; &gt; +        options.setAnimated();
&gt; 
&gt; Ditto. Like ScrollableArea::optionsForProgrammaticScroll().
&gt; 
&gt; &gt; Source/WebCore/page/DOMWindow.cpp:1708
&gt; &gt; +    SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; 
&gt; auto.

Fixed.

&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:2331
&gt; &gt; +    ScrollOffset snappedOffset = ceiledIntPoint(
&gt; &gt; +        scrollAnimator().adjustScrollOffsetForSnappingIfNeeded(scrollOffsetFromPosition(scrollPosition), delta, originalPosition));
&gt; 
&gt; Weird wrapping

Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/ScrollTypes.h:257
&gt; &gt; +enum class ScrollSnapPointSelectionMethod : bool {
&gt; 
&gt; I prefer uint8_t rather than bool.

Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/ScrollTypes.h:270
&gt; &gt; +struct SetScrollPositionOptions {
&gt; 
&gt; Having &quot;Set&quot; in the name makes this read like a function at the call sites.
&gt; Maybe ScrollPositionChangeOptions?

Sure. I&apos;m not at all attached to the original name. I&apos;ve renamed it to ScrollPositionChangeOptions.

&gt; 
&gt; &gt; Source/WebCore/platform/cocoa/ScrollController.mm:918
&gt; &gt; +    Optional&lt;LayoutUnit&gt; originalPositionInLayoutUnits = WTF::nullopt;
&gt; 
&gt; No need to initialize.

Fixed.

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2849
&gt; &gt; +            SetScrollPositionOptions setScrollPositionOptions = SetScrollPositionOptions::createProgrammatic();
&gt; &gt; +            if (shouldUseAnimatedScroll(box-&gt;element(), options.behavior))
&gt; &gt; +                setScrollPositionOptions.setAnimated();
&gt; 
&gt; More sharable code.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719033</commentid>
    <comment_count>9</comment_count>
      <attachid>417448</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-12 09:52:44 -0800</bug_when>
    <thetext>Comment on attachment 417448
Patch

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

&gt; Source/WebCore/platform/ScrollAnimator.cpp:375
&gt; +    Optional&lt;float&gt; originalX, originalY;
&gt; +    FloatSize velocity;
&gt; +    if (method == ScrollSnapPointSelectionMethod::Directional) {
&gt; +        FloatSize scrollOrigin = toFloatSize(m_scrollableArea.scrollOrigin());
&gt; +        originalX = currentPosition().x();
&gt; +        originalY = currentPosition().y();
&gt; +        auto newPosition = ScrollableArea::scrollPositionFromOffset(offset, scrollOrigin);
&gt; +        velocity = { newPosition.x() - currentPosition().x(), newPosition.y() - currentPosition().y() };
&gt; +    }
&gt; +
&gt; +    FloatPoint newOffset = offset;
&gt; +    newOffset.setX(m_scrollController.adjustScrollDestination(ScrollEventAxis::Horizontal, newOffset.x(), velocity.width(), originalX));
&gt; +    newOffset.setY(m_scrollController.adjustScrollDestination(ScrollEventAxis::Vertical, newOffset.y(), velocity.height(), originalY));

There&apos;s an unsetting mix of scrollOffset and scrollPosition here. originalX/originalY are positions (please name them thus), and are passed into m_scrollController.adjustScrollDestination(), but I can&apos;t tell if that actually treats them as positions or offsets. Please test in a horizontal RTL scroller.

&gt; Source/WebCore/platform/cocoa/ScrollController.mm:921
&gt; +    LayoutUnit offset = closestSnapOffset(snapState.snapOffsetsForAxis(axis), snapState.snapOffsetRangesForAxis(axis), LayoutUnit(destination / m_client.pageScaleFactor()), velocity, snapIndex, originalPositionInLayoutUnits);

Does closestSnapOffset() treat originalPositionInLayoutUnits as a position or offset?

&gt; Source/WebCore/rendering/RenderLayer.cpp:2645
&gt; +    IntPoint snappedOffset = ceiledIntPoint(scrollAnimator().adjustScrollOffsetForSnappingIfNeeded(clampedScrollOffset, options.snapPointSelectionMethod));

IntPoint -&gt; ScrollOffset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719242</commentid>
    <comment_count>10</comment_count>
      <attachid>417520</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-13 03:45:26 -0800</bug_when>
    <thetext>Created attachment 417520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719244</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-01-13 03:52:58 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; Comment on attachment 417448 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417448&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/ScrollAnimator.cpp:375
&gt; &gt; +    Optional&lt;float&gt; originalX, originalY;
&gt; &gt; +    FloatSize velocity;
&gt; &gt; +    if (method == ScrollSnapPointSelectionMethod::Directional) {
&gt; &gt; +        FloatSize scrollOrigin = toFloatSize(m_scrollableArea.scrollOrigin());
&gt; &gt; +        originalX = currentPosition().x();
&gt; &gt; +        originalY = currentPosition().y();
&gt; &gt; +        auto newPosition = ScrollableArea::scrollPositionFromOffset(offset, scrollOrigin);
&gt; &gt; +        velocity = { newPosition.x() - currentPosition().x(), newPosition.y() - currentPosition().y() };
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +    FloatPoint newOffset = offset;
&gt; &gt; +    newOffset.setX(m_scrollController.adjustScrollDestination(ScrollEventAxis::Horizontal, newOffset.x(), velocity.width(), originalX));
&gt; &gt; +    newOffset.setY(m_scrollController.adjustScrollDestination(ScrollEventAxis::Vertical, newOffset.y(), velocity.height(), originalY));
&gt; 
&gt; There&apos;s an unsetting mix of scrollOffset and scrollPosition here.
&gt; originalX/originalY are positions (please name them thus), and are passed
&gt; into m_scrollController.adjustScrollDestination(), but I can&apos;t tell if that
&gt; actually treats them as positions or offsets. Please test in a horizontal
&gt; RTL scroller.

Agreed. After looking at this again, I think we should always be passing offsets here. I&apos;ve done that and have modified all of the arguments and variable names down the call chain to make it clear that these are scroll offets. Additionally, I&apos;ve written a test that verifies the correct scroll snap behavior for RTL scrollers when scrolling from script. That test is part of the patch now.

&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2645
&gt; &gt; +    IntPoint snappedOffset = ceiledIntPoint(scrollAnimator().adjustScrollOffsetForSnappingIfNeeded(clampedScrollOffset, options.snapPointSelectionMethod));
&gt; 
&gt; IntPoint -&gt; ScrollOffset

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719272</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-13 06:18:08 -0800</bug_when>
    <thetext>Committed r271439: &lt;https://trac.webkit.org/changeset/271439&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417520.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724930</commentid>
    <comment_count>13</comment_count>
      <attachid>417520</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-02 15:30:06 -0800</bug_when>
    <thetext>Comment on attachment 417520
Patch

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

&gt; Source/WebCore/page/ScrollBehavior.cpp:41
&gt; +    // FIXME: Should we use document()-&gt;scrollingElement()?
&gt; +    // See https://bugs.webkit.org/show_bug.cgi?id=205059
&gt; +    if (associatedElement == associatedElement-&gt;document().scrollingElement())
&gt; +        associatedElement = associatedElement-&gt;document().documentElement();

This is dereferencing associatedElement *before* it is null checked below.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417363</attachid>
            <date>2021-01-11 02:34:15 -0800</date>
            <delta_ts>2021-01-11 03:03:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145330-20210111113413.patch</filename>
            <type>text/plain</type>
            <size>86324</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uZDBmZDAwY2MyNGQ3ZDk3YWY1YTQ0YzAyOGI1NDkz
YTZmNzFiNTgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsIHNuYXBwaW5n
IHdoZW4gc2Nyb2xsIHZpYSBET00gQVBJcy4gVGhpcyBjaGFuZ2UgYWxzbworICAgICAgICBpbnRy
b2R1Y2VzIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyB3aGljaCBob2xkcyBjb21tb24gcGFyYW1l
dGVycyBmb3IKKyAgICAgICAgb3BlcmF0aW9ucyB0aGF0IGZyb20gRE9NIHRoYXQgc2V0IHNjcm9s
bCBwb3NpdGlvbi4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNjcm9sbEJ5KTogV2hlbiBjYWxsaW5nIHNjcm9sbFRvIG1hcmsgdGhhdCB0
aGlzIGNhbGwgaXMgYSAiZGlyZWN0aW9uYWwiCisgICAgICAgIHNjcm9sbCwgc28gdGhhdCBkaXJl
Y3Rpb25hbCBzY3JvbGwgc25hcHBpbmcgaXMgZG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbFRvKTogQWNjZXB0IHRoZSBuZXcgZW51bSBhcmd1bWVudCBtYXJraW5nIGRpcmVj
dGlvbmFsIHNjcm9sbAorICAgICAgICBhbmQgYWxzbyBwcm9wZXJseSBzZXQgdXAgdGhlIFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9s
bExlZnQpOiBVc2UgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuaDog
VXBkYXRlIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbEJ5IGNvbnN0KTogUGFzcyB0aGUg
bmV3IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBhcmd1bWVudAorICAgICAgICB0byBz
Y3JvbGxUby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBB
Y2NlcHQgdGhlIG5ldyBhcmd1bWVudCBhbmQgYWxzbyBwcm9wZXJseSBpbnN0YW50aWF0ZQorICAg
ICAgICBhIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyBhcmd1bWVudCBkb2luZyB0aGUgc2Nyb2xs
IG9wZXJhdGlvbi4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOiBVcGRhdGUgbWV0aG9kIGRl
ZmluaXRpb25zLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBY2NlcHQgdGhlIG5ldyBTZXRTY3Jv
bGxQb3NpdGlvbk9wdGlvbnMgYXJndW1lbnQKKyAgICAgICAgYW5kIGFsc28gcHJvcGVybHkgc25h
cCB0aGUgZGVzdGluYXRpb24gbG9jYXRpb24gYmFzZWQgb24gc2Nyb2xsIHNuYXBwaW5nIHJ1bGVz
LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5pdGlvbi4K
KyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVz
ZVNtb290aFNjcm9sbGluZyk6IE1vdmUgdGhlIGNoZWNrIHdoaWNoIHRyYW5zbGF0ZXMgdGhlIHNj
cm9sbGluZ0VsZW1lbnQgdG8gdGhlCisgICAgICAgIHJvb3QgZG9jdW1lbnQgZWxlbWVudCBoZXJl
IHRvIGF2b2lkIGFzIG11Y2ggcmVwZXRpdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKTog
Q2hhbmdlIHRvIHJlZmxlY3QgcmVuYW1lIG9mIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGly
ZWN0aW9uYWxTbmFwcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjphZGp1
c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKTogQWRkZWQgdGhpcyBoZWxwZXIgd2hp
Y2ggZG9lcworICAgICAgICBzbmFwcGluZyBpbiBib3RoIHRoZSB4IGFuZCB0aGUgeSBheGlzLgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5p
dGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkZWQgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIGFuZCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QuCisgICAg
ICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRp
Yyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpj
cmVhdGVVc2VyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xhbXBlZCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpzZXRBbmltYXRlZCk6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjplbmFibGVEaXJlY3Rpb25h
bFNjcm9sbFNuYXBwaW5nKTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0
aW9uKTogVXBkYXRlIHRvIHJlZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIuaDogUmVuYW1lIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9y
RGlyZWN0aW9uYWxTbmFwcGluZyB0bworICAgICAgICBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbiBh
bmQgYWxsb3cgaXQgdG8gZG8gbm9uLWRpcmVjdGlvbmFsIHNuYXBwaW5nLgorICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFs
U25hcHBpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KTogVXBkYXRlIHRvIHJl
ZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpzZXRTY3JvbGxUb3ApOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENvbWJpbmUgd2l0aCBzY3Jv
bGxUb09mZnNldCBhbmQgYWxzbyBzdGFydCBkb2luZworICAgICAgICBzbmFwcGluZyBkdXJpbmcg
dGhpcyBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZSk6IENyZWF0ZSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgd2hlbiBkb2luZwor
ICAgICAgICBzY3JvbGxpbmcgb3BlcmF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5oOiBVcGRhdGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxpc3RCb3g6OnNldFNjcm9sbExlZnQpOiBVcGRhdGUgdG8gdXNlIFNldFNjcm9sbFBvc2l0aW9u
T3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcCk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3Ap
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
Lmg6IERpdHRvLgorCiAyMDIxLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVXNlIFVURi04IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOWNhYTNjOGU2ZWY3ZjZlZDlmMmQ2MzNkNzQyNzdh
Y2MxMzlhMjNiOC4uMWYyNzE5ZWQ5NzMzMzZiYjRkMDgxNDgwMTNlZWVmZTJhNTQ2NWRmMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcApAQCAtOTQ4LDcgKzk0OCw3IEBAIHZvaWQgRWxlbWVudDo6c2Ny
b2xsQnkoY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zKQogICAgIFNjcm9sbFRvT3B0aW9u
cyBzY3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29yZGluYXRlc09yRmFsbEJh
Y2tUbyhvcHRpb25zLCAwLCAwKTsKICAgICBzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICs9
IHNjcm9sbExlZnQoKTsKICAgICBzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkgKz0gc2Nyb2xs
VG9wKCk7Ci0gICAgc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zKTsKKyAgICBzY3JvbGxUbyhzY3Jv
bGxUb09wdGlvbnMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxl
Y3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFsKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeShk
b3VibGUgeCwgZG91YmxlIHkpCkBAIC05NTYsNyArOTU2LDcgQEAgdm9pZCBFbGVtZW50OjpzY3Jv
bGxCeShkb3VibGUgeCwgZG91YmxlIHkpCiAgICAgc2Nyb2xsQnkoU2Nyb2xsVG9PcHRpb25zKHgs
IHkpKTsKIH0KIAotdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMm
IG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBFbGVtZW50OjpzY3JvbGxU
byhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Qgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9k
KQogewogICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Njcm9sbGluZ0FQ
SUVuYWJsZWQoKSkgewogICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyB0aGUgcm9vdCBlbGVt
ZW50IGFuZCBkb2N1bWVudCBpcyBpbiBxdWlya3MgbW9kZSwgdGVybWluYXRlIHRoZXNlIHN0ZXBz
LgpAQCAtOTc1LDcgKzk3NSw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xs
VG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICAgICAgaWYg
KCF3aW5kb3cpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgd2luZG93LT5zY3JvbGxU
byhvcHRpb25zLCBjbGFtcGluZyk7CisgICAgICAgIHdpbmRvdy0+c2Nyb2xsVG8ob3B0aW9ucywg
Y2xhbXBpbmcsIHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTk4NSwxNiArOTg1LDI0IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3Qg
U2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICBp
ZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIFNjcm9sbFRvT3B0aW9ucyBzY3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVO
b25GaW5pdGVDb29yZGluYXRlc09yRmFsbEJhY2tUbyhvcHRpb25zLAorICAgIEZsb2F0UG9pbnQg
b3JpZ2luYWxQb3NpdGlvbiA9IEZsb2F0UG9pbnQoCiAgICAgICAgIGFkanVzdEZvckFic29sdXRl
Wm9vbShyZW5kZXJlci0+c2Nyb2xsTGVmdCgpLCAqcmVuZGVyZXIpLAogICAgICAgICBhZGp1c3RG
b3JBYnNvbHV0ZVpvb20ocmVuZGVyZXItPnNjcm9sbFRvcCgpLCAqcmVuZGVyZXIpCiAgICAgKTsK
KyAgICBTY3JvbGxUb09wdGlvbnMgc2Nyb2xsVG9PcHRpb25zID0gbm9ybWFsaXplTm9uRmluaXRl
Q29vcmRpbmF0ZXNPckZhbGxCYWNrVG8ob3B0aW9ucywgb3JpZ2luYWxQb3NpdGlvbi54KCksIG9y
aWdpbmFsUG9zaXRpb24ueSgpKTsKICAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbigKICAgICAg
ICAgY2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSAqIHJlbmRlcmVy
LT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSksCiAgICAgICAgIGNsYW1wVG9JbnRlZ2VyKHNjcm9s
bFRvT3B0aW9ucy50b3AudmFsdWUoKSAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20o
KSkKICAgICApOwotICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xs
aW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhhdmlvci52YWx1ZU9yKFNjcm9sbEJlaGF2aW9yOjpBdXRv
KSwgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwotICAg
IHJlbmRlcmVyLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsVHlwZTo6
UHJvZ3JhbW1hdGljLCBjbGFtcGluZywgYW5pbWF0ZWQpOworCisgICAgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0
aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25z
LmNsYW1waW5nID0gY2xhbXBpbmc7CisgICAgaWYgKHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCA9
PSBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFsKQorICAgICAgICBz
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuZW5hYmxlRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGluZyhv
cmlnaW5hbFBvc2l0aW9uKTsKKyAgICBpZiAodXNlU21vb3RoU2Nyb2xsaW5nKHNjcm9sbFRvT3B0
aW9ucy5iZWhhdmlvci52YWx1ZU9yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKSwgdGhpcykpCisgICAg
ICAgIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucy5zZXRBbmltYXRlZCgpOworCisgICAgcmVuZGVy
ZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBzZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSkK
QEAgLTEzMjAsMjEgKzEzMjgsMjEgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBu
ZXdMZWZ0KQogewogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzKCk7CiAKKyAgICBhdXRvIG9wdGlvbnMgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6
OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgIGlmICh1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8sIHRoaXMpKQorICAgICAgICBvcHRpb25zLnNldEFuaW1hdGVkKCk7CisK
ICAgICBpZiAoZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAg
ICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkpIHsKLSAg
ICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0Vs
ZW1lbnQoKT8KLSAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9
IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5v
OwogICAgICAgICAgICAgSW50UG9pbnQgcG9zaXRpb24oc3RhdGljX2Nhc3Q8aW50PihuZXdMZWZ0
ICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKSwg
ZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWSgpKTsKLSAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNl
dFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0
ZWQpOworICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIG9wdGlvbnMpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAoYXV0byogcmVuZGVyZXIgPSByZW5kZXJCb3goKSkgewogICAgICAgICBpbnQgY2xhbXBlZExl
ZnQgPSBjbGFtcFRvSW50ZWdlcihuZXdMZWZ0ICogcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZl
Wm9vbSgpKTsKLSAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3Jv
bGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6
IEFuaW1hdGVkU2Nyb2xsOjpObzsKLSAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xh
bXBlZExlZnQsIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbExlZnQoY2xhbXBlZExl
ZnQsIG9wdGlvbnMpOwogICAgICAgICBpZiAoYXV0byogc2Nyb2xsYWJsZUFyZWEgPSByZW5kZXJl
ci0+bGF5ZXIoKSkKICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRTY3JvbGxTaG91bGRD
bGVhckxhdGNoZWRTdGF0ZSh0cnVlKTsKICAgICB9CkBAIC0xMzQ0LDIxICsxMzUyLDIxIEBAIHZv
aWQgRWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3ApCiB7CiAgICAgZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIGF1dG8gb3B0aW9u
cyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAg
aWYgKHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgdGhpcykpCisgICAg
ICAgIG9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKwogICAgIGlmIChkb2N1bWVudCgpLnNjcm9sbGlu
Z0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50
RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewotICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3
ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwotICAgICAgICAgICAgLy8gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAg
ICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJl
aGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Ny
b2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAgICBJbnRQb2ludCBwb3Np
dGlvbihmcmFtZS0+dmlldygpLT5zY3JvbGxYKCksIHN0YXRpY19jYXN0PGludD4obmV3VG9wICog
ZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKSk7Ci0g
ICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIGZyYW1lLT52aWV3
KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gcmVuZGVyQm94
KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3AgPSBjbGFtcFRvSW50ZWdlcihuZXdUb3AgKiBy
ZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBBbmltYXRlZFNjcm9s
bCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgdGhp
cykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwotICAgICAgICBy
ZW5kZXJlci0+c2V0U2Nyb2xsVG9wKGNsYW1wZWRUb3AsIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRp
YywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgcmVuZGVyZXIt
PnNldFNjcm9sbFRvcChjbGFtcGVkVG9wLCBvcHRpb25zKTsKICAgICAgICAgaWYgKGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUodHJ1ZSk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggNTZhY2E0ZWY0NzA2ZjdmMzBjMmJiZjkxNGNlMTQ3NmY2YjFlNTdi
Zi4uODFiMWU5ZTg3ZGVkMjIwM2MwMDczZTRlMTMxNTFlMGQzOTI4Yzg1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC0xNTgsNyArMTU4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxCeShj
b25zdCBTY3JvbGxUb09wdGlvbnMmKTsKICAgICB2b2lkIHNjcm9sbEJ5KGRvdWJsZSB4LCBkb3Vi
bGUgeSk7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpOworICAgIHZpcnR1YWwg
dm9pZCBzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QgPSBT
Y3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkNsb3Nlc3QpOwogICAgIHZvaWQgc2Nyb2xs
VG8oZG91YmxlIHgsIGRvdWJsZSB5KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Nyb2xs
QnlMaW5lcyhpbnQgbGluZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGUzM2Zh
ZTM4ZWVjM2JhMTM2Njk3YjhlZTVkMzVlOTA1M2VhODdhNmEuLjEzYjQ3YmU3YjdjOTJiM2E2ODAw
Zjg0ZTYwZGRhMjJjNDcyM2M1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTkw
LDYgKzkwLDcgQEAKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNs
dWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIKKyNpbmNsdWRlICJT
Y3JvbGxBbmltYXRvci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW5EYXRhLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKQEAgLTE2
NzQsNyArMTY3NSw3IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxCeShjb25zdCBTY3JvbGxUb09w
dGlvbnMmIG9wdGlvbnMpIGNvbnN0CiAgICAgU2Nyb2xsVG9PcHRpb25zIHNjcm9sbFRvT3B0aW9u
cyA9IG5vcm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1RvKG9wdGlvbnMsIDAs
IDApOwogICAgIHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgKz0gdmlldy0+bWFwRnJvbUxh
eW91dFRvQ1NTVW5pdHModmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpLngoKSk7CiAgICAg
c2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICs9IHZpZXctPm1hcEZyb21MYXlvdXRUb0NTU1Vu
aXRzKHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKS55KCkpOwotICAgIHNjcm9sbFRvKHNj
cm9sbFRvT3B0aW9ucyk7CisgICAgc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zLCBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpEaXJlY3Rpb25h
bCk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhkb3VibGUgeCwgZG91YmxlIHksIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nKSBjb25zdApAQCAtMTY4Miw3ICsxNjgzLDcgQEAgdm9pZCBE
T01XaW5kb3c6OnNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcpIGNvbnN0CiAgICAgc2Nyb2xsVG8oU2Nyb2xsVG9PcHRpb25zKHgsIHkpLCBjbGFtcGlu
Zyk7CiB9CiAKLXZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMm
IG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKSBjb25zdAordm9pZCBET01XaW5kb3c6
OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBzbmFwUG9pbnRTZWxlY3Rp
b25NZXRob2QpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTcwNCwxMSArMTcwNSwyMSBAQCB2b2lkIERPTVdpbmRv
dzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGlu
ZyBjbGFtcGluZwogCiAgICAgSW50UG9pbnQgbGF5b3V0UG9zKHZpZXctPm1hcEZyb21DU1NUb0xh
eW91dFVuaXRzKHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkpLCB2aWV3LT5tYXBGcm9tQ1NT
VG9MYXlvdXRVbml0cyhzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkpKTsKIAorICAgIFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucyBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTZXRTY3JvbGxQ
b3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgIGlmIChzbmFwUG9pbnRT
ZWxlY3Rpb25NZXRob2QgPT0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpEaXJlY3Rp
b25hbCkgeworICAgICAgICBGbG9hdFBvaW50IG9yaWdpbmFsUG9zaXRpb24gPSBGbG9hdFBvaW50
KAorICAgICAgICAgICAgdmlldy0+bWFwRnJvbUxheW91dFRvQ1NTVW5pdHModmlldy0+Y29udGVu
dHNTY3JvbGxQb3NpdGlvbigpLngoKSksCisgICAgICAgICAgICB2aWV3LT5tYXBGcm9tTGF5b3V0
VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkueSgpKSk7CisgICAgICAg
IHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucy5lbmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5n
KG9yaWdpbmFsUG9zaXRpb24pOworICAgIH0KKyAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMu
Y2xhbXBpbmcgPSBjbGFtcGluZzsKKwogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3Vt
ZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVk
ID0gdXNlU21vb3RoU2Nyb2xsaW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhhdmlvci52YWx1ZU9yKFNj
cm9sbEJlaGF2aW9yOjpBdXRvKSwgZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKKyAgICBpZiAodXNlU21vb3Ro
U2Nyb2xsaW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhhdmlvci52YWx1ZU9yKFNjcm9sbEJlaGF2aW9y
OjpBdXRvKSwgZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpKQorICAgICAgICBzZXRTY3Jv
bGxQb3NpdGlvbk9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKIAotICAgIHZpZXctPnNldENvbnRlbnRz
U2Nyb2xsUG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAgIHZpZXct
PnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24obGF5b3V0UG9zLCBzZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMpOwogfQogCiBib29sIERPTVdpbmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0
cnkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggYTczOWY4MzFmZWU5MWQxOTA2
MWY3YzIwNTAwMzJhMGE3ZjE3MDMxMy4uZjI3YTNkNTFjMTU1ODM0ODhlZjE0NGE3ODJmYmE0ZjJk
ZTdhOTA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBzY3JvbGxCeShjb25zdCBTY3JvbGxUb09wdGlvbnMmKSBjb25zdDsK
ICAgICB2b2lkIHNjcm9sbEJ5KGRvdWJsZSB4LCBkb3VibGUgeSkgY29uc3Q7Ci0gICAgdm9pZCBz
Y3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkKSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IFNjcm9sbFRv
T3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9s
bFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCA9IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhv
ZDo6Q2xvc2VzdCkgY29uc3Q7CiAgICAgdm9pZCBzY3JvbGxUbyhkb3VibGUgeCwgZG91YmxlIHks
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGNvbnN0OwogCiAgICAg
dm9pZCBtb3ZlQnkoZmxvYXQgeCwgZmxvYXQgeSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKaW5kZXggZWVkNDUzYTYzZTJmYmE0ZDhiNWUyOTliZTk3MjI4NGU1OWQ5MjcwOC4uYmM3
Y2JiNzQ3OGJiODY5ZjRkMTNlZGU1ZjZkNDhkZjI4MzUyOTBkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcApAQCAtMjMxMSwxMiArMjMxMSwxMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xs
RWxlbWVudFRvUmVjdChjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiByZWN0
KQogICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdP
ZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdPZmZzZXRZIC0gcmVjdC55
KCkpKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1h
dGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJiBvcHRpb25zKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0
cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9u
IDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsKIAogICAgIGF1dG8gb2xkU2Nyb2xsVHlwZSA9IGN1
cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoU2Nyb2xsVHlwZTo6
UHJvZ3JhbW1hdGljKTsKKyAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvcHRpb25zLnR5cGUpOwog
CiAgICAgbV9tYWludGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yID0gbnVsbHB0cjsKICAgICBtX3No
b3VsZFNjcm9sbFRvRm9jdXNlZEVsZW1lbnQgPSBmYWxzZTsKQEAgLTIzMjQsMTAgKzIzMjQsMTYg
QEAgdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9u
JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdl
KCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAg
ICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hl
ZWxFdmVudFRlc3RNb25pdG9yKCkpOwotICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBp
bmcpOworCisgICAgY29uc3QgYXV0byYgb3JpZ2luYWxQb3NpdGlvbiA9IG9wdGlvbnMub3JpZ2lu
YWxQb3NpdGlvbkZvckRpcmVjdGlvbmFsU2Nyb2xsU25hcHBpbmc7CisgICAgRmxvYXRTaXplIGRl
bHRhID0gb3JpZ2luYWxQb3NpdGlvbi5oYXNWYWx1ZSgpID8gc2Nyb2xsUG9zaXRpb24gLSAqb3Jp
Z2luYWxQb3NpdGlvbiA6IEZsb2F0U2l6ZSgpOworICAgIFNjcm9sbE9mZnNldCBzbmFwcGVkT2Zm
c2V0ID0gY2VpbGVkSW50UG9pbnQoCisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuYWRqdXN0U2Ny
b2xsT2Zmc2V0Rm9yU25hcHBpbmdJZk5lZWRlZChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24pLCBkZWx0YSwgb3JpZ2luYWxQb3NpdGlvbikpOworCisgICAgaWYgKG9wdGlv
bnMuYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykKKyAgICAgICAgc2Nyb2xsVG9PZmZz
ZXRXaXRoQW5pbWF0aW9uKHNuYXBwZWRPZmZzZXQsIGN1cnJlbnRTY3JvbGxUeXBlKCksIG9wdGlv
bnMuY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9z
aXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAgICAgICAgU2Nyb2xsVmlldzo6c2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KHNuYXBwZWRPZmZzZXQpLCBv
cHRpb25zKTsKIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9sZFNjcm9sbFR5cGUpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggOTEzZWYyNmUyMGE1MWIyZDU2NGViZDM2ZWEyYjAz
ODU5MTk2OGZlNC4uMmY4MjY1MTYwN2Y0ZTM3NzY1N2RiYTU2OWE3Y2Q0MTlmYTk0NzY1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMzksNyArMjM5LDcgQEAgcHVibGljOgogI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEZpeGVk
VmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICNlbmRpZgotICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
LCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9s
bCA9IEFuaW1hdGVkU2Nyb2xsOjpObykgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIGNvbnN0IFNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucyYgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1t
YXRpYygpKSBmaW5hbDsKICAgICB2b2lkIHJlc3RvcmVTY3JvbGxiYXIoKTsKICAgICB2b2lkIHNj
aGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChTZWxlY3Rpb25SZXZlYWxNb2RlKTsKICAgICB2
b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCmluZGV4IGNmZTVmMzc2N2RkOTRhZjBkZGM5ZDE5
ZmY0NTFhZDk1YjgyNTc2MWMuLjQ2OWExOWI4Mjk0YWZmNWNlNzE2ODNmYzBkZjQwMjExODY0ODYy
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCkBAIC0zNSw2ICszNSwx
MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCkKIHsKKyAgICAv
LyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/Cisg
ICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkK
KyAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0gYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50
KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQorICAgICAgICBhc3NvY2lhdGVkRWxlbWVudCA9IGFzc29j
aWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOworCiAgICAgaWYgKCFh
c3NvY2lhdGVkRWxlbWVudAogICAgICAgICB8fCAhYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVy
KCkKICAgICAgICAgfHwgIWFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCku
Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGEzYmY4ZWUzNTE4YWEzYzIyY2U1ZDk4MWIzNDFm
NTU3NjlmN2E4ZWMuLjUxZjg4ODE0ZWE4YjhmY2Q3ZWNkZGRiYTNmYjdmNzk1ZGRkZWFhMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTkxLDEyICs5
MSwxMiBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24g
b3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAgYXV0byBuZXdPZmZzZXQgPSBTY3Jv
bGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKG5ld1Bvc2l0aW9uLCBzY3JvbGxP
cmlnaW4pOwogICAgIGF1dG8gY3VycmVudE9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxP
ZmZzZXRGcm9tUG9zaXRpb24odGhpcy0+Y3VycmVudFBvc2l0aW9uKCksIHNjcm9sbE9yaWdpbik7
CiAgICAgaWYgKG9yaWVudGF0aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpIHsKLSAgICAgICAg
bmV3T2Zmc2V0LnNldFgobV9zY3JvbGxDb250cm9sbGVyLmFkanVzdFNjcm9sbERlc3RpbmF0aW9u
Rm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIG5ld09m
ZnNldC54KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZzZXQueCgpKSk7CisgICAgICAgIG5ld09m
ZnNldC5zZXRYKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3Jv
bGxFdmVudEF4aXM6Okhvcml6b250YWwsIG5ld09mZnNldC54KCksIG11bHRpcGxpZXIsIGN1cnJl
bnRPZmZzZXQueCgpKSk7CiAgICAgICAgIG5ld1Bvc2l0aW9uID0gU2Nyb2xsYWJsZUFyZWE6OnNj
cm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdPZmZzZXQsIHNjcm9sbE9yaWdpbik7CiAgICAgICAg
IHJldHVybiBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIG5ld1Bvc2l0
aW9uLngoKSAtIHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpLngoKSwgMS4wKTsKICAgICB9CiAKLSAg
ICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRp
b25Gb3JEaXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50QXhpczo6VmVydGljYWwsIG5ld1Bv
c2l0aW9uLnkoKSwgbXVsdGlwbGllciwgY3VycmVudE9mZnNldC55KCkpKTsKKyAgICBuZXdPZmZz
ZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xs
RXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3UG9zaXRpb24ueSgpLCBtdWx0aXBsaWVyLCBjdXJyZW50
T2Zmc2V0LnkoKSkpOwogICAgIG5ld1Bvc2l0aW9uID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBv
c2l0aW9uRnJvbU9mZnNldChuZXdPZmZzZXQsIHNjcm9sbE9yaWdpbik7CiAgICAgcmV0dXJuIHNj
cm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIG5ld1Bvc2l0aW9uLnkoKSAtIHRo
aXMtPmN1cnJlbnRQb3NpdGlvbigpLnkoKSwgMS4wKTsKICNlbHNlCkBAIC0zNTQsNCArMzU0LDIz
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmRpZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xs
YmFyKikKICAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Njcm9sbC0+dXBkYXRlVmlzaWJsZUxl
bmd0aHMoKTsKIH0KIAorRmxvYXRQb2ludCBTY3JvbGxBbmltYXRvcjo6YWRqdXN0U2Nyb2xsT2Zm
c2V0Rm9yU25hcHBpbmdJZk5lZWRlZChjb25zdCBGbG9hdFBvaW50JiBvZmZzZXQsIGNvbnN0IEZs
b2F0U2l6ZSYgdmVsb2NpdHksIE9wdGlvbmFsPEZsb2F0UG9pbnQ+IG9yaWdpbmFsUG9zaXRpb24p
Cit7CisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKKyAgICBpZiAoIW1fc2Nyb2xsQ29udHJv
bGxlci51c2VzU2Nyb2xsU25hcCgpKQorICAgICAgICByZXR1cm4gb2Zmc2V0OworCisgICAgT3B0
aW9uYWw8ZmxvYXQ+IG9yaWdpbmFsWCA9IG9yaWdpbmFsUG9zaXRpb24uaGFzVmFsdWUoKSA/IE9w
dGlvbmFsPGZsb2F0PiB7b3JpZ2luYWxQb3NpdGlvbi0+eCgpfSA6IFdURjo6bnVsbG9wdDsKKyAg
ICBPcHRpb25hbDxmbG9hdD4gb3JpZ2luYWxZID0gb3JpZ2luYWxQb3NpdGlvbi5oYXNWYWx1ZSgp
ID8gT3B0aW9uYWw8ZmxvYXQ+IHtvcmlnaW5hbFBvc2l0aW9uLT55KCl9IDogV1RGOjpudWxsb3B0
OworCisgICAgRmxvYXRQb2ludCBuZXdPZmZzZXQgPSBvZmZzZXQ7CisgICAgbmV3T2Zmc2V0LnNl
dFgobV9zY3JvbGxDb250cm9sbGVyLmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2ZW50
QXhpczo6SG9yaXpvbnRhbCwgbmV3T2Zmc2V0LngoKSwgdmVsb2NpdHkud2lkdGgoKSwgb3JpZ2lu
YWxYKSk7CisgICAgbmV3T2Zmc2V0LnNldFkobV9zY3JvbGxDb250cm9sbGVyLmFkanVzdFNjcm9s
bERlc3RpbmF0aW9uKFNjcm9sbEV2ZW50QXhpczo6VmVydGljYWwsIG5ld09mZnNldC55KCksIHZl
bG9jaXR5LmhlaWdodCgpLCBvcmlnaW5hbFkpKTsKKyAgICByZXR1cm4gbmV3T2Zmc2V0OworI2Vs
c2UKKyAgICByZXR1cm4gb2Zmc2V0OworI2VuZGlmCit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggNDAwMWY0
YWY4MDE0YTk0ZjMzMGNjNjNlOTRiYWNkNWQ5N2M4NzhmMS4uNDYyZGU3MmY4ODgzMDg2NWIxMDQx
YTcyM2QwOGY2M2Y4NmUzMzQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RNb25pdG9y
LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5H
KSB8fCBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogI2luY2x1ZGUgIlNjcm9sbENvbnRyb2xsZXIu
aCIKQEAgLTEzOCw2ICsxMzksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFdoZWVsRXZlbnRU
ZXN0TW9uaXRvcihSZWZQdHI8V2hlZWxFdmVudFRlc3RNb25pdG9yPiYmIHRlc3RNb25pdG9yKSB7
IG1fd2hlZWxFdmVudFRlc3RNb25pdG9yID0gdGVzdE1vbml0b3I7IH0KIAorICAgIEZsb2F0UG9p
bnQgYWRqdXN0U2Nyb2xsT2Zmc2V0Rm9yU25hcHBpbmdJZk5lZWRlZChjb25zdCBGbG9hdFBvaW50
JiBvZmZzZXQsIGNvbnN0IEZsb2F0U2l6ZSYgdmVsb2NpdHksIE9wdGlvbmFsPEZsb2F0UG9pbnQ+
IG9yaWdpbmFsUG9zaXRpb24pOworCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgfHwgRU5B
QkxFKFJVQkJFUl9CQU5ESU5HKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxDb250cm9sbGVy
VGltZXI+IGNyZWF0ZVRpbWVyKEZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IGEwOTNjOWIzZTYwYWRiOWY5OTI2
MjU3OGNhZjNkZmE0MGRmNjA0MWEuLmNjODNhYTdhYmRmOTA0N2FlODg3ZDNmOWQ5MDZlYjlmNjhh
ZmQ0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMjUsNiArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRl
ICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPGNzdGRpbnQ+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KQEAgLTI0OSw2ICsyNTAsMTUgQEAgZW51bSBjbGFzcyBTY3JvbGxQb3NpdGlvbmluZ0Jl
aGF2aW9yIDogdWludDhfdCB7CiAgICAgU3RhdGlvbmFyeQogfTsKIAorLy8gVGhpcyB2YWx1ZSBj
b250cm9scyB0aGUgbWV0aG9kIHVzZWQgdG8gc2VsZWN0IHNuYXAgcG9pbnRzIGR1cmluZyBzY3Jv
bGxpbmcuIFRoaXMgbWF5IGVpdGhlcgorLy8gYmUgImRpcmVjdGlvbmFsIiBvciAiY2xvc2VzdC4i
IFRoZSBkaXJlY3Rpb25hbCBtZXRob2Qgb25seSBjaG9vc2VzIHNuYXAgcG9pbnRzIHRoYXQgYXJl
IGF0IG9yCisvLyBiZXlvbmQgdGhlIHNjcm9sbCBkZXN0aW5hdGlvbiBpbiB0aGUgZGlyZWN0aW9u
IG9mIHRoZSBzY3JvbGwuIFRoZSAiY2xvc2VzdCIgbWV0aG9kIGRvZXMgbm90CisvLyBoYXZlIHRo
aXMgY29uc3RyYWludC4KK2VudW0gY2xhc3MgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9k
IDogYm9vbCB7CisgICAgRGlyZWN0aW9uYWwsCisgICAgQ2xvc2VzdCwKK307CisKIHVzaW5nIFNj
cm9sbGJhckNvbnRyb2xTdGF0ZSA9IHVuc2lnbmVkOwogdXNpbmcgU2Nyb2xsYmFyQ29udHJvbFBh
cnRNYXNrID0gdW5zaWduZWQ7CiB1c2luZyBTY3JvbGxpbmdOb2RlSUQgPSB1aW50NjRfdDsKQEAg
LTI1Nyw2ICsyNjcsNDEgQEAgV0VCQ09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRv
cjw8KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbFR5cGUpOwogV0VCQ09SRV9FWFBPUlQgV1RGOjpU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbENsYW1waW5nKTsK
IFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJl
YW0mLCBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMpOwogCitzdHJ1Y3QgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIHsKKyAgICBTY3JvbGxUeXBlIHR5cGU7CisgICAgU2Nyb2xsQ2xhbXBp
bmcgY2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZDsKKyAgICBBbmltYXRlZFNjcm9s
bCBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKKworICAgIC8vIElmIHRoaXMgT3B0aW9u
YWwgdmFsdWUgaXMgbm90IG51bGwgdGhlbiB0aGUgImRpcmVjdGlvbmFsIiBzY3JvbGwgc25hcCBw
b2ludCBzZWxlY3Rpb24gbWV0aG9kCisgICAgLy8gaXMgYWN0aXZlLCBvdGhlcndpc2UgImNsb3Nl
c3QiIGlzIHVzZWQuCisgICAgT3B0aW9uYWw8RmxvYXRQb2ludD4gb3JpZ2luYWxQb3NpdGlvbkZv
ckRpcmVjdGlvbmFsU2Nyb2xsU25hcHBpbmcgPSBXVEY6Om51bGxvcHQ7CisKKyAgICBzdGF0aWMg
U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zIGNyZWF0ZVByb2dyYW1tYXRpYygpCisgICAgeworICAg
ICAgICByZXR1cm4geyBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMgfTsKKyAgICB9CisKKyAgICBz
dGF0aWMgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zIGNyZWF0ZVVzZXIoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6VXNlciB9OworICAgIH0KKworICAgIHN0YXRpYyBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMgY3JlYXRlUHJvZ3JhbW1hdGljVW5jbGFtcGVkKCkKKyAgICB7
CisgICAgICAgIHJldHVybiB7IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBp
bmc6OlVuY2xhbXBlZCB9OworICAgIH0KKworICAgIHZvaWQgc2V0QW5pbWF0ZWQoKQorICAgIHsK
KyAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOworICAgIH0KKworICAgIHZv
aWQgZW5hYmxlRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGluZyhjb25zdCBGbG9hdFBvaW50JiBvcmln
aW5hbFBvc2l0aW9uKQorICAgIHsKKyAgICAgICAgb3JpZ2luYWxQb3NpdGlvbkZvckRpcmVjdGlv
bmFsU2Nyb2xsU25hcHBpbmcgPSBvcmlnaW5hbFBvc2l0aW9uOworICAgIH0KK307CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwCmluZGV4IGRhY2FhZDUwMGZkNzI3MTczYmQ5NDA0M2VlMzI0Mzk0Yzc5
Y2YxNzAuLjE4YWNlNDBkYzQwODRkZDkyNWY5MDExMjhhMDY5Yjc1YTNkNDQ0MDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0yMDcsMTMgKzIwNywxMyBAQCBJbnRQ
b2ludCBTY3JvbGxWaWV3Ojpjb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1
cm4gc2Nyb2xsUG9zaXRpb24oKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Nj
cm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBTY3JvbGxWaWV3OjpzZXRDb250
ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgU2V0U2Ny
b2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25zKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgIHNldEFjdHVhbFNjcm9sbFBvc2l0
aW9uKHBvc2l0aW9uKTsKICNlbmRpZgotICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRp
b25zKTsKIH0KIAogRmxvYXRSZWN0IFNjcm9sbFZpZXc6OmV4cG9zZWRDb250ZW50UmVjdCgpIGNv
bnN0CkBAIC01MTQsNyArNTE0LDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojpjb21wbGV0ZVVwZGF0ZXNB
ZnRlclNjcm9sbFRvKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhKQogICAgIHVwZGF0ZUNvbXBv
c2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRT
Y3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbC8qIGFuaW1hdGVkKi8pCit2b2lkIFNj
cm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQ
b3NpdGlvbiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25zKQogewogICAg
IExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24gIiA8PCBzY3JvbGxQb3NpdGlvbik7CiAKQEAgLTUyOSwxMSArNTI5LDExIEBA
IHZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
IHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDCiAgICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0
YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikKICAg
ICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKLSAgICBTY3JvbGxQ
b3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9ICghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgY2xh
bXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpID8gYWRqdXN0U2Nyb2xsUG9zaXRpb25X
aXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikgOiBzY3JvbGxQb3NpdGlvbjsKKyAgICBTY3JvbGxQ
b3NpdGlvbiBuZXdTY3JvbGxQb3NpdGlvbiA9ICghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgJiYgb3B0
aW9ucy5jbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQ
b3NpdGlvbldpdGhpblJhbmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOwogICAg
IGlmICgoIWRlbGVnYXRlc1Njcm9sbGluZygpIHx8IGN1cnJlbnRTY3JvbGxUeXBlKCkgPT0gU2Ny
b2xsVHlwZTo6VXNlcikgJiYgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uICYmIG5ld1Njcm9sbFBvc2l0aW9uID09IHRo
aXMtPnNjcm9sbFBvc2l0aW9uKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghcmVxdWVz
dFNjcm9sbFBvc2l0aW9uVXBkYXRlKG5ld1Njcm9sbFBvc2l0aW9uLCBjdXJyZW50U2Nyb2xsVHlw
ZSgpLCBjbGFtcGluZykpCisgICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUobmV3
U2Nyb2xsUG9zaXRpb24sIGN1cnJlbnRTY3JvbGxUeXBlKCksIG9wdGlvbnMuY2xhbXBpbmcpKQog
ICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKG5ld1Njcm9sbFBvc2l0aW9uKTsKIAogICAgIHNldFNj
cm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXggZmNiYzgzNzllMTgyMjliM2U4
Y2UzNWVhYjhiMzVjYjZjNDA3NjI2NS4uNmExMTNiNzM3YWQzOGZlMjMzMjdlNzIwMWRjNWNiZDky
YWRmODU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMjQ0LDcgKzI0
NCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFNjcm9sbCBwb3NpdGlvbiB1c2VkIGJ5IHdlYi1leHBv
c2VkIGZlYXR1cmVzIChoYXMgbGVnYWN5IGlPUyBiZWhhdmlvcikuCiAgICAgV0VCQ09SRV9FWFBP
UlQgSW50UG9pbnQgY29udGVudHNTY3JvbGxQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0
Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vKTsKKyAgICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQm
LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRp
b25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKSk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIGludCBhY3R1YWxTY3JvbGxYKCkgY29uc3QgeyByZXR1cm4gdW5vYnNjdXJlZENvbnRlbnRS
ZWN0KCkueCgpOyB9CkBAIC0yNzQsNyArMjc0LDcgQEAgcHVibGljOgogICAgIFNjcm9sbFBvc2l0
aW9uIGNhY2hlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JvbGxQ
b3NpdGlvbjsgfQogCiAgICAgLy8gRnVuY3Rpb25zIGZvciBzY3JvbGxpbmcgdGhlIHZpZXcuCi0g
ICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwg
PSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYg
PSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpKTsKIAogICAg
IHZvaWQgc2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgcykgeyByZXR1cm4gc2V0U2Nyb2xsUG9zaXRp
b24oc2Nyb2xsUG9zaXRpb24oKSArIHMpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIuaAppbmRleCBjZjM5MjM0MDVlZTEzMTY5NjgxNmJl
N2ZiMGEyNTQ1NDFiMjQzZmZjLi41NmY0YWM5MjJjYzExODE3NTg1Njk2ZTNiMzNlOWFkN2RmMmE5
NDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5oCkBAIC0xNjYsNyArMTY2LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGFjdGl2ZVNj
cm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzKSBjb25zdDsKICAgICB2b2lkIHVw
ZGF0ZVNjcm9sbFNuYXBTdGF0ZShjb25zdCBTY3JvbGxhYmxlQXJlYSYpOwogICAgIHZvaWQgdXBk
YXRlR2VzdHVyZUluUHJvZ3Jlc3NTdGF0ZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKLSAg
ICBmbG9hdCBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcoU2Ny
b2xsRXZlbnRBeGlzLCBmbG9hdCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIGZsb2F0IG9y
aWdpbmFsUG9zaXRpb24pOworICAgIGZsb2F0IGFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9s
bEV2ZW50QXhpcywgZmxvYXQgZGVzdGluYXRpb24sIGZsb2F0IHZlbG9jaXR5LCBPcHRpb25hbDxm
bG9hdD4gb3JpZ2luYWxQb3NpdGlvbik7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiBoYW5kbGVkLgogICAgIGJvb2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxT
bmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggM2U0ZjA2OWNmMzJiNjMxODU2
YThjNmEyZGVkMGExNmUzZWY1MWZmOC4uOGUxNzAxMTdjYzUzZGQ2NzI1N2QxNDllZTI5NDEwNGM5
NDE0MzBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCkBAIC05MDQsNyArOTA0LDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpz
ZXROZWFyZXN0U2Nyb2xsU25hcEluZGV4Rm9yQXhpc0FuZE9mZnNldChTY3JvbGxFdmVudEF4aXMK
ICAgICBzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKGF4aXMsIGFjdGl2ZUluZGV4KTsK
IH0KIAotZmxvYXQgU2Nyb2xsQ29udHJvbGxlcjo6YWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9hdCBkZXN0aW5hdGlv
biwgZmxvYXQgdmVsb2NpdHksIGZsb2F0IG9yaWdpbmFsUG9zaXRpb24pCitmbG9hdCBTY3JvbGxD
b250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXMgYXhpcywg
ZmxvYXQgZGVzdGluYXRpb24sIGZsb2F0IHZlbG9jaXR5LCBPcHRpb25hbDxmbG9hdD4gb3JpZ2lu
YWxQb3NpdGlvbikKIHsKICAgICBpZiAoIXVzZXNTY3JvbGxTbmFwKCkpCiAgICAgICAgIHJldHVy
biBkZXN0aW5hdGlvbjsKQEAgLTkxNSw3ICs5MTUsMTAgQEAgZmxvYXQgU2Nyb2xsQ29udHJvbGxl
cjo6YWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JEaXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2
ZW4KICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uOwogCiAgICAgdW5zaWduZWQgc25hcEluZGV4
OwotICAgIExheW91dFVuaXQgb2Zmc2V0ID0gY2xvc2VzdFNuYXBPZmZzZXQoc25hcFN0YXRlLnNu
YXBPZmZzZXRzRm9yQXhpcyhheGlzKSwgc25hcFN0YXRlLnNuYXBPZmZzZXRSYW5nZXNGb3JBeGlz
KGF4aXMpLCBMYXlvdXRVbml0KGRlc3RpbmF0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxlRmFjdG9y
KCkpLCB2ZWxvY2l0eSwgc25hcEluZGV4LCBMYXlvdXRVbml0KG9yaWdpbmFsUG9zaXRpb24gLyBt
X2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKSkpOworICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IG9y
aWdpbmFsUG9zaXRpb25JbkxheW91dFVuaXRzID0gV1RGOjpudWxsb3B0OworICAgIGlmIChvcmln
aW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkpCisgICAgICAgIG9yaWdpbmFsUG9zaXRpb25JbkxheW91
dFVuaXRzID0gTGF5b3V0VW5pdCgqb3JpZ2luYWxQb3NpdGlvbiAvIG1fY2xpZW50LnBhZ2VTY2Fs
ZUZhY3RvcigpKTsKKyAgICBMYXlvdXRVbml0IG9mZnNldCA9IGNsb3Nlc3RTbmFwT2Zmc2V0KHNu
YXBTdGF0ZS5zbmFwT2Zmc2V0c0ZvckF4aXMoYXhpcyksIHNuYXBTdGF0ZS5zbmFwT2Zmc2V0UmFu
Z2VzRm9yQXhpcyhheGlzKSwgTGF5b3V0VW5pdChkZXN0aW5hdGlvbiAvIG1fY2xpZW50LnBhZ2VT
Y2FsZUZhY3RvcigpKSwgdmVsb2NpdHksIHNuYXBJbmRleCwgb3JpZ2luYWxQb3NpdGlvbkluTGF5
b3V0VW5pdHMpOwogICAgIHJldHVybiBvZmZzZXQgKiBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3Io
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBlZDlmYTM0
OTg2MWY2ZWEwOWMxY2FlMDdhYjlmOGI0Y2VhY2JiY2I4Li4xODA5MmViOTllZjFiOTY4ZDAyNzM0
M2RhODZiNGM4ZmZmZDlmNDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtNTkzLDI4ICs1OTMsMjggQEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50TW9uaXRv
cihSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgbGF5ZXIuc2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVl
bEV2ZW50VGVzdE1vbml0b3IocGFnZS53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9CiAKLXZv
aWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlIHNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkK
K3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBjb25zdCBTZXRTY3Jv
bGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAo
KSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0
b3IoKmxheWVyKCkpOwotICAgIGxheWVyKCktPnNjcm9sbFRvWFBvc2l0aW9uKG5ld0xlZnQsIHNj
cm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9z
aXRpb24obmV3TGVmdCwgb3B0aW9ucyk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxU
b3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xs
VG9wKGludCBuZXdUb3AsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykK
IHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1
cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+
c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQp
OworICAgIGxheWVyKCktPnNjcm9sbFRvWVBvc2l0aW9uKG5ld1RvcCwgb3B0aW9ucyk7CiB9CiAK
LXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
cG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcs
IEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0
aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJiBvcHRpb25zKQogewogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxh
eWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXll
cigpKTsKLSAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlw
ZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgb3B0aW9ucyk7CiB9CiAKIHZvaWQgUmVuZGVyQm94OjphYnNvbHV0ZVJlY3RzKFZl
Y3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNl
dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCA5NmU3MmQ0Zjg1
YmM0OTNmYjQ3MjBiY2MyZTE4NTBlNDA4YjQxYzg0Li42MTg4ZmU1YzhhMzE4YzcyNjdiODYzMWFm
MGIxMzc4NDZiMjQyZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC0y
NSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94
TW9kZWxPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJPdmVyZmxvdy5oIgorI2luY2x1ZGUgIlNj
cm9sbFNuYXBPZmZzZXRzSW5mby5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVk
ZSAiU2hhcGVPdXRzaWRlSW5mby5oIgogCkBAIC0yNDksOSArMjUwLDkgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgaW50IHNjcm9sbFRvcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHNjcm9sbFdp
ZHRoKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Q7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Ny
b2xsOjpObyk7Ci0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFRvcChpbnQsIFNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xs
ID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAg
IHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25P
cHRpb25zJik7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFRvcChpbnQsIGNvbnN0IFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucyYpOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKTsKIAogICAg
IExheW91dFVuaXQgbWFyZ2luVG9wKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9tYXJnaW5C
b3gudG9wKCk7IH0KICAgICBMYXlvdXRVbml0IG1hcmdpbkJvdHRvbSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fbWFyZ2luQm94LmJvdHRvbSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCAyNDkzZWY4NjRkYTQzYTc4MDI4NjMxZTg3MmEzMzBkNTQw
OGFmNzIzLi5iMzQ4YzU0NDVlZjQxNTY1YWFkYWJjMzdlMmI0N2YyMTU1NmI3NmQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OTcsMjQgKzI1OTcsMjEg
QEAgdm9pZCBSZW5kZXJMYXllcjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRl
ZCgpCiAgICAgbV9wb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlIHNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCkKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBjb25zdCBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9z
aXRpb24oeCwgbV9zY3JvbGxQb3NpdGlvbi55KCkpOwotICAgIHNldFNjcm9sbFBvc2l0aW9uKHBv
c2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAgIHNldFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
VG9ZUG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9ZUG9zaXRpb24oaW50IHksIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgb3B0
aW9ucykKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngo
KSwgeSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMp
OwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcg
Y2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGFuaW1hdGVkID09IEFu
aW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihz
Y3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7
Ci0gICAgZWxzZQotICAgICAgICBzY3JvbGxUb09mZnNldChzY3JvbGxPZmZzZXRGcm9tUG9zaXRp
b24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgc2Nyb2xsVG9PZmZzZXQo
c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgb3B0aW9ucyk7CiB9CiAKIFNjcm9s
bE9mZnNldCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0
JiBzY3JvbGxPZmZzZXQpIGNvbnN0CkBAIC0yNjMzLDM1ICsyNjMwLDMxIEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYg
cG9zaXRpb24sIFNjCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCwgU2Nyb2xsVHlw
ZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBjb25zdCBT
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGN1cnJlbnRTY3Jv
bGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFu
aW1hdGlvbikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAK
LSAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNj
cm9sbE9mZnNldDsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IG9wdGlv
bnMuY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNl
dChzY3JvbGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OwogICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zm
c2V0ID09IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRv
IHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgc2V0Q3VycmVu
dFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7CisgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob3B0aW9u
cy50eXBlKTsKIAotICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBv
c2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBp
bmcpKQotICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9s
bE9mZnNldCwgY2xhbXBpbmcpOwotICAgIHNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJl
aGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbik7CisgICAgY29uc3QgYXV0byYgb3JpZ2luYWxQ
b3NpdGlvbiA9IG9wdGlvbnMub3JpZ2luYWxQb3NpdGlvbkZvckRpcmVjdGlvbmFsU2Nyb2xsU25h
cHBpbmc7CisgICAgRmxvYXRTaXplIGRlbHRhID0gb3JpZ2luYWxQb3NpdGlvbi5oYXNWYWx1ZSgp
ID8gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpIC0gKm9yaWdp
bmFsUG9zaXRpb24gOiBGbG9hdFNpemUoKTsKKyAgICBJbnRQb2ludCBzbmFwcGVkT2Zmc2V0ID0g
Y2VpbGVkSW50UG9pbnQoCisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuYWRqdXN0U2Nyb2xsT2Zm
c2V0Rm9yU25hcHBpbmdJZk5lZWRlZChjbGFtcGVkU2Nyb2xsT2Zmc2V0LCBkZWx0YSwgb3JpZ2lu
YWxQb3NpdGlvbikpOwogCi0gICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxU
eXBlKTsKLX0KLQotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KGNvbnN0IFNjcm9sbE9mZnNldCYgb2Zmc2V0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nKQotewotICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3Vy
cmVudFNjcm9sbFR5cGUoKTsKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsK
LQotICAgIFNjcm9sbE9mZnNldCBuZXdTY3JvbGxPZmZzZXQgPSBjbGFtcGluZyA9PSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KG9mZnNldCkgOiBvZmZzZXQ7Ci0g
ICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3Rh
dHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikKLSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5j
ZWxBbmltYXRpb25zKCk7Ci0gICAgaWYgKG5ld1Njcm9sbE9mZnNldCAhPSB0aGlzLT5zY3JvbGxP
ZmZzZXQoKSkKLSAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1h
dGlvbihuZXdTY3JvbGxPZmZzZXQpOworICAgIGlmIChvcHRpb25zLmFuaW1hdGVkID09IEFuaW1h
dGVkU2Nyb2xsOjpZZXMpCisgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oc25hcHBlZE9mZnNldCk7CisgICAgZWxzZSB7CisgICAgICAgIGF1dG8gc25h
cHBlZFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KHNuYXBwZWRPZmZzZXQpOwor
ICAgICAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShzbmFwcGVkUG9zaXRpb24s
IG9wdGlvbnMudHlwZSwgb3B0aW9ucy5jbGFtcGluZykpCisgICAgICAgICAgICBzY3JvbGxUb09m
ZnNldFdpdGhvdXRBbmltYXRpb24oc25hcHBlZE9mZnNldCwgb3B0aW9ucy5jbGFtcGluZyk7Cisg
ICAgICAgIHNldFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJ
bkFuaW1hdGlvbik7CisgICAgfQogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNT
Y3JvbGxUeXBlKTsKIH0KQEAgLTI4MjQsOSArMjgxNyw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAKICAgICBhdXRvIHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsID0gW3RoaXNdKEVsZW1lbnQq
IGVsZW1lbnQsIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yKQogICAgIHsKLSAgICAgICAgYm9vbCB1
c2VBbmltYXRlZFNjcm9sbGluZyA9ICFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKQorICAgICAgICByZXR1cm4gIXJlbmRlcmVyKCkuZnJhbWUo
KS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVzcygpCiAgICAgICAgICAgICAmJiBl
bGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhiZWhhdmlvciwgZWxlbWVudCk7Ci0gICAgICAg
IHJldHVybiB1c2VBbmltYXRlZFNjcm9sbGluZyA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmlt
YXRlZFNjcm9sbDo6Tm87CiAgICAgfTsKIAogICAgIGlmIChhbGxvd3NDdXJyZW50U2Nyb2xsKCkp
IHsKQEAgLTI4NTIsOCArMjg0NCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAg
ICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNj
cm9sbE9mZnNldCgpICsgdG9JbnRTaXplKHJvdW5kZWRJbnRSZWN0KHJldmVhbFJlY3QpLmxvY2F0
aW9uKCkpKTsKICAgICAgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0
KCkgfHwgY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgIT0gU2Nyb2xsQmVoYXZpb3JTdGF0
dXM6Ok5vdEluQW5pbWF0aW9uKSB7CiAgICAgICAgICAgICBTY3JvbGxPZmZzZXQgb2xkU2Nyb2xs
T2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0KCk7Ci0gICAgICAgICAgICBhdXRvIGFuaW1hdGVkID0gc2hv
dWxkVXNlQW5pbWF0ZWRTY3JvbGwoYm94LT5lbGVtZW50KCksIG9wdGlvbnMuYmVoYXZpb3IpOwot
ICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNs
YW1wZWRTY3JvbGxPZmZzZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAgICBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25z
OjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRVc2VBbmltYXRl
ZFNjcm9sbChib3gtPmVsZW1lbnQoKSwgb3B0aW9ucy5iZWhhdmlvcikpCisgICAgICAgICAgICAg
ICAgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLnNldEFuaW1hdGVkKCk7CisgICAgICAgICAgICBz
Y3JvbGxUb09mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0LCBzZXRTY3JvbGxQb3NpdGlvbk9wdGlv
bnMpOwogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBl
ZFNjcm9sbE9mZnNldCAtIG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3Nl
UmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3Qg
PSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0
KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4
NzgsMTQgKzI4NzIsMTggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAg
ICBleHBhbmRTY3JvbGxSZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5jbHVkZVNjcm9sbFBhZGRp
bmcocmVuZGVyZXIsIHZpZXdSZWN0LCBuZXdSZWN0KTsKIAogICAgICAgICAgICAgICAgIExheW91
dFJlY3QgZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgbmV3UmVjdCwgaW5z
aWRlRml4ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7Ci0KICAgICAgICAgICAg
ICAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbihyb3VuZGVkSW50UG9pbnQoZXhwb3NlUmVjdC5s
b2NhdGlvbigpKSk7CisKICAgICAgICAgICAgICAgICAvLyBBZGp1c3Qgb2Zmc2V0cyBpZiB0aGV5
J3JlIG91dHNpZGUgb2YgdGhlIGFsbG93YWJsZSByYW5nZS4KICAgICAgICAgICAgICAgICBzY3Jv
bGxQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uLmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgp
LCBJbnRQb2ludChmcmFtZVZpZXcuY29udGVudHNTaXplKCkpKTsKKwogICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGNvbnRlbnREb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVt
ZW50KCk/CiAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgICAgICBhdXRvIGFuaW1hdGVkID0gc2hv
dWxkVXNlQW5pbWF0ZWRTY3JvbGwoZWxlbWVudCwgb3B0aW9ucy5iZWhhdmlvcik7Ci0gICAgICAg
ICAgICAgICAgZnJhbWVWaWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgICAgICAgICAgICAgIGlmIChz
aG91bGRVc2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJlaGF2aW9yKSkKKyAgICAg
ICAgICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLnNldEFuaW1hdGVkKCk7CisK
KyAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRp
b24sIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7CiAKICAgICAgICAgICAgICAgICBpZiAob3B0
aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NP
cmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9Q
YXJlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nTGF5ZXIg
PSBvd25lckVsZW1lbnQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCkBAIC0yOTI5LDEw
ICsyOTI3LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3Qg
TGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAvLyBBdm9p
ZCBzY3JvbGxpbmcgdG8gdGhlIHJvdW5kZWQgdmFsdWUgb2YgcmV2ZWFsUmVjdC5sb2NhdGlvbigp
IGlmIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gc2Nyb2xsCiAgICAgICAgICAgICBpZiAocmV2
ZWFsUmVjdCAhPSB2aWV3UmVjdCkgewogICAgICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBjbGFt
cGVkU2Nyb2xsUG9zaXRpb24gPSByb3VuZGVkSW50UG9pbnQocmV2ZWFsUmVjdC5sb2NhdGlvbigp
KS5jb25zdHJhaW5lZEJldHdlZW4obWluU2Nyb2xsUG9zaXRpb24sIG1heFNjcm9sbFBvc2l0aW9u
KTsKKwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50KCkt
PnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGF1dG8g
YW5pbWF0ZWQgPSBzaG91bGRVc2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJlaGF2
aW9yKTsKLSAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBl
ZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAg
ICAgICAgICAgICAgIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyBzZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOwor
ICAgICAgICAgICAgICAgIGlmIChzaG91bGRVc2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRp
b25zLmJlaGF2aW9yKSkKKyAgICAgICAgICAgICAgICAgICAgc2V0U2Nyb2xsUG9zaXRpb25PcHRp
b25zLnNldEFuaW1hdGVkKCk7CisKKyAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xs
UG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3Qg
dmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGYyOGNiNDE0NzI3ZWZjNjgyOWE2
NWE5NGM1ZmViYTdhNDU2ZTFlOTkuLjI5ZGRlMWMyNjRlNGE4YTQwZDExZmQ3ZTM4YjZiMGQ0NjBh
YTFmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NDcsMTYg
KzQ0NywxNSBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0
ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKIAotICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Ny
b2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09m
ZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9s
bFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldChjb25zdCBTY3Jv
bGxPZmZzZXQmLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmID0gU2V0U2Nyb2xsUG9z
aXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKSk7CiAKLSAgICB2b2lkIHNjcm9sbFRv
WFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAg
dm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9s
bDo6Tm8pOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24m
LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBB
bmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzY3JvbGxUb1hQ
b3NpdGlvbihpbnQgeCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJik7CisgICAgdm9p
ZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25z
Jik7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIGNv
bnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYpOwogCiAgICAgLy8gVGhlc2UgYXJlIG9ubHkg
dXNlZCBieSBtYXJxdWVlLgotICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9s
bFRvT2Zmc2V0KFNjcm9sbE9mZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTY3JvbGxUeXBl
OjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOyB9Ci0gICAgdm9pZCBz
Y3JvbGxUb1lPZmZzZXQoaW50IHkpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHNjcm9s
bE9mZnNldCgpLngoKSwgeSksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBp
bmc6OlVuY2xhbXBlZCk7IH0KKyAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3Jv
bGxUb09mZnNldChTY3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQoKSk7IH0KKyAgICB2
b2lkIHNjcm9sbFRvWU9mZnNldChpbnQgeSkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQo
c2Nyb2xsT2Zmc2V0KCkueCgpLCB5KSwgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpjcmVhdGVQ
cm9ncmFtbWF0aWNVbmNsYW1wZWQoKSk7IH0KIAogICAgIHZvaWQgc2V0UG9zdExheW91dFNjcm9s
bFBvc2l0aW9uKE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPik7CiAgICAgdm9pZCBhcHBseVBvc3RM
YXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHAKaW5kZXggOGU4YWQ3MDQzYTFkNzQwNjExN2UyNzJlYjBhMjA0NWFm
ZTY1YzJkZS4uMGYxNWFmMmMxNDBmZTRjZWE3NDI0MzFiOGIzNDJlMWEzODM2OTYzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtNzQzLDcgKzc0Myw3
IEBAIGludCBSZW5kZXJMaXN0Qm94OjpzY3JvbGxMZWZ0KCkgY29uc3QKICAgICByZXR1cm4gMDsK
IH0KIAotdm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRT
Y3JvbGxMZWZ0KGludCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJikKIHsKIH0KIApA
QCAtNzYwLDcgKzc2MCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hlZWxFdmVudFRlc3RNb25pdG9y
KFJlbmRlckxpc3RCb3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNjcm9sbEFuaW1hdG9yKCku
c2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHJlbmRlcmVyLnBhZ2UoKS53aGVlbEV2ZW50VGVzdE1v
bml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdU
b3AsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQgUmVu
ZGVyTGlzdEJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNldFNjcm9sbFBvc2l0
aW9uT3B0aW9ucyYpCiB7CiAgICAgLy8gRGV0ZXJtaW5lIGFuIGluZGV4IGFuZCBzY3JvbGwgdG8g
aXQuICAgIAogICAgIGludCBpbmRleCA9IG5ld1RvcCAvIGl0ZW1IZWlnaHQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IGNjOTM0MDkyZjRkM2NiMTQzNjQ0
NWZlYTdlZDc3YWMwZWNmZGUzOWUuLjYyNmYwMDc2MDhiMDk1OTJiNTYxNGY1NjlmZDY4NjAwYzM2
Njc0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtMTA2
LDggKzEwNiw4IEBAIHByaXZhdGU6CiAgICAgaW50IHNjcm9sbFRvcCgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxI
ZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBTY3Jv
bGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92ZXJyaWRlOwotICAgIHZv
aWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBjb25zdCBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChp
bnQsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYpIG92ZXJyaWRlOwogCiAgICAgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50
JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA3NmUyM2U0ZDA5OTZlNmJm
YmU0MGE2NDQxMTY0NDU5YWE2NzgwZDhiLi43Y2Y2NzNhYmY3NzMxOWE3ZWQ2OTM5YTY2ZDNkNTdm
MzdhODlkZDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFy
cXVlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3Bw
CkBAIC0xNzEsMTEgKzE3MSwxMiBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICBp
ZiAobV90aW1lci5pc0FjdGl2ZSgpIHx8IG1fbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5tYXJx
dWVlSW5jcmVtZW50KCkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGF1dG8gZGV0
YWlscyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljVW5jbGFt
cGVkKCk7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCAmJiAhbV9zdG9wcGVkKSB7CiAgICAgICAgIGlm
IChpc0hvcml6b250YWwoKSkKLSAgICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNj
cm9sbE9mZnNldChtX3N0YXJ0LCAwKSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxD
bGFtcGluZzo6VW5jbGFtcGVkKTsKKyAgICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0
KFNjcm9sbE9mZnNldChtX3N0YXJ0LCAwKSwgZGV0YWlscyk7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCgwLCBtX3N0YXJ0KSwg
U2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKKyAg
ICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCgwLCBtX3N0YXJ0
KSwgZGV0YWlscyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsK
ICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IGEwNzUwODFm
NTY1Y2VkYjU1ZGRiZWM5NjhlYzJjYjEzOWQ2MGJhYjguLmZkYTZjNWMxZTZhNjIzNTZlZmZkMWNk
Y2E4NDM3ODU4ZjUxNmUwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0zODMsMTMgKzM4MywxMyBA
QCBpbnQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzY3JvbGxUb3AoKSBjb25zdAogICAg
IHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OnNjcm9sbFRvcCgpOwogfQogCi12b2lkIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucyYpCiB7CiAgICAgaWYgKGlubmVyVGV4dEVsZW1lbnQoKSkKICAgICAgICAg
aW5uZXJUZXh0RWxlbWVudCgpLT5zZXRTY3JvbGxMZWZ0KG5ld0xlZnQpOwogfQogCi12b2lkIFJl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQgUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgY29uc3QgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zJikKIHsKICAgICBpZiAoaW5uZXJUZXh0RWxlbWVudCgpKQogICAgICAg
ICBpbm5lclRleHRFbGVtZW50KCktPnNldFNjcm9sbFRvcChuZXdUb3ApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCmlu
ZGV4IDI1YTJjOTZkNTBhZTcyN2I2MDE1Mzk2NDg5OWUzNzgwYzMxYzc5OWIuLmU1YzdjYjdjNDZj
YzgyMmFiMDE1YzA3MTAwZjM2MmI0Y2ZmMGQyMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTU3LDggKzU3
LDggQEAgcHJpdmF0ZToKICAgICBpbnQgc2Nyb2xsVG9wKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
aW50IHNjcm9sbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IHNjcm9sbEhlaWdodCgp
IGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRT
Y3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwp
IG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIGNvbnN0IFNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgY29u
c3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBzY3JvbGwo
U2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEs
IEVsZW1lbnQqKiBzdG9wRWxlbWVudCA9IG51bGxwdHIsIFJlbmRlckJveCogc3RhcnRCb3ggPSBu
dWxscHRyLCBjb25zdCBJbnRQb2ludCYgd2hlZWxFdmVudEFic29sdXRlUG9pbnQgPSBJbnRQb2lu
dCgpKSBmaW5hbDsKICAgICBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlv
biwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3Rv
cEVsZW1lbnQgPSAwKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
YmZjMjA1ZDZlNTYxYzBmYTY0MTdiMzY1YjM4ODRhZWYxNTUwZmExNC4uMWE4ZmMxOTg1YjQzNmZi
NTFhNjMzNzNiMzcyZmMzNDZlYTg3NDFmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDEtMTEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkBpZ2FsaWEuY29tPgorCisgICAgICAgIFNjcm9sbC1zbmFwIHBvaW50cyBzaG91bGQgYmUgdHJp
Z2dlcmVkIGR1cmluZyBwcm9ncmFtbWF0aWMgc2Nyb2xsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzIxNDY3NzgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgbmV3bHkgcGFzc2luZyB0ZXN0cyBhbmQg
dGVzdHMgdGhhdCBub3cKKyAgICAgICAgZmFpbCBpbiBhIGRpZmZlcmVudCB3YXkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9vdmVyZmxvd2luZy1z
bmFwLWFyZWFzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
VG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAt
YXJlYS13aGlsZS1zbmFwcGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNj
cm9sbC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10
YXJnZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVtb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwt
c25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWlubGlu
ZS1ibG9jay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8t
dmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLWJv
dGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFy
ZWFzLXgtYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvdW5y
ZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAxLTAzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIFVURi04IGVuY29kaW5nIGZv
ciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dp
bmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVh
cy1leHBlY3RlZC50eHQKaW5kZXggZWJkMmJlOTQwN2Y0MTVkMDZlZWRiZDU4YjExY2MwOGQ2MTkw
YTdmNC4uYTQ1ZDJhZGNkZGY2Y2YwM2RmMzk4NjNjMzYzNjU5MzNiODhlMjgxZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9vdmVyZmxvd2luZy1zbmFwLWFyZWFzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAog
Ci1GQUlMIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgZG9lc24n
dCBjb3ZlciB0aGUgc25hcHBvcnQgb24geC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1
dCBnb3QgMTAKLVBBU1MgU25hcHMgdG8gdGhlIHNuYXAgcG9zaXRpb24gaWYgdGhlIHNuYXAgYXJl
YSBjb3ZlcnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhlIHJpZ2h0IGJvcmRlci4KLVBBU1MgU25h
cHMgdG8gdGhlIHNuYXAgcG9zaXRpb24gaWYgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgdGhlIHNuYXBw
b3J0IG9uIHggb24gdGhlIGxlZnQgYm9yZGVyLgotRkFJTCBTbmFwcyBpZiB0aGUgZGlzdGFuY2Ug
YmV0d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlz
IHNtYWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9uIHguIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDQwMCBidXQgZ290IDUwMAotRkFJTCBTbmFwcyBpZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUg
cHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlzIHNtYWxsZXIgdGhh
biBzbmFwcG9ydCg1MDApIG9uIHkuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDQwMCBidXQgZ290
IDUwMAotUEFTUyBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFs
aWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geCBh
bmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDgwMCkgYW5kIG5leHQoMTQwMCkg
aXMgbGFyZ2VyIHRoYW4gc25hcHBvcnQoNTAwKS4KLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9s
bCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFy
ZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2
aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuCi1Q
QVNTIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2ggaXMgYSB2YWxpZCBzbmFw
IHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9ydCBvbiB4IGFuZCB0aGVy
ZSBpcyBubyBzdWJzZXF1ZW50IHNuYXAgcG9zaXRpb25zLgotUEFTUyBTbmFwIHRvIGN1cnJlbnQg
c2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNu
YXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geSBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVudCBz
bmFwIHBvc2l0aW9ucy4KLVBBU1MgRG9uJ3Qgc25hcCBiYWNrIGV2ZW4gaWYgc2Nyb2xsVG8gdHJp
ZXMgdG8gc2Nyb2xsIHRvIHBvc2l0aW9ucyB3aGljaCBhcmUgb3V0c2lkZSBvZiB0aGUgc2Nyb2xs
IHJhbmdlIGFuZCBpZiBhIHNuYXAgdGFyZ2V0IGVsZW1lbnQgY292ZXJzIHRoZSBzbmFwb3J0Ci1G
QUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb24geCBhcyB0aGUgYXJlYSBpcyBj
b3ZlcmluZyB4IGF4aXMuSG93ZXZlciwgd2Ugc25hcCB0byB0aGUgc3BlY2lmaWVkIHNuYXAgcG9z
aXRpb24gb24geSBhcyB0aGUgYXJlYSBpcyBub3QgY292ZXJpbmcgeSBheGlzLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAxMDAKK1BBU1MgU25hcHMgdG8gdGhlIHNuYXAgcG9z
aXRpb24gaWYgdGhlIHNuYXAgYXJlYSBkb2Vzbid0IGNvdmVyIHRoZSBzbmFwcG9ydCBvbiB4Lgor
RkFJTCBTbmFwcyB0byB0aGUgc25hcCBwb3NpdGlvbiBpZiB0aGUgc25hcCBhcmVhIGNvdmVycyB0
aGUgc25hcHBvcnQgb24geCBvbiB0aGUgcmlnaHQgYm9yZGVyLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAyNzE1IGJ1dCBnb3QgMjAwCitGQUlMIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlm
IHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRoZSBsZWZ0IGJvcmRl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMjcxNQorUEFTUyBTbmFwcyBp
ZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNu
YXAgcG9zaXRpb25zIGlzIHNtYWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9uIHguCitQQVNTIFNu
YXBzIGlmIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2aW91cyg0MDApIGFuZCBuZXh0KDgw
MCkgc25hcCBwb3NpdGlvbnMgaXMgc21hbGxlciB0aGFuIHNuYXBwb3J0KDUwMCkgb24geS4KK0ZB
SUwgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAg
cG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHggYW5kIHRoZSBk
aXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdl
ciB0aGFuIHNuYXBwb3J0KDUwMCkuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDkwMCBidXQgZ290
IDgwMAorRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFs
aWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geSBh
bmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDgwMCkgYW5kIG5leHQoMTQwMCkg
aXMgbGFyZ2VyIHRoYW4gc25hcHBvcnQoNTAwKS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgOTAw
IGJ1dCBnb3QgODAwCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2gg
aXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9y
dCBvbiB4IGFuZCB0aGVyZSBpcyBubyBzdWJzZXF1ZW50IHNuYXAgcG9zaXRpb25zLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxNTAwIGJ1dCBnb3QgMTQwMAorRkFJTCBTbmFwIHRvIGN1cnJlbnQg
c2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNu
YXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geSBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVudCBz
bmFwIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUwMCBidXQgZ290IDE0MDAK
K0ZBSUwgRG9uJ3Qgc25hcCBiYWNrIGV2ZW4gaWYgc2Nyb2xsVG8gdHJpZXMgdG8gc2Nyb2xsIHRv
IHBvc2l0aW9ucyB3aGljaCBhcmUgb3V0c2lkZSBvZiB0aGUgc2Nyb2xsIHJhbmdlIGFuZCBpZiBh
IHNuYXAgdGFyZ2V0IGVsZW1lbnQgY292ZXJzIHRoZSBzbmFwb3J0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDM3MTUgYnV0IGdvdCAyMjAwCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9z
aXRpb24gb24geCBhcyB0aGUgYXJlYSBpcyBjb3ZlcmluZyB4IGF4aXMuSG93ZXZlciwgd2Ugc25h
cCB0byB0aGUgc3BlY2lmaWVkIHNuYXAgcG9zaXRpb24gb24geSBhcyB0aGUgYXJlYSBpcyBub3Qg
Y292ZXJpbmcgeSBheGlzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMCBidXQgZ290IDAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nj
cm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0CmluZGV4IDM3OTU2MThmZTNhYjY1YWQwZGRmMjQyNWEx
MTliNzg4M2MxOWFhMWIuLjIyMzMxYmM2ZmI1YzExZWI4ZjU0ZjdkMDAwOTQ0ZDA5YjViNmJlYzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsLW1hcmdpbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgU25h
cHMgdG8gdGhlIHBvc2l0aW9ucyBhZGp1c3RlZCBieSBzY3JvbGwtbWFyZ2luIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKLUZBSUwgc2Nyb2xsLW1hcmdpbiBkb2Vzbid0IGNv
bnRyaWJ1dGUgdG8gdGhlIHNuYXAgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgaWYgaXQncyBvdXRz
aWRlIG9mIHRoZSBzY3JvbGwgcG9ydCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3Qg
MTUwCitQQVNTIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkgc2Nyb2xsLW1hcmdp
bgorUEFTUyBzY3JvbGwtbWFyZ2luIGRvZXNuJ3QgY29udHJpYnV0ZSB0byB0aGUgc25hcCBwb3Np
dGlvbiBvZiB0aGUgZWxlbWVudCBpZiBpdCdzIG91dHNpZGUgb2YgdGhlIHNjcm9sbCBwb3J0CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0CmluZGV4IDBmNzgzNWIwNjBlZWFjNGY1MzljZTcw
MDA0OWUxYjBkNDQ4YjNlNjcuLjEzZjYzMTZjOTZiM2JiYTMxY2I2MDZkZjJhOTlmZTk2ZjFmZDI5
MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3Njcm9sbC1wYWRkaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBTbmFwcyB0byB0aGUgcG9zaXRpb25zIGFkanVzdGVkIGJ5IHNjcm9sbC1wYWRkaW5nIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKK1BBU1MgU25hcHMgdG8gdGhlIHBvc2l0
aW9ucyBhZGp1c3RlZCBieSBzY3JvbGwtcGFkZGluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBl
Y3RlZC50eHQKaW5kZXggYjA2YmQzNTljNzQ3NWUwYTczOWU4YTIwM2MyNWEzOWYwODllNzlkMS4u
Y2YxMTNiMTMyNTRiNDM3YzIwNDljOTUyYjQxNjZjZDI5NDE1YzVhZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1zdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBBIHNjcm9sbCB3aXRo
IGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNu
YXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCi1GQUlMIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQgZW5kIHBv
c2l0aW9uIHNob3VsZCBhbHdheXMgY2hvb3NlIHRoZSBjbG9zZXN0IHNuYXAgcG9zaXRpb24gcmVn
YXJkbGVzcyBvZiB0aGUgc2Nyb2xsLXNuYXAtc3RvcCB2YWx1ZS4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMjAwIGJ1dCBnb3QgMzAwCi1GQUlMIEEgc2Nyb2xsIG91dHNpZGUgYm91bmRzIGluIHRo
ZSBzbmFwcGluZyBheGlzIHdpdGggaW50ZW5kZWQgZGlyZWN0aW9uIGFuZCBlbmQgcG9zaXRpb24g
c2hvdWxkIG5vdCBwYXNzIGEgc25hcCBhcmVhIHdpdGggc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlz
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAxNzE1Ci1GQUlMIEEgc2Nyb2xs
IG91dHNpZGUgYm91bmRzIGluIHRoZSBub24tc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRp
cmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRo
IHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1
dCBnb3QgMzAwCitGQUlMIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQgZGlyZWN0aW9uIGFuZCBlbmQg
cG9zaXRpb24gc2hvdWxkIG5vdCBwYXNzIGEgc25hcCBhcmVhIHdpdGggc2Nyb2xsLXNuYXAtc3Rv
cDogYWx3YXlzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAyMDAKK1BBU1Mg
QSBzY3JvbGwgd2l0aCBpbnRlbmRlZCBlbmQgcG9zaXRpb24gc2hvdWxkIGFsd2F5cyBjaG9vc2Ug
dGhlIGNsb3Nlc3Qgc25hcCBwb3NpdGlvbiByZWdhcmRsZXNzIG9mIHRoZSBzY3JvbGwtc25hcC1z
dG9wIHZhbHVlLgorRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgc25hcHBpbmcg
YXhpcyB3aXRoIGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3Qg
cGFzcyBhIHNuYXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMjAwCitGQUlMIEEgc2Nyb2xsIG91dHNpZGUgYm91
bmRzIGluIHRoZSBub24tc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRpcmVjdGlvbiBhbmQg
ZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFw
LXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMjAwCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBhYzdiYmVjNjUyZTBmMmU5Y2Jh
Y2ExNDliY2I1ZDU5Y2Q1ZDEwNDYyLi5kMjJhYzhhYzNjYWMyZDMwYzk0N2M3NDFkNWRkMTkxYTJm
YzY0NTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBA
QAogCi1GQUlMIG1hbmRhdG9yeSBzY3JvbGwtc25hcC10eXBlIHNob3VsZCBzbmFwIGFzIGxvbmcg
YXMgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDYyNQorUEFTUyBtYW5kYXRvcnkgc2Nyb2xsLXNuYXAtdHlwZSBzaG91bGQgc25hcCBh
cyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHZpc2libGUuCiBQQVNTIHByb3hpbWl0eSBzY3JvbGwt
c25hcC10eXBlIHNob3VsZG4ndCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIHRvbyBmYXIg
YXdheS4KLUZBSUwgcHJveGltaXR5IHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkIHNuYXAgaWYgdGhl
IHNuYXAgcG9zaXRpb24gaXMgY2xvc2UuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCA5OTUKK1BBU1MgcHJveGltaXR5IHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkIHNuYXAgaWYg
dGhlIHNuYXAgcG9zaXRpb24gaXMgY2xvc2UuCiBQQVNTIG5vbmUgc2Nyb2xsLXNuYXAtdHlwZSBz
aG91bGRuJ3Qgc25hcC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNu
YXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3Rl
ZC50eHQKaW5kZXggNmJjMThmNmRhZWJlMTI3ZDYzMmNhZmE2ZWEyMjlmYWUxZjlmNWRmNS4uODE5
NjMzNzNjNWIwODBkNjc2ZmQ1OTUzY2ZiZDM0ZjRlNmI5NmVmOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
VG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDQwIEBACiAKLUZBSUwg
YXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMH0gb24gZGl2IGxh
bmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAw
Ci1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9u
IHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0p
IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDgwMAotRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgx
MDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIGFz
c2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIGRpdiBsYW5k
cyBvbiAoMTAwMCwgMCkKK0ZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ig
e2xlZnQ6IDgwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwg
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDAKK1BBU1Mgc2Nyb2xsVG8o
e2xlZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xl
ZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6
IDgwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnkoe2xl
ZnQ6IDgwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsVG8o
e2xlZnQ6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24g
d2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHt0b3A6
IDkwMH0gb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgOTAwCitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9y
IHt0b3A6IDkwMH0gb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKQogRkFJTCBhc3NpZ24gc2Nyb2xs
TGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5MDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVs
ZW1lbnQgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCA5MDAKLUZBSUwgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAx
MDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9s
bEJ5KHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAorUEFTUyBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiBk
aXYgbGFuZHMgb24gKDAsIDEwMDApCitQQVNTIHNjcm9sbEJ5KHt0b3A6IDkwMH0pIG9uIGRpdiBs
YW5kcyBvbiAoMCwgMTAwMCkKIEZBSUwgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gdmlld3BvcnQt
ZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiB2aWV3cG9y
dC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIHdpbmRv
dyBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290
IDkwMAogRkFJTCBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDAsIDEw
MDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgYXNzaWdu
IHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIGRp
diBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDkwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
OTAwLCB0b3A6IDgwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAw
MCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBz
Y3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAw
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxC
eSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAorUEFTUyBhc3NpZ24gc2Nyb2xs
TGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogOTAwLCB0b3A6IDgwMH0gb24gZGl2IGxhbmRz
IG9uICgxMDAwLCAxMDAwKQorRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZv
ciB7bGVmdDogOTAwLCB0b3A6IDgwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5k
cyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDAK
K1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEw
MDAsIDEwMDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxh
bmRzIG9uICgxMDAwLCAxMDAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0p
IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6
IDkwMCwgdG9wOiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgx
MDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlM
IHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAw
LCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNj
cm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAx
MDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2ln
biBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgODAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4
MDAsIHRvcDogLTEwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAw
MCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBzY3Jv
bGxUbyh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsQnkoe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFu
ZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgx
MDAwLCAwKQorRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
ODAwLCB0b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEw
MDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAwCitQQVNTIHNjcm9s
bFRvKHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BB
U1Mgc2Nyb2xsQnkoe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAw
LCAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1k
ZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0p
IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgw
MCwgdG9wOiAtMTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAsIHRv
cDogLTEwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xs
VG9wIGZvciB7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQotRkFJTCBhc3NpZ24g
c2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0gb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9w
OiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgMzIxNQorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9w
IGZvciB7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQor
RkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogMTAwMDAsIHRv
cDogLTEwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDAKK1BBU1Mgc2Nyb2xsVG8oe2xl
ZnQ6IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNj
cm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAw
KQogRkFJTCBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIHZpZXdwb3J0LWRl
ZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCAzMjE1CiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAw
fSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6
IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1hZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBwZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAtYXJlYS13aGlsZS1z
bmFwcGVkLWV4cGVjdGVkLnR4dAppbmRleCBlZDNiMjgxNWQ1YWUxZGY4MzFjZjM5ZWMxZWM1Njk0
OTVlOTk5NjYzLi40M2I2NjA3ZDIwM2QwMjVjYTJhNmE1Y2U1MGE2ZGU4MTJjOGFjOTMxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxl
LXNuYXBwZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2Fk
ZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgQWRkaW5nIGEgbmV3IHNuYXAgYXJlYSB3aGlsZSBhbHJlYWR5IHNuYXBwZWQgc2hv
dWxkIG5vdCBtYWtlIHRoZSBzY3JvbGxlciBzbmFwIHRvIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAgYnV0IGdvdCAwCitQQVNTIEFkZGluZyBhIG5ldyBzbmFwIGFyZWEgd2hpbGUgYWxy
ZWFkeSBzbmFwcGVkIHNob3VsZCBub3QgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBpdC4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Nyb2xsLXNu
YXAtYWxpZ24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdp
bmctc2Nyb2xsLXNuYXAtYWxpZ24tZXhwZWN0ZWQudHh0CmluZGV4IDVmY2ExNmMyYzFkODRjYzkx
MmM0YTM2NzY2Y2MyNjc3ZWNiM2MyYTUuLjdmZjZkYzg2OTQwMTkyZmZjZTJlNjkzMjBmNDljYmMy
OGJiZTdlYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5n
LXNjcm9sbC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1y
ZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50eHQKQEAgLTEsNiAr
MSw2IEBACiAKLUZBSUwgQ2hhbmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1l
bnQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIg
c25hcCBwb3NpdGlvbiBpcyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgdGFy
Z2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBh
IG5ldyBzbmFwIGFyZWEuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BB
U1MgQ2hhbmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hvdWxkIG1h
a2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIgc25hcCBwb3NpdGlv
biBpcyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0CitQQVNTIFJlbW92aW5nIHRoZSBjdXJy
ZW50IHRhcmdldCdzIHNuYXAgYWxpZ25tZW50IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNu
YXAgdG8gYSBuZXcgc25hcCBhcmVhLgogUEFTUyBDaGFuZ2luZyBhbiBlbGVtZW50IHNuYXAgYWxp
Z25tZW50IGZyb20gbm9uZSB0byBzdGFydCBzaG91bGQgbWFrZSB0aGVzY3JvbGxlciByZXNuYXAu
CiBQQVNTIENoYW5naW5nIGFuIGVsZW1lbnQgc25hcCBhbGlnbm1lbnQgZnJvbSBub25lIHRvIHN0
YXJ0IGJ5IGFkZGluZyBhIGNsYXNzIHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJn
ZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50
LXRhcmdldC1leHBlY3RlZC50eHQKaW5kZXggZWZiNjdhYzc2NDc3ZjFjMTE4Y2YwMmI3ODM3MTBh
OTM5MDJiZDQ1OC4uYmY0ODBmMmVhNzk2ZDc0ZmY3MTcwZGEzNjNjZGZjNmEwYzcxYjBkOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdldC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50
LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgTW92aW5nIHRoZSBj
dXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8gaXQu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgQ2hhbmdpbmcgdGhl
IGxheW91dCBvZiBvdGhlciBlbGVtZW50cyBzaG91bGQgYmUgYWJsZSB0byBjYXVzZSByZXNuYXBw
aW5nIHRvIHRoZSB0YXJnZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAK
LUZBSUwgVHJhbnNmb3JtaW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRo
ZSBzY3JvbGxlciByZXNuYXAgdG8gaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQg
Z290IDAKLUZBSUwgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMgdGhhdCBkbyBub3QgY2hh
bmdlIHRoZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxkIG5vdCBjaGFuZ2UgdGhl
IHNjcm9sbCBvZmZzZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKK1BB
U1MgTW92aW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxl
ciByZXNuYXAgdG8gaXQuCitQQVNTIENoYW5naW5nIHRoZSBsYXlvdXQgb2Ygb3RoZXIgZWxlbWVu
dHMgc2hvdWxkIGJlIGFibGUgdG8gY2F1c2UgcmVzbmFwcGluZyB0byB0aGUgdGFyZ2V0LgorUEFT
UyBUcmFuc2Zvcm1pbmcgdGhlIGN1cnJlbnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNj
cm9sbGVyIHJlc25hcCB0byBpdC4KK1BBU1MgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMg
dGhhdCBkbyBub3QgY2hhbmdlIHRoZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxk
IG5vdCBjaGFuZ2UgdGhlIHNjcm9sbCBvZmZzZXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LWFmdGVyLXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc25hcC1hZnRlci1yZWxheW91dC9yZW1vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0
CmluZGV4IDU1Y2EwNjM2NmQzYTg5YmQ5OTMyNDlkYTM4OTE0NzM3MTlkODMxNGIuLmVkZjFjYzQ5
MDNkZjI5ZTc4MmIwNjRmYzFlODdkZGNmYTQ1NmIzMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LWFmdGVyLXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVtb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBSZW1vdmluZyB0aGUgY3VycmVudCBzbmFwIHRh
cmdldCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBhIG5ldyB0YXJnZXQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BBU1MgUmVtb3ZpbmcgdGhlIGN1cnJl
bnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHNuYXAgdG8gYSBuZXcgdGFy
Z2V0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xs
LWNvbnRhaW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQt
c2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQKaW5kZXggMjBlYTQzNDFlZTFjZmY3YzdiOTQ0
OGYwNjM4MDg4YjJhZjI5MjkxMi4uZWE5NTE2ZDdiMGU0NjBhNzY0ODI4ODZiYjQ3YzBiMDlhZGFk
NmQyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1j
b250YWluZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFk
ZC1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBN
YWtpbmcgYW4gZWxlbWVudCBzY3JvbGxhYmxlIHNob3VsZCBtYWtlIGl0IGNhcHR1cmUgdGhlIGNv
cnJlY3QgZGVzY2VuZGFudCBzbmFwIGFyZWFzJyBzbmFwIHBvaW50cy4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgNTAwIGJ1dCBnb3QgMTAKLUZBSUwgQXR0YWNoaW5nIGEgbmV3IGVsZW1lbnQgdGhh
dCBpcyBzY3JvbGxhYmxlIHNob3VsZCBhc3NpZ24gdGhlIGNvcnJlY3Qgc25hcCBhcmVhcyB0byBp
dC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMTAKK1BBU1MgTWFraW5nIGFu
IGVsZW1lbnQgc2Nyb2xsYWJsZSBzaG91bGQgbWFrZSBpdCBjYXB0dXJlIHRoZSBjb3JyZWN0IGRl
c2NlbmRhbnQgc25hcCBhcmVhcycgc25hcCBwb2ludHMuCitQQVNTIEF0dGFjaGluZyBhIG5ldyBl
bGVtZW50IHRoYXQgaXMgc2Nyb2xsYWJsZSBzaG91bGQgYXNzaWduIHRoZSBjb3JyZWN0IHNuYXAg
YXJlYXMgdG8gaXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJl
bW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2Fw
dHVyaW5nLXJlbW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dAppbmRleCBiOWI4ZWFi
ZjdmY2FlZWRjNzBlNTMxNzI4NTllZmFkYTYyODY0OTMyLi44YmUzZGIxMWVkYzlkMjljZGM2ZThi
YjA0YzEyMTA1NzBiYzA0MDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmlu
Zy1yZW1vdmUtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
YXJlYS1jYXB0dXJpbmctcmVtb3ZlLXNjcm9sbC1jb250YWluZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIE1ha2luZyBhIHNuYXAgY29udGFpbmVyIG5vdCBzY3JvbGxhYmxl
IHNob3VsZCBwcm9tb3RlIHRoZSBuZXh0IHNjcm9sbGFibGUgYW5jZXN0b3IgdG8gYmVjb21lIGEg
c25hcCBjb250YWluZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDMwMCBidXQgZ290IDMxMAor
UEFTUyBNYWtpbmcgYSBzbmFwIGNvbnRhaW5lciBub3Qgc2Nyb2xsYWJsZSBzaG91bGQgcHJvbW90
ZSB0aGUgbmV4dCBzY3JvbGxhYmxlIGFuY2VzdG9yIHRvIGJlY29tZSBhIHNuYXAgY29udGFpbmVy
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0NTUwM2E2MDVmNmE3
YmJiZTc4MWM5N2RiNjVjMDkzMDk0Njg4Y2QxLi42ZGM0ZDhjOGI5N2YzZjYxNWRlMTc3YjYyYjI0
YjBjOTA3OTg1YjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEs
MTAgKzEsMTAgQEAKIAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIGhvcml6b250YWwtdGIgd3Jp
dGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBh
c3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgMzAwIGJ1dCBnb3Qg
MAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLWxyIHdyaXRpbmcgbW9kZSB3aXRo
ICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczog
YWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIDExNSBidXQgZ290IDAKLUZBSUwgU25hcHMg
Y29ycmVjdGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAt
YWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0
bHkgb24geCBleHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkg
Zm9yIGhvcml6b250YWwtdGIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBl
bmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHgg
ZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMTE1CitQQVNTIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGlj
YWwtbHIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFs
aWdubWVudAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLXJsIHdyaXRpbmcgbW9k
ZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2Vx
dWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiBG
QUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgaG9yaXpvbnRhbC10YiB3cml0aW5nIG1vZGUgd2l0aCAn
c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFs
aWducyBjb3JyZWN0bHkgb24geCBleHBlY3RlZCAxMTUgYnV0IGdvdCAwCiBGQUlMIFNuYXBzIGNv
cnJlY3RseSBmb3IgdmVydGljYWwtbHIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFs
aWduOiBzdGFydCBlbmQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5
IG9uIHggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZl
cnRpY2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5k
JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB5IGV4cGVjdGVk
IDE2NSBidXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5IGZvciAnZGlyZWN0aW9uOiBydGwn
IHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1
YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHkgZXhwZWN0ZWQgMTY1IGJ1dCBnb3QgMAotRkFJTCBT
bmFwcyBjb3JyZWN0bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNuYXAtYWxp
Z246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkg
b24geCBleHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9y
IHZlcnRpY2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQg
ZW5kJyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVj
dGVkIC01MDAgYnV0IGdvdCAtMzAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlv
bjogcnRsJyB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNz
ZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC01MDAgYnV0IGdvdCAt
MzAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRsJyB3aXRoICdzY3Jv
bGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25z
IGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4IGNjZmM1NTlhNTZl
YjQ0YmM3YTQzM2UxZjE5MzhiN2E4MTc1OGJhY2YuLmIwZDNhN2E3ZmI5ZTIzODBmZjU0MGRlOTcy
N2I3MDVkMTM0MWIyYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRh
cmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3JtZWQtdGFyZ2V0
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNm
b3JtZWQgc25hcCBzdGFydCBwb3NpdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNTAgYnV0
IGdvdCAxMAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQgc25hcCBlbmQgcG9zaXRpb24g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0IGdvdCAxMAotRkFJTCBTbmFwcyB0byB2aXNp
YmxlIHRvcCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSB0cmFuc2Zvcm1lZCBib3ggYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMCBidXQgZ290IDEwCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBz
bmFwIHN0YXJ0IHBvc2l0aW9uCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIGVu
ZCBwb3NpdGlvbgorUEFTUyBTbmFwcyB0byB2aXNpYmxlIHRvcCBsZWZ0IHBvc2l0aW9uIG9mIHRo
ZSB0cmFuc2Zvcm1lZCBib3gKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1h
cmVhcy1ib3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90
aC1leHBlY3RlZC50eHQKaW5kZXggNDc0MGE4MzBmYjE3NWVjYjI5ZTdjYzcyMThmOTRiMzI3OTZm
NjFlZi4uOGIwY2E3OGU4ODMyODA2OTgyMzBlZGM5MjUxZmYyM2EwNDRkZDVhNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWFzIGluIHRoZSBjYXNlIHdoZXJl
IHRha2luZyB0aGUgY2xvc2VzdCBzbmFwIHBvaW50IG9mICAgZWFjaCBheGlzIGRvZXMgbm90IHNu
YXAgdG8gYSB2aXNpYmxlIGFyZWEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDUw
MAorRkFJTCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhcyBpbiB0aGUgY2FzZSB3aGVyZSB0YWtp
bmcgdGhlIGNsb3Nlc3Qgc25hcCBwb2ludCBvZiAgIGVhY2ggYXhpcyBkb2VzIG5vdCBzbmFwIHRv
IGEgdmlzaWJsZSBhcmVhIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCA4MDAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4tYm90aC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVj
dGVkLnR4dAppbmRleCAzNjQwMDM2MjRlMWEyODQ0YjY0NDU4ZGYwMjY5NTg0NmUwMmNhYzc0Li41
NGFkZmY1OTFlZWQyYTc0MDk5ZWE0NDA4OWQxMzk2YmVmZmY2N2Q2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9ubHkgdGhlIHNjcm9s
bCBtYXJnaW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDgwMCBidXQgZ290IDUwMAorUEFTUyBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9u
bHkgdGhlIHNjcm9sbCBtYXJnaW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi14LWF4aXMt
ZXhwZWN0ZWQudHh0CmluZGV4IDEyOGY5NWRmNDEyMGExODIwZjczM2IyZDU1OTllZGZlN2EwYzM0
YTUuLjY2ZWFjYzE5Y2Y0MTc1NWY4NzYxOWU3MGY0NWYyZGEyMGViOGMzYWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25z
aWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGlu
ZyBvbiB0aGUgeC1heGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAor
UEFTUyBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcg
c25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeC1heGlzCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMtZXhwZWN0
ZWQudHh0CmluZGV4IDM2MTc3MzcwNjYzZGMwZWM0MDBkNDM4YzBhZGVjNGZkZTJlNWFlYjUuLmY3
NTNjY2MzODEzYzViOTk5ZjM0MGZiZDFkYWExYzc4MGYwMmNhNDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVk
IHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0
aGUgeS1heGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAorUEFTUyBT
Y3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBh
cmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeS1heGlzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAxMDljNjRj
NGUwZmI4OWNhYTIyNDhkNGRjNzNmODAzNDJhYWE0OTliLi5kYWQzOTc1MDkwYTdhMWVlMzViODY5
NTMyZjViNDgyOGMzNTkwNzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFy
ZWFzLXgtYXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVh
cy14LWF4aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIE9ubHkgc25hcCB0
byB2aXNpYmxlIGFyZWEgb24gWCBheGlzLCBldmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMg
YXJlIGNsb3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA1MDAKK0ZBSUwg
T25seSBzbmFwIHRvIHZpc2libGUgYXJlYSBvbiBYIGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZp
c2libGUgb25lcyBhcmUgY2xvc2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290
IDcwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3Rl
ZC50eHQKaW5kZXggMjUyYjdkMjQ4ZDJmZjM2MDE5NTcxN2Y0NWEyYmFjNDliNmYzZTAyMC4uMjBj
NzA3ZmY5ZDA4MjljMzZmZDAzYjhhZDlhOThhYTFmNTEyNjhmMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtdG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9z
bmFwLXRvLXZpc2libGUtYXJlYXMteS1heGlzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhIG9uIFkgYXhpcywgZXZlbiB3aGVuIHRo
ZSBub24tdmlzaWJsZSBvbmVzIGFyZSBjbG9zZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAw
IGJ1dCBnb3QgNTAwCitGQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWEgb24gWSBheGlzLCBl
dmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNsb3NlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCA4MDAgYnV0IGdvdCA3MDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxl
LXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNoYWJsZS1zbmFwLXBv
c2l0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggY2IyMjk4ODJkYmQ0MzFmZTA5YWQzODUxN2U3ZjUw
YTE0NTVjYzFkMy4uZDUzNjA3MWVhY2Y4ODI4MWJiNDk4ODMzOGYyY2M5YjA4OTFjYmI3YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgZGVmaW5lZCBieSB0aGUg
ZWxlbWVudCBhcyBtdWNoIGFzIHBvc3NpYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0
IGdvdCAxMDAKK1BBU1MgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBkZWZpbmVkIGJ5IHRoZSBlbGVt
ZW50IGFzIG11Y2ggYXMgcG9zc2libGUKIAo=
</data>
<flag name="commit-queue"
          id="435063"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417365</attachid>
            <date>2021-01-11 03:00:06 -0800</date>
            <delta_ts>2021-01-11 06:01:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145330-20210111120003.patch</filename>
            <type>text/plain</type>
            <size>88125</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uZDBmZDAwY2MyNGQ3ZDk3YWY1YTQ0YzAyOGI1NDkz
YTZmNzFiNTgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsIHNuYXBwaW5n
IHdoZW4gc2Nyb2xsIHZpYSBET00gQVBJcy4gVGhpcyBjaGFuZ2UgYWxzbworICAgICAgICBpbnRy
b2R1Y2VzIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyB3aGljaCBob2xkcyBjb21tb24gcGFyYW1l
dGVycyBmb3IKKyAgICAgICAgb3BlcmF0aW9ucyB0aGF0IGZyb20gRE9NIHRoYXQgc2V0IHNjcm9s
bCBwb3NpdGlvbi4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNjcm9sbEJ5KTogV2hlbiBjYWxsaW5nIHNjcm9sbFRvIG1hcmsgdGhhdCB0
aGlzIGNhbGwgaXMgYSAiZGlyZWN0aW9uYWwiCisgICAgICAgIHNjcm9sbCwgc28gdGhhdCBkaXJl
Y3Rpb25hbCBzY3JvbGwgc25hcHBpbmcgaXMgZG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbFRvKTogQWNjZXB0IHRoZSBuZXcgZW51bSBhcmd1bWVudCBtYXJraW5nIGRpcmVj
dGlvbmFsIHNjcm9sbAorICAgICAgICBhbmQgYWxzbyBwcm9wZXJseSBzZXQgdXAgdGhlIFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9s
bExlZnQpOiBVc2UgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuaDog
VXBkYXRlIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbEJ5IGNvbnN0KTogUGFzcyB0aGUg
bmV3IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBhcmd1bWVudAorICAgICAgICB0byBz
Y3JvbGxUby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBB
Y2NlcHQgdGhlIG5ldyBhcmd1bWVudCBhbmQgYWxzbyBwcm9wZXJseSBpbnN0YW50aWF0ZQorICAg
ICAgICBhIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyBhcmd1bWVudCBkb2luZyB0aGUgc2Nyb2xs
IG9wZXJhdGlvbi4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOiBVcGRhdGUgbWV0aG9kIGRl
ZmluaXRpb25zLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBY2NlcHQgdGhlIG5ldyBTZXRTY3Jv
bGxQb3NpdGlvbk9wdGlvbnMgYXJndW1lbnQKKyAgICAgICAgYW5kIGFsc28gcHJvcGVybHkgc25h
cCB0aGUgZGVzdGluYXRpb24gbG9jYXRpb24gYmFzZWQgb24gc2Nyb2xsIHNuYXBwaW5nIHJ1bGVz
LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5pdGlvbi4K
KyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVz
ZVNtb290aFNjcm9sbGluZyk6IE1vdmUgdGhlIGNoZWNrIHdoaWNoIHRyYW5zbGF0ZXMgdGhlIHNj
cm9sbGluZ0VsZW1lbnQgdG8gdGhlCisgICAgICAgIHJvb3QgZG9jdW1lbnQgZWxlbWVudCBoZXJl
IHRvIGF2b2lkIGFzIG11Y2ggcmVwZXRpdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKTog
Q2hhbmdlIHRvIHJlZmxlY3QgcmVuYW1lIG9mIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGly
ZWN0aW9uYWxTbmFwcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjphZGp1
c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKTogQWRkZWQgdGhpcyBoZWxwZXIgd2hp
Y2ggZG9lcworICAgICAgICBzbmFwcGluZyBpbiBib3RoIHRoZSB4IGFuZCB0aGUgeSBheGlzLgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5p
dGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkZWQgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIGFuZCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QuCisgICAg
ICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRp
Yyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpj
cmVhdGVVc2VyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xhbXBlZCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpzZXRBbmltYXRlZCk6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjplbmFibGVEaXJlY3Rpb25h
bFNjcm9sbFNuYXBwaW5nKTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0
aW9uKTogVXBkYXRlIHRvIHJlZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIuaDogUmVuYW1lIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9y
RGlyZWN0aW9uYWxTbmFwcGluZyB0bworICAgICAgICBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbiBh
bmQgYWxsb3cgaXQgdG8gZG8gbm9uLWRpcmVjdGlvbmFsIHNuYXBwaW5nLgorICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFs
U25hcHBpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KTogVXBkYXRlIHRvIHJl
ZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpzZXRTY3JvbGxUb3ApOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENvbWJpbmUgd2l0aCBzY3Jv
bGxUb09mZnNldCBhbmQgYWxzbyBzdGFydCBkb2luZworICAgICAgICBzbmFwcGluZyBkdXJpbmcg
dGhpcyBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZSk6IENyZWF0ZSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgd2hlbiBkb2luZwor
ICAgICAgICBzY3JvbGxpbmcgb3BlcmF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5oOiBVcGRhdGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxpc3RCb3g6OnNldFNjcm9sbExlZnQpOiBVcGRhdGUgdG8gdXNlIFNldFNjcm9sbFBvc2l0aW9u
T3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcCk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3Ap
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
Lmg6IERpdHRvLgorCiAyMDIxLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVXNlIFVURi04IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZTEwYjRkYjAzMTA2ZTY4ZjU0MTIzYmNl
ODY2YWU2YjQzMDkzM2JlOC4uMGQ1ZmQ2MmM5NWE1ZDY3ZmE4NGUzZjk4YjM1Njg0ZDY0N2EzNjQ1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAx
LTExICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBT
Y3JvbGwtc25hcCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGlj
IHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ1MzMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERPTS9ET01IVE1MLm1tOgorICAg
ICAgICAoLVtET01IVE1MRWxlbWVudCBzZXRTY3JvbGxYT2Zmc2V0OnNjcm9sbFlPZmZzZXQ6YWRq
dXN0Rm9ySU9TQ2FyZXQ6XSk6IFVwZGF0ZSB0byB1c2UKKyAgICAgICAgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zLgorCiAyMDIwLTEyLTE5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBGcmFtZUxvYWRlcjo6YXJlUGx1Z2luc0VuYWJsZWQgdG8gRnJhbWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCA5Y2FhM2M4ZTZlZjdmNmVkOWYyZDYzM2Q3NDI3N2FjYzEz
OWEyM2I4Li4xZjI3MTllZDk3MzMzNmJiNGQwODE0ODAxM2VlZWZlMmE1NDY1ZGYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC05NDgsNyArOTQ4LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxC
eShjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMpCiAgICAgU2Nyb2xsVG9PcHRpb25zIHNj
cm9sbFRvT3B0aW9ucyA9IG5vcm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1Rv
KG9wdGlvbnMsIDAsIDApOwogICAgIHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgKz0gc2Ny
b2xsTGVmdCgpOwogICAgIHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSArPSBzY3JvbGxUb3Ao
KTsKLSAgICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMpOworICAgIHNjcm9sbFRvKHNjcm9sbFRv
T3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlv
bk1ldGhvZDo6RGlyZWN0aW9uYWwpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5KGRvdWJs
ZSB4LCBkb3VibGUgeSkKQEAgLTk1Niw3ICs5NTYsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5
KGRvdWJsZSB4LCBkb3VibGUgeSkKICAgICBzY3JvbGxCeShTY3JvbGxUb09wdGlvbnMoeCwgeSkp
OwogfQogCi12b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0
aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNv
bnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIFNj
cm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBzbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QpCiB7
CiAgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5h
YmxlZCgpKSB7CiAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHRoZSByb290IGVsZW1lbnQg
YW5kIGRvY3VtZW50IGlzIGluIHF1aXJrcyBtb2RlLCB0ZXJtaW5hdGUgdGhlc2Ugc3RlcHMuCkBA
IC05NzUsNyArOTc1LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09w
dGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogICAgICAgICBpZiAoIXdp
bmRvdykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB3aW5kb3ctPnNjcm9sbFRvKG9w
dGlvbnMsIGNsYW1waW5nKTsKKyAgICAgICAgd2luZG93LT5zY3JvbGxUbyhvcHRpb25zLCBjbGFt
cGluZywgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtOTg1LDE2ICs5ODUsMjQgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3Jv
bGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogICAgIGlmICgh
cmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5oYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgU2Nyb2xsVG9PcHRpb25zIHNjcm9sbFRvT3B0aW9ucyA9IG5vcm1hbGl6ZU5vbkZp
bml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1RvKG9wdGlvbnMsCisgICAgRmxvYXRQb2ludCBvcmln
aW5hbFBvc2l0aW9uID0gRmxvYXRQb2ludCgKICAgICAgICAgYWRqdXN0Rm9yQWJzb2x1dGVab29t
KHJlbmRlcmVyLT5zY3JvbGxMZWZ0KCksICpyZW5kZXJlciksCiAgICAgICAgIGFkanVzdEZvckFi
c29sdXRlWm9vbShyZW5kZXJlci0+c2Nyb2xsVG9wKCksICpyZW5kZXJlcikKICAgICApOworICAg
IFNjcm9sbFRvT3B0aW9ucyBzY3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29y
ZGluYXRlc09yRmFsbEJhY2tUbyhvcHRpb25zLCBvcmlnaW5hbFBvc2l0aW9uLngoKSwgb3JpZ2lu
YWxQb3NpdGlvbi55KCkpOwogICAgIEludFBvaW50IHNjcm9sbFBvc2l0aW9uKAogICAgICAgICBj
bGFtcFRvSW50ZWdlcihzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICogcmVuZGVyZXItPnN0
eWxlKCkuZWZmZWN0aXZlWm9vbSgpKSwKICAgICAgICAgY2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9P
cHRpb25zLnRvcC52YWx1ZSgpICogcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKQog
ICAgICk7Ci0gICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmco
c2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0
aGlzKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Ci0gICAgcmVu
ZGVyZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxUeXBlOjpQcm9n
cmFtbWF0aWMsIGNsYW1waW5nLCBhbmltYXRlZCk7CisKKyAgICBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25z
OjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuY2xh
bXBpbmcgPSBjbGFtcGluZzsKKyAgICBpZiAoc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kID09IFNj
cm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6RGlyZWN0aW9uYWwpCisgICAgICAgIHNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucy5lbmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKG9yaWdp
bmFsUG9zaXRpb24pOworICAgIGlmICh1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25z
LmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKSkKKyAgICAgICAg
c2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLnNldEFuaW1hdGVkKCk7CisKKyAgICByZW5kZXJlci0+
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyk7CiB9CiAKIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oZG91YmxlIHgsIGRvdWJsZSB5KQpAQCAt
MTMyMCwyMSArMTMyOCwyMSBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xl
ZnQpCiB7CiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKIAorICAgIGF1dG8gb3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3Jl
YXRlUHJvZ3JhbW1hdGljKCk7CisgICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhh
dmlvcjo6QXV0bywgdGhpcykpCisgICAgICAgIG9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKwogICAg
IGlmIChkb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlm
IChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewotICAgICAg
ICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVu
dCgpPwotICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNl
U21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAg
ICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBm
cmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFt
ZS0+dmlldygpLT5zY3JvbGxZKCkpOwotICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Ny
b2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7
CisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
b3B0aW9ucyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChh
dXRvKiByZW5kZXJlciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkTGVmdCA9
IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29t
KCkpOwotICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGlu
ZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5p
bWF0ZWRTY3JvbGw6Ok5vOwotICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVk
TGVmdCwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
YW5pbWF0ZWQpOworICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVkTGVmdCwg
b3B0aW9ucyk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5s
YXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFy
TGF0Y2hlZFN0YXRlKHRydWUpOwogICAgIH0KQEAgLTEzNDQsMjEgKzEzNTIsMjEgQEAgdm9pZCBF
bGVtZW50OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKIHsKICAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgYXV0byBvcHRpb25zID0g
U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBpZiAo
dXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKSkKKyAgICAgICAg
b3B0aW9ucy5zZXRBbmltYXRlZCgpOworCiAgICAgaWYgKGRvY3VtZW50KCkuc2Nyb2xsaW5nRWxl
bWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnRGcmFt
ZVdpdGhOb25OdWxsVmlldygpKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVz
ZSBkb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/Ci0gICAgICAgICAgICAvLyBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAg
QW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZp
b3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6
OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9u
KGZyYW1lLT52aWV3KCktPnNjcm9sbFgoKSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFt
ZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKLSAgICAg
ICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMpOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSByZW5kZXJCb3goKSkg
ewogICAgICAgICBpbnQgY2xhbXBlZFRvcCA9IGNsYW1wVG9JbnRlZ2VyKG5ld1RvcCAqIHJlbmRl
cmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7Ci0gICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKSA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Ci0gICAgICAgIHJlbmRl
cmVyLT5zZXRTY3JvbGxUb3AoY2xhbXBlZFRvcCwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICByZW5kZXJlci0+c2V0
U2Nyb2xsVG9wKGNsYW1wZWRUb3AsIG9wdGlvbnMpOwogICAgICAgICBpZiAoYXV0byogc2Nyb2xs
YWJsZUFyZWEgPSByZW5kZXJlci0+bGF5ZXIoKSkKICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVh
LT5zZXRTY3JvbGxTaG91bGRDbGVhckxhdGNoZWRTdGF0ZSh0cnVlKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAppbmRleCA1NmFjYTRlZjQ3MDZmN2YzMGMyYmJmOTE0Y2UxNDc2ZjZiMWU1N2JmLi44
MWIxZTllODdkZWQyMjAzYzAwNzNlNGUxMzE1MWUwZDM5MjhjODU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0
IFNjcm9sbFRvT3B0aW9ucyYpOwogICAgIHZvaWQgc2Nyb2xsQnkoZG91YmxlIHgsIGRvdWJsZSB5
KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CisgICAgdmlydHVhbCB2b2lk
IHNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCA9IFNjcm9s
bFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6Q2xvc2VzdCk7CiAgICAgdm9pZCBzY3JvbGxUbyhk
b3VibGUgeCwgZG91YmxlIHkpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxCeUxp
bmVzKGludCBsaW5lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZTMzZmFlMzhl
ZWMzYmExMzY2OTdiOGVlNWQzNWU5MDUzZWE4N2E2YS4uMTNiNDdiZTdiN2M5MmIzYTY4MDBmODRl
NjBkZGEyMmM0NzIzYzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTAsNiAr
OTAsNyBAQAogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUg
IlNjaGVkdWxlZEFjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmVlbi5oIgorI2luY2x1ZGUgIlNjcm9s
bEFuaW1hdG9yLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbkRhdGEuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgpAQCAtMTY3NCw3
ICsxNjc1LDcgQEAgdm9pZCBET01XaW5kb3c6OnNjcm9sbEJ5KGNvbnN0IFNjcm9sbFRvT3B0aW9u
cyYgb3B0aW9ucykgY29uc3QKICAgICBTY3JvbGxUb09wdGlvbnMgc2Nyb2xsVG9PcHRpb25zID0g
bm9ybWFsaXplTm9uRmluaXRlQ29vcmRpbmF0ZXNPckZhbGxCYWNrVG8ob3B0aW9ucywgMCwgMCk7
CiAgICAgc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSArPSB2aWV3LT5tYXBGcm9tTGF5b3V0
VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkueCgpKTsKICAgICBzY3Jv
bGxUb09wdGlvbnMudG9wLnZhbHVlKCkgKz0gdmlldy0+bWFwRnJvbUxheW91dFRvQ1NTVW5pdHMo
dmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpLnkoKSk7Ci0gICAgc2Nyb2xsVG8oc2Nyb2xs
VG9PcHRpb25zKTsKKyAgICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMsIFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFsKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpIGNvbnN0CkBAIC0xNjgyLDcgKzE2ODMsNyBAQCB2b2lkIERPTVdp
bmRvdzo6c2Nyb2xsVG8oZG91YmxlIHgsIGRvdWJsZSB5LCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZykgY29uc3QKICAgICBzY3JvbGxUbyhTY3JvbGxUb09wdGlvbnMoeCwgeSksIGNsYW1waW5nKTsK
IH0KIAotdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0
aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpIGNvbnN0Cit2b2lkIERPTVdpbmRvdzo6c2Ny
b2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kIHNuYXBQb2ludFNlbGVjdGlvbk1l
dGhvZCkgY29uc3QKIHsKICAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQog
ICAgICAgICByZXR1cm47CkBAIC0xNzA0LDExICsxNzA1LDIxIEBAIHZvaWQgRE9NV2luZG93Ojpz
Y3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nCiAKICAgICBJbnRQb2ludCBsYXlvdXRQb3Modmlldy0+bWFwRnJvbUNTU1RvTGF5b3V0
VW5pdHMoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSksIHZpZXctPm1hcEZyb21DU1NUb0xh
eW91dFVuaXRzKHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSkpOwogCisgICAgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0
aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgaWYgKHNuYXBQb2ludFNlbGVj
dGlvbk1ldGhvZCA9PSBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFs
KSB7CisgICAgICAgIEZsb2F0UG9pbnQgb3JpZ2luYWxQb3NpdGlvbiA9IEZsb2F0UG9pbnQoCisg
ICAgICAgICAgICB2aWV3LT5tYXBGcm9tTGF5b3V0VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Nj
cm9sbFBvc2l0aW9uKCkueCgpKSwKKyAgICAgICAgICAgIHZpZXctPm1hcEZyb21MYXlvdXRUb0NT
U1VuaXRzKHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKS55KCkpKTsKKyAgICAgICAgc2V0
U2Nyb2xsUG9zaXRpb25PcHRpb25zLmVuYWJsZURpcmVjdGlvbmFsU2Nyb2xsU25hcHBpbmcob3Jp
Z2luYWxQb3NpdGlvbik7CisgICAgfQorICAgIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucy5jbGFt
cGluZyA9IGNsYW1waW5nOworCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQo
KS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8pLCBkb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRl
ZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgIGlmICh1c2VTbW9vdGhTY3Jv
bGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1
dG8pLCBkb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpCisgICAgICAgIHNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucy5zZXRBbmltYXRlZCgpOwogCi0gICAgdmlldy0+c2V0Q29udGVudHNTY3Jv
bGxQb3NpdGlvbihsYXlvdXRQb3MsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgdmlldy0+c2V0
Q29udGVudHNTY3JvbGxQb3NpdGlvbihsYXlvdXRQb3MsIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyk7CiB9CiAKIGJvb2wgRE9NV2luZG93OjphbGxvd2VkVG9DaGFuZ2VXaW5kb3dHZW9tZXRyeSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBhNzM5ZjgzMWZlZTkxZDE5MDYxZjdj
MjA1MDAzMmEwYTdmMTcwMzEzLi5mMjdhM2Q1MWMxNTU4MzQ4OGVmMTQ0YTc4MmZiYTRmMmRlN2E5
MDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYpIGNvbnN0OwogICAg
IHZvaWQgc2Nyb2xsQnkoZG91YmxlIHgsIGRvdWJsZSB5KSBjb25zdDsKLSAgICB2b2lkIHNjcm9s
bFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRp
b25zJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25h
cFBvaW50U2VsZWN0aW9uTWV0aG9kID0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpD
bG9zZXN0KSBjb25zdDsKICAgICB2b2lkIHNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgY29uc3Q7CiAKICAgICB2b2lk
IG1vdmVCeShmbG9hdCB4LCBmbG9hdCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAppbmRleCBlZWQ0NTNhNjNlMmZiYTRkOGI1ZTI5OWJlOTcyMjg0ZTU5ZDkyNzA4Li5iYzdjYmI3
NDc4YmI4NjlmNGQxM2VkZTVmNmQ0OGRmMjgzNTI5MGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCkBAIC0yMzExLDEyICsyMzExLDEyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVt
ZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAg
ICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNl
dFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0LnkoKSkp
OwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFt
IDw8ICJGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwg
IiAsIGNsZWFyaW5nIGFuY2hvciIpOwogCiAgICAgYXV0byBvbGRTY3JvbGxUeXBlID0gY3VycmVu
dFNjcm9sbFR5cGUoKTsKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShTY3JvbGxUeXBlOjpQcm9n
cmFtbWF0aWMpOworICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9wdGlvbnMudHlwZSk7CiAKICAg
ICBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSBudWxscHRyOwogICAgIG1fc2hvdWxk
U2Nyb2xsVG9Gb2N1c2VkRWxlbWVudCA9IGZhbHNlOwpAQCAtMjMyNCwxMCArMjMyNCwxNiBAQCB2
b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNj
cm9sbFBvc2l0aW9uLCBTY3JvbGxDbAogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsK
ICAgICBpZiAocGFnZSAmJiBwYWdlLT5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQogICAgICAg
ICBzY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihwYWdlLT53aGVlbEV2
ZW50VGVzdE1vbml0b3IoKSk7Ci0gICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZ
ZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9t
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7
CisKKyAgICBjb25zdCBhdXRvJiBvcmlnaW5hbFBvc2l0aW9uID0gb3B0aW9ucy5vcmlnaW5hbFBv
c2l0aW9uRm9yRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGluZzsKKyAgICBGbG9hdFNpemUgZGVsdGEg
PSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBzY3JvbGxQb3NpdGlvbiAtICpvcmlnaW5h
bFBvc2l0aW9uIDogRmxvYXRTaXplKCk7CisgICAgU2Nyb2xsT2Zmc2V0IHNuYXBwZWRPZmZzZXQg
PSBjZWlsZWRJbnRQb2ludCgKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5hZGp1c3RTY3JvbGxP
ZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQ
b3NpdGlvbiksIGRlbHRhLCBvcmlnaW5hbFBvc2l0aW9uKSk7CisKKyAgICBpZiAob3B0aW9ucy5h
bmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oc25hcHBlZE9mZnNldCwgY3VycmVudFNjcm9sbFR5cGUoKSwgb3B0aW9ucy5j
bGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoc25hcHBlZE9mZnNldCksIG9wdGlv
bnMpOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAppbmRleCA5MTNlZjI2ZTIwYTUxYjJkNTY0ZWJkMzZlYTJiMDM4NTkx
OTY4ZmU0Li4yZjgyNjUxNjA3ZjRlMzc3NjU3ZGJhNTY5YTdjZDQxOWZhOTQ3NjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIzOSw3ICsyMzksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNp
YmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0g
QW5pbWF0ZWRTY3JvbGw6Ok5vKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJiA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGlj
KCkpIGZpbmFsOwogICAgIHZvaWQgcmVzdG9yZVNjcm9sbGJhcigpOwogICAgIHZvaWQgc2NoZWR1
bGVTY3JvbGxUb0ZvY3VzZWRFbGVtZW50KFNlbGVjdGlvblJldmVhbE1vZGUpOwogICAgIHZvaWQg
c2Nyb2xsVG9Gb2N1c2VkRWxlbWVudEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggY2ZlNWYzNzY3ZGQ5NGFmMGRkYzlkMTlmZjQ1
MWFkOTViODI1NzYxYy4uNDY5YTE5YjgyOTRhZmY1Y2U3MTY4M2ZjMGRmNDAyMTE4NjQ4NjIyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTM1LDYgKzM1LDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50KQogeworICAgIC8vIEZJ
WE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KKyAgICAv
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQorICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCisgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CisKICAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50CiAgICAgICAgIHx8ICFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKQog
ICAgICAgICB8fCAhYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NP
TVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAKaW5kZXggYTNiZjhlZTM1MThhYTNjMjJjZTVkOTgxYjM0MWY1NTc2
OWY3YThlYy4uNTFmODg4MTRlYThiOGZjZDdlY2RkZGJhM2ZiN2Y3OTVkZGRlYWEyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtOTEsMTIgKzkxLDEy
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkKICAgICBhdXRvIG5ld09mZnNldCA9IFNjcm9sbGFi
bGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3UG9zaXRpb24sIHNjcm9sbE9yaWdp
bik7CiAgICAgYXV0byBjdXJyZW50T2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9mZnNl
dEZyb21Qb3NpdGlvbih0aGlzLT5jdXJyZW50UG9zaXRpb24oKSwgc2Nyb2xsT3JpZ2luKTsKICAg
ICBpZiAob3JpZW50YXRpb24gPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgewotICAgICAgICBuZXdP
ZmZzZXQuc2V0WChtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCwgbmV3T2Zmc2V0
LngoKSwgbXVsdGlwbGllciwgY3VycmVudE9mZnNldC54KCkpKTsKKyAgICAgICAgbmV3T2Zmc2V0
LnNldFgobV9zY3JvbGxDb250cm9sbGVyLmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2
ZW50QXhpczo6SG9yaXpvbnRhbCwgbmV3T2Zmc2V0LngoKSwgbXVsdGlwbGllciwgY3VycmVudE9m
ZnNldC54KCkpKTsKICAgICAgICAgbmV3UG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xs
UG9zaXRpb25Gcm9tT2Zmc2V0KG5ld09mZnNldCwgc2Nyb2xsT3JpZ2luKTsKICAgICAgICAgcmV0
dXJuIHNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgbmV3UG9zaXRpb24u
eCgpIC0gdGhpcy0+Y3VycmVudFBvc2l0aW9uKCkueCgpLCAxLjApOwogICAgIH0KIAotICAgIG5l
d09mZnNldC5zZXRZKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZv
ckRpcmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3UG9zaXRp
b24ueSgpLCBtdWx0aXBsaWVyLCBjdXJyZW50T2Zmc2V0LnkoKSkpOworICAgIG5ld09mZnNldC5z
ZXRZKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVu
dEF4aXM6OlZlcnRpY2FsLCBuZXdQb3NpdGlvbi55KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZz
ZXQueSgpKSk7CiAgICAgbmV3UG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KG5ld09mZnNldCwgc2Nyb2xsT3JpZ2luKTsKICAgICByZXR1cm4gc2Nyb2xs
KFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgbmV3UG9zaXRpb24ueSgpIC0gdGhpcy0+
Y3VycmVudFBvc2l0aW9uKCkueSgpLCAxLjApOwogI2Vsc2UKQEAgLTM1NCw0ICszNTQsMjMgQEAg
dm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIq
KQogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVuZ3Ro
cygpOwogfQogCitGbG9hdFBvaW50IFNjcm9sbEFuaW1hdG9yOjphZGp1c3RTY3JvbGxPZmZzZXRG
b3JTbmFwcGluZ0lmTmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCwgY29uc3QgRmxvYXRT
aXplJiB2ZWxvY2l0eSwgT3B0aW9uYWw8RmxvYXRQb2ludD4gb3JpZ2luYWxQb3NpdGlvbikKK3sK
KyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIGlmICghbV9zY3JvbGxDb250cm9sbGVy
LnVzZXNTY3JvbGxTbmFwKCkpCisgICAgICAgIHJldHVybiBvZmZzZXQ7CisKKyAgICBPcHRpb25h
bDxmbG9hdD4gb3JpZ2luYWxYID0gb3JpZ2luYWxQb3NpdGlvbi5oYXNWYWx1ZSgpID8gT3B0aW9u
YWw8ZmxvYXQ+IHtvcmlnaW5hbFBvc2l0aW9uLT54KCl9IDogV1RGOjpudWxsb3B0OworICAgIE9w
dGlvbmFsPGZsb2F0PiBvcmlnaW5hbFkgPSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBP
cHRpb25hbDxmbG9hdD4ge29yaWdpbmFsUG9zaXRpb24tPnkoKX0gOiBXVEY6Om51bGxvcHQ7CisK
KyAgICBGbG9hdFBvaW50IG5ld09mZnNldCA9IG9mZnNldDsKKyAgICBuZXdPZmZzZXQuc2V0WCht
X3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZlbnRBeGlz
OjpIb3Jpem9udGFsLCBuZXdPZmZzZXQueCgpLCB2ZWxvY2l0eS53aWR0aCgpLCBvcmlnaW5hbFgp
KTsKKyAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVz
dGluYXRpb24oU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3T2Zmc2V0LnkoKSwgdmVsb2Np
dHkuaGVpZ2h0KCksIG9yaWdpbmFsWSkpOworICAgIHJldHVybiBuZXdPZmZzZXQ7CisjZWxzZQor
ICAgIHJldHVybiBvZmZzZXQ7CisjZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCA0MDAxZjRhZjgw
MTRhOTRmMzMwY2M2M2U5NGJhY2Q1ZDk3Yzg3OGYxLi40NjJkZTcyZjg4ODMwODY1YjEwNDFhNzIz
ZDA4ZjYzZjg2ZTMzNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpA
QCAtMTM4LDYgKzEzOSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0V2hlZWxFdmVudFRlc3RN
b25pdG9yKFJlZlB0cjxXaGVlbEV2ZW50VGVzdE1vbml0b3I+JiYgdGVzdE1vbml0b3IpIHsgbV93
aGVlbEV2ZW50VGVzdE1vbml0b3IgPSB0ZXN0TW9uaXRvcjsgfQogCisgICAgRmxvYXRQb2ludCBh
ZGp1c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIG9m
ZnNldCwgY29uc3QgRmxvYXRTaXplJiB2ZWxvY2l0eSwgT3B0aW9uYWw8RmxvYXRQb2ludD4gb3Jp
Z2luYWxQb3NpdGlvbik7CisKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUo
UlVCQkVSX0JBTkRJTkcpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcm9sbENvbnRyb2xsZXJUaW1l
cj4gY3JlYXRlVGltZXIoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggYTA5M2M5YjNlNjBhZGI5Zjk5MjYyNTc4
Y2FmM2RmYTQwZGY2MDQxYS4uY2M4M2FhN2FiZGY5MDQ3YWU4ODdkM2Y5ZDkwNmViOWY2OGFmZDRh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSA8Y3N0ZGludD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgpAQCAtMjQ5LDYgKzI1MCwxNSBAQCBlbnVtIGNsYXNzIFNjcm9sbFBvc2l0aW9uaW5nQmVoYXZp
b3IgOiB1aW50OF90IHsKICAgICBTdGF0aW9uYXJ5CiB9OwogCisvLyBUaGlzIHZhbHVlIGNvbnRy
b2xzIHRoZSBtZXRob2QgdXNlZCB0byBzZWxlY3Qgc25hcCBwb2ludHMgZHVyaW5nIHNjcm9sbGlu
Zy4gVGhpcyBtYXkgZWl0aGVyCisvLyBiZSAiZGlyZWN0aW9uYWwiIG9yICJjbG9zZXN0LiIgVGhl
IGRpcmVjdGlvbmFsIG1ldGhvZCBvbmx5IGNob29zZXMgc25hcCBwb2ludHMgdGhhdCBhcmUgYXQg
b3IKKy8vIGJleW9uZCB0aGUgc2Nyb2xsIGRlc3RpbmF0aW9uIGluIHRoZSBkaXJlY3Rpb24gb2Yg
dGhlIHNjcm9sbC4gVGhlICJjbG9zZXN0IiBtZXRob2QgZG9lcyBub3QKKy8vIGhhdmUgdGhpcyBj
b25zdHJhaW50LgorZW51bSBjbGFzcyBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QgOiBi
b29sIHsKKyAgICBEaXJlY3Rpb25hbCwKKyAgICBDbG9zZXN0LAorfTsKKwogdXNpbmcgU2Nyb2xs
YmFyQ29udHJvbFN0YXRlID0gdW5zaWduZWQ7CiB1c2luZyBTY3JvbGxiYXJDb250cm9sUGFydE1h
c2sgPSB1bnNpZ25lZDsKIHVzaW5nIFNjcm9sbGluZ05vZGVJRCA9IHVpbnQ2NF90OwpAQCAtMjU3
LDYgKzI2Nyw0MSBAQCBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwo
V1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsVHlwZSk7CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsQ2xhbXBpbmcpOwogV0VC
Q09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyk7CiAKK3N0cnVjdCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnMgeworICAgIFNjcm9sbFR5cGUgdHlwZTsKKyAgICBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkOworICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworCisgICAgLy8gSWYgdGhpcyBPcHRpb25hbCB2
YWx1ZSBpcyBub3QgbnVsbCB0aGVuIHRoZSAiZGlyZWN0aW9uYWwiIHNjcm9sbCBzbmFwIHBvaW50
IHNlbGVjdGlvbiBtZXRob2QKKyAgICAvLyBpcyBhY3RpdmUsIG90aGVyd2lzZSAiY2xvc2VzdCIg
aXMgdXNlZC4KKyAgICBPcHRpb25hbDxGbG9hdFBvaW50PiBvcmlnaW5hbFBvc2l0aW9uRm9yRGly
ZWN0aW9uYWxTY3JvbGxTbmFwcGluZyA9IFdURjo6bnVsbG9wdDsKKworICAgIHN0YXRpYyBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMgY3JlYXRlUHJvZ3JhbW1hdGljKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB7IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYyB9OworICAgIH0KKworICAgIHN0YXRp
YyBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgY3JlYXRlVXNlcigpCisgICAgeworICAgICAgICBy
ZXR1cm4geyBTY3JvbGxUeXBlOjpVc2VyIH07CisgICAgfQorCisgICAgc3RhdGljIFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyBjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6
VW5jbGFtcGVkIH07CisgICAgfQorCisgICAgdm9pZCBzZXRBbmltYXRlZCgpCisgICAgeworICAg
ICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CisgICAgfQorCisgICAgdm9pZCBl
bmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbmFs
UG9zaXRpb24pCisgICAgeworICAgICAgICBvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxT
Y3JvbGxTbmFwcGluZyA9IG9yaWdpbmFsUG9zaXRpb247CisgICAgfQorfTsKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKaW5kZXggZGFjYWFkNTAwZmQ3MjcxNzNiZDk0MDQzZWUzMjQzOTRjNzljZjE3
MC4uMThhY2U0MGRjNDA4NGRkOTI1ZjkwMTEyOGEwNjliNzVhM2Q0NDQwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTIwNywxMyArMjA3LDEzIEBAIEludFBvaW50
IFNjcm9sbFZpZXc6OmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBz
Y3JvbGxQb3NpdGlvbigpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRz
U2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQ
b3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24pOwogI2VuZGlmCi0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMp
OwogfQogCiBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6ZXhwb3NlZENvbnRlbnRSZWN0KCkgY29uc3QK
QEAgLTUxNCw3ICs1MTQsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0FmdGVy
U2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9zaXRp
bmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsLyogYW5pbWF0ZWQqLykKK3ZvaWQgU2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0
aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgTE9H
X1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI5LDExICs1MjksMTEgQEAgdm9p
ZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Ny
b2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVz
KCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAg
ICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAotICAgIFNjcm9sbFBvc2l0
aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGlu
ZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhp
blJhbmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIFNjcm9sbFBvc2l0
aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBvcHRpb25z
LmNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0
aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYg
KCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxU
eXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhh
dmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+
c2Nyb2xsUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Ny
b2xsUG9zaXRpb25VcGRhdGUobmV3U2Nyb2xsUG9zaXRpb24sIGN1cnJlbnRTY3JvbGxUeXBlKCks
IGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3Jv
bGxQb3NpdGlvbiwgY3VycmVudFNjcm9sbFR5cGUoKSwgb3B0aW9ucy5jbGFtcGluZykpCiAgICAg
ICAgIHVwZGF0ZVNjcm9sbGJhcnMobmV3U2Nyb2xsUG9zaXRpb24pOwogCiAgICAgc2V0U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCBmY2JjODM3OWUxODIyOWIzZThjZTM1
ZWFiOGIzNWNiNmM0MDc2MjY1Li42YTExM2I3MzdhZDM4ZmUyMzMyN2U3MjAxZGM1Y2JkOTJhZGY4
NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0yNDQsNyArMjQ0LDcg
QEAgcHVibGljOgogCiAgICAgLy8gU2Nyb2xsIHBvc2l0aW9uIHVzZWQgYnkgd2ViLWV4cG9zZWQg
ZmVhdHVyZXMgKGhhcyBsZWdhY3kgaU9TIGJlaGF2aW9yKS4KICAgICBXRUJDT1JFX0VYUE9SVCBJ
bnRQb2ludCBjb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDb250
ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8p
OworICAgIHZvaWQgc2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYsIGNv
bnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6
OmNyZWF0ZVByb2dyYW1tYXRpYygpKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
aW50IGFjdHVhbFNjcm9sbFgoKSBjb25zdCB7IHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3Qo
KS54KCk7IH0KQEAgLTI3NCw3ICsyNzQsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24g
Y2FjaGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0
aW9uOyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiA9IFNl
dFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCkpOwogCiAgICAgdm9p
ZCBzY3JvbGxCeShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQb3NpdGlvbihz
Y3JvbGxQb3NpdGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCmluZGV4IGNmMzkyMzQwNWVlMTMxNjk2ODE2YmU3ZmIw
YTI1NDU0MWIyNDNmZmMuLjU2ZjRhYzkyMmNjMTE4MTc1ODU2OTZlM2IzM2U5YWQ3ZGYyYTk0M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
LmgKQEAgLTE2Niw3ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgYWN0aXZlU2Nyb2xs
U25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXMpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
U2Nyb2xsU25hcFN0YXRlKGNvbnN0IFNjcm9sbGFibGVBcmVhJik7CiAgICAgdm9pZCB1cGRhdGVH
ZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwotICAgIGZs
b2F0IGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxF
dmVudEF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uLCBmbG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3JpZ2lu
YWxQb3NpdGlvbik7CisgICAgZmxvYXQgYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZl
bnRBeGlzLCBmbG9hdCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZsb2F0
PiBvcmlnaW5hbFBvc2l0aW9uKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIGhhbmRsZWQuCiAgICAgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAzZTRmMDY5Y2YzMmI2MzE4NTZhOGM2
YTJkZWQwYTE2ZTNlZjUxZmY4Li44ZTE3MDExN2NjNTNkZDY3MjU3ZDE0OWVlMjk0MTA0Yzk0MTQz
MGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KQEAgLTkwNCw3ICs5MDQsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldE5l
YXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcwogICAg
IHNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoYXhpcywgYWN0aXZlSW5kZXgpOwogfQog
Ci1mbG9hdCBTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVj
dGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uLCBm
bG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3JpZ2luYWxQb3NpdGlvbikKK2Zsb2F0IFNjcm9sbENvbnRy
b2xsZXI6OmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9h
dCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZsb2F0PiBvcmlnaW5hbFBv
c2l0aW9uKQogewogICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuIGRl
c3RpbmF0aW9uOwpAQCAtOTE1LDcgKzkxNSwxMCBAQCBmbG9hdCBTY3JvbGxDb250cm9sbGVyOjph
ZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbgog
ICAgICAgICByZXR1cm4gZGVzdGluYXRpb247CiAKICAgICB1bnNpZ25lZCBzbmFwSW5kZXg7Ci0g
ICAgTGF5b3V0VW5pdCBvZmZzZXQgPSBjbG9zZXN0U25hcE9mZnNldChzbmFwU3RhdGUuc25hcE9m
ZnNldHNGb3JBeGlzKGF4aXMpLCBzbmFwU3RhdGUuc25hcE9mZnNldFJhbmdlc0ZvckF4aXMoYXhp
cyksIExheW91dFVuaXQoZGVzdGluYXRpb24gLyBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKSks
IHZlbG9jaXR5LCBzbmFwSW5kZXgsIExheW91dFVuaXQob3JpZ2luYWxQb3NpdGlvbiAvIG1fY2xp
ZW50LnBhZ2VTY2FsZUZhY3RvcigpKSk7CisgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gb3JpZ2lu
YWxQb3NpdGlvbkluTGF5b3V0VW5pdHMgPSBXVEY6Om51bGxvcHQ7CisgICAgaWYgKG9yaWdpbmFs
UG9zaXRpb24uaGFzVmFsdWUoKSkKKyAgICAgICAgb3JpZ2luYWxQb3NpdGlvbkluTGF5b3V0VW5p
dHMgPSBMYXlvdXRVbml0KCpvcmlnaW5hbFBvc2l0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxlRmFj
dG9yKCkpOworICAgIExheW91dFVuaXQgb2Zmc2V0ID0gY2xvc2VzdFNuYXBPZmZzZXQoc25hcFN0
YXRlLnNuYXBPZmZzZXRzRm9yQXhpcyhheGlzKSwgc25hcFN0YXRlLnNuYXBPZmZzZXRSYW5nZXNG
b3JBeGlzKGF4aXMpLCBMYXlvdXRVbml0KGRlc3RpbmF0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxl
RmFjdG9yKCkpLCB2ZWxvY2l0eSwgc25hcEluZGV4LCBvcmlnaW5hbFBvc2l0aW9uSW5MYXlvdXRV
bml0cyk7CiAgICAgcmV0dXJuIG9mZnNldCAqIG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGVkOWZhMzQ5ODYx
ZjZlYTA5YzFjYWUwN2FiOWY4YjRjZWFjYmJjYjguLjE4MDkyZWI5OWVmMWI5NjhkMDI3MzQzZGE4
NmI0YzhmZmZkOWY0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC01OTMsMjggKzU5MywyOCBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKFJl
bmRlckxheWVyJiBsYXllcikKICAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZl
bnRUZXN0TW9uaXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBS
ZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9p
ZCBSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8
ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigq
bGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRpb24obmV3TGVmdCwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zY3JvbGxUb1hQb3NpdGlv
bihuZXdMZWZ0LCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChp
bnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3Ao
aW50IG5ld1RvcCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25zKQogewog
ICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zY3Jv
bGxUb1lQb3NpdGlvbihuZXdUb3AsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7Cisg
ICAgbGF5ZXIoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBvcHRpb25zKTsKIH0KIAotdm9p
ZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5p
bWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkp
OwotICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9y
PEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDk2ZTcyZDRmODViYzQ5
M2ZiNDcyMGJjYzJlMTg1MGU0MDhiNDFjODQuLjYxODhmZTVjOGEzMThjNzI2N2I4NjMxYWYwYjEz
Nzg0NmIyNDJlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTI1LDYg
KzI1LDcgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJCb3hNb2Rl
bE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck92ZXJmbG93LmgiCisjaW5jbHVkZSAiU2Nyb2xs
U25hcE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJT
aGFwZU91dHNpZGVJbmZvLmgiCiAKQEAgLTI0OSw5ICsyNTAsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBpbnQgc2Nyb2xsVG9wKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsV2lkdGgo
KSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBB
bmltYXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmly
dHVhbCB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlv
bnMmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgY29uc3QgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zJik7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYpOwogCiAgICAgTGF5
b3V0VW5pdCBtYXJnaW5Ub3AoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21hcmdpbkJveC50
b3AoKTsgfQogICAgIExheW91dFVuaXQgbWFyZ2luQm90dG9tKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9tYXJnaW5Cb3guYm90dG9tKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDI0OTNlZjg2NGRhNDNhNzgwMjg2MzFlODcyYTMzMGQ1NDA4YWY3
MjMuLmIzNDhjNTQ0NWVmNDE1NjVhYWRhYmMzN2UyYjQ3ZjIxNTU2Yjc2ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5NywyNCArMjU5NywyMSBAQCB2
b2lkIFJlbmRlckxheWVyOjphcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCkK
ICAgICBtX3Bvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKIH0KIAotdm9p
ZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQor
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlv
bih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIG9wdGlvbnMpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQ
b3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxU
b1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25z
KQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24ueCgpLCB5
KTsKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVyOjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0
ZWRTY3JvbGw6OlllcykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9s
bE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKLSAg
ICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihw
b3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICBzY3JvbGxUb09mZnNldChzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBvcHRpb25zKTsKIH0KIAogU2Nyb2xsT2Zm
c2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNj
cm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzMsMzUgKzI2MzAsMzEgQEAgYm9vbCBSZW5kZXJMYXll
cjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgU2MKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9s
bFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIGNvbnN0IFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY3VycmVudFNjcm9sbEJl
aGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0
aW9uKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAotICAg
IFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xs
T2Zmc2V0OworICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gb3B0aW9ucy5j
bGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNj
cm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7CiAgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQg
PT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcHJl
dmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsKLSAgICBzZXRDdXJyZW50U2Ny
b2xsVHlwZShzY3JvbGxUeXBlKTsKKyAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvcHRpb25zLnR5
cGUpOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoc2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBzY3JvbGxUeXBlLCBjbGFtcGluZykp
Ci0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFtcGVkU2Nyb2xsT2Zm
c2V0LCBjbGFtcGluZyk7Ci0gICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZp
b3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyAgICBjb25zdCBhdXRvJiBvcmlnaW5hbFBvc2l0
aW9uID0gb3B0aW9ucy5vcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGlu
ZzsKKyAgICBGbG9hdFNpemUgZGVsdGEgPSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBz
Y3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCkgLSAqb3JpZ2luYWxQ
b3NpdGlvbiA6IEZsb2F0U2l6ZSgpOworICAgIEludFBvaW50IHNuYXBwZWRPZmZzZXQgPSBjZWls
ZWRJbnRQb2ludCgKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5hZGp1c3RTY3JvbGxPZmZzZXRG
b3JTbmFwcGluZ0lmTmVlZGVkKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGRlbHRhLCBvcmlnaW5hbFBv
c2l0aW9uKSk7CiAKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUp
OwotfQotCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29u
c3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcpCi17Ci0gICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50
U2Nyb2xsVHlwZSgpOwotICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwotCi0g
ICAgU2Nyb2xsT2Zmc2V0IG5ld1Njcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKLSAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKLSAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ICE9IHRoaXMtPnNjcm9sbE9mZnNl
dCgpKQotICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KG5ld1Njcm9sbE9mZnNldCk7CisgICAgaWYgKG9wdGlvbnMuYW5pbWF0ZWQgPT0gQW5pbWF0ZWRT
Y3JvbGw6OlllcykKKyAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aEFu
aW1hdGlvbihzbmFwcGVkT2Zmc2V0KTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBzbmFwcGVk
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoc25hcHBlZE9mZnNldCk7CisgICAg
ICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNuYXBwZWRQb3NpdGlvbiwgb3B0
aW9ucy50eXBlLCBvcHRpb25zLmNsYW1waW5nKSkKKyAgICAgICAgICAgIHNjcm9sbFRvT2Zmc2V0
V2l0aG91dEFuaW1hdGlvbihzbmFwcGVkT2Zmc2V0LCBvcHRpb25zLmNsYW1waW5nKTsKKyAgICAg
ICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5p
bWF0aW9uKTsKKyAgICB9CiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9s
bFR5cGUpOwogfQpAQCAtMjgyNCw5ICsyODE3LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
IAogICAgIGF1dG8gc2hvdWxkVXNlQW5pbWF0ZWRTY3JvbGwgPSBbdGhpc10oRWxlbWVudCogZWxl
bWVudCwgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IpCiAgICAgewotICAgICAgICBib29sIHVzZUFu
aW1hdGVkU2Nyb2xsaW5nID0gIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpCisgICAgICAgIHJldHVybiAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2
ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkKICAgICAgICAgICAgICYmIGVsZW1l
bnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKGJlaGF2aW9yLCBlbGVtZW50KTsKLSAgICAgICAgcmV0
dXJuIHVzZUFuaW1hdGVkU2Nyb2xsaW5nID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVk
U2Nyb2xsOjpObzsKICAgICB9OwogCiAgICAgaWYgKGFsbG93c0N1cnJlbnRTY3JvbGwoKSkgewpA
QCAtMjg1Miw4ICsyODQ0LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgIFNj
cm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xs
T2Zmc2V0KCkgKyB0b0ludFNpemUocm91bmRlZEludFJlY3QocmV2ZWFsUmVjdCkubG9jYXRpb24o
KSkpOwogICAgICAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSB8
fCBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSAhPSBTY3JvbGxCZWhhdmlvclN0YXR1czo6
Tm90SW5BbmltYXRpb24pIHsKICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBvbGRTY3JvbGxPZmZz
ZXQgPSBzY3JvbGxPZmZzZXQoKTsKLSAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRV
c2VBbmltYXRlZFNjcm9sbChib3gtPmVsZW1lbnQoKSwgb3B0aW9ucy5iZWhhdmlvcik7Ci0gICAg
ICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBl
ZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNy
ZWF0ZVByb2dyYW1tYXRpYygpOworICAgICAgICAgICAgaWYgKHNob3VsZFVzZUFuaW1hdGVkU2Ny
b2xsKGJveC0+ZWxlbWVudCgpLCBvcHRpb25zLmJlaGF2aW9yKSkKKyAgICAgICAgICAgICAgICBz
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKyAgICAgICAgICAgIHNjcm9s
bFRvT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQsIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7
CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBjbGFtcGVkU2Ny
b2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0
Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwogICAgICAgICAgICAgbmV3UmVjdCA9IExh
eW91dFJlY3QoYm94LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9j
YWxFeHBvc2VSZWN0KSksIFVzZVRyYW5zZm9ybXMpLmJvdW5kaW5nQm94KCkpOwpAQCAtMjg3OCwx
NCArMjg3MiwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGV4
cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhy
ZW5kZXJlciwgdmlld1JlY3QsIG5ld1JlY3QpOwogCiAgICAgICAgICAgICAgICAgTGF5b3V0UmVj
dCBleHBvc2VSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCBuZXdSZWN0LCBpbnNpZGVG
aXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKLQogICAgICAgICAgICAgICAg
IEludFBvaW50IHNjcm9sbFBvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChleHBvc2VSZWN0LmxvY2F0
aW9uKCkpKTsKKwogICAgICAgICAgICAgICAgIC8vIEFkanVzdCBvZmZzZXRzIGlmIHRoZXkncmUg
b3V0c2lkZSBvZiB0aGUgYWxsb3dhYmxlIHJhbmdlLgogICAgICAgICAgICAgICAgIHNjcm9sbFBv
c2l0aW9uID0gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKEludFBvaW50KCksIElu
dFBvaW50KGZyYW1lVmlldy5jb250ZW50c1NpemUoKSkpOworCiAgICAgICAgICAgICAgICAgLy8g
RklYTUU6IFNob3VsZCB3ZSB1c2UgY29udGVudERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQo
KT8KICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRV
c2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJlaGF2aW9yKTsKLSAgICAgICAgICAg
ICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAgICAgICAgU2V0U2Nyb2xsUG9z
aXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0aW9u
T3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgICAgICAgICAgICAgaWYgKHNob3Vs
ZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3IpKQorICAgICAgICAg
ICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKworICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwg
c2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zKTsKIAogICAgICAgICAgICAgICAgIGlmIChvcHRpb25z
LnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdp
blNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVu
dCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93
bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKSkKQEAgLTI5MjksMTAgKzI5
MjcsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIC8vIEF2b2lkIHNj
cm9sbGluZyB0byB0aGUgcm91bmRlZCB2YWx1ZSBvZiByZXZlYWxSZWN0LmxvY2F0aW9uKCkgaWYg
d2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBzY3JvbGwKICAgICAgICAgICAgIGlmIChyZXZlYWxS
ZWN0ICE9IHZpZXdSZWN0KSB7CiAgICAgICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRT
Y3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChyZXZlYWxSZWN0LmxvY2F0aW9uKCkpLmNv
bnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3NpdGlvbiwgbWF4U2Nyb2xsUG9zaXRpb24pOwor
CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Ny
b2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYXV0byBhbmlt
YXRlZCA9IHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3Ip
OwotICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAg
ICAgICAgICAgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAg
ICAgICAgICAgICAgaWYgKHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMu
YmVoYXZpb3IpKQorICAgICAgICAgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMu
c2V0QW5pbWF0ZWQoKTsKKworICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3Np
dGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3
IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZjI4Y2I0MTQ3MjdlZmM2ODI5YTY1YTk0
YzVmZWJhN2E0NTZlMWU5OS4uMjlkZGUxYzI2NGU0YThhNDBkMTFmZDdlMzhiNmIwZDQ2MGFhMWZi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ0NywxNiArNDQ3
LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlVzZXIsIFNjcm9s
bENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOwogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmLCBTY3JvbGxU
eXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlw
ZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9m
ZnNldCYsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgPSBTZXRTY3JvbGxQb3NpdGlv
bk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpKTsKIAotICAgIHZvaWQgc2Nyb2xsVG9YUG9z
aXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lk
IHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpO
byk7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1h
dGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lkIHNjcm9sbFRvWFBvc2l0
aW9uKGludCB4LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKTsKKyAgICB2b2lkIHNj
cm9sbFRvWVBvc2l0aW9uKGludCB5LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKTsK
KyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3Qg
U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJik7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2Vk
IGJ5IG1hcnF1ZWUuCi0gICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9P
ZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KLSAgICB2b2lkIHNjcm9s
bFRvWU9mZnNldChpbnQgeSkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zm
c2V0KCkueCgpLCB5KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6
VW5jbGFtcGVkKTsgfQorICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9sbFRv
T2Zmc2V0KFNjcm9sbE9mZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xhbXBlZCgpKTsgfQorICAgIHZvaWQg
c2Nyb2xsVG9ZT2Zmc2V0KGludCB5KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldChzY3Jv
bGxPZmZzZXQoKS54KCksIHkpLCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dy
YW1tYXRpY1VuY2xhbXBlZCgpKTsgfQogCiAgICAgdm9pZCBzZXRQb3N0TGF5b3V0U2Nyb2xsUG9z
aXRpb24oT3B0aW9uYWw8U2Nyb2xsUG9zaXRpb24+KTsKICAgICB2b2lkIGFwcGx5UG9zdExheW91
dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcAppbmRleCA4ZThhZDcwNDNhMWQ3NDA2MTE3ZTI3MmViMGEyMDQ1YWZlNjVj
MmRlLi4wZjE1YWYyYzE0MGZlNGNlYTc0MjQzMWI4YjM0MmUxYTM4MzY5NjNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC03NDMsNyArNzQzLDcgQEAg
aW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbExlZnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQog
Ci12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCit2b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9s
bExlZnQoaW50LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKQogewogfQogCkBAIC03
NjAsNyArNzYwLDcgQEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50VGVzdE1vbml0b3IoUmVu
ZGVyTGlzdEJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2Nyb2xsQW5pbWF0b3IoKS5zZXRX
aGVlbEV2ZW50VGVzdE1vbml0b3IocmVuZGVyZXIucGFnZSgpLndoZWVsRXZlbnRUZXN0TW9uaXRv
cigpKTsKIH0KIAotdm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwg
U2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJM
aXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25P
cHRpb25zJikKIHsKICAgICAvLyBEZXRlcm1pbmUgYW4gaW5kZXggYW5kIHNjcm9sbCB0byBpdC4g
ICAgCiAgICAgaW50IGluZGV4ID0gbmV3VG9wIC8gaXRlbUhlaWdodCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggY2M5MzQwOTJmNGQzY2IxNDM2NDQ1ZmVh
N2VkNzdhYzBlY2ZkZTM5ZS4uNjI2ZjAwNzYwOGIwOTU5MmI1NjE0ZjU2OWZkNjg2MDBjMzY2NzQz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xMDYsOCAr
MTA2LDggQEAgcHJpdmF0ZToKICAgICBpbnQgc2Nyb2xsVG9wKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IHNjcm9sbEhlaWdo
dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBz
ZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGwpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwg
Y29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICBib29sIG5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhp
dFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFj
Y3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDc2ZTIzZTRkMDk5NmU2YmZiZTQw
YTY0NDExNjQ0NTlhYTY3ODBkOGIuLjdjZjY3M2FiZjc3MzE5YTdlZDY5MzlhNjZkM2Q1N2YzN2E4
OWRkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTE3MSwxMSArMTcxLDEyIEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgIGlmICht
X3RpbWVyLmlzQWN0aXZlKCkgfHwgbV9sYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLm1hcnF1ZWVJ
bmNyZW1lbnQoKS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgYXV0byBkZXRhaWxz
ID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQo
KTsKICAgICBpZiAoIW1fc3VzcGVuZGVkICYmICFtX3N0b3BwZWQpIHsKICAgICAgICAgaWYgKGlz
SG9yaXpvbnRhbCgpKQotICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xs
T2Zmc2V0KG1fc3RhcnQsIDApLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1w
aW5nOjpVbmNsYW1wZWQpOworICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Ny
b2xsT2Zmc2V0KG1fc3RhcnQsIDApLCBkZXRhaWxzKTsKICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KDAsIG1fc3RhcnQpLCBTY3Jv
bGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOworICAgICAg
ICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KDAsIG1fc3RhcnQpLCBk
ZXRhaWxzKTsKICAgICB9IGVsc2UgewogICAgICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAg
ICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKaW5kZXggYTA3NTA4MWY1NjVj
ZWRiNTVkZGJlYzk2OGVjMmNiMTM5ZDYwYmFiOC4uZmRhNmM1YzFlNmE2MjM1NmVmZmQxY2RjYTg0
Mzc4NThmNTE2ZTA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKQEAgLTM4MywxMyArMzgzLDEzIEBAIGlu
dCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNjcm9sbFRvcCgpIGNvbnN0CiAgICAgcmV0
dXJuIFJlbmRlckJsb2NrRmxvdzo6c2Nyb2xsVG9wKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCit2b2lkIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJikKIHsKICAgICBpZiAoaW5uZXJUZXh0RWxlbWVudCgpKQogICAgICAgICBpbm5l
clRleHRFbGVtZW50KCktPnNldFNjcm9sbExlZnQobmV3TGVmdCk7CiB9CiAKLXZvaWQgUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBjb25zdCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnMmKQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlu
bmVyVGV4dEVsZW1lbnQoKS0+c2V0U2Nyb2xsVG9wKG5ld1RvcCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXgg
MjVhMmM5NmQ1MGFlNzI3YjYwMTUzOTY0ODk5ZTM3ODBjMzFjNzk5Yi4uZTVjN2NiN2M0NmNjODIy
YWIwMTVjMDcxMDBmMzYyYjRjZmYwZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtNTcsOCArNTcsOCBA
QCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQg
c2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9s
bFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3Zl
cnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBjb25zdCBT
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKSBvdmVycmlkZTsKICAgICBib29sIHNjcm9sbChTY3Jv
bGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50ID0gbnVsbHB0ciwgUmVuZGVyQm94KiBzdGFydEJveCA9IG51bGxw
dHIsIGNvbnN0IEludFBvaW50JiB3aGVlbEV2ZW50QWJzb2x1dGVQb2ludCA9IEludFBvaW50KCkp
IGZpbmFsOwogICAgIGJvb2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9wRWxl
bWVudCA9IDApIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9E
T00vRE9NSFRNTC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MLm1tCmlu
ZGV4IDg1ODRjMjMxZmVmOGM4ZDhiNzA2ZThmOTZlZDA4ZDczODg1M2RkNTAuLjEzMjIxZTc4ZjU5
NWYzNzljMDUxZjE1YmYwYjQ2M2JhMGI3MTMzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0RPTS9ET01IVE1MLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RP
TS9ET01IVE1MLm1tCkBAIC0xMTMsNyArMTEzLDEwIEBAIC0gKHZvaWQpc2V0U2Nyb2xsWE9mZnNl
dDooaW50KXggc2Nyb2xsWU9mZnNldDooaW50KXkgYWRqdXN0Rm9ySU9TQ2FyZXQ6KEJPT0wpYWRq
CiAgICAgYXV0byogbGF5ZXIgPSBkb3duY2FzdDxXZWJDb3JlOjpSZW5kZXJCb3g+KCpyZW5kZXJl
cikubGF5ZXIoKTsKICAgICBpZiAoYWRqdXN0Rm9ySU9TQ2FyZXQpCiAgICAgICAgIGxheWVyLT5z
ZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgbGF5ZXItPnNjcm9s
bFRvT2Zmc2V0KFdlYkNvcmU6OlNjcm9sbE9mZnNldCh4LCB5KSwgV2ViQ29yZTo6U2Nyb2xsVHlw
ZTo6UHJvZ3JhbW1hdGljLCBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKKwor
ICAgIGF1dG8gc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zID0gV2ViQ29yZTo6U2V0U2Nyb2xsUG9z
aXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlv
bk9wdGlvbnMuY2xhbXBpbmcgPSBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkOwor
ICAgIGxheWVyLT5zY3JvbGxUb09mZnNldChXZWJDb3JlOjpTY3JvbGxPZmZzZXQoeCwgeSksIHNl
dFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7CiAgICAgaWYgKGFkanVzdEZvcklPU0NhcmV0KQogICAg
ICAgICBsYXllci0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGJmYzIwNWQ2ZTU2MWMwZmE2NDE3YjM2
NWIzODg0YWVmMTU1MGZhMTQuLjFhOGZjMTk4NWI0MzZmYjUxYTYzMzczYjM3MmZjMzQ2ZWE4NzQx
ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIx
LTAxLTExICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAg
ICBTY3JvbGwtc25hcCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1h
dGljIHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ1MzMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3Rh
dGlvbnMgZm9yIG5ld2x5IHBhc3NpbmcgdGVzdHMgYW5kIHRlc3RzIHRoYXQgbm93CisgICAgICAg
IGZhaWwgaW4gYSBkaWZmZXJlbnQgd2F5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
LW1hcmdpbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLWFmdGVyLXJlbGF5b3V0L2FkZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc25hcC1hZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC1hZnRlci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmlu
Zy1hZGQtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1vdmUt
c2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8t
dHJhbnNmb3JtZWQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2li
bGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdp
bi15LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
dG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25z
LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMS0wMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVzZSBVVEYtOCBlbmNvZGluZyBmb3IgZW1wdHkgbWFpbiByZXNvdXJjZSBs
b2FkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0CmluZGV4IGVi
ZDJiZTk0MDdmNDE1ZDA2ZWVkYmQ1OGIxMWNjMDhkNjE5MGE3ZjQuLmE0NWQyYWRjZGRmNmNmMDNk
ZjM5ODYzYzM2MzY1OTMzYjg4ZTI4MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9vdmVyZmxvd2luZy1z
bmFwLWFyZWFzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVh
cy1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgc25h
cCBwb3NpdGlvbiBpZiB0aGUgc25hcCBhcmVhIGRvZXNuJ3QgY292ZXIgdGhlIHNuYXBwb3J0IG9u
IHguIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDEwCi1QQVNTIFNuYXBzIHRv
IHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBv
biB4IG9uIHRoZSByaWdodCBib3JkZXIuCi1QQVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9u
IGlmIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRoZSBsZWZ0IGJv
cmRlci4KLUZBSUwgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQw
MCkgYW5kIG5leHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQo
NTAwKSBvbiB4LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLUZBSUwg
U25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQwMCkgYW5kIG5leHQo
ODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQoNTAwKSBvbiB5LiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLVBBU1MgU25hcCB0byBjdXJy
ZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRo
ZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHggYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVu
IHRoZSBwcmV2aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0
KDUwMCkuCi1QQVNTIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2ggaXMgYSB2
YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9ydCBvbiB5
IGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoODAwKSBhbmQgbmV4dCgxNDAw
KSBpcyBsYXJnZXIgdGhhbiBzbmFwcG9ydCg1MDApLgotUEFTUyBTbmFwIHRvIGN1cnJlbnQgc2Ny
b2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAg
YXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVudCBzbmFw
IHBvc2l0aW9ucy4KLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBp
cyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0
IG9uIHkgYW5kIHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuCi1QQVNTIERv
bid0IHNuYXAgYmFjayBldmVuIGlmIHNjcm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlv
bnMgd2hpY2ggYXJlIG91dHNpZGUgb2YgdGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRh
cmdldCBlbGVtZW50IGNvdmVycyB0aGUgc25hcG9ydAotRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Ny
b2xsIHBvc2l0aW9uIG9uIHggYXMgdGhlIGFyZWEgaXMgY292ZXJpbmcgeCBheGlzLkhvd2V2ZXIs
IHdlIHNuYXAgdG8gdGhlIHNwZWNpZmllZCBzbmFwIHBvc2l0aW9uIG9uIHkgYXMgdGhlIGFyZWEg
aXMgbm90IGNvdmVyaW5nIHkgYXhpcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBn
b3QgMTAwCitQQVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEg
ZG9lc24ndCBjb3ZlciB0aGUgc25hcHBvcnQgb24geC4KK0ZBSUwgU25hcHMgdG8gdGhlIHNuYXAg
cG9zaXRpb24gaWYgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhl
IHJpZ2h0IGJvcmRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjcxNSBidXQgZ290IDIwMAor
RkFJTCBTbmFwcyB0byB0aGUgc25hcCBwb3NpdGlvbiBpZiB0aGUgc25hcCBhcmVhIGNvdmVycyB0
aGUgc25hcHBvcnQgb24geCBvbiB0aGUgbGVmdCBib3JkZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDIwMCBidXQgZ290IDI3MTUKK1BBU1MgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4g
dGhlIHByZXZpb3VzKDQwMCkgYW5kIG5leHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVy
IHRoYW4gc25hcHBvcnQoNTAwKSBvbiB4LgorUEFTUyBTbmFwcyBpZiB0aGUgZGlzdGFuY2UgYmV0
d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlzIHNt
YWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9uIHkuCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3Jv
bGwgcG9zaXRpb24gd2hpY2ggaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBh
cmVhIGNvdmVycyBzbmFwcG9ydCBvbiB4IGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJl
dmlvdXMoODAwKSBhbmQgbmV4dCgxNDAwKSBpcyBsYXJnZXIgdGhhbiBzbmFwcG9ydCg1MDApLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCA5MDAgYnV0IGdvdCA4MDAKK0ZBSUwgU25hcCB0byBjdXJy
ZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRo
ZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVu
IHRoZSBwcmV2aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0
KDUwMCkuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDkwMCBidXQgZ290IDgwMAorRkFJTCBTbmFw
IHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlv
biwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8g
c3Vic2VxdWVudCBzbmFwIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUwMCBi
dXQgZ290IDE0MDAKK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBp
cyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0
IG9uIHkgYW5kIHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDE1MDAgYnV0IGdvdCAxNDAwCitGQUlMIERvbid0IHNuYXAgYmFjayBl
dmVuIGlmIHNjcm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlvbnMgd2hpY2ggYXJlIG91
dHNpZGUgb2YgdGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRhcmdldCBlbGVtZW50IGNv
dmVycyB0aGUgc25hcG9ydCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNzE1IGJ1dCBnb3QgMjIw
MAorRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9uIHggYXMgdGhlIGFyZWEg
aXMgY292ZXJpbmcgeCBheGlzLkhvd2V2ZXIsIHdlIHNuYXAgdG8gdGhlIHNwZWNpZmllZCBzbmFw
IHBvc2l0aW9uIG9uIHkgYXMgdGhlIGFyZWEgaXMgbm90IGNvdmVyaW5nIHkgYXhpcy4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTAgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3Jv
bGwtbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4
dAppbmRleCAzNzk1NjE4ZmUzYWI2NWFkMGRkZjI0MjVhMTE5Yjc4ODNjMTlhYTFiLi4yMjMzMWJj
NmZiNWMxMWViOGY1NGY3ZDAwMDk0NGQwOWI1YjZiZWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Ny
b2xsLW1hcmdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRq
dXN0ZWQgYnkgc2Nyb2xsLW1hcmdpbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdv
dCAwCi1GQUlMIHNjcm9sbC1tYXJnaW4gZG9lc24ndCBjb250cmlidXRlIHRvIHRoZSBzbmFwIHBv
c2l0aW9uIG9mIHRoZSBlbGVtZW50IGlmIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2Nyb2xsIHBvcnQg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1MAorUEFTUyBTbmFwcyB0byB0aGUg
cG9zaXRpb25zIGFkanVzdGVkIGJ5IHNjcm9sbC1tYXJnaW4KK1BBU1Mgc2Nyb2xsLW1hcmdpbiBk
b2Vzbid0IGNvbnRyaWJ1dGUgdG8gdGhlIHNuYXAgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgaWYg
aXQncyBvdXRzaWRlIG9mIHRoZSBzY3JvbGwgcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Ny
b2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1wYWRkaW5nLWV4cGVjdGVk
LnR4dAppbmRleCAwZjc4MzViMDYwZWVhYzRmNTM5Y2U3MDAwNDllMWIwZDQ0OGIzZTY3Li4xM2Y2
MzE2Yzk2YjNiYmEzMWNiNjA2ZGYyYTk5ZmU5NmYxZmQyOTJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgU25hcHMgdG8gdGhlIHBvc2l0aW9u
cyBhZGp1c3RlZCBieSBzY3JvbGwtcGFkZGluZyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAg
YnV0IGdvdCAwCitQQVNTIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkgc2Nyb2xs
LXBhZGRpbmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0CmluZGV4IGIwNmJkMzU5
Yzc0NzVlMGE3MzllOGEyMDNjMjVhMzlmMDg5ZTc5ZDEuLmNmMTEzYjEzMjU0YjQzN2MyMDQ5Yzk1
MmI0MTY2Y2QyOTQxNWM1YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdG9wLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQKQEAg
LTEsNiArMSw2IEBACiAKLUZBSUwgQSBzY3JvbGwgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5k
IGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25h
cC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAot
RkFJTCBBIHNjcm9sbCB3aXRoIGludGVuZGVkIGVuZCBwb3NpdGlvbiBzaG91bGQgYWx3YXlzIGNo
b29zZSB0aGUgY2xvc2VzdCBzbmFwIHBvc2l0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbC1z
bmFwLXN0b3AgdmFsdWUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDMwMAot
RkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgc25hcHBpbmcgYXhpcyB3aXRoIGlu
dGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAg
YXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwIGJ1dCBnb3QgMTcxNQotRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUg
bm9uLXNuYXBwaW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlv
biBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdh
eXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAorRkFJTCBBIHNjcm9s
bCB3aXRoIGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFz
cyBhIHNuYXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMjAwCitQQVNTIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQg
ZW5kIHBvc2l0aW9uIHNob3VsZCBhbHdheXMgY2hvb3NlIHRoZSBjbG9zZXN0IHNuYXAgcG9zaXRp
b24gcmVnYXJkbGVzcyBvZiB0aGUgc2Nyb2xsLXNuYXAtc3RvcCB2YWx1ZS4KK0ZBSUwgQSBzY3Jv
bGwgb3V0c2lkZSBib3VuZHMgaW4gdGhlIHNuYXBwaW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJl
Y3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBz
Y3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQg
Z290IDIwMAorRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgbm9uLXNuYXBwaW5n
IGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQgbm90
IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDIwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1leHBl
Y3RlZC50eHQKaW5kZXggYWM3YmJlYzY1MmUwZjJlOWNiYWNhMTQ5YmNiNWQ1OWNkNWQxMDQ2Mi4u
ZDIyYWM4YWMzY2FjMmQzMGM5NDdjNzQxZDVkZDE5MWEyZmM2NDU3YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC10eXBlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBtYW5kYXRvcnkgc2Ny
b2xsLXNuYXAtdHlwZSBzaG91bGQgc25hcCBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHZpc2li
bGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA2MjUKK1BBU1MgbWFuZGF0
b3J5IHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkIHNuYXAgYXMgbG9uZyBhcyB0aGUgZWxlbWVudCBp
cyB2aXNpYmxlLgogUEFTUyBwcm94aW1pdHkgc2Nyb2xsLXNuYXAtdHlwZSBzaG91bGRuJ3Qgc25h
cCBpZiB0aGUgc25hcCBwb3NpdGlvbiBpcyB0b28gZmFyIGF3YXkuCi1GQUlMIHByb3hpbWl0eSBz
Y3JvbGwtc25hcC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNsb3Nl
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTk1CitQQVNTIHByb3hpbWl0
eSBzY3JvbGwtc25hcC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNs
b3NlLgogUEFTUyBub25lIHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkbid0IHNuYXAuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiYzE4ZjZkYWVi
ZTEyN2Q2MzJjYWZhNmVhMjI5ZmFlMWY5ZjVkZjUuLjgxOTYzMzczYzViMDgwZDY3NmZkNTk1M2Nm
YmQzNGY0ZTZiOTZlZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVj
dGVkLnR4dApAQCAtMSw0MCArMSw0MCBAQAogCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBz
Y3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVm
dCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgODAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAs
IDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xs
Qnkoe2xlZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Ny
b2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitGQUlMIGFz
c2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIHZpZXdwb3J0
LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFu
ZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMg
b24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZp
bmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiB2aWV3cG9ydC1k
ZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiB3aW5kb3cg
bGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4
MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwg
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24g
c2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5MDB9IG9uIGRpdiBsYW5kcyBvbiAo
MCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAorUEFTUyBh
c3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5MDB9IG9uIGRpdiBsYW5k
cyBvbiAoMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ig
e3RvcDogOTAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgwLCAxMDAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9sbFRv
KHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYg
bGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKK1BBU1Mgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKQor
UEFTUyBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApCiBGQUlM
IHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMg
b24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZB
SUwgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5k
cyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAog
RkFJTCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDAsIDEwMDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe3Rv
cDogOTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxU
b3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgYXNzaWduIHNj
cm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9w
OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA5MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ig
e2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKK0ZBSUwg
YXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9
IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA5
MDAsIHRvcDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKQorUEFTUyBzY3JvbGxC
eSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKIEZB
SUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gdmll
d3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0
b3A6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6
IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xs
VG9wIGZvciB7bGVmdDogODAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24gc2Ny
b2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6IC0xMDB9IG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAt
MTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9u
IGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
ODAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK0ZBSUwgYXNzaWduIHNj
cm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSBvbiB2aWV3
cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAxMDAwIGJ1dCBnb3QgMAorUEFTUyBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0x
MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHdpbmRv
dyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290
IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFu
ZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAK
LUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0
b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDMyMTUKLUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRv
cCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1l
bnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdv
dCAzMjE1Ci1GQUlMIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxh
bmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMzIx
NQotRkFJTCBzY3JvbGxCeSh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBv
biAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BB
U1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6
IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK0ZBSUwgYXNzaWduIHNjcm9sbExlZnQg
YW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRl
ZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkg
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogMTAwMDAsIHRv
cDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6
IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9u
ICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5n
IGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAg
YnV0IGdvdCAzMjE1CiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24g
d2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgMzIxNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5n
LXNuYXAtYXJlYS13aGlsZS1zbmFwcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L2FkZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQKaW5k
ZXggZWQzYjI4MTVkNWFlMWRmODMxY2YzOWVjMWVjNTY5NDk1ZTk5OTY2My4uNDNiNjYwN2QyMDNk
MDI1Y2EyYTZhNWNlNTBhNmRlODEyYzhhYzkzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0
ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAtYXJlYS13aGlsZS1zbmFwcGVkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNu
YXBwZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIEFkZGluZyBhIG5ldyBz
bmFwIGFyZWEgd2hpbGUgYWxyZWFkeSBzbmFwcGVkIHNob3VsZCBub3QgbWFrZSB0aGUgc2Nyb2xs
ZXIgc25hcCB0byBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAorUEFT
UyBBZGRpbmcgYSBuZXcgc25hcCBhcmVhIHdoaWxlIGFscmVhZHkgc25hcHBlZCBzaG91bGQgbm90
IG1ha2UgdGhlIHNjcm9sbGVyIHNuYXAgdG8gaXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNjcm9sbC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNjcm9sbC1zbmFwLWFsaWduLWV4
cGVjdGVkLnR4dAppbmRleCA1ZmNhMTZjMmMxZDg0Y2M5MTJjNGEzNjc2NmNjMjY3N2VjYjNjMmE1
Li43ZmY2ZGM4Njk0MDE5MmZmY2UyZTY5MzIwZjQ5Y2JjMjhiYmU3ZWIwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Nyb2xs
LXNuYXAtYWxpZ24tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIENoYW5naW5n
IHRoZSBjdXJyZW50IHRhcmdldCdzIHNuYXAgYWxpZ25tZW50IHNob3VsZCBtYWtlIHRoZSBzY3Jv
bGxlciByZXNuYXAgdG8gaXQgZXZlbiBpZiBhbm90aGVyIHNuYXAgcG9zaXRpb24gaXMgY2xvc2Vy
IHRvIHRoZSBjdXJyZW50IG9mZnNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdv
dCAwCi1GQUlMIFJlbW92aW5nIHRoZSBjdXJyZW50IHRhcmdldCdzIHNuYXAgYWxpZ25tZW50IHNo
b3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8gYSBuZXcgc25hcCBhcmVhLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCitQQVNTIENoYW5naW5nIHRoZSBjdXJyZW50
IHRhcmdldCdzIHNuYXAgYWxpZ25tZW50IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAg
dG8gaXQgZXZlbiBpZiBhbm90aGVyIHNuYXAgcG9zaXRpb24gaXMgY2xvc2VyIHRvIHRoZSBjdXJy
ZW50IG9mZnNldAorUEFTUyBSZW1vdmluZyB0aGUgY3VycmVudCB0YXJnZXQncyBzbmFwIGFsaWdu
bWVudCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGEgbmV3IHNuYXAgYXJlYS4K
IFBBU1MgQ2hhbmdpbmcgYW4gZWxlbWVudCBzbmFwIGFsaWdubWVudCBmcm9tIG5vbmUgdG8gc3Rh
cnQgc2hvdWxkIG1ha2UgdGhlc2Nyb2xsZXIgcmVzbmFwLgogUEFTUyBDaGFuZ2luZyBhbiBlbGVt
ZW50IHNuYXAgYWxpZ25tZW50IGZyb20gbm9uZSB0byBzdGFydCBieSBhZGRpbmcgYSBjbGFzcyBz
aG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1hZnRlci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGVmYjY3YWM3NjQ3N2YxYzExOGNmMDJiNzgzNzEwYTkzOTAyYmQ0NTguLmJmNDgwZjJlYTc5
NmQ3NGZmNzE3MGRhMzYzY2RmYzZhMGM3MWIwZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFm
dGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNiBAQAogCi1GQUlMIE1vdmluZyB0aGUgY3VycmVudCBzbmFwIHRhcmdldCBzaG91
bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAgYnV0IGdvdCAwCi1GQUlMIENoYW5naW5nIHRoZSBsYXlvdXQgb2Ygb3RoZXIgZWxlbWVu
dHMgc2hvdWxkIGJlIGFibGUgdG8gY2F1c2UgcmVzbmFwcGluZyB0byB0aGUgdGFyZ2V0LiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCi1GQUlMIFRyYW5zZm9ybWluZyB0aGUg
Y3VycmVudCBzbmFwIHRhcmdldCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGl0
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCi1GQUlMIEFwcGx5aW5nIHR3
byBwcm9wZXJ0eSBjaGFuZ2VzIHRoYXQgZG8gbm90IGNoYW5nZSB0aGUgdmlzdWFsIG9mZnNldCBv
ZiB0aGUgdGFyZ2V0IHNob3VsZCBub3QgY2hhbmdlIHRoZSBzY3JvbGwgb2Zmc2V0LiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAwCitQQVNTIE1vdmluZyB0aGUgY3VycmVudCBz
bmFwIHRhcmdldCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGl0LgorUEFTUyBD
aGFuZ2luZyB0aGUgbGF5b3V0IG9mIG90aGVyIGVsZW1lbnRzIHNob3VsZCBiZSBhYmxlIHRvIGNh
dXNlIHJlc25hcHBpbmcgdG8gdGhlIHRhcmdldC4KK1BBU1MgVHJhbnNmb3JtaW5nIHRoZSBjdXJy
ZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8gaXQuCitQ
QVNTIEFwcGx5aW5nIHR3byBwcm9wZXJ0eSBjaGFuZ2VzIHRoYXQgZG8gbm90IGNoYW5nZSB0aGUg
dmlzdWFsIG9mZnNldCBvZiB0aGUgdGFyZ2V0IHNob3VsZCBub3QgY2hhbmdlIHRoZSBzY3JvbGwg
b2Zmc2V0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9yZW1vdmUt
Y3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQv
cmVtb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dAppbmRleCA1NWNhMDYzNjZkM2E4OWJk
OTkzMjQ5ZGEzODkxNDczNzE5ZDgzMTRiLi5lZGYxY2M0OTAzZGYyOWU3ODJiMDY0ZmMxZTg3ZGRj
ZmE0NTZiMzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9yZW1vdmUt
Y3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5
b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAK
LUZBSUwgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNj
cm9sbGVyIHNuYXAgdG8gYSBuZXcgdGFyZ2V0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAg
YnV0IGdvdCAwCitQQVNTIFJlbW92aW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBt
YWtlIHRoZSBzY3JvbGxlciBzbmFwIHRvIGEgbmV3IHRhcmdldC4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1jb250YWluZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1jb250YWluZXItZXhwZWN0
ZWQudHh0CmluZGV4IDIwZWE0MzQxZWUxY2ZmN2M3Yjk0NDhmMDYzODA4OGIyYWYyOTI5MTIuLmVh
OTUxNmQ3YjBlNDYwYTc2NDgyODg2YmI0N2MwYjA5YWRhZDZkMjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xsLWNvbnRhaW5lci1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgTWFraW5nIGFuIGVsZW1lbnQgc2Nyb2xs
YWJsZSBzaG91bGQgbWFrZSBpdCBjYXB0dXJlIHRoZSBjb3JyZWN0IGRlc2NlbmRhbnQgc25hcCBh
cmVhcycgc25hcCBwb2ludHMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDUwMCBidXQgZ290IDEw
Ci1GQUlMIEF0dGFjaGluZyBhIG5ldyBlbGVtZW50IHRoYXQgaXMgc2Nyb2xsYWJsZSBzaG91bGQg
YXNzaWduIHRoZSBjb3JyZWN0IHNuYXAgYXJlYXMgdG8gaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDMwMCBidXQgZ290IDEwCitQQVNTIE1ha2luZyBhbiBlbGVtZW50IHNjcm9sbGFibGUgc2hv
dWxkIG1ha2UgaXQgY2FwdHVyZSB0aGUgY29ycmVjdCBkZXNjZW5kYW50IHNuYXAgYXJlYXMnIHNu
YXAgcG9pbnRzLgorUEFTUyBBdHRhY2hpbmcgYSBuZXcgZWxlbWVudCB0aGF0IGlzIHNjcm9sbGFi
bGUgc2hvdWxkIGFzc2lnbiB0aGUgY29ycmVjdCBzbmFwIGFyZWFzIHRvIGl0LgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1vdmUtc2Nyb2xsLWNvbnRhaW5lci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1vdmUtc2Nyb2xsLWNv
bnRhaW5lci1leHBlY3RlZC50eHQKaW5kZXggYjliOGVhYmY3ZmNhZWVkYzcwZTUzMTcyODU5ZWZh
ZGE2Mjg2NDkzMi4uOGJlM2RiMTFlZGM5ZDI5Y2RjNmU4YmIwNGMxMjEwNTcwYmMwNDA4ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctcmVtb3ZlLXNjcm9sbC1jb250YWlu
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1z
Y3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBNYWtp
bmcgYSBzbmFwIGNvbnRhaW5lciBub3Qgc2Nyb2xsYWJsZSBzaG91bGQgcHJvbW90ZSB0aGUgbmV4
dCBzY3JvbGxhYmxlIGFuY2VzdG9yIHRvIGJlY29tZSBhIHNuYXAgY29udGFpbmVyLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAzMDAgYnV0IGdvdCAzMTAKK1BBU1MgTWFraW5nIGEgc25hcCBjb250
YWluZXIgbm90IHNjcm9sbGFibGUgc2hvdWxkIHByb21vdGUgdGhlIG5leHQgc2Nyb2xsYWJsZSBh
bmNlc3RvciB0byBiZWNvbWUgYSBzbmFwIGNvbnRhaW5lci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWlubGluZS1ibG9j
ay1leHBlY3RlZC50eHQKaW5kZXggNDU1MDNhNjA1ZjZhN2JiYmU3ODFjOTdkYjY1YzA5MzA5NDY4
OGNkMS4uNmRjNGQ4YzhiOTdmM2Y2MTVkZTE3N2I2MmIyNGIwYzkwNzk4NWIwMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDEwIEBACiAKLUZBSUwgU25h
cHMgY29ycmVjdGx5IGZvciBob3Jpem9udGFsLXRiIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwt
c25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNv
cnJlY3RseSBvbiB4IGV4cGVjdGVkIDMwMCBidXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5
IGZvciB2ZXJ0aWNhbC1sciB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IGVu
ZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBl
eHBlY3RlZCAxMTUgYnV0IGdvdCAwCi1GQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGljYWwt
cmwgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdu
bWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgLTMxNSBi
dXQgZ290IC01MDAKK0ZBSUwgU25hcHMgY29ycmVjdGx5IGZvciBob3Jpem9udGFsLXRiIHdyaXRp
bmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNz
ZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIDMwMCBidXQgZ290IDEx
NQorUEFTUyBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLWxyIHdyaXRpbmcgbW9kZSB3aXRo
ICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQKK0ZBSUwgU25hcHMgY29y
cmVjdGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxp
Z246IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkg
b24geCBleHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTQ4NQogRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9y
IGhvcml6b250YWwtdGIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBzdGFy
dCBlbmQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhw
ZWN0ZWQgMTE1IGJ1dCBnb3QgMAogRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLWxy
IHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBhbGlnbm1l
bnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIDMwMCBidXQg
Z290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGUg
d2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVh
bHM6IGFsaWducyBjb3JyZWN0bHkgb24geSBleHBlY3RlZCAxNjUgYnV0IGdvdCAwCi1GQUlMIFNu
YXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRsJyB3aXRoICdzY3JvbGwtc25hcC1hbGln
bjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBv
biB5IGV4cGVjdGVkIDE2NSBidXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5IGZvciAnZGly
ZWN0aW9uOiBydGwnIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBzdGFydCBlbmQnIGFsaWdubWVu
dCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgLTMxNSBidXQg
Z290IC01MDAKK0ZBSUwgU25hcHMgY29ycmVjdGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1v
ZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9l
cXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBleHBlY3RlZCAtNTAwIGJ1dCBnb3QgLTMwMAor
RkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNu
YXAtYWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3Jy
ZWN0bHkgb24geCBleHBlY3RlZCAtNTAwIGJ1dCBnb3QgLTMwMAorRkFJTCBTbmFwcyBjb3JyZWN0
bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IGVu
ZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBleHBlY3Rl
ZCAtMzE1IGJ1dCBnb3QgLTQ4NQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by10cmFuc2Zv
cm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3JtZWQtdGFy
Z2V0LWV4cGVjdGVkLnR4dAppbmRleCBjY2ZjNTU5YTU2ZWI0NGJjN2E0MzNlMWYxOTM4YjdhODE3
NThiYWNmLi5iMGQzYTdhN2ZiOWUyMzgwZmY1NDBkZTk3MjdiNzA1ZDEzNDFiMmE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC10by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw1IEBACiAKLUZBSUwgU25hcHMgdG8gdGhlIHRyYW5zZm9ybWVkIHNuYXAgc3RhcnQgcG9zaXRp
b24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzUwIGJ1dCBnb3QgMTAKLUZBSUwgU25hcHMgdG8g
dGhlIHRyYW5zZm9ybWVkIHNuYXAgZW5kIHBvc2l0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDUwIGJ1dCBnb3QgMTAKLUZBSUwgU25hcHMgdG8gdmlzaWJsZSB0b3AgbGVmdCBwb3NpdGlvbiBv
ZiB0aGUgdHJhbnNmb3JtZWQgYm94IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
MAorUEFTUyBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQgc25hcCBzdGFydCBwb3NpdGlvbgorUEFT
UyBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQgc25hcCBlbmQgcG9zaXRpb24KK1BBU1MgU25hcHMg
dG8gdmlzaWJsZSB0b3AgbGVmdCBwb3NpdGlvbiBvZiB0aGUgdHJhbnNmb3JtZWQgYm94CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQudHh0CmluZGV4IDQ3
NDBhODMwZmIxNzVlY2IyOWU3Y2M3MjE4Zjk0YjMyNzk2ZjYxZWYuLjhiMGNhNzhlODgzMjgwNjk4
MjMwZWRjOTI1MWZmMjNhMDQ0ZGQ1YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2li
bGUtYXJlYXMtYm90aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1h
cmVhcy1ib3RoLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBPbmx5IHNuYXAg
dG8gdmlzaWJsZSBhcmVhcyBpbiB0aGUgY2FzZSB3aGVyZSB0YWtpbmcgdGhlIGNsb3Nlc3Qgc25h
cCBwb2ludCBvZiAgIGVhY2ggYXhpcyBkb2VzIG5vdCBzbmFwIHRvIGEgdmlzaWJsZSBhcmVhIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCA1MDAKK0ZBSUwgT25seSBzbmFwIHRvIHZp
c2libGUgYXJlYXMgaW4gdGhlIGNhc2Ugd2hlcmUgdGFraW5nIHRoZSBjbG9zZXN0IHNuYXAgcG9p
bnQgb2YgICBlYWNoIGF4aXMgZG9lcyBub3Qgc25hcCB0byBhIHZpc2libGUgYXJlYSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgODAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLWJvdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
dG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4tYm90aC1leHBlY3RlZC50eHQKaW5kZXggMzY0MDAzNjI0
ZTFhMjg0NGI2NDQ1OGRmMDI2OTU4NDZlMDJjYWM3NC4uNTRhZGZmNTkxZWVkMmE3NDA5OWVhNDQw
ODlkMTM5NmJlZmZmNjdkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVh
cy1tYXJnaW4tYm90aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1h
cmVhcy1tYXJnaW4tYm90aC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgU25h
cCB0byBhcmVhIHN1Y2ggdGhhdCBvbmx5IHRoZSBzY3JvbGwgbWFyZ2luIGZyb20gYm90aCBheGVz
JyBhcmVhcyBhcmUgdmlzaWJsZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA1
MDAKK1BBU1MgU25hcCB0byBhcmVhIHN1Y2ggdGhhdCBvbmx5IHRoZSBzY3JvbGwgbWFyZ2luIGZy
b20gYm90aCBheGVzJyBhcmVhcyBhcmUgdmlzaWJsZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi14LWF4aXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nu
YXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAxMjhm
OTVkZjQxMjBhMTgyMGY3MzNiMmQ1NTk5ZWRmZTdhMGMzNGE1Li42NmVhY2MxOWNmNDE3NTVmODc2
MTllNzBmNDVmMmRhMjBlYjhjM2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxl
LWFyZWFzLW1hcmdpbi14LWF4aXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZp
c2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAK
LUZBSUwgU2Nyb2xsIG1hcmdpbiBzaG91bGQgYmUgY29uc2lkZXJlZCB3aGVuIGNhbGN1bGF0aW5n
IHNuYXAgYXJlYSB2aXNpYmlsdHkgd2hpbGUgc25hcHBpbmcgb24gdGhlIHgtYXhpcyBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCA3MDAgYnV0IGdvdCA1MDAKK1BBU1MgU2Nyb2xsIG1hcmdpbiBzaG91
bGQgYmUgY29uc2lkZXJlZCB3aGVuIGNhbGN1bGF0aW5nIHNuYXAgYXJlYSB2aXNpYmlsdHkgd2hp
bGUgc25hcHBpbmcgb24gdGhlIHgtYXhpcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12
aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8t
dmlzaWJsZS1hcmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAzNjE3NzM3MDY2
M2RjMGVjNDAwZDQzOGMwYWRlYzRmZGUyZTVhZWI1Li5mNzUzY2NjMzgxM2M1Yjk5OWYzNDBmYmQx
ZGFhMWM3ODBmMDJjYTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFz
LW1hcmdpbi15LWF4aXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUt
YXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
U2Nyb2xsIG1hcmdpbiBzaG91bGQgYmUgY29uc2lkZXJlZCB3aGVuIGNhbGN1bGF0aW5nIHNuYXAg
YXJlYSB2aXNpYmlsdHkgd2hpbGUgc25hcHBpbmcgb24gdGhlIHktYXhpcyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCA3MDAgYnV0IGdvdCA1MDAKK1BBU1MgU2Nyb2xsIG1hcmdpbiBzaG91bGQgYmUg
Y29uc2lkZXJlZCB3aGVuIGNhbGN1bGF0aW5nIHNuYXAgYXJlYSB2aXNpYmlsdHkgd2hpbGUgc25h
cHBpbmcgb24gdGhlIHktYXhpcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxl
LWFyZWFzLXgtYXhpcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFz
LXgtYXhpcy1leHBlY3RlZC50eHQKaW5kZXggMTA5YzY0YzRlMGZiODljYWEyMjQ4ZDRkYzczZjgw
MzQyYWFhNDk5Yi4uZGFkMzk3NTA5MGE3YTFlZTM1Yjg2OTUzMmY1YjQ4MjhjMzU5MDcxNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhIG9uIFggYXhp
cywgZXZlbiB3aGVuIHRoZSBub24tdmlzaWJsZSBvbmVzIGFyZSBjbG9zZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgODAwIGJ1dCBnb3QgNTAwCitGQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFy
ZWEgb24gWCBheGlzLCBldmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNsb3NlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA3MDAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nu
YXAtdG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0CmluZGV4IDI1MmI3ZDI0OGQy
ZmYzNjAxOTU3MTdmNDVhMmJhYzQ5YjZmM2UwMjAuLjIwYzcwN2ZmOWQwODI5YzM2ZmQwM2I4YWQ5
YTk4YWExZjUxMjY4ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMt
eS1heGlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXkt
YXhpcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgT25seSBzbmFwIHRvIHZp
c2libGUgYXJlYSBvbiBZIGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZpc2libGUgb25lcyBhcmUg
Y2xvc2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290IDUwMAorRkFJTCBPbmx5
IHNuYXAgdG8gdmlzaWJsZSBhcmVhIG9uIFkgYXhpcywgZXZlbiB3aGVuIHRoZSBub24tdmlzaWJs
ZSBvbmVzIGFyZSBjbG9zZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAwIGJ1dCBnb3QgNzAw
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNoYWJsZS1zbmFwLXBvc2l0aW9ucy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGNiMjI5ODgyZGJkNDMxZmUwOWFkMzg1MTdlN2Y1MGExNDU1Y2MxZDMuLmQ1MzYwNzFlYWNm
ODgyODFiYjQ5ODgzMzhmMmNjOWIwODkxY2JiN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNo
YWJsZS1zbmFwLXBvc2l0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxl
LXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBTbmFw
cyB0byB0aGUgcG9zaXRpb25zIGRlZmluZWQgYnkgdGhlIGVsZW1lbnQgYXMgbXVjaCBhcyBwb3Nz
aWJsZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIFNuYXBzIHRv
IHRoZSBwb3NpdGlvbnMgZGVmaW5lZCBieSB0aGUgZWxlbWVudCBhcyBtdWNoIGFzIHBvc3NpYmxl
CiAK
</data>
<flag name="commit-queue"
          id="435070"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417371</attachid>
            <date>2021-01-11 05:21:32 -0800</date>
            <delta_ts>2021-01-12 05:38:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145330-20210111142130.patch</filename>
            <type>text/plain</type>
            <size>94527</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uZDBmZDAwY2MyNGQ3ZDk3YWY1YTQ0YzAyOGI1NDkz
YTZmNzFiNTgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsIHNuYXBwaW5n
IHdoZW4gc2Nyb2xsIHZpYSBET00gQVBJcy4gVGhpcyBjaGFuZ2UgYWxzbworICAgICAgICBpbnRy
b2R1Y2VzIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyB3aGljaCBob2xkcyBjb21tb24gcGFyYW1l
dGVycyBmb3IKKyAgICAgICAgb3BlcmF0aW9ucyB0aGF0IGZyb20gRE9NIHRoYXQgc2V0IHNjcm9s
bCBwb3NpdGlvbi4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnNjcm9sbEJ5KTogV2hlbiBjYWxsaW5nIHNjcm9sbFRvIG1hcmsgdGhhdCB0
aGlzIGNhbGwgaXMgYSAiZGlyZWN0aW9uYWwiCisgICAgICAgIHNjcm9sbCwgc28gdGhhdCBkaXJl
Y3Rpb25hbCBzY3JvbGwgc25hcHBpbmcgaXMgZG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbFRvKTogQWNjZXB0IHRoZSBuZXcgZW51bSBhcmd1bWVudCBtYXJraW5nIGRpcmVj
dGlvbmFsIHNjcm9sbAorICAgICAgICBhbmQgYWxzbyBwcm9wZXJseSBzZXQgdXAgdGhlIFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9s
bExlZnQpOiBVc2UgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuaDog
VXBkYXRlIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbEJ5IGNvbnN0KTogUGFzcyB0aGUg
bmV3IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBhcmd1bWVudAorICAgICAgICB0byBz
Y3JvbGxUby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8gY29uc3QpOiBB
Y2NlcHQgdGhlIG5ldyBhcmd1bWVudCBhbmQgYWxzbyBwcm9wZXJseSBpbnN0YW50aWF0ZQorICAg
ICAgICBhIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyBhcmd1bWVudCBkb2luZyB0aGUgc2Nyb2xs
IG9wZXJhdGlvbi4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOiBVcGRhdGUgbWV0aG9kIGRl
ZmluaXRpb25zLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBY2NlcHQgdGhlIG5ldyBTZXRTY3Jv
bGxQb3NpdGlvbk9wdGlvbnMgYXJndW1lbnQKKyAgICAgICAgYW5kIGFsc28gcHJvcGVybHkgc25h
cCB0aGUgZGVzdGluYXRpb24gbG9jYXRpb24gYmFzZWQgb24gc2Nyb2xsIHNuYXBwaW5nIHJ1bGVz
LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5pdGlvbi4K
KyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVz
ZVNtb290aFNjcm9sbGluZyk6IE1vdmUgdGhlIGNoZWNrIHdoaWNoIHRyYW5zbGF0ZXMgdGhlIHNj
cm9sbGluZ0VsZW1lbnQgdG8gdGhlCisgICAgICAgIHJvb3QgZG9jdW1lbnQgZWxlbWVudCBoZXJl
IHRvIGF2b2lkIGFzIG11Y2ggcmVwZXRpdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKTog
Q2hhbmdlIHRvIHJlZmxlY3QgcmVuYW1lIG9mIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGly
ZWN0aW9uYWxTbmFwcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjphZGp1
c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKTogQWRkZWQgdGhpcyBoZWxwZXIgd2hp
Y2ggZG9lcworICAgICAgICBzbmFwcGluZyBpbiBib3RoIHRoZSB4IGFuZCB0aGUgeSBheGlzLgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5p
dGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDogQWRkZWQgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIGFuZCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QuCisgICAg
ICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRp
Yyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpj
cmVhdGVVc2VyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xhbXBlZCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpzZXRBbmltYXRlZCk6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjplbmFibGVEaXJlY3Rpb25h
bFNjcm9sbFNuYXBwaW5nKTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0
aW9uKTogVXBkYXRlIHRvIHJlZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIuaDogUmVuYW1lIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9y
RGlyZWN0aW9uYWxTbmFwcGluZyB0bworICAgICAgICBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbiBh
bmQgYWxsb3cgaXQgdG8gZG8gbm9uLWRpcmVjdGlvbmFsIHNuYXBwaW5nLgorICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFs
U25hcHBpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KTogVXBkYXRlIHRvIHJl
ZmxlY3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpzZXRTY3JvbGxUb3ApOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENvbWJpbmUgd2l0aCBzY3Jv
bGxUb09mZnNldCBhbmQgYWxzbyBzdGFydCBkb2luZworICAgICAgICBzbmFwcGluZyBkdXJpbmcg
dGhpcyBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZSk6IENyZWF0ZSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgd2hlbiBkb2luZwor
ICAgICAgICBzY3JvbGxpbmcgb3BlcmF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5oOiBVcGRhdGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxpc3RCb3g6OnNldFNjcm9sbExlZnQpOiBVcGRhdGUgdG8gdXNlIFNldFNjcm9sbFBvc2l0aW9u
T3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcCk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3Ap
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
Lmg6IERpdHRvLgorCiAyMDIxLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVXNlIFVURi04IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZTEwYjRkYjAzMTA2ZTY4ZjU0MTIzYmNl
ODY2YWU2YjQzMDkzM2JlOC4uMGQ1ZmQ2MmM5NWE1ZDY3ZmE4NGUzZjk4YjM1Njg0ZDY0N2EzNjQ1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAx
LTExICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBT
Y3JvbGwtc25hcCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGlj
IHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ1MzMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERPTS9ET01IVE1MLm1tOgorICAg
ICAgICAoLVtET01IVE1MRWxlbWVudCBzZXRTY3JvbGxYT2Zmc2V0OnNjcm9sbFlPZmZzZXQ6YWRq
dXN0Rm9ySU9TQ2FyZXQ6XSk6IFVwZGF0ZSB0byB1c2UKKyAgICAgICAgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zLgorCiAyMDIwLTEyLTE5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBGcmFtZUxvYWRlcjo6YXJlUGx1Z2luc0VuYWJsZWQgdG8gRnJhbWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCA5Y2FhM2M4ZTZlZjdmNmVkOWYyZDYzM2Q3NDI3N2FjYzEz
OWEyM2I4Li4xZjI3MTllZDk3MzMzNmJiNGQwODE0ODAxM2VlZWZlMmE1NDY1ZGYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC05NDgsNyArOTQ4LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxC
eShjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMpCiAgICAgU2Nyb2xsVG9PcHRpb25zIHNj
cm9sbFRvT3B0aW9ucyA9IG5vcm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1Rv
KG9wdGlvbnMsIDAsIDApOwogICAgIHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgKz0gc2Ny
b2xsTGVmdCgpOwogICAgIHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSArPSBzY3JvbGxUb3Ao
KTsKLSAgICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMpOworICAgIHNjcm9sbFRvKHNjcm9sbFRv
T3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlv
bk1ldGhvZDo6RGlyZWN0aW9uYWwpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5KGRvdWJs
ZSB4LCBkb3VibGUgeSkKQEAgLTk1Niw3ICs5NTYsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5
KGRvdWJsZSB4LCBkb3VibGUgeSkKICAgICBzY3JvbGxCeShTY3JvbGxUb09wdGlvbnMoeCwgeSkp
OwogfQogCi12b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0
aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNv
bnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIFNj
cm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBzbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QpCiB7
CiAgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5h
YmxlZCgpKSB7CiAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHRoZSByb290IGVsZW1lbnQg
YW5kIGRvY3VtZW50IGlzIGluIHF1aXJrcyBtb2RlLCB0ZXJtaW5hdGUgdGhlc2Ugc3RlcHMuCkBA
IC05NzUsNyArOTc1LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09w
dGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogICAgICAgICBpZiAoIXdp
bmRvdykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB3aW5kb3ctPnNjcm9sbFRvKG9w
dGlvbnMsIGNsYW1waW5nKTsKKyAgICAgICAgd2luZG93LT5zY3JvbGxUbyhvcHRpb25zLCBjbGFt
cGluZywgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtOTg1LDE2ICs5ODUsMjQgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3Jv
bGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogICAgIGlmICgh
cmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5oYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgU2Nyb2xsVG9PcHRpb25zIHNjcm9sbFRvT3B0aW9ucyA9IG5vcm1hbGl6ZU5vbkZp
bml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1RvKG9wdGlvbnMsCisgICAgRmxvYXRQb2ludCBvcmln
aW5hbFBvc2l0aW9uID0gRmxvYXRQb2ludCgKICAgICAgICAgYWRqdXN0Rm9yQWJzb2x1dGVab29t
KHJlbmRlcmVyLT5zY3JvbGxMZWZ0KCksICpyZW5kZXJlciksCiAgICAgICAgIGFkanVzdEZvckFi
c29sdXRlWm9vbShyZW5kZXJlci0+c2Nyb2xsVG9wKCksICpyZW5kZXJlcikKICAgICApOworICAg
IFNjcm9sbFRvT3B0aW9ucyBzY3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29y
ZGluYXRlc09yRmFsbEJhY2tUbyhvcHRpb25zLCBvcmlnaW5hbFBvc2l0aW9uLngoKSwgb3JpZ2lu
YWxQb3NpdGlvbi55KCkpOwogICAgIEludFBvaW50IHNjcm9sbFBvc2l0aW9uKAogICAgICAgICBj
bGFtcFRvSW50ZWdlcihzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICogcmVuZGVyZXItPnN0
eWxlKCkuZWZmZWN0aXZlWm9vbSgpKSwKICAgICAgICAgY2xhbXBUb0ludGVnZXIoc2Nyb2xsVG9P
cHRpb25zLnRvcC52YWx1ZSgpICogcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKQog
ICAgICk7Ci0gICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmco
c2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0
aGlzKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Ci0gICAgcmVu
ZGVyZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxUeXBlOjpQcm9n
cmFtbWF0aWMsIGNsYW1waW5nLCBhbmltYXRlZCk7CisKKyAgICBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMgc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25z
OjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuY2xh
bXBpbmcgPSBjbGFtcGluZzsKKyAgICBpZiAoc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kID09IFNj
cm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6RGlyZWN0aW9uYWwpCisgICAgICAgIHNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucy5lbmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKG9yaWdp
bmFsUG9zaXRpb24pOworICAgIGlmICh1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25z
LmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKSkKKyAgICAgICAg
c2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zLnNldEFuaW1hdGVkKCk7CisKKyAgICByZW5kZXJlci0+
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyk7CiB9CiAKIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oZG91YmxlIHgsIGRvdWJsZSB5KQpAQCAt
MTMyMCwyMSArMTMyOCwyMSBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IG5ld0xl
ZnQpCiB7CiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHMoKTsKIAorICAgIGF1dG8gb3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3Jl
YXRlUHJvZ3JhbW1hdGljKCk7CisgICAgaWYgKHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhh
dmlvcjo6QXV0bywgdGhpcykpCisgICAgICAgIG9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKwogICAg
IGlmIChkb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlm
IChhdXRvKiBmcmFtZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewotICAgICAg
ICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVu
dCgpPwotICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNl
U21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAg
ICAgICAgICAgICBJbnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBm
cmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFt
ZS0+dmlldygpLT5zY3JvbGxZKCkpOwotICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Ny
b2xsUG9zaXRpb24ocG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7
CisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
b3B0aW9ucyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChh
dXRvKiByZW5kZXJlciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkTGVmdCA9
IGNsYW1wVG9JbnRlZ2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29t
KCkpOwotICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGlu
ZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5p
bWF0ZWRTY3JvbGw6Ok5vOwotICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVk
TGVmdCwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
YW5pbWF0ZWQpOworICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVkTGVmdCwg
b3B0aW9ucyk7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5s
YXllcigpKQogICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFy
TGF0Y2hlZFN0YXRlKHRydWUpOwogICAgIH0KQEAgLTEzNDQsMjEgKzEzNTIsMjEgQEAgdm9pZCBF
bGVtZW50OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCkKIHsKICAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgYXV0byBvcHRpb25zID0g
U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBpZiAo
dXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKSkKKyAgICAgICAg
b3B0aW9ucy5zZXRBbmltYXRlZCgpOworCiAgICAgaWYgKGRvY3VtZW50KCkuc2Nyb2xsaW5nRWxl
bWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnRGcmFt
ZVdpdGhOb25OdWxsVmlldygpKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVz
ZSBkb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/Ci0gICAgICAgICAgICAvLyBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAg
QW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZp
b3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6
OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIEludFBvaW50IHBvc2l0aW9u
KGZyYW1lLT52aWV3KCktPnNjcm9sbFgoKSwgc3RhdGljX2Nhc3Q8aW50PihuZXdUb3AgKiBmcmFt
ZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpKTsKLSAgICAg
ICAgICAgIGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMpOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSByZW5kZXJCb3goKSkg
ewogICAgICAgICBpbnQgY2xhbXBlZFRvcCA9IGNsYW1wVG9JbnRlZ2VyKG5ld1RvcCAqIHJlbmRl
cmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7Ci0gICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKSA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Ci0gICAgICAgIHJlbmRl
cmVyLT5zZXRTY3JvbGxUb3AoY2xhbXBlZFRvcCwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBT
Y3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOworICAgICAgICByZW5kZXJlci0+c2V0
U2Nyb2xsVG9wKGNsYW1wZWRUb3AsIG9wdGlvbnMpOwogICAgICAgICBpZiAoYXV0byogc2Nyb2xs
YWJsZUFyZWEgPSByZW5kZXJlci0+bGF5ZXIoKSkKICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVh
LT5zZXRTY3JvbGxTaG91bGRDbGVhckxhdGNoZWRTdGF0ZSh0cnVlKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAppbmRleCA1NmFjYTRlZjQ3MDZmN2YzMGMyYmJmOTE0Y2UxNDc2ZjZiMWU1N2JmLi44
MWIxZTllODdkZWQyMjAzYzAwNzNlNGUxMzE1MWUwZDM5MjhjODU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0
IFNjcm9sbFRvT3B0aW9ucyYpOwogICAgIHZvaWQgc2Nyb2xsQnkoZG91YmxlIHgsIGRvdWJsZSB5
KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CisgICAgdmlydHVhbCB2b2lk
IHNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCA9IFNjcm9s
bFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6Q2xvc2VzdCk7CiAgICAgdm9pZCBzY3JvbGxUbyhk
b3VibGUgeCwgZG91YmxlIHkpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3JvbGxCeUxp
bmVzKGludCBsaW5lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZTMzZmFlMzhl
ZWMzYmExMzY2OTdiOGVlNWQzNWU5MDUzZWE4N2E2YS4uMTNiNDdiZTdiN2M5MmIzYTY4MDBmODRl
NjBkZGEyMmM0NzIzYzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTAsNiAr
OTAsNyBAQAogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUg
IlNjaGVkdWxlZEFjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmVlbi5oIgorI2luY2x1ZGUgIlNjcm9s
bEFuaW1hdG9yLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbkRhdGEuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgpAQCAtMTY3NCw3
ICsxNjc1LDcgQEAgdm9pZCBET01XaW5kb3c6OnNjcm9sbEJ5KGNvbnN0IFNjcm9sbFRvT3B0aW9u
cyYgb3B0aW9ucykgY29uc3QKICAgICBTY3JvbGxUb09wdGlvbnMgc2Nyb2xsVG9PcHRpb25zID0g
bm9ybWFsaXplTm9uRmluaXRlQ29vcmRpbmF0ZXNPckZhbGxCYWNrVG8ob3B0aW9ucywgMCwgMCk7
CiAgICAgc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSArPSB2aWV3LT5tYXBGcm9tTGF5b3V0
VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkueCgpKTsKICAgICBzY3Jv
bGxUb09wdGlvbnMudG9wLnZhbHVlKCkgKz0gdmlldy0+bWFwRnJvbUxheW91dFRvQ1NTVW5pdHMo
dmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigpLnkoKSk7Ci0gICAgc2Nyb2xsVG8oc2Nyb2xs
VG9PcHRpb25zKTsKKyAgICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMsIFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFsKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpIGNvbnN0CkBAIC0xNjgyLDcgKzE2ODMsNyBAQCB2b2lkIERPTVdp
bmRvdzo6c2Nyb2xsVG8oZG91YmxlIHgsIGRvdWJsZSB5LCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZykgY29uc3QKICAgICBzY3JvbGxUbyhTY3JvbGxUb09wdGlvbnMoeCwgeSksIGNsYW1waW5nKTsK
IH0KIAotdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0
aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpIGNvbnN0Cit2b2lkIERPTVdpbmRvdzo6c2Ny
b2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kIHNuYXBQb2ludFNlbGVjdGlvbk1l
dGhvZCkgY29uc3QKIHsKICAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQog
ICAgICAgICByZXR1cm47CkBAIC0xNzA0LDExICsxNzA1LDIxIEBAIHZvaWQgRE9NV2luZG93Ojpz
Y3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nCiAKICAgICBJbnRQb2ludCBsYXlvdXRQb3Modmlldy0+bWFwRnJvbUNTU1RvTGF5b3V0
VW5pdHMoc2Nyb2xsVG9PcHRpb25zLmxlZnQudmFsdWUoKSksIHZpZXctPm1hcEZyb21DU1NUb0xh
eW91dFVuaXRzKHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSkpOwogCisgICAgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0
aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgaWYgKHNuYXBQb2ludFNlbGVj
dGlvbk1ldGhvZCA9PSBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkRpcmVjdGlvbmFs
KSB7CisgICAgICAgIEZsb2F0UG9pbnQgb3JpZ2luYWxQb3NpdGlvbiA9IEZsb2F0UG9pbnQoCisg
ICAgICAgICAgICB2aWV3LT5tYXBGcm9tTGF5b3V0VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Nj
cm9sbFBvc2l0aW9uKCkueCgpKSwKKyAgICAgICAgICAgIHZpZXctPm1hcEZyb21MYXlvdXRUb0NT
U1VuaXRzKHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKS55KCkpKTsKKyAgICAgICAgc2V0
U2Nyb2xsUG9zaXRpb25PcHRpb25zLmVuYWJsZURpcmVjdGlvbmFsU2Nyb2xsU25hcHBpbmcob3Jp
Z2luYWxQb3NpdGlvbik7CisgICAgfQorICAgIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucy5jbGFt
cGluZyA9IGNsYW1waW5nOworCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQo
KS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1
c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xs
QmVoYXZpb3I6OkF1dG8pLCBkb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSkgPyBBbmltYXRl
ZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgIGlmICh1c2VTbW9vdGhTY3Jv
bGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1
dG8pLCBkb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpCisgICAgICAgIHNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucy5zZXRBbmltYXRlZCgpOwogCi0gICAgdmlldy0+c2V0Q29udGVudHNTY3Jv
bGxQb3NpdGlvbihsYXlvdXRQb3MsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgdmlldy0+c2V0
Q29udGVudHNTY3JvbGxQb3NpdGlvbihsYXlvdXRQb3MsIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyk7CiB9CiAKIGJvb2wgRE9NV2luZG93OjphbGxvd2VkVG9DaGFuZ2VXaW5kb3dHZW9tZXRyeSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBhNzM5ZjgzMWZlZTkxZDE5MDYxZjdj
MjA1MDAzMmEwYTdmMTcwMzEzLi5mMjdhM2Q1MWMxNTU4MzQ4OGVmMTQ0YTc4MmZiYTRmMmRlN2E5
MDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYpIGNvbnN0OwogICAg
IHZvaWQgc2Nyb2xsQnkoZG91YmxlIHgsIGRvdWJsZSB5KSBjb25zdDsKLSAgICB2b2lkIHNjcm9s
bFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRp
b25zJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25h
cFBvaW50U2VsZWN0aW9uTWV0aG9kID0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpD
bG9zZXN0KSBjb25zdDsKICAgICB2b2lkIHNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgY29uc3Q7CiAKICAgICB2b2lk
IG1vdmVCeShmbG9hdCB4LCBmbG9hdCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAppbmRleCBlZWQ0NTNhNjNlMmZiYTRkOGI1ZTI5OWJlOTcyMjg0ZTU5ZDkyNzA4Li5iYzdjYmI3
NDc4YmI4NjlmNGQxM2VkZTVmNmQ0OGRmMjgzNTI5MGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCkBAIC0yMzExLDEyICsyMzExLDEyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVt
ZW50VG9SZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAg
ICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNl
dFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0LnkoKSkp
OwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9z
aXRpb24mIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFt
IDw8ICJGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwg
IiAsIGNsZWFyaW5nIGFuY2hvciIpOwogCiAgICAgYXV0byBvbGRTY3JvbGxUeXBlID0gY3VycmVu
dFNjcm9sbFR5cGUoKTsKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShTY3JvbGxUeXBlOjpQcm9n
cmFtbWF0aWMpOworICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9wdGlvbnMudHlwZSk7CiAKICAg
ICBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSBudWxscHRyOwogICAgIG1fc2hvdWxk
U2Nyb2xsVG9Gb2N1c2VkRWxlbWVudCA9IGZhbHNlOwpAQCAtMjMyNCwxMCArMjMyNCwxNiBAQCB2
b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNj
cm9sbFBvc2l0aW9uLCBTY3JvbGxDbAogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsK
ICAgICBpZiAocGFnZSAmJiBwYWdlLT5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQogICAgICAg
ICBzY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihwYWdlLT53aGVlbEV2
ZW50VGVzdE1vbml0b3IoKSk7Ci0gICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZ
ZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9t
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7
CisKKyAgICBjb25zdCBhdXRvJiBvcmlnaW5hbFBvc2l0aW9uID0gb3B0aW9ucy5vcmlnaW5hbFBv
c2l0aW9uRm9yRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGluZzsKKyAgICBGbG9hdFNpemUgZGVsdGEg
PSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBzY3JvbGxQb3NpdGlvbiAtICpvcmlnaW5h
bFBvc2l0aW9uIDogRmxvYXRTaXplKCk7CisgICAgU2Nyb2xsT2Zmc2V0IHNuYXBwZWRPZmZzZXQg
PSBjZWlsZWRJbnRQb2ludCgKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5hZGp1c3RTY3JvbGxP
ZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihzY3JvbGxQ
b3NpdGlvbiksIGRlbHRhLCBvcmlnaW5hbFBvc2l0aW9uKSk7CisKKyAgICBpZiAob3B0aW9ucy5h
bmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oc25hcHBlZE9mZnNldCwgY3VycmVudFNjcm9sbFR5cGUoKSwgb3B0aW9ucy5j
bGFtcGluZyk7CiAgICAgZWxzZQotICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbiwgY2xhbXBpbmcpOworICAgICAgICBTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoc25hcHBlZE9mZnNldCksIG9wdGlv
bnMpOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUob2xkU2Nyb2xsVHlwZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAppbmRleCA5MTNlZjI2ZTIwYTUxYjJkNTY0ZWJkMzZlYTJiMDM4NTkx
OTY4ZmU0Li4yZjgyNjUxNjA3ZjRlMzc3NjU3ZGJhNTY5YTdjZDQxOWZhOTQ3NjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTIzOSw3ICsyMzksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Rml4ZWRWaXNp
YmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0g
QW5pbWF0ZWRTY3JvbGw6Ok5vKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJiA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGlj
KCkpIGZpbmFsOwogICAgIHZvaWQgcmVzdG9yZVNjcm9sbGJhcigpOwogICAgIHZvaWQgc2NoZWR1
bGVTY3JvbGxUb0ZvY3VzZWRFbGVtZW50KFNlbGVjdGlvblJldmVhbE1vZGUpOwogICAgIHZvaWQg
c2Nyb2xsVG9Gb2N1c2VkRWxlbWVudEltbWVkaWF0ZWx5SWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggY2ZlNWYzNzY3ZGQ5NGFmMGRkYzlkMTlmZjQ1
MWFkOTViODI1NzYxYy4uNDY5YTE5YjgyOTRhZmY1Y2U3MTY4M2ZjMGRmNDAyMTE4NjQ4NjIyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTM1LDYgKzM1LDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50KQogeworICAgIC8vIEZJ
WE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KKyAgICAv
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQorICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCisgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CisKICAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50CiAgICAgICAgIHx8ICFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKQog
ICAgICAgICB8fCAhYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NP
TVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAKaW5kZXggYTNiZjhlZTM1MThhYTNjMjJjZTVkOTgxYjM0MWY1NTc2
OWY3YThlYy4uNTFmODg4MTRlYThiOGZjZDdlY2RkZGJhM2ZiN2Y3OTVkZGRlYWEyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtOTEsMTIgKzkxLDEy
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkKICAgICBhdXRvIG5ld09mZnNldCA9IFNjcm9sbGFi
bGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24obmV3UG9zaXRpb24sIHNjcm9sbE9yaWdp
bik7CiAgICAgYXV0byBjdXJyZW50T2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9mZnNl
dEZyb21Qb3NpdGlvbih0aGlzLT5jdXJyZW50UG9zaXRpb24oKSwgc2Nyb2xsT3JpZ2luKTsKICAg
ICBpZiAob3JpZW50YXRpb24gPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgewotICAgICAgICBuZXdP
ZmZzZXQuc2V0WChtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCwgbmV3T2Zmc2V0
LngoKSwgbXVsdGlwbGllciwgY3VycmVudE9mZnNldC54KCkpKTsKKyAgICAgICAgbmV3T2Zmc2V0
LnNldFgobV9zY3JvbGxDb250cm9sbGVyLmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2
ZW50QXhpczo6SG9yaXpvbnRhbCwgbmV3T2Zmc2V0LngoKSwgbXVsdGlwbGllciwgY3VycmVudE9m
ZnNldC54KCkpKTsKICAgICAgICAgbmV3UG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xs
UG9zaXRpb25Gcm9tT2Zmc2V0KG5ld09mZnNldCwgc2Nyb2xsT3JpZ2luKTsKICAgICAgICAgcmV0
dXJuIHNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgbmV3UG9zaXRpb24u
eCgpIC0gdGhpcy0+Y3VycmVudFBvc2l0aW9uKCkueCgpLCAxLjApOwogICAgIH0KIAotICAgIG5l
d09mZnNldC5zZXRZKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZv
ckRpcmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3UG9zaXRp
b24ueSgpLCBtdWx0aXBsaWVyLCBjdXJyZW50T2Zmc2V0LnkoKSkpOworICAgIG5ld09mZnNldC5z
ZXRZKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVu
dEF4aXM6OlZlcnRpY2FsLCBuZXdQb3NpdGlvbi55KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZz
ZXQueSgpKSk7CiAgICAgbmV3UG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KG5ld09mZnNldCwgc2Nyb2xsT3JpZ2luKTsKICAgICByZXR1cm4gc2Nyb2xs
KFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgbmV3UG9zaXRpb24ueSgpIC0gdGhpcy0+
Y3VycmVudFBvc2l0aW9uKCkueSgpLCAxLjApOwogI2Vsc2UKQEAgLTM1NCw0ICszNTQsMjMgQEAg
dm9pZCBTY3JvbGxBbmltYXRvcjo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIq
KQogICAgIG1fYW5pbWF0aW9uUHJvZ3JhbW1hdGljU2Nyb2xsLT51cGRhdGVWaXNpYmxlTGVuZ3Ro
cygpOwogfQogCitGbG9hdFBvaW50IFNjcm9sbEFuaW1hdG9yOjphZGp1c3RTY3JvbGxPZmZzZXRG
b3JTbmFwcGluZ0lmTmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCwgY29uc3QgRmxvYXRT
aXplJiB2ZWxvY2l0eSwgT3B0aW9uYWw8RmxvYXRQb2ludD4gb3JpZ2luYWxQb3NpdGlvbikKK3sK
KyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIGlmICghbV9zY3JvbGxDb250cm9sbGVy
LnVzZXNTY3JvbGxTbmFwKCkpCisgICAgICAgIHJldHVybiBvZmZzZXQ7CisKKyAgICBPcHRpb25h
bDxmbG9hdD4gb3JpZ2luYWxYID0gb3JpZ2luYWxQb3NpdGlvbi5oYXNWYWx1ZSgpID8gT3B0aW9u
YWw8ZmxvYXQ+IHtvcmlnaW5hbFBvc2l0aW9uLT54KCl9IDogV1RGOjpudWxsb3B0OworICAgIE9w
dGlvbmFsPGZsb2F0PiBvcmlnaW5hbFkgPSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBP
cHRpb25hbDxmbG9hdD4ge29yaWdpbmFsUG9zaXRpb24tPnkoKX0gOiBXVEY6Om51bGxvcHQ7CisK
KyAgICBGbG9hdFBvaW50IG5ld09mZnNldCA9IG9mZnNldDsKKyAgICBuZXdPZmZzZXQuc2V0WCht
X3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZlbnRBeGlz
OjpIb3Jpem9udGFsLCBuZXdPZmZzZXQueCgpLCB2ZWxvY2l0eS53aWR0aCgpLCBvcmlnaW5hbFgp
KTsKKyAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVz
dGluYXRpb24oU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3T2Zmc2V0LnkoKSwgdmVsb2Np
dHkuaGVpZ2h0KCksIG9yaWdpbmFsWSkpOworICAgIHJldHVybiBuZXdPZmZzZXQ7CisjZWxzZQor
ICAgIHJldHVybiBvZmZzZXQ7CisjZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCA0MDAxZjRhZjgw
MTRhOTRmMzMwY2M2M2U5NGJhY2Q1ZDk3Yzg3OGYxLi40NjJkZTcyZjg4ODMwODY1YjEwNDFhNzIz
ZDA4ZjYzZjg2ZTMzNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpA
QCAtMTM4LDYgKzEzOSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0V2hlZWxFdmVudFRlc3RN
b25pdG9yKFJlZlB0cjxXaGVlbEV2ZW50VGVzdE1vbml0b3I+JiYgdGVzdE1vbml0b3IpIHsgbV93
aGVlbEV2ZW50VGVzdE1vbml0b3IgPSB0ZXN0TW9uaXRvcjsgfQogCisgICAgRmxvYXRQb2ludCBh
ZGp1c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIG9m
ZnNldCwgY29uc3QgRmxvYXRTaXplJiB2ZWxvY2l0eSwgT3B0aW9uYWw8RmxvYXRQb2ludD4gb3Jp
Z2luYWxQb3NpdGlvbik7CisKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUo
UlVCQkVSX0JBTkRJTkcpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcm9sbENvbnRyb2xsZXJUaW1l
cj4gY3JlYXRlVGltZXIoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggYTA5M2M5YjNlNjBhZGI5Zjk5MjYyNTc4
Y2FmM2RmYTQwZGY2MDQxYS4uY2M4M2FhN2FiZGY5MDQ3YWU4ODdkM2Y5ZDkwNmViOWY2OGFmZDRh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSA8Y3N0ZGludD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgpAQCAtMjQ5LDYgKzI1MCwxNSBAQCBlbnVtIGNsYXNzIFNjcm9sbFBvc2l0aW9uaW5nQmVoYXZp
b3IgOiB1aW50OF90IHsKICAgICBTdGF0aW9uYXJ5CiB9OwogCisvLyBUaGlzIHZhbHVlIGNvbnRy
b2xzIHRoZSBtZXRob2QgdXNlZCB0byBzZWxlY3Qgc25hcCBwb2ludHMgZHVyaW5nIHNjcm9sbGlu
Zy4gVGhpcyBtYXkgZWl0aGVyCisvLyBiZSAiZGlyZWN0aW9uYWwiIG9yICJjbG9zZXN0LiIgVGhl
IGRpcmVjdGlvbmFsIG1ldGhvZCBvbmx5IGNob29zZXMgc25hcCBwb2ludHMgdGhhdCBhcmUgYXQg
b3IKKy8vIGJleW9uZCB0aGUgc2Nyb2xsIGRlc3RpbmF0aW9uIGluIHRoZSBkaXJlY3Rpb24gb2Yg
dGhlIHNjcm9sbC4gVGhlICJjbG9zZXN0IiBtZXRob2QgZG9lcyBub3QKKy8vIGhhdmUgdGhpcyBj
b25zdHJhaW50LgorZW51bSBjbGFzcyBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QgOiBi
b29sIHsKKyAgICBEaXJlY3Rpb25hbCwKKyAgICBDbG9zZXN0LAorfTsKKwogdXNpbmcgU2Nyb2xs
YmFyQ29udHJvbFN0YXRlID0gdW5zaWduZWQ7CiB1c2luZyBTY3JvbGxiYXJDb250cm9sUGFydE1h
c2sgPSB1bnNpZ25lZDsKIHVzaW5nIFNjcm9sbGluZ05vZGVJRCA9IHVpbnQ2NF90OwpAQCAtMjU3
LDYgKzI2Nyw0MSBAQCBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwo
V1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsVHlwZSk7CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsQ2xhbXBpbmcpOwogV0VC
Q09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyk7CiAKK3N0cnVjdCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnMgeworICAgIFNjcm9sbFR5cGUgdHlwZTsKKyAgICBTY3JvbGxDbGFtcGluZyBj
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkOworICAgIEFuaW1hdGVkU2Nyb2xsIGFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOworCisgICAgLy8gSWYgdGhpcyBPcHRpb25hbCB2
YWx1ZSBpcyBub3QgbnVsbCB0aGVuIHRoZSAiZGlyZWN0aW9uYWwiIHNjcm9sbCBzbmFwIHBvaW50
IHNlbGVjdGlvbiBtZXRob2QKKyAgICAvLyBpcyBhY3RpdmUsIG90aGVyd2lzZSAiY2xvc2VzdCIg
aXMgdXNlZC4KKyAgICBPcHRpb25hbDxGbG9hdFBvaW50PiBvcmlnaW5hbFBvc2l0aW9uRm9yRGly
ZWN0aW9uYWxTY3JvbGxTbmFwcGluZyA9IFdURjo6bnVsbG9wdDsKKworICAgIHN0YXRpYyBTZXRT
Y3JvbGxQb3NpdGlvbk9wdGlvbnMgY3JlYXRlUHJvZ3JhbW1hdGljKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB7IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYyB9OworICAgIH0KKworICAgIHN0YXRp
YyBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgY3JlYXRlVXNlcigpCisgICAgeworICAgICAgICBy
ZXR1cm4geyBTY3JvbGxUeXBlOjpVc2VyIH07CisgICAgfQorCisgICAgc3RhdGljIFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyBjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6
VW5jbGFtcGVkIH07CisgICAgfQorCisgICAgdm9pZCBzZXRBbmltYXRlZCgpCisgICAgeworICAg
ICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CisgICAgfQorCisgICAgdm9pZCBl
bmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbmFs
UG9zaXRpb24pCisgICAgeworICAgICAgICBvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxT
Y3JvbGxTbmFwcGluZyA9IG9yaWdpbmFsUG9zaXRpb247CisgICAgfQorfTsKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKaW5kZXggZGFjYWFkNTAwZmQ3MjcxNzNiZDk0MDQzZWUzMjQzOTRjNzljZjE3
MC4uMThhY2U0MGRjNDA4NGRkOTI1ZjkwMTEyOGEwNjliNzVhM2Q0NDQwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTIwNywxMyArMjA3LDEzIEBAIEludFBvaW50
IFNjcm9sbFZpZXc6OmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBz
Y3JvbGxQb3NpdGlvbigpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRz
U2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQ
b3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24pOwogI2VuZGlmCi0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1w
aW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMp
OwogfQogCiBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6ZXhwb3NlZENvbnRlbnRSZWN0KCkgY29uc3QK
QEAgLTUxNCw3ICs1MTQsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0FmdGVy
U2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9zaXRp
bmdMYXllcnNBZnRlclNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9s
bFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsLyogYW5pbWF0ZWQqLykKK3ZvaWQgU2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0
aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgTE9H
X1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQ
b3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI5LDExICs1MjksMTEgQEAgdm9p
ZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Ny
b2xsUG9zaXRpb24sIFNjcm9sbEMKICAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVz
KCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAg
ICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAotICAgIFNjcm9sbFBvc2l0
aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGlu
ZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhp
blJhbmdlKHNjcm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIFNjcm9sbFBvc2l0
aW9uIG5ld1Njcm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBvcHRpb25z
LmNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0
aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYg
KCghZGVsZWdhdGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxU
eXBlOjpVc2VyKSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhh
dmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+
c2Nyb2xsUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Ny
b2xsUG9zaXRpb25VcGRhdGUobmV3U2Nyb2xsUG9zaXRpb24sIGN1cnJlbnRTY3JvbGxUeXBlKCks
IGNsYW1waW5nKSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3Jv
bGxQb3NpdGlvbiwgY3VycmVudFNjcm9sbFR5cGUoKSwgb3B0aW9ucy5jbGFtcGluZykpCiAgICAg
ICAgIHVwZGF0ZVNjcm9sbGJhcnMobmV3U2Nyb2xsUG9zaXRpb24pOwogCiAgICAgc2V0U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCBmY2JjODM3OWUxODIyOWIzZThjZTM1
ZWFiOGIzNWNiNmM0MDc2MjY1Li42YTExM2I3MzdhZDM4ZmUyMzMyN2U3MjAxZGM1Y2JkOTJhZGY4
NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0yNDQsNyArMjQ0LDcg
QEAgcHVibGljOgogCiAgICAgLy8gU2Nyb2xsIHBvc2l0aW9uIHVzZWQgYnkgd2ViLWV4cG9zZWQg
ZmVhdHVyZXMgKGhhcyBsZWdhY3kgaU9TIGJlaGF2aW9yKS4KICAgICBXRUJDT1JFX0VYUE9SVCBJ
bnRQb2ludCBjb250ZW50c1Njcm9sbFBvc2l0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDb250
ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8p
OworICAgIHZvaWQgc2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYsIGNv
bnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6
OmNyZWF0ZVByb2dyYW1tYXRpYygpKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
aW50IGFjdHVhbFNjcm9sbFgoKSBjb25zdCB7IHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3Qo
KS54KCk7IH0KQEAgLTI3NCw3ICsyNzQsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24g
Y2FjaGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0
aW9uOyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFu
aW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiA9IFNl
dFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCkpOwogCiAgICAgdm9p
ZCBzY3JvbGxCeShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQb3NpdGlvbihz
Y3JvbGxQb3NpdGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCmluZGV4IGNmMzkyMzQwNWVlMTMxNjk2ODE2YmU3ZmIw
YTI1NDU0MWIyNDNmZmMuLjU2ZjRhYzkyMmNjMTE4MTc1ODU2OTZlM2IzM2U5YWQ3ZGYyYTk0M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
LmgKQEAgLTE2Niw3ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgYWN0aXZlU2Nyb2xs
U25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXMpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
U2Nyb2xsU25hcFN0YXRlKGNvbnN0IFNjcm9sbGFibGVBcmVhJik7CiAgICAgdm9pZCB1cGRhdGVH
ZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwotICAgIGZs
b2F0IGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxF
dmVudEF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uLCBmbG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3JpZ2lu
YWxQb3NpdGlvbik7CisgICAgZmxvYXQgYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZl
bnRBeGlzLCBmbG9hdCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZsb2F0
PiBvcmlnaW5hbFBvc2l0aW9uKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIGhhbmRsZWQuCiAgICAgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAzZTRmMDY5Y2YzMmI2MzE4NTZhOGM2
YTJkZWQwYTE2ZTNlZjUxZmY4Li44ZTE3MDExN2NjNTNkZDY3MjU3ZDE0OWVlMjk0MTA0Yzk0MTQz
MGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW0KQEAgLTkwNCw3ICs5MDQsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNldE5l
YXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcwogICAg
IHNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoYXhpcywgYWN0aXZlSW5kZXgpOwogfQog
Ci1mbG9hdCBTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVj
dGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uLCBm
bG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3JpZ2luYWxQb3NpdGlvbikKK2Zsb2F0IFNjcm9sbENvbnRy
b2xsZXI6OmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9h
dCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZsb2F0PiBvcmlnaW5hbFBv
c2l0aW9uKQogewogICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJuIGRl
c3RpbmF0aW9uOwpAQCAtOTE1LDcgKzkxNSwxMCBAQCBmbG9hdCBTY3JvbGxDb250cm9sbGVyOjph
ZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbgog
ICAgICAgICByZXR1cm4gZGVzdGluYXRpb247CiAKICAgICB1bnNpZ25lZCBzbmFwSW5kZXg7Ci0g
ICAgTGF5b3V0VW5pdCBvZmZzZXQgPSBjbG9zZXN0U25hcE9mZnNldChzbmFwU3RhdGUuc25hcE9m
ZnNldHNGb3JBeGlzKGF4aXMpLCBzbmFwU3RhdGUuc25hcE9mZnNldFJhbmdlc0ZvckF4aXMoYXhp
cyksIExheW91dFVuaXQoZGVzdGluYXRpb24gLyBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3IoKSks
IHZlbG9jaXR5LCBzbmFwSW5kZXgsIExheW91dFVuaXQob3JpZ2luYWxQb3NpdGlvbiAvIG1fY2xp
ZW50LnBhZ2VTY2FsZUZhY3RvcigpKSk7CisgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gb3JpZ2lu
YWxQb3NpdGlvbkluTGF5b3V0VW5pdHMgPSBXVEY6Om51bGxvcHQ7CisgICAgaWYgKG9yaWdpbmFs
UG9zaXRpb24uaGFzVmFsdWUoKSkKKyAgICAgICAgb3JpZ2luYWxQb3NpdGlvbkluTGF5b3V0VW5p
dHMgPSBMYXlvdXRVbml0KCpvcmlnaW5hbFBvc2l0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxlRmFj
dG9yKCkpOworICAgIExheW91dFVuaXQgb2Zmc2V0ID0gY2xvc2VzdFNuYXBPZmZzZXQoc25hcFN0
YXRlLnNuYXBPZmZzZXRzRm9yQXhpcyhheGlzKSwgc25hcFN0YXRlLnNuYXBPZmZzZXRSYW5nZXNG
b3JBeGlzKGF4aXMpLCBMYXlvdXRVbml0KGRlc3RpbmF0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxl
RmFjdG9yKCkpLCB2ZWxvY2l0eSwgc25hcEluZGV4LCBvcmlnaW5hbFBvc2l0aW9uSW5MYXlvdXRV
bml0cyk7CiAgICAgcmV0dXJuIG9mZnNldCAqIG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGVkOWZhMzQ5ODYx
ZjZlYTA5YzFjYWUwN2FiOWY4YjRjZWFjYmJjYjguLjE4MDkyZWI5OWVmMWI5NjhkMDI3MzQzZGE4
NmI0YzhmZmZkOWY0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC01OTMsMjggKzU5MywyOCBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKFJl
bmRlckxheWVyJiBsYXllcikKICAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZl
bnRUZXN0TW9uaXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBS
ZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9p
ZCBSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNldFNjcm9sbFBv
c2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8
ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigq
bGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRpb24obmV3TGVmdCwgc2Nyb2xs
VHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zY3JvbGxUb1hQb3NpdGlv
bihuZXdMZWZ0LCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChp
bnQgbmV3VG9wLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5n
LCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3Ao
aW50IG5ld1RvcCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25zKQogewog
ICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zY3Jv
bGxUb1lQb3NpdGlvbihuZXdUb3AsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7Cisg
ICAgbGF5ZXIoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBvcHRpb25zKTsKIH0KIAotdm9p
ZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5p
bWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkp
OwotICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBj
bGFtcGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9y
PEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDk2ZTcyZDRmODViYzQ5
M2ZiNDcyMGJjYzJlMTg1MGU0MDhiNDFjODQuLjYxODhmZTVjOGEzMThjNzI2N2I4NjMxYWYwYjEz
Nzg0NmIyNDJlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTI1LDYg
KzI1LDcgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJCb3hNb2Rl
bE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck92ZXJmbG93LmgiCisjaW5jbHVkZSAiU2Nyb2xs
U25hcE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJT
aGFwZU91dHNpZGVJbmZvLmgiCiAKQEAgLTI0OSw5ICsyNTAsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBpbnQgc2Nyb2xsVG9wKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsV2lkdGgo
KSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBB
bmltYXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Ny
b2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5n
OjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmly
dHVhbCB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlv
bnMmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgY29uc3QgU2V0U2Nyb2xs
UG9zaXRpb25PcHRpb25zJik7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYpOwogCiAgICAgTGF5
b3V0VW5pdCBtYXJnaW5Ub3AoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21hcmdpbkJveC50
b3AoKTsgfQogICAgIExheW91dFVuaXQgbWFyZ2luQm90dG9tKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9tYXJnaW5Cb3guYm90dG9tKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDI0OTNlZjg2NGRhNDNhNzgwMjg2MzFlODcyYTMzMGQ1NDA4YWY3
MjMuLmIzNDhjNTQ0NWVmNDE1NjVhYWRhYmMzN2UyYjQ3ZjIxNTU2Yjc2ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5NywyNCArMjU5NywyMSBAQCB2
b2lkIFJlbmRlckxheWVyOjphcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVlZGVkKCkK
ICAgICBtX3Bvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKIH0KIAotdm9p
ZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUgc2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQor
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlv
bih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRp
b24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIG9wdGlvbnMpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQ
b3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxU
b1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJiBvcHRpb25z
KQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xsUG9zaXRpb24ueCgpLCB5
KTsKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcs
IGFuaW1hdGVkKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVyOjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0
ZWRTY3JvbGw6OlllcykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNjcm9s
bE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKLSAg
ICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihw
b3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICBzY3JvbGxUb09mZnNldChzY3Jv
bGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBvcHRpb25zKTsKIH0KIAogU2Nyb2xsT2Zm
c2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNj
cm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzMsMzUgKzI2MzAsMzEgQEAgYm9vbCBSZW5kZXJMYXll
cjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgU2MKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9s
bFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIGNvbnN0IFNldFNj
cm9sbFBvc2l0aW9uT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY3VycmVudFNjcm9sbEJl
aGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0
aW9uKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAotICAg
IFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xs
T2Zmc2V0OworICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gb3B0aW9ucy5j
bGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNsYW1wU2Nyb2xsT2Zmc2V0KHNj
cm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7CiAgICAgaWYgKGNsYW1wZWRTY3JvbGxPZmZzZXQg
PT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcHJl
dmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsKLSAgICBzZXRDdXJyZW50U2Ny
b2xsVHlwZShzY3JvbGxUeXBlKTsKKyAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvcHRpb25zLnR5
cGUpOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoc2Nyb2xsUG9zaXRp
b25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpLCBzY3JvbGxUeXBlLCBjbGFtcGluZykp
Ci0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjbGFtcGVkU2Nyb2xsT2Zm
c2V0LCBjbGFtcGluZyk7Ci0gICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZp
b3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyAgICBjb25zdCBhdXRvJiBvcmlnaW5hbFBvc2l0
aW9uID0gb3B0aW9ucy5vcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTY3JvbGxTbmFwcGlu
ZzsKKyAgICBGbG9hdFNpemUgZGVsdGEgPSBvcmlnaW5hbFBvc2l0aW9uLmhhc1ZhbHVlKCkgPyBz
Y3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCkgLSAqb3JpZ2luYWxQ
b3NpdGlvbiA6IEZsb2F0U2l6ZSgpOworICAgIEludFBvaW50IHNuYXBwZWRPZmZzZXQgPSBjZWls
ZWRJbnRQb2ludCgKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5hZGp1c3RTY3JvbGxPZmZzZXRG
b3JTbmFwcGluZ0lmTmVlZGVkKGNsYW1wZWRTY3JvbGxPZmZzZXQsIGRlbHRhLCBvcmlnaW5hbFBv
c2l0aW9uKSk7CiAKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUp
OwotfQotCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29u
c3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcpCi17Ci0gICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50
U2Nyb2xsVHlwZSgpOwotICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwotCi0g
ICAgU2Nyb2xsT2Zmc2V0IG5ld1Njcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6IG9mZnNldDsKLSAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKLSAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ICE9IHRoaXMtPnNjcm9sbE9mZnNl
dCgpKQotICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9u
KG5ld1Njcm9sbE9mZnNldCk7CisgICAgaWYgKG9wdGlvbnMuYW5pbWF0ZWQgPT0gQW5pbWF0ZWRT
Y3JvbGw6OlllcykKKyAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aEFu
aW1hdGlvbihzbmFwcGVkT2Zmc2V0KTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBzbmFwcGVk
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoc25hcHBlZE9mZnNldCk7CisgICAg
ICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNuYXBwZWRQb3NpdGlvbiwgb3B0
aW9ucy50eXBlLCBvcHRpb25zLmNsYW1waW5nKSkKKyAgICAgICAgICAgIHNjcm9sbFRvT2Zmc2V0
V2l0aG91dEFuaW1hdGlvbihzbmFwcGVkT2Zmc2V0LCBvcHRpb25zLmNsYW1waW5nKTsKKyAgICAg
ICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5p
bWF0aW9uKTsKKyAgICB9CiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9s
bFR5cGUpOwogfQpAQCAtMjgyNCw5ICsyODE3LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
IAogICAgIGF1dG8gc2hvdWxkVXNlQW5pbWF0ZWRTY3JvbGwgPSBbdGhpc10oRWxlbWVudCogZWxl
bWVudCwgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IpCiAgICAgewotICAgICAgICBib29sIHVzZUFu
aW1hdGVkU2Nyb2xsaW5nID0gIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpCisgICAgICAgIHJldHVybiAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2
ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkKICAgICAgICAgICAgICYmIGVsZW1l
bnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKGJlaGF2aW9yLCBlbGVtZW50KTsKLSAgICAgICAgcmV0
dXJuIHVzZUFuaW1hdGVkU2Nyb2xsaW5nID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVk
U2Nyb2xsOjpObzsKICAgICB9OwogCiAgICAgaWYgKGFsbG93c0N1cnJlbnRTY3JvbGwoKSkgewpA
QCAtMjg1Miw4ICsyODQ0LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2li
bGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgIFNj
cm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xs
T2Zmc2V0KCkgKyB0b0ludFNpemUocm91bmRlZEludFJlY3QocmV2ZWFsUmVjdCkubG9jYXRpb24o
KSkpOwogICAgICAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSB8
fCBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSAhPSBTY3JvbGxCZWhhdmlvclN0YXR1czo6
Tm90SW5BbmltYXRpb24pIHsKICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBvbGRTY3JvbGxPZmZz
ZXQgPSBzY3JvbGxPZmZzZXQoKTsKLSAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRV
c2VBbmltYXRlZFNjcm9sbChib3gtPmVsZW1lbnQoKSwgb3B0aW9ucy5iZWhhdmlvcik7Ci0gICAg
ICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBl
ZFNjcm9sbE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIFNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNy
ZWF0ZVByb2dyYW1tYXRpYygpOworICAgICAgICAgICAgaWYgKHNob3VsZFVzZUFuaW1hdGVkU2Ny
b2xsKGJveC0+ZWxlbWVudCgpLCBvcHRpb25zLmJlaGF2aW9yKSkKKyAgICAgICAgICAgICAgICBz
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKyAgICAgICAgICAgIHNjcm9s
bFRvT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQsIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7
CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBjbGFtcGVkU2Ny
b2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0
Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwogICAgICAgICAgICAgbmV3UmVjdCA9IExh
eW91dFJlY3QoYm94LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9j
YWxFeHBvc2VSZWN0KSksIFVzZVRyYW5zZm9ybXMpLmJvdW5kaW5nQm94KCkpOwpAQCAtMjg3OCwx
NCArMjg3MiwxOCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIGV4
cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhy
ZW5kZXJlciwgdmlld1JlY3QsIG5ld1JlY3QpOwogCiAgICAgICAgICAgICAgICAgTGF5b3V0UmVj
dCBleHBvc2VSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCBuZXdSZWN0LCBpbnNpZGVG
aXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKLQogICAgICAgICAgICAgICAg
IEludFBvaW50IHNjcm9sbFBvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChleHBvc2VSZWN0LmxvY2F0
aW9uKCkpKTsKKwogICAgICAgICAgICAgICAgIC8vIEFkanVzdCBvZmZzZXRzIGlmIHRoZXkncmUg
b3V0c2lkZSBvZiB0aGUgYWxsb3dhYmxlIHJhbmdlLgogICAgICAgICAgICAgICAgIHNjcm9sbFBv
c2l0aW9uID0gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKEludFBvaW50KCksIElu
dFBvaW50KGZyYW1lVmlldy5jb250ZW50c1NpemUoKSkpOworCiAgICAgICAgICAgICAgICAgLy8g
RklYTUU6IFNob3VsZCB3ZSB1c2UgY29udGVudERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQo
KT8KICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRV
c2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJlaGF2aW9yKTsKLSAgICAgICAgICAg
ICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAgICAgICAgU2V0U2Nyb2xsUG9z
aXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNldFNjcm9sbFBvc2l0aW9u
T3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgICAgICAgICAgICAgaWYgKHNob3Vs
ZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3IpKQorICAgICAgICAg
ICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMuc2V0QW5pbWF0ZWQoKTsKKworICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwg
c2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zKTsKIAogICAgICAgICAgICAgICAgIGlmIChvcHRpb25z
LnNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgPT0gU2hvdWxkQWxsb3dDcm9zc09yaWdp
blNjcm9sbGluZzo6WWVzIHx8IGZyYW1lVmlldy5zYWZlVG9Qcm9wYWdhdGVTY3JvbGxUb1BhcmVu
dCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdMYXllciA9IG93
bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKSkKQEAgLTI5MjksMTAgKzI5
MjcsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIC8vIEF2b2lkIHNj
cm9sbGluZyB0byB0aGUgcm91bmRlZCB2YWx1ZSBvZiByZXZlYWxSZWN0LmxvY2F0aW9uKCkgaWYg
d2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBzY3JvbGwKICAgICAgICAgICAgIGlmIChyZXZlYWxS
ZWN0ICE9IHZpZXdSZWN0KSB7CiAgICAgICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRT
Y3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChyZXZlYWxSZWN0LmxvY2F0aW9uKCkpLmNv
bnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3NpdGlvbiwgbWF4U2Nyb2xsUG9zaXRpb24pOwor
CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Ny
b2xsaW5nRWxlbWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYXV0byBhbmlt
YXRlZCA9IHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3Ip
OwotICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAg
ICAgICAgICAgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9u
cyA9IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAg
ICAgICAgICAgICAgaWYgKHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMu
YmVoYXZpb3IpKQorICAgICAgICAgICAgICAgICAgICBzZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMu
c2V0QW5pbWF0ZWQoKTsKKworICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3Np
dGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3
IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZjI4Y2I0MTQ3MjdlZmM2ODI5YTY1YTk0
YzVmZWJhN2E0NTZlMWU5OS4uMjlkZGUxYzI2NGU0YThhNDBkMTFmZDdlMzhiNmIwZDQ2MGFhMWZi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ0NywxNiArNDQ3
LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlVzZXIsIFNjcm9s
bENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOwogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmLCBTY3JvbGxU
eXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0
V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlw
ZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9m
ZnNldCYsIGNvbnN0IFNldFNjcm9sbFBvc2l0aW9uT3B0aW9ucyYgPSBTZXRTY3JvbGxQb3NpdGlv
bk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpKTsKIAotICAgIHZvaWQgc2Nyb2xsVG9YUG9z
aXRpb24oaW50IHgsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6
OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2b2lk
IHNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpO
byk7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1h
dGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2b2lkIHNjcm9sbFRvWFBvc2l0
aW9uKGludCB4LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKTsKKyAgICB2b2lkIHNj
cm9sbFRvWVBvc2l0aW9uKGludCB5LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKTsK
KyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgY29uc3Qg
U2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJik7CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSB1c2Vk
IGJ5IG1hcnF1ZWUuCi0gICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9P
ZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFR5cGU6OlBy
b2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KLSAgICB2b2lkIHNjcm9s
bFRvWU9mZnNldChpbnQgeSkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zm
c2V0KCkueCgpLCB5KSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6
VW5jbGFtcGVkKTsgfQorICAgIHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9sbFRv
T2Zmc2V0KFNjcm9sbE9mZnNldCh4LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xhbXBlZCgpKTsgfQorICAgIHZvaWQg
c2Nyb2xsVG9ZT2Zmc2V0KGludCB5KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldChzY3Jv
bGxPZmZzZXQoKS54KCksIHkpLCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnM6OmNyZWF0ZVByb2dy
YW1tYXRpY1VuY2xhbXBlZCgpKTsgfQogCiAgICAgdm9pZCBzZXRQb3N0TGF5b3V0U2Nyb2xsUG9z
aXRpb24oT3B0aW9uYWw8U2Nyb2xsUG9zaXRpb24+KTsKICAgICB2b2lkIGFwcGx5UG9zdExheW91
dFNjcm9sbFBvc2l0aW9uSWZOZWVkZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcAppbmRleCA4ZThhZDcwNDNhMWQ3NDA2MTE3ZTI3MmViMGEyMDQ1YWZlNjVj
MmRlLi4wZjE1YWYyYzE0MGZlNGNlYTc0MjQzMWI4YjM0MmUxYTM4MzY5NjNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC03NDMsNyArNzQzLDcgQEAg
aW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbExlZnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQog
Ci12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCit2b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9s
bExlZnQoaW50LCBjb25zdCBTZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKQogewogfQogCkBAIC03
NjAsNyArNzYwLDcgQEAgc3RhdGljIHZvaWQgc2V0dXBXaGVlbEV2ZW50VGVzdE1vbml0b3IoUmVu
ZGVyTGlzdEJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2Nyb2xsQW5pbWF0b3IoKS5zZXRX
aGVlbEV2ZW50VGVzdE1vbml0b3IocmVuZGVyZXIucGFnZSgpLndoZWVsRXZlbnRUZXN0TW9uaXRv
cigpKTsKIH0KIAotdm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwg
U2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJM
aXN0Qm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRpb25P
cHRpb25zJikKIHsKICAgICAvLyBEZXRlcm1pbmUgYW4gaW5kZXggYW5kIHNjcm9sbCB0byBpdC4g
ICAgCiAgICAgaW50IGluZGV4ID0gbmV3VG9wIC8gaXRlbUhlaWdodCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggY2M5MzQwOTJmNGQzY2IxNDM2NDQ1ZmVh
N2VkNzdhYzBlY2ZkZTM5ZS4uNjI2ZjAwNzYwOGIwOTU5MmI1NjE0ZjU2OWZkNjg2MDBjMzY2NzQz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xMDYsOCAr
MTA2LDggQEAgcHJpdmF0ZToKICAgICBpbnQgc2Nyb2xsVG9wKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IHNjcm9sbEhlaWdo
dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBz
ZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGwpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIGNvbnN0IFNldFNjcm9s
bFBvc2l0aW9uT3B0aW9ucyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwg
Y29uc3QgU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICBib29sIG5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhp
dFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFj
Y3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDc2ZTIzZTRkMDk5NmU2YmZiZTQw
YTY0NDExNjQ0NTlhYTY3ODBkOGIuLjdjZjY3M2FiZjc3MzE5YTdlZDY5MzlhNjZkM2Q1N2YzN2E4
OWRkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTE3MSwxMSArMTcxLDEyIEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgIGlmICht
X3RpbWVyLmlzQWN0aXZlKCkgfHwgbV9sYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLm1hcnF1ZWVJ
bmNyZW1lbnQoKS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgYXV0byBkZXRhaWxz
ID0gU2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQo
KTsKICAgICBpZiAoIW1fc3VzcGVuZGVkICYmICFtX3N0b3BwZWQpIHsKICAgICAgICAgaWYgKGlz
SG9yaXpvbnRhbCgpKQotICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xs
T2Zmc2V0KG1fc3RhcnQsIDApLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1w
aW5nOjpVbmNsYW1wZWQpOworICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Ny
b2xsT2Zmc2V0KG1fc3RhcnQsIDApLCBkZXRhaWxzKTsKICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KDAsIG1fc3RhcnQpLCBTY3Jv
bGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOworICAgICAg
ICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KDAsIG1fc3RhcnQpLCBk
ZXRhaWxzKTsKICAgICB9IGVsc2UgewogICAgICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAg
ICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKaW5kZXggYTA3NTA4MWY1NjVj
ZWRiNTVkZGJlYzk2OGVjMmNiMTM5ZDYwYmFiOC4uZmRhNmM1YzFlNmE2MjM1NmVmZmQxY2RjYTg0
Mzc4NThmNTE2ZTA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKQEAgLTM4MywxMyArMzgzLDEzIEBAIGlu
dCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNjcm9sbFRvcCgpIGNvbnN0CiAgICAgcmV0
dXJuIFJlbmRlckJsb2NrRmxvdzo6c2Nyb2xsVG9wKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCit2b2lkIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJikKIHsKICAgICBpZiAoaW5uZXJUZXh0RWxlbWVudCgpKQogICAgICAgICBpbm5l
clRleHRFbGVtZW50KCktPnNldFNjcm9sbExlZnQobmV3TGVmdCk7CiB9CiAKLXZvaWQgUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBjb25zdCBTZXRTY3JvbGxQb3Np
dGlvbk9wdGlvbnMmKQogewogICAgIGlmIChpbm5lclRleHRFbGVtZW50KCkpCiAgICAgICAgIGlu
bmVyVGV4dEVsZW1lbnQoKS0+c2V0U2Nyb2xsVG9wKG5ld1RvcCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5kZXgg
MjVhMmM5NmQ1MGFlNzI3YjYwMTUzOTY0ODk5ZTM3ODBjMzFjNzk5Yi4uZTVjN2NiN2M0NmNjODIy
YWIwMTVjMDcxMDBmMzYyYjRjZmYwZDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtNTcsOCArNTcsOCBA
QCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQg
c2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Ny
b2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9s
bFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3Zl
cnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgY29uc3QgU2V0U2Nyb2xsUG9zaXRp
b25PcHRpb25zJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxUb3AoaW50LCBjb25zdCBT
ZXRTY3JvbGxQb3NpdGlvbk9wdGlvbnMmKSBvdmVycmlkZTsKICAgICBib29sIHNjcm9sbChTY3Jv
bGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgRWxl
bWVudCoqIHN0b3BFbGVtZW50ID0gbnVsbHB0ciwgUmVuZGVyQm94KiBzdGFydEJveCA9IG51bGxw
dHIsIGNvbnN0IEludFBvaW50JiB3aGVlbEV2ZW50QWJzb2x1dGVQb2ludCA9IEludFBvaW50KCkp
IGZpbmFsOwogICAgIGJvb2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9wRWxl
bWVudCA9IDApIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9E
T00vRE9NSFRNTC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MLm1tCmlu
ZGV4IDg1ODRjMjMxZmVmOGM4ZDhiNzA2ZThmOTZlZDA4ZDczODg1M2RkNTAuLjEzMjIxZTc4ZjU5
NWYzNzljMDUxZjE1YmYwYjQ2M2JhMGI3MTMzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0RPTS9ET01IVE1MLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RP
TS9ET01IVE1MLm1tCkBAIC0xMTMsNyArMTEzLDEwIEBAIC0gKHZvaWQpc2V0U2Nyb2xsWE9mZnNl
dDooaW50KXggc2Nyb2xsWU9mZnNldDooaW50KXkgYWRqdXN0Rm9ySU9TQ2FyZXQ6KEJPT0wpYWRq
CiAgICAgYXV0byogbGF5ZXIgPSBkb3duY2FzdDxXZWJDb3JlOjpSZW5kZXJCb3g+KCpyZW5kZXJl
cikubGF5ZXIoKTsKICAgICBpZiAoYWRqdXN0Rm9ySU9TQ2FyZXQpCiAgICAgICAgIGxheWVyLT5z
ZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgbGF5ZXItPnNjcm9s
bFRvT2Zmc2V0KFdlYkNvcmU6OlNjcm9sbE9mZnNldCh4LCB5KSwgV2ViQ29yZTo6U2Nyb2xsVHlw
ZTo6UHJvZ3JhbW1hdGljLCBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKKwor
ICAgIGF1dG8gc2V0U2Nyb2xsUG9zaXRpb25PcHRpb25zID0gV2ViQ29yZTo6U2V0U2Nyb2xsUG9z
aXRpb25PcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlv
bk9wdGlvbnMuY2xhbXBpbmcgPSBXZWJDb3JlOjpTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkOwor
ICAgIGxheWVyLT5zY3JvbGxUb09mZnNldChXZWJDb3JlOjpTY3JvbGxPZmZzZXQoeCwgeSksIHNl
dFNjcm9sbFBvc2l0aW9uT3B0aW9ucyk7CiAgICAgaWYgKGFkanVzdEZvcklPU0NhcmV0KQogICAg
ICAgICBsYXllci0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNjNkMTdiOWFkMjAwMzhiYmZiZDllN2M1MTEyMzU0ZGU4ZTU3OTU4Li4xMDRjNzhh
ZTNhYjU4MTFlM2M2NWNmM2M5MzdlYWY5ZDBiMTQ0OGQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjEtMDEtMTEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFNjcm9sbC1zbmFwIHBvaW50cyBzaG91bGQgYmUgdHJpZ2dlcmVkIGR1cmluZyBwcm9n
cmFtbWF0aWMgc2Nyb2xsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDUzMzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxNDY3NzgwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
LXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0OiBVcGRhdGUgZXhwZWN0YXRpb24u
CisKIDIwMjEtMDEtMDMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBV
c2UgVVRGLTggZW5jb2RpbmcgZm9yIGVtcHR5IG1haW4gcmVzb3VyY2UgbG9hZHMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGJmYzIwNWQ2ZTU2MWMwZmE2NDE3YjM2NWIzODg0YWVm
MTU1MGZhMTQuLjFhOGZjMTk4NWI0MzZmYjUxYTYzMzczYjM3MmZjMzQ2ZWE4NzQxZmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTAxLTExICBN
YXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwt
c25hcCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9s
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMw
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgZm9y
IG5ld2x5IHBhc3NpbmcgdGVzdHMgYW5kIHRlc3RzIHRoYXQgbm93CisgICAgICAgIGZhaWwgaW4g
YSBkaWZmZXJlbnQgd2F5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLW1hcmdpbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFm
dGVyLXJlbGF5b3V0L2FkZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1h
ZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRl
ci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0
L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Ny
b2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1vdmUtc2Nyb2xsLWNv
bnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3Jt
ZWQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMt
bWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJs
ZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVk
LnR4dDoKKwogMjAyMS0wMS0wMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVzZSBVVEYtOCBlbmNvZGluZyBmb3IgZW1wdHkgbWFpbiByZXNvdXJjZSBsb2FkcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0CmluZGV4IGViZDJiZTk0MDdm
NDE1ZDA2ZWVkYmQ1OGIxMWNjMDhkNjE5MGE3ZjQuLmE0NWQyYWRjZGRmNmNmMDNkZjM5ODYzYzM2
MzY1OTMzYjg4ZTI4MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9vdmVyZmxvd2luZy1zbmFwLWFyZWFz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3Rl
ZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgc25hcCBwb3NpdGlv
biBpZiB0aGUgc25hcCBhcmVhIGRvZXNuJ3QgY292ZXIgdGhlIHNuYXBwb3J0IG9uIHguIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDEwCi1QQVNTIFNuYXBzIHRvIHRoZSBzbmFw
IHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRo
ZSByaWdodCBib3JkZXIuCi1QQVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBz
bmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRoZSBsZWZ0IGJvcmRlci4KLUZB
SUwgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQwMCkgYW5kIG5l
eHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQoNTAwKSBvbiB4
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLUZBSUwgU25hcHMgaWYg
dGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQwMCkgYW5kIG5leHQoODAwKSBzbmFw
IHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQoNTAwKSBvbiB5LiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9s
bCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFy
ZWEgY292ZXJzIHNuYXBwb3J0IG9uIHggYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2
aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuCi1Q
QVNTIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2ggaXMgYSB2YWxpZCBzbmFw
IHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9ydCBvbiB5IGFuZCB0aGUg
ZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoODAwKSBhbmQgbmV4dCgxNDAwKSBpcyBsYXJn
ZXIgdGhhbiBzbmFwcG9ydCg1MDApLgotUEFTUyBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0
aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3Zl
cnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVudCBzbmFwIHBvc2l0aW9u
cy4KLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlk
IHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5k
IHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuCi1QQVNTIERvbid0IHNuYXAg
YmFjayBldmVuIGlmIHNjcm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlvbnMgd2hpY2gg
YXJlIG91dHNpZGUgb2YgdGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRhcmdldCBlbGVt
ZW50IGNvdmVycyB0aGUgc25hcG9ydAotRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0
aW9uIG9uIHggYXMgdGhlIGFyZWEgaXMgY292ZXJpbmcgeCBheGlzLkhvd2V2ZXIsIHdlIHNuYXAg
dG8gdGhlIHNwZWNpZmllZCBzbmFwIHBvc2l0aW9uIG9uIHkgYXMgdGhlIGFyZWEgaXMgbm90IGNv
dmVyaW5nIHkgYXhpcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMTAwCitQ
QVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgZG9lc24ndCBj
b3ZlciB0aGUgc25hcHBvcnQgb24geC4KK0ZBSUwgU25hcHMgdG8gdGhlIHNuYXAgcG9zaXRpb24g
aWYgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhlIHJpZ2h0IGJv
cmRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjcxNSBidXQgZ290IDIwMAorRkFJTCBTbmFw
cyB0byB0aGUgc25hcCBwb3NpdGlvbiBpZiB0aGUgc25hcCBhcmVhIGNvdmVycyB0aGUgc25hcHBv
cnQgb24geCBvbiB0aGUgbGVmdCBib3JkZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBi
dXQgZ290IDI3MTUKK1BBU1MgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZp
b3VzKDQwMCkgYW5kIG5leHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25h
cHBvcnQoNTAwKSBvbiB4LgorUEFTUyBTbmFwcyBpZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUg
cHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlzIHNtYWxsZXIgdGhh
biBzbmFwcG9ydCg1MDApIG9uIHkuCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRp
b24gd2hpY2ggaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVy
cyBzbmFwcG9ydCBvbiB4IGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoODAw
KSBhbmQgbmV4dCgxNDAwKSBpcyBsYXJnZXIgdGhhbiBzbmFwcG9ydCg1MDApLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCA5MDAgYnV0IGdvdCA4MDAKK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9s
bCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFy
ZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2
aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDkwMCBidXQgZ290IDgwMAorRkFJTCBTbmFwIHRvIGN1cnJl
bnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhl
IHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVu
dCBzbmFwIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUwMCBidXQgZ290IDE0
MDAKK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlk
IHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5k
IHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDE1MDAgYnV0IGdvdCAxNDAwCitGQUlMIERvbid0IHNuYXAgYmFjayBldmVuIGlmIHNj
cm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlvbnMgd2hpY2ggYXJlIG91dHNpZGUgb2Yg
dGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRhcmdldCBlbGVtZW50IGNvdmVycyB0aGUg
c25hcG9ydCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNzE1IGJ1dCBnb3QgMjIwMAorRkFJTCBT
bmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9uIHggYXMgdGhlIGFyZWEgaXMgY292ZXJp
bmcgeCBheGlzLkhvd2V2ZXIsIHdlIHNuYXAgdG8gdGhlIHNwZWNpZmllZCBzbmFwIHBvc2l0aW9u
IG9uIHkgYXMgdGhlIGFyZWEgaXMgbm90IGNvdmVyaW5nIHkgYXhpcy4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2lu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4dAppbmRleCAz
Nzk1NjE4ZmUzYWI2NWFkMGRkZjI0MjVhMTE5Yjc4ODNjMTlhYTFiLi4yMjMzMWJjNmZiNWMxMWVi
OGY1NGY3ZDAwMDk0NGQwOWI1YjZiZWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLW1hcmdp
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkg
c2Nyb2xsLW1hcmdpbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAwCi1GQUlM
IHNjcm9sbC1tYXJnaW4gZG9lc24ndCBjb250cmlidXRlIHRvIHRoZSBzbmFwIHBvc2l0aW9uIG9m
IHRoZSBlbGVtZW50IGlmIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2Nyb2xsIHBvcnQgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1MAorUEFTUyBTbmFwcyB0byB0aGUgcG9zaXRpb25z
IGFkanVzdGVkIGJ5IHNjcm9sbC1tYXJnaW4KK1BBU1Mgc2Nyb2xsLW1hcmdpbiBkb2Vzbid0IGNv
bnRyaWJ1dGUgdG8gdGhlIHNuYXAgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgaWYgaXQncyBvdXRz
aWRlIG9mIHRoZSBzY3JvbGwgcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXBhZGRp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1wYWRkaW5nLWV4cGVjdGVkLnR4dAppbmRl
eCAwZjc4MzViMDYwZWVhYzRmNTM5Y2U3MDAwNDllMWIwZDQ0OGIzZTY3Li4xM2Y2MzE2Yzk2YjNi
YmEzMWNiNjA2ZGYyYTk5ZmU5NmYxZmQyOTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXBh
ZGRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBhZGp1c3Rl
ZCBieSBzY3JvbGwtcGFkZGluZyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAw
CitQQVNTIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkgc2Nyb2xsLXBhZGRpbmcK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0CmluZGV4IGIwNmJkMzU5Yzc0NzVlMGE3
MzllOGEyMDNjMjVhMzlmMDg5ZTc5ZDEuLmNmMTEzYjEzMjU0YjQzN2MyMDQ5Yzk1MmI0MTY2Y2Qy
OTQxNWM1YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdG9wLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2
IEBACiAKLUZBSUwgQSBzY3JvbGwgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3Np
dGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBh
bHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAotRkFJTCBBIHNj
cm9sbCB3aXRoIGludGVuZGVkIGVuZCBwb3NpdGlvbiBzaG91bGQgYWx3YXlzIGNob29zZSB0aGUg
Y2xvc2VzdCBzbmFwIHBvc2l0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbC1zbmFwLXN0b3Ag
dmFsdWUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDMwMAotRkFJTCBBIHNj
cm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRp
cmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRo
IHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1
dCBnb3QgMTcxNQotRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgbm9uLXNuYXBw
aW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQg
bm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAorRkFJTCBBIHNjcm9sbCB3aXRoIGlu
dGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAg
YXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwIGJ1dCBnb3QgMjAwCitQQVNTIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQgZW5kIHBvc2l0
aW9uIHNob3VsZCBhbHdheXMgY2hvb3NlIHRoZSBjbG9zZXN0IHNuYXAgcG9zaXRpb24gcmVnYXJk
bGVzcyBvZiB0aGUgc2Nyb2xsLXNuYXAtc3RvcCB2YWx1ZS4KK0ZBSUwgQSBzY3JvbGwgb3V0c2lk
ZSBib3VuZHMgaW4gdGhlIHNuYXBwaW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5k
IGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25h
cC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDIwMAor
RkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgbm9uLXNuYXBwaW5nIGF4aXMgd2l0
aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBz
bmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMCBidXQgZ290IDIwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
dHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1leHBlY3RlZC50eHQK
aW5kZXggYWM3YmJlYzY1MmUwZjJlOWNiYWNhMTQ5YmNiNWQ1OWNkNWQxMDQ2Mi4uZDIyYWM4YWMz
Y2FjMmQzMGM5NDdjNzQxZDVkZDE5MWEyZmM2NDU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWV4
cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBtYW5kYXRvcnkgc2Nyb2xsLXNuYXAt
dHlwZSBzaG91bGQgc25hcCBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHZpc2libGUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA2MjUKK1BBU1MgbWFuZGF0b3J5IHNjcm9s
bC1zbmFwLXR5cGUgc2hvdWxkIHNuYXAgYXMgbG9uZyBhcyB0aGUgZWxlbWVudCBpcyB2aXNpYmxl
LgogUEFTUyBwcm94aW1pdHkgc2Nyb2xsLXNuYXAtdHlwZSBzaG91bGRuJ3Qgc25hcCBpZiB0aGUg
c25hcCBwb3NpdGlvbiBpcyB0b28gZmFyIGF3YXkuCi1GQUlMIHByb3hpbWl0eSBzY3JvbGwtc25h
cC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNsb3NlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTk1CitQQVNTIHByb3hpbWl0eSBzY3JvbGwt
c25hcC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNsb3NlLgogUEFT
UyBub25lIHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkbid0IHNuYXAuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwt
c25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
VG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiYzE4ZjZkYWViZTEyN2Q2MzJj
YWZhNmVhMjI5ZmFlMWY5ZjVkZjUuLjcxMTBmZDc2MDQwZDE5MGEyN2NlYjUxMGI4YjE4YWM4OTc3
MjA5OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dApA
QCAtMSw0MCArMSw0MCBAQAogCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3Ag
Zm9yIHtsZWZ0OiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Ny
b2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFz
c2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIHZpZXdwb3J0
LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9uIGRpdiBs
YW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgw
MAotRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIHNjcm9sbFRvKHts
ZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0
OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4
MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0
OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHts
ZWZ0OiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIHdp
bmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDgwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5
MDB9IG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAw
MCBidXQgZ290IDkwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7
dG9wOiA5MDB9IG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNjcm9sbExl
ZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCi1GQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAw
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxC
eSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKK1BBU1Mgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2
IGxhbmRzIG9uICgwLCAxMDAwKQorUEFTUyBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFu
ZHMgb24gKDAsIDEwMDApCiBGQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRl
ZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gdmlld3BvcnQt
ZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB3aW5kb3cg
bGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKIEZBSUwgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgwLCAxMDAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2lnbiBz
Y3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiBkaXYg
bGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdv
dCA5MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkw
MCwgdG9wOiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNj
cm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9w
OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA5MDAKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBk
aXYgbGFuZHMgb24gKDEwMDAsIDEwMDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDog
ODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDog
OTAwLCB0b3A6IDgwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEw
MDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwg
c2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgOTAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93
IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxh
bmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3Qg
OTAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxU
b3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQog
RkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6
IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0x
MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHdpbmRv
dyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290
IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFu
ZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAK
LUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0
b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRv
cCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkK
IEZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0
b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbFRv
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQotRkFJTCBzY3JvbGxCeSh7bGVm
dDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJ
TCBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5n
IGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAg
YnV0IGdvdCAzMjE1CiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRl
ci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBwZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAtYXJlYS13aGlsZS1zbmFwcGVk
LWV4cGVjdGVkLnR4dAppbmRleCBlZDNiMjgxNWQ1YWUxZGY4MzFjZjM5ZWMxZWM1Njk0OTVlOTk5
NjYzLi40M2I2NjA3ZDIwM2QwMjVjYTJhNmE1Y2U1MGE2ZGU4MTJjOGFjOTMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBw
ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2FkZGluZy1z
bmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgQWRkaW5nIGEgbmV3IHNuYXAgYXJlYSB3aGlsZSBhbHJlYWR5IHNuYXBwZWQgc2hvdWxkIG5v
dCBtYWtlIHRoZSBzY3JvbGxlciBzbmFwIHRvIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAgYnV0IGdvdCAwCitQQVNTIEFkZGluZyBhIG5ldyBzbmFwIGFyZWEgd2hpbGUgYWxyZWFkeSBz
bmFwcGVkIHNob3VsZCBub3QgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBpdC4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Nyb2xsLXNuYXAtYWxp
Z24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Ny
b2xsLXNuYXAtYWxpZ24tZXhwZWN0ZWQudHh0CmluZGV4IDVmY2ExNmMyYzFkODRjYzkxMmM0YTM2
NzY2Y2MyNjc3ZWNiM2MyYTUuLjdmZjZkYzg2OTQwMTkyZmZjZTJlNjkzMjBmNDljYmMyOGJiZTdl
YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNjcm9s
bC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91
dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiAKLUZBSUwgQ2hhbmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hv
dWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIgc25hcCBw
b3NpdGlvbiBpcyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mg
c25hcCBhbGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBhIG5ldyBz
bmFwIGFyZWEuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BBU1MgQ2hh
bmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhl
IHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIgc25hcCBwb3NpdGlvbiBpcyBj
bG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0CitQQVNTIFJlbW92aW5nIHRoZSBjdXJyZW50IHRh
cmdldCdzIHNuYXAgYWxpZ25tZW50IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8g
YSBuZXcgc25hcCBhcmVhLgogUEFTUyBDaGFuZ2luZyBhbiBlbGVtZW50IHNuYXAgYWxpZ25tZW50
IGZyb20gbm9uZSB0byBzdGFydCBzaG91bGQgbWFrZSB0aGVzY3JvbGxlciByZXNuYXAuCiBQQVNT
IENoYW5naW5nIGFuIGVsZW1lbnQgc25hcCBhbGlnbm1lbnQgZnJvbSBub25lIHRvIHN0YXJ0IGJ5
IGFkZGluZyBhIGNsYXNzIHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJnZXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdl
dC1leHBlY3RlZC50eHQKaW5kZXggZWZiNjdhYzc2NDc3ZjFjMTE4Y2YwMmI3ODM3MTBhOTM5MDJi
ZDQ1OC4uYmY0ODBmMmVhNzk2ZDc0ZmY3MTcwZGEzNjNjZGZjNmEwYzcxYjBkOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdl
dC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgTW92aW5nIHRoZSBjdXJyZW50
IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8gaXQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgQ2hhbmdpbmcgdGhlIGxheW91
dCBvZiBvdGhlciBlbGVtZW50cyBzaG91bGQgYmUgYWJsZSB0byBjYXVzZSByZXNuYXBwaW5nIHRv
IHRoZSB0YXJnZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwg
VHJhbnNmb3JtaW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3Jv
bGxlciByZXNuYXAgdG8gaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAK
LUZBSUwgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMgdGhhdCBkbyBub3QgY2hhbmdlIHRo
ZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIHNjcm9s
bCBvZmZzZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKK1BBU1MgTW92
aW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNu
YXAgdG8gaXQuCitQQVNTIENoYW5naW5nIHRoZSBsYXlvdXQgb2Ygb3RoZXIgZWxlbWVudHMgc2hv
dWxkIGJlIGFibGUgdG8gY2F1c2UgcmVzbmFwcGluZyB0byB0aGUgdGFyZ2V0LgorUEFTUyBUcmFu
c2Zvcm1pbmcgdGhlIGN1cnJlbnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVy
IHJlc25hcCB0byBpdC4KK1BBU1MgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMgdGhhdCBk
byBub3QgY2hhbmdlIHRoZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxkIG5vdCBj
aGFuZ2UgdGhlIHNjcm9sbCBvZmZzZXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1hZnRlci1yZWxheW91dC9yZW1vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4
IDU1Y2EwNjM2NmQzYTg5YmQ5OTMyNDlkYTM4OTE0NzM3MTlkODMxNGIuLmVkZjFjYzQ5MDNkZjI5
ZTc4MmIwNjRmYzFlODdkZGNmYTQ1NmIzMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVtb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBSZW1vdmluZyB0aGUgY3VycmVudCBzbmFwIHRhcmdldCBz
aG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBhIG5ldyB0YXJnZXQuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BBU1MgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgc25h
cCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHNuYXAgdG8gYSBuZXcgdGFyZ2V0Lgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xsLWNvbnRh
aW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xs
LWNvbnRhaW5lci1leHBlY3RlZC50eHQKaW5kZXggMjBlYTQzNDFlZTFjZmY3YzdiOTQ0OGYwNjM4
MDg4YjJhZjI5MjkxMi4uZWE5NTE2ZDdiMGU0NjBhNzY0ODI4ODZiYjQ3YzBiMDlhZGFkNmQyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1jb250YWlu
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3Jv
bGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBNYWtpbmcg
YW4gZWxlbWVudCBzY3JvbGxhYmxlIHNob3VsZCBtYWtlIGl0IGNhcHR1cmUgdGhlIGNvcnJlY3Qg
ZGVzY2VuZGFudCBzbmFwIGFyZWFzJyBzbmFwIHBvaW50cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgNTAwIGJ1dCBnb3QgMTAKLUZBSUwgQXR0YWNoaW5nIGEgbmV3IGVsZW1lbnQgdGhhdCBpcyBz
Y3JvbGxhYmxlIHNob3VsZCBhc3NpZ24gdGhlIGNvcnJlY3Qgc25hcCBhcmVhcyB0byBpdC4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMTAKK1BBU1MgTWFraW5nIGFuIGVsZW1l
bnQgc2Nyb2xsYWJsZSBzaG91bGQgbWFrZSBpdCBjYXB0dXJlIHRoZSBjb3JyZWN0IGRlc2NlbmRh
bnQgc25hcCBhcmVhcycgc25hcCBwb2ludHMuCitQQVNTIEF0dGFjaGluZyBhIG5ldyBlbGVtZW50
IHRoYXQgaXMgc2Nyb2xsYWJsZSBzaG91bGQgYXNzaWduIHRoZSBjb3JyZWN0IHNuYXAgYXJlYXMg
dG8gaXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1z
Y3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5n
LXJlbW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dAppbmRleCBiOWI4ZWFiZjdmY2Fl
ZWRjNzBlNTMxNzI4NTllZmFkYTYyODY0OTMyLi44YmUzZGIxMWVkYzlkMjljZGM2ZThiYjA0YzEy
MTA1NzBiYzA0MDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1v
dmUtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1j
YXB0dXJpbmctcmVtb3ZlLXNjcm9sbC1jb250YWluZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIE1ha2luZyBhIHNuYXAgY29udGFpbmVyIG5vdCBzY3JvbGxhYmxlIHNob3Vs
ZCBwcm9tb3RlIHRoZSBuZXh0IHNjcm9sbGFibGUgYW5jZXN0b3IgdG8gYmVjb21lIGEgc25hcCBj
b250YWluZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDMwMCBidXQgZ290IDMxMAorUEFTUyBN
YWtpbmcgYSBzbmFwIGNvbnRhaW5lciBub3Qgc2Nyb2xsYWJsZSBzaG91bGQgcHJvbW90ZSB0aGUg
bmV4dCBzY3JvbGxhYmxlIGFuY2VzdG9yIHRvIGJlY29tZSBhIHNuYXAgY29udGFpbmVyLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0NTUwM2E2MDVmNmE3YmJiZTc4
MWM5N2RiNjVjMDkzMDk0Njg4Y2QxLi42ZGM0ZDhjOGI5N2YzZjYxNWRlMTc3YjYyYjI0YjBjOTA3
OTg1YjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEs
MTAgQEAKIAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIGhvcml6b250YWwtdGIgd3JpdGluZyBt
b2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRf
ZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAotRkFJ
TCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLWxyIHdyaXRpbmcgbW9kZSB3aXRoICdzY3Jv
bGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25z
IGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIDExNSBidXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVj
dGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246
IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24g
eCBleHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIGhv
cml6b250YWwtdGIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3Rh
cnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0
ZWQgMzAwIGJ1dCBnb3QgMTE1CitQQVNTIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGljYWwtbHIg
d3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVu
dAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRo
ICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczog
YWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiBGQUlMIFNu
YXBzIGNvcnJlY3RseSBmb3IgaG9yaXpvbnRhbC10YiB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xs
LXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBj
b3JyZWN0bHkgb24geCBleHBlY3RlZCAxMTUgYnV0IGdvdCAwCiBGQUlMIFNuYXBzIGNvcnJlY3Rs
eSBmb3IgdmVydGljYWwtbHIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBz
dGFydCBlbmQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHgg
ZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2Fs
LXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBhbGln
bm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB5IGV4cGVjdGVkIDE2NSBi
dXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5IGZvciAnZGlyZWN0aW9uOiBydGwnIHdpdGgg
J3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBh
bGlnbnMgY29ycmVjdGx5IG9uIHkgZXhwZWN0ZWQgMTY1IGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBj
b3JyZWN0bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0
YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBl
eHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRp
Y2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBh
bGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC01
MDAgYnV0IGdvdCAtMzAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRs
JyB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2Vx
dWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC01MDAgYnV0IGdvdCAtMzAwCitG
QUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRsJyB3aXRoICdzY3JvbGwtc25h
cC1hbGlnbjogc3RhcnQgZW5kJyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJl
Y3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4IGNjZmM1NTlhNTZlYjQ0YmM3
YTQzM2UxZjE5MzhiN2E4MTc1OGJhY2YuLmIwZDNhN2E3ZmI5ZTIzODBmZjU0MGRlOTcyN2I3MDVk
MTM0MWIyYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3JtZWQtdGFyZ2V0LWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQg
c25hcCBzdGFydCBwb3NpdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNTAgYnV0IGdvdCAx
MAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQgc25hcCBlbmQgcG9zaXRpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0IGdvdCAxMAotRkFJTCBTbmFwcyB0byB2aXNpYmxlIHRv
cCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSB0cmFuc2Zvcm1lZCBib3ggYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMCBidXQgZ290IDEwCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIHN0
YXJ0IHBvc2l0aW9uCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIGVuZCBwb3Np
dGlvbgorUEFTUyBTbmFwcyB0byB2aXNpYmxlIHRvcCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSB0cmFu
c2Zvcm1lZCBib3gKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1i
b3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBl
Y3RlZC50eHQKaW5kZXggNDc0MGE4MzBmYjE3NWVjYjI5ZTdjYzcyMThmOTRiMzI3OTZmNjFlZi4u
OGIwY2E3OGU4ODMyODA2OTgyMzBlZGM5MjUxZmYyM2EwNDRkZDVhNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by12aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWFzIGluIHRoZSBjYXNlIHdoZXJlIHRha2lu
ZyB0aGUgY2xvc2VzdCBzbmFwIHBvaW50IG9mICAgZWFjaCBheGlzIGRvZXMgbm90IHNuYXAgdG8g
YSB2aXNpYmxlIGFyZWEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDUwMAorRkFJ
TCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhcyBpbiB0aGUgY2FzZSB3aGVyZSB0YWtpbmcgdGhl
IGNsb3Nlc3Qgc25hcCBwb2ludCBvZiAgIGVhY2ggYXhpcyBkb2VzIG5vdCBzbmFwIHRvIGEgdmlz
aWJsZSBhcmVhIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCA4MDAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4tYm90aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4
dAppbmRleCAzNjQwMDM2MjRlMWEyODQ0YjY0NDU4ZGYwMjY5NTg0NmUwMmNhYzc0Li41NGFkZmY1
OTFlZWQyYTc0MDk5ZWE0NDA4OWQxMzk2YmVmZmY2N2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9ubHkgdGhlIHNjcm9sbCBtYXJn
aW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDgwMCBidXQgZ290IDUwMAorUEFTUyBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9ubHkgdGhl
IHNjcm9sbCBtYXJnaW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi14LWF4aXMtZXhwZWN0
ZWQudHh0CmluZGV4IDEyOGY5NWRmNDEyMGExODIwZjczM2IyZDU1OTllZGZlN2EwYzM0YTUuLjY2
ZWFjYzE5Y2Y0MTc1NWY4NzYxOWU3MGY0NWYyZGEyMGViOGMzYWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVk
IHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0
aGUgeC1heGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAorUEFTUyBT
Y3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBh
cmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeC1heGlzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMtZXhwZWN0ZWQudHh0
CmluZGV4IDM2MTc3MzcwNjYzZGMwZWM0MDBkNDM4YzBhZGVjNGZkZTJlNWFlYjUuLmY3NTNjY2Mz
ODEzYzViOTk5ZjM0MGZiZDFkYWExYzc4MGYwMmNhNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4g
Y2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeS1h
eGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAorUEFTUyBTY3JvbGwg
bWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZp
c2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeS1heGlzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAxMDljNjRjNGUwZmI4
OWNhYTIyNDhkNGRjNzNmODAzNDJhYWE0OTliLi5kYWQzOTc1MDkwYTdhMWVlMzViODY5NTMyZjVi
NDgyOGMzNTkwNzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXgt
YXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4
aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIE9ubHkgc25hcCB0byB2aXNp
YmxlIGFyZWEgb24gWCBheGlzLCBldmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNs
b3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA1MDAKK0ZBSUwgT25seSBz
bmFwIHRvIHZpc2libGUgYXJlYSBvbiBYIGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZpc2libGUg
b25lcyBhcmUgY2xvc2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290IDcwMAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3RlZC50eHQK
aW5kZXggMjUyYjdkMjQ4ZDJmZjM2MDE5NTcxN2Y0NWEyYmFjNDliNmYzZTAyMC4uMjBjNzA3ZmY5
ZDA4MjljMzZmZDAzYjhhZDlhOThhYTFmNTEyNjhmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
dG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRv
LXZpc2libGUtYXJlYXMteS1heGlzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhIG9uIFkgYXhpcywgZXZlbiB3aGVuIHRoZSBub24t
dmlzaWJsZSBvbmVzIGFyZSBjbG9zZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAwIGJ1dCBn
b3QgNTAwCitGQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWEgb24gWSBheGlzLCBldmVuIHdo
ZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNsb3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCA4MDAgYnV0IGdvdCA3MDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAt
cG9zaXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNoYWJsZS1zbmFwLXBvc2l0aW9u
cy1leHBlY3RlZC50eHQKaW5kZXggY2IyMjk4ODJkYmQ0MzFmZTA5YWQzODUxN2U3ZjUwYTE0NTVj
YzFkMy4uZDUzNjA3MWVhY2Y4ODI4MWJiNDk4ODMzOGYyY2M5YjA4OTFjYmI3YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgZGVmaW5lZCBieSB0aGUgZWxlbWVu
dCBhcyBtdWNoIGFzIHBvc3NpYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
MDAKK1BBU1MgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBkZWZpbmVkIGJ5IHRoZSBlbGVtZW50IGFz
IG11Y2ggYXMgcG9zc2libGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CmluZGV4IDBlODFiMWI2
MjI3ZGRhN2ZkMmQzNGNjNGEyMDM0NWMyZDc1NDBmZWQuLmZkOWY4MWEzY2I1NGEwODk3ZTAxODc0
YjQ1ODI4Y2YzNmI0NDM0NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nj
cm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQKQEAgLTEsNDAgKzEs
NDAgQEAKIAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
ODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA4MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ig
e2xlZnQ6IDgwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBhc3NpZ24gc2Nyb2xs
TGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEw
MDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Ny
b2xsQnkoe2xlZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBzY3JvbGxUbyh7bGVmdDogODAwfSkg
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwfSkgb24gdmll
d3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwfSkg
b24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMg
b24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZB
SUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBvbiBkaXYg
bGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBv
biBkaXYgbGFuZHMgb24gKDAsIDEwMDApCiBGQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3Jv
bGxUb3AgZm9yIHt0b3A6IDkwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJ
TCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsQnkoe3RvcDogOTAw
fSkgb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgOTAwCitQQVNTIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAo
MCwgMTAwMCkKK1BBU1Mgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAx
MDAwKQogRkFJTCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVs
ZW1lbnQgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCA5MDAKIEZBSUwgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgw
LCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNj
cm9sbEJ5KHt0b3A6IDkwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBh
bmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogOTAwLCB0b3A6IDgwMH0gb24gZGl2IGxhbmRzIG9uICgx
MDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCitQQVNT
IGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAw
fSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApCiBGQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFu
ZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiB2aWV3cG9ydC1kZWZpbmlu
ZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgOTAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxh
bmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3Qg
OTAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxhbmRzIG9u
ICgxMDAwLCAxMDAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRp
diBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4
MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHts
ZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAog
RkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAo
MTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAw
MCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBh
c3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6IC0xMDB9
IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVm
dDogODAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgYXNzaWdu
IHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSBvbiB2
aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRv
cDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAg
YnV0IGdvdCA4MDAKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2
IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRv
cDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnko
e2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5k
cyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAog
RkFJTCBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24g
KDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwg
c2Nyb2xsQnkoe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAw
LCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIGFzc2ln
biBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSBv
biBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCAzMjE1CitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0
OiAxMDAwMCwgdG9wOiAtMTAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFzc2ln
biBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSBv
biB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMTAwMDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwg
dG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQorUEFTUyBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDog
LTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRv
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBs
YW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDEw
MDAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQt
ZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDEwMDAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAt
MTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgMTAwMDAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417448</attachid>
            <date>2021-01-12 05:38:27 -0800</date>
            <delta_ts>2021-01-13 03:45:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145330-20210112143825.patch</filename>
            <type>text/plain</type>
            <size>93773</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uNDIyZGE5ODFlZjBkZjc3ODMyZTExMDM1ZjhjMWQ2
Mzg1ZmIyMmJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2Nyb2xsIHNuYXBwaW5n
IHdoZW4gc2Nyb2xsIHZpYSBET00gQVBJcy4gVGhpcyBjaGFuZ2UgYWxzbworICAgICAgICBpbnRy
b2R1Y2VzIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyB3aGljaCBob2xkcyBjb21tb24gcGFy
YW1ldGVycyBmb3IKKyAgICAgICAgb3BlcmF0aW9ucyB0aGF0IGZyb20gRE9NIHRoYXQgc2V0IHNj
cm9sbCBwb3NpdGlvbi4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OnNjcm9sbEJ5KTogV2hlbiBjYWxsaW5nIHNjcm9sbFRvIG1hcmsgdGhh
dCB0aGlzIGNhbGwgaXMgYSAiZGlyZWN0aW9uYWwiCisgICAgICAgIHNjcm9sbCwgc28gdGhhdCBk
aXJlY3Rpb25hbCBzY3JvbGwgc25hcHBpbmcgaXMgZG9uZS4KKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OnNjcm9sbFRvKTogQWNjZXB0IHRoZSBuZXcgZW51bSBhcmd1bWVudCBtYXJraW5nIGRp
cmVjdGlvbmFsIHNjcm9sbAorICAgICAgICBhbmQgYWxzbyBwcm9wZXJseSBzZXQgdXAgdGhlIFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNl
dFNjcm9sbExlZnQpOiBVc2UgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zLgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6c2V0U2Nyb2xsVG9wKTogRGl0dG8uCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDogVXBkYXRlIG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbEJ5IGNvbnN0KTog
UGFzcyB0aGUgbmV3IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBhcmd1bWVudAorICAg
ICAgICB0byBzY3JvbGxUby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8g
Y29uc3QpOiBBY2NlcHQgdGhlIG5ldyBhcmd1bWVudCBhbmQgYWxzbyBwcm9wZXJseSBpbnN0YW50
aWF0ZQorICAgICAgICBhIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyBhcmd1bWVudCBkb2lu
ZyB0aGUgc2Nyb2xsIG9wZXJhdGlvbi4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOiBVcGRh
dGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBBY2NlcHQgdGhl
IG5ldyBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgYXJndW1lbnQKKyAgICAgICAgYW5kIGFs
c28gcHJvcGVybHkgc25hcCB0aGUgZGVzdGluYXRpb24gbG9jYXRpb24gYmFzZWQgb24gc2Nyb2xs
IHNuYXBwaW5nIHJ1bGVzLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6IFVwZGF0ZSBtZXRo
b2QgZGVmaW5pdGlvbi4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6IE1vdmUgdGhlIGNoZWNrIHdoaWNoIHRy
YW5zbGF0ZXMgdGhlIHNjcm9sbGluZ0VsZW1lbnQgdG8gdGhlCisgICAgICAgIHJvb3QgZG9jdW1l
bnQgZWxlbWVudCBoZXJlIHRvIGF2b2lkIGFzIG11Y2ggcmVwZXRpdGlvbi4KKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvcjo6c2Nyb2xsKTogQ2hhbmdlIHRvIHJlZmxlY3QgcmVuYW1lIG9mIGFkanVzdFNjcm9sbERl
c3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjphZGp1c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKTogQWRkZWQg
dGhpcyBoZWxwZXIgd2hpY2ggZG9lcworICAgICAgICBzbmFwcGluZyBpbiBib3RoIHRoZSB4IGFu
ZCB0aGUgeSBheGlzLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6IFVwZGF0
ZSBtZXRob2QgZGVmaW5pdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDog
QWRkZWQgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zIGFuZCBTY3JvbGxTbmFwUG9pbnRTZWxl
Y3Rpb25NZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlv
bnM6OmNyZWF0ZVByb2dyYW1tYXRpYyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
UG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVVc2VyKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1VuY2xh
bXBlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRp
b25zOjpzZXRBbmltYXRlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsUG9zaXRp
b25DaGFuZ2VPcHRpb25zOjplbmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKTogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTogVXBkYXRlIHRvIHJlZmxlY3Qg
U2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmll
dzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxW
aWV3Lmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIu
aDogUmVuYW1lIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyB0
bworICAgICAgICBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbiBhbmQgYWxsb3cgaXQgdG8gZG8gbm9u
LWRpcmVjdGlvbmFsIHNuYXBwaW5nLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjphZGp1c3RT
Y3JvbGxEZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjph
ZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94OjpzZXRTY3JvbGxMZWZ0KTogVXBkYXRlIHRvIHJlZmxlY3QgU2Nyb2xsUG9zaXRpb25D
aGFuZ2VPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxUb3Ap
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxUb1hQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OnNjcm9sbFRvWVBvc2l0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpzY3JvbGxUb09mZnNldCk6IENvbWJpbmUgd2l0aCBzY3JvbGxUb09mZnNldCBhbmQgYWxz
byBzdGFydCBkb2luZworICAgICAgICBzbmFwcGluZyBkdXJpbmcgdGhpcyBvcGVyYXRpb24uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IENyZWF0
ZSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgd2hlbiBkb2luZworICAgICAgICBzY3JvbGxp
bmcgb3BlcmF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09m
ZnNldFdpdGhBbmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllci5oOiBVcGRhdGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNj
cm9sbExlZnQpOiBVcGRhdGUgdG8gdXNlIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucy4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6IERpdHRvLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXJxdWVlOjpzdGFydCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6IERpdHRvLgor
CiAyMDIxLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNl
IFVURi04IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKaW5kZXggZTEwYjRkYjAzMTA2ZTY4ZjU0MTIzYmNlODY2YWU2YjQzMDkz
M2JlOC4uMmE0Yjg3NGI4ZTZlNDdiZjVjZWQzY2NiY2UzZGFhNDEwMTY4MDVjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAxLTExICBNYXJ0aW4g
Um9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25hcCBw
b2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIERPTS9ET01IVE1MLm1tOgorICAgICAgICAoLVtET01I
VE1MRWxlbWVudCBzZXRTY3JvbGxYT2Zmc2V0OnNjcm9sbFlPZmZzZXQ6YWRqdXN0Rm9ySU9TQ2Fy
ZXQ6XSk6IFVwZGF0ZSB0byB1c2UKKyAgICAgICAgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25z
LgorCiAyMDIwLTEyLTE5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
TW92ZSBGcmFtZUxvYWRlcjo6YXJlUGx1Z2luc0VuYWJsZWQgdG8gRnJhbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCA5Y2FhM2M4ZTZlZjdmNmVkOWYyZDYzM2Q3NDI3N2FjYzEzOWEyM2I4Li4w
OTYzOTBhNjA0N2EwMjdiNmJiYzUzOGQyNmQ3MTRlZmMwYjZhZDllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCkBAIC05NDgsNyArOTQ4LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxCeShjb25zdCBT
Y3JvbGxUb09wdGlvbnMmIG9wdGlvbnMpCiAgICAgU2Nyb2xsVG9PcHRpb25zIHNjcm9sbFRvT3B0
aW9ucyA9IG5vcm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1RvKG9wdGlvbnMs
IDAsIDApOwogICAgIHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgKz0gc2Nyb2xsTGVmdCgp
OwogICAgIHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSArPSBzY3JvbGxUb3AoKTsKLSAgICBz
Y3JvbGxUbyhzY3JvbGxUb09wdGlvbnMpOworICAgIHNjcm9sbFRvKHNjcm9sbFRvT3B0aW9ucywg
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6
RGlyZWN0aW9uYWwpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5KGRvdWJsZSB4LCBkb3Vi
bGUgeSkKQEAgLTk1Niw3ICs5NTYsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEJ5KGRvdWJsZSB4
LCBkb3VibGUgeSkKICAgICBzY3JvbGxCeShTY3JvbGxUb09wdGlvbnMoeCwgeSkpOwogfQogCi12
b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNvbnN0IFNjcm9s
bFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIFNjcm9sbFNuYXBQ
b2ludFNlbGVjdGlvbk1ldGhvZCBzbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QpCiB7CiAgICAgaWYg
KCFkb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZCgpKSB7
CiAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHRoZSByb290IGVsZW1lbnQgYW5kIGRvY3Vt
ZW50IGlzIGluIHF1aXJrcyBtb2RlLCB0ZXJtaW5hdGUgdGhlc2Ugc3RlcHMuCkBAIC05NzUsNyAr
OTc1LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9w
dGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogICAgICAgICBpZiAoIXdpbmRvdykKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB3aW5kb3ctPnNjcm9sbFRvKG9wdGlvbnMsIGNs
YW1waW5nKTsKKyAgICAgICAgd2luZG93LT5zY3JvbGxUbyhvcHRpb25zLCBjbGFtcGluZywgc25h
cFBvaW50U2VsZWN0aW9uTWV0aG9kKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtOTg1
LDcgKzk4NSw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25z
JiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICBpZiAoIXJlbmRlcmVyIHx8
ICFyZW5kZXJlci0+aGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNj
cm9sbFRvT3B0aW9ucyBzY3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29yZGlu
YXRlc09yRmFsbEJhY2tUbyhvcHRpb25zLAorICAgIGF1dG8gc2Nyb2xsVG9PcHRpb25zID0gbm9y
bWFsaXplTm9uRmluaXRlQ29vcmRpbmF0ZXNPckZhbGxCYWNrVG8ob3B0aW9ucywKICAgICAgICAg
YWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmRlcmVyLT5zY3JvbGxMZWZ0KCksICpyZW5kZXJlciks
CiAgICAgICAgIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kZXJlci0+c2Nyb2xsVG9wKCksICpy
ZW5kZXJlcikKICAgICApOwpAQCAtOTkzLDggKzk5MywxMCBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9s
bFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcpCiAgICAgICAgIGNsYW1wVG9JbnRlZ2VyKHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkg
KiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpLAogICAgICAgICBjbGFtcFRvSW50
ZWdlcihzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZl
Y3RpdmVab29tKCkpCiAgICAgKTsKLSAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNt
b290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihTY3JvbGxCZWhh
dmlvcjo6QXV0byksIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xs
OjpObzsKLSAgICByZW5kZXJlci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKworICAgIGF1dG8g
YW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZh
bHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCB0aGlzKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMg
OiBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlv
bnMgPSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1dpdGhP
cHRpb25zKGNsYW1waW5nLCBhbmltYXRlZCwgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKTsKKyAg
ICByZW5kZXJlci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyk7CiB9CiAKIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oZG91YmxlIHgs
IGRvdWJsZSB5KQpAQCAtMTMyMCwyMSArMTMyMiwyMCBAQCB2b2lkIEVsZW1lbnQ6OnNldFNjcm9s
bExlZnQoaW50IG5ld0xlZnQpCiB7CiAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIGF1dG8gb3B0aW9ucyA9IFNjcm9sbFBvc2l0aW9u
Q2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7CisgICAgb3B0aW9ucy5hbmltYXRl
ZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgdGhpcykgPyBBbmlt
YXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOworCiAgICAgaWYgKGRvY3VtZW50
KCkuc2Nyb2xsaW5nRWxlbWVudCgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGF1dG8qIGZyYW1l
ID0gZG9jdW1lbnRGcmFtZVdpdGhOb25OdWxsVmlldygpKSB7Ci0gICAgICAgICAgICAvLyBGSVhN
RTogU2hvdWxkIHdlIHVzZSBkb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/Ci0gICAgICAg
ICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1
OQotICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxp
bmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpID8g
QW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKICAgICAgICAgICAgIElu
dFBvaW50IHBvc2l0aW9uKHN0YXRpY19jYXN0PGludD4obmV3TGVmdCAqIGZyYW1lLT5wYWdlWm9v
bUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIGZyYW1lLT52aWV3KCktPnNj
cm9sbFkoKSk7Ci0gICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAg
IGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVy
ID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRMZWZ0ID0gY2xhbXBUb0ludGVn
ZXIobmV3TGVmdCAqIHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7Ci0gICAgICAg
IEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2
aW9yOjpBdXRvLCB0aGlzKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6
Tm87Ci0gICAgICAgIHJlbmRlcmVyLT5zZXRTY3JvbGxMZWZ0KGNsYW1wZWRMZWZ0LCBTY3JvbGxU
eXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7Cisg
ICAgICAgIHJlbmRlcmVyLT5zZXRTY3JvbGxMZWZ0KGNsYW1wZWRMZWZ0LCBvcHRpb25zKTsKICAg
ICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAg
ICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUo
dHJ1ZSk7CiAgICAgfQpAQCAtMTM0NCwyMSArMTM0NSwyMCBAQCB2b2lkIEVsZW1lbnQ6OnNldFNj
cm9sbFRvcChpbnQgbmV3VG9wKQogewogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKKyAgICBhdXRvIG9wdGlvbnMgPSBTY3JvbGxQb3NpdGlv
bkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgIG9wdGlvbnMuYW5pbWF0
ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKKwogICAgIGlmIChkb2N1bWVu
dCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewotICAgICAgICAgICAgLy8gRklY
TUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwotICAgICAg
ICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUw
NTkKLSAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xs
aW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAgICBJ
bnRQb2ludCBwb3NpdGlvbihmcmFtZS0+dmlldygpLT5zY3JvbGxYKCksIHN0YXRpY19jYXN0PGlu
dD4obmV3VG9wICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+ZnJhbWVTY2FsZUZh
Y3RvcigpKSk7Ci0gICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihw
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAg
IGZyYW1lLT52aWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVy
ID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgaW50IGNsYW1wZWRUb3AgPSBjbGFtcFRvSW50ZWdl
cihuZXdUb3AgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAgICBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
cjo6QXV0bywgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5v
OwotICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsVG9wKGNsYW1wZWRUb3AsIFNjcm9sbFR5cGU6
OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAg
ICAgcmVuZGVyZXItPnNldFNjcm9sbFRvcChjbGFtcGVkVG9wLCBvcHRpb25zKTsKICAgICAgICAg
aWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyZXItPmxheWVyKCkpCiAgICAgICAgICAg
ICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUodHJ1ZSk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNTZhY2E0ZWY0NzA2ZjdmMzBjMmJiZjkxNGNl
MTQ3NmY2YjFlNTdiZi4uODFiMWU5ZTg3ZGVkMjIwM2MwMDczZTRlMTMxNTFlMGQzOTI4Yzg1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCkBAIC0xNTgsNyArMTU4LDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzY3JvbGxCeShjb25zdCBTY3JvbGxUb09wdGlvbnMmKTsKICAgICB2b2lkIHNjcm9sbEJ5KGRv
dWJsZSB4LCBkb3VibGUgeSk7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvKGNvbnN0IFNjcm9s
bFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpOwor
ICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rp
b25NZXRob2QgPSBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkNsb3Nlc3QpOwogICAg
IHZvaWQgc2Nyb2xsVG8oZG91YmxlIHgsIGRvdWJsZSB5KTsKIAogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2Nyb2xsQnlMaW5lcyhpbnQgbGluZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGUzM2ZhZTM4ZWVjM2JhMTM2Njk3YjhlZTVkMzVlOTA1M2VhODdhNmEuLjc2NWFjNDcx
ZmZmOWQ1MzRhOWJmZjkxYTliM2UxOWFiOGJiZTI0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTkwLDYgKzkwLDcgQEAKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIK
KyNpbmNsdWRlICJTY3JvbGxBbmltYXRvci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xp
Y3kuaCIKQEAgLTE2NzQsNyArMTY3NSw3IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxCeShjb25z
dCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMpIGNvbnN0CiAgICAgU2Nyb2xsVG9PcHRpb25zIHNj
cm9sbFRvT3B0aW9ucyA9IG5vcm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1Rv
KG9wdGlvbnMsIDAsIDApOwogICAgIHNjcm9sbFRvT3B0aW9ucy5sZWZ0LnZhbHVlKCkgKz0gdmll
dy0+bWFwRnJvbUxheW91dFRvQ1NTVW5pdHModmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlvbigp
LngoKSk7CiAgICAgc2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICs9IHZpZXctPm1hcEZyb21M
YXlvdXRUb0NTU1VuaXRzKHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKS55KCkpOwotICAg
IHNjcm9sbFRvKHNjcm9sbFRvT3B0aW9ucyk7CisgICAgc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25z
LCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9k
OjpEaXJlY3Rpb25hbCk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhkb3VibGUgeCwg
ZG91YmxlIHksIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKSBjb25zdApAQCAtMTY4Miw3ICsxNjgz
LDcgQEAgdm9pZCBET01XaW5kb3c6OnNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpIGNvbnN0CiAgICAgc2Nyb2xsVG8oU2Nyb2xsVG9PcHRpb25zKHgs
IHkpLCBjbGFtcGluZyk7CiB9CiAKLXZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3Jv
bGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKSBjb25zdAordm9p
ZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBzbmFw
UG9pbnRTZWxlY3Rpb25NZXRob2QpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3Bs
YXllZEluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTcwNiw5ICsxNzA3LDkgQEAgdm9p
ZCBET01XaW5kb3c6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYgb3B0aW9ucywgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcKIAogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3Vt
ZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVk
ID0gdXNlU21vb3RoU2Nyb2xsaW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhhdmlvci52YWx1ZU9yKFNj
cm9sbEJlaGF2aW9yOjpBdXRvKSwgZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKLQotICAgIHZpZXctPnNldENv
bnRlbnRzU2Nyb2xsUG9zaXRpb24obGF5b3V0UG9zLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAg
IGF1dG8gYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2
aW9yLnZhbHVlT3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLCBkb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKSkgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAg
IGF1dG8gc2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VP
cHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNXaXRoT3B0aW9ucyhjbGFtcGluZywgYW5pbWF0ZWQs
IHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCk7CisgICAgdmlldy0+c2V0Q29udGVudHNTY3JvbGxQ
b3NpdGlvbihsYXlvdXRQb3MsIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyk7CiB9CiAKIGJv
b2wgRE9NV2luZG93OjphbGxvd2VkVG9DaGFuZ2VXaW5kb3dHZW9tZXRyeSgpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAppbmRleCBhNzM5ZjgzMWZlZTkxZDE5MDYxZjdjMjA1MDAzMmEwYTdm
MTcwMzEzLi5mMjdhM2Q1MWMxNTU4MzQ4OGVmMTQ0YTc4MmZiYTRmMmRlN2E5MDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHNjcm9sbEJ5KGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYpIGNvbnN0OwogICAgIHZvaWQgc2Nyb2xs
QnkoZG91YmxlIHgsIGRvdWJsZSB5KSBjb25zdDsKLSAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IFNj
cm9sbFRvT3B0aW9ucyYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQp
IGNvbnN0OworICAgIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiwgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0
aW9uTWV0aG9kID0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpDbG9zZXN0KSBjb25z
dDsKICAgICB2b2lkIHNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgY29uc3Q7CiAKICAgICB2b2lkIG1vdmVCeShmbG9h
dCB4LCBmbG9hdCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlZWQ0
NTNhNjNlMmZiYTRkOGI1ZTI5OWJlOTcyMjg0ZTU5ZDkyNzA4Li40NzBkZGM4ZmEyMmM5OWJjZGE0
Yzg3Yjk3NTk1OWIxYjgxOTRhZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0y
MzExLDEyICsyMzExLDEyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0U2Nyb2xs
UG9zaXRpb24oSW50UG9pbnQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0Lngo
KSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0LnkoKSkpOwogfQogCi12b2lk
IEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9s
bFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0
ZWQpCit2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9w
dGlvbnMpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFt
ZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwgIiAsIGNsZWFy
aW5nIGFuY2hvciIpOwogCiAgICAgYXV0byBvbGRTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5
cGUoKTsKLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMp
OworICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9wdGlvbnMudHlwZSk7CiAKICAgICBtX21haW50
YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSBudWxscHRyOwogICAgIG1fc2hvdWxkU2Nyb2xsVG9G
b2N1c2VkRWxlbWVudCA9IGZhbHNlOwpAQCAtMjMyNCwxMCArMjMyNCwxMyBAQCB2b2lkIEZyYW1l
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0
aW9uLCBTY3JvbGxDbAogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKICAgICBpZiAo
cGFnZSAmJiBwYWdlLT5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQogICAgICAgICBzY3JvbGxB
bmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihwYWdlLT53aGVlbEV2ZW50VGVzdE1v
bml0b3IoKSk7Ci0gICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCi0gICAg
ICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24o
c2Nyb2xsUG9zaXRpb24pLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBjbGFtcGluZyk7CisKKyAgICBT
Y3JvbGxPZmZzZXQgc25hcHBlZE9mZnNldCA9IGNlaWxlZEludFBvaW50KHNjcm9sbEFuaW1hdG9y
KCkuYWRqdXN0U2Nyb2xsT2Zmc2V0Rm9yU25hcHBpbmdJZk5lZWRlZChzY3JvbGxPZmZzZXRGcm9t
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pLCBvcHRpb25zLnNuYXBQb2ludFNlbGVjdGlvbk1ldGhv
ZCkpOworCisgICAgaWYgKG9wdGlvbnMuYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykK
KyAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKHNuYXBwZWRPZmZzZXQsIGN1cnJl
bnRTY3JvbGxUeXBlKCksIG9wdGlvbnMuY2xhbXBpbmcpOwogICAgIGVsc2UKLSAgICAgICAgU2Ny
b2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1waW5nKTsKKyAg
ICAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zm
c2V0KHNuYXBwZWRPZmZzZXQpLCBvcHRpb25zKTsKIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBl
KG9sZFNjcm9sbFR5cGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggOTEzZWYyNmUy
MGE1MWIyZDU2NGViZDM2ZWEyYjAzODU5MTk2OGZlNC4uYmRmZTI3ODQ5ZjI5NjFjNmRkZTVlOWZm
OGRkYjUxMDIxNWYzMTcyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMzksNyArMjM5
LDcgQEAgcHVibGljOgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKSBm
aW5hbDsKICNlbmRpZgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObykgZmluYWw7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlv
biYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgPSBTY3JvbGxQb3NpdGlvbkNo
YW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpKSBmaW5hbDsKICAgICB2b2lkIHJlc3Rv
cmVTY3JvbGxiYXIoKTsKICAgICB2b2lkIHNjaGVkdWxlU2Nyb2xsVG9Gb2N1c2VkRWxlbWVudChT
ZWxlY3Rpb25SZXZlYWxNb2RlKTsKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1l
ZGlhdGVseUlmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9s
bEJlaGF2aW9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCmlu
ZGV4IGNmZTVmMzc2N2RkOTRhZjBkZGM5ZDE5ZmY0NTFhZDk1YjgyNTc2MWMuLjQ2OWExOWI4Mjk0
YWZmNWNlNzE2ODNmYzBkZjQwMjExODY0ODYyMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuY3BwCkBAIC0zNSw2ICszNSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJv
b2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBh
c3NvY2lhdGVkRWxlbWVudCkKIHsKKyAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1bWVu
dCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKKyAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0g
YXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQorICAgICAg
ICBhc3NvY2lhdGVkRWxlbWVudCA9IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpOworCiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudAogICAgICAgICB8fCAh
YXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVyKCkKICAgICAgICAgfHwgIWFzc29jaWF0ZWRFbGVt
ZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxl
ZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGEz
YmY4ZWUzNTE4YWEzYzIyY2U1ZDk4MWIzNDFmNTU3NjlmN2E4ZWMuLjJlZTllMzM5ODc2YTEzZjI2
ZDA3MDQ1ODM2NzM3MDVhOGRiZWRiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5jcHAKQEAgLTkxLDEyICs5MSwxMiBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpz
Y3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5
CiAgICAgYXV0byBuZXdPZmZzZXQgPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBv
c2l0aW9uKG5ld1Bvc2l0aW9uLCBzY3JvbGxPcmlnaW4pOwogICAgIGF1dG8gY3VycmVudE9mZnNl
dCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24odGhpcy0+Y3VycmVu
dFBvc2l0aW9uKCksIHNjcm9sbE9yaWdpbik7CiAgICAgaWYgKG9yaWVudGF0aW9uID09IEhvcml6
b250YWxTY3JvbGxiYXIpIHsKLSAgICAgICAgbmV3T2Zmc2V0LnNldFgobV9zY3JvbGxDb250cm9s
bGVyLmFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxF
dmVudEF4aXM6Okhvcml6b250YWwsIG5ld09mZnNldC54KCksIG11bHRpcGxpZXIsIGN1cnJlbnRP
ZmZzZXQueCgpKSk7CisgICAgICAgIG5ld09mZnNldC5zZXRYKG1fc2Nyb2xsQ29udHJvbGxlci5h
ZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIG5ld09m
ZnNldC54KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZzZXQueCgpKSk7CiAgICAgICAgIG5ld1Bv
c2l0aW9uID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdPZmZz
ZXQsIHNjcm9sbE9yaWdpbik7CiAgICAgICAgIHJldHVybiBzY3JvbGwoSG9yaXpvbnRhbFNjcm9s
bGJhciwgZ3JhbnVsYXJpdHksIG5ld1Bvc2l0aW9uLngoKSAtIHRoaXMtPmN1cnJlbnRQb3NpdGlv
bigpLngoKSwgMS4wKTsKICAgICB9CiAKLSAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRy
b2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JEaXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9s
bEV2ZW50QXhpczo6VmVydGljYWwsIG5ld1Bvc2l0aW9uLnkoKSwgbXVsdGlwbGllciwgY3VycmVu
dE9mZnNldC55KCkpKTsKKyAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRq
dXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3UG9zaXRp
b24ueSgpLCBtdWx0aXBsaWVyLCBjdXJyZW50T2Zmc2V0LnkoKSkpOwogICAgIG5ld1Bvc2l0aW9u
ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdPZmZzZXQsIHNj
cm9sbE9yaWdpbik7CiAgICAgcmV0dXJuIHNjcm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgZ3JhbnVs
YXJpdHksIG5ld1Bvc2l0aW9uLnkoKSAtIHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpLnkoKSwgMS4w
KTsKICNlbHNlCkBAIC0zNTQsNCArMzU0LDMwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmRpZEFk
ZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKikKICAgICBtX2FuaW1hdGlvblByb2dyYW1t
YXRpY1Njcm9sbC0+dXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKIH0KIAorRmxvYXRQb2ludCBTY3Jv
bGxBbmltYXRvcjo6YWRqdXN0U2Nyb2xsT2Zmc2V0Rm9yU25hcHBpbmdJZk5lZWRlZChjb25zdCBG
bG9hdFBvaW50JiBvZmZzZXQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBtZXRob2Qp
Cit7CisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKKyAgICBpZiAoIW1fc2Nyb2xsQ29udHJv
bGxlci51c2VzU2Nyb2xsU25hcCgpKQorICAgICAgICByZXR1cm4gb2Zmc2V0OworCisgICAgT3B0
aW9uYWw8ZmxvYXQ+IG9yaWdpbmFsWCwgb3JpZ2luYWxZOworICAgIEZsb2F0U2l6ZSB2ZWxvY2l0
eTsKKyAgICBpZiAobWV0aG9kID09IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6RGly
ZWN0aW9uYWwpIHsKKyAgICAgICAgRmxvYXRTaXplIHNjcm9sbE9yaWdpbiA9IHRvRmxvYXRTaXpl
KG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsT3JpZ2luKCkpOworICAgICAgICBvcmlnaW5hbFggPSBj
dXJyZW50UG9zaXRpb24oKS54KCk7CisgICAgICAgIG9yaWdpbmFsWSA9IGN1cnJlbnRQb3NpdGlv
bigpLnkoKTsKKyAgICAgICAgYXV0byBuZXdQb3NpdGlvbiA9IFNjcm9sbGFibGVBcmVhOjpzY3Jv
bGxQb3NpdGlvbkZyb21PZmZzZXQob2Zmc2V0LCBzY3JvbGxPcmlnaW4pOworICAgICAgICB2ZWxv
Y2l0eSA9IHsgbmV3UG9zaXRpb24ueCgpIC0gY3VycmVudFBvc2l0aW9uKCkueCgpLCBuZXdQb3Np
dGlvbi55KCkgLSBjdXJyZW50UG9zaXRpb24oKS55KCkgfTsKKyAgICB9CisKKyAgICBGbG9hdFBv
aW50IG5ld09mZnNldCA9IG9mZnNldDsKKyAgICBuZXdPZmZzZXQuc2V0WChtX3Njcm9sbENvbnRy
b2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFs
LCBuZXdPZmZzZXQueCgpLCB2ZWxvY2l0eS53aWR0aCgpLCBvcmlnaW5hbFgpKTsKKyAgICBuZXdP
ZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Ny
b2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3T2Zmc2V0LnkoKSwgdmVsb2NpdHkuaGVpZ2h0KCks
IG9yaWdpbmFsWSkpOworICAgIHJldHVybiBuZXdPZmZzZXQ7CisjZWxzZQorICAgIHJldHVybiBv
ZmZzZXQ7CisjZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCA0MDAxZjRhZjgwMTRhOTRmMzMwY2M2
M2U5NGJhY2Q1ZDk3Yzg3OGYxLi4yMGIxM2U2ODBkYWZlYjhjZTEyNDliNDIxZGFiMmMxY2Q0MDg3
YzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTM3LDYg
KzM3LDcgQEAKICNpbmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3
dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHx8IEVOQUJMRShDU1Nf
U0NST0xMX1NOQVApCiAjaW5jbHVkZSAiU2Nyb2xsQ29udHJvbGxlci5oIgpAQCAtMTM4LDYgKzEz
OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKFJlZlB0
cjxXaGVlbEV2ZW50VGVzdE1vbml0b3I+JiYgdGVzdE1vbml0b3IpIHsgbV93aGVlbEV2ZW50VGVz
dE1vbml0b3IgPSB0ZXN0TW9uaXRvcjsgfQogCisgICAgRmxvYXRQb2ludCBhZGp1c3RTY3JvbGxP
ZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCwgU2Nyb2xs
U25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKTsKKwogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVAp
IHx8IEVOQUJMRShSVUJCRVJfQkFORElORykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQ29u
dHJvbGxlclRpbWVyPiBjcmVhdGVUaW1lcihGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCBhMDkzYzliM2U2MGFk
YjlmOTkyNjI1NzhjYWYzZGZhNDBkZjYwNDFhLi4wYjFjNDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0
NjVmOGE1NzRhOTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTI1
LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAj
aW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CkBAIC0yNDksNiArMjUwLDE1IEBAIGVudW0gY2xhc3MgU2Nyb2xsUG9zaXRp
b25pbmdCZWhhdmlvciA6IHVpbnQ4X3QgewogICAgIFN0YXRpb25hcnkKIH07CiAKKy8vIFRoaXMg
dmFsdWUgY29udHJvbHMgdGhlIG1ldGhvZCB1c2VkIHRvIHNlbGVjdCBzbmFwIHBvaW50cyBkdXJp
bmcgc2Nyb2xsaW5nLiBUaGlzIG1heSBlaXRoZXIKKy8vIGJlICJkaXJlY3Rpb25hbCIgb3IgImNs
b3Nlc3QuIiBUaGUgZGlyZWN0aW9uYWwgbWV0aG9kIG9ubHkgY2hvb3NlcyBzbmFwIHBvaW50cyB0
aGF0IGFyZSBhdCBvcgorLy8gYmV5b25kIHRoZSBzY3JvbGwgZGVzdGluYXRpb24gaW4gdGhlIGRp
cmVjdGlvbiBvZiB0aGUgc2Nyb2xsLiBUaGUgImNsb3Nlc3QiIG1ldGhvZCBkb2VzIG5vdAorLy8g
aGF2ZSB0aGlzIGNvbnN0cmFpbnQuCitlbnVtIGNsYXNzIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlv
bk1ldGhvZCA6IHVpbnQ4X3QgeworICAgIERpcmVjdGlvbmFsLAorICAgIENsb3Nlc3QsCit9Owor
CiB1c2luZyBTY3JvbGxiYXJDb250cm9sU3RhdGUgPSB1bnNpZ25lZDsKIHVzaW5nIFNjcm9sbGJh
ckNvbnRyb2xQYXJ0TWFzayA9IHVuc2lnbmVkOwogdXNpbmcgU2Nyb2xsaW5nTm9kZUlEID0gdWlu
dDY0X3Q7CkBAIC0yNTcsNiArMjY3LDMzIEBAIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVh
bSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxUeXBlKTsKIFdFQkNPUkVfRVhQ
T1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxD
bGFtcGluZyk7CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RG
OjpUZXh0U3RyZWFtJiwgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKTsKIAorc3RydWN0
IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyB7CisgICAgU2Nyb2xsVHlwZSB0eXBlOworICAg
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQ7CisgICAg
QW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgU2Nyb2xs
U25hcFBvaW50U2VsZWN0aW9uTWV0aG9kIHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCA9IFNjcm9s
bFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6Q2xvc2VzdDsKKworICAgIHN0YXRpYyBTY3JvbGxQ
b3NpdGlvbkNoYW5nZU9wdGlvbnMgY3JlYXRlUHJvZ3JhbW1hdGljKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB7IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYyB9OworICAgIH0KKworICAgIHN0YXRp
YyBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgY3JlYXRlUHJvZ3JhbW1hdGljV2l0aE9wdGlv
bnMoU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkLCBTY3Jv
bGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Qgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBjbGFtcGluZywg
YW5pbWF0ZWQsIHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCB9OworICAgIH0KKworICAgIHN0YXRp
YyBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgY3JlYXRlVXNlcigpCisgICAgeworICAgICAg
ICByZXR1cm4geyBTY3JvbGxUeXBlOjpVc2VyIH07CisgICAgfQorCisgICAgc3RhdGljIFNjcm9s
bFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyBjcmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFt
cGluZzo6VW5jbGFtcGVkIH07CisgICAgfQorfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5k
ZXggZGFjYWFkNTAwZmQ3MjcxNzNiZDk0MDQzZWUzMjQzOTRjNzljZjE3MC4uNmExZTc3NDhlZmY1
YjU0YmE5YzE5NzRiMGQzYmJiNzRjOTJkNGQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKQEAgLTIwNywxMyArMjA3LDEzIEBAIEludFBvaW50IFNjcm9sbFZpZXc6OmNv
bnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigp
OwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3Qg
SW50UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQpCit2b2lkIFNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24o
Y29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAocGxhdGZv
cm1XaWRnZXQoKSkKICAgICAgICAgc2V0QWN0dWFsU2Nyb2xsUG9zaXRpb24ocG9zaXRpb24pOwog
I2VuZGlmCi0gICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIGNsYW1waW5nLCBhbmltYXRl
ZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMpOwogfQogCiBGbG9h
dFJlY3QgU2Nyb2xsVmlldzo6ZXhwb3NlZENvbnRlbnRSZWN0KCkgY29uc3QKQEAgLTUxNCw3ICs1
MTQsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNvbXBsZXRlVXBkYXRlc0FmdGVyU2Nyb2xsVG8oY29u
c3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEpCiAgICAgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRl
clNjcm9sbGluZygpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBp
bmcsIEFuaW1hdGVkU2Nyb2xsLyogYW5pbWF0ZWQqLykKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBT
Y3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAi
IDw8IHNjcm9sbFBvc2l0aW9uKTsKIApAQCAtNTI5LDExICs1MjksMTEgQEAgdm9pZCBTY3JvbGxW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRp
b24sIFNjcm9sbEMKICAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Ny
b2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAgICBzY3JvbGxB
bmltYXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKIAotICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Nj
cm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBjbGFtcGluZyA9PSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCkgPyBhZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKHNj
cm9sbFBvc2l0aW9uKSA6IHNjcm9sbFBvc2l0aW9uOworICAgIFNjcm9sbFBvc2l0aW9uIG5ld1Nj
cm9sbFBvc2l0aW9uID0gKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSAmJiBvcHRpb25zLmNsYW1waW5n
ID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGlu
UmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKCghZGVsZWdh
dGVzU2Nyb2xsaW5nKCkgfHwgY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2Vy
KSAmJiBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1
czo6Tm90SW5BbmltYXRpb24gJiYgbmV3U2Nyb2xsUG9zaXRpb24gPT0gdGhpcy0+c2Nyb2xsUG9z
aXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRp
b25VcGRhdGUobmV3U2Nyb2xsUG9zaXRpb24sIGN1cnJlbnRTY3JvbGxUeXBlKCksIGNsYW1waW5n
KSkKKyAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQb3NpdGlv
biwgY3VycmVudFNjcm9sbFR5cGUoKSwgb3B0aW9ucy5jbGFtcGluZykpCiAgICAgICAgIHVwZGF0
ZVNjcm9sbGJhcnMobmV3U2Nyb2xsUG9zaXRpb24pOwogCiAgICAgc2V0U2Nyb2xsQmVoYXZpb3JT
dGF0dXMoU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCBmY2JjODM3OWUxODIyOWIzZThjZTM1ZWFiOGIzNWNi
NmM0MDc2MjY1Li5kNjk3NGU4NWVjN2E4OTM5NDE4MjEwOWY4ZWUyNjFmNjk4M2ZhNjRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0yNDQsNyArMjQ0LDcgQEAgcHVibGlj
OgogCiAgICAgLy8gU2Nyb2xsIHBvc2l0aW9uIHVzZWQgYnkgd2ViLWV4cG9zZWQgZmVhdHVyZXMg
KGhhcyBsZWdhY3kgaU9TIGJlaGF2aW9yKS4KICAgICBXRUJDT1JFX0VYUE9SVCBJbnRQb2ludCBj
b250ZW50c1Njcm9sbFBvc2l0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDb250ZW50c1Njcm9s
bFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZv
aWQgc2V0Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYsIGNvbnN0IFNjcm9s
bFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgPSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNy
ZWF0ZVByb2dyYW1tYXRpYygpKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaW50
IGFjdHVhbFNjcm9sbFgoKSBjb25zdCB7IHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3QoKS54
KCk7IH0KQEAgLTI3NCw3ICsyNzQsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsUG9zaXRpb24gY2Fj
aGVkU2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNjcm9sbFBvc2l0aW9u
OyB9CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIHNjcm9sbGluZyB0aGUgdmlldy4KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1h
dGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiA9IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCkpOwogCiAgICAg
dm9pZCBzY3JvbGxCeShjb25zdCBJbnRTaXplJiBzKSB7IHJldHVybiBzZXRTY3JvbGxQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbigpICsgcyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCmluZGV4IGNmMzkyMzQwNWVlMTMxNjk2ODE2YmU3
ZmIwYTI1NDU0MWIyNDNmZmMuLjU2ZjRhYzkyMmNjMTE4MTc1ODU2OTZlM2IzM2U5YWQ3ZGYyYTk0
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLmgKQEAgLTE2Niw3ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgYWN0aXZlU2Ny
b2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXMpIGNvbnN0OwogICAgIHZvaWQgdXBk
YXRlU2Nyb2xsU25hcFN0YXRlKGNvbnN0IFNjcm9sbGFibGVBcmVhJik7CiAgICAgdm9pZCB1cGRh
dGVHZXN0dXJlSW5Qcm9ncmVzc1N0YXRlKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwotICAg
IGZsb2F0IGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3Jv
bGxFdmVudEF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uLCBmbG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3Jp
Z2luYWxQb3NpdGlvbik7CisgICAgZmxvYXQgYWRqdXN0U2Nyb2xsRGVzdGluYXRpb24oU2Nyb2xs
RXZlbnRBeGlzLCBmbG9hdCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZs
b2F0PiBvcmlnaW5hbFBvc2l0aW9uKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIGhhbmRsZWQuCiAgICAgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNu
YXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAzZTRmMDY5Y2YzMmI2MzE4NTZh
OGM2YTJkZWQwYTE2ZTNlZjUxZmY4Li5iMjFlNWU3ZmZlYTY3ODExZDJkMzkyMjA5NjkzOGZjMjM5
NjA1NmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0KQEAgLTkwNCw3ICs5MDQsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNl
dE5lYXJlc3RTY3JvbGxTbmFwSW5kZXhGb3JBeGlzQW5kT2Zmc2V0KFNjcm9sbEV2ZW50QXhpcwog
ICAgIHNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoYXhpcywgYWN0aXZlSW5kZXgpOwog
fQogCi1mbG9hdCBTY3JvbGxDb250cm9sbGVyOjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRp
cmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIGZsb2F0IGRlc3RpbmF0aW9u
LCBmbG9hdCB2ZWxvY2l0eSwgZmxvYXQgb3JpZ2luYWxQb3NpdGlvbikKK2Zsb2F0IFNjcm9sbENv
bnRyb2xsZXI6OmFkanVzdFNjcm9sbERlc3RpbmF0aW9uKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBm
bG9hdCBkZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIE9wdGlvbmFsPGZsb2F0PiBvcmlnaW5h
bFBvc2l0aW9uKQogewogICAgIGlmICghdXNlc1Njcm9sbFNuYXAoKSkKICAgICAgICAgcmV0dXJu
IGRlc3RpbmF0aW9uOwpAQCAtOTE1LDcgKzkxNSwxMCBAQCBmbG9hdCBTY3JvbGxDb250cm9sbGVy
OjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcoU2Nyb2xsRXZl
bgogICAgICAgICByZXR1cm4gZGVzdGluYXRpb247CiAKICAgICB1bnNpZ25lZCBzbmFwSW5kZXg7
Ci0gICAgTGF5b3V0VW5pdCBvZmZzZXQgPSBjbG9zZXN0U25hcE9mZnNldChzbmFwU3RhdGUuc25h
cE9mZnNldHNGb3JBeGlzKGF4aXMpLCBzbmFwU3RhdGUuc25hcE9mZnNldFJhbmdlc0ZvckF4aXMo
YXhpcyksIExheW91dFVuaXQoZGVzdGluYXRpb24gLyBtX2NsaWVudC5wYWdlU2NhbGVGYWN0b3Io
KSksIHZlbG9jaXR5LCBzbmFwSW5kZXgsIExheW91dFVuaXQob3JpZ2luYWxQb3NpdGlvbiAvIG1f
Y2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpKSk7CisgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gb3Jp
Z2luYWxQb3NpdGlvbkluTGF5b3V0VW5pdHM7CisgICAgaWYgKG9yaWdpbmFsUG9zaXRpb24uaGFz
VmFsdWUoKSkKKyAgICAgICAgb3JpZ2luYWxQb3NpdGlvbkluTGF5b3V0VW5pdHMgPSBMYXlvdXRV
bml0KCpvcmlnaW5hbFBvc2l0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCkpOworICAg
IExheW91dFVuaXQgb2Zmc2V0ID0gY2xvc2VzdFNuYXBPZmZzZXQoc25hcFN0YXRlLnNuYXBPZmZz
ZXRzRm9yQXhpcyhheGlzKSwgc25hcFN0YXRlLnNuYXBPZmZzZXRSYW5nZXNGb3JBeGlzKGF4aXMp
LCBMYXlvdXRVbml0KGRlc3RpbmF0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCkpLCB2
ZWxvY2l0eSwgc25hcEluZGV4LCBvcmlnaW5hbFBvc2l0aW9uSW5MYXlvdXRVbml0cyk7CiAgICAg
cmV0dXJuIG9mZnNldCAqIG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGVkOWZhMzQ5ODYxZjZlYTA5YzFjYWUw
N2FiOWY4YjRjZWFjYmJjYjguLjdlNTE4NzJlNDc3MWFhN2ZiNjFlODMxNDQ3ZmFiNjk1YzVhNmU1
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01OTMsMjggKzU5
MywyOCBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKFJlbmRlckxheWVyJiBs
YXllcikKICAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRv
cihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnNl
dFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJCb3g6
OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0
aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigp
KQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7
Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRpb24obmV3TGVmdCwgc2Nyb2xsVHlwZSwgY2xh
bXBpbmcsIGFuaW1hdGVkKTsKKyAgICBsYXllcigpLT5zY3JvbGxUb1hQb3NpdGlvbihuZXdMZWZ0
LCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9w
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmltYXRl
ZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1Rv
cCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlm
ICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBz
ZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1lQ
b3NpdGlvbihuZXdUb3AsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgbGF5
ZXIoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5k
ZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwg
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkpOwot
ICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFt
cGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9yPElu
dFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDk2ZTcyZDRmODViYzQ5M2Zi
NDcyMGJjYzJlMTg1MGU0MDhiNDFjODQuLjc5NjY0YWE5M2E2MWRlNmUzYzE0ZjZmYWMzZjA3M2Rl
NmNiMzJiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTI1LDYgKzI1
LDcgQEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJCb3hNb2RlbE9i
amVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck92ZXJmbG93LmgiCisjaW5jbHVkZSAiU2Nyb2xsU25h
cE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTaGFw
ZU91dHNpZGVJbmZvLmgiCiAKQEAgLTI0OSw5ICsyNTAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBpbnQgc2Nyb2xsVG9wKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsV2lkdGgoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5v
KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmlt
YXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xs
UG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7CisgICAgdmlydHVh
bCB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlv
bnMmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgY29uc3QgU2Nyb2xsUG9z
aXRpb25DaGFuZ2VPcHRpb25zJik7CisgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOwogCiAg
ICAgTGF5b3V0VW5pdCBtYXJnaW5Ub3AoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX21hcmdp
bkJveC50b3AoKTsgfQogICAgIExheW91dFVuaXQgbWFyZ2luQm90dG9tKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9tYXJnaW5Cb3guYm90dG9tKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDI0OTNlZjg2NGRhNDNhNzgwMjg2MzFlODcyYTMzMGQ1
NDA4YWY3MjMuLmMyNWNiYzdiOWI1YTQ5MmMwODFiNGMzNGU1ODQ2ZjRiZWE4ZTYzZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5NywyNCArMjU5Nywy
MSBAQCB2b2lkIFJlbmRlckxheWVyOjphcHBseVBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbklmTmVl
ZGVkKCkKICAgICBtX3Bvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbiA9IFdURjo6bnVsbG9wdDsKIH0K
IAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIFNjcm9sbFR5cGUg
c2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1h
dGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIGNvbnN0IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBTY3JvbGxQb3NpdGlv
biBwb3NpdGlvbih4LCBtX3Njcm9sbFBvc2l0aW9uLnkoKSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRp
b24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7CisgICAgc2V0U2Ny
b2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRp
b25zJiBvcHRpb25zKQogewogICAgIFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKG1fc2Nyb2xsUG9z
aXRpb24ueCgpLCB5KTsKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlw
ZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwg
b3B0aW9ucyk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxD
bGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2b2lkIFJlbmRlckxh
eWVyOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNv
bnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoYW5p
bWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRo
QW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUs
IGNsYW1waW5nKTsKLSAgICBlbHNlCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0KHNjcm9sbE9mZnNl
dEZyb21Qb3NpdGlvbihwb3NpdGlvbiksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKKyAgICBzY3Jv
bGxUb09mZnNldChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBvcHRpb25zKTsK
IH0KIAogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpjbGFtcFNjcm9sbE9mZnNldChjb25zdCBT
Y3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCkgY29uc3QKQEAgLTI2MzMsMzUgKzI2MzAsMjcgQEAg
Ym9vbCBSZW5kZXJMYXllcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBwb3NpdGlvbiwgU2MKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBS
ZW5kZXJMYXllcjo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZz
ZXQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBp
ZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6
OkluTm9uTmF0aXZlQW5pbWF0aW9uKQogICAgICAgICBzY3JvbGxBbmltYXRvcigpLmNhbmNlbEFu
aW1hdGlvbnMoKTsKIAotICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xh
bXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3Jv
bGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OworICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gb3B0aW9ucy5jbGFtcGluZyA9PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCA/IGNs
YW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCkgOiBzY3JvbGxPZmZzZXQ7CiAgICAgaWYgKGNs
YW1wZWRTY3JvbGxPZmZzZXQgPT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gY3VycmVudFNjcm9sbFR5cGUoKTsK
LSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKLQotICAgIGlmICghcmVxdWVz
dFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Ny
b2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQotICAgICAgICBzY3JvbGxUb09mZnNl
dFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwgY2xhbXBpbmcpOwotICAgIHNl
dFNjcm9sbEJlaGF2aW9yU3RhdHVzKFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlv
bik7Ci0KLSAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwotfQor
ICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKG9wdGlvbnMudHlwZSk7CiAKLXZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZzZXQmIG9mZnNl
dCwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKLXsKLSAg
ICBhdXRvIHByZXZpb3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgc2V0
Q3VycmVudFNjcm9sbFR5cGUoc2Nyb2xsVHlwZSk7Ci0KLSAgICBTY3JvbGxPZmZzZXQgbmV3U2Ny
b2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNj
cm9sbE9mZnNldChvZmZzZXQpIDogb2Zmc2V0OwotICAgIGlmIChjdXJyZW50U2Nyb2xsQmVoYXZp
b3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmltYXRpb24p
Ci0gICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwotICAgIGlmIChu
ZXdTY3JvbGxPZmZzZXQgIT0gdGhpcy0+c2Nyb2xsT2Zmc2V0KCkpCi0gICAgICAgIFNjcm9sbGFi
bGVBcmVhOjpzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3U2Nyb2xsT2Zmc2V0KTsKKyAg
ICBJbnRQb2ludCBzbmFwcGVkT2Zmc2V0ID0gY2VpbGVkSW50UG9pbnQoc2Nyb2xsQW5pbWF0b3Io
KS5hZGp1c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKGNsYW1wZWRTY3JvbGxPZmZz
ZXQsIG9wdGlvbnMuc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKSk7CisgICAgaWYgKG9wdGlvbnMu
YW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykKKyAgICAgICAgU2Nyb2xsYWJsZUFyZWE6
OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzbmFwcGVkT2Zmc2V0KTsKKyAgICBlbHNlIHsK
KyAgICAgICAgYXV0byBzbmFwcGVkUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQo
c25hcHBlZE9mZnNldCk7CisgICAgICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRl
KHNuYXBwZWRQb3NpdGlvbiwgb3B0aW9ucy50eXBlLCBvcHRpb25zLmNsYW1waW5nKSkKKyAgICAg
ICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihzbmFwcGVkT2Zmc2V0LCBvcHRp
b25zLmNsYW1waW5nKTsKKyAgICAgICAgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMoU2Nyb2xsQmVo
YXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0aW9uKTsKKyAgICB9CiAKICAgICBzZXRDdXJyZW50U2Ny
b2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwogfQpAQCAtMjgyMiwxMSArMjgxMSwxMiBAQCB2
b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFi
c29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gcmVuZGVy
ZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgYXV0byogcGFyZW50TGF5ZXIgPSBlbmNsb3Np
bmdDb250YWluaW5nQmxvY2tMYXllcigqdGhpcywgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Ok5vKTsK
IAotICAgIGF1dG8gc2hvdWxkVXNlQW5pbWF0ZWRTY3JvbGwgPSBbdGhpc10oRWxlbWVudCogZWxl
bWVudCwgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IpCisgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNo
YW5nZU9wdGlvbnNGb3JFbGVtZW50ID0gW3RoaXMsIG9wdGlvbnNdKEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgewotICAgICAgICBib29sIHVzZUFuaW1hdGVkU2Nyb2xsaW5nID0gIXJlbmRlcmVyKCku
ZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVzcygpCi0gICAgICAgICAg
ICAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhiZWhhdmlvciwgZWxlbWVudCk7Ci0g
ICAgICAgIHJldHVybiB1c2VBbmltYXRlZFNjcm9sbGluZyA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMg
OiBBbmltYXRlZFNjcm9sbDo6Tm87CisgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25PcHRpb25z
ID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAg
ICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbElu
UHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2
aW9yLCBlbGVtZW50KSkKKyAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uT3B0aW9ucy5hbmltYXRl
ZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CisgICAgICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbk9w
dGlvbnM7CiAgICAgfTsKIAogICAgIGlmIChhbGxvd3NDdXJyZW50U2Nyb2xsKCkpIHsKQEAgLTI4
NTIsOCArMjg0Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29u
c3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgIFNjcm9sbE9m
ZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0
KCkgKyB0b0ludFNpemUocm91bmRlZEludFJlY3QocmV2ZWFsUmVjdCkubG9jYXRpb24oKSkpOwog
ICAgICAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSB8fCBjdXJy
ZW50U2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSAhPSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5B
bmltYXRpb24pIHsKICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBvbGRTY3JvbGxPZmZzZXQgPSBz
Y3JvbGxPZmZzZXQoKTsKLSAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRVc2VBbmlt
YXRlZFNjcm9sbChib3gtPmVsZW1lbnQoKSwgb3B0aW9ucy5iZWhhdmlvcik7Ci0gICAgICAgICAg
ICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgIHNjcm9sbFRvT2Zmc2V0KGNsYW1wZWRTY3JvbGxP
ZmZzZXQsIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQoYm94LT5lbGVtZW50
KCkpKTsKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSA9IGNsYW1w
ZWRTY3JvbGxPZmZzZXQgLSBvbGRTY3JvbGxPZmZzZXQ7CiAgICAgICAgICAgICBsb2NhbEV4cG9z
ZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CiAgICAgICAgICAgICBuZXdSZWN0
ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVj
dChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CkBAIC0y
ODc4LDE0ICsyODY3LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUo
Y29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICAg
ICAgZXhwYW5kU2Nyb2xsUmVjdFRvVmlzaWJsZVRhcmdldFJlY3RUb0luY2x1ZGVTY3JvbGxQYWRk
aW5nKHJlbmRlcmVyLCB2aWV3UmVjdCwgbmV3UmVjdCk7CiAKICAgICAgICAgICAgICAgICBMYXlv
dXRSZWN0IGV4cG9zZVJlY3QgPSBnZXRSZWN0VG9FeHBvc2Uodmlld1JlY3QsIG5ld1JlY3QsIGlu
c2lkZUZpeGVkLCBvcHRpb25zLmFsaWduWCwgb3B0aW9ucy5hbGlnblkpOwotCiAgICAgICAgICAg
ICAgICAgSW50UG9pbnQgc2Nyb2xsUG9zaXRpb24ocm91bmRlZEludFBvaW50KGV4cG9zZVJlY3Qu
bG9jYXRpb24oKSkpOworCiAgICAgICAgICAgICAgICAgLy8gQWRqdXN0IG9mZnNldHMgaWYgdGhl
eSdyZSBvdXRzaWRlIG9mIHRoZSBhbGxvd2FibGUgcmFuZ2UuCiAgICAgICAgICAgICAgICAgc2Ny
b2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbi5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQo
KSwgSW50UG9pbnQoZnJhbWVWaWV3LmNvbnRlbnRzU2l6ZSgpKSk7CisKICAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBjb250ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYXV0byBhbmltYXRlZCA9IHNo
b3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3IpOwotICAgICAg
ICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQsIGFuaW1hdGVkKTsKKyAgICAgICAgICAgICAgICBmcmFtZVZp
ZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHNjcm9sbFBvc2l0aW9uQ2hhbmdl
T3B0aW9uc0ZvckVsZW1lbnQoZWxlbWVudCkpOwogCiAgICAgICAgICAgICAgICAgaWYgKG9wdGlv
bnMuc2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyA9PSBTaG91bGRBbGxvd0Nyb3NzT3Jp
Z2luU2Nyb2xsaW5nOjpZZXMgfHwgZnJhbWVWaWV3LnNhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRvUGFy
ZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVuY2xvc2luZ0xheWVyID0g
b3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpKQpAQCAtMjkyOCwxMSAr
MjkxNywxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExh
eW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgTGF5b3V0UmVj
dCByZXZlYWxSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCB0YXJnZXRSZWN0LCBpbnNp
ZGVGaXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKICAgICAgICAgICAgIC8v
IEF2b2lkIHNjcm9sbGluZyB0byB0aGUgcm91bmRlZCB2YWx1ZSBvZiByZXZlYWxSZWN0LmxvY2F0
aW9uKCkgaWYgd2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBzY3JvbGwKICAgICAgICAgICAgIGlm
IChyZXZlYWxSZWN0ICE9IHZpZXdSZWN0KSB7Ci0gICAgICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0
IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChyZXZlYWxSZWN0LmxvY2F0
aW9uKCkpLmNvbnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3NpdGlvbiwgbWF4U2Nyb2xsUG9z
aXRpb24pOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50
KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIGF1
dG8gYW5pbWF0ZWQgPSBzaG91bGRVc2VBbmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJl
aGF2aW9yKTsKLSAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xh
bXBlZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwor
ICAgICAgICAgICAgICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSByb3Vu
ZGVkSW50UG9pbnQocmV2ZWFsUmVjdC5sb2NhdGlvbigpKS5jb25zdHJhaW5lZEJldHdlZW4obWlu
U2Nyb2xsUG9zaXRpb24sIG1heFNjcm9sbFBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgICBmcmFt
ZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBzY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnNGb3JFbGVtZW50KGVsZW1lbnQpKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwg
c28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAppbmRleCBmMjhjYjQxNDcyN2VmYzY4MjlhNjVhOTRjNWZlYmE3YTQ1NmUxZTk5
Li4zNmEwNmE0YmZiMjM1OTUzODRkYWM4MWNlNjAzMzM2NjU1MDQ4M2RhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDQ3LDE2ICs0NDcsMTUgQEAgcHVibGljOgog
CiAgICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCkgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNj
cm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBl
OjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNv
bnN0IFNjcm9sbE9mZnNldCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiwgY29uc3QgU2Ny
b2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6
Y3JlYXRlUHJvZ3JhbW1hdGljKCkpOwogCi0gICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQg
eCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwg
QW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2Nyb2xsVG9Z
UG9zaXRpb24oaW50IHksIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBp
bmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAgICB2
b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSwg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwg
PSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgs
IGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOworICAgIHZvaWQgc2Nyb2xsVG9Z
UG9zaXRpb24oaW50IHksIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOworICAg
IHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBjb25zdCBTY3Jv
bGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmKTsKIAogICAgIC8vIFRoZXNlIGFyZSBvbmx5IHVzZWQg
YnkgbWFycXVlZS4KLSAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3JvbGxUb09m
ZnNldChTY3JvbGxPZmZzZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xsVHlwZTo6UHJv
Z3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsgfQotICAgIHZvaWQgc2Nyb2xs
VG9ZT2Zmc2V0KGludCB5KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldChzY3JvbGxPZmZz
ZXQoKS54KCksIHkpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpV
bmNsYW1wZWQpOyB9CisgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgpIHsgc2Nyb2xsVG9P
ZmZzZXQoU2Nyb2xsT2Zmc2V0KHgsIHNjcm9sbE9mZnNldCgpLnkoKSksIFNjcm9sbFBvc2l0aW9u
Q2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljVW5jbGFtcGVkKCkpOyB9CisgICAgdm9p
ZCBzY3JvbGxUb1lPZmZzZXQoaW50IHkpIHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHNj
cm9sbE9mZnNldCgpLngoKSwgeSksIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRl
UHJvZ3JhbW1hdGljVW5jbGFtcGVkKCkpOyB9CiAKICAgICB2b2lkIHNldFBvc3RMYXlvdXRTY3Jv
bGxQb3NpdGlvbihPcHRpb25hbDxTY3JvbGxQb3NpdGlvbj4pOwogICAgIHZvaWQgYXBwbHlQb3N0
TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDhlOGFkNzA0M2ExZDc0MDYxMTdlMjcyZWIwYTIwNDVh
ZmU2NWMyZGUuLjJkMDgyNjQ4N2NjMGQwNzhiY2NhOGU4ZGM1ZmI5MjFlYWVmNGY0NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTc0Myw3ICs3NDMs
NyBAQCBpbnQgUmVuZGVyTGlzdEJveDo6c2Nyb2xsTGVmdCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7
CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQgUmVuZGVyTGlzdEJveDo6c2V0
U2Nyb2xsTGVmdChpbnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpCiB7CiB9
CiAKQEAgLTc2MCw3ICs3NjAsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRUZXN0TW9u
aXRvcihSZW5kZXJMaXN0Qm94JiByZW5kZXJlcikKICAgICByZW5kZXJlci5zY3JvbGxBbmltYXRv
cigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihyZW5kZXJlci5wYWdlKCkud2hlZWxFdmVudFRl
c3RNb25pdG9yKCkpOwogfQogCi12b2lkIFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcChpbnQg
bmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpCit2b2lk
IFJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBjb25zdCBTY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnMmKQogewogICAgIC8vIERldGVybWluZSBhbiBpbmRleCBhbmQgc2Ny
b2xsIHRvIGl0LiAgICAKICAgICBpbnQgaW5kZXggPSBuZXdUb3AgLyBpdGVtSGVpZ2h0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCBjYzkzNDA5MmY0ZDNj
YjE0MzY0NDVmZWE3ZWQ3N2FjMGVjZmRlMzllLi5jNjcwNDJkMWRlYWI3ZWFmOWRiMzM4Y2QyMzM0
OGQ1MDdmMjQ3MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgK
QEAgLTEwNiw4ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIGludCBzY3JvbGxUb3AoKSBjb25zdCBv
dmVycmlkZTsKICAgICBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQg
c2Nyb2xsSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGlu
dCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsK
LSAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBB
bmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxMZWZ0KGludCwgY29u
c3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRT
Y3JvbGxUb3AoaW50LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmKSBvdmVycmlk
ZTsKIAogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0
UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25z
dCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKaW5kZXggNzZl
MjNlNGQwOTk2ZTZiZmJlNDBhNjQ0MTE2NDQ1OWFhNjc4MGQ4Yi4uNmUwMjQ0YzE2NGRlZDZhNThj
MjZmNTgxZmNkODY5MTQ1NTIyZjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNYXJxdWVlLmNwcApAQCAtMTcxLDExICsxNzEsMTIgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjpz
dGFydCgpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSB8fCBtX2xheWVyLT5yZW5kZXJlcigp
LnN0eWxlKCkubWFycXVlZUluY3JlbWVudCgpLmlzWmVybygpKQogICAgICAgICByZXR1cm47CiAK
KyAgICBhdXRvIGRldGFpbHMgPSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVBy
b2dyYW1tYXRpY1VuY2xhbXBlZCgpOwogICAgIGlmICghbV9zdXNwZW5kZWQgJiYgIW1fc3RvcHBl
ZCkgewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCi0gICAgICAgICAgICBtX2xheWVyLT5z
Y3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQobV9zdGFydCwgMCksIFNjcm9sbFR5cGU6OlByb2dy
YW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7CisgICAgICAgICAgICBtX2xheWVy
LT5zY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQobV9zdGFydCwgMCksIGRldGFpbHMpOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBtX2xheWVyLT5zY3JvbGxUb09mZnNldChTY3JvbGxPZmZz
ZXQoMCwgbV9zdGFydCksIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6
OlVuY2xhbXBlZCk7CisgICAgICAgICAgICBtX2xheWVyLT5zY3JvbGxUb09mZnNldChTY3JvbGxP
ZmZzZXQoMCwgbV9zdGFydCksIGRldGFpbHMpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fc3Vz
cGVuZGVkID0gZmFsc2U7CiAgICAgICAgIG1fc3RvcHBlZCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNw
cAppbmRleCBhMDc1MDgxZjU2NWNlZGI1NWRkYmVjOTY4ZWMyY2IxMzlkNjBiYWI4Li5jOTkyMmNi
M2FlMDNjZTBmNTYwNDIwYTE4ZjA4Y2E2NzIxNzliNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcApAQCAt
MzgzLDEzICszODMsMTMgQEAgaW50IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2Nyb2xs
VG9wKCkgY29uc3QKICAgICByZXR1cm4gUmVuZGVyQmxvY2tGbG93OjpzY3JvbGxUb3AoKTsKIH0K
IAotdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbExlZnQoaW50IG5l
d0xlZnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQg
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBj
b25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmKQogewogICAgIGlmIChpbm5lclRleHRF
bGVtZW50KCkpCiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0U2Nyb2xsTGVmdChuZXdM
ZWZ0KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcm9sbFRv
cChpbnQgbmV3VG9wLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwp
Cit2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsVG9wKGludCBuZXdU
b3AsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpCiB7CiAgICAgaWYgKGlubmVy
VGV4dEVsZW1lbnQoKSkKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgpLT5zZXRTY3JvbGxUb3Ao
bmV3VG9wKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuaAppbmRleCAyNWEyYzk2ZDUwYWU3MjdiNjAxNTM5NjQ4OTllMzc4
MGMzMWM3OTliLi40OTFkYWE2YjdmZTVjZmY0MjAwZGJkZDQ0NDBiOTNlYzA3Nzc5NGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZS5oCkBAIC01Nyw4ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgaW50IHNjcm9sbFRvcCgp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9s
bExlZnQoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92
ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbExlZnQo
aW50LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2
b2lkIHNldFNjcm9sbFRvcChpbnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYp
IG92ZXJyaWRlOwogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQgPSBudWxs
cHRyLCBSZW5kZXJCb3gqIHN0YXJ0Qm94ID0gbnVsbHB0ciwgY29uc3QgSW50UG9pbnQmIHdoZWVs
RXZlbnRBYnNvbHV0ZVBvaW50ID0gSW50UG9pbnQoKSkgZmluYWw7CiAgICAgYm9vbCBsb2dpY2Fs
U2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBt
dWx0aXBsaWVyID0gMSwgRWxlbWVudCoqIHN0b3BFbGVtZW50ID0gMCkgZmluYWw7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MLm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUwubW0KaW5kZXggODU4NGMyMzFmZWY4YzhkOGI3MDZl
OGY5NmVkMDhkNzM4ODUzZGQ1MC4uZmZlMTRlZDBiZmU3ZDQ5NGRkMmU2NjhmNGFiZjUzNTM4OGM2
MDdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUwubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUwubW0KQEAgLTExMyw3ICsx
MTMsMTAgQEAgLSAodm9pZClzZXRTY3JvbGxYT2Zmc2V0OihpbnQpeCBzY3JvbGxZT2Zmc2V0Oihp
bnQpeSBhZGp1c3RGb3JJT1NDYXJldDooQk9PTClhZGoKICAgICBhdXRvKiBsYXllciA9IGRvd25j
YXN0PFdlYkNvcmU6OlJlbmRlckJveD4oKnJlbmRlcmVyKS5sYXllcigpOwogICAgIGlmIChhZGp1
c3RGb3JJT1NDYXJldCkKICAgICAgICAgbGF5ZXItPnNldEFkanVzdEZvcklPU0NhcmV0V2hlblNj
cm9sbGluZyh0cnVlKTsKLSAgICBsYXllci0+c2Nyb2xsVG9PZmZzZXQoV2ViQ29yZTo6U2Nyb2xs
T2Zmc2V0KHgsIHkpLCBXZWJDb3JlOjpTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFdlYkNvcmU6
OlNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOworCisgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNo
YW5nZU9wdGlvbnMgPSBXZWJDb3JlOjpTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0
ZVByb2dyYW1tYXRpYygpOworICAgIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucy5jbGFtcGlu
ZyA9IFdlYkNvcmU6OlNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQ7CisgICAgbGF5ZXItPnNjcm9s
bFRvT2Zmc2V0KFdlYkNvcmU6OlNjcm9sbE9mZnNldCh4LCB5KSwgc2Nyb2xsUG9zaXRpb25DaGFu
Z2VPcHRpb25zKTsKICAgICBpZiAoYWRqdXN0Rm9ySU9TQ2FyZXQpCiAgICAgICAgIGxheWVyLT5z
ZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFsc2UpOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2M2Qx
N2I5YWQyMDAzOGJiZmJkOWU3YzUxMTIzNTRkZThlNTc5NTguLjEwNGM3OGFlM2FiNTgxMWUzYzY1
Y2YzYzkzN2VhZjlkMGIxNDQ4ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMS0xMSAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgU2Nyb2xs
LXNuYXAgcG9pbnRzIHNob3VsZCBiZSB0cmlnZ2VyZWQgZHVyaW5nIHByb2dyYW1tYXRpYyBzY3Jv
bGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTMz
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE0Njc3ODA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3Jv
bGxCeS1zbmFwcy1leHBlY3RlZC50eHQ6IFVwZGF0ZSBleHBlY3RhdGlvbi4KKwogMjAyMS0wMS0w
MyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVzZSBVVEYtOCBlbmNv
ZGluZyBmb3IgZW1wdHkgbWFpbiByZXNvdXJjZSBsb2FkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggYmZjMjA1ZDZlNTYxYzBmYTY0MTdiMzY1YjM4ODRhZWYxNTUwZmExNC4uMWE4
ZmMxOTg1YjQzNmZiNTFhNjMzNzNiMzcyZmMzNDZlYTg3NDFmZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDEtMTEgIE1hcnRpbiBSb2JpbnNv
biAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFNjcm9sbC1zbmFwIHBvaW50cyBz
aG91bGQgYmUgdHJpZ2dlcmVkIGR1cmluZyBwcm9ncmFtbWF0aWMgc2Nyb2xsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMzAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxNDY3NzgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgbmV3bHkgcGFzc2lu
ZyB0ZXN0cyBhbmQgdGVzdHMgdGhhdCBub3cKKyAgICAgICAgZmFpbCBpbiBhIGRpZmZlcmVudCB3
YXkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9v
dmVyZmxvd2luZy1zbmFwLWFyZWFzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwt
cGFkZGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQv
YWRkaW5nLXNuYXAtYXJlYS13aGlsZS1zbmFwcGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0
L2NoYW5naW5nLXNjcm9sbC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L21v
dmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVtb3ZlLWN1cnJl
bnQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3JvbGwtY29udGFpbmVy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by10cmFuc2Zvcm1lZC10YXJnZXQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJl
YXMtbWFyZ2luLWJvdGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by12aXNpYmxlLWFyZWFzLXgtYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhp
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0OgorCiAyMDIx
LTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIFVURi04
IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dp
bmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQKaW5kZXggZWJkMmJlOTQwN2Y0MTVkMDZlZWRiZDU4
YjExY2MwOGQ2MTkwYTdmNC4uYTQ1ZDJhZGNkZGY2Y2YwM2RmMzk4NjNjMzYzNjU5MzNiODhlMjgx
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9vdmVyZmxvd2luZy1zbmFwLWFyZWFzLWV4cGVjdGVkLnR4dApAQCAtMSwx
MyArMSwxMyBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFw
IGFyZWEgZG9lc24ndCBjb3ZlciB0aGUgc25hcHBvcnQgb24geC4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMjAwIGJ1dCBnb3QgMTAKLVBBU1MgU25hcHMgdG8gdGhlIHNuYXAgcG9zaXRpb24gaWYg
dGhlIHNuYXAgYXJlYSBjb3ZlcnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhlIHJpZ2h0IGJvcmRl
ci4KLVBBU1MgU25hcHMgdG8gdGhlIHNuYXAgcG9zaXRpb24gaWYgdGhlIHNuYXAgYXJlYSBjb3Zl
cnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhlIGxlZnQgYm9yZGVyLgotRkFJTCBTbmFwcyBpZiB0
aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAg
cG9zaXRpb25zIGlzIHNtYWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9uIHguIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDQwMCBidXQgZ290IDUwMAotRkFJTCBTbmFwcyBpZiB0aGUgZGlzdGFuY2Ug
YmV0d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlz
IHNtYWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9uIHkuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDQwMCBidXQgZ290IDUwMAotUEFTUyBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdo
aWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25h
cHBvcnQgb24geCBhbmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDgwMCkgYW5k
IG5leHQoMTQwMCkgaXMgbGFyZ2VyIHRoYW4gc25hcHBvcnQoNTAwKS4KLVBBU1MgU25hcCB0byBj
dXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFz
IHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5kIHRoZSBkaXN0YW5jZSBiZXR3
ZWVuIHRoZSBwcmV2aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBw
b3J0KDUwMCkuCi1QQVNTIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2ggaXMg
YSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9ydCBv
biB4IGFuZCB0aGVyZSBpcyBubyBzdWJzZXF1ZW50IHNuYXAgcG9zaXRpb25zLgotUEFTUyBTbmFw
IHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlv
biwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geSBhbmQgdGhlcmUgaXMgbm8g
c3Vic2VxdWVudCBzbmFwIHBvc2l0aW9ucy4KLVBBU1MgRG9uJ3Qgc25hcCBiYWNrIGV2ZW4gaWYg
c2Nyb2xsVG8gdHJpZXMgdG8gc2Nyb2xsIHRvIHBvc2l0aW9ucyB3aGljaCBhcmUgb3V0c2lkZSBv
ZiB0aGUgc2Nyb2xsIHJhbmdlIGFuZCBpZiBhIHNuYXAgdGFyZ2V0IGVsZW1lbnQgY292ZXJzIHRo
ZSBzbmFwb3J0Ci1GQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb24geCBhcyB0
aGUgYXJlYSBpcyBjb3ZlcmluZyB4IGF4aXMuSG93ZXZlciwgd2Ugc25hcCB0byB0aGUgc3BlY2lm
aWVkIHNuYXAgcG9zaXRpb24gb24geSBhcyB0aGUgYXJlYSBpcyBub3QgY292ZXJpbmcgeSBheGlz
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAxMDAKK1BBU1MgU25hcHMgdG8g
dGhlIHNuYXAgcG9zaXRpb24gaWYgdGhlIHNuYXAgYXJlYSBkb2Vzbid0IGNvdmVyIHRoZSBzbmFw
cG9ydCBvbiB4LgorRkFJTCBTbmFwcyB0byB0aGUgc25hcCBwb3NpdGlvbiBpZiB0aGUgc25hcCBh
cmVhIGNvdmVycyB0aGUgc25hcHBvcnQgb24geCBvbiB0aGUgcmlnaHQgYm9yZGVyLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAyNzE1IGJ1dCBnb3QgMjAwCitGQUlMIFNuYXBzIHRvIHRoZSBzbmFw
IHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRo
ZSBsZWZ0IGJvcmRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMjcxNQor
UEFTUyBTbmFwcyBpZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoNDAwKSBhbmQg
bmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlzIHNtYWxsZXIgdGhhbiBzbmFwcG9ydCg1MDApIG9u
IHguCitQQVNTIFNuYXBzIGlmIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2aW91cyg0MDAp
IGFuZCBuZXh0KDgwMCkgc25hcCBwb3NpdGlvbnMgaXMgc21hbGxlciB0aGFuIHNuYXBwb3J0KDUw
MCkgb24geS4KK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBh
IHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9u
IHggYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2aW91cyg4MDApIGFuZCBuZXh0KDE0
MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDkwMCBidXQgZ290IDgwMAorRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdo
aWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25h
cHBvcnQgb24geSBhbmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDgwMCkgYW5k
IG5leHQoMTQwMCkgaXMgbGFyZ2VyIHRoYW4gc25hcHBvcnQoNTAwKS4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgOTAwIGJ1dCBnb3QgODAwCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9z
aXRpb24gd2hpY2ggaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNv
dmVycyBzbmFwcG9ydCBvbiB4IGFuZCB0aGVyZSBpcyBubyBzdWJzZXF1ZW50IHNuYXAgcG9zaXRp
b25zLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNTAwIGJ1dCBnb3QgMTQwMAorRkFJTCBTbmFw
IHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlv
biwgYXMgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geSBhbmQgdGhlcmUgaXMgbm8g
c3Vic2VxdWVudCBzbmFwIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUwMCBi
dXQgZ290IDE0MDAKK0ZBSUwgRG9uJ3Qgc25hcCBiYWNrIGV2ZW4gaWYgc2Nyb2xsVG8gdHJpZXMg
dG8gc2Nyb2xsIHRvIHBvc2l0aW9ucyB3aGljaCBhcmUgb3V0c2lkZSBvZiB0aGUgc2Nyb2xsIHJh
bmdlIGFuZCBpZiBhIHNuYXAgdGFyZ2V0IGVsZW1lbnQgY292ZXJzIHRoZSBzbmFwb3J0IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDM3MTUgYnV0IGdvdCAyMjAwCitGQUlMIFNuYXAgdG8gY3VycmVu
dCBzY3JvbGwgcG9zaXRpb24gb24geCBhcyB0aGUgYXJlYSBpcyBjb3ZlcmluZyB4IGF4aXMuSG93
ZXZlciwgd2Ugc25hcCB0byB0aGUgc3BlY2lmaWVkIHNuYXAgcG9zaXRpb24gb24geSBhcyB0aGUg
YXJlYSBpcyBub3QgY292ZXJpbmcgeSBheGlzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMCBi
dXQgZ290IDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0CmluZGV4IDM3OTU2MThmZTNhYjY1
YWQwZGRmMjQyNWExMTliNzg4M2MxOWFhMWIuLjIyMzMxYmM2ZmI1YzExZWI4ZjU0ZjdkMDAwOTQ0
ZDA5YjViNmJlYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLW1hcmdpbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiAKLUZBSUwgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBhZGp1c3RlZCBieSBzY3JvbGwtbWFyZ2lu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKLUZBSUwgc2Nyb2xsLW1hcmdp
biBkb2Vzbid0IGNvbnRyaWJ1dGUgdG8gdGhlIHNuYXAgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQg
aWYgaXQncyBvdXRzaWRlIG9mIHRoZSBzY3JvbGwgcG9ydCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMTUwCitQQVNTIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkg
c2Nyb2xsLW1hcmdpbgorUEFTUyBzY3JvbGwtbWFyZ2luIGRvZXNuJ3QgY29udHJpYnV0ZSB0byB0
aGUgc25hcCBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCBpZiBpdCdzIG91dHNpZGUgb2YgdGhlIHNj
cm9sbCBwb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0CmluZGV4IDBmNzgzNWIwNjBl
ZWFjNGY1MzljZTcwMDA0OWUxYjBkNDQ4YjNlNjcuLjEzZjYzMTZjOTZiM2JiYTMxY2I2MDZkZjJh
OTlmZTk2ZjFmZDI5MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1wYWRkaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgcG9zaXRpb25zIGFkanVzdGVkIGJ5IHNjcm9sbC1w
YWRkaW5nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKK1BBU1MgU25hcHMg
dG8gdGhlIHBvc2l0aW9ucyBhZGp1c3RlZCBieSBzY3JvbGwtcGFkZGluZwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtc3RvcC1leHBlY3RlZC50eHQKaW5kZXggYjA2YmQzNTljNzQ3NWUwYTczOWU4YTIwM2MyNWEz
OWYwODllNzlkMS4uY2YxMTNiMTMyNTRiNDM3YzIwNDljOTUyYjQxNjZjZDI5NDE1YzVhZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1zdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBB
IHNjcm9sbCB3aXRoIGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBu
b3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCi1GQUlMIEEgc2Nyb2xsIHdpdGggaW50
ZW5kZWQgZW5kIHBvc2l0aW9uIHNob3VsZCBhbHdheXMgY2hvb3NlIHRoZSBjbG9zZXN0IHNuYXAg
cG9zaXRpb24gcmVnYXJkbGVzcyBvZiB0aGUgc2Nyb2xsLXNuYXAtc3RvcCB2YWx1ZS4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMzAwCi1GQUlMIEEgc2Nyb2xsIG91dHNpZGUg
Ym91bmRzIGluIHRoZSBzbmFwcGluZyBheGlzIHdpdGggaW50ZW5kZWQgZGlyZWN0aW9uIGFuZCBl
bmQgcG9zaXRpb24gc2hvdWxkIG5vdCBwYXNzIGEgc25hcCBhcmVhIHdpdGggc2Nyb2xsLXNuYXAt
c3RvcDogYWx3YXlzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAxNzE1Ci1G
QUlMIEEgc2Nyb2xsIG91dHNpZGUgYm91bmRzIGluIHRoZSBub24tc25hcHBpbmcgYXhpcyB3aXRo
IGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNu
YXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitGQUlMIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQgZGlyZWN0
aW9uIGFuZCBlbmQgcG9zaXRpb24gc2hvdWxkIG5vdCBwYXNzIGEgc25hcCBhcmVhIHdpdGggc2Ny
b2xsLXNuYXAtc3RvcDogYWx3YXlzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdv
dCAyMDAKK1BBU1MgQSBzY3JvbGwgd2l0aCBpbnRlbmRlZCBlbmQgcG9zaXRpb24gc2hvdWxkIGFs
d2F5cyBjaG9vc2UgdGhlIGNsb3Nlc3Qgc25hcCBwb3NpdGlvbiByZWdhcmRsZXNzIG9mIHRoZSBz
Y3JvbGwtc25hcC1zdG9wIHZhbHVlLgorRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0
aGUgc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9u
IHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5
cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMjAwCitGQUlMIEEgc2Nyb2xs
IG91dHNpZGUgYm91bmRzIGluIHRoZSBub24tc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRp
cmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRo
IHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1
dCBnb3QgMjAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBhYzdiYmVj
NjUyZTBmMmU5Y2JhY2ExNDliY2I1ZDU5Y2Q1ZDEwNDYyLi5kMjJhYzhhYzNjYWMyZDMwYzk0N2M3
NDFkNWRkMTkxYTJmYzY0NTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNiBAQAogCi1GQUlMIG1hbmRhdG9yeSBzY3JvbGwtc25hcC10eXBlIHNob3VsZCBz
bmFwIGFzIGxvbmcgYXMgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZS4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDYyNQorUEFTUyBtYW5kYXRvcnkgc2Nyb2xsLXNuYXAtdHlwZSBz
aG91bGQgc25hcCBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHZpc2libGUuCiBQQVNTIHByb3hp
bWl0eSBzY3JvbGwtc25hcC10eXBlIHNob3VsZG4ndCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9u
IGlzIHRvbyBmYXIgYXdheS4KLUZBSUwgcHJveGltaXR5IHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxk
IHNuYXAgaWYgdGhlIHNuYXAgcG9zaXRpb24gaXMgY2xvc2UuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA5OTUKK1BBU1MgcHJveGltaXR5IHNjcm9sbC1zbmFwLXR5cGUgc2hv
dWxkIHNuYXAgaWYgdGhlIHNuYXAgcG9zaXRpb24gaXMgY2xvc2UuCiBQQVNTIG5vbmUgc2Nyb2xs
LXNuYXAtdHlwZSBzaG91bGRuJ3Qgc25hcC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRv
LXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1z
bmFwcy1leHBlY3RlZC50eHQKaW5kZXggNmJjMThmNmRhZWJlMTI3ZDYzMmNhZmE2ZWEyMjlmYWUx
ZjlmNWRmNS4uNzExMGZkNzYwNDBkMTkwYTI3Y2ViNTEwYjhiMThhYzg5NzcyMDk5YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQwICsxLDQw
IEBACiAKLUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgw
MH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgODAwCitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHts
ZWZ0OiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgYXNzaWduIHNjcm9sbExl
ZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxl
bWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDgwMAotRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAw
LCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9s
bEJ5KHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9u
IGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIGRp
diBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIHZp
ZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9u
IHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24gd2luZG93IGxhbmRzIG9u
ICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlM
IGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHt0b3A6IDkwMH0gb24gZGl2IGxh
bmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAw
CitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHt0b3A6IDkwMH0gb24g
ZGl2IGxhbmRzIG9uICgwLCAxMDAwKQogRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xs
VG9wIGZvciB7dG9wOiA5MDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24g
KDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwg
c2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9sbEJ5KHt0b3A6IDkwMH0p
IG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDkwMAorUEFTUyBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAs
IDEwMDApCitQQVNTIHNjcm9sbEJ5KHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAw
MCkKIEZBSUwgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVu
dCBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290
IDkwMAogRkFJTCBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCiBGQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMCwg
MTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3Jv
bGxCeSh7dG9wOiA5MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5k
IHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAw
MCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAorUEFTUyBh
c3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogOTAwLCB0b3A6IDgwMH0g
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKQogRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQg
c2Nyb2xsVG9wIGZvciB7bGVmdDogOTAwLCB0b3A6IDgwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcg
ZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAw
MCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRp
diBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDkwMAotRkFJTCBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRpdiBsYW5k
cyBvbiAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkw
MAorUEFTUyBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAo
MTAwMCwgMTAwMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBkaXYg
bGFuZHMgb24gKDEwMDAsIDEwMDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAw
fSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMTAwMCkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxCeSh7bGVm
dDogOTAwLCB0b3A6IDgwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24g
KDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZB
SUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEw
MDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwg
c2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAs
IDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgYXNz
aWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSBv
biBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCA4MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6
IDgwMCwgdG9wOiAtMTAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFzc2lnbiBz
Y3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24gdmll
d3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6
IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkg
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIGRpdiBs
YW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkg
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6
IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHts
ZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMg
b24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZB
SUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgx
MDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNj
cm9sbEJ5KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwg
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24g
c2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0gb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgMzIxNQorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
MTAwMDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBhc3NpZ24g
c2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0gb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9w
OiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgMzIxNQorUEFTUyBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEw
MH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHts
ZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5k
cyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUK
IEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZp
bmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgMzIxNQogRkFJTCBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0p
IG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAw
MCBidXQgZ290IDMyMTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2Fk
ZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1h
ZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBwZWQtZXhwZWN0ZWQudHh0
CmluZGV4IGVkM2IyODE1ZDVhZTFkZjgzMWNmMzllYzFlYzU2OTQ5NWU5OTk2NjMuLjQzYjY2MDdk
MjAzZDAyNWNhMmE2YTVjZTUwYTZkZTgxMmM4YWM5MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LWFmdGVyLXJlbGF5b3V0L2FkZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAtYXJlYS13aGls
ZS1zbmFwcGVkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBBZGRpbmcgYSBu
ZXcgc25hcCBhcmVhIHdoaWxlIGFscmVhZHkgc25hcHBlZCBzaG91bGQgbm90IG1ha2UgdGhlIHNj
cm9sbGVyIHNuYXAgdG8gaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAK
K1BBU1MgQWRkaW5nIGEgbmV3IHNuYXAgYXJlYSB3aGlsZSBhbHJlYWR5IHNuYXBwZWQgc2hvdWxk
IG5vdCBtYWtlIHRoZSBzY3JvbGxlciBzbmFwIHRvIGl0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC1hZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGln
bi1leHBlY3RlZC50eHQKaW5kZXggNWZjYTE2YzJjMWQ4NGNjOTEyYzRhMzY3NjZjYzI2NzdlY2Iz
YzJhNS4uN2ZmNmRjODY5NDAxOTJmZmNlMmU2OTMyMGY0OWNiYzI4YmJlN2ViMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Nyb2xsLXNuYXAtYWxpZ24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNj
cm9sbC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBDaGFu
Z2luZyB0aGUgY3VycmVudCB0YXJnZXQncyBzbmFwIGFsaWdubWVudCBzaG91bGQgbWFrZSB0aGUg
c2Nyb2xsZXIgcmVzbmFwIHRvIGl0IGV2ZW4gaWYgYW5vdGhlciBzbmFwIHBvc2l0aW9uIGlzIGNs
b3NlciB0byB0aGUgY3VycmVudCBvZmZzZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1
dCBnb3QgMAotRkFJTCBSZW1vdmluZyB0aGUgY3VycmVudCB0YXJnZXQncyBzbmFwIGFsaWdubWVu
dCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGEgbmV3IHNuYXAgYXJlYS4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAorUEFTUyBDaGFuZ2luZyB0aGUgY3Vy
cmVudCB0YXJnZXQncyBzbmFwIGFsaWdubWVudCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVz
bmFwIHRvIGl0IGV2ZW4gaWYgYW5vdGhlciBzbmFwIHBvc2l0aW9uIGlzIGNsb3NlciB0byB0aGUg
Y3VycmVudCBvZmZzZXQKK1BBU1MgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBh
bGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBhIG5ldyBzbmFwIGFy
ZWEuCiBQQVNTIENoYW5naW5nIGFuIGVsZW1lbnQgc25hcCBhbGlnbm1lbnQgZnJvbSBub25lIHRv
IHN0YXJ0IHNob3VsZCBtYWtlIHRoZXNjcm9sbGVyIHJlc25hcC4KIFBBU1MgQ2hhbmdpbmcgYW4g
ZWxlbWVudCBzbmFwIGFsaWdubWVudCBmcm9tIG5vbmUgdG8gc3RhcnQgYnkgYWRkaW5nIGEgY2xh
c3Mgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4
dAppbmRleCBlZmI2N2FjNzY0NzdmMWMxMThjZjAyYjc4MzcxMGE5MzkwMmJkNDU4Li5iZjQ4MGYy
ZWE3OTZkNzRmZjcxNzBkYTM2M2NkZmM2YTBjNzFiMGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1hZnRlci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4
dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBNb3ZpbmcgdGhlIGN1cnJlbnQgc25hcCB0YXJnZXQg
c2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdC4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgMAotRkFJTCBDaGFuZ2luZyB0aGUgbGF5b3V0IG9mIG90aGVyIGVs
ZW1lbnRzIHNob3VsZCBiZSBhYmxlIHRvIGNhdXNlIHJlc25hcHBpbmcgdG8gdGhlIHRhcmdldC4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAotRkFJTCBUcmFuc2Zvcm1pbmcg
dGhlIGN1cnJlbnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0
byBpdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAotRkFJTCBBcHBseWlu
ZyB0d28gcHJvcGVydHkgY2hhbmdlcyB0aGF0IGRvIG5vdCBjaGFuZ2UgdGhlIHZpc3VhbCBvZmZz
ZXQgb2YgdGhlIHRhcmdldCBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2Nyb2xsIG9mZnNldC4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMAorUEFTUyBNb3ZpbmcgdGhlIGN1cnJl
bnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdC4KK1BB
U1MgQ2hhbmdpbmcgdGhlIGxheW91dCBvZiBvdGhlciBlbGVtZW50cyBzaG91bGQgYmUgYWJsZSB0
byBjYXVzZSByZXNuYXBwaW5nIHRvIHRoZSB0YXJnZXQuCitQQVNTIFRyYW5zZm9ybWluZyB0aGUg
Y3VycmVudCBzbmFwIHRhcmdldCBzaG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgcmVzbmFwIHRvIGl0
LgorUEFTUyBBcHBseWluZyB0d28gcHJvcGVydHkgY2hhbmdlcyB0aGF0IGRvIG5vdCBjaGFuZ2Ug
dGhlIHZpc3VhbCBvZmZzZXQgb2YgdGhlIHRhcmdldCBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2Ny
b2xsIG9mZnNldC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVt
b3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5
b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQKaW5kZXggNTVjYTA2MzY2ZDNh
ODliZDk5MzI0OWRhMzg5MTQ3MzcxOWQ4MzE0Yi4uZWRmMWNjNDkwM2RmMjllNzgyYjA2NGZjMWU4
N2RkY2ZhNDU2YjMxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVt
b3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1y
ZWxheW91dC9yZW1vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIFJlbW92aW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRo
ZSBzY3JvbGxlciBzbmFwIHRvIGEgbmV3IHRhcmdldC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MTAwIGJ1dCBnb3QgMAorUEFTUyBSZW1vdmluZyB0aGUgY3VycmVudCBzbmFwIHRhcmdldCBzaG91
bGQgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBhIG5ldyB0YXJnZXQuCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3JvbGwtY29udGFpbmVyLWV4
cGVjdGVkLnR4dAppbmRleCAyMGVhNDM0MWVlMWNmZjdjN2I5NDQ4ZjA2MzgwODhiMmFmMjkyOTEy
Li5lYTk1MTZkN2IwZTQ2MGE3NjQ4Mjg4NmJiNDdjMGIwOWFkYWQ2ZDI2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1jb250YWluZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIE1ha2luZyBhbiBlbGVtZW50IHNj
cm9sbGFibGUgc2hvdWxkIG1ha2UgaXQgY2FwdHVyZSB0aGUgY29ycmVjdCBkZXNjZW5kYW50IHNu
YXAgYXJlYXMnIHNuYXAgcG9pbnRzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA1MDAgYnV0IGdv
dCAxMAotRkFJTCBBdHRhY2hpbmcgYSBuZXcgZWxlbWVudCB0aGF0IGlzIHNjcm9sbGFibGUgc2hv
dWxkIGFzc2lnbiB0aGUgY29ycmVjdCBzbmFwIGFyZWFzIHRvIGl0LiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAzMDAgYnV0IGdvdCAxMAorUEFTUyBNYWtpbmcgYW4gZWxlbWVudCBzY3JvbGxhYmxl
IHNob3VsZCBtYWtlIGl0IGNhcHR1cmUgdGhlIGNvcnJlY3QgZGVzY2VuZGFudCBzbmFwIGFyZWFz
JyBzbmFwIHBvaW50cy4KK1BBU1MgQXR0YWNoaW5nIGEgbmV3IGVsZW1lbnQgdGhhdCBpcyBzY3Jv
bGxhYmxlIHNob3VsZCBhc3NpZ24gdGhlIGNvcnJlY3Qgc25hcCBhcmVhcyB0byBpdC4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctcmVtb3ZlLXNjcm9sbC1jb250YWlu
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctcmVtb3ZlLXNjcm9s
bC1jb250YWluZXItZXhwZWN0ZWQudHh0CmluZGV4IGI5YjhlYWJmN2ZjYWVlZGM3MGU1MzE3Mjg1
OWVmYWRhNjI4NjQ5MzIuLjhiZTNkYjExZWRjOWQyOWNkYzZlOGJiMDRjMTIxMDU3MGJjMDQwOGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1zY3JvbGwtY29u
dGFpbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1v
dmUtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
TWFraW5nIGEgc25hcCBjb250YWluZXIgbm90IHNjcm9sbGFibGUgc2hvdWxkIHByb21vdGUgdGhl
IG5leHQgc2Nyb2xsYWJsZSBhbmNlc3RvciB0byBiZWNvbWUgYSBzbmFwIGNvbnRhaW5lci4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMzEwCitQQVNTIE1ha2luZyBhIHNuYXAg
Y29udGFpbmVyIG5vdCBzY3JvbGxhYmxlIHNob3VsZCBwcm9tb3RlIHRoZSBuZXh0IHNjcm9sbGFi
bGUgYW5jZXN0b3IgdG8gYmVjb21lIGEgc25hcCBjb250YWluZXIuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwt
c25hcC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUt
YmxvY2stZXhwZWN0ZWQudHh0CmluZGV4IDQ1NTAzYTYwNWY2YTdiYmJlNzgxYzk3ZGI2NWMwOTMw
OTQ2ODhjZDEuLjZkYzRkOGM4Yjk3ZjNmNjE1ZGUxNzdiNjJiMjRiMGM5MDc5ODViMDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlM
IFNuYXBzIGNvcnJlY3RseSBmb3IgaG9yaXpvbnRhbC10YiB3cml0aW5nIG1vZGUgd2l0aCAnc2Ny
b2xsLXNuYXAtYWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWdu
cyBjb3JyZWN0bHkgb24geCBleHBlY3RlZCAzMDAgYnV0IGdvdCAwCi1GQUlMIFNuYXBzIGNvcnJl
Y3RseSBmb3IgdmVydGljYWwtbHIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWdu
OiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9u
IHggZXhwZWN0ZWQgMTE1IGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRp
Y2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBh
bGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0z
MTUgYnV0IGdvdCAtNTAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgaG9yaXpvbnRhbC10YiB3
cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50
IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBleHBlY3RlZCAzMDAgYnV0IGdv
dCAxMTUKK1BBU1MgU25hcHMgY29ycmVjdGx5IGZvciB2ZXJ0aWNhbC1sciB3cml0aW5nIG1vZGUg
d2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50CitGQUlMIFNuYXBz
IGNvcnJlY3RseSBmb3IgdmVydGljYWwtcmwgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFw
LWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVj
dGx5IG9uIHggZXhwZWN0ZWQgLTMxNSBidXQgZ290IC00ODUKIEZBSUwgU25hcHMgY29ycmVjdGx5
IGZvciBob3Jpem9udGFsLXRiIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjog
c3RhcnQgZW5kJyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4
IGV4cGVjdGVkIDExNSBidXQgZ290IDAKIEZBSUwgU25hcHMgY29ycmVjdGx5IGZvciB2ZXJ0aWNh
bC1sciB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxp
Z25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBleHBlY3RlZCAzMDAg
YnV0IGdvdCAwCi1GQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGljYWwtcmwgd3JpdGluZyBt
b2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBzdGFydCBlbmQnIGFsaWdubWVudCBhc3NlcnRf
ZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHkgZXhwZWN0ZWQgMTY1IGJ1dCBnb3QgMAotRkFJ
TCBTbmFwcyBjb3JyZWN0bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNuYXAt
YWxpZ246IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0
bHkgb24geSBleHBlY3RlZCAxNjUgYnV0IGdvdCAwCi1GQUlMIFNuYXBzIGNvcnJlY3RseSBmb3Ig
J2RpcmVjdGlvbjogcnRsJyB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBhbGln
bm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0zMTUg
YnV0IGdvdCAtNTAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGljYWwtcmwgd3JpdGlu
ZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBzdGFydCBlbmQnIGFsaWdubWVudCBhc3Nl
cnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgLTUwMCBidXQgZ290IC0z
MDAKK0ZBSUwgU25hcHMgY29ycmVjdGx5IGZvciAnZGlyZWN0aW9uOiBydGwnIHdpdGggJ3Njcm9s
bC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMg
Y29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgLTUwMCBidXQgZ290IC0zMDAKK0ZBSUwgU25hcHMgY29y
cmVjdGx5IGZvciAnZGlyZWN0aW9uOiBydGwnIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBzdGFy
dCBlbmQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhw
ZWN0ZWQgLTMxNSBidXQgZ290IC00ODUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJh
bnNmb3JtZWQtdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVk
LXRhcmdldC1leHBlY3RlZC50eHQKaW5kZXggY2NmYzU1OWE1NmViNDRiYzdhNDMzZTFmMTkzOGI3
YTgxNzU4YmFjZi4uYjBkM2E3YTdmYjllMjM4MGZmNTQwZGU5NzI3YjcwNWQxMzQxYjJhOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3JtZWQtdGFyZ2V0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC10by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNSBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIHN0YXJ0IHBv
c2l0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDM1MCBidXQgZ290IDEwCi1GQUlMIFNuYXBz
IHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIGVuZCBwb3NpdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCA1MCBidXQgZ290IDEwCi1GQUlMIFNuYXBzIHRvIHZpc2libGUgdG9wIGxlZnQgcG9zaXRp
b24gb2YgdGhlIHRyYW5zZm9ybWVkIGJveCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBn
b3QgMTAKK1BBU1MgU25hcHMgdG8gdGhlIHRyYW5zZm9ybWVkIHNuYXAgc3RhcnQgcG9zaXRpb24K
K1BBU1MgU25hcHMgdG8gdGhlIHRyYW5zZm9ybWVkIHNuYXAgZW5kIHBvc2l0aW9uCitQQVNTIFNu
YXBzIHRvIHZpc2libGUgdG9wIGxlZnQgcG9zaXRpb24gb2YgdGhlIHRyYW5zZm9ybWVkIGJveAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dAppbmRl
eCA0NzQwYTgzMGZiMTc1ZWNiMjllN2NjNzIxOGY5NGIzMjc5NmY2MWVmLi44YjBjYTc4ZTg4MzI4
MDY5ODIzMGVkYzkyNTFmZjIzYTA0NGRkNWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12
aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2li
bGUtYXJlYXMtYm90aC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgT25seSBz
bmFwIHRvIHZpc2libGUgYXJlYXMgaW4gdGhlIGNhc2Ugd2hlcmUgdGFraW5nIHRoZSBjbG9zZXN0
IHNuYXAgcG9pbnQgb2YgICBlYWNoIGF4aXMgZG9lcyBub3Qgc25hcCB0byBhIHZpc2libGUgYXJl
YSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgNTAwCitGQUlMIE9ubHkgc25hcCB0
byB2aXNpYmxlIGFyZWFzIGluIHRoZSBjYXNlIHdoZXJlIHRha2luZyB0aGUgY2xvc2VzdCBzbmFw
IHBvaW50IG9mICAgZWFjaCBheGlzIGRvZXMgbm90IHNuYXAgdG8gYSB2aXNpYmxlIGFyZWEgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDgwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9z
bmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLWJvdGgtZXhwZWN0ZWQudHh0CmluZGV4IDM2NDAw
MzYyNGUxYTI4NDRiNjQ0NThkZjAyNjk1ODQ2ZTAyY2FjNzQuLjU0YWRmZjU5MWVlZDJhNzQwOTll
YTQ0MDg5ZDEzOTZiZWZmZjY3ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUt
YXJlYXMtbWFyZ2luLWJvdGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2li
bGUtYXJlYXMtbWFyZ2luLWJvdGgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFNuYXAgdG8gYXJlYSBzdWNoIHRoYXQgb25seSB0aGUgc2Nyb2xsIG1hcmdpbiBmcm9tIGJvdGgg
YXhlcycgYXJlYXMgYXJlIHZpc2libGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAwIGJ1dCBn
b3QgNTAwCitQQVNTIFNuYXAgdG8gYXJlYSBzdWNoIHRoYXQgb25seSB0aGUgc2Nyb2xsIG1hcmdp
biBmcm9tIGJvdGggYXhlcycgYXJlYXMgYXJlIHZpc2libGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQKaW5kZXgg
MTI4Zjk1ZGY0MTIwYTE4MjBmNzMzYjJkNTU5OWVkZmU3YTBjMzRhNS4uNjZlYWNjMTljZjQxNzU1
Zjg3NjE5ZTcwZjQ1ZjJkYTIwZWI4YzNhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlz
aWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by12aXNpYmxlLWFyZWFzLW1hcmdpbi14LWF4aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIFNjcm9sbCBtYXJnaW4gc2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiBjYWxjdWxh
dGluZyBzbmFwIGFyZWEgdmlzaWJpbHR5IHdoaWxlIHNuYXBwaW5nIG9uIHRoZSB4LWF4aXMgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgNzAwIGJ1dCBnb3QgNTAwCitQQVNTIFNjcm9sbCBtYXJnaW4g
c2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiBjYWxjdWxhdGluZyBzbmFwIGFyZWEgdmlzaWJpbHR5
IHdoaWxlIHNuYXBwaW5nIG9uIHRoZSB4LWF4aXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
dG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQKaW5kZXggMzYxNzcz
NzA2NjNkYzBlYzQwMGQ0MzhjMGFkZWM0ZmRlMmU1YWViNS4uZjc1M2NjYzM4MTNjNWI5OTlmMzQw
ZmJkMWRhYTFjNzgwZjAyY2E0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1h
cmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNp
YmxlLWFyZWFzLW1hcmdpbi15LWF4aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFNjcm9sbCBtYXJnaW4gc2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiBjYWxjdWxhdGluZyBz
bmFwIGFyZWEgdmlzaWJpbHR5IHdoaWxlIHNuYXBwaW5nIG9uIHRoZSB5LWF4aXMgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgNzAwIGJ1dCBnb3QgNTAwCitQQVNTIFNjcm9sbCBtYXJnaW4gc2hvdWxk
IGJlIGNvbnNpZGVyZWQgd2hlbiBjYWxjdWxhdGluZyBzbmFwIGFyZWEgdmlzaWJpbHR5IHdoaWxl
IHNuYXBwaW5nIG9uIHRoZSB5LWF4aXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlz
aWJsZS1hcmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1h
cmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0CmluZGV4IDEwOWM2NGM0ZTBmYjg5Y2FhMjI0OGQ0ZGM3
M2Y4MDM0MmFhYTQ5OWIuLmRhZDM5NzUwOTBhN2ExZWUzNWI4Njk1MzJmNWI0ODI4YzM1OTA3MTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXgtYXhpcy1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgT25seSBzbmFwIHRvIHZpc2libGUgYXJlYSBvbiBY
IGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZpc2libGUgb25lcyBhcmUgY2xvc2VyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290IDUwMAorRkFJTCBPbmx5IHNuYXAgdG8gdmlzaWJs
ZSBhcmVhIG9uIFggYXhpcywgZXZlbiB3aGVuIHRoZSBub24tdmlzaWJsZSBvbmVzIGFyZSBjbG9z
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAwIGJ1dCBnb3QgNzAwCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMteS1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMteS1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAyNTJiN2Qy
NDhkMmZmMzYwMTk1NzE3ZjQ1YTJiYWM0OWI2ZjNlMDIwLi4yMGM3MDdmZjlkMDgyOWMzNmZkMDNi
OGFkOWE5OGFhMWY1MTI2OGYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFy
ZWFzLXktYXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVh
cy15LWF4aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIE9ubHkgc25hcCB0
byB2aXNpYmxlIGFyZWEgb24gWSBheGlzLCBldmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMg
YXJlIGNsb3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA1MDAKK0ZBSUwg
T25seSBzbmFwIHRvIHZpc2libGUgYXJlYSBvbiBZIGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZp
c2libGUgb25lcyBhcmUgY2xvc2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290
IDcwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4
dAppbmRleCBjYjIyOTg4MmRiZDQzMWZlMDlhZDM4NTE3ZTdmNTBhMTQ1NWNjMWQzLi5kNTM2MDcx
ZWFjZjg4MjgxYmI0OTg4MzM4ZjJjYzliMDg5MWNiYjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvdW5y
ZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNo
YWJsZS1zbmFwLXBvc2l0aW9ucy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
U25hcHMgdG8gdGhlIHBvc2l0aW9ucyBkZWZpbmVkIGJ5IHRoZSBlbGVtZW50IGFzIG11Y2ggYXMg
cG9zc2libGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEwMAorUEFTUyBTbmFw
cyB0byB0aGUgcG9zaXRpb25zIGRlZmluZWQgYnkgdGhlIGVsZW1lbnQgYXMgbXVjaCBhcyBwb3Nz
aWJsZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3Jv
bGxCeS1zbmFwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxU
by1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQKaW5kZXggMGU4MWIxYjYyMjdkZGE3ZmQyZDM0
Y2M0YTIwMzQ1YzJkNzU0MGZlZC4uZmQ5ZjgxYTNjYjU0YTA4OTdlMDE4NzRiNDU4MjhjZjM2YjQ0
MzQ1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsVG8tc2Nyb2xs
Qnktc25hcHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dApAQCAtMSw0MCArMSw0MCBAQAogCi1GQUlM
IGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIGRpdiBs
YW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgw
MAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwfSBv
biBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3Jv
bGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMg
b24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZB
SUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBzY3JvbGxCeSh7bGVmdDog
ODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgODAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMg
b24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24g
KDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmlu
ZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZp
bmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiB3aW5kb3cgbGFu
ZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAK
IEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBhc3NpZ24gc2Ny
b2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5MDB9IG9uIGRpdiBsYW5kcyBvbiAoMCwg
MTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAorUEFTUyBhc3Np
Z24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5MDB9IG9uIGRpdiBsYW5kcyBv
biAoMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3Rv
cDogOTAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgwLCAxMDAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9sbFRvKHt0
b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFu
ZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAK
K1BBU1Mgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKQorUEFT
UyBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApCiBGQUlMIHNj
cm9sbFRvKHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24g
KDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwg
c2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJ
TCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDAsIDEwMDApIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe3RvcDog
OTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3Ag
Zm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKK1BBU1MgYXNzaWduIHNjcm9s
bExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIGRpdiBsYW5k
cyBvbiAoMTAwMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBm
b3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFu
ZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBkaXYgbGFuZHMgb24g
KDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZB
SUwgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAs
IDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKK1BBU1Mgc2Ny
b2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDAp
CitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgx
MDAwLCAxMDAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9w
OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbFRv
KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHts
ZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2lnbiBzY3JvbGxM
ZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRz
IG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQ
QVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDog
LTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBh
bmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmlu
aW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgODAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5k
cyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAor
UEFTUyBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEw
MDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5k
cyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0
b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRv
KHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVm
dDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgYXNzaWduIHNjcm9sbExlZnQg
YW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBv
biAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BB
U1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6
IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgYXNzaWduIHNjcm9sbExlZnQg
YW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRl
ZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCAxMDAwMAotRkFJTCBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEw
MH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAw
MCBidXQgZ290IDMyMTUKLUZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9KSBv
biBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCAzMjE1CitQQVNTIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2
IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogMTAwMDAsIHRvcDogLTEw
MH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAw
LCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMTAwMDAKIEZBSUwgc2Ny
b2xsQnkoe2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgMTAwMDAKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9KSBvbiB3aW5k
b3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdv
dCAxMDAwMAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417520</attachid>
            <date>2021-01-13 03:45:26 -0800</date>
            <delta_ts>2021-01-13 06:18:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145330-20210113124523.patch</filename>
            <type>text/plain</type>
            <size>106819</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uOTM4MGJlNGU1YTI5NDQ5ZmQ2YjA2Y2M4NzI5MmRm
ODU3MzNhMzNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2IEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbCBzbmFwcGluZyB3
aGVuIHNjcm9sbCB2aWEgRE9NIEFQSXMuIFRoaXMgY2hhbmdlIGFsc28KKyAgICAgICAgaW50cm9k
dWNlcyBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgd2hpY2ggaG9sZHMgY29tbW9uIHBhcmFt
ZXRlcnMgZm9yCisgICAgICAgIG9wZXJhdGlvbnMgdGhhdCBmcm9tIERPTSB0aGF0IHNldCBzY3Jv
bGwgcG9zaXRpb24uCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpzY3JvbGxCeSk6IFdoZW4gY2FsbGluZyBzY3JvbGxUbyBtYXJrIHRoYXQg
dGhpcyBjYWxsIGlzIGEgImRpcmVjdGlvbmFsIgorICAgICAgICBzY3JvbGwsIHNvIHRoYXQgZGly
ZWN0aW9uYWwgc2Nyb2xsIHNuYXBwaW5nIGlzIGRvbmUuCisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjpzY3JvbGxUbyk6IEFjY2VwdCB0aGUgbmV3IGVudW0gYXJndW1lbnQgbWFya2luZyBkaXJl
Y3Rpb25hbCBzY3JvbGwKKyAgICAgICAgYW5kIGFsc28gcHJvcGVybHkgc2V0IHVwIHRoZSBTY3Jv
bGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRT
Y3JvbGxMZWZ0KTogVXNlIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucy4KKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6IERpdHRvLgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6IFVwZGF0ZSBtZXRob2QgZGVmaW5pdGlvbnMuCisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzY3JvbGxCeSBjb25zdCk6IFBh
c3MgdGhlIG5ldyBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QgYXJndW1lbnQKKyAgICAg
ICAgdG8gc2Nyb2xsVG8uCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbFRvIGNv
bnN0KTogQWNjZXB0IHRoZSBuZXcgYXJndW1lbnQgYW5kIGFsc28gcHJvcGVybHkgaW5zdGFudGlh
dGUKKyAgICAgICAgYSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgYXJndW1lbnQgZG9pbmcg
dGhlIHNjcm9sbCBvcGVyYXRpb24uCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDogVXBkYXRl
IG1ldGhvZCBkZWZpbml0aW9ucy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKTogQWNjZXB0IHRoZSBu
ZXcgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zIGFyZ3VtZW50CisgICAgICAgIGFuZCBhbHNv
IHByb3Blcmx5IHNuYXAgdGhlIGRlc3RpbmF0aW9uIGxvY2F0aW9uIGJhc2VkIG9uIHNjcm9sbCBz
bmFwcGluZyBydWxlcy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOiBVcGRhdGUgbWV0aG9k
IGRlZmluaXRpb24uCisgICAgICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp1c2VTbW9vdGhTY3JvbGxpbmcpOiBNb3ZlIHRoZSBjaGVjayB3aGljaCB0cmFu
c2xhdGVzIHRoZSBzY3JvbGxpbmdFbGVtZW50IHRvIHRoZQorICAgICAgICByb290IGRvY3VtZW50
IGVsZW1lbnQgaGVyZSB0byBhdm9pZCBhcyBtdWNoIHJlcGV0aXRpb24uCisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsU25hcE9mZnNldHNJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNsb3Nlc3RTbmFwT2Zmc2V0KTogTW9kaWZ5IGFyZ3VtZW50IG5hbWVzIHRvIGNsYXJpZnkgdGhh
dCB0aGlzIGZ1bmN0aW9uIHRha2VzCisgICAgICAgIHNjcm9sbCBvZmZzZXRzLgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oOiBkaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvcjo6c2Nyb2xsKTogQ2hhbmdlIHRvIHJlZmxlY3QgcmVuYW1lIG9mIGFkanVzdFNjcm9s
bERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yOjphZGp1c3RTY3JvbGxPZmZzZXRGb3JTbmFwcGluZ0lmTmVlZGVkKTogQWRk
ZWQgdGhpcyBoZWxwZXIgd2hpY2ggZG9lcworICAgICAgICBzbmFwcGluZyBpbiBib3RoIHRoZSB4
IGFuZCB0aGUgeSBheGlzLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6IFVw
ZGF0ZSBtZXRob2QgZGVmaW5pdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aDogQWRkZWQgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zIGFuZCBTY3JvbGxTbmFwUG9pbnRT
ZWxlY3Rpb25NZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxQb3NpdGlvbkNoYW5nZU9w
dGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVVc2VyKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpY1Vu
Y2xhbXBlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsUG9zaXRpb25DaGFuZ2VP
cHRpb25zOjpzZXRBbmltYXRlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsUG9z
aXRpb25DaGFuZ2VPcHRpb25zOjplbmFibGVEaXJlY3Rpb25hbFNjcm9sbFNuYXBwaW5nKTogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxWaWV3OjpzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKTogVXBkYXRlIHRvIHJlZmxl
Y3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxWaWV3Lmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIuaDogUmVuYW1lIGFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGlu
ZyB0bworICAgICAgICBhZGp1c3RTY3JvbGxEZXN0aW5hdGlvbiBhbmQgYWxsb3cgaXQgdG8gZG8g
bm9uLWRpcmVjdGlvbmFsIHNuYXBwaW5nLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjphZGp1
c3RTY3JvbGxEZXN0aW5hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjphZGp1c3RTY3JvbGxEZXN0aW5hdGlvbkZvckRpcmVjdGlvbmFsU25hcHBpbmcpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KTogVXBkYXRlIHRvIHJlZmxlY3QgU2Nyb2xsUG9zaXRp
b25DaGFuZ2VPcHRpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxU
b3ApOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRp
b24pOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzY3JvbGxUb1hQb3NpdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUb09mZnNldCk6IENvbWJpbmUgd2l0aCBzY3JvbGxUb09mZnNldCBhbmQg
YWxzbyBzdGFydCBkb2luZworICAgICAgICBzbmFwcGluZyBkdXJpbmcgdGhpcyBvcGVyYXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IENy
ZWF0ZSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMgd2hlbiBkb2luZworICAgICAgICBzY3Jv
bGxpbmcgb3BlcmF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxU
b09mZnNldFdpdGhBbmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5oOiBVcGRhdGUgbWV0aG9kIGRlZmluaXRpb25zLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNl
dFNjcm9sbExlZnQpOiBVcGRhdGUgdG8gdXNlIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNldFNjcm9sbFRvcCk6IERpdHRvLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6IERpdHRvLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNYXJxdWVlOjpzdGFydCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3ApOiBEaXR0by4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6IERpdHRv
LgorCiAyMDIxLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VXNlIFVURi04IGVuY29kaW5nIGZvciBlbXB0eSBtYWluIHJlc291cmNlIGxvYWRzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZTEwYjRkYjAzMTA2ZTY4ZjU0MTIzYmNlODY2YWU2YjQz
MDkzM2JlOC4uMzgxYjdiYmNmNDU2MDlhNmU0YjFlZDk2MzgzOGExMjk4ZDQ4MGM1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAxLTExICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25h
cCBwb2ludHMgc2hvdWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBET00vRE9NSFRNTC5tbToKKyAgICAgICAgKC1bRE9N
SFRNTEVsZW1lbnQgc2V0U2Nyb2xsWE9mZnNldDpzY3JvbGxZT2Zmc2V0OmFkanVzdEZvcklPU0Nh
cmV0Ol0pOiBVcGRhdGUgdG8gdXNlCisgICAgICAgIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9u
cy4KKwogMjAyMC0xMi0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IE1vdmUgRnJhbWVMb2FkZXI6OmFyZVBsdWdpbnNFbmFibGVkIHRvIEZyYW1lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggOWNhYTNjOGU2ZWY3ZjZlZDlmMmQ2MzNkNzQyNzdhY2MxMzlhMjNiOC4u
MDk2MzkwYTYwNDdhMDI3YjZiYmM1MzhkMjZkNzE0ZWZjMGI2YWQ5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcApAQCAtOTQ4LDcgKzk0OCw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsQnkoY29uc3Qg
U2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zKQogICAgIFNjcm9sbFRvT3B0aW9ucyBzY3JvbGxUb09w
dGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29yZGluYXRlc09yRmFsbEJhY2tUbyhvcHRpb25z
LCAwLCAwKTsKICAgICBzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICs9IHNjcm9sbExlZnQo
KTsKICAgICBzY3JvbGxUb09wdGlvbnMudG9wLnZhbHVlKCkgKz0gc2Nyb2xsVG9wKCk7Ci0gICAg
c2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zKTsKKyAgICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMs
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6
OkRpcmVjdGlvbmFsKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzY3JvbGxCeShkb3VibGUgeCwgZG91
YmxlIHkpCkBAIC05NTYsNyArOTU2LDcgQEAgdm9pZCBFbGVtZW50OjpzY3JvbGxCeShkb3VibGUg
eCwgZG91YmxlIHkpCiAgICAgc2Nyb2xsQnkoU2Nyb2xsVG9PcHRpb25zKHgsIHkpKTsKIH0KIAot
dm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nKQordm9pZCBFbGVtZW50OjpzY3JvbGxUbyhjb25zdCBTY3Jv
bGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBTY3JvbGxTbmFw
UG9pbnRTZWxlY3Rpb25NZXRob2Qgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9kKQogewogICAgIGlm
ICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQoKSkg
ewogICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyB0aGUgcm9vdCBlbGVtZW50IGFuZCBkb2N1
bWVudCBpcyBpbiBxdWlya3MgbW9kZSwgdGVybWluYXRlIHRoZXNlIHN0ZXBzLgpAQCAtOTc1LDcg
Kzk3NSw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiBv
cHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKICAgICAgICAgaWYgKCF3aW5kb3cpCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgd2luZG93LT5zY3JvbGxUbyhvcHRpb25zLCBj
bGFtcGluZyk7CisgICAgICAgIHdpbmRvdy0+c2Nyb2xsVG8ob3B0aW9ucywgY2xhbXBpbmcsIHNu
YXBQb2ludFNlbGVjdGlvbk1ldGhvZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTk4
NSw3ICs5ODUsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9u
cyYgb3B0aW9ucywgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCiAgICAgaWYgKCFyZW5kZXJlciB8
fCAhcmVuZGVyZXItPmhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBT
Y3JvbGxUb09wdGlvbnMgc2Nyb2xsVG9PcHRpb25zID0gbm9ybWFsaXplTm9uRmluaXRlQ29vcmRp
bmF0ZXNPckZhbGxCYWNrVG8ob3B0aW9ucywKKyAgICBhdXRvIHNjcm9sbFRvT3B0aW9ucyA9IG5v
cm1hbGl6ZU5vbkZpbml0ZUNvb3JkaW5hdGVzT3JGYWxsQmFja1RvKG9wdGlvbnMsCiAgICAgICAg
IGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kZXJlci0+c2Nyb2xsTGVmdCgpLCAqcmVuZGVyZXIp
LAogICAgICAgICBhZGp1c3RGb3JBYnNvbHV0ZVpvb20ocmVuZGVyZXItPnNjcm9sbFRvcCgpLCAq
cmVuZGVyZXIpCiAgICAgKTsKQEAgLTk5Myw4ICs5OTMsMTAgQEAgdm9pZCBFbGVtZW50OjpzY3Jv
bGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nKQogICAgICAgICBjbGFtcFRvSW50ZWdlcihzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgp
ICogcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKSwKICAgICAgICAgY2xhbXBUb0lu
dGVnZXIoc2Nyb2xsVG9PcHRpb25zLnRvcC52YWx1ZSgpICogcmVuZGVyZXItPnN0eWxlKCkuZWZm
ZWN0aXZlWm9vbSgpKQogICAgICk7Ci0gICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VT
bW9vdGhTY3JvbGxpbmcoc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yLnZhbHVlT3IoU2Nyb2xsQmVo
YXZpb3I6OkF1dG8pLCB0aGlzKSA/IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9s
bDo6Tm87Ci0gICAgcmVuZGVyZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBT
Y3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIGNsYW1waW5nLCBhbmltYXRlZCk7CisKKyAgICBhdXRv
IGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhhdmlvci52
YWx1ZU9yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKSwgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVz
IDogQW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRp
b25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNXaXRo
T3B0aW9ucyhjbGFtcGluZywgYW5pbWF0ZWQsIHNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCk7Cisg
ICAgcmVuZGVyZXItPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnMpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnNjcm9sbFRvKGRvdWJsZSB4
LCBkb3VibGUgeSkKQEAgLTEzMjAsMjEgKzEzMjIsMjAgQEAgdm9pZCBFbGVtZW50OjpzZXRTY3Jv
bGxMZWZ0KGludCBuZXdMZWZ0KQogewogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKKyAgICBhdXRvIG9wdGlvbnMgPSBTY3JvbGxQb3NpdGlv
bkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgIG9wdGlvbnMuYW5pbWF0
ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3I6OkF1dG8sIHRoaXMpID8gQW5p
bWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKKwogICAgIGlmIChkb2N1bWVu
dCgpLnNjcm9sbGluZ0VsZW1lbnQoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChhdXRvKiBmcmFt
ZSA9IGRvY3VtZW50RnJhbWVXaXRoTm9uTnVsbFZpZXcoKSkgewotICAgICAgICAgICAgLy8gRklY
TUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwotICAgICAg
ICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUw
NTkKLSAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xs
aW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKSA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CiAgICAgICAgICAgICBJ
bnRQb2ludCBwb3NpdGlvbihzdGF0aWNfY2FzdDxpbnQ+KG5ld0xlZnQgKiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCBmcmFtZS0+dmlldygpLT5z
Y3JvbGxZKCkpOwotICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAg
ICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiAg
ICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJl
ciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkTGVmdCA9IGNsYW1wVG9JbnRl
Z2VyKG5ld0xlZnQgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwotICAgICAg
ICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhh
dmlvcjo6QXV0bywgdGhpcykgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6
Ok5vOwotICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVkTGVmdCwgU2Nyb2xs
VHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwor
ICAgICAgICByZW5kZXJlci0+c2V0U2Nyb2xsTGVmdChjbGFtcGVkTGVmdCwgb3B0aW9ucyk7CiAg
ICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5sYXllcigpKQogICAg
ICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFyTGF0Y2hlZFN0YXRl
KHRydWUpOwogICAgIH0KQEAgLTEzNDQsMjEgKzEzNDUsMjAgQEAgdm9pZCBFbGVtZW50OjpzZXRT
Y3JvbGxUb3AoaW50IG5ld1RvcCkKIHsKICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgYXV0byBvcHRpb25zID0gU2Nyb2xsUG9zaXRp
b25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKKyAgICBvcHRpb25zLmFuaW1h
dGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yOjpBdXRvLCB0aGlzKSA/IEFu
aW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87CisKICAgICBpZiAoZG9jdW1l
bnQoKS5zY3JvbGxpbmdFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAgICBpZiAoYXV0byogZnJh
bWUgPSBkb2N1bWVudEZyYW1lV2l0aE5vbk51bGxWaWV3KCkpIHsKLSAgICAgICAgICAgIC8vIEZJ
WE1FOiBTaG91bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KLSAgICAg
ICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1
MDU5Ci0gICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHVzZVNtb290aFNjcm9s
bGluZyhTY3JvbGxCZWhhdmlvcjo6QXV0bywgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkg
PyBBbmltYXRlZFNjcm9sbDo6WWVzIDogQW5pbWF0ZWRTY3JvbGw6Ok5vOwogICAgICAgICAgICAg
SW50UG9pbnQgcG9zaXRpb24oZnJhbWUtPnZpZXcoKS0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxp
bnQ+KG5ld1RvcCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVG
YWN0b3IoKSkpOwotICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAg
ICBmcmFtZS0+dmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiAg
ICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChhdXRvKiByZW5kZXJl
ciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIGludCBjbGFtcGVkVG9wID0gY2xhbXBUb0ludGVn
ZXIobmV3VG9wICogcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKLSAgICAgICAg
QW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZp
b3I6OkF1dG8sIHRoaXMpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpO
bzsKLSAgICAgICAgcmVuZGVyZXItPnNldFNjcm9sbFRvcChjbGFtcGVkVG9wLCBTY3JvbGxUeXBl
OjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAg
ICAgIHJlbmRlcmVyLT5zZXRTY3JvbGxUb3AoY2xhbXBlZFRvcCwgb3B0aW9ucyk7CiAgICAgICAg
IGlmIChhdXRvKiBzY3JvbGxhYmxlQXJlYSA9IHJlbmRlcmVyLT5sYXllcigpKQogICAgICAgICAg
ICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbFNob3VsZENsZWFyTGF0Y2hlZFN0YXRlKHRydWUp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDU2YWNhNGVmNDcwNmY3ZjMwYzJiYmY5MTRj
ZTE0NzZmNmIxZTU3YmYuLjgxYjFlOWU4N2RlZDIyMDNjMDA3M2U0ZTEzMTUxZTBkMzkyOGM4NTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMTU4LDcgKzE1OCw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2Nyb2xsQnkoY29uc3QgU2Nyb2xsVG9PcHRpb25zJik7CiAgICAgdm9pZCBzY3JvbGxCeShk
b3VibGUgeCwgZG91YmxlIHkpOwotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUbyhjb25zdCBTY3Jv
bGxUb09wdGlvbnMmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG8oY29uc3QgU2Nyb2xsVG9PcHRpb25zJiwgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0
aW9uTWV0aG9kID0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpDbG9zZXN0KTsKICAg
ICB2b2lkIHNjcm9sbFRvKGRvdWJsZSB4LCBkb3VibGUgeSk7CiAKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNjcm9sbEJ5TGluZXMoaW50IGxpbmVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAppbmRleCBlMzNmYWUzOGVlYzNiYTEzNjY5N2I4ZWU1ZDM1ZTkwNTNlYTg3YTZhLi43NjVhYzQ3
MWZmZjlkNTM0YTliZmY5MWE5YjNlMTlhYjhiYmUyNDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCkBAIC05MCw2ICs5MCw3IEBACiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmgiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyZWVuLmgi
CisjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0YS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9s
aWN5LmgiCkBAIC0xNjc0LDcgKzE2NzUsNyBAQCB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsQnkoY29u
c3QgU2Nyb2xsVG9PcHRpb25zJiBvcHRpb25zKSBjb25zdAogICAgIFNjcm9sbFRvT3B0aW9ucyBz
Y3JvbGxUb09wdGlvbnMgPSBub3JtYWxpemVOb25GaW5pdGVDb29yZGluYXRlc09yRmFsbEJhY2tU
byhvcHRpb25zLCAwLCAwKTsKICAgICBzY3JvbGxUb09wdGlvbnMubGVmdC52YWx1ZSgpICs9IHZp
ZXctPm1hcEZyb21MYXlvdXRUb0NTU1VuaXRzKHZpZXctPmNvbnRlbnRzU2Nyb2xsUG9zaXRpb24o
KS54KCkpOwogICAgIHNjcm9sbFRvT3B0aW9ucy50b3AudmFsdWUoKSArPSB2aWV3LT5tYXBGcm9t
TGF5b3V0VG9DU1NVbml0cyh2aWV3LT5jb250ZW50c1Njcm9sbFBvc2l0aW9uKCkueSgpKTsKLSAg
ICBzY3JvbGxUbyhzY3JvbGxUb09wdGlvbnMpOworICAgIHNjcm9sbFRvKHNjcm9sbFRvT3B0aW9u
cywgU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhv
ZDo6RGlyZWN0aW9uYWwpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8oZG91YmxlIHgs
IGRvdWJsZSB5LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykgY29uc3QKQEAgLTE2ODIsNyArMTY4
Myw3IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhkb3VibGUgeCwgZG91YmxlIHksIFNjcm9s
bENsYW1waW5nIGNsYW1waW5nKSBjb25zdAogICAgIHNjcm9sbFRvKFNjcm9sbFRvT3B0aW9ucyh4
LCB5KSwgY2xhbXBpbmcpOwogfQogCi12b2lkIERPTVdpbmRvdzo6c2Nyb2xsVG8oY29uc3QgU2Ny
b2xsVG9PcHRpb25zJiBvcHRpb25zLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykgY29uc3QKK3Zv
aWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nLCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Qgc25h
cFBvaW50U2VsZWN0aW9uTWV0aG9kKSBjb25zdAogewogICAgIGlmICghaXNDdXJyZW50bHlEaXNw
bGF5ZWRJbkZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE3MDYsOSArMTcwNyw5IEBAIHZv
aWQgRE9NV2luZG93OjpzY3JvbGxUbyhjb25zdCBTY3JvbGxUb09wdGlvbnMmIG9wdGlvbnMsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nCiAKICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1
bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRl
ZCA9IHVzZVNtb290aFNjcm9sbGluZyhzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IudmFsdWVPcihT
Y3JvbGxCZWhhdmlvcjo6QXV0byksIGRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSA/IEFu
aW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Ci0KLSAgICB2aWV3LT5zZXRD
b250ZW50c1Njcm9sbFBvc2l0aW9uKGxheW91dFBvcywgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAg
ICBhdXRvIGFuaW1hdGVkID0gdXNlU21vb3RoU2Nyb2xsaW5nKHNjcm9sbFRvT3B0aW9ucy5iZWhh
dmlvci52YWx1ZU9yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKSwgZG9jdW1lbnQoKS0+ZG9jdW1lbnRF
bGVtZW50KCkpID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xsOjpObzsKKyAg
ICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdl
T3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljV2l0aE9wdGlvbnMoY2xhbXBpbmcsIGFuaW1hdGVk
LCBzbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QpOworICAgIHZpZXctPnNldENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24obGF5b3V0UG9zLCBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMpOwogfQogCiBi
b29sIERPTVdpbmRvdzo6YWxsb3dlZFRvQ2hhbmdlV2luZG93R2VvbWV0cnkoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKaW5kZXggYTczOWY4MzFmZWU5MWQxOTA2MWY3YzIwNTAwMzJhMGE3
ZjE3MDMxMy4uZjI3YTNkNTFjMTU1ODM0ODhlZjE0NGE3ODJmYmE0ZjJkZTdhOTA5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzY3JvbGxCeShjb25zdCBTY3JvbGxUb09wdGlvbnMmKSBjb25zdDsKICAgICB2b2lkIHNjcm9s
bEJ5KGRvdWJsZSB4LCBkb3VibGUgeSkgY29uc3Q7Ci0gICAgdm9pZCBzY3JvbGxUbyhjb25zdCBT
Y3JvbGxUb09wdGlvbnMmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
KSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IFNjcm9sbFRvT3B0aW9ucyYsIFNjcm9s
bENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVj
dGlvbk1ldGhvZCA9IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6Q2xvc2VzdCkgY29u
c3Q7CiAgICAgdm9pZCBzY3JvbGxUbyhkb3VibGUgeCwgZG91YmxlIHksIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGNvbnN0OwogCiAgICAgdm9pZCBtb3ZlQnkoZmxv
YXQgeCwgZmxvYXQgeSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZWVk
NDUzYTYzZTJmYmE0ZDhiNWUyOTliZTk3MjI4NGU1OWQ5MjcwOC4uNDcwZGRjOGZhMjJjOTliY2Rh
NGM4N2I5NzU5NTliMWI4MTk0YWU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
MjMxMSwxMiArMjMxMSwxMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChj
b25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNldFNjcm9s
bFBvc2l0aW9uKEludFBvaW50KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54
KCksIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdPZmZzZXRZIC0gcmVjdC55KCkpKTsKIH0KIAotdm9p
ZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3Jv
bGxQb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1h
dGVkKQordm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBv
cHRpb25zKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRnJh
bWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgLCBjbGVh
cmluZyBhbmNob3IiKTsKIAogICAgIGF1dG8gb2xkU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxU
eXBlKCk7Ci0gICAgc2V0Q3VycmVudFNjcm9sbFR5cGUoU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGlj
KTsKKyAgICBzZXRDdXJyZW50U2Nyb2xsVHlwZShvcHRpb25zLnR5cGUpOwogCiAgICAgbV9tYWlu
dGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yID0gbnVsbHB0cjsKICAgICBtX3Nob3VsZFNjcm9sbFRv
Rm9jdXNlZEVsZW1lbnQgPSBmYWxzZTsKQEAgLTIzMjQsMTAgKzIzMjQsMTMgQEAgdm9pZCBGcmFt
ZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb3Np
dGlvbiwgU2Nyb2xsQ2wKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CiAgICAgaWYg
KHBhZ2UgJiYgcGFnZS0+aXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgc2Nyb2xs
QW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS0+d2hlZWxFdmVudFRlc3RN
b25pdG9yKCkpOwotICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKQotICAg
ICAgICBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9u
KHNjcm9sbFBvc2l0aW9uKSwgY3VycmVudFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpOworCisgICAg
U2Nyb2xsT2Zmc2V0IHNuYXBwZWRPZmZzZXQgPSBjZWlsZWRJbnRQb2ludChzY3JvbGxBbmltYXRv
cigpLmFkanVzdFNjcm9sbE9mZnNldEZvclNuYXBwaW5nSWZOZWVkZWQoc2Nyb2xsT2Zmc2V0RnJv
bVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKSwgb3B0aW9ucy5zbmFwUG9pbnRTZWxlY3Rpb25NZXRo
b2QpKTsKKworICAgIGlmIChvcHRpb25zLmFuaW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMp
CisgICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzbmFwcGVkT2Zmc2V0LCBjdXJy
ZW50U2Nyb2xsVHlwZSgpLCBvcHRpb25zLmNsYW1waW5nKTsKICAgICBlbHNlCi0gICAgICAgIFNj
cm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBjbGFtcGluZyk7Cisg
ICAgICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9m
ZnNldChzbmFwcGVkT2Zmc2V0KSwgb3B0aW9ucyk7CiAKICAgICBzZXRDdXJyZW50U2Nyb2xsVHlw
ZShvbGRTY3JvbGxUeXBlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDkxM2VmMjZl
MjBhNTFiMmQ1NjRlYmQzNmVhMmIwMzg1OTE5NjhmZTQuLmJkZmUyNzg0OWYyOTYxYzZkZGU1ZTlm
ZjhkZGI1MTAyMTVmMzE3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjM5LDcgKzIz
OSw3IEBAIHB1YmxpYzoKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0Jikg
ZmluYWw7CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pIGZpbmFsOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmID0gU2Nyb2xsUG9zaXRpb25D
aGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKSkgZmluYWw7CiAgICAgdm9pZCByZXN0
b3JlU2Nyb2xsYmFyKCk7CiAgICAgdm9pZCBzY2hlZHVsZVNjcm9sbFRvRm9jdXNlZEVsZW1lbnQo
U2VsZWN0aW9uUmV2ZWFsTW9kZSk7CiAgICAgdm9pZCBzY3JvbGxUb0ZvY3VzZWRFbGVtZW50SW1t
ZWRpYXRlbHlJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jv
bGxCZWhhdmlvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcApp
bmRleCBjZmU1ZjM3NjdkZDk0YWYwZGRjOWQxOWZmNDUxYWQ5NWI4MjU3NjFjLi40NjlhMTliODI5
NGFmZjVjZTcxNjgzZmMwZGY0MDIxMTg2NDg2MjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9s
bEJlaGF2aW9yLmNwcApAQCAtMzUsNiArMzUsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBi
b29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCog
YXNzb2NpYXRlZEVsZW1lbnQpCiB7CisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1l
bnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPworICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDU5CisgICAgaWYgKGFzc29jaWF0ZWRFbGVtZW50ID09
IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSkKKyAgICAg
ICAgYXNzb2NpYXRlZEVsZW1lbnQgPSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKTsKKwogICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQKICAgICAgICAgfHwg
IWFzc29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpCiAgICAgICAgIHx8ICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNu
YXBPZmZzZXRzSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxT
bmFwT2Zmc2V0c0luZm8uY3BwCmluZGV4IGVjMGI1MDc5YzkyZjFjNzE2MjVlMzY0ZmIwNzg2M2Ez
MzBjZjEzYjYuLjFlYjgxYTBjYmJmNjlmOWIxYzkzODFiMTA5Zjc0OTgyZmRiNWFkMmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5m
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsU25hcE9mZnNl
dHNJbmZvLmNwcApAQCAtMTAwLDMzICsxMDAsMzMgQEAgc3RhdGljIHZvaWQgaW5kaWNlc09mTmVh
cmVzdFNuYXBPZmZzZXRzKExheW91dFR5cGUgb2Zmc2V0LCBjb25zdCBWZWN0b3I8TGF5b3V0VHkK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExheW91dFR5cGU+Ci1zdGF0aWMgTGF5b3V0VHlwZSBj
bG9zZXN0U25hcE9mZnNldChjb25zdCBWZWN0b3I8TGF5b3V0VHlwZT4mIHNuYXBPZmZzZXRzLCBj
b25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VHlwZT4+JiBzbmFwT2Zmc2V0UmFu
Z2VzLCBMYXlvdXRUeXBlIHNjcm9sbERlc3RpbmF0aW9uLCBmbG9hdCB2ZWxvY2l0eSwgdW5zaWdu
ZWQmIGFjdGl2ZVNuYXBJbmRleCwgT3B0aW9uYWw8TGF5b3V0VHlwZT4gb3JpZ2luYWxQb3NpdGlv
bkZvckRpcmVjdGlvbmFsU25hcHBpbmcpCitzdGF0aWMgTGF5b3V0VHlwZSBjbG9zZXN0U25hcE9m
ZnNldChjb25zdCBWZWN0b3I8TGF5b3V0VHlwZT4mIHNuYXBPZmZzZXRzLCBjb25zdCBWZWN0b3I8
U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VHlwZT4+JiBzbmFwT2Zmc2V0UmFuZ2VzLCBMYXlvdXRU
eXBlIHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0LCBmbG9hdCB2ZWxvY2l0eSwgdW5zaWduZWQmIGFj
dGl2ZVNuYXBJbmRleCwgT3B0aW9uYWw8TGF5b3V0VHlwZT4gb3JpZ2luYWxPZmZzZXRGb3JEaXJl
Y3Rpb25hbFNuYXBwaW5nKQogewogICAgIEFTU0VSVChzbmFwT2Zmc2V0cy5zaXplKCkpOwogICAg
IGFjdGl2ZVNuYXBJbmRleCA9IDA7CiAKICAgICB1bnNpZ25lZCBsb3dlclNuYXBPZmZzZXRSYW5n
ZUluZGV4OwogICAgIHVuc2lnbmVkIHVwcGVyU25hcE9mZnNldFJhbmdlSW5kZXg7Ci0gICAgaW5k
aWNlc09mTmVhcmVzdFNuYXBPZmZzZXRSYW5nZXM8TGF5b3V0VHlwZT4oc2Nyb2xsRGVzdGluYXRp
b24sIHNuYXBPZmZzZXRSYW5nZXMsIGxvd2VyU25hcE9mZnNldFJhbmdlSW5kZXgsIHVwcGVyU25h
cE9mZnNldFJhbmdlSW5kZXgpOworICAgIGluZGljZXNPZk5lYXJlc3RTbmFwT2Zmc2V0UmFuZ2Vz
PExheW91dFR5cGU+KHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0LCBzbmFwT2Zmc2V0UmFuZ2VzLCBs
b3dlclNuYXBPZmZzZXRSYW5nZUluZGV4LCB1cHBlclNuYXBPZmZzZXRSYW5nZUluZGV4KTsKICAg
ICBpZiAobG93ZXJTbmFwT2Zmc2V0UmFuZ2VJbmRleCA9PSB1cHBlclNuYXBPZmZzZXRSYW5nZUlu
ZGV4ICYmIHVwcGVyU25hcE9mZnNldFJhbmdlSW5kZXggIT0gaW52YWxpZFNuYXBPZmZzZXRJbmRl
eCkgewogICAgICAgICBhY3RpdmVTbmFwSW5kZXggPSBpbnZhbGlkU25hcE9mZnNldEluZGV4Owot
ICAgICAgICByZXR1cm4gc2Nyb2xsRGVzdGluYXRpb247CisgICAgICAgIHJldHVybiBzY3JvbGxE
ZXN0aW5hdGlvbk9mZnNldDsKICAgICB9CiAKLSAgICBpZiAoc2Nyb2xsRGVzdGluYXRpb24gPD0g
c25hcE9mZnNldHMuZmlyc3QoKSkKKyAgICBpZiAoc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgPD0g
c25hcE9mZnNldHMuZmlyc3QoKSkKICAgICAgICAgcmV0dXJuIHNuYXBPZmZzZXRzLmZpcnN0KCk7
CiAKICAgICBhY3RpdmVTbmFwSW5kZXggPSBzbmFwT2Zmc2V0cy5zaXplKCkgLSAxOwotICAgIGlm
IChzY3JvbGxEZXN0aW5hdGlvbiA+PSBzbmFwT2Zmc2V0cy5sYXN0KCkpCisgICAgaWYgKHNjcm9s
bERlc3RpbmF0aW9uT2Zmc2V0ID49IHNuYXBPZmZzZXRzLmxhc3QoKSkKICAgICAgICAgcmV0dXJu
IHNuYXBPZmZzZXRzLmxhc3QoKTsKIAogICAgIHVuc2lnbmVkIGxvd2VySW5kZXg7CiAgICAgdW5z
aWduZWQgdXBwZXJJbmRleDsKLSAgICBpbmRpY2VzT2ZOZWFyZXN0U25hcE9mZnNldHM8TGF5b3V0
VHlwZT4oc2Nyb2xsRGVzdGluYXRpb24sIHNuYXBPZmZzZXRzLCBsb3dlckluZGV4LCB1cHBlcklu
ZGV4KTsKKyAgICBpbmRpY2VzT2ZOZWFyZXN0U25hcE9mZnNldHM8TGF5b3V0VHlwZT4oc2Nyb2xs
RGVzdGluYXRpb25PZmZzZXQsIHNuYXBPZmZzZXRzLCBsb3dlckluZGV4LCB1cHBlckluZGV4KTsK
ICAgICBMYXlvdXRUeXBlIGxvd2VyU25hcFBvc2l0aW9uID0gc25hcE9mZnNldHNbbG93ZXJJbmRl
eF07CiAgICAgTGF5b3V0VHlwZSB1cHBlclNuYXBQb3NpdGlvbiA9IHNuYXBPZmZzZXRzW3VwcGVy
SW5kZXhdOwogICAgIGlmICghc3RkOjphYnModmVsb2NpdHkpKSB7Ci0gICAgICAgIGJvb2wgaXND
bG9zZXJUb0xvd2VyU25hcFBvc2l0aW9uID0gc2Nyb2xsRGVzdGluYXRpb24gLSBsb3dlclNuYXBQ
b3NpdGlvbiA8PSB1cHBlclNuYXBQb3NpdGlvbiAtIHNjcm9sbERlc3RpbmF0aW9uOworICAgICAg
ICBib29sIGlzQ2xvc2VyVG9Mb3dlclNuYXBQb3NpdGlvbiA9IHNjcm9sbERlc3RpbmF0aW9uT2Zm
c2V0IC0gbG93ZXJTbmFwUG9zaXRpb24gPD0gdXBwZXJTbmFwUG9zaXRpb24gLSBzY3JvbGxEZXN0
aW5hdGlvbk9mZnNldDsKICAgICAgICAgYWN0aXZlU25hcEluZGV4ID0gaXNDbG9zZXJUb0xvd2Vy
U25hcFBvc2l0aW9uID8gbG93ZXJJbmRleCA6IHVwcGVySW5kZXg7CiAgICAgICAgIHJldHVybiBp
c0Nsb3NlclRvTG93ZXJTbmFwUG9zaXRpb24gPyBsb3dlclNuYXBQb3NpdGlvbiA6IHVwcGVyU25h
cFBvc2l0aW9uOwogICAgIH0KQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgTGF5b3V0VHlwZSBj
bG9zZXN0U25hcE9mZnNldChjb25zdCBWZWN0b3I8TGF5b3V0VHlwZT4mIHNuYXBPZmZzZXRzLCBj
b25zdAogICAgICAgICAgICAgcmV0dXJuIGxvd2VyU25hcFBvc2l0aW9uOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKCFvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZy5oYXNW
YWx1ZSgpIHx8ICpvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyA+IHVwcGVy
U25hcFBvc2l0aW9uKSB7CisgICAgICAgIGlmICghb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25h
bFNuYXBwaW5nLmhhc1ZhbHVlKCkgfHwgKm9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFw
cGluZyA+IHVwcGVyU25hcFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBhY3RpdmVTbmFwSW5kZXgg
PSB1cHBlckluZGV4OwogICAgICAgICAgICAgcmV0dXJuIHVwcGVyU25hcFBvc2l0aW9uOwogICAg
ICAgICB9CkBAIC0xNTEsMjQgKzE1MSwyNCBAQCBzdGF0aWMgTGF5b3V0VHlwZSBjbG9zZXN0U25h
cE9mZnNldChjb25zdCBWZWN0b3I8TGF5b3V0VHlwZT4mIHNuYXBPZmZzZXRzLCBjb25zdAogICAg
ICAgICAgICAgcmV0dXJuIHVwcGVyU25hcFBvc2l0aW9uOwogICAgICAgICB9CiAKLSAgICAgICAg
aWYgKCFvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZy5oYXNWYWx1ZSgpIHx8
ICpvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyA8IGxvd2VyU25hcFBvc2l0
aW9uKSB7CisgICAgICAgIGlmICghb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5n
Lmhhc1ZhbHVlKCkgfHwgKm9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZyA8IGxv
d2VyU25hcFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBhY3RpdmVTbmFwSW5kZXggPSBsb3dlcklu
ZGV4OwogICAgICAgICAgICAgcmV0dXJuIGxvd2VyU25hcFBvc2l0aW9uOwogICAgICAgICB9CiAg
ICAgfQogCiAgICAgYWN0aXZlU25hcEluZGV4ID0gaW52YWxpZFNuYXBPZmZzZXRJbmRleDsKLSAg
ICByZXR1cm4gc2Nyb2xsRGVzdGluYXRpb247CisgICAgcmV0dXJuIHNjcm9sbERlc3RpbmF0aW9u
T2Zmc2V0OwogfQogCi1MYXlvdXRVbml0IGNsb3Nlc3RTbmFwT2Zmc2V0KGNvbnN0IFZlY3RvcjxM
YXlvdXRVbml0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxM
YXlvdXRVbml0Pj4mIHNuYXBPZmZzZXRSYW5nZXMsIExheW91dFVuaXQgc2Nyb2xsRGVzdGluYXRp
b24sIGZsb2F0IHZlbG9jaXR5LCB1bnNpZ25lZCYgYWN0aXZlU25hcEluZGV4LCBPcHRpb25hbDxM
YXlvdXRVbml0PiBvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZykKK0xheW91
dFVuaXQgY2xvc2VzdFNuYXBPZmZzZXQoY29uc3QgVmVjdG9yPExheW91dFVuaXQ+JiBzbmFwT2Zm
c2V0cywgY29uc3QgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiYgc25hcE9m
ZnNldFJhbmdlcywgTGF5b3V0VW5pdCBzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCwgZmxvYXQgdmVs
b2NpdHksIHVuc2lnbmVkJiBhY3RpdmVTbmFwSW5kZXgsIE9wdGlvbmFsPExheW91dFVuaXQ+IG9y
aWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZykKIHsKLSAgICByZXR1cm4gY2xvc2Vz
dFNuYXBPZmZzZXQ8TGF5b3V0VW5pdD4oc25hcE9mZnNldHMsIHNuYXBPZmZzZXRSYW5nZXMsIHNj
cm9sbERlc3RpbmF0aW9uLCB2ZWxvY2l0eSwgYWN0aXZlU25hcEluZGV4LCBvcmlnaW5hbFBvc2l0
aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyk7CisgICAgcmV0dXJuIGNsb3Nlc3RTbmFwT2Zmc2V0
PExheW91dFVuaXQ+KHNuYXBPZmZzZXRzLCBzbmFwT2Zmc2V0UmFuZ2VzLCBzY3JvbGxEZXN0aW5h
dGlvbk9mZnNldCwgdmVsb2NpdHksIGFjdGl2ZVNuYXBJbmRleCwgb3JpZ2luYWxPZmZzZXRGb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKTsKIH0KIAotZmxvYXQgY2xvc2VzdFNuYXBPZmZzZXQoY29uc3Qg
VmVjdG9yPGZsb2F0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5n
ZTxmbG9hdD4+JiBzbmFwT2Zmc2V0UmFuZ2VzLCBmbG9hdCBzY3JvbGxEZXN0aW5hdGlvbiwgZmxv
YXQgdmVsb2NpdHksIHVuc2lnbmVkJiBhY3RpdmVTbmFwSW5kZXgsIE9wdGlvbmFsPGZsb2F0PiBv
cmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZykKK2Zsb2F0IGNsb3Nlc3RTbmFw
T2Zmc2V0KGNvbnN0IFZlY3RvcjxmbG9hdD4mIHNuYXBPZmZzZXRzLCBjb25zdCBWZWN0b3I8U2Ny
b2xsT2Zmc2V0UmFuZ2U8ZmxvYXQ+PiYgc25hcE9mZnNldFJhbmdlcywgZmxvYXQgc2Nyb2xsRGVz
dGluYXRpb25PZmZzZXQsIGZsb2F0IHZlbG9jaXR5LCB1bnNpZ25lZCYgYWN0aXZlU25hcEluZGV4
LCBPcHRpb25hbDxmbG9hdD4gb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKQog
ewotICAgIHJldHVybiBjbG9zZXN0U25hcE9mZnNldDxmbG9hdD4oc25hcE9mZnNldHMsIHNuYXBP
ZmZzZXRSYW5nZXMsIHNjcm9sbERlc3RpbmF0aW9uLCB2ZWxvY2l0eSwgYWN0aXZlU25hcEluZGV4
LCBvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyk7CisgICAgcmV0dXJuIGNs
b3Nlc3RTbmFwT2Zmc2V0PGZsb2F0PihzbmFwT2Zmc2V0cywgc25hcE9mZnNldFJhbmdlcywgc2Ny
b2xsRGVzdGluYXRpb25PZmZzZXQsIHZlbG9jaXR5LCBhY3RpdmVTbmFwSW5kZXgsIG9yaWdpbmFs
T2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZyk7CiB9CiAKIGVudW0gY2xhc3MgSW5zZXRPck91
dHNldCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxT
bmFwT2Zmc2V0c0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNu
YXBPZmZzZXRzSW5mby5oCmluZGV4IDYzMmQ3ZTdhYWY3MjhhMDNjNTM0ZjA3MjI5NGNmZTAwMzg4
ZTE2MTQuLmQ1YmE3NjNmOWNhNGY3OTNhY2YwMjcwNGNlOWQ0OWEyYTY3M2RmOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5m
by5oCkBAIC02Niw4ICs2Niw4IEBAIGNvbnN0IHVuc2lnbmVkIGludmFsaWRTbmFwT2Zmc2V0SW5k
ZXggPSBVSU5UX01BWDsKIC8vIHRoZSBzY3JvbGxpbmcgY29udGFpbmVyJ3MgYm9yZGVyIGJveC4K
IHZvaWQgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYs
IGNvbnN0IFJlbmRlckJveCYgc2Nyb2xsaW5nRWxlbWVudEJveCwgY29uc3QgUmVuZGVyU3R5bGUm
IHNjcm9sbGluZ0VsZW1lbnRTdHlsZSwgTGF5b3V0UmVjdCB2aWV3cG9ydFJlY3RJbkJvcmRlckJv
eENvb3JkaW5hdGVzKTsKIAotV0VCQ09SRV9FWFBPUlQgTGF5b3V0VW5pdCBjbG9zZXN0U25hcE9m
ZnNldChjb25zdCBWZWN0b3I8TGF5b3V0VW5pdD4mIHNuYXBPZmZzZXRzLCBjb25zdCBWZWN0b3I8
U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VW5pdD4+JiBzbmFwT2Zmc2V0UmFuZ2VzLCBMYXlvdXRV
bml0IHNjcm9sbERlc3RpbmF0aW9uLCBmbG9hdCB2ZWxvY2l0eSwgdW5zaWduZWQmIGFjdGl2ZVNu
YXBJbmRleCwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gb3JpZ2luYWxQb3NpdGlvbkZvckRpcmVjdGlv
bmFsU25hcHBpbmcgPSBXVEY6Om51bGxvcHQpOwotV0VCQ09SRV9FWFBPUlQgZmxvYXQgY2xvc2Vz
dFNuYXBPZmZzZXQoY29uc3QgVmVjdG9yPGZsb2F0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3Rv
cjxTY3JvbGxPZmZzZXRSYW5nZTxmbG9hdD4+JiBzbmFwT2Zmc2V0UmFuZ2VzLCBmbG9hdCBzY3Jv
bGxEZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIHVuc2lnbmVkJiBhY3RpdmVTbmFwSW5kZXgs
IE9wdGlvbmFsPGZsb2F0PiBvcmlnaW5hbFBvc2l0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyA9
IFdURjo6bnVsbG9wdCk7CitXRUJDT1JFX0VYUE9SVCBMYXlvdXRVbml0IGNsb3Nlc3RTbmFwT2Zm
c2V0KGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3RvcjxT
Y3JvbGxPZmZzZXRSYW5nZTxMYXlvdXRVbml0Pj4mIHNuYXBPZmZzZXRSYW5nZXMsIExheW91dFVu
aXQgc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQsIGZsb2F0IHZlbG9jaXR5LCB1bnNpZ25lZCYgYWN0
aXZlU25hcEluZGV4LCBPcHRpb25hbDxMYXlvdXRVbml0PiBvcmlnaW5hbFBvc2l0aW9uRm9yRGly
ZWN0aW9uYWxTbmFwcGluZyA9IFdURjo6bnVsbG9wdCk7CitXRUJDT1JFX0VYUE9SVCBmbG9hdCBj
bG9zZXN0U25hcE9mZnNldChjb25zdCBWZWN0b3I8ZmxvYXQ+JiBzbmFwT2Zmc2V0cywgY29uc3Qg
VmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPGZsb2F0Pj4mIHNuYXBPZmZzZXRSYW5nZXMsIGZsb2F0
IHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0LCBmbG9hdCB2ZWxvY2l0eSwgdW5zaWduZWQmIGFjdGl2
ZVNuYXBJbmRleCwgT3B0aW9uYWw8ZmxvYXQ+IG9yaWdpbmFsUG9zaXRpb25Gb3JEaXJlY3Rpb25h
bFNuYXBwaW5nID0gV1RGOjpudWxsb3B0KTsKIAogfTsgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGEzYmY4ZWUz
NTE4YWEzYzIyY2U1ZDk4MWIzNDFmNTU3NjlmN2E4ZWMuLmM1MGRhMmY5MzgwNzIyYmU2NjIyM2U5
MjliYTBjY2E3NDk5MTQ1YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAKQEAgLTkxLDEyICs5MSwxMiBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwo
U2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5CiAgICAg
YXV0byBuZXdPZmZzZXQgPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9u
KG5ld1Bvc2l0aW9uLCBzY3JvbGxPcmlnaW4pOwogICAgIGF1dG8gY3VycmVudE9mZnNldCA9IFNj
cm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24odGhpcy0+Y3VycmVudFBvc2l0
aW9uKCksIHNjcm9sbE9yaWdpbik7CiAgICAgaWYgKG9yaWVudGF0aW9uID09IEhvcml6b250YWxT
Y3JvbGxiYXIpIHsKLSAgICAgICAgbmV3T2Zmc2V0LnNldFgobV9zY3JvbGxDb250cm9sbGVyLmFk
anVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxFdmVudEF4
aXM6Okhvcml6b250YWwsIG5ld09mZnNldC54KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZzZXQu
eCgpKSk7CisgICAgICAgIG5ld09mZnNldC5zZXRYKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RT
Y3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIG5ld09mZnNldC54
KCksIG11bHRpcGxpZXIsIGN1cnJlbnRPZmZzZXQueCgpKSk7CiAgICAgICAgIG5ld1Bvc2l0aW9u
ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdPZmZzZXQsIHNj
cm9sbE9yaWdpbik7CiAgICAgICAgIHJldHVybiBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwg
Z3JhbnVsYXJpdHksIG5ld1Bvc2l0aW9uLngoKSAtIHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpLngo
KSwgMS4wKTsKICAgICB9CiAKLSAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIu
YWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JEaXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50
QXhpczo6VmVydGljYWwsIG5ld1Bvc2l0aW9uLnkoKSwgbXVsdGlwbGllciwgY3VycmVudE9mZnNl
dC55KCkpKTsKKyAgICBuZXdPZmZzZXQuc2V0WShtX3Njcm9sbENvbnRyb2xsZXIuYWRqdXN0U2Ny
b2xsRGVzdGluYXRpb24oU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgbmV3UG9zaXRpb24ueSgp
LCBtdWx0aXBsaWVyLCBjdXJyZW50T2Zmc2V0LnkoKSkpOwogICAgIG5ld1Bvc2l0aW9uID0gU2Ny
b2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChuZXdPZmZzZXQsIHNjcm9sbE9y
aWdpbik7CiAgICAgcmV0dXJuIHNjcm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHks
IG5ld1Bvc2l0aW9uLnkoKSAtIHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpLnkoKSwgMS4wKTsKICNl
bHNlCkBAIC0zNTQsNCArMzU0LDMwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmRpZEFkZEhvcml6
b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKikKICAgICBtX2FuaW1hdGlvblByb2dyYW1tYXRpY1Nj
cm9sbC0+dXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKIH0KIAorRmxvYXRQb2ludCBTY3JvbGxBbmlt
YXRvcjo6YWRqdXN0U2Nyb2xsT2Zmc2V0Rm9yU25hcHBpbmdJZk5lZWRlZChjb25zdCBGbG9hdFBv
aW50JiBvZmZzZXQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBtZXRob2QpCit7Cisj
aWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKKyAgICBpZiAoIW1fc2Nyb2xsQ29udHJvbGxlci51
c2VzU2Nyb2xsU25hcCgpKQorICAgICAgICByZXR1cm4gb2Zmc2V0OworCisgICAgT3B0aW9uYWw8
ZmxvYXQ+IG9yaWdpbmFsWE9mZnNldCwgb3JpZ2luYWxZT2Zmc2V0OworICAgIEZsb2F0U2l6ZSB2
ZWxvY2l0eTsKKyAgICBpZiAobWV0aG9kID09IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhv
ZDo6RGlyZWN0aW9uYWwpIHsKKyAgICAgICAgRmxvYXRTaXplIHNjcm9sbE9yaWdpbiA9IHRvRmxv
YXRTaXplKG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsT3JpZ2luKCkpOworICAgICAgICBhdXRvIGN1
cnJlbnRPZmZzZXQgPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHRo
aXMtPmN1cnJlbnRQb3NpdGlvbigpLCBzY3JvbGxPcmlnaW4pOworICAgICAgICBvcmlnaW5hbFhP
ZmZzZXQgPSBjdXJyZW50T2Zmc2V0LngoKTsKKyAgICAgICAgb3JpZ2luYWxZT2Zmc2V0ID0gY3Vy
cmVudE9mZnNldC55KCk7CisgICAgICAgIHZlbG9jaXR5ID0geyBvZmZzZXQueCgpIC0gY3VycmVu
dE9mZnNldC54KCksIG9mZnNldC55KCkgLSBjdXJyZW50T2Zmc2V0LnkoKSB9OworICAgIH0KKwor
ICAgIEZsb2F0UG9pbnQgbmV3T2Zmc2V0ID0gb2Zmc2V0OworICAgIG5ld09mZnNldC5zZXRYKG1f
c2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXM6
Okhvcml6b250YWwsIG5ld09mZnNldC54KCksIHZlbG9jaXR5LndpZHRoKCksIG9yaWdpbmFsWE9m
ZnNldCkpOworICAgIG5ld09mZnNldC5zZXRZKG1fc2Nyb2xsQ29udHJvbGxlci5hZGp1c3RTY3Jv
bGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXM6OlZlcnRpY2FsLCBuZXdPZmZzZXQueSgpLCB2
ZWxvY2l0eS5oZWlnaHQoKSwgb3JpZ2luYWxZT2Zmc2V0KSk7CisgICAgcmV0dXJuIG5ld09mZnNl
dDsKKyNlbHNlCisgICAgcmV0dXJuIG9mZnNldDsKKyNlbmRpZgorfQorCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4
IDQwMDFmNGFmODAxNGE5NGYzMzBjYzYzZTk0YmFjZDVkOTdjODc4ZjEuLjIwYjEzZTY4MGRhZmVi
OGNlMTI0OWI0MjFkYWIyYzFjZDQwODdjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0
TW9uaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogI2lmIEVOQUJMRShSVUJCRVJf
QkFORElORykgfHwgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICNpbmNsdWRlICJTY3JvbGxDb250
cm9sbGVyLmgiCkBAIC0xMzgsNiArMTM5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRXaGVl
bEV2ZW50VGVzdE1vbml0b3IoUmVmUHRyPFdoZWVsRXZlbnRUZXN0TW9uaXRvcj4mJiB0ZXN0TW9u
aXRvcikgeyBtX3doZWVsRXZlbnRUZXN0TW9uaXRvciA9IHRlc3RNb25pdG9yOyB9CiAKKyAgICBG
bG9hdFBvaW50IGFkanVzdFNjcm9sbE9mZnNldEZvclNuYXBwaW5nSWZOZWVkZWQoY29uc3QgRmxv
YXRQb2ludCYgb2Zmc2V0LCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2QpOworCiAjaWYg
RU5BQkxFKENTU19TQ1JPTExfU05BUCkgfHwgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxTY3JvbGxDb250cm9sbGVyVGltZXI+IGNyZWF0ZVRpbWVyKEZ1bmN0aW9u
PHZvaWQoKT4mJikgZmluYWw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5oCmluZGV4IGEwOTNjOWIzZTYwYWRiOWY5OTI2MjU3OGNhZjNkZmE0MGRmNjA0MWEuLjBiMWM0
MDU2M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPGNz
dGRpbnQ+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTI0OSw2ICsyNTAsMTUgQEAg
ZW51bSBjbGFzcyBTY3JvbGxQb3NpdGlvbmluZ0JlaGF2aW9yIDogdWludDhfdCB7CiAgICAgU3Rh
dGlvbmFyeQogfTsKIAorLy8gVGhpcyB2YWx1ZSBjb250cm9scyB0aGUgbWV0aG9kIHVzZWQgdG8g
c2VsZWN0IHNuYXAgcG9pbnRzIGR1cmluZyBzY3JvbGxpbmcuIFRoaXMgbWF5IGVpdGhlcgorLy8g
YmUgImRpcmVjdGlvbmFsIiBvciAiY2xvc2VzdC4iIFRoZSBkaXJlY3Rpb25hbCBtZXRob2Qgb25s
eSBjaG9vc2VzIHNuYXAgcG9pbnRzIHRoYXQgYXJlIGF0IG9yCisvLyBiZXlvbmQgdGhlIHNjcm9s
bCBkZXN0aW5hdGlvbiBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzY3JvbGwuIFRoZSAiY2xvc2Vz
dCIgbWV0aG9kIGRvZXMgbm90CisvLyBoYXZlIHRoaXMgY29uc3RyYWludC4KK2VudW0gY2xhc3Mg
U2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kIDogdWludDhfdCB7CisgICAgRGlyZWN0aW9u
YWwsCisgICAgQ2xvc2VzdCwKK307CisKIHVzaW5nIFNjcm9sbGJhckNvbnRyb2xTdGF0ZSA9IHVu
c2lnbmVkOwogdXNpbmcgU2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrID0gdW5zaWduZWQ7CiB1c2lu
ZyBTY3JvbGxpbmdOb2RlSUQgPSB1aW50NjRfdDsKQEAgLTI1Nyw2ICsyNjcsMzMgQEAgV0VCQ09S
RV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFNj
cm9sbFR5cGUpOwogV0VCQ09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdU
Rjo6VGV4dFN0cmVhbSYsIFNjcm9sbENsYW1waW5nKTsKIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxCZWhhdmlvckZvckZp
eGVkRWxlbWVudHMpOwogCitzdHJ1Y3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zIHsKKyAg
ICBTY3JvbGxUeXBlIHR5cGU7CisgICAgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcgPSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZDsKKyAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVk
U2Nyb2xsOjpObzsKKyAgICBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Qgc25hcFBvaW50
U2VsZWN0aW9uTWV0aG9kID0gU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpDbG9zZXN0
OworCisgICAgc3RhdGljIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyBjcmVhdGVQcm9ncmFt
bWF0aWMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGlj
IH07CisgICAgfQorCisgICAgc3RhdGljIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyBjcmVh
dGVQcm9ncmFtbWF0aWNXaXRoT3B0aW9ucyhTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0
ZWRTY3JvbGwgYW5pbWF0ZWQsIFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZCBzbmFwUG9p
bnRTZWxlY3Rpb25NZXRob2QpCisgICAgeworICAgICAgICByZXR1cm4geyBTY3JvbGxUeXBlOjpQ
cm9ncmFtbWF0aWMsIGNsYW1waW5nLCBhbmltYXRlZCwgc25hcFBvaW50U2VsZWN0aW9uTWV0aG9k
IH07CisgICAgfQorCisgICAgc3RhdGljIFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyBjcmVh
dGVVc2VyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB7IFNjcm9sbFR5cGU6OlVzZXIgfTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zIGNyZWF0ZVByb2dy
YW1tYXRpY1VuY2xhbXBlZCgpCisgICAgeworICAgICAgICByZXR1cm4geyBTY3JvbGxUeXBlOjpQ
cm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQgfTsKKyAgICB9Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCBkYWNhYWQ1MDBmZDcyNzE3M2JkOTQwNDNlZTMyNDM5
NGM3OWNmMTcwLi42YTFlNzc0OGVmZjViNTRiYTljMTk3NGIwZDNiYmI3NGM5MmQ0ZDgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtMjA3LDEzICsyMDcsMTMgQEAg
SW50UG9pbnQgU2Nyb2xsVmlldzo6Y29udGVudHNTY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAg
cmV0dXJuIHNjcm9sbFBvc2l0aW9uKCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVu
dHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0
Q29udGVudHNTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBzZXRBY3R1YWxTY3Jv
bGxQb3NpdGlvbihwb3NpdGlvbik7CiAjZW5kaWYKLSAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3Np
dGlvbiwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlv
biwgb3B0aW9ucyk7CiB9CiAKIEZsb2F0UmVjdCBTY3JvbGxWaWV3OjpleHBvc2VkQ29udGVudFJl
Y3QoKSBjb25zdApAQCAtNTE0LDcgKzUxNCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y29tcGxldGVV
cGRhdGVzQWZ0ZXJTY3JvbGxUbyhjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSkKICAgICB1cGRh
dGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmll
dzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9u
LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwvKiBhbmltYXRlZCovKQor
dm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYg
c2Nyb2xsUG9zaXRpb24sIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9u
cykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZp
ZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24pOwogCkBAIC01MjksMTEg
KzUyOSwxMSBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xsQwogICAgIGlmIChjdXJyZW50U2Nyb2xs
QmVoYXZpb3JTdGF0dXMoKSA9PSBTY3JvbGxCZWhhdmlvclN0YXR1czo6SW5Ob25OYXRpdmVBbmlt
YXRpb24pCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuY2FuY2VsQW5pbWF0aW9ucygpOwogCi0g
ICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGlu
ZygpICYmIGNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSA/IGFkanVzdFNjcm9s
bFBvc2l0aW9uV2l0aGluUmFuZ2Uoc2Nyb2xsUG9zaXRpb24pIDogc2Nyb2xsUG9zaXRpb247Cisg
ICAgU2Nyb2xsUG9zaXRpb24gbmV3U2Nyb2xsUG9zaXRpb24gPSAoIWRlbGVnYXRlc1Njcm9sbGlu
ZygpICYmIG9wdGlvbnMuY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpID8gYWRq
dXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShzY3JvbGxQb3NpdGlvbikgOiBzY3JvbGxQb3Np
dGlvbjsKICAgICBpZiAoKCFkZWxlZ2F0ZXNTY3JvbGxpbmcoKSB8fCBjdXJyZW50U2Nyb2xsVHlw
ZSgpID09IFNjcm9sbFR5cGU6OlVzZXIpICYmIGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygp
ID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbiAmJiBuZXdTY3JvbGxQb3Np
dGlvbiA9PSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShuZXdTY3JvbGxQb3NpdGlvbiwgY3VycmVu
dFNjcm9sbFR5cGUoKSwgY2xhbXBpbmcpKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9u
VXBkYXRlKG5ld1Njcm9sbFBvc2l0aW9uLCBjdXJyZW50U2Nyb2xsVHlwZSgpLCBvcHRpb25zLmNs
YW1waW5nKSkKICAgICAgICAgdXBkYXRlU2Nyb2xsYmFycyhuZXdTY3JvbGxQb3NpdGlvbik7CiAK
ICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5B
bmltYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IGZjYmM4Mzc5
ZTE4MjI5YjNlOGNlMzVlYWI4YjM1Y2I2YzQwNzYyNjUuLmQ2OTc0ZTg1ZWM3YTg5Mzk0MTgyMTA5
ZjhlZTI2MWY2OTgzZmE2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAg
LTI0NCw3ICsyNDQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTY3JvbGwgcG9zaXRpb24gdXNlZCBi
eSB3ZWItZXhwb3NlZCBmZWF0dXJlcyAoaGFzIGxlZ2FjeSBpT1MgYmVoYXZpb3IpLgogICAgIFdF
QkNPUkVfRVhQT1JUIEludFBvaW50IGNvbnRlbnRzU2Nyb2xsUG9zaXRpb24oKSBjb25zdDsKLSAg
ICB2b2lkIHNldENvbnRlbnRzU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1h
dGVkU2Nyb2xsOjpObyk7CisgICAgdm9pZCBzZXRDb250ZW50c1Njcm9sbFBvc2l0aW9uKGNvbnN0
IEludFBvaW50JiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiA9IFNjcm9sbFBv
c2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCkpOwogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBpbnQgYWN0dWFsU2Nyb2xsWCgpIGNvbnN0IHsgcmV0dXJuIHVu
b2JzY3VyZWRDb250ZW50UmVjdCgpLngoKTsgfQpAQCAtMjc0LDcgKzI3NCw3IEBAIHB1YmxpYzoK
ICAgICBTY3JvbGxQb3NpdGlvbiBjYWNoZWRTY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fY2FjaGVkU2Nyb2xsUG9zaXRpb247IH0KIAogICAgIC8vIEZ1bmN0aW9ucyBmb3Igc2Nyb2xs
aW5nIHRoZSB2aWV3LgotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQs
IEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBjb25zdCBTY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnMmID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQ
cm9ncmFtbWF0aWMoKSk7CiAKICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmIHMpIHsg
cmV0dXJuIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBzKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKaW5kZXgg
Y2YzOTIzNDA1ZWUxMzE2OTY4MTZiZTdmYjBhMjU0NTQxYjI0M2ZmYy4uNzMwMzI0NGZjNjBmZWYz
NDM5MGFkNjRlMjUxOWFjNWViMjMyMTUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIuaApAQCAtMTY2LDcgKzE2Niw3IEBAIHB1YmxpYzoK
ICAgICB1bnNpZ25lZCBhY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhp
cykgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxTbmFwU3RhdGUoY29uc3QgU2Nyb2xsYWJs
ZUFyZWEmKTsKICAgICB2b2lkIHVwZGF0ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50Jik7Ci0gICAgZmxvYXQgYWRqdXN0U2Nyb2xsRGVzdGluYXRpb25Gb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKFNjcm9sbEV2ZW50QXhpcywgZmxvYXQgZGVzdGluYXRpb24sIGZs
b2F0IHZlbG9jaXR5LCBmbG9hdCBvcmlnaW5hbFBvc2l0aW9uKTsKKyAgICBmbG9hdCBhZGp1c3RT
Y3JvbGxEZXN0aW5hdGlvbihTY3JvbGxFdmVudEF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uT2Zmc2V0
LCBmbG9hdCB2ZWxvY2l0eSwgT3B0aW9uYWw8ZmxvYXQ+IG9yaWdpbmFsT2Zmc2V0KTsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGhhbmRsZWQuCiAgICAgYm9vbCBw
cm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5t
bQppbmRleCAzZTRmMDY5Y2YzMmI2MzE4NTZhOGM2YTJkZWQwYTE2ZTNlZjUxZmY4Li5kMDk1ZTZi
MTczYjlmOTIwYTBkNGQ5YTUyNWIzMTEyZDM4NWNkZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTkwNCwxOCArOTA0LDIx
IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c2V0TmVhcmVzdFNjcm9sbFNuYXBJbmRleEZvckF4
aXNBbmRPZmZzZXQoU2Nyb2xsRXZlbnRBeGlzCiAgICAgc2V0QWN0aXZlU2Nyb2xsU25hcEluZGV4
Rm9yQXhpcyhheGlzLCBhY3RpdmVJbmRleCk7CiB9CiAKLWZsb2F0IFNjcm9sbENvbnRyb2xsZXI6
OmFkanVzdFNjcm9sbERlc3RpbmF0aW9uRm9yRGlyZWN0aW9uYWxTbmFwcGluZyhTY3JvbGxFdmVu
dEF4aXMgYXhpcywgZmxvYXQgZGVzdGluYXRpb24sIGZsb2F0IHZlbG9jaXR5LCBmbG9hdCBvcmln
aW5hbFBvc2l0aW9uKQorZmxvYXQgU2Nyb2xsQ29udHJvbGxlcjo6YWRqdXN0U2Nyb2xsRGVzdGlu
YXRpb24oU2Nyb2xsRXZlbnRBeGlzIGF4aXMsIGZsb2F0IGRlc3RpbmF0aW9uT2Zmc2V0LCBmbG9h
dCB2ZWxvY2l0eSwgT3B0aW9uYWw8ZmxvYXQ+IG9yaWdpbmFsT2Zmc2V0KQogewogICAgIGlmICgh
dXNlc1Njcm9sbFNuYXAoKSkKLSAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uOworICAgICAgICBy
ZXR1cm4gZGVzdGluYXRpb25PZmZzZXQ7CiAKICAgICBTY3JvbGxTbmFwQW5pbWF0b3JTdGF0ZSYg
c25hcFN0YXRlID0gKm1fc2Nyb2xsU25hcFN0YXRlOwogICAgIGF1dG8gc25hcE9mZnNldHMgPSBz
bmFwU3RhdGUuc25hcE9mZnNldHNGb3JBeGlzKGF4aXMpOwogICAgIGlmICghc25hcE9mZnNldHMu
c2l6ZSgpKQotICAgICAgICByZXR1cm4gZGVzdGluYXRpb247CisgICAgICAgIHJldHVybiBkZXN0
aW5hdGlvbk9mZnNldDsKIAogICAgIHVuc2lnbmVkIHNuYXBJbmRleDsKLSAgICBMYXlvdXRVbml0
IG9mZnNldCA9IGNsb3Nlc3RTbmFwT2Zmc2V0KHNuYXBTdGF0ZS5zbmFwT2Zmc2V0c0ZvckF4aXMo
YXhpcyksIHNuYXBTdGF0ZS5zbmFwT2Zmc2V0UmFuZ2VzRm9yQXhpcyhheGlzKSwgTGF5b3V0VW5p
dChkZXN0aW5hdGlvbiAvIG1fY2xpZW50LnBhZ2VTY2FsZUZhY3RvcigpKSwgdmVsb2NpdHksIHNu
YXBJbmRleCwgTGF5b3V0VW5pdChvcmlnaW5hbFBvc2l0aW9uIC8gbV9jbGllbnQucGFnZVNjYWxl
RmFjdG9yKCkpKTsKKyAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBvcmlnaW5hbE9mZnNldEluTGF5
b3V0VW5pdHM7CisgICAgaWYgKG9yaWdpbmFsT2Zmc2V0Lmhhc1ZhbHVlKCkpCisgICAgICAgIG9y
aWdpbmFsT2Zmc2V0SW5MYXlvdXRVbml0cyA9IExheW91dFVuaXQoKm9yaWdpbmFsT2Zmc2V0IC8g
bV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCkpOworICAgIExheW91dFVuaXQgb2Zmc2V0ID0gY2xv
c2VzdFNuYXBPZmZzZXQoc25hcFN0YXRlLnNuYXBPZmZzZXRzRm9yQXhpcyhheGlzKSwgc25hcFN0
YXRlLnNuYXBPZmZzZXRSYW5nZXNGb3JBeGlzKGF4aXMpLCBMYXlvdXRVbml0KGRlc3RpbmF0aW9u
T2Zmc2V0IC8gbV9jbGllbnQucGFnZVNjYWxlRmFjdG9yKCkpLCB2ZWxvY2l0eSwgc25hcEluZGV4
LCBvcmlnaW5hbE9mZnNldEluTGF5b3V0VW5pdHMpOwogICAgIHJldHVybiBvZmZzZXQgKiBtX2Ns
aWVudC5wYWdlU2NhbGVGYWN0b3IoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBlZDlmYTM0OTg2MWY2ZWEwOWMxY2FlMDdhYjlmOGI0Y2VhY2JiY2I4Li43
ZTUxODcyZTQ3NzFhYTdmYjYxZTgzMTQ0N2ZhYjY5NWM1YTZlNTVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNTkzLDI4ICs1OTMsMjggQEAgc3RhdGljIHZvaWQg
c2V0dXBXaGVlbEV2ZW50TW9uaXRvcihSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgbGF5ZXIuc2Ny
b2xsQW5pbWF0b3IoKS5zZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IocGFnZS53aGVlbEV2ZW50VGVz
dE1vbml0b3IoKSk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdM
ZWZ0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nLCBBbmlt
YXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBu
ZXdMZWZ0LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCiB7CiAg
ICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkpOwotICAgIGxheWVyKCktPnNjcm9s
bFRvWFBvc2l0aW9uKG5ld0xlZnQsIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRlZCk7Cisg
ICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRpb24obmV3TGVmdCwgb3B0aW9ucyk7CiB9CiAKLXZv
aWQgUmVuZGVyQm94OjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgU2Nyb2xsVHlwZSBzY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCit2
b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgp
IHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRv
cigqbGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBzY3Jv
bGxUeXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAgIGxheWVyKCktPnNjcm9sbFRvWVBvc2l0
aW9uKG5ld1RvcCwgb3B0aW9ucyk7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9p
ZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQogewogICAg
IGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zZXRTY3Jv
bGxQb3NpdGlvbihwb3NpdGlvbiwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIGFuaW1hdGVkKTsKKyAg
ICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiB9CiAKIHZv
aWQgUmVuZGVyQm94OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaAppbmRleCA5NmU3MmQ0Zjg1YmM0OTNmYjQ3MjBiY2MyZTE4NTBlNDA4YjQx
Yzg0Li43OTY2NGFhOTNhNjFkZTZlM2MxNGY2ZmFjM2YwNzNkZTZjYjMyYjdmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKICNpbmNsdWRlICJS
ZW5kZXJPdmVyZmxvdy5oIgorI2luY2x1ZGUgIlNjcm9sbFNuYXBPZmZzZXRzSW5mby5oIgogI2lu
Y2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSAiU2hhcGVPdXRzaWRlSW5mby5oIgogCkBA
IC0yNDksOSArMjUwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNjcm9sbFRvcCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Q7CiAgICAgdmlydHVhbCBp
bnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbExlZnQo
aW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVk
LCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAgdmlydHVhbCB2b2lk
IHNldFNjcm9sbFRvcChpbnQsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKLSAg
ICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3Jv
bGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxMZWZ0
KGludCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJik7CisgICAgdmlydHVhbCB2
b2lkIHNldFNjcm9sbFRvcChpbnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYp
OworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBjb25z
dCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmKTsKIAogICAgIExheW91dFVuaXQgbWFyZ2lu
VG9wKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9tYXJnaW5Cb3gudG9wKCk7IH0KICAgICBM
YXlvdXRVbml0IG1hcmdpbkJvdHRvbSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbWFyZ2lu
Qm94LmJvdHRvbSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAyNDkzZWY4NjRkYTQzYTc4MDI4NjMxZTg3MmEzMzBkNTQwOGFmNzIzLi4zM2Y4ZTZjOWQw
NWViNTE1ZjQyOTU3MWVjY2IyOTNkYTFkZTdkOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTI1OTcsMjQgKzI1OTcsMjEgQEAgdm9pZCBSZW5kZXJMYXll
cjo6YXBwbHlQb3N0TGF5b3V0U2Nyb2xsUG9zaXRpb25JZk5lZWRlZCgpCiAgICAgbV9wb3N0TGF5
b3V0U2Nyb2xsUG9zaXRpb24gPSBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nIGNsYW1waW5nLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKK3ZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgU2Nyb2xsUG9zaXRpb24gcG9zaXRpb24oeCwgbV9zY3Jv
bGxQb3NpdGlvbi55KCkpOwotICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBzY3JvbGxU
eXBlLCBjbGFtcGluZywgYW5pbWF0ZWQpOworICAgIHNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9u
LCBvcHRpb25zKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24oaW50
IHksIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFuaW1h
dGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9ZUG9zaXRpb24o
aW50IHksIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAg
ICBTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbihtX3Njcm9sbFBvc2l0aW9uLngoKSwgeSk7Ci0gICAg
c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nLCBhbmltYXRl
ZCk7CisgICAgc2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24sIG9wdGlvbnMpOwogfQogCi12b2lk
IFJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9z
aXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcsIEFu
aW1hdGVkU2Nyb2xsIGFuaW1hdGVkKQordm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNo
YW5nZU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGFuaW1hdGVkID09IEFuaW1hdGVkU2Ny
b2xsOjpZZXMpCi0gICAgICAgIHNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24ocG9zaXRpb24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7Ci0gICAgZWxz
ZQotICAgICAgICBzY3JvbGxUb09mZnNldChzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24ocG9zaXRp
b24pLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisgICAgc2Nyb2xsVG9PZmZzZXQoc2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKHBvc2l0aW9uKSwgb3B0aW9ucyk7CiB9CiAKIFNjcm9sbE9mZnNldCBS
ZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxP
ZmZzZXQpIGNvbnN0CkBAIC0yNjMzLDM1ICsyNjMwLDI3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnJl
cXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24s
IFNjCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09m
ZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIHNjcm9sbE9mZnNldCwgU2Nyb2xsVHlwZSBzY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3ZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
T2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBjb25zdCBTY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhh
dmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlv
bikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5jYW5jZWxBbmltYXRpb25zKCk7CiAKLSAgICBT
Y3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1waW5nID09IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KSA6IHNjcm9sbE9m
ZnNldDsKKyAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbE9mZnNldCA9IG9wdGlvbnMuY2xh
bXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3Jv
bGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OwogICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ID09
IHRoaXMtPnNjcm9sbE9mZnNldCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIHByZXZp
b3VzU2Nyb2xsVHlwZSA9IGN1cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgc2V0Q3VycmVudFNjcm9s
bFR5cGUoc2Nyb2xsVHlwZSk7Ci0KLSAgICBpZiAoIXJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0
ZShzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5
cGUsIGNsYW1waW5nKSkKLSAgICAgICAgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNs
YW1wZWRTY3JvbGxPZmZzZXQsIGNsYW1waW5nKTsKLSAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1
cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pOwotCi0gICAgc2V0Q3VycmVu
dFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKLX0KKyAgICBzZXRDdXJyZW50U2Nyb2xs
VHlwZShvcHRpb25zLnR5cGUpOwogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldFdp
dGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQsIFNjcm9sbFR5cGUgc2Nyb2xs
VHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCi17Ci0gICAgYXV0byBwcmV2aW91c1Njcm9s
bFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwotICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNj
cm9sbFR5cGUpOwotCi0gICAgU2Nyb2xsT2Zmc2V0IG5ld1Njcm9sbE9mZnNldCA9IGNsYW1waW5n
ID09IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkID8gY2xhbXBTY3JvbGxPZmZzZXQob2Zmc2V0KSA6
IG9mZnNldDsKLSAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQotICAgICAgICBzY3JvbGxBbmlt
YXRvcigpLmNhbmNlbEFuaW1hdGlvbnMoKTsKLSAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ICE9IHRo
aXMtPnNjcm9sbE9mZnNldCgpKQotICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZz
ZXRXaXRoQW5pbWF0aW9uKG5ld1Njcm9sbE9mZnNldCk7CisgICAgU2Nyb2xsT2Zmc2V0IHNuYXBw
ZWRPZmZzZXQgPSBjZWlsZWRJbnRQb2ludChzY3JvbGxBbmltYXRvcigpLmFkanVzdFNjcm9sbE9m
ZnNldEZvclNuYXBwaW5nSWZOZWVkZWQoY2xhbXBlZFNjcm9sbE9mZnNldCwgb3B0aW9ucy5zbmFw
UG9pbnRTZWxlY3Rpb25NZXRob2QpKTsKKyAgICBpZiAob3B0aW9ucy5hbmltYXRlZCA9PSBBbmlt
YXRlZFNjcm9sbDo6WWVzKQorICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXRX
aXRoQW5pbWF0aW9uKHNuYXBwZWRPZmZzZXQpOworICAgIGVsc2UgeworICAgICAgICBhdXRvIHNu
YXBwZWRQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChzbmFwcGVkT2Zmc2V0KTsK
KyAgICAgICAgaWYgKCFyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoc25hcHBlZFBvc2l0aW9u
LCBvcHRpb25zLnR5cGUsIG9wdGlvbnMuY2xhbXBpbmcpKQorICAgICAgICAgICAgc2Nyb2xsVG9P
ZmZzZXRXaXRob3V0QW5pbWF0aW9uKHNuYXBwZWRPZmZzZXQsIG9wdGlvbnMuY2xhbXBpbmcpOwor
ICAgICAgICBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90
SW5BbmltYXRpb24pOworICAgIH0KIAogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHByZXZpb3Vz
U2Nyb2xsVHlwZSk7CiB9CkBAIC0yODIyLDExICsyODExLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29s
IGluc2lkCiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5mcmFt
ZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9j
a0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwogCi0gICAgYXV0byBzaG91
bGRVc2VBbmltYXRlZFNjcm9sbCA9IFt0aGlzXShFbGVtZW50KiBlbGVtZW50LCBTY3JvbGxCZWhh
dmlvciBiZWhhdmlvcikKKyAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVs
ZW1lbnQgPSBbdGhpcywgb3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7Ci0gICAgICAg
IGJvb2wgdXNlQW5pbWF0ZWRTY3JvbGxpbmcgPSAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFu
ZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkKLSAgICAgICAgICAgICYmIGVsZW1lbnQgJiYg
dXNlU21vb3RoU2Nyb2xsaW5nKGJlaGF2aW9yLCBlbGVtZW50KTsKLSAgICAgICAgcmV0dXJuIHVz
ZUFuaW1hdGVkU2Nyb2xsaW5nID8gQW5pbWF0ZWRTY3JvbGw6OlllcyA6IEFuaW1hdGVkU2Nyb2xs
OjpObzsKKyAgICAgICAgYXV0byBzY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTY3JvbGxQb3NpdGlv
bkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOworICAgICAgICBpZiAoIXJlbmRl
cmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVs
ZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGVsZW1lbnQpKQor
ICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFuaW1hdGVkID0gQW5pbWF0ZWRTY3Jv
bGw6OlllczsKKyAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uT3B0aW9uczsKICAgICB9Owog
CiAgICAgaWYgKGFsbG93c0N1cnJlbnRTY3JvbGwoKSkgewpAQCAtMjg1Miw4ICsyODQyLDcgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3Jv
bGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShy
b3VuZGVkSW50UmVjdChyZXZlYWxSZWN0KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFt
cGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlv
clN0YXR1cygpICE9IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAg
ICAgICAgICAgU2Nyb2xsT2Zmc2V0IG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwot
ICAgICAgICAgICAgYXV0byBhbmltYXRlZCA9IHNob3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGJveC0+
ZWxlbWVudCgpLCBvcHRpb25zLmJlaGF2aW9yKTsKLSAgICAgICAgICAgIHNldFNjcm9sbFBvc2l0
aW9uKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgU2Nyb2xs
VHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwor
ICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCwgc2Nyb2xsUG9z
aXRpb25DaGFuZ2VPcHRpb25zRm9yRWxlbWVudChib3gtPmVsZW1lbnQoKSkpOwogICAgICAgICAg
ICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gY2xhbXBlZFNjcm9sbE9mZnNldCAt
IG9sZFNjcm9sbE9mZnNldDsKICAgICAgICAgICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3Jv
bGxPZmZzZXREaWZmZXJlbmNlKTsKICAgICAgICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJv
eC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVj
dCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGluZ0JveCgpKTsKQEAgLTI4NzgsMTQgKzI4NjcsMTQg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0
JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgICAgICBleHBhbmRTY3JvbGxS
ZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5jbHVkZVNjcm9sbFBhZGRpbmcocmVuZGVyZXIsIHZp
ZXdSZWN0LCBuZXdSZWN0KTsKIAogICAgICAgICAgICAgICAgIExheW91dFJlY3QgZXhwb3NlUmVj
dCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgbmV3UmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlv
bnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7Ci0KICAgICAgICAgICAgICAgICBJbnRQb2ludCBz
Y3JvbGxQb3NpdGlvbihyb3VuZGVkSW50UG9pbnQoZXhwb3NlUmVjdC5sb2NhdGlvbigpKSk7CisK
ICAgICAgICAgICAgICAgICAvLyBBZGp1c3Qgb2Zmc2V0cyBpZiB0aGV5J3JlIG91dHNpZGUgb2Yg
dGhlIGFsbG93YWJsZSByYW5nZS4KICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHNj
cm9sbFBvc2l0aW9uLmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2ludChmcmFt
ZVZpZXcuY29udGVudHNTaXplKCkpKTsKKwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgdXNlIGNvbnRlbnREb2N1bWVudCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgICAg
ICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDUwNTkKLSAgICAgICAgICAgICAgICBhdXRvIGFuaW1hdGVkID0gc2hvdWxkVXNlQW5pbWF0ZWRT
Y3JvbGwoZWxlbWVudCwgb3B0aW9ucy5iZWhhdmlvcik7Ci0gICAgICAgICAgICAgICAgZnJhbWVW
aWV3LnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCwgYW5pbWF0ZWQpOworICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3Np
dGlvbihzY3JvbGxQb3NpdGlvbiwgc2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zRm9yRWxlbWVu
dChlbGVtZW50KSk7CiAKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Ny
b3NzT3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olll
cyB8fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nTGF5ZXIgPSBvd25lckVsZW1lbnQtPnJl
bmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCkBAIC0yOTI4LDExICsyOTE3LDEwIEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1
dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBMYXlvdXRSZWN0IHJldmVhbFJlY3QgPSBn
ZXRSZWN0VG9FeHBvc2Uodmlld1JlY3QsIHRhcmdldFJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25z
LmFsaWduWCwgb3B0aW9ucy5hbGlnblkpOwogICAgICAgICAgICAgLy8gQXZvaWQgc2Nyb2xsaW5n
IHRvIHRoZSByb3VuZGVkIHZhbHVlIG9mIHJldmVhbFJlY3QubG9jYXRpb24oKSBpZiB3ZSBkb24n
dCBhY3R1YWxseSBuZWVkIHRvIHNjcm9sbAogICAgICAgICAgICAgaWYgKHJldmVhbFJlY3QgIT0g
dmlld1JlY3QpIHsKLSAgICAgICAgICAgICAgICBTY3JvbGxPZmZzZXQgY2xhbXBlZFNjcm9sbFBv
c2l0aW9uID0gcm91bmRlZEludFBvaW50KHJldmVhbFJlY3QubG9jYXRpb24oKSkuY29uc3RyYWlu
ZWRCZXR3ZWVuKG1pblNjcm9sbFBvc2l0aW9uLCBtYXhTY3JvbGxQb3NpdGlvbik7CiAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgZG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxl
bWVudCgpPwogICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgYXV0byBhbmltYXRlZCA9IHNo
b3VsZFVzZUFuaW1hdGVkU2Nyb2xsKGVsZW1lbnQsIG9wdGlvbnMuYmVoYXZpb3IpOwotICAgICAg
ICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQb3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRp
b24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CisgICAgICAgICAgICAgICAg
U2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChyZXZl
YWxSZWN0LmxvY2F0aW9uKCkpLmNvbnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3NpdGlvbiwg
bWF4U2Nyb2xsUG9zaXRpb24pOworICAgICAgICAgICAgICAgIGZyYW1lVmlldy5zZXRTY3JvbGxQ
b3NpdGlvbihjbGFtcGVkU2Nyb2xsUG9zaXRpb24sIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9u
c0ZvckVsZW1lbnQoZWxlbWVudCkpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBU
aGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxp
bmcgdGhpcyB2aWV3IHdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4
IGYyOGNiNDE0NzI3ZWZjNjgyOWE2NWE5NGM1ZmViYTdhNDU2ZTFlOTkuLjM2YTA2YTRiZmIyMzU5
NTM4NGRhYzgxY2U2MDMzMzY2NTUwNDgzZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCkBAIC00NDcsMTYgKzQ0NywxNSBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlcXVl
c3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUg
PSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkKSBmaW5hbDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29u
c3QgU2Nyb2xsT2Zmc2V0JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywg
U2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0
JiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY3Jv
bGxUb09mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5n
ZU9wdGlvbnMmID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0
aWMoKSk7CiAKLSAgICB2b2lkIHNjcm9sbFRvWFBvc2l0aW9uKGludCB4LCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9
IEFuaW1hdGVkU2Nyb2xsOjpObyk7Ci0gICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwg
U2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5p
bWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyA9
IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBBbmltYXRlZFNjcm9sbCA9IEFuaW1hdGVkU2Nyb2xs
OjpObyk7CisgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgY29uc3QgU2Nyb2xsUG9z
aXRpb25DaGFuZ2VPcHRpb25zJik7CisgICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwg
Y29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJik7CisgICAgdm9pZCBzZXRTY3JvbGxQ
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdl
T3B0aW9ucyYpOwogCiAgICAgLy8gVGhlc2UgYXJlIG9ubHkgdXNlZCBieSBtYXJxdWVlLgotICAg
IHZvaWQgc2Nyb2xsVG9YT2Zmc2V0KGludCB4KSB7IHNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNl
dCh4LCBzY3JvbGxPZmZzZXQoKS55KCkpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9s
bENsYW1waW5nOjpVbmNsYW1wZWQpOyB9Ci0gICAgdm9pZCBzY3JvbGxUb1lPZmZzZXQoaW50IHkp
IHsgc2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpLngoKSwgeSksIFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCk7IH0KKyAg
ICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZz
ZXQoeCwgc2Nyb2xsT2Zmc2V0KCkueSgpKSwgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpj
cmVhdGVQcm9ncmFtbWF0aWNVbmNsYW1wZWQoKSk7IH0KKyAgICB2b2lkIHNjcm9sbFRvWU9mZnNl
dChpbnQgeSkgeyBzY3JvbGxUb09mZnNldChTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KCkueCgp
LCB5KSwgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWNVbmNs
YW1wZWQoKSk7IH0KIAogICAgIHZvaWQgc2V0UG9zdExheW91dFNjcm9sbFBvc2l0aW9uKE9wdGlv
bmFsPFNjcm9sbFBvc2l0aW9uPik7CiAgICAgdm9pZCBhcHBseVBvc3RMYXlvdXRTY3JvbGxQb3Np
dGlvbklmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5j
cHAKaW5kZXggOGU4YWQ3MDQzYTFkNzQwNjExN2UyNzJlYjBhMjA0NWFmZTY1YzJkZS4uMmQwODI2
NDg3Y2MwZDA3OGJjY2E4ZThkYzVmYjkyMWVhZWY0ZjQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtNzQzLDcgKzc0Myw3IEBAIGludCBSZW5kZXJM
aXN0Qm94OjpzY3JvbGxMZWZ0KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBSZW5k
ZXJMaXN0Qm94OjpzZXRTY3JvbGxMZWZ0KGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcs
IEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJMaXN0Qm94OjpzZXRTY3JvbGxMZWZ0KGludCwg
Y29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJikKIHsKIH0KIApAQCAtNzYwLDcgKzc2
MCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hlZWxFdmVudFRlc3RNb25pdG9yKFJlbmRlckxpc3RC
b3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVu
dFRlc3RNb25pdG9yKHJlbmRlcmVyLnBhZ2UoKS53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9
CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNjcm9sbFR5
cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQgUmVuZGVyTGlzdEJveDo6
c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9u
cyYpCiB7CiAgICAgLy8gRGV0ZXJtaW5lIGFuIGluZGV4IGFuZCBzY3JvbGwgdG8gaXQuICAgIAog
ICAgIGludCBpbmRleCA9IG5ld1RvcCAvIGl0ZW1IZWlnaHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IGNjOTM0MDkyZjRkM2NiMTQzNjQ0NWZlYTdlZDc3
YWMwZWNmZGUzOWUuLmM2NzA0MmQxZGVhYjdlYWY5ZGIzMzhjZDIzMzQ4ZDUwN2YyNDczMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtMTA2LDggKzEwNiw4
IEBAIHByaXZhdGU6CiAgICAgaW50IHNjcm9sbFRvcCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGlu
dCBzY3JvbGxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCBzY3JvbGxIZWlnaHQoKSBj
b25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBTY3JvbGxUeXBlLCBT
Y3JvbGxDbGFtcGluZywgQW5pbWF0ZWRTY3JvbGwpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Ny
b2xsVG9wKGludCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKSBv
dmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50LCBjb25zdCBTY3JvbGxQb3NpdGlv
bkNoYW5nZU9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQsIGNv
bnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBu
b2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBI
aXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBh
Y2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA3NmUyM2U0ZDA5OTZlNmJmYmU0
MGE2NDQxMTY0NDU5YWE2NzgwZDhiLi42ZTAyNDRjMTY0ZGVkNmE1OGMyNmY1ODFmY2Q4NjkxNDU1
MjJmM2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBA
IC0xNzEsMTEgKzE3MSwxMiBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICBpZiAo
bV90aW1lci5pc0FjdGl2ZSgpIHx8IG1fbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5tYXJxdWVl
SW5jcmVtZW50KCkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGF1dG8gZGV0YWls
cyA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljVW5jbGFt
cGVkKCk7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCAmJiAhbV9zdG9wcGVkKSB7CiAgICAgICAgIGlm
IChpc0hvcml6b250YWwoKSkKLSAgICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNj
cm9sbE9mZnNldChtX3N0YXJ0LCAwKSwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxD
bGFtcGluZzo6VW5jbGFtcGVkKTsKKyAgICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0
KFNjcm9sbE9mZnNldChtX3N0YXJ0LCAwKSwgZGV0YWlscyk7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCgwLCBtX3N0YXJ0KSwg
U2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKKyAg
ICAgICAgICAgIG1fbGF5ZXItPnNjcm9sbFRvT2Zmc2V0KFNjcm9sbE9mZnNldCgwLCBtX3N0YXJ0
KSwgZGV0YWlscyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsK
ICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IGEwNzUwODFm
NTY1Y2VkYjU1ZGRiZWM5NjhlYzJjYjEzOWQ2MGJhYjguLmM5OTIyY2IzYWUwM2NlMGY1NjA0MjBh
MThmMDhjYTY3MjE3OWI1ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0zODMsMTMgKzM4MywxMyBA
QCBpbnQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzY3JvbGxUb3AoKSBjb25zdAogICAg
IHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OnNjcm9sbFRvcCgpOwogfQogCi12b2lkIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgU2Nyb2xsVHlw
ZSwgU2Nyb2xsQ2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsKQordm9pZCBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyYpCiB7CiAgICAgaWYgKGlubmVyVGV4dEVsZW1lbnQoKSkKICAgICAg
ICAgaW5uZXJUZXh0RWxlbWVudCgpLT5zZXRTY3JvbGxMZWZ0KG5ld0xlZnQpOwogfQogCi12b2lk
IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIFNj
cm9sbFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkKK3ZvaWQgUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lOjpzZXRTY3JvbGxUb3AoaW50IG5ld1RvcCwgY29uc3QgU2Nyb2xs
UG9zaXRpb25DaGFuZ2VPcHRpb25zJikKIHsKICAgICBpZiAoaW5uZXJUZXh0RWxlbWVudCgpKQog
ICAgICAgICBpbm5lclRleHRFbGVtZW50KCktPnNldFNjcm9sbFRvcChuZXdUb3ApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5oCmluZGV4IDI1YTJjOTZkNTBhZTcyN2I2MDE1Mzk2NDg5OWUzNzgwYzMxYzc5OWIuLjQ5MWRh
YTZiN2ZlNWNmZjQyMDBkYmRkNDQ0MGI5M2VjMDc3Nzk0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTU3
LDggKzU3LDggQEAgcHJpdmF0ZToKICAgICBpbnQgc2Nyb2xsVG9wKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgaW50IHNjcm9sbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IHNjcm9sbEhl
aWdodCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIFNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nLCBBbmltYXRlZFNjcm9sbCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBzZXRTY3JvbGxUb3AoaW50LCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZywgQW5pbWF0ZWRT
Y3JvbGwpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQsIGNvbnN0IFNjcm9s
bFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsVG9w
KGludCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVs
dGlwbGllciA9IDEsIEVsZW1lbnQqKiBzdG9wRWxlbWVudCA9IG51bGxwdHIsIFJlbmRlckJveCog
c3RhcnRCb3ggPSBudWxscHRyLCBjb25zdCBJbnRQb2ludCYgd2hlZWxFdmVudEFic29sdXRlUG9p
bnQgPSBJbnRQb2ludCgpKSBmaW5hbDsKICAgICBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9n
aWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBF
bGVtZW50Kiogc3RvcEVsZW1lbnQgPSAwKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUwubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9E
T00vRE9NSFRNTC5tbQppbmRleCA4NTg0YzIzMWZlZjhjOGQ4YjcwNmU4Zjk2ZWQwOGQ3Mzg4NTNk
ZDUwLi5mZmUxNGVkMGJmZTdkNDk0ZGQyZTY2OGY0YWJmNTM1Mzg4YzYwN2NlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTC5tbQpAQCAtMTEzLDcgKzExMywxMCBAQCAtICh2b2lk
KXNldFNjcm9sbFhPZmZzZXQ6KGludCl4IHNjcm9sbFlPZmZzZXQ6KGludCl5IGFkanVzdEZvcklP
U0NhcmV0OihCT09MKWFkagogICAgIGF1dG8qIGxheWVyID0gZG93bmNhc3Q8V2ViQ29yZTo6UmVu
ZGVyQm94PigqcmVuZGVyZXIpLmxheWVyKCk7CiAgICAgaWYgKGFkanVzdEZvcklPU0NhcmV0KQog
ICAgICAgICBsYXllci0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwot
ICAgIGxheWVyLT5zY3JvbGxUb09mZnNldChXZWJDb3JlOjpTY3JvbGxPZmZzZXQoeCwgeSksIFdl
YkNvcmU6OlNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgV2ViQ29yZTo6U2Nyb2xsQ2xhbXBpbmc6
OlVuY2xhbXBlZCk7CisKKyAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyA9IFdl
YkNvcmU6OlNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7
CisgICAgc2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zLmNsYW1waW5nID0gV2ViQ29yZTo6U2Ny
b2xsQ2xhbXBpbmc6OlVuY2xhbXBlZDsKKyAgICBsYXllci0+c2Nyb2xsVG9PZmZzZXQoV2ViQ29y
ZTo6U2Nyb2xsT2Zmc2V0KHgsIHkpLCBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMpOwogICAg
IGlmIChhZGp1c3RGb3JJT1NDYXJldCkKICAgICAgICAgbGF5ZXItPnNldEFkanVzdEZvcklPU0Nh
cmV0V2hlblNjcm9sbGluZyhmYWxzZSk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjYzZDE3YjlhZDIwMDM4YmJmYmQ5
ZTdjNTExMjM1NGRlOGU1Nzk1OC4uMDAyYTAzY2I1NTJiNjMzZWNlOGNlNTAyN2ZjMTY5OTAzNDEz
ZjRiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAxLTExICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwtc25hcCBwb2ludHMgc2hv
dWxkIGJlIHRyaWdnZXJlZCBkdXJpbmcgcHJvZ3JhbW1hdGljIHNjcm9sbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzMwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yMTQ2Nzc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3Rl
ZC50eHQ6IFVwZGF0ZSBleHBlY3RhdGlvbi4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktb3ZlcmZsb3ctc2NyaXB0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW92ZXJmbG93LXNjcmlwdC5odG1sOiBBZGRl
ZC4KKwogMjAyMS0wMS0wMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVzZSBVVEYtOCBlbmNvZGluZyBmb3IgZW1wdHkgbWFpbiByZXNvdXJjZSBsb2FkcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYmZjMjA1ZDZlNTYxYzBmYTY0MTdiMzY1YjM4ODRh
ZWYxNTUwZmExNC4uZmRhOWJkOTgyOTQzZGQyZTkxNWY1ZDY3ODQxOTVlNWZiMDAzZWM2YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDEtMTEg
IE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFNjcm9s
bC1zbmFwIHBvaW50cyBzaG91bGQgYmUgdHJpZ2dlcmVkIGR1cmluZyBwcm9ncmFtbWF0aWMgc2Ny
b2xsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUz
MzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxNDY3NzgwPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgZm9y
IG5ld2x5IHBhc3NpbmcgdGVzdHMgYW5kIHRlc3RzIHRoYXQgbm93CisgICAgICAgIGZhaWwgaW4g
YSBkaWZmZXJlbnQgd2F5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLW1hcmdpbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsLXBhZGRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFm
dGVyLXJlbGF5b3V0L2FkZGluZy1zbmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1h
ZnRlci1yZWxheW91dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRl
ci1yZWxheW91dC9tb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0
L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Ny
b2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1vdmUtc2Nyb2xsLWNv
bnRhaW5lci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3Jt
ZWQtdGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMt
bWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJs
ZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVk
LnR4dDoKKwogMjAyMS0wMS0wMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVzZSBVVEYtOCBlbmNvZGluZyBmb3IgZW1wdHkgbWFpbiByZXNvdXJjZSBsb2FkcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNjcm9sbC1zbmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL292ZXJmbG93aW5nLXNuYXAtYXJlYXMtZXhwZWN0ZWQudHh0CmluZGV4IGViZDJiZTk0MDdm
NDE1ZDA2ZWVkYmQ1OGIxMWNjMDhkNjE5MGE3ZjQuLmE0NWQyYWRjZGRmNmNmMDNkZjM5ODYzYzM2
MzY1OTMzYjg4ZTI4MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9vdmVyZmxvd2luZy1zbmFwLWFyZWFz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvb3ZlcmZsb3dpbmctc25hcC1hcmVhcy1leHBlY3Rl
ZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgc25hcCBwb3NpdGlv
biBpZiB0aGUgc25hcCBhcmVhIGRvZXNuJ3QgY292ZXIgdGhlIHNuYXBwb3J0IG9uIHguIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDEwCi1QQVNTIFNuYXBzIHRvIHRoZSBzbmFw
IHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRo
ZSByaWdodCBib3JkZXIuCi1QQVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBz
bmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCBvbiB4IG9uIHRoZSBsZWZ0IGJvcmRlci4KLUZB
SUwgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQwMCkgYW5kIG5l
eHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQoNTAwKSBvbiB4
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLUZBSUwgU25hcHMgaWYg
dGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZpb3VzKDQwMCkgYW5kIG5leHQoODAwKSBzbmFw
IHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25hcHBvcnQoNTAwKSBvbiB5LiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCA0MDAgYnV0IGdvdCA1MDAKLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9s
bCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFy
ZWEgY292ZXJzIHNuYXBwb3J0IG9uIHggYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2
aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuCi1Q
QVNTIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRpb24gd2hpY2ggaXMgYSB2YWxpZCBzbmFw
IHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVycyBzbmFwcG9ydCBvbiB5IGFuZCB0aGUg
ZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoODAwKSBhbmQgbmV4dCgxNDAwKSBpcyBsYXJn
ZXIgdGhhbiBzbmFwcG9ydCg1MDApLgotUEFTUyBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0
aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhlIHNuYXAgYXJlYSBjb3Zl
cnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVudCBzbmFwIHBvc2l0aW9u
cy4KLVBBU1MgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlk
IHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5k
IHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuCi1QQVNTIERvbid0IHNuYXAg
YmFjayBldmVuIGlmIHNjcm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlvbnMgd2hpY2gg
YXJlIG91dHNpZGUgb2YgdGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRhcmdldCBlbGVt
ZW50IGNvdmVycyB0aGUgc25hcG9ydAotRkFJTCBTbmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0
aW9uIG9uIHggYXMgdGhlIGFyZWEgaXMgY292ZXJpbmcgeCBheGlzLkhvd2V2ZXIsIHdlIHNuYXAg
dG8gdGhlIHNwZWNpZmllZCBzbmFwIHBvc2l0aW9uIG9uIHkgYXMgdGhlIGFyZWEgaXMgbm90IGNv
dmVyaW5nIHkgYXhpcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjAwIGJ1dCBnb3QgMTAwCitQ
QVNTIFNuYXBzIHRvIHRoZSBzbmFwIHBvc2l0aW9uIGlmIHRoZSBzbmFwIGFyZWEgZG9lc24ndCBj
b3ZlciB0aGUgc25hcHBvcnQgb24geC4KK0ZBSUwgU25hcHMgdG8gdGhlIHNuYXAgcG9zaXRpb24g
aWYgdGhlIHNuYXAgYXJlYSBjb3ZlcnMgdGhlIHNuYXBwb3J0IG9uIHggb24gdGhlIHJpZ2h0IGJv
cmRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMjcxNSBidXQgZ290IDIwMAorRkFJTCBTbmFw
cyB0byB0aGUgc25hcCBwb3NpdGlvbiBpZiB0aGUgc25hcCBhcmVhIGNvdmVycyB0aGUgc25hcHBv
cnQgb24geCBvbiB0aGUgbGVmdCBib3JkZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBi
dXQgZ290IDI3MTUKK1BBU1MgU25hcHMgaWYgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHByZXZp
b3VzKDQwMCkgYW5kIG5leHQoODAwKSBzbmFwIHBvc2l0aW9ucyBpcyBzbWFsbGVyIHRoYW4gc25h
cHBvcnQoNTAwKSBvbiB4LgorUEFTUyBTbmFwcyBpZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUg
cHJldmlvdXMoNDAwKSBhbmQgbmV4dCg4MDApIHNuYXAgcG9zaXRpb25zIGlzIHNtYWxsZXIgdGhh
biBzbmFwcG9ydCg1MDApIG9uIHkuCitGQUlMIFNuYXAgdG8gY3VycmVudCBzY3JvbGwgcG9zaXRp
b24gd2hpY2ggaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uLCBhcyB0aGUgc25hcCBhcmVhIGNvdmVy
cyBzbmFwcG9ydCBvbiB4IGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcHJldmlvdXMoODAw
KSBhbmQgbmV4dCgxNDAwKSBpcyBsYXJnZXIgdGhhbiBzbmFwcG9ydCg1MDApLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCA5MDAgYnV0IGdvdCA4MDAKK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9s
bCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFy
ZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwcmV2
aW91cyg4MDApIGFuZCBuZXh0KDE0MDApIGlzIGxhcmdlciB0aGFuIHNuYXBwb3J0KDUwMCkuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDkwMCBidXQgZ290IDgwMAorRkFJTCBTbmFwIHRvIGN1cnJl
bnQgc2Nyb2xsIHBvc2l0aW9uIHdoaWNoIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiwgYXMgdGhl
IHNuYXAgYXJlYSBjb3ZlcnMgc25hcHBvcnQgb24geCBhbmQgdGhlcmUgaXMgbm8gc3Vic2VxdWVu
dCBzbmFwIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUwMCBidXQgZ290IDE0
MDAKK0ZBSUwgU25hcCB0byBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiB3aGljaCBpcyBhIHZhbGlk
IHNuYXAgcG9zaXRpb24sIGFzIHRoZSBzbmFwIGFyZWEgY292ZXJzIHNuYXBwb3J0IG9uIHkgYW5k
IHRoZXJlIGlzIG5vIHN1YnNlcXVlbnQgc25hcCBwb3NpdGlvbnMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDE1MDAgYnV0IGdvdCAxNDAwCitGQUlMIERvbid0IHNuYXAgYmFjayBldmVuIGlmIHNj
cm9sbFRvIHRyaWVzIHRvIHNjcm9sbCB0byBwb3NpdGlvbnMgd2hpY2ggYXJlIG91dHNpZGUgb2Yg
dGhlIHNjcm9sbCByYW5nZSBhbmQgaWYgYSBzbmFwIHRhcmdldCBlbGVtZW50IGNvdmVycyB0aGUg
c25hcG9ydCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNzE1IGJ1dCBnb3QgMjIwMAorRkFJTCBT
bmFwIHRvIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9uIHggYXMgdGhlIGFyZWEgaXMgY292ZXJp
bmcgeCBheGlzLkhvd2V2ZXIsIHdlIHNuYXAgdG8gdGhlIHNwZWNpZmllZCBzbmFwIHBvc2l0aW9u
IG9uIHkgYXMgdGhlIGFyZWEgaXMgbm90IGNvdmVyaW5nIHkgYXhpcy4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2lu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtbWFyZ2luLWV4cGVjdGVkLnR4dAppbmRleCAz
Nzk1NjE4ZmUzYWI2NWFkMGRkZjI0MjVhMTE5Yjc4ODNjMTlhYTFiLi4yMjMzMWJjNmZiNWMxMWVi
OGY1NGY3ZDAwMDk0NGQwOWI1YjZiZWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLW1hcmdp
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1tYXJnaW4tZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkg
c2Nyb2xsLW1hcmdpbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAwCi1GQUlM
IHNjcm9sbC1tYXJnaW4gZG9lc24ndCBjb250cmlidXRlIHRvIHRoZSBzbmFwIHBvc2l0aW9uIG9m
IHRoZSBlbGVtZW50IGlmIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2Nyb2xsIHBvcnQgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1MAorUEFTUyBTbmFwcyB0byB0aGUgcG9zaXRpb25z
IGFkanVzdGVkIGJ5IHNjcm9sbC1tYXJnaW4KK1BBU1Mgc2Nyb2xsLW1hcmdpbiBkb2Vzbid0IGNv
bnRyaWJ1dGUgdG8gdGhlIHNuYXAgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgaWYgaXQncyBvdXRz
aWRlIG9mIHRoZSBzY3JvbGwgcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXBhZGRp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1wYWRkaW5nLWV4cGVjdGVkLnR4dAppbmRl
eCAwZjc4MzViMDYwZWVhYzRmNTM5Y2U3MDAwNDllMWIwZDQ0OGIzZTY3Li4xM2Y2MzE2Yzk2YjNi
YmEzMWNiNjA2ZGYyYTk5ZmU5NmYxZmQyOTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXBh
ZGRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtcGFkZGluZy1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBhZGp1c3Rl
ZCBieSBzY3JvbGwtcGFkZGluZyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyMDAgYnV0IGdvdCAw
CitQQVNTIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgYWRqdXN0ZWQgYnkgc2Nyb2xsLXBhZGRpbmcK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXN0b3AtZXhwZWN0ZWQudHh0CmluZGV4IGIwNmJkMzU5Yzc0NzVlMGE3
MzllOGEyMDNjMjVhMzlmMDg5ZTc5ZDEuLmNmMTEzYjEzMjU0YjQzN2MyMDQ5Yzk1MmI0MTY2Y2Qy
OTQxNWM1YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdG9wLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3RvcC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2
IEBACiAKLUZBSUwgQSBzY3JvbGwgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3Np
dGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBh
bHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAotRkFJTCBBIHNj
cm9sbCB3aXRoIGludGVuZGVkIGVuZCBwb3NpdGlvbiBzaG91bGQgYWx3YXlzIGNob29zZSB0aGUg
Y2xvc2VzdCBzbmFwIHBvc2l0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbC1zbmFwLXN0b3Ag
dmFsdWUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDMwMAotRkFJTCBBIHNj
cm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgc25hcHBpbmcgYXhpcyB3aXRoIGludGVuZGVkIGRp
cmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAgYXJlYSB3aXRo
IHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1
dCBnb3QgMTcxNQotRkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgbm9uLXNuYXBw
aW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQg
bm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDMwMAorRkFJTCBBIHNjcm9sbCB3aXRoIGlu
dGVuZGVkIGRpcmVjdGlvbiBhbmQgZW5kIHBvc2l0aW9uIHNob3VsZCBub3QgcGFzcyBhIHNuYXAg
YXJlYSB3aXRoIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwIGJ1dCBnb3QgMjAwCitQQVNTIEEgc2Nyb2xsIHdpdGggaW50ZW5kZWQgZW5kIHBvc2l0
aW9uIHNob3VsZCBhbHdheXMgY2hvb3NlIHRoZSBjbG9zZXN0IHNuYXAgcG9zaXRpb24gcmVnYXJk
bGVzcyBvZiB0aGUgc2Nyb2xsLXNuYXAtc3RvcCB2YWx1ZS4KK0ZBSUwgQSBzY3JvbGwgb3V0c2lk
ZSBib3VuZHMgaW4gdGhlIHNuYXBwaW5nIGF4aXMgd2l0aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5k
IGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBzbmFwIGFyZWEgd2l0aCBzY3JvbGwtc25h
cC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDIwMAor
RkFJTCBBIHNjcm9sbCBvdXRzaWRlIGJvdW5kcyBpbiB0aGUgbm9uLXNuYXBwaW5nIGF4aXMgd2l0
aCBpbnRlbmRlZCBkaXJlY3Rpb24gYW5kIGVuZCBwb3NpdGlvbiBzaG91bGQgbm90IHBhc3MgYSBz
bmFwIGFyZWEgd2l0aCBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXMuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMCBidXQgZ290IDIwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
dHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtdHlwZS1leHBlY3RlZC50eHQK
aW5kZXggYWM3YmJlYzY1MmUwZjJlOWNiYWNhMTQ5YmNiNWQ1OWNkNWQxMDQ2Mi4uZDIyYWM4YWMz
Y2FjMmQzMGM5NDdjNzQxZDVkZDE5MWEyZmM2NDU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWV4
cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBtYW5kYXRvcnkgc2Nyb2xsLXNuYXAt
dHlwZSBzaG91bGQgc25hcCBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHZpc2libGUuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA2MjUKK1BBU1MgbWFuZGF0b3J5IHNjcm9s
bC1zbmFwLXR5cGUgc2hvdWxkIHNuYXAgYXMgbG9uZyBhcyB0aGUgZWxlbWVudCBpcyB2aXNpYmxl
LgogUEFTUyBwcm94aW1pdHkgc2Nyb2xsLXNuYXAtdHlwZSBzaG91bGRuJ3Qgc25hcCBpZiB0aGUg
c25hcCBwb3NpdGlvbiBpcyB0b28gZmFyIGF3YXkuCi1GQUlMIHByb3hpbWl0eSBzY3JvbGwtc25h
cC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNsb3NlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTk1CitQQVNTIHByb3hpbWl0eSBzY3JvbGwt
c25hcC10eXBlIHNob3VsZCBzbmFwIGlmIHRoZSBzbmFwIHBvc2l0aW9uIGlzIGNsb3NlLgogUEFT
UyBub25lIHNjcm9sbC1zbmFwLXR5cGUgc2hvdWxkbid0IHNuYXAuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwt
c25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
VG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiYzE4ZjZkYWViZTEyN2Q2MzJj
YWZhNmVhMjI5ZmFlMWY5ZjVkZjUuLjcxMTBmZDc2MDQwZDE5MGEyN2NlYjUxMGI4YjE4YWM4OTc3
MjA5OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dApA
QCAtMSw0MCArMSw0MCBAQAogCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3Ag
Zm9yIHtsZWZ0OiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Ny
b2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFz
c2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDB9IG9uIHZpZXdwb3J0
LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDgwMH0pIG9uIGRpdiBs
YW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgw
MAotRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIHNjcm9sbFRvKHts
ZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0
OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4
MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0
OiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHts
ZWZ0OiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDgwMH0pIG9uIHdp
bmRvdyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQg
Z290IDgwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7dG9wOiA5
MDB9IG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAw
MCBidXQgZ290IDkwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7
dG9wOiA5MDB9IG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNjcm9sbExl
ZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCi1GQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMCwgMTAw
MCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBzY3JvbGxC
eSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKK1BBU1Mgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gZGl2
IGxhbmRzIG9uICgwLCAxMDAwKQorUEFTUyBzY3JvbGxCeSh7dG9wOiA5MDB9KSBvbiBkaXYgbGFu
ZHMgb24gKDAsIDEwMDApCiBGQUlMIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRl
ZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gdmlld3BvcnQt
ZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJTCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB3aW5kb3cg
bGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKIEZBSUwgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgwLCAxMDAw
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCi1GQUlMIGFzc2lnbiBz
Y3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiBkaXYg
bGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdv
dCA5MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkw
MCwgdG9wOiA4MDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKIEZBSUwgYXNzaWduIHNj
cm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDkwMCwgdG9wOiA4MDB9IG9uIHZpZXdw
b3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9w
OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA5MDAKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiBk
aXYgbGFuZHMgb24gKDEwMDAsIDEwMDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDog
ODAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDog
OTAwLCB0b3A6IDgwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEw
MDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKIEZBSUwg
c2Nyb2xsQnkoe2xlZnQ6IDkwMCwgdG9wOiA4MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgOTAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93
IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gd2luZG93IGxh
bmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3Qg
OTAwCi1GQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgODAwCitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxU
b3AgZm9yIHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQog
RkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6
IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Nyb2xsVG8oe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0x
MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5KHtsZWZ0OiA4MDAs
IHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgc2Nyb2xsVG8oe2xl
ZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRvcDogLTEwMH0pIG9uIHdpbmRv
dyBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290
IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFu
ZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAK
LUZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0
b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRv
cCBmb3Ige2xlZnQ6IDEwMDAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkK
IEZBSUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDEwMDAwLCB0
b3A6IC0xMDB9IG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbFRv
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQotRkFJTCBzY3JvbGxCeSh7bGVm
dDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCitQQVNTIHNjcm9sbEJ5
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJ
TCBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5n
IGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAg
YnV0IGdvdCAzMjE1CiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDMyMTUKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEwMDAw
LCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRl
ci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBwZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvYWRkaW5nLXNuYXAtYXJlYS13aGlsZS1zbmFwcGVk
LWV4cGVjdGVkLnR4dAppbmRleCBlZDNiMjgxNWQ1YWUxZGY4MzFjZjM5ZWMxZWM1Njk0OTVlOTk5
NjYzLi40M2I2NjA3ZDIwM2QwMjVjYTJhNmE1Y2U1MGE2ZGU4MTJjOGFjOTMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91dC9hZGRpbmctc25hcC1hcmVhLXdoaWxlLXNuYXBw
ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2FkZGluZy1z
bmFwLWFyZWEtd2hpbGUtc25hcHBlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgQWRkaW5nIGEgbmV3IHNuYXAgYXJlYSB3aGlsZSBhbHJlYWR5IHNuYXBwZWQgc2hvdWxkIG5v
dCBtYWtlIHRoZSBzY3JvbGxlciBzbmFwIHRvIGl0LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAgYnV0IGdvdCAwCitQQVNTIEFkZGluZyBhIG5ldyBzbmFwIGFyZWEgd2hpbGUgYWxyZWFkeSBz
bmFwcGVkIHNob3VsZCBub3QgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBpdC4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Nyb2xsLXNuYXAtYWxp
Z24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvY2hhbmdpbmctc2Ny
b2xsLXNuYXAtYWxpZ24tZXhwZWN0ZWQudHh0CmluZGV4IDVmY2ExNmMyYzFkODRjYzkxMmM0YTM2
NzY2Y2MyNjc3ZWNiM2MyYTUuLjdmZjZkYzg2OTQwMTkyZmZjZTJlNjkzMjBmNDljYmMyOGJiZTdl
YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L2NoYW5naW5nLXNjcm9s
bC1zbmFwLWFsaWduLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hZnRlci1yZWxheW91
dC9jaGFuZ2luZy1zY3JvbGwtc25hcC1hbGlnbi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiAKLUZBSUwgQ2hhbmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hv
dWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIgc25hcCBw
b3NpdGlvbiBpcyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mg
c25hcCBhbGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHJlc25hcCB0byBhIG5ldyBz
bmFwIGFyZWEuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BBU1MgQ2hh
bmdpbmcgdGhlIGN1cnJlbnQgdGFyZ2V0J3Mgc25hcCBhbGlnbm1lbnQgc2hvdWxkIG1ha2UgdGhl
IHNjcm9sbGVyIHJlc25hcCB0byBpdCBldmVuIGlmIGFub3RoZXIgc25hcCBwb3NpdGlvbiBpcyBj
bG9zZXIgdG8gdGhlIGN1cnJlbnQgb2Zmc2V0CitQQVNTIFJlbW92aW5nIHRoZSBjdXJyZW50IHRh
cmdldCdzIHNuYXAgYWxpZ25tZW50IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8g
YSBuZXcgc25hcCBhcmVhLgogUEFTUyBDaGFuZ2luZyBhbiBlbGVtZW50IHNuYXAgYWxpZ25tZW50
IGZyb20gbm9uZSB0byBzdGFydCBzaG91bGQgbWFrZSB0aGVzY3JvbGxlciByZXNuYXAuCiBQQVNT
IENoYW5naW5nIGFuIGVsZW1lbnQgc25hcCBhbGlnbm1lbnQgZnJvbSBub25lIHRvIHN0YXJ0IGJ5
IGFkZGluZyBhIGNsYXNzIHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWFmdGVyLXJlbGF5b3V0L21vdmUtY3VycmVudC10YXJnZXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdl
dC1leHBlY3RlZC50eHQKaW5kZXggZWZiNjdhYzc2NDc3ZjFjMTE4Y2YwMmI3ODM3MTBhOTM5MDJi
ZDQ1OC4uYmY0ODBmMmVhNzk2ZDc0ZmY3MTcwZGEzNjNjZGZjNmEwYzcxYjBkOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYWZ0ZXItcmVsYXlvdXQvbW92ZS1jdXJyZW50LXRhcmdl
dC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgTW92aW5nIHRoZSBjdXJyZW50
IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNuYXAgdG8gaXQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwgQ2hhbmdpbmcgdGhlIGxheW91
dCBvZiBvdGhlciBlbGVtZW50cyBzaG91bGQgYmUgYWJsZSB0byBjYXVzZSByZXNuYXBwaW5nIHRv
IHRoZSB0YXJnZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKLUZBSUwg
VHJhbnNmb3JtaW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3Jv
bGxlciByZXNuYXAgdG8gaXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAK
LUZBSUwgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMgdGhhdCBkbyBub3QgY2hhbmdlIHRo
ZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIHNjcm9s
bCBvZmZzZXQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIwMCBidXQgZ290IDAKK1BBU1MgTW92
aW5nIHRoZSBjdXJyZW50IHNuYXAgdGFyZ2V0IHNob3VsZCBtYWtlIHRoZSBzY3JvbGxlciByZXNu
YXAgdG8gaXQuCitQQVNTIENoYW5naW5nIHRoZSBsYXlvdXQgb2Ygb3RoZXIgZWxlbWVudHMgc2hv
dWxkIGJlIGFibGUgdG8gY2F1c2UgcmVzbmFwcGluZyB0byB0aGUgdGFyZ2V0LgorUEFTUyBUcmFu
c2Zvcm1pbmcgdGhlIGN1cnJlbnQgc25hcCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVy
IHJlc25hcCB0byBpdC4KK1BBU1MgQXBwbHlpbmcgdHdvIHByb3BlcnR5IGNoYW5nZXMgdGhhdCBk
byBub3QgY2hhbmdlIHRoZSB2aXN1YWwgb2Zmc2V0IG9mIHRoZSB0YXJnZXQgc2hvdWxkIG5vdCBj
aGFuZ2UgdGhlIHNjcm9sbCBvZmZzZXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC1hZnRlci1yZWxheW91dC9yZW1vdmUtY3VycmVudC10YXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4
IDU1Y2EwNjM2NmQzYTg5YmQ5OTMyNDlkYTM4OTE0NzM3MTlkODMxNGIuLmVkZjFjYzQ5MDNkZjI5
ZTc4MmIwNjRmYzFlODdkZGNmYTQ1NmIzMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFmdGVy
LXJlbGF5b3V0L3JlbW92ZS1jdXJyZW50LXRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtYWZ0ZXItcmVsYXlvdXQvcmVtb3ZlLWN1cnJlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBSZW1vdmluZyB0aGUgY3VycmVudCBzbmFwIHRhcmdldCBz
aG91bGQgbWFrZSB0aGUgc2Nyb2xsZXIgc25hcCB0byBhIG5ldyB0YXJnZXQuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK1BBU1MgUmVtb3ZpbmcgdGhlIGN1cnJlbnQgc25h
cCB0YXJnZXQgc2hvdWxkIG1ha2UgdGhlIHNjcm9sbGVyIHNuYXAgdG8gYSBuZXcgdGFyZ2V0Lgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xsLWNvbnRh
aW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1hZGQtc2Nyb2xs
LWNvbnRhaW5lci1leHBlY3RlZC50eHQKaW5kZXggMjBlYTQzNDFlZTFjZmY3YzdiOTQ0OGYwNjM4
MDg4YjJhZjI5MjkxMi4uZWE5NTE2ZDdiMGU0NjBhNzY0ODI4ODZiYjQ3YzBiMDlhZGFkNmQyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1jYXB0dXJpbmctYWRkLXNjcm9sbC1jb250YWlu
ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLWFkZC1zY3Jv
bGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBNYWtpbmcg
YW4gZWxlbWVudCBzY3JvbGxhYmxlIHNob3VsZCBtYWtlIGl0IGNhcHR1cmUgdGhlIGNvcnJlY3Qg
ZGVzY2VuZGFudCBzbmFwIGFyZWFzJyBzbmFwIHBvaW50cy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgNTAwIGJ1dCBnb3QgMTAKLUZBSUwgQXR0YWNoaW5nIGEgbmV3IGVsZW1lbnQgdGhhdCBpcyBz
Y3JvbGxhYmxlIHNob3VsZCBhc3NpZ24gdGhlIGNvcnJlY3Qgc25hcCBhcmVhcyB0byBpdC4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMTAKK1BBU1MgTWFraW5nIGFuIGVsZW1l
bnQgc2Nyb2xsYWJsZSBzaG91bGQgbWFrZSBpdCBjYXB0dXJlIHRoZSBjb3JyZWN0IGRlc2NlbmRh
bnQgc25hcCBhcmVhcycgc25hcCBwb2ludHMuCitQQVNTIEF0dGFjaGluZyBhIG5ldyBlbGVtZW50
IHRoYXQgaXMgc2Nyb2xsYWJsZSBzaG91bGQgYXNzaWduIHRoZSBjb3JyZWN0IHNuYXAgYXJlYXMg
dG8gaXQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5nLXJlbW92ZS1z
Y3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLWFyZWEtY2FwdHVyaW5n
LXJlbW92ZS1zY3JvbGwtY29udGFpbmVyLWV4cGVjdGVkLnR4dAppbmRleCBiOWI4ZWFiZjdmY2Fl
ZWRjNzBlNTMxNzI4NTllZmFkYTYyODY0OTMyLi44YmUzZGIxMWVkYzlkMjljZGM2ZThiYjA0YzEy
MTA1NzBiYzA0MDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1hcmVhLWNhcHR1cmluZy1yZW1v
dmUtc2Nyb2xsLWNvbnRhaW5lci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtYXJlYS1j
YXB0dXJpbmctcmVtb3ZlLXNjcm9sbC1jb250YWluZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIE1ha2luZyBhIHNuYXAgY29udGFpbmVyIG5vdCBzY3JvbGxhYmxlIHNob3Vs
ZCBwcm9tb3RlIHRoZSBuZXh0IHNjcm9sbGFibGUgYW5jZXN0b3IgdG8gYmVjb21lIGEgc25hcCBj
b250YWluZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDMwMCBidXQgZ290IDMxMAorUEFTUyBN
YWtpbmcgYSBzbmFwIGNvbnRhaW5lciBub3Qgc2Nyb2xsYWJsZSBzaG91bGQgcHJvbW90ZSB0aGUg
bmV4dCBzY3JvbGxhYmxlIGFuY2VzdG9yIHRvIGJlY29tZSBhIHNuYXAgY29udGFpbmVyLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtaW5saW5lLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA0NTUwM2E2MDVmNmE3YmJiZTc4
MWM5N2RiNjVjMDkzMDk0Njg4Y2QxLi42ZGM0ZDhjOGI5N2YzZjYxNWRlMTc3YjYyYjI0YjBjOTA3
OTg1YjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC1pbmxpbmUtYmxvY2stZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLWlubGluZS1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEs
MTAgQEAKIAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIGhvcml6b250YWwtdGIgd3JpdGluZyBt
b2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRf
ZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAotRkFJ
TCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLWxyIHdyaXRpbmcgbW9kZSB3aXRoICdzY3Jv
bGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25z
IGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIDExNSBidXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVj
dGx5IGZvciB2ZXJ0aWNhbC1ybCB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246
IGVuZCBzdGFydCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24g
eCBleHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIGhv
cml6b250YWwtdGIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3Rh
cnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHggZXhwZWN0
ZWQgMzAwIGJ1dCBnb3QgMTE1CitQQVNTIFNuYXBzIGNvcnJlY3RseSBmb3IgdmVydGljYWwtbHIg
d3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVu
dAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRo
ICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczog
YWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiBGQUlMIFNu
YXBzIGNvcnJlY3RseSBmb3IgaG9yaXpvbnRhbC10YiB3cml0aW5nIG1vZGUgd2l0aCAnc2Nyb2xs
LXNuYXAtYWxpZ246IHN0YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBj
b3JyZWN0bHkgb24geCBleHBlY3RlZCAxMTUgYnV0IGdvdCAwCiBGQUlMIFNuYXBzIGNvcnJlY3Rs
eSBmb3IgdmVydGljYWwtbHIgd3JpdGluZyBtb2RlIHdpdGggJ3Njcm9sbC1zbmFwLWFsaWduOiBz
dGFydCBlbmQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBhbGlnbnMgY29ycmVjdGx5IG9uIHgg
ZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRpY2Fs
LXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBhbGln
bm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB5IGV4cGVjdGVkIDE2NSBi
dXQgZ290IDAKLUZBSUwgU25hcHMgY29ycmVjdGx5IGZvciAnZGlyZWN0aW9uOiBydGwnIHdpdGgg
J3Njcm9sbC1zbmFwLWFsaWduOiBlbmQgc3RhcnQnIGFsaWdubWVudCBhc3NlcnRfZXF1YWxzOiBh
bGlnbnMgY29ycmVjdGx5IG9uIHkgZXhwZWN0ZWQgMTY1IGJ1dCBnb3QgMAotRkFJTCBTbmFwcyBj
b3JyZWN0bHkgZm9yICdkaXJlY3Rpb246IHJ0bCcgd2l0aCAnc2Nyb2xsLXNuYXAtYWxpZ246IHN0
YXJ0IGVuZCcgYWxpZ25tZW50IGFzc2VydF9lcXVhbHM6IGFsaWducyBjb3JyZWN0bHkgb24geCBl
eHBlY3RlZCAtMzE1IGJ1dCBnb3QgLTUwMAorRkFJTCBTbmFwcyBjb3JyZWN0bHkgZm9yIHZlcnRp
Y2FsLXJsIHdyaXRpbmcgbW9kZSB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgZW5kJyBh
bGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC01
MDAgYnV0IGdvdCAtMzAwCitGQUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRs
JyB3aXRoICdzY3JvbGwtc25hcC1hbGlnbjogZW5kIHN0YXJ0JyBhbGlnbm1lbnQgYXNzZXJ0X2Vx
dWFsczogYWxpZ25zIGNvcnJlY3RseSBvbiB4IGV4cGVjdGVkIC01MDAgYnV0IGdvdCAtMzAwCitG
QUlMIFNuYXBzIGNvcnJlY3RseSBmb3IgJ2RpcmVjdGlvbjogcnRsJyB3aXRoICdzY3JvbGwtc25h
cC1hbGlnbjogc3RhcnQgZW5kJyBhbGlnbm1lbnQgYXNzZXJ0X2VxdWFsczogYWxpZ25zIGNvcnJl
Y3RseSBvbiB4IGV4cGVjdGVkIC0zMTUgYnV0IGdvdCAtNDg1CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10
by10cmFuc2Zvcm1lZC10YXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4IGNjZmM1NTlhNTZlYjQ0YmM3
YTQzM2UxZjE5MzhiN2E4MTc1OGJhY2YuLmIwZDNhN2E3ZmI5ZTIzODBmZjU0MGRlOTcyN2I3MDVk
MTM0MWIyYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXRyYW5zZm9ybWVkLXRhcmdldC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdHJhbnNmb3JtZWQtdGFyZ2V0LWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQg
c25hcCBzdGFydCBwb3NpdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzNTAgYnV0IGdvdCAx
MAotRkFJTCBTbmFwcyB0byB0aGUgdHJhbnNmb3JtZWQgc25hcCBlbmQgcG9zaXRpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0IGdvdCAxMAotRkFJTCBTbmFwcyB0byB2aXNpYmxlIHRv
cCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSB0cmFuc2Zvcm1lZCBib3ggYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMCBidXQgZ290IDEwCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIHN0
YXJ0IHBvc2l0aW9uCitQQVNTIFNuYXBzIHRvIHRoZSB0cmFuc2Zvcm1lZCBzbmFwIGVuZCBwb3Np
dGlvbgorUEFTUyBTbmFwcyB0byB2aXNpYmxlIHRvcCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSB0cmFu
c2Zvcm1lZCBib3gKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1i
b3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtYm90aC1leHBl
Y3RlZC50eHQKaW5kZXggNDc0MGE4MzBmYjE3NWVjYjI5ZTdjYzcyMThmOTRiMzI3OTZmNjFlZi4u
OGIwY2E3OGU4ODMyODA2OTgyMzBlZGM5MjUxZmYyM2EwNDRkZDVhNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by12aXNpYmxlLWFyZWFzLWJvdGgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWFzIGluIHRoZSBjYXNlIHdoZXJlIHRha2lu
ZyB0aGUgY2xvc2VzdCBzbmFwIHBvaW50IG9mICAgZWFjaCBheGlzIGRvZXMgbm90IHNuYXAgdG8g
YSB2aXNpYmxlIGFyZWEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDUwMAorRkFJ
TCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhcyBpbiB0aGUgY2FzZSB3aGVyZSB0YWtpbmcgdGhl
IGNsb3Nlc3Qgc25hcCBwb2ludCBvZiAgIGVhY2ggYXhpcyBkb2VzIG5vdCBzbmFwIHRvIGEgdmlz
aWJsZSBhcmVhIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCA4MDAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4tYm90aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4
dAppbmRleCAzNjQwMDM2MjRlMWEyODQ0YjY0NDU4ZGYwMjY5NTg0NmUwMmNhYzc0Li41NGFkZmY1
OTFlZWQyYTc0MDk5ZWE0NDA4OWQxMzk2YmVmZmY2N2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25h
cC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi1ib3RoLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9ubHkgdGhlIHNjcm9sbCBtYXJn
aW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIDgwMCBidXQgZ290IDUwMAorUEFTUyBTbmFwIHRvIGFyZWEgc3VjaCB0aGF0IG9ubHkgdGhl
IHNjcm9sbCBtYXJnaW4gZnJvbSBib3RoIGF4ZXMnIGFyZWFzIGFyZSB2aXNpYmxlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zY3JvbGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi14LWF4aXMtZXhwZWN0
ZWQudHh0CmluZGV4IDEyOGY5NWRmNDEyMGExODIwZjczM2IyZDU1OTllZGZlN2EwYzM0YTUuLjY2
ZWFjYzE5Y2Y0MTc1NWY4NzYxOWU3MGY0NWYyZGEyMGViOGMzYWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXgtYXhpcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9s
bC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teC1heGlzLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVk
IHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0
aGUgeC1heGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAorUEFTUyBT
Y3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBh
cmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeC1heGlzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zbmFwLXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Ny
b2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLW1hcmdpbi15LWF4aXMtZXhwZWN0ZWQudHh0
CmluZGV4IDM2MTc3MzcwNjYzZGMwZWM0MDBkNDM4YzBhZGVjNGZkZTJlNWFlYjUuLmY3NTNjY2Mz
ODEzYzViOTk5ZjM0MGZiZDFkYWExYzc4MGYwMmNhNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMtbWFyZ2luLXktYXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFw
L3NuYXAtdG8tdmlzaWJsZS1hcmVhcy1tYXJnaW4teS1heGlzLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDMgQEAKIAotRkFJTCBTY3JvbGwgbWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4g
Y2FsY3VsYXRpbmcgc25hcCBhcmVhIHZpc2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeS1h
eGlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDcwMCBidXQgZ290IDUwMAorUEFTUyBTY3JvbGwg
bWFyZ2luIHNob3VsZCBiZSBjb25zaWRlcmVkIHdoZW4gY2FsY3VsYXRpbmcgc25hcCBhcmVhIHZp
c2liaWx0eSB3aGlsZSBzbmFwcGluZyBvbiB0aGUgeS1heGlzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zbmFwLXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFw
LXRvLXZpc2libGUtYXJlYXMteC1heGlzLWV4cGVjdGVkLnR4dAppbmRleCAxMDljNjRjNGUwZmI4
OWNhYTIyNDhkNGRjNzNmODAzNDJhYWE0OTliLi5kYWQzOTc1MDkwYTdhMWVlMzViODY5NTMyZjVi
NDgyOGMzNTkwNzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXgt
YXhpcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAtdG8tdmlzaWJsZS1hcmVhcy14LWF4
aXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIE9ubHkgc25hcCB0byB2aXNp
YmxlIGFyZWEgb24gWCBheGlzLCBldmVuIHdoZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNs
b3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA4MDAgYnV0IGdvdCA1MDAKK0ZBSUwgT25seSBz
bmFwIHRvIHZpc2libGUgYXJlYSBvbiBYIGF4aXMsIGV2ZW4gd2hlbiB0aGUgbm9uLXZpc2libGUg
b25lcyBhcmUgY2xvc2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDgwMCBidXQgZ290IDcwMAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvc25hcC10by12aXNpYmxlLWFyZWFzLXktYXhpcy1leHBlY3RlZC50eHQK
aW5kZXggMjUyYjdkMjQ4ZDJmZjM2MDE5NTcxN2Y0NWEyYmFjNDliNmYzZTAyMC4uMjBjNzA3ZmY5
ZDA4MjljMzZmZDAzYjhhZDlhOThhYTFmNTEyNjhmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3NuYXAt
dG8tdmlzaWJsZS1hcmVhcy15LWF4aXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zbmFwLXRv
LXZpc2libGUtYXJlYXMteS1heGlzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJ
TCBPbmx5IHNuYXAgdG8gdmlzaWJsZSBhcmVhIG9uIFkgYXhpcywgZXZlbiB3aGVuIHRoZSBub24t
dmlzaWJsZSBvbmVzIGFyZSBjbG9zZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgODAwIGJ1dCBn
b3QgNTAwCitGQUlMIE9ubHkgc25hcCB0byB2aXNpYmxlIGFyZWEgb24gWSBheGlzLCBldmVuIHdo
ZW4gdGhlIG5vbi12aXNpYmxlIG9uZXMgYXJlIGNsb3NlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCA4MDAgYnV0IGdvdCA3MDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAt
cG9zaXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC91bnJlYWNoYWJsZS1zbmFwLXBvc2l0aW9u
cy1leHBlY3RlZC50eHQKaW5kZXggY2IyMjk4ODJkYmQ0MzFmZTA5YWQzODUxN2U3ZjUwYTE0NTVj
YzFkMy4uZDUzNjA3MWVhY2Y4ODI4MWJiNDk4ODMzOGYyY2M5YjA4OTFjYmI3YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3VucmVhY2hhYmxlLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvdW5yZWFjaGFibGUtc25hcC1wb3NpdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIFNuYXBzIHRvIHRoZSBwb3NpdGlvbnMgZGVmaW5lZCBieSB0aGUgZWxlbWVu
dCBhcyBtdWNoIGFzIHBvc3NpYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
MDAKK1BBU1MgU25hcHMgdG8gdGhlIHBvc2l0aW9ucyBkZWZpbmVkIGJ5IHRoZSBlbGVtZW50IGFz
IG11Y2ggYXMgcG9zc2libGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
c2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xs
LXNuYXAvc2Nyb2xsVG8tc2Nyb2xsQnktc25hcHMtZXhwZWN0ZWQudHh0CmluZGV4IDBlODFiMWI2
MjI3ZGRhN2ZkMmQzNGNjNGEyMDM0NWMyZDc1NDBmZWQuLmZkOWY4MWEzY2I1NGEwODk3ZTAxODc0
YjQ1ODI4Y2YzNmI0NDM0NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nj
cm9sbFRvLXNjcm9sbEJ5LXNuYXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zY3JvbGxUby1zY3JvbGxCeS1zbmFwcy1leHBlY3RlZC50eHQKQEAgLTEsNDAgKzEs
NDAgQEAKIAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDog
ODAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
MDAgYnV0IGdvdCA4MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ig
e2xlZnQ6IDgwMH0gb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBhc3NpZ24gc2Nyb2xs
TGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwfSBvbiB2aWV3cG9ydC1kZWZpbmluZyBl
bGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgODAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDB9KSBvbiBkaXYgbGFuZHMgb24gKDEw
MDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZBSUwgc2Ny
b2xsQnkoe2xlZnQ6IDgwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAorUEFTUyBzY3JvbGxUbyh7bGVmdDogODAwfSkg
b24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAwKQogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwfSkgb24gdmll
d3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwfSkgb24g
dmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAogRkFJTCBzY3JvbGxUbyh7bGVmdDogODAwfSkg
b24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgODAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiA4MDB9KSBvbiB3aW5kb3cgbGFuZHMg
b24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKLUZB
SUwgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBvbiBkaXYg
bGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5
MDAKK1BBU1MgYXNzaWduIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige3RvcDogOTAwfSBv
biBkaXYgbGFuZHMgb24gKDAsIDEwMDApCiBGQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3Jv
bGxUb3AgZm9yIHt0b3A6IDkwMH0gb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJ
TCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiBkaXYgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA5MDAKLUZBSUwgc2Nyb2xsQnkoe3RvcDogOTAw
fSkgb24gZGl2IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAw
IGJ1dCBnb3QgOTAwCitQQVNTIHNjcm9sbFRvKHt0b3A6IDkwMH0pIG9uIGRpdiBsYW5kcyBvbiAo
MCwgMTAwMCkKK1BBU1Mgc2Nyb2xsQnkoe3RvcDogOTAwfSkgb24gZGl2IGxhbmRzIG9uICgwLCAx
MDAwKQogRkFJTCBzY3JvbGxUbyh7dG9wOiA5MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVt
ZW50IGxhbmRzIG9uICgwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBn
b3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHt0b3A6IDkwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVs
ZW1lbnQgbGFuZHMgb24gKDAsIDEwMDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCA5MDAKIEZBSUwgc2Nyb2xsVG8oe3RvcDogOTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgw
LCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNj
cm9sbEJ5KHt0b3A6IDkwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMCwgMTAwMCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBhc3NpZ24gc2Nyb2xsTGVmdCBh
bmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogOTAwLCB0b3A6IDgwMH0gb24gZGl2IGxhbmRzIG9uICgx
MDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCitQQVNT
IGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAw
fSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDEwMDApCiBGQUlMIGFzc2lnbiBzY3JvbGxMZWZ0IGFu
ZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiA5MDAsIHRvcDogODAwfSBvbiB2aWV3cG9ydC1kZWZpbmlu
ZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAx
MDAwIGJ1dCBnb3QgOTAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24g
ZGl2IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1
dCBnb3QgOTAwCi1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxh
bmRzIG9uICgxMDAwLCAxMDAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3Qg
OTAwCitQQVNTIHNjcm9sbFRvKHtsZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gZGl2IGxhbmRzIG9u
ICgxMDAwLCAxMDAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIGRp
diBsYW5kcyBvbiAoMTAwMCwgMTAwMCkKIEZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDkwMCwgdG9wOiA4
MDB9KSBvbiB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAxMDAwKSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgOTAwCiBGQUlMIHNjcm9sbEJ5KHts
ZWZ0OiA5MDAsIHRvcDogODAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBv
biAoMTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAog
RkFJTCBzY3JvbGxUbyh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAo
MTAwMCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAogRkFJ
TCBzY3JvbGxCeSh7bGVmdDogOTAwLCB0b3A6IDgwMH0pIG9uIHdpbmRvdyBsYW5kcyBvbiAoMTAw
MCwgMTAwMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDkwMAotRkFJTCBh
c3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVmdDogODAwLCB0b3A6IC0xMDB9
IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBi
dXQgZ290IDgwMAorUEFTUyBhc3NpZ24gc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIGZvciB7bGVm
dDogODAwLCB0b3A6IC0xMDB9IG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKIEZBSUwgYXNzaWdu
IHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBmb3Ige2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSBvbiB2
aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRv
cDogLTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDgwMAotRkFJTCBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAg
YnV0IGdvdCA4MDAKK1BBU1Mgc2Nyb2xsVG8oe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gZGl2
IGxhbmRzIG9uICgxMDAwLCAwKQorUEFTUyBzY3JvbGxCeSh7bGVmdDogODAwLCB0b3A6IC0xMDB9
KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiA4MDAsIHRv
cDogLTEwMH0pIG9uIHZpZXdwb3J0LWRlZmluaW5nIGVsZW1lbnQgbGFuZHMgb24gKDEwMDAsIDAp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwgc2Nyb2xsQnko
e2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBsYW5k
cyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDgwMAog
RkFJTCBzY3JvbGxUbyh7bGVmdDogODAwLCB0b3A6IC0xMDB9KSBvbiB3aW5kb3cgbGFuZHMgb24g
KDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCA4MDAKIEZBSUwg
c2Nyb2xsQnkoe2xlZnQ6IDgwMCwgdG9wOiAtMTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAw
LCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgODAwCi1GQUlMIGFzc2ln
biBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSBv
biBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMDAgYnV0
IGdvdCAzMjE1CitQQVNTIGFzc2lnbiBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0
OiAxMDAwMCwgdG9wOiAtMTAwfSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIGFzc2ln
biBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgZm9yIHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSBv
biB2aWV3cG9ydC1kZWZpbmluZyBlbGVtZW50IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAwIGJ1dCBnb3QgMTAwMDAKLUZBSUwgc2Nyb2xsVG8oe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEwMDAgYnV0IGdvdCAzMjE1Ci1GQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwg
dG9wOiAtMTAwfSkgb24gZGl2IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAwIGJ1dCBnb3QgMzIxNQorUEFTUyBzY3JvbGxUbyh7bGVmdDogMTAwMDAsIHRvcDog
LTEwMH0pIG9uIGRpdiBsYW5kcyBvbiAoMTAwMCwgMCkKK1BBU1Mgc2Nyb2xsQnkoe2xlZnQ6IDEw
MDAwLCB0b3A6IC0xMDB9KSBvbiBkaXYgbGFuZHMgb24gKDEwMDAsIDApCiBGQUlMIHNjcm9sbFRv
KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQtZGVmaW5pbmcgZWxlbWVudCBs
YW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwMCBidXQgZ290IDEw
MDAwCiBGQUlMIHNjcm9sbEJ5KHtsZWZ0OiAxMDAwMCwgdG9wOiAtMTAwfSkgb24gdmlld3BvcnQt
ZGVmaW5pbmcgZWxlbWVudCBsYW5kcyBvbiAoMTAwMCwgMCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwMCBidXQgZ290IDEwMDAwCiBGQUlMIHNjcm9sbFRvKHtsZWZ0OiAxMDAwMCwgdG9wOiAt
MTAwfSkgb24gd2luZG93IGxhbmRzIG9uICgxMDAwLCAwKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAxMDAwIGJ1dCBnb3QgMTAwMDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1vdmVyZmxvdy1z
Y3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW92ZXJmbG93LXNjcmlwdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDk0NTkwZTBjNTQ2ZjdkMmFmZWM3OGNiNzMyMGU0MjJhM2FjMzMw
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1vdmVyZmxvdy1zY3JpcHQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1BBU1Mgc2Nyb2xsIG9yaWdpbiBpcyAwCitQQVNTIGNh
biBlc2NhcGUgZmlyc3Qgc25hcCBwb3NpdGlvbgorUEFTUyBzbmFwcGVkIGJhY2sgdG8gZmlyc3Qg
c25hcCBwb3NpdGlvbgorUEFTUyBzbmFwcGVkIHRvIHNlY29uZCBzbmFwIHBvc2l0aW9uCitQQVNT
IGNhbiBlc2NhcGUgc2Vjb25kIHNuYXAgcG9zaXRpb24gdG8gdGhlIGxlZnQKK1BBU1Mgc25hcHBl
ZCBiYWNrIHRvIHNlY29uZCBzbmFwIHBvc2l0aW9uCitQQVNTIGNhbiBlc2NhcGUgc2Vjb25kIHNu
YXAgcG9zaXRpb24gdG8gdGhlIHJpZ2h0CitQQVNTIHNuYXBwZWQgYmFjayB0byBzZWNvbmQgc25h
cCBwb3NpdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1vdmVyZmxvdy1zY3JpcHQuaHRtbCBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LXByb3hpbWl0eS1vdmVyZmxvdy1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NmJmYTE5MmVkMDA3
ZDUxMjYxM2FhNDRkMjc0N2I4MGI3NDI4N2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGlt
aXR5LW92ZXJmbG93LXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8IURPQ1RZUEUgSFRN
TD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBib2R5
IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgICAgICAgICAgb3ZlcmZsb3c6
IGhpZGRlbjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI2NvbnRhaW5lciB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7
CisgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRv
cDogMDsKKyAgICAgICAgICAgICAgICBsZWZ0OiAwOworICAgICAgICAgICAgICAgIG92ZXJmbG93
LXg6IGF1dG87CisgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOworICAgICAgICAg
ICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5OworICAgICAgICAgICAgICAgIGRp
cmVjdGlvbjogcnRsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAuZHJhd2VyIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogOTAwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAl
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAuYXJlYSB7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAzMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAg
ICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0
YXJ0OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAucnRsIHsKKyAgICAgICAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5sdHIgeworICAg
ICAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5kZWxheUZvcigwKTsKKworICAgICAgICAgICAgICAgIGxldCB0YXJnZXRFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOworICAgICAgICAgICAgICAgIGV4cGVj
dFRydWUoMCA9PSB0YXJnZXRFbGVtZW50LnNjcm9sbExlZnQsICJzY3JvbGwgb3JpZ2luIGlzIDAi
KTsKKworICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnQuc2Nyb2xsQnkoLTEwMCwgMCk7Cisg
ICAgICAgICAgICAgICAgZXhwZWN0VHJ1ZSh0YXJnZXRFbGVtZW50LnNjcm9sbExlZnQgPT0gLTEw
MCwgImNhbiBlc2NhcGUgZmlyc3Qgc25hcCBwb3NpdGlvbiIpOworCisgICAgICAgICAgICAgICAg
dGFyZ2V0RWxlbWVudC5zY3JvbGxCeSgxMCwgMCk7CisgICAgICAgICAgICAgICAgZXhwZWN0VHJ1
ZSh0YXJnZXRFbGVtZW50LnNjcm9sbExlZnQgPT0gMCwgInNuYXBwZWQgYmFjayB0byBmaXJzdCBz
bmFwIHBvc2l0aW9uIik7CisKKyAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEJ5
KC0yOTUsIDApOworICAgICAgICAgICAgICAgIGV4cGVjdFRydWUodGFyZ2V0RWxlbWVudC5zY3Jv
bGxMZWZ0ID09IC0zMDAsICJzbmFwcGVkIHRvIHNlY29uZCBzbmFwIHBvc2l0aW9uIik7CisKKyAg
ICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEJ5KC0xMCwgMCk7CisgICAgICAgICAg
ICAgICAgdGFyZ2V0RWxlbWVudC5zY3JvbGxCeSgtMTAsIDApOworCisgICAgICAgICAgICAgICAg
ZXhwZWN0VHJ1ZSh0YXJnZXRFbGVtZW50LnNjcm9sbExlZnQgPT0gLTMyMCwgImNhbiBlc2NhcGUg
c2Vjb25kIHNuYXAgcG9zaXRpb24gdG8gdGhlIGxlZnQiKTsKKworICAgICAgICAgICAgICAgIHRh
cmdldEVsZW1lbnQuc2Nyb2xsQnkoMSwgMCk7CisgICAgICAgICAgICAgICAgZXhwZWN0VHJ1ZSh0
YXJnZXRFbGVtZW50LnNjcm9sbExlZnQgPT0gLTMwMCwgInNuYXBwZWQgYmFjayB0byBzZWNvbmQg
c25hcCBwb3NpdGlvbiIpOworCisgICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5zY3JvbGxC
eSgxMCwgMCk7CisgICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5zY3JvbGxCeSgxMCwgMCk7
CisgICAgICAgICAgICAgICAgZXhwZWN0VHJ1ZSh0YXJnZXRFbGVtZW50LnNjcm9sbExlZnQgPT0g
LTI4MCwgImNhbiBlc2NhcGUgc2Vjb25kIHNuYXAgcG9zaXRpb24gdG8gdGhlIHJpZ2h0Iik7CisK
KyAgICAgICAgICAgICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEJ5KC0xLCAwKTsKKyAgICAgICAg
ICAgICAgICBleHBlY3RUcnVlKHRhcmdldEVsZW1lbnQuc2Nyb2xsTGVmdCA9PSAtMzAwLCAic25h
cHBlZCBiYWNrIHRvIHNlY29uZCBzbmFwIHBvc2l0aW9uIik7CisgICAgICAgICAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7CisgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAgICAgICAgICAgaWYgKCF3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICB3cml0ZSgiVG8gbWFudWFsbHkg
dGVzdCwgdmVyaWZ5IHRoYXQgc2Nyb2xsaW5nIG5lYXIgb25lIG9mIHRoZSBib3VuZGFyaWVzIGJl
dHdlZW4gdGhlIGNvbG9yZWQgYm94ZXMiKTsKKyAgICAgICAgICAgICAgICB3cml0ZSgic25hcHMg
dG8gdGhlIGVkZ2Ugb2YgdGhlIG5lYXJlc3QgY29sb3JlZCBib3gsIGJ1dCBzY3JvbGxpbmcgc29t
ZXdoZXJlIG5lYXIgdGhlIG1pZGRsZSBvZiB0d28iKTsKKyAgICAgICAgICAgICAgICB3cml0ZSgi
Ym94ZXMgZG9lcyBub3QgY2F1c2UgdGhlIHNjcm9sbCBvZmZzZXQgdG8gc25hcC4iKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBydW5UZXN0KCk7
CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD1ydW4oKT4KKyAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImRyYXdlciI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSBydGwi
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJhcmVhIGx0ciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rp
dj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhIHJ0bCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGFxdWE7Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>