<?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>209692</bug_id>
          
          <creation_ts>2020-03-27 19:15:35 -0700</creation_ts>
          <short_desc>[Cocoa] Password obscuring dots drawn with the system font are too small</short_desc>
          <delta_ts>2020-04-17 18:26:41 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>darin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1635089</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-27 19:15:35 -0700</bug_when>
    <thetext>[Cocoa] Password obscuring dots drawn with the system font are too small</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635090</commentid>
    <comment_count>1</comment_count>
      <attachid>394780</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-27 19:19:12 -0700</bug_when>
    <thetext>Created attachment 394780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635091</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-27 19:19:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/60788385&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635092</commentid>
    <comment_count>3</comment_count>
      <attachid>394781</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-27 19:20:16 -0700</bug_when>
    <thetext>Created attachment 394781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635277</commentid>
    <comment_count>4</comment_count>
      <attachid>394781</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-28 19:42:23 -0700</bug_when>
    <thetext>Comment on attachment 394781
Patch

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

Goal seems great, even critical.

But I think this transformation should be done even closer to the rendering. I would never want to see the U+F79A character coming out of the TextIterator, ever. Not even when TextIteratorEmitsTextsWithoutTranscoding is unset.

The backslash to yen conversion is something different. It’s a sort of semantic conversion, and one that we want to do when copying to a Unicode pasteboard.

But the U+F79A trick is entirely a rendering quirk, not semantic at all. Is there some way we can put it deeper in the style system, closer to the font machinery?

&gt; Source/WebCore/rendering/RenderText.cpp:246
&gt; +static constexpr const UChar textSecurityDiskPUACodePoint = 0xF79A;

No need for the &quot;static&quot; or the &quot;const&quot; when it’s constexpr in a case like this.

This could go into CharacterNames.h but I suppose it’s not truly a character name?

Typically a code point would be a UChar32, not a UChar.

&gt; Source/WebCore/rendering/RenderText.cpp:251
&gt; +    return textSecurity == TextSecurity::Disc &amp;&amp; font.platformData().isSystemFont() &amp;&amp; font.glyphForCharacter(textSecurityDiskPUACodePoint);

Not obvious to me that a zero glyph means no glyph.

&gt; Source/WebCore/rendering/RenderText.cpp:286
&gt; +        if (oldStyle-&gt;fontCascade().useBackslashAsYenSymbol() != newStyle.fontCascade().useBackslashAsYenSymbol()) {
&gt; +            m_useBackslashAsYenSymbol = computeUseBackslashAsYenSymbol();
&gt; +            needsResetText = true;
&gt; +        }
&gt; +        auto oldStyleTextSecurityDiskShouldUsePUACodePoint = computeTextSecurityDiscShouldUsePUACodePoint(oldStyle-&gt;fontCascade().primaryFont(), oldStyle-&gt;textSecurity());
&gt; +        if (newStyleTextSecurityDiskShouldUsePUACodePoint != oldStyleTextSecurityDiskShouldUsePUACodePoint) {
&gt; +            needsResetText = true;
&gt; +            m_textSecurityDiscShouldUsePUACodePoint = newStyleTextSecurityDiskShouldUsePUACodePoint;
&gt; +        }

Why the different order of setting needsResetText?

Seems costly to compute whether we should use the PUA code point on both typefaces every time style changes. Is this efficient enough?

&gt; Source/WebCore/rendering/RenderText.cpp:1202
&gt; +        secureText(m_textSecurityDiscShouldUsePUACodePoint ? 0xF79A : bullet);

Seems like this should be using the &quot;textSecurityDiskPUACodePoint&quot; constant. We need to put it somewhere it can be used in both places.

&gt; Source/WebCore/rendering/RenderText.cpp:1310
&gt; -String RenderText::textWithoutConvertingBackslashToYenSymbol() const
&gt; +String RenderText::textWithoutTranscoding() const

Not sure the analogy here is perfect. There are places that call this and then convert backslash to yen at the end; I suppose that’s fine with this, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635938</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-30 21:35:14 -0700</bug_when>
    <thetext>Okay, that makes sense. I&apos;ll have to see where a good place to put it is. Inside GraphicsContext or lower is probably not right, since TextRun is constructed with a reference to a preexisting string. Trying to act as-if the string was modified would likely confuse callers.

We&apos;ll have to modify BreakingContext::handleText() directly since that calls directly into renderText.text(). Same thing with RenderText::computePreferredLogicalWidths(). And any other place which constructs a TextRun.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638452</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-06 22:09:33 -0700</bug_when>
    <thetext>text() is called 153 times</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638456</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-06 22:30:49 -0700</bug_when>
    <thetext>TextRuns are created in 51 places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638465</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-06 23:22:42 -0700</bug_when>
    <thetext>After auditing all the sites, I think these are the ones which need to be updated:

RenderBlock::constructTextRun()
InlineTextBox::text()
SVGInlineTextBox::constructTextRun()
SVGTextMetrics::constructTextRun()
RenderText::computeCanUseSimplifiedTextMeasuring()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638467</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-06 23:37:25 -0700</bug_when>
    <thetext>WOAH TextRun owns its string contents!!! TextRun::m_text is a String!

😮</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638469</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-07 00:10:31 -0700</bug_when>
    <thetext>On second thought, SVGInlineTextBox and SVGTextMetrics aren&apos;t really relevant if we&apos;re interested in password fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638470</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-07 00:14:13 -0700</bug_when>
    <thetext>RenderText::computeCanUseSimplifiedTextMeasuring() is only used for SimpleLineLayout and LFC, which this new handling can opt ourselves out of.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638486</commentid>
    <comment_count>12</comment_count>
      <attachid>395664</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-07 01:59:32 -0700</bug_when>
    <thetext>Created attachment 395664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638652</commentid>
    <comment_count>13</comment_count>
      <attachid>395664</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-07 11:08:21 -0700</bug_when>
    <thetext>Comment on attachment 395664
Patch

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

&gt; Source/WebCore/rendering/SimpleLineLayout.cpp:244
&gt; +    if (style.textSecurity() != TextSecurity::None)
&gt; +        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextSecurity, reasons, includeReasons);

Add a &quot;why&quot; comment somewhere?

&gt; Source/WebCore/rendering/style/RenderStyle.h:738
&gt; +    static constexpr UChar textSecurityDiskPUACodePoint = 0xF79A; // The PUA character in the system font which is used to render password field dots on Cocoa platforms

Great idea to have a constant. But this seems like a strange place for the constant.

&gt; Source/WebCore/rendering/style/RenderStyle.h:739
&gt; +    bool computeTextSecurityDiscShouldUsePUACodePoint() const;

Normally functions are named &quot;compute&quot; when there is a slow algorithm (compute) and a memoized version (no verb). I am not sure that the word &quot;compute&quot; should be used here.

Given the only use of this is to do replacement in a String, and always with a String that is going to be created, I suggest we consider an approach where there is a function that maps the string as needed. I wouldn’t put it as a RenderStyle member, though. I would name it like this:

    String updateSecurityDiscCharacters(RenderStyle&amp; style, String&amp;&amp; string)
    {
#if !PLATFORM(COCOA)
        return WTFMove(string);
#else
        if (style.textSecurity() != TextSecurity::Disc)
            return WTFMove(string);
         // This PUA character in the system font is used to render password field dots on Cocoa platforms.
         constexpr UChar textSecurityDiscPUACodePoint = 0xF79A;
        auto&amp; font = style.fontCascade().primaryFont();
        if (!(font.platformData().isSystemFont() &amp;&amp; font.glyphForCharacter(textSecurityDiscPUACodePoint))
            return WTFMove(string);
        return string.replace(bullet, textSecurityDiscPUACodePoint);
#endif
    }

The thing I like about this is that this function is the only place that needs the textSecurityDiscPUACodePoint constant. Not sure where the best place to put this is. Could make it an inline since it’s only called in two places.

Separate from this patch: Should consider adding a third constructor to TextRun that takes a String&amp;&amp;. The String and StringView ones can both call the String&amp;&amp; one. Also, maybe we should make the toStringWithoutCopying() explicit at call sites instead of implicit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638937</commentid>
    <comment_count>14</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-07 22:19:33 -0700</bug_when>
    <thetext>The iOS test is failing because:

#if !PLATFORM(IOS_FAMILY)
    // We use the same characters here as for list markers.
    // See the listMarkerText function in RenderListMarker.cpp.
    case TextSecurity::Circle:
        secureText(whiteBullet);
        break;
    case TextSecurity::Disc:
        secureText(bullet);
        break;
    case TextSecurity::Square:
        secureText(blackSquare);
        break;
#else
    // FIXME: Why this quirk on iOS?
    case TextSecurity::Circle:
    case TextSecurity::Disc:
    case TextSecurity::Square:
        secureText(blackCircle);
        break;
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638938</commentid>
    <comment_count>15</comment_count>
      <attachid>395770</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-07 22:31:12 -0700</bug_when>
    <thetext>Created attachment 395770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639096</commentid>
    <comment_count>16</comment_count>
      <attachid>395770</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 09:39:55 -0700</bug_when>
    <thetext>Comment on attachment 395770
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:3517
&gt; +#if !PLATFORM(COCOA)

Maybe this should be #if !PLATFORM(MAC) if it’s not for iOS yet?

&gt; Source/WebCore/rendering/RenderBlock.cpp:3527
&gt; +    return string.replace(bullet, textSecurityDiscPUACodePoint);

Do we want to replace &quot;blackCircle&quot; on iOS? Further, do we want to do it for types other than &quot;disc&quot;?

&gt; Source/WebCore/rendering/SimpleLineLayout.cpp:244
&gt; +    // -webkit-text-security: disc has special handling. It needs to use a special PUA character when rendering with the system font, but can&apos;t modify the actual text of the renderer to do this.
&gt; +    // Therefore, it&apos;s handled at layout/drawing time, rather than in the renderer itself.

Thank you for adding a comment. I think it could be a shorter one. More like this:

    // Special handling of text-security:disc is not yet implemented in the simple line layout code path.
    // See RenderBlock::updateSecurityDiscCharacters.

&gt; LayoutTests/ChangeLog:14
&gt; +        * fast/text/text-security-disc-bullet-pua-expected.html: Added.
&gt; +        * fast/text/text-security-disc-bullet-pua-old-expected.html: Added.
&gt; +        * fast/text/text-security-disc-bullet-pua-old.html: Added.
&gt; +        * fast/text/text-security-disc-bullet-pua.html: Added.
&gt; +        * fast/text/text-security-disc-bullet-pua-ios-expected.html: Added.
&gt; +        * fast/text/text-security-disc-bullet-pua-ios.html: Added.

If this is Mac-only behavior, then the test should be in platform/mac.

Ideally if this is Cocoa-only behavior, the test should be in platform/cocoa.

It’s not as good to put the test in the main test directories, and then disable or skip it on other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639231</commentid>
    <comment_count>17</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 12:34:30 -0700</bug_when>
    <thetext>U+F79A is meant to be used on all Apple platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639238</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 12:50:12 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #17)
&gt; U+F79A is meant to be used on all Apple platforms.

Then can we revise this so it’s used on IOS_FAMILY?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639281</commentid>
    <comment_count>19</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 14:06:03 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #18)
&gt; (In reply to Myles C. Maxfield from comment #17)
&gt; &gt; U+F79A is meant to be used on all Apple platforms.
&gt; 
&gt; Then can we revise this so it’s used on IOS_FAMILY?

Yes, of course. I was just making a note here just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639297</commentid>
    <comment_count>20</comment_count>
      <attachid>395770</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 14:34:49 -0700</bug_when>
    <thetext>Comment on attachment 395770
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:3527
&gt;&gt; +    return string.replace(bullet, textSecurityDiscPUACodePoint);
&gt; 
&gt; Do we want to replace &quot;blackCircle&quot; on iOS? Further, do we want to do it for types other than &quot;disc&quot;?

Yes to replacing blackCircle, no to doing it for types other than &quot;disc.&quot; The other types are things like &quot;square&quot; which shouldn&apos;t use this character. &quot;Circle&quot; is supposed to be hollow, so it shouldn&apos;t use this character either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639306</commentid>
    <comment_count>21</comment_count>
      <attachid>395770</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 15:02:25 -0700</bug_when>
    <thetext>Comment on attachment 395770
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:3527
&gt;&gt;&gt; +    return string.replace(bullet, textSecurityDiscPUACodePoint);
&gt;&gt; 
&gt;&gt; Do we want to replace &quot;blackCircle&quot; on iOS? Further, do we want to do it for types other than &quot;disc&quot;?
&gt; 
&gt; Yes to replacing blackCircle, no to doing it for types other than &quot;disc.&quot; The other types are things like &quot;square&quot; which shouldn&apos;t use this character. &quot;Circle&quot; is supposed to be hollow, so it shouldn&apos;t use this character either.

On iOS, when a page specifies text-securiity:square or text-security:circle, WebKit use blackCircle, effectively treating it like text-security:disc. Given that behavior, on iOS, I suggest WebKit use textSecurityDiscPUACodePoint for all three of those cases. I agree that if we change WebKit to support square or circle on iOS, then we would *not* want to use textSecurityDiscPUACodePoint, transforming it into a disc. My point is that if we continue to check for TextSecurity::Disc specifically in this function, then on iOS this means we will still get the glyph for Unicode character blackCircle in cases where we’d instead want the glyph for textSecurityDiscPUACodePoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639307</commentid>
    <comment_count>22</comment_count>
      <attachid>395770</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 15:03:06 -0700</bug_when>
    <thetext>Comment on attachment 395770
Patch

Do you want me to review+ this, or are you planning to post a version with better handling for the iOS-family platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639308</commentid>
    <comment_count>23</comment_count>
      <attachid>395874</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 15:07:53 -0700</bug_when>
    <thetext>Created attachment 395874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639310</commentid>
    <comment_count>24</comment_count>
      <attachid>395874</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 15:16:07 -0700</bug_when>
    <thetext>Comment on attachment 395874
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:3520
&gt; +    if (style.textSecurity() != TextSecurity::Disc)

For iOS family, should run the code below for TextSecurity::Square and TextSecurity::Circle.

It would be safe, because it will never transform any character other than blackCircle. So it won’t ever change a square or hollow circle.

If would be helpful and effective, because otherwise the blackCircle character will be used for TextSecurity::Square and TextSecurity::Circle.

So I think we should consider changing this.

&gt; Source/WebCore/rendering/RenderBlock.cpp:3533
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    constexpr UChar discCharacterToReplace = blackCircle;
&gt; +#else
&gt; +    constexpr UChar discCharacterToReplace = bullet;
&gt; +#endif

It’s irritating to have the connection between the code here and the code in RenderText::setRenderedText, with no comment there pointing here.

I feel like it’s my fault since I encouraged you to put the code here instead of there. Can live with it for now, I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639333</commentid>
    <comment_count>25</comment_count>
      <attachid>395874</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 15:53:41 -0700</bug_when>
    <thetext>Comment on attachment 395874
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:3520
&gt;&gt; +    if (style.textSecurity() != TextSecurity::Disc)
&gt; 
&gt; For iOS family, should run the code below for TextSecurity::Square and TextSecurity::Circle.
&gt; 
&gt; It would be safe, because it will never transform any character other than blackCircle. So it won’t ever change a square or hollow circle.
&gt; 
&gt; If would be helpful and effective, because otherwise the blackCircle character will be used for TextSecurity::Square and TextSecurity::Circle.
&gt; 
&gt; So I think we should consider changing this.

Right, good catch.

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:3533
&gt;&gt; +#endif
&gt; 
&gt; It’s irritating to have the connection between the code here and the code in RenderText::setRenderedText, with no comment there pointing here.
&gt; 
&gt; I feel like it’s my fault since I encouraged you to put the code here instead of there. Can live with it for now, I guess.

There is a comment there pointing here. See Source/WebCore/rendering/RenderText.cpp line 1169.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639341</commentid>
    <comment_count>26</comment_count>
      <attachid>395879</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 16:05:07 -0700</bug_when>
    <thetext>Created attachment 395879
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639352</commentid>
    <comment_count>27</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 16:30:00 -0700</bug_when>
    <thetext>Looks like tests aren’t working</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639353</commentid>
    <comment_count>28</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-08 16:30:26 -0700</bug_when>
    <thetext>For example &lt;https://ews-build.webkit.org/results/macOS-Mojave-Release-WK1-Tests-EWS/r395874-6999/platform/mac/fast/text/text-security-disc-bullet-pua-diffs.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639401</commentid>
    <comment_count>29</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 17:52:50 -0700</bug_when>
    <thetext>Oh, I see what happened. I named the tests the same, which means it&apos;s using the -expected results from platform/mac instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639405</commentid>
    <comment_count>30</comment_count>
      <attachid>395893</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-08 17:59:43 -0700</bug_when>
    <thetext>Created attachment 395893
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639758</commentid>
    <comment_count>31</comment_count>
      <attachid>395893</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-09 11:45:12 -0700</bug_when>
    <thetext>Comment on attachment 395893
Patch for committing

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

&gt; LayoutTests/platform/ios/fast/text/text-security-disc-bullet-pua-ios.html:8
&gt; +&lt;div style=&quot;font: 48px system-ui; -webkit-text-security: disc;&quot;&gt;abcdefg&lt;/div&gt;
&gt; +&lt;div style=&quot;font: 48px serif; -webkit-text-security: disc;&quot;&gt;abcdefg&lt;/div&gt;

This test is failing: https://ews-build.webkit.org/results/iOS-13-Simulator-WK2-Tests-EWS/r395893-14998/fast/text/text-security-disc-bullet-pua-diffs.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641974</commentid>
    <comment_count>32</comment_count>
      <attachid>396573</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-15 14:14:43 -0700</bug_when>
    <thetext>Created attachment 396573
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641979</commentid>
    <comment_count>33</comment_count>
      <attachid>396573</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-15 14:17:48 -0700</bug_when>
    <thetext>Comment on attachment 396573
Patch for committing

Forgot to add the new test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641982</commentid>
    <comment_count>34</comment_count>
      <attachid>396575</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-15 14:18:50 -0700</bug_when>
    <thetext>Created attachment 396575
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641997</commentid>
    <comment_count>35</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-15 14:57:36 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 396575 to WebKit repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642079</commentid>
    <comment_count>36</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-15 18:24:21 -0700</bug_when>
    <thetext>The failures are all in web animations and look unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642091</commentid>
    <comment_count>37</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-15 18:50:05 -0700</bug_when>
    <thetext>I pushed the retry button to see if that helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642156</commentid>
    <comment_count>38</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-15 22:57:56 -0700</bug_when>
    <thetext>Committed r260173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642301</commentid>
    <comment_count>39</comment_count>
      <attachid>396575</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-16 09:58:29 -0700</bug_when>
    <thetext>Comment on attachment 396575
Patch for committing

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

&gt; LayoutTests/platform/mac/TestExpectations:1982
&gt; +webkit.org/b/209692 [ Sierra HighSierra Mojave Catalina ] platform/mac/fast/text/text-security-disc-bullet-pua-mac.html [ ImageOnlyFailure ]

For tidiness should take out Sierra and HighSierra since Mojave is the oldest version of macOS supported in TOT WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642807</commentid>
    <comment_count>40</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-17 13:47:15 -0700</bug_when>
    <thetext>It&apos;s very unfortunate that RenderText has these many hats. It makes seemingly easy tasks very difficult to implement in a robust way. For example in this case, if the text iterator/editing code consulted the render tree through some iterator interface and this iterator layer implemented all the necessary conversions (in an efficient manner), this would be a very simple change and RenderText could be solely about the _measured_ content, input to the layout process (and in turn InlineTextBox could always be about the painted content, in a memory efficient way ofc).
We measure text in way too many different ways and places and the fact that now RenderText::text() needs to be measured through RenderBlock::constructTextRun() if you want matching geometry, makes it a tiny bit more error prone. I don&apos;t really have a solution, I just wish RenderText had fewer hats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642809</commentid>
    <comment_count>41</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-17 13:50:32 -0700</bug_when>
    <thetext>Alan, we should probably talk about this in person at some point.

The original patch did all the work in the secureText function, which is far earlier in the pipeline from DOM to rendering. What I didn&apos;t like about that was that the non-bullet characters could be seen by TextIterator and since it&apos;s entirely a glyph/font-rendering issue we would never want that to happen, even if we do want to see the bullets used for text security.

Finding the perfect place for this isn’t 100% obvious and it would be fine to reimplement it another way later if we find one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642828</commentid>
    <comment_count>42</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-17 14:13:02 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #41)
&gt; Alan, we should probably talk about this in person at some point.
&gt; 
&gt; The original patch did all the work in the secureText function, which is far
&gt; earlier in the pipeline from DOM to rendering. What I didn&apos;t like about that
&gt; was that the non-bullet characters could be seen by TextIterator and since
&gt; it&apos;s entirely a glyph/font-rendering issue we would never want that to
&gt; happen, even if we do want to see the bullets used for text security.
I agree, glyph transforms should not be visible to TextIterator. Unfortunately this is a very special case where the transform is not a paint time operation only, but it changes geometry as well -hence the complexity.

&gt; Finding the perfect place for this isn’t 100% obvious and it would be fine
&gt; to reimplement it another way later if we find one.
It&apos;s not obvious to me either given the current architecture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642918</commentid>
    <comment_count>43</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-17 18:26:41 -0700</bug_when>
    <thetext>Committed r260304: &lt;https://trac.webkit.org/changeset/260304&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394780</attachid>
            <date>2020-03-27 19:19:12 -0700</date>
            <delta_ts>2020-03-27 19:20:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209692-20200327191911.patch</filename>
            <type>text/plain</type>
            <size>16021</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNkNGUzMGIwNDdhNGEy
YjVjM2UxODBjNzFlNjYzODQ5OTkwZmY4OC4uNzMyMGIxYWZjNTBjMWU5ZWJkZWJjMWEwYTc2ZDky
MjE0ODNjMDk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAzLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAy
MiBCVUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAg
ICAgICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dl
dmVyLCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVu
dCBmb250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAg
ICBUaGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBk
cmF3aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNh
biB0YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5o
dG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cGFzc3dv
cmRGaWVsZFZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmVtaXRUZXh0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpS
ZW5kZXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNvbXB1dGVUZXh0U2Vj
dXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnNl
dFJlbmRlcmVkVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0ZXh0V2l0aG91
dFRyYW5zY29kaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnRleHRX
aXRob3V0Q29udmVydGluZ0JhY2tzbGFzaFRvWWVuU3ltYm9sIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorCiAyMDIwLTAzLTI3ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBTVkdSZW5kZXJp
bmdDb250ZXh0OjpyZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcigpIHRvIFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OnJlbmRlclN1YnRyZWVUb0NvbnRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXgg
ZTYxNmVhOWQ2NTRlZDIzYjM2NWJhNzU2ZGQwODY1NzZlN2QxNWU4YS4uMWNjMWIwMDMxMjJjM2I4
Y2RhODViZTQyZmUxNDdjNDMxYmY2ZTAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zODU2
LDcgKzM4NTYsNyBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cGFzc3dvcmRG
aWVsZFZhbHVlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgLy8gUmV0
dXJuIHRoZSB0ZXh0IHRoYXQgaXMgYWN0dWFsbHkgYmVpbmcgcmVuZGVyZWQgaW4gdGhlIGlucHV0
IGZpZWxkLgotICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpLnRleHRX
aXRob3V0Q29udmVydGluZ0JhY2tzbGFzaFRvWWVuU3ltYm9sKCk7CisgICAgcmV0dXJuIGRvd25j
YXN0PFJlbmRlclRleHQ+KCpyZW5kZXJlcikudGV4dFdpdGhvdXRUcmFuc2NvZGluZygpOwogfQog
CiBTY3JvbGxhYmxlQXJlYSogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Z2V0U2Nyb2xsYWJs
ZUFyZWFJZlNjcm9sbGFibGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuY3BwCmluZGV4IGJhMWI3MjBhZWYwMzQ4YmZhOWZlZGQ3ZDNkNjY3MDI4NDA0MDY3YjUuLjQ4
YmZkOWI1NThkNjlmYWRkYWZkYWFjMzhiZjVjMzIwNzFjYTcxOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTEwNzcsNyArMTA3Nyw3IEBAIHZvaWQgVGV4dEl0
ZXJhdG9yOjplbWl0VGV4dChUZXh0JiB0ZXh0Tm9kZSwgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGlu
dCB0ZXh0U3RhcnRPCiAKICAgICAvLyBGSVhNRTogVGhpcyBwcm9iYWJseSB5aWVsZHMgdGhlIHdy
b25nIG9mZnNldHMgd2hlbiB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlIHR1cm5zIGEgc2luZ2xl
IGNoYXJhY3RlciBpbnRvIHR3byBjaGFyYWN0ZXJzLgogICAgIFN0cmluZyBzdHJpbmcgPSAobV9i
ZWhhdmlvciAmIFRleHRJdGVyYXRvckVtaXRzT3JpZ2luYWxUZXh0KSA/IHJlbmRlcmVyLm9yaWdp
bmFsVGV4dCgpCi0gICAgICAgIDogKChtX2JlaGF2aW9yICYgVGV4dEl0ZXJhdG9yRW1pdHNUZXh0
c1dpdGhvdXRUcmFuc2NvZGluZykgPyByZW5kZXJlci50ZXh0V2l0aG91dENvbnZlcnRpbmdCYWNr
c2xhc2hUb1llblN5bWJvbCgpIDogcmVuZGVyZXIudGV4dCgpKTsKKyAgICAgICAgOiAoKG1fYmVo
YXZpb3IgJiBUZXh0SXRlcmF0b3JFbWl0c1RleHRzV2l0aG91dFRyYW5zY29kaW5nKSA/IHJlbmRl
cmVyLnRleHRXaXRob3V0VHJhbnNjb2RpbmcoKSA6IHJlbmRlcmVyLnRleHQoKSk7CiAKICAgICBB
U1NFUlQoc3RyaW5nLmxlbmd0aCgpID49IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0ZXh0RW5kT2Zm
c2V0KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBiNjFi
ZjZjMTA5ZDE0MWY1MThiYzk5NTAwOTU5ZjVjNjNmMmI2MzEwLi4yZjc4ZDRkN2MxYjMzNmZhZGM2
OWNkMzkyMjU4MTlmNTBhM2I5NmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwCkBAIC0xODgsNiArMTg4LDcgQEAgaW5saW5lIFJlbmRlclRleHQ6OlJlbmRlclRleHQo
Tm9kZSYgbm9kZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgICwgbV9pc0FsbEFTQ0lJKHRleHQu
aW1wbCgpLT5pc0FsbEFTQ0lJKCkpCiAgICAgLCBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5v
RmFsbGJhY2tGb250cyhmYWxzZSkKICAgICAsIG1fdXNlQmFja3NsYXNoQXNZZW5TeW1ib2woZmFs
c2UpCisgICAgLCBtX3RleHRTZWN1cml0eURpc2NTaG91bGRVc2VQVUFDb2RlUG9pbnQoZmFsc2Up
CiAgICAgLCBtX29yaWdpbmFsVGV4dERpZmZlcnNGcm9tUmVuZGVyZWQoZmFsc2UpCiAgICAgLCBt
X2hhc0lubGluZVdyYXBwZXJGb3JEaXNwbGF5Q29udGVudHMoZmFsc2UpCiAgICAgLCBtX3RleHQo
dGV4dCkKQEAgLTI0Miw2ICsyNDMsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb21wdXRlVXNlQmFj
a3NsYXNoQXNZZW5TeW1ib2woKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBVQ2hhciB0ZXh0U2VjdXJpdHlEaXNrUFVBQ29kZVBvaW50ID0gMHhG
NzlBOworCitib29sIFJlbmRlclRleHQ6OmNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNl
UFVBQ29kZVBvaW50KGNvbnN0IEZvbnQmIGZvbnQsIFRleHRTZWN1cml0eSB0ZXh0U2VjdXJpdHkp
Cit7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIHRleHRTZWN1cml0eSA9PSBUZXh0
U2VjdXJpdHk6OkRpc2MgJiYgZm9udC5wbGF0Zm9ybURhdGEoKS5pc1N5c3RlbUZvbnQoKSAmJiBm
b250LmdseXBoRm9yQ2hhcmFjdGVyKHRleHRTZWN1cml0eURpc2tQVUFDb2RlUG9pbnQpOworI2Vs
c2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9pZCBSZW5kZXJUZXh0OjpzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0
eWxlKQogewogICAgIC8vIFRoZXJlIGlzIG5vIG5lZWQgdG8gZXZlciBzY2hlZHVsZSByZXBhaW50
cyBmcm9tIGEgc3R5bGUgY2hhbmdlIG9mIGEgdGV4dCBydW4sIHNpbmNlCkBAIC0yNTQsMTMgKzI2
NiwyNCBAQCB2b2lkIFJlbmRlclRleHQ6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bAogICAgIH0KIAogICAgIGNvbnN0IFJlbmRl
clN0eWxlJiBuZXdTdHlsZSA9IHN0eWxlKCk7CisKKyAgICBhdXRvIG5ld1N0eWxlVGV4dFNlY3Vy
aXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludCA9IGNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hv
dWxkVXNlUFVBQ29kZVBvaW50KG5ld1N0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKSwg
bmV3U3R5bGUudGV4dFNlY3VyaXR5KCkpOworCiAgICAgYm9vbCBuZWVkc1Jlc2V0VGV4dCA9IGZh
bHNlOwogICAgIGlmICghb2xkU3R5bGUpIHsKICAgICAgICAgbV91c2VCYWNrc2xhc2hBc1llblN5
bWJvbCA9IGNvbXB1dGVVc2VCYWNrc2xhc2hBc1llblN5bWJvbCgpOwotICAgICAgICBuZWVkc1Jl
c2V0VGV4dCA9IG1fdXNlQmFja3NsYXNoQXNZZW5TeW1ib2w7Ci0gICAgfSBlbHNlIGlmIChvbGRT
dHlsZS0+Zm9udENhc2NhZGUoKS51c2VCYWNrc2xhc2hBc1llblN5bWJvbCgpICE9IG5ld1N0eWxl
LmZvbnRDYXNjYWRlKCkudXNlQmFja3NsYXNoQXNZZW5TeW1ib2woKSkgewotICAgICAgICBtX3Vz
ZUJhY2tzbGFzaEFzWWVuU3ltYm9sID0gY29tcHV0ZVVzZUJhY2tzbGFzaEFzWWVuU3ltYm9sKCk7
Ci0gICAgICAgIG5lZWRzUmVzZXRUZXh0ID0gdHJ1ZTsKKyAgICAgICAgbV90ZXh0U2VjdXJpdHlE
aXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50ID0gbmV3U3R5bGVUZXh0U2VjdXJpdHlEaXNrU2hvdWxk
VXNlUFVBQ29kZVBvaW50OworICAgICAgICBuZWVkc1Jlc2V0VGV4dCA9IG1fdXNlQmFja3NsYXNo
QXNZZW5TeW1ib2wgfHwgbmV3U3R5bGVUZXh0U2VjdXJpdHlEaXNrU2hvdWxkVXNlUFVBQ29kZVBv
aW50OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChvbGRTdHlsZS0+Zm9udENhc2NhZGUoKS51
c2VCYWNrc2xhc2hBc1llblN5bWJvbCgpICE9IG5ld1N0eWxlLmZvbnRDYXNjYWRlKCkudXNlQmFj
a3NsYXNoQXNZZW5TeW1ib2woKSkgeworICAgICAgICAgICAgbV91c2VCYWNrc2xhc2hBc1llblN5
bWJvbCA9IGNvbXB1dGVVc2VCYWNrc2xhc2hBc1llblN5bWJvbCgpOworICAgICAgICAgICAgbmVl
ZHNSZXNldFRleHQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGF1dG8gb2xkU3R5bGVUZXh0
U2VjdXJpdHlEaXNrU2hvdWxkVXNlUFVBQ29kZVBvaW50ID0gY29tcHV0ZVRleHRTZWN1cml0eURp
c2NTaG91bGRVc2VQVUFDb2RlUG9pbnQob2xkU3R5bGUtPmZvbnRDYXNjYWRlKCkucHJpbWFyeUZv
bnQoKSwgb2xkU3R5bGUtPnRleHRTZWN1cml0eSgpKTsKKyAgICAgICAgaWYgKG5ld1N0eWxlVGV4
dFNlY3VyaXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludCAhPSBvbGRTdHlsZVRleHRTZWN1cml0
eURpc2tTaG91bGRVc2VQVUFDb2RlUG9pbnQpIHsKKyAgICAgICAgICAgIG5lZWRzUmVzZXRUZXh0
ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQ
b2ludCA9IG5ld1N0eWxlVGV4dFNlY3VyaXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludDsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGlmICghb2xkU3R5bGUgfHwgb2xkU3R5bGUtPmZvbnRDYXNj
YWRlKCkgIT0gbmV3U3R5bGUuZm9udENhc2NhZGUoKSkKQEAgLTExNzYsNyArMTE5OSw3IEBAIHZv
aWQgUmVuZGVyVGV4dDo6c2V0UmVuZGVyZWRUZXh0KGNvbnN0IFN0cmluZyYgbmV3VGV4dCkKICAg
ICAgICAgc2VjdXJlVGV4dCh3aGl0ZUJ1bGxldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
VGV4dFNlY3VyaXR5OjpEaXNjOgotICAgICAgICBzZWN1cmVUZXh0KGJ1bGxldCk7CisgICAgICAg
IHNlY3VyZVRleHQobV90ZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50ID8gMHhG
NzlBIDogYnVsbGV0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBUZXh0U2VjdXJpdHk6OlNx
dWFyZToKICAgICAgICAgc2VjdXJlVGV4dChibGFja1NxdWFyZSk7CkBAIC0xMjg0LDE1ICsxMzA3
LDI1IEBAIHZvaWQgUmVuZGVyVGV4dDo6c2V0VGV4dChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wg
Zm9yY2UpCiAgICAgICAgIGNhY2hlLT5kZWZlclRleHRDaGFuZ2VkSWZOZWVkZWQodGV4dE5vZGUo
KSk7CiB9CiAKLVN0cmluZyBSZW5kZXJUZXh0Ojp0ZXh0V2l0aG91dENvbnZlcnRpbmdCYWNrc2xh
c2hUb1llblN5bWJvbCgpIGNvbnN0CitTdHJpbmcgUmVuZGVyVGV4dDo6dGV4dFdpdGhvdXRUcmFu
c2NvZGluZygpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3VzZUJhY2tzbGFzaEFzWWVuU3ltYm9sIHx8
IHN0eWxlKCkudGV4dFNlY3VyaXR5KCkgIT0gVGV4dFNlY3VyaXR5OjpOb25lKQorICAgIGlmICgh
bV91c2VCYWNrc2xhc2hBc1llblN5bWJvbCAmJiAhbV90ZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNl
UFVBQ29kZVBvaW50KQogICAgICAgICByZXR1cm4gdGV4dCgpOwogCi0gICAgaWYgKHN0eWxlKCku
dGV4dFRyYW5zZm9ybSgpID09IFRleHRUcmFuc2Zvcm06Ok5vbmUpCi0gICAgICAgIHJldHVybiBv
cmlnaW5hbFRleHQoKTsKKyAgICBpZiAoc3R5bGUoKS50ZXh0U2VjdXJpdHkoKSA9PSBUZXh0U2Vj
dXJpdHk6Ok5vbmUpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudGV4dFRyYW5zZm9ybSgpID09IFRl
eHRUcmFuc2Zvcm06Ok5vbmUpCisgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxUZXh0KCk7CisK
KyAgICAgICAgcmV0dXJuIGFwcGx5VGV4dFRyYW5zZm9ybShzdHlsZSgpLCBvcmlnaW5hbFRleHQo
KSwgcHJldmlvdXNDaGFyYWN0ZXIoKSk7CisgICAgfQorCisgICAgaWYgKHN0eWxlKCkudGV4dFNl
Y3VyaXR5KCkgPT0gVGV4dFNlY3VyaXR5OjpEaXNjICYmIG1fdGV4dFNlY3VyaXR5RGlzY1Nob3Vs
ZFVzZVBVQUNvZGVQb2ludCkgeworICAgICAgICBTdHJpbmcgdGV4dENvcHkgPSB0ZXh0KCk7Cisg
ICAgICAgIHRleHRDb3B5LnJlcGxhY2UodGV4dFNlY3VyaXR5RGlza1BVQUNvZGVQb2ludCwgYnVs
bGV0KTsKKyAgICAgICAgcmV0dXJuIHRleHRDb3B5OworICAgIH0KIAotICAgIHJldHVybiBhcHBs
eVRleHRUcmFuc2Zvcm0oc3R5bGUoKSwgb3JpZ2luYWxUZXh0KCksIHByZXZpb3VzQ2hhcmFjdGVy
KCkpOworICAgIHJldHVybiB0ZXh0KCk7CiB9CiAKIHZvaWQgUmVuZGVyVGV4dDo6ZGlydHlMaW5l
Qm94ZXMoYm9vbCBmdWxsTGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgK
aW5kZXggYjA4MDcyNGQ3ODFmMzdhOTZhMTQ1ODE2ZjNlZjA1YmIyYTlhMDJlNS4uYjA1NzYxOTgw
NDFiYzE4OWE4YzYxNjRjYjllYWU4NjU2MGM4Y2FjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRl
eHRCb3goSW5saW5lVGV4dEJveCYgYm94KSB7IG1fbGluZUJveGVzLnJlbW92ZShib3gpOyB9CiAK
ICAgICBTdHJpbmdJbXBsJiB0ZXh0KCkgY29uc3QgeyByZXR1cm4gKm1fdGV4dC5pbXBsKCk7IH0g
Ly8gU2luY2UgbV90ZXh0IGNhbiBuZXZlciBiZSBudWxsLCByZXR1cm5pbmcgdGhpcyB0eXBlIG1l
YW5zIGNhbGxlcnMgd29uJ3QgbnVsbCBjaGVjay4KLSAgICBTdHJpbmcgdGV4dFdpdGhvdXRDb252
ZXJ0aW5nQmFja3NsYXNoVG9ZZW5TeW1ib2woKSBjb25zdDsKKyAgICBTdHJpbmcgdGV4dFdpdGhv
dXRUcmFuc2NvZGluZygpIGNvbnN0OwogCiAgICAgSW5saW5lVGV4dEJveCogY3JlYXRlSW5saW5l
VGV4dEJveCgpIHsgcmV0dXJuIG1fbGluZUJveGVzLmNyZWF0ZUFuZEFwcGVuZExpbmVCb3goKnRo
aXMpOyB9CiAgICAgdm9pZCBkaXJ0eUxpbmVCb3hlcyhib29sIGZ1bGxMYXlvdXQpOwpAQCAtMjMw
LDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb250YWluZXIoKSBjb25zdCA9IGRlbGV0
ZTsgLy8gVXNlIHBhcmVudCgpIGluc3RlYWQuCiAgICAgdm9pZCBjb250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCYsIGJvb2wmKSBjb25zdCA9IGRlbGV0ZTsgLy8gVXNlIHBhcmVu
dCgpIGluc3RlYWQuCiAKKyAgICBzdGF0aWMgYm9vbCBjb21wdXRlVGV4dFNlY3VyaXR5RGlzY1No
b3VsZFVzZVBVQUNvZGVQb2ludChjb25zdCBGb250JiwgVGV4dFNlY3VyaXR5KTsKKwogICAgIC8v
IFdlIHB1dCB0aGUgYml0ZmllbGQgZmlyc3QgdG8gbWluaW1pemUgcGFkZGluZyBvbiA2NC1iaXQu
CiAgICAgdW5zaWduZWQgbV9oYXNCcmVha2FibGVDaGFyIDogMTsgLy8gV2hldGhlciBvciBub3Qg
d2UgY2FuIGJlIGJyb2tlbiBpbnRvIG11bHRpcGxlIGxpbmVzLgogICAgIHVuc2lnbmVkIG1faGFz
QnJlYWsgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwg
PHByZT4gd2l0aCAnXG4nKS4KQEAgLTI0NSw2ICsyNDcsNyBAQCBwcml2YXRlOgogICAgIHVuc2ln
bmVkIG1fY2FuVXNlU2ltcGxlRm9udENvZGVQYXRoIDogMTsKICAgICBtdXRhYmxlIHVuc2lnbmVk
IG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzIDogMTsKICAgICB1bnNp
Z25lZCBtX3VzZUJhY2tzbGFzaEFzWWVuU3ltYm9sIDogMTsKKyAgICB1bnNpZ25lZCBtX3RleHRT
ZWN1cml0eURpc2NTaG91bGRVc2VQVUFDb2RlUG9pbnQgOiAxOwogICAgIHVuc2lnbmVkIG1fb3Jp
Z2luYWxUZXh0RGlmZmVyc0Zyb21SZW5kZXJlZCA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNJbmxp
bmVXcmFwcGVyRm9yRGlzcGxheUNvbnRlbnRzIDogMTsKICAgICB1bnNpZ25lZCBtX2NhblVzZVNp
bXBsaWZpZWRUZXh0TWVhc3VyaW5nIDogMTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWI1OWZiZmQ4NzRiMmNlMmY2MGM4
NDg2N2YzNmMzM2U1MDMwOTYyLi5mMmYyNmQxOTAxYzYzYjEwOGNiNzY0N2EwMDIzZTQyY2MyZWY3
MTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjcgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFBhc3N3b3JkIG9ic2N1
cmluZyBkb3RzIGRyYXduIHdpdGggdGhlIHN5c3RlbSBmb250IGFyZSB0b28gc21hbGwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTY5MgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjA3ODgzODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWw6IEFkZGVk
LiBUZXN0IHRoZSBvbGQgYnVsbGV0IGNoYXJhY3Rlci4KKyAgICAgICAgKiBmYXN0L3RleHQvdGV4
dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbDogQWRkZWQuIFRlc3QgdGhlIG5ldyBidWxs
ZXQgY2hhcmFjdGVyLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTAzLTI3ICBKYXNvbiBMYXdyZW5jZSAg
PGxhd3JlbmNlLmpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTWFjIHdrMiBdIE1lZGlhUGxheWVy
UHJpdmF0ZUludGVyZmFjZSBjcmFzaCBpbiBXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVs
bGV0LXB1YS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVkZTNiNDE4ZDQ0
YWNkOTYyNjkyNWEyNjQyODZmMzQ1YTc3NDgyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMg
Z2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgor
PGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5
QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtb2xkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFiNjdmZTRlMzVjODliYmQ3Mzg2
ZWE1NGFlNzhhNDNlZmM5OTYyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1vbGQtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBk
cmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYg
c3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4
MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggc2VyaWY7Ij4mI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAy
MjsmI3gyMDIyOzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRhYWU0NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtb2xkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3Vy
aXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdl
YmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Rl
eHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
dGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWFlNDcwMWE2
ZjI3ODk4ZTJkZmYxYTMzMmFlNGU3OTFhZjQ2NzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJh
d24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0
eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+
YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0
LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3YjA3OTZjOGZjYzg1MWIw
NTdlNDJmNjY3NzBjMWRlNjkxZTU5ZDA5Li5kMjEwOWZkMTkyNTJhMTFmMDQzMjVlYTMyZjM2Yzhh
ZDUwMzRmNzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzUxNSwzICszNTE1LDYgQEAgd2Via2l0Lm9yZy9iLzIwOTI1MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUKIHdlYmtpdC5vcmcv
Yi8yMDkyNTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGlu
ZS1icmVhay9saW5lLWJyZWFrLXN0cmljdC0wMTUueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
IHdlYmtpdC5vcmcvYi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2ltdWxhdGVkLXZlcnRleEF0
dHJpYjAtaW52YWxpZC1pbmRpY2llcy5odG1sIFsgU2tpcCBdCisKKyMgRGlmZmVyZW50IE9TZXMg
aGF2ZSBkaWZmZXJlbnQgZXhwZWN0ZWQgdGV4dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4K
K3dlYmtpdC5vcmcvYi8/Pz8/Pz8gZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQt
cHVhLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMzcwNmMxOTVjMjRmZTkwNjkzYTJiYWNiODI3M2Ey
NWNkZmI1NmEwLi5lODNhYWM2MjhjYTU1YWMyYWUzYWI5NzdjY2Q5NzVkOTczMWI3MGNkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAzMSwzICsyMDMx
LDYgQEAgd2Via2l0Lm9yZy9iLzIwOTQ0NiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9uYXZpZ2F0aW9uLXRpbWluZy8KIHdlYmtpdC5vcmcvYi8yMDk0OTEgZmFzdC9h
bmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtY2FuY2VsMi5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTYxOSBbIENhdGFsaW5hIF0gY29tcG9zaXRpbmcvY2xp
cHBpbmcvYm9yZGVyLXJhZGl1cy1hc3luYy1vdmVyZmxvdy1zdGFja2luZy5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KKworIyBEaWZmZXJlbnQgT1NlcyBoYXZlIGRpZmZlcmVudCBleHBl
Y3RlZCB0ZXh0LXNlY3VyaXR5IGJ1bGxldCBjaGFyYWN0ZXJzLgord2Via2l0Lm9yZy9iLz8/Pz8/
PyBbIFNpZXJyYSBIaWdoU2llcnJhIE1vamF2ZSBDYXRhbGluYSBdIGZhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjkxMWI3MmRjMTQ3
ZmExYjE1Mjg4YmY3N2VhZDNjNTE5YzJlODM0NC4uY2ZhYTU0N2YyNWJmNjFjZGI2MTY0NGE5ZGU2
ZjM3YzQwMzBhMDYwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQ1MTAsMyArNDUxMCw1IEBAIGh0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCiAKIGZh
c3QvdGV4dC9jb21iaW5pbmctY2hhcmFjdGVyLXNlcXVlbmNlLXZlcnRpY2FsLmh0bWwgWyBGYWls
dXJlIF0KIAorIyBEaWZmZXJlbnQgT1NlcyBoYXZlIGRpZmZlcmVudCBleHBlY3RlZCB0ZXh0LXNl
Y3VyaXR5IGJ1bGxldCBjaGFyYWN0ZXJzLgord2Via2l0Lm9yZy9iLz8/Pz8/PyBmYXN0L3RleHQv
dGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVy
ZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394781</attachid>
            <date>2020-03-27 19:20:16 -0700</date>
            <delta_ts>2020-04-07 01:59:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209692-20200327192015.patch</filename>
            <type>text/plain</type>
            <size>16021</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNkNGUzMGIwNDdhNGEy
YjVjM2UxODBjNzFlNjYzODQ5OTkwZmY4OC4uNzMyMGIxYWZjNTBjMWU5ZWJkZWJjMWEwYTc2ZDky
MjE0ODNjMDk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAzLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAy
MiBCVUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAg
ICAgICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dl
dmVyLCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVu
dCBmb250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAg
ICBUaGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBk
cmF3aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNh
biB0YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5o
dG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cGFzc3dv
cmRGaWVsZFZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmVtaXRUZXh0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpS
ZW5kZXJUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNvbXB1dGVUZXh0U2Vj
dXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnNl
dFJlbmRlcmVkVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0ZXh0V2l0aG91
dFRyYW5zY29kaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnRleHRX
aXRob3V0Q29udmVydGluZ0JhY2tzbGFzaFRvWWVuU3ltYm9sIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorCiAyMDIwLTAzLTI3ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBTVkdSZW5kZXJp
bmdDb250ZXh0OjpyZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcigpIHRvIFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OnJlbmRlclN1YnRyZWVUb0NvbnRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXgg
ZTYxNmVhOWQ2NTRlZDIzYjM2NWJhNzU2ZGQwODY1NzZlN2QxNWU4YS4uMWNjMWIwMDMxMjJjM2I4
Y2RhODViZTQyZmUxNDdjNDMxYmY2ZTAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zODU2
LDcgKzM4NTYsNyBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cGFzc3dvcmRG
aWVsZFZhbHVlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgLy8gUmV0
dXJuIHRoZSB0ZXh0IHRoYXQgaXMgYWN0dWFsbHkgYmVpbmcgcmVuZGVyZWQgaW4gdGhlIGlucHV0
IGZpZWxkLgotICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpLnRleHRX
aXRob3V0Q29udmVydGluZ0JhY2tzbGFzaFRvWWVuU3ltYm9sKCk7CisgICAgcmV0dXJuIGRvd25j
YXN0PFJlbmRlclRleHQ+KCpyZW5kZXJlcikudGV4dFdpdGhvdXRUcmFuc2NvZGluZygpOwogfQog
CiBTY3JvbGxhYmxlQXJlYSogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Z2V0U2Nyb2xsYWJs
ZUFyZWFJZlNjcm9sbGFibGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0
b3IuY3BwCmluZGV4IGJhMWI3MjBhZWYwMzQ4YmZhOWZlZGQ3ZDNkNjY3MDI4NDA0MDY3YjUuLjQ4
YmZkOWI1NThkNjlmYWRkYWZkYWFjMzhiZjVjMzIwNzFjYTcxOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTEwNzcsNyArMTA3Nyw3IEBAIHZvaWQgVGV4dEl0
ZXJhdG9yOjplbWl0VGV4dChUZXh0JiB0ZXh0Tm9kZSwgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGlu
dCB0ZXh0U3RhcnRPCiAKICAgICAvLyBGSVhNRTogVGhpcyBwcm9iYWJseSB5aWVsZHMgdGhlIHdy
b25nIG9mZnNldHMgd2hlbiB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlIHR1cm5zIGEgc2luZ2xl
IGNoYXJhY3RlciBpbnRvIHR3byBjaGFyYWN0ZXJzLgogICAgIFN0cmluZyBzdHJpbmcgPSAobV9i
ZWhhdmlvciAmIFRleHRJdGVyYXRvckVtaXRzT3JpZ2luYWxUZXh0KSA/IHJlbmRlcmVyLm9yaWdp
bmFsVGV4dCgpCi0gICAgICAgIDogKChtX2JlaGF2aW9yICYgVGV4dEl0ZXJhdG9yRW1pdHNUZXh0
c1dpdGhvdXRUcmFuc2NvZGluZykgPyByZW5kZXJlci50ZXh0V2l0aG91dENvbnZlcnRpbmdCYWNr
c2xhc2hUb1llblN5bWJvbCgpIDogcmVuZGVyZXIudGV4dCgpKTsKKyAgICAgICAgOiAoKG1fYmVo
YXZpb3IgJiBUZXh0SXRlcmF0b3JFbWl0c1RleHRzV2l0aG91dFRyYW5zY29kaW5nKSA/IHJlbmRl
cmVyLnRleHRXaXRob3V0VHJhbnNjb2RpbmcoKSA6IHJlbmRlcmVyLnRleHQoKSk7CiAKICAgICBB
U1NFUlQoc3RyaW5nLmxlbmd0aCgpID49IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0ZXh0RW5kT2Zm
c2V0KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBiNjFi
ZjZjMTA5ZDE0MWY1MThiYzk5NTAwOTU5ZjVjNjNmMmI2MzEwLi4yZjc4ZDRkN2MxYjMzNmZhZGM2
OWNkMzkyMjU4MTlmNTBhM2I5NmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwCkBAIC0xODgsNiArMTg4LDcgQEAgaW5saW5lIFJlbmRlclRleHQ6OlJlbmRlclRleHQo
Tm9kZSYgbm9kZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgICwgbV9pc0FsbEFTQ0lJKHRleHQu
aW1wbCgpLT5pc0FsbEFTQ0lJKCkpCiAgICAgLCBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5v
RmFsbGJhY2tGb250cyhmYWxzZSkKICAgICAsIG1fdXNlQmFja3NsYXNoQXNZZW5TeW1ib2woZmFs
c2UpCisgICAgLCBtX3RleHRTZWN1cml0eURpc2NTaG91bGRVc2VQVUFDb2RlUG9pbnQoZmFsc2Up
CiAgICAgLCBtX29yaWdpbmFsVGV4dERpZmZlcnNGcm9tUmVuZGVyZWQoZmFsc2UpCiAgICAgLCBt
X2hhc0lubGluZVdyYXBwZXJGb3JEaXNwbGF5Q29udGVudHMoZmFsc2UpCiAgICAgLCBtX3RleHQo
dGV4dCkKQEAgLTI0Miw2ICsyNDMsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb21wdXRlVXNlQmFj
a3NsYXNoQXNZZW5TeW1ib2woKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBVQ2hhciB0ZXh0U2VjdXJpdHlEaXNrUFVBQ29kZVBvaW50ID0gMHhG
NzlBOworCitib29sIFJlbmRlclRleHQ6OmNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNl
UFVBQ29kZVBvaW50KGNvbnN0IEZvbnQmIGZvbnQsIFRleHRTZWN1cml0eSB0ZXh0U2VjdXJpdHkp
Cit7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIHRleHRTZWN1cml0eSA9PSBUZXh0
U2VjdXJpdHk6OkRpc2MgJiYgZm9udC5wbGF0Zm9ybURhdGEoKS5pc1N5c3RlbUZvbnQoKSAmJiBm
b250LmdseXBoRm9yQ2hhcmFjdGVyKHRleHRTZWN1cml0eURpc2tQVUFDb2RlUG9pbnQpOworI2Vs
c2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9pZCBSZW5kZXJUZXh0OjpzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0
eWxlKQogewogICAgIC8vIFRoZXJlIGlzIG5vIG5lZWQgdG8gZXZlciBzY2hlZHVsZSByZXBhaW50
cyBmcm9tIGEgc3R5bGUgY2hhbmdlIG9mIGEgdGV4dCBydW4sIHNpbmNlCkBAIC0yNTQsMTMgKzI2
NiwyNCBAQCB2b2lkIFJlbmRlclRleHQ6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bAogICAgIH0KIAogICAgIGNvbnN0IFJlbmRl
clN0eWxlJiBuZXdTdHlsZSA9IHN0eWxlKCk7CisKKyAgICBhdXRvIG5ld1N0eWxlVGV4dFNlY3Vy
aXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludCA9IGNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hv
dWxkVXNlUFVBQ29kZVBvaW50KG5ld1N0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKSwg
bmV3U3R5bGUudGV4dFNlY3VyaXR5KCkpOworCiAgICAgYm9vbCBuZWVkc1Jlc2V0VGV4dCA9IGZh
bHNlOwogICAgIGlmICghb2xkU3R5bGUpIHsKICAgICAgICAgbV91c2VCYWNrc2xhc2hBc1llblN5
bWJvbCA9IGNvbXB1dGVVc2VCYWNrc2xhc2hBc1llblN5bWJvbCgpOwotICAgICAgICBuZWVkc1Jl
c2V0VGV4dCA9IG1fdXNlQmFja3NsYXNoQXNZZW5TeW1ib2w7Ci0gICAgfSBlbHNlIGlmIChvbGRT
dHlsZS0+Zm9udENhc2NhZGUoKS51c2VCYWNrc2xhc2hBc1llblN5bWJvbCgpICE9IG5ld1N0eWxl
LmZvbnRDYXNjYWRlKCkudXNlQmFja3NsYXNoQXNZZW5TeW1ib2woKSkgewotICAgICAgICBtX3Vz
ZUJhY2tzbGFzaEFzWWVuU3ltYm9sID0gY29tcHV0ZVVzZUJhY2tzbGFzaEFzWWVuU3ltYm9sKCk7
Ci0gICAgICAgIG5lZWRzUmVzZXRUZXh0ID0gdHJ1ZTsKKyAgICAgICAgbV90ZXh0U2VjdXJpdHlE
aXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50ID0gbmV3U3R5bGVUZXh0U2VjdXJpdHlEaXNrU2hvdWxk
VXNlUFVBQ29kZVBvaW50OworICAgICAgICBuZWVkc1Jlc2V0VGV4dCA9IG1fdXNlQmFja3NsYXNo
QXNZZW5TeW1ib2wgfHwgbmV3U3R5bGVUZXh0U2VjdXJpdHlEaXNrU2hvdWxkVXNlUFVBQ29kZVBv
aW50OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChvbGRTdHlsZS0+Zm9udENhc2NhZGUoKS51
c2VCYWNrc2xhc2hBc1llblN5bWJvbCgpICE9IG5ld1N0eWxlLmZvbnRDYXNjYWRlKCkudXNlQmFj
a3NsYXNoQXNZZW5TeW1ib2woKSkgeworICAgICAgICAgICAgbV91c2VCYWNrc2xhc2hBc1llblN5
bWJvbCA9IGNvbXB1dGVVc2VCYWNrc2xhc2hBc1llblN5bWJvbCgpOworICAgICAgICAgICAgbmVl
ZHNSZXNldFRleHQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGF1dG8gb2xkU3R5bGVUZXh0
U2VjdXJpdHlEaXNrU2hvdWxkVXNlUFVBQ29kZVBvaW50ID0gY29tcHV0ZVRleHRTZWN1cml0eURp
c2NTaG91bGRVc2VQVUFDb2RlUG9pbnQob2xkU3R5bGUtPmZvbnRDYXNjYWRlKCkucHJpbWFyeUZv
bnQoKSwgb2xkU3R5bGUtPnRleHRTZWN1cml0eSgpKTsKKyAgICAgICAgaWYgKG5ld1N0eWxlVGV4
dFNlY3VyaXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludCAhPSBvbGRTdHlsZVRleHRTZWN1cml0
eURpc2tTaG91bGRVc2VQVUFDb2RlUG9pbnQpIHsKKyAgICAgICAgICAgIG5lZWRzUmVzZXRUZXh0
ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQ
b2ludCA9IG5ld1N0eWxlVGV4dFNlY3VyaXR5RGlza1Nob3VsZFVzZVBVQUNvZGVQb2ludDsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGlmICghb2xkU3R5bGUgfHwgb2xkU3R5bGUtPmZvbnRDYXNj
YWRlKCkgIT0gbmV3U3R5bGUuZm9udENhc2NhZGUoKSkKQEAgLTExNzYsNyArMTE5OSw3IEBAIHZv
aWQgUmVuZGVyVGV4dDo6c2V0UmVuZGVyZWRUZXh0KGNvbnN0IFN0cmluZyYgbmV3VGV4dCkKICAg
ICAgICAgc2VjdXJlVGV4dCh3aGl0ZUJ1bGxldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
VGV4dFNlY3VyaXR5OjpEaXNjOgotICAgICAgICBzZWN1cmVUZXh0KGJ1bGxldCk7CisgICAgICAg
IHNlY3VyZVRleHQobV90ZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50ID8gMHhG
NzlBIDogYnVsbGV0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBUZXh0U2VjdXJpdHk6OlNx
dWFyZToKICAgICAgICAgc2VjdXJlVGV4dChibGFja1NxdWFyZSk7CkBAIC0xMjg0LDE1ICsxMzA3
LDI1IEBAIHZvaWQgUmVuZGVyVGV4dDo6c2V0VGV4dChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wg
Zm9yY2UpCiAgICAgICAgIGNhY2hlLT5kZWZlclRleHRDaGFuZ2VkSWZOZWVkZWQodGV4dE5vZGUo
KSk7CiB9CiAKLVN0cmluZyBSZW5kZXJUZXh0Ojp0ZXh0V2l0aG91dENvbnZlcnRpbmdCYWNrc2xh
c2hUb1llblN5bWJvbCgpIGNvbnN0CitTdHJpbmcgUmVuZGVyVGV4dDo6dGV4dFdpdGhvdXRUcmFu
c2NvZGluZygpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3VzZUJhY2tzbGFzaEFzWWVuU3ltYm9sIHx8
IHN0eWxlKCkudGV4dFNlY3VyaXR5KCkgIT0gVGV4dFNlY3VyaXR5OjpOb25lKQorICAgIGlmICgh
bV91c2VCYWNrc2xhc2hBc1llblN5bWJvbCAmJiAhbV90ZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNl
UFVBQ29kZVBvaW50KQogICAgICAgICByZXR1cm4gdGV4dCgpOwogCi0gICAgaWYgKHN0eWxlKCku
dGV4dFRyYW5zZm9ybSgpID09IFRleHRUcmFuc2Zvcm06Ok5vbmUpCi0gICAgICAgIHJldHVybiBv
cmlnaW5hbFRleHQoKTsKKyAgICBpZiAoc3R5bGUoKS50ZXh0U2VjdXJpdHkoKSA9PSBUZXh0U2Vj
dXJpdHk6Ok5vbmUpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkudGV4dFRyYW5zZm9ybSgpID09IFRl
eHRUcmFuc2Zvcm06Ok5vbmUpCisgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxUZXh0KCk7CisK
KyAgICAgICAgcmV0dXJuIGFwcGx5VGV4dFRyYW5zZm9ybShzdHlsZSgpLCBvcmlnaW5hbFRleHQo
KSwgcHJldmlvdXNDaGFyYWN0ZXIoKSk7CisgICAgfQorCisgICAgaWYgKHN0eWxlKCkudGV4dFNl
Y3VyaXR5KCkgPT0gVGV4dFNlY3VyaXR5OjpEaXNjICYmIG1fdGV4dFNlY3VyaXR5RGlzY1Nob3Vs
ZFVzZVBVQUNvZGVQb2ludCkgeworICAgICAgICBTdHJpbmcgdGV4dENvcHkgPSB0ZXh0KCk7Cisg
ICAgICAgIHRleHRDb3B5LnJlcGxhY2UodGV4dFNlY3VyaXR5RGlza1BVQUNvZGVQb2ludCwgYnVs
bGV0KTsKKyAgICAgICAgcmV0dXJuIHRleHRDb3B5OworICAgIH0KIAotICAgIHJldHVybiBhcHBs
eVRleHRUcmFuc2Zvcm0oc3R5bGUoKSwgb3JpZ2luYWxUZXh0KCksIHByZXZpb3VzQ2hhcmFjdGVy
KCkpOworICAgIHJldHVybiB0ZXh0KCk7CiB9CiAKIHZvaWQgUmVuZGVyVGV4dDo6ZGlydHlMaW5l
Qm94ZXMoYm9vbCBmdWxsTGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgK
aW5kZXggYjA4MDcyNGQ3ODFmMzdhOTZhMTQ1ODE2ZjNlZjA1YmIyYTlhMDJlNS4uYjA1NzYxOTgw
NDFiYzE4OWE4YzYxNjRjYjllYWU4NjU2MGM4Y2FjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRl
eHRCb3goSW5saW5lVGV4dEJveCYgYm94KSB7IG1fbGluZUJveGVzLnJlbW92ZShib3gpOyB9CiAK
ICAgICBTdHJpbmdJbXBsJiB0ZXh0KCkgY29uc3QgeyByZXR1cm4gKm1fdGV4dC5pbXBsKCk7IH0g
Ly8gU2luY2UgbV90ZXh0IGNhbiBuZXZlciBiZSBudWxsLCByZXR1cm5pbmcgdGhpcyB0eXBlIG1l
YW5zIGNhbGxlcnMgd29uJ3QgbnVsbCBjaGVjay4KLSAgICBTdHJpbmcgdGV4dFdpdGhvdXRDb252
ZXJ0aW5nQmFja3NsYXNoVG9ZZW5TeW1ib2woKSBjb25zdDsKKyAgICBTdHJpbmcgdGV4dFdpdGhv
dXRUcmFuc2NvZGluZygpIGNvbnN0OwogCiAgICAgSW5saW5lVGV4dEJveCogY3JlYXRlSW5saW5l
VGV4dEJveCgpIHsgcmV0dXJuIG1fbGluZUJveGVzLmNyZWF0ZUFuZEFwcGVuZExpbmVCb3goKnRo
aXMpOyB9CiAgICAgdm9pZCBkaXJ0eUxpbmVCb3hlcyhib29sIGZ1bGxMYXlvdXQpOwpAQCAtMjMw
LDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb250YWluZXIoKSBjb25zdCA9IGRlbGV0
ZTsgLy8gVXNlIHBhcmVudCgpIGluc3RlYWQuCiAgICAgdm9pZCBjb250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCYsIGJvb2wmKSBjb25zdCA9IGRlbGV0ZTsgLy8gVXNlIHBhcmVu
dCgpIGluc3RlYWQuCiAKKyAgICBzdGF0aWMgYm9vbCBjb21wdXRlVGV4dFNlY3VyaXR5RGlzY1No
b3VsZFVzZVBVQUNvZGVQb2ludChjb25zdCBGb250JiwgVGV4dFNlY3VyaXR5KTsKKwogICAgIC8v
IFdlIHB1dCB0aGUgYml0ZmllbGQgZmlyc3QgdG8gbWluaW1pemUgcGFkZGluZyBvbiA2NC1iaXQu
CiAgICAgdW5zaWduZWQgbV9oYXNCcmVha2FibGVDaGFyIDogMTsgLy8gV2hldGhlciBvciBub3Qg
d2UgY2FuIGJlIGJyb2tlbiBpbnRvIG11bHRpcGxlIGxpbmVzLgogICAgIHVuc2lnbmVkIG1faGFz
QnJlYWsgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwg
PHByZT4gd2l0aCAnXG4nKS4KQEAgLTI0NSw2ICsyNDcsNyBAQCBwcml2YXRlOgogICAgIHVuc2ln
bmVkIG1fY2FuVXNlU2ltcGxlRm9udENvZGVQYXRoIDogMTsKICAgICBtdXRhYmxlIHVuc2lnbmVk
IG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzIDogMTsKICAgICB1bnNp
Z25lZCBtX3VzZUJhY2tzbGFzaEFzWWVuU3ltYm9sIDogMTsKKyAgICB1bnNpZ25lZCBtX3RleHRT
ZWN1cml0eURpc2NTaG91bGRVc2VQVUFDb2RlUG9pbnQgOiAxOwogICAgIHVuc2lnbmVkIG1fb3Jp
Z2luYWxUZXh0RGlmZmVyc0Zyb21SZW5kZXJlZCA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNJbmxp
bmVXcmFwcGVyRm9yRGlzcGxheUNvbnRlbnRzIDogMTsKICAgICB1bnNpZ25lZCBtX2NhblVzZVNp
bXBsaWZpZWRUZXh0TWVhc3VyaW5nIDogMTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWI1OWZiZmQ4NzRiMmNlMmY2MGM4
NDg2N2YzNmMzM2U1MDMwOTYyLi5mMmYyNmQxOTAxYzYzYjEwOGNiNzY0N2EwMDIzZTQyY2MyZWY3
MTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMjcgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFBhc3N3b3JkIG9ic2N1
cmluZyBkb3RzIGRyYXduIHdpdGggdGhlIHN5c3RlbSBmb250IGFyZSB0b28gc21hbGwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTY5MgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjA3ODgzODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWw6IEFkZGVk
LiBUZXN0IHRoZSBvbGQgYnVsbGV0IGNoYXJhY3Rlci4KKyAgICAgICAgKiBmYXN0L3RleHQvdGV4
dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbDogQWRkZWQuIFRlc3QgdGhlIG5ldyBidWxs
ZXQgY2hhcmFjdGVyLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTAzLTI3ICBKYXNvbiBMYXdyZW5jZSAg
PGxhd3JlbmNlLmpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTWFjIHdrMiBdIE1lZGlhUGxheWVy
UHJpdmF0ZUludGVyZmFjZSBjcmFzaCBpbiBXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVs
bGV0LXB1YS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVkZTNiNDE4ZDQ0
YWNkOTYyNjkyNWEyNjQyODZmMzQ1YTc3NDgyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMg
Z2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgor
PGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5
QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtb2xkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFiNjdmZTRlMzVjODliYmQ3Mzg2
ZWE1NGFlNzhhNDNlZmM5OTYyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1vbGQtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBk
cmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYg
c3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4
MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggc2VyaWY7Ij4mI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAy
MjsmI3gyMDIyOzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRhYWU0NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtb2xkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3Vy
aXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdl
YmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Rl
eHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
dGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWFlNDcwMWE2
ZjI3ODk4ZTJkZmYxYTMzMmFlNGU3OTFhZjQ2NzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJh
d24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0
eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+
YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0
LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3YjA3OTZjOGZjYzg1MWIw
NTdlNDJmNjY3NzBjMWRlNjkxZTU5ZDA5Li40MGIzMjlhMWU3YWRlNjI5YzUxMzllNjQzYTEyMTU2
ZmU2ZTdjNWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzUxNSwzICszNTE1LDYgQEAgd2Via2l0Lm9yZy9iLzIwOTI1MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUKIHdlYmtpdC5vcmcv
Yi8yMDkyNTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGlu
ZS1icmVhay9saW5lLWJyZWFrLXN0cmljdC0wMTUueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
IHdlYmtpdC5vcmcvYi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2ltdWxhdGVkLXZlcnRleEF0
dHJpYjAtaW52YWxpZC1pbmRpY2llcy5odG1sIFsgU2tpcCBdCisKKyMgRGlmZmVyZW50IE9TZXMg
aGF2ZSBkaWZmZXJlbnQgZXhwZWN0ZWQgdGV4dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4K
K3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQt
cHVhLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMzcwNmMxOTVjMjRmZTkwNjkzYTJiYWNiODI3M2Ey
NWNkZmI1NmEwLi5iNzI0NTIwZGNjNGE4ZDMxYzA1YWY5YWJiYjk2NzA1N2RmYWE4MDllIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAzMSwzICsyMDMx
LDYgQEAgd2Via2l0Lm9yZy9iLzIwOTQ0NiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9uYXZpZ2F0aW9uLXRpbWluZy8KIHdlYmtpdC5vcmcvYi8yMDk0OTEgZmFzdC9h
bmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtY2FuY2VsMi5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTYxOSBbIENhdGFsaW5hIF0gY29tcG9zaXRpbmcvY2xp
cHBpbmcvYm9yZGVyLXJhZGl1cy1hc3luYy1vdmVyZmxvdy1zdGFja2luZy5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KKworIyBEaWZmZXJlbnQgT1NlcyBoYXZlIGRpZmZlcmVudCBleHBl
Y3RlZCB0ZXh0LXNlY3VyaXR5IGJ1bGxldCBjaGFyYWN0ZXJzLgord2Via2l0Lm9yZy9iLzIwOTY5
MiBbIFNpZXJyYSBIaWdoU2llcnJhIE1vamF2ZSBDYXRhbGluYSBdIGZhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjkxMWI3MmRjMTQ3
ZmExYjE1Mjg4YmY3N2VhZDNjNTE5YzJlODM0NC4uZWM5YzA4NGRhNDJmYWY0N2ViOWFmZGYzZGQ0
NzkwNjlhNGVkOWVlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQ1MTAsMyArNDUxMCw1IEBAIGh0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCiAKIGZh
c3QvdGV4dC9jb21iaW5pbmctY2hhcmFjdGVyLXNlcXVlbmNlLXZlcnRpY2FsLmh0bWwgWyBGYWls
dXJlIF0KIAorIyBEaWZmZXJlbnQgT1NlcyBoYXZlIGRpZmZlcmVudCBleHBlY3RlZCB0ZXh0LXNl
Y3VyaXR5IGJ1bGxldCBjaGFyYWN0ZXJzLgord2Via2l0Lm9yZy9iLzIwOTY5MiBmYXN0L3RleHQv
dGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVy
ZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395664</attachid>
            <date>2020-04-07 01:59:32 -0700</date>
            <delta_ts>2020-04-07 22:31:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209692-20200407015930.patch</filename>
            <type>text/plain</type>
            <size>15284</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1NzRiNDk4OGZhOTVm
NmI3ZmQyY2JmNzgyZjRiMmFjZTdjNjE0MC4uZDNkMDc2Mzg2MTUxZDQ3NDQ0YzM3MWQ3OTQ0YmJh
OGQ3NTYzNTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA0LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAy
MiBCVUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAg
ICAgICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dl
dmVyLCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVu
dCBmb250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAg
ICBUaGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBk
cmF3aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNh
biB0YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbnN0cnVj
dFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvclN0eWxlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OnByaW50UmVhc29uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRl
VGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQb2ludCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIwMjAtMDQtMDYgIEphY2sgTGVlICA8
c2hpaGNoaWVoX2xlZUBhcHBsZS5jb20+CiAKICAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBDb21w
b3NpdGVFZGl0Q29tbWFuZDo6c3BsaXRUcmVlVG9Ob2RlIHdoZW4gaW5zZXJ0aW5nIGltYWdlIGlu
IGFuY2hvciBlbGVtZW50IHRoYXQgaGFzIHVuZWRpdGFibGUgcGFyZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggYzE0YjBmYzdiZGQ3OWJjODhlZWYx
MWViYTVkNGI2ZjViMTQ0NTdlMS4uMTc2ODQzZDVkMDdhZjNiZjYxNzRmZjAzYTQxNzQ0YzJiNDJh
YjJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAt
MTQxNCwxNyArMTQxNCwyNiBAQCBUZXh0UnVuIElubGluZVRleHRCb3g6OmNyZWF0ZVRleHRSdW4o
Ym9vbCBpZ25vcmVDb21iaW5lZFRleHQsIGJvb2wgaWdub3JlSHlwaGVuKQogCiBTdHJpbmcgSW5s
aW5lVGV4dEJveDo6dGV4dChib29sIGlnbm9yZUNvbWJpbmVkVGV4dCwgYm9vbCBpZ25vcmVIeXBo
ZW4pIGNvbnN0CiB7CisgICAgU3RyaW5nIHJlc3VsdDsKICAgICBpZiAoYXV0byogY29tYmluZWRU
ZXh0ID0gdGhpcy0+Y29tYmluZWRUZXh0KCkpIHsKICAgICAgICAgaWYgKGlnbm9yZUNvbWJpbmVk
VGV4dCkKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9z
dGFydCwgbV9sZW4pOwotICAgICAgICByZXR1cm4gY29tYmluZWRUZXh0LT5jb21iaW5lZFN0cmlu
Z0ZvclJlbmRlcmluZygpOwotICAgIH0KLSAgICBpZiAoaGFzSHlwaGVuKCkpIHsKKyAgICAgICAg
ICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IGNvbWJpbmVkVGV4dC0+Y29tYmlu
ZWRTdHJpbmdGb3JSZW5kZXJpbmcoKTsKKyAgICB9IGVsc2UgaWYgKGhhc0h5cGhlbigpKSB7CiAg
ICAgICAgIGlmIChpZ25vcmVIeXBoZW4pCi0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS50
ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJp
bmcoU3RyaW5nVmlldyhyZW5kZXJlcigpLnRleHQoKSkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVu
KSwgbGluZVN0eWxlKCkuaHlwaGVuU3RyaW5nKCkpOwotICAgIH0KLSAgICByZXR1cm4gcmVuZGVy
ZXIoKS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgICAgIHJlc3Vs
dCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IG1ha2VTdHJpbmcoU3RyaW5nVmlldyhyZW5kZXJl
cigpLnRleHQoKSkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKSwgbGluZVN0eWxlKCkuaHlwaGVu
U3RyaW5nKCkpOworICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSByZW5kZXJlcigpLnRleHQo
KS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pOworCisgICAgaWYgKCFsaW5lU3R5bGUoKS5jb21w
dXRlVGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQb2ludCgpKQorICAgICAgICByZXR1
cm4gcmVzdWx0OworCisgICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIHRoaXMgcmVwbGFjZW1lbnQg
ZG9lc24ndCBhZmZlY3Qgc3RyaW5nIGluZGljZXMuIFdlJ3JlIHJlcGxhY2luZyBhIHNpbmdsZSBV
bmljb2RlIGNvZGUgdW5pdCB3aXRoIGFub3RoZXIgVW5pY29kZSBjb2RlIHVuaXQuCisgICAgLy8g
SG93IGNvbnZlbmllbnQuCisgICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKGJ1bGxldCwgUmVuZGVy
U3R5bGU6OnRleHRTZWN1cml0eURpc2tQVUFDb2RlUG9pbnQpOwogfQogCiBpbmxpbmUgY29uc3Qg
UmVuZGVyQ29tYmluZVRleHQqIElubGluZVRleHRCb3g6OmNvbWJpbmVkVGV4dCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBlYzZmZDhjZmZlNjcx
ZmY4OGVmMjUzZWRiMjk5ZjkzNDA1NGJmMWM3Li43YmZhNzdmYWRmMmY4OTU1MTBlMGQ2ODBjMDFm
OGIwMDVmMjBkMGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
QEAgLTMxMjcsNyArMzEyNywxNSBAQCBUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0
UnVuKFN0cmluZ1ZpZXcgc3RyaW5nVmlldywgY29uc3QgUmVuZGVyU3R5bGUmCiAgICAgICAgIGlm
IChmbGFncyAmIFJlc3BlY3REaXJlY3Rpb25PdmVycmlkZSkKICAgICAgICAgICAgIGRpcmVjdGlv
bmFsT3ZlcnJpZGUgfD0gaXNPdmVycmlkZShzdHlsZS51bmljb2RlQmlkaSgpKTsKICAgICB9Ci0g
ICAgcmV0dXJuIFRleHRSdW4oc3RyaW5nVmlldywgMCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0
aW9uLCBkaXJlY3Rpb25hbE92ZXJyaWRlKTsKKworICAgIGlmICghc3R5bGUuY29tcHV0ZVRleHRT
ZWN1cml0eURpc2NTaG91bGRVc2VQVUFDb2RlUG9pbnQoKSkKKyAgICAgICAgcmV0dXJuIFRleHRS
dW4oc3RyaW5nVmlldywgMCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0aW9uLCBkaXJlY3Rpb25h
bE92ZXJyaWRlKTsKKworICAgIC8vIFRoaXMgd29ya3MgYmVjYXVzZToKKyAgICAvLyAxLiBUZXh0
UnVuIG93bnMgaXRzIHRleHQgc3RyaW5nLiBJdHMgbWVtYmVyIGlzIGEgU3RyaW5nLCBub3QgYSBT
dHJpbmdWaWV3CisgICAgLy8gMi4gVGhpcyByZXBsYWNlbWVudCBkb2Vzbid0IGFmZmVjdCBzdHJp
bmcgaW5kaWNlcy4gV2UncmUgcmVwbGFjaW5nIGEgc2luZ2xlIFVuaWNvZGUgY29kZSB1bml0IHdp
dGggYW5vdGhlciBVbmljb2RlIGNvZGUgdW5pdC4KKyAgICAvLyBIb3cgY29udmVuaWVudC4KKyAg
ICByZXR1cm4gVGV4dFJ1bihzdHJpbmdWaWV3LnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5yZXBs
YWNlKGJ1bGxldCwgUmVuZGVyU3R5bGU6OnRleHRTZWN1cml0eURpc2tQVUFDb2RlUG9pbnQpLCAw
LCAwLCBleHBhbnNpb24sIHRleHREaXJlY3Rpb24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUpOwogfQog
CiBUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lv
biwgVGV4dFJ1bkZsYWdzIGZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXQuY3BwCmluZGV4IDdhZDRlMTliZGJiYWFjZTVjOTY2N2QyZDUxYWFkMDI1YmI5
ZjZiYzAuLjQ2YjI0ZWUwMjQ0NWUzZTIyMWYzMjkzZDBlMzllYzM4ZjFkMzU3MjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKQEAgLTI0MCw2ICsy
NDAsOCBAQCBzdGF0aWMgQXZvaWRhbmNlUmVhc29uRmxhZ3MgY2FuVXNlRm9yU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBJbmNsdWRlUmVhcwogICAgICAgICBTRVRfUkVBU09OX0FORF9S
RVRVUk5fSUZfTkVFREVEKEZsb3dIYXNOb25BdXRvTGluZUJyZWFrLCByZWFzb25zLCBpbmNsdWRl
UmVhc29ucyk7CiAgICAgaWYgKHN0eWxlLm5ic3BNb2RlKCkgIT0gTkJTUE1vZGU6Ok5vcm1hbCkK
ICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzV2ViS2l0TkJT
UE1vZGUsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKKyAgICBpZiAoc3R5bGUudGV4dFNlY3Vy
aXR5KCkgIT0gVGV4dFNlY3VyaXR5OjpOb25lKQorICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRV
Uk5fSUZfTkVFREVEKEZsb3dIYXNUZXh0U2VjdXJpdHksIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25z
KTsKICAgICBpZiAoc3R5bGUuaHlwaGVucygpID09IEh5cGhlbnM6OkF1dG8pIHsKICAgICAgICAg
YXV0byB0ZXh0UmVhc29ucyA9IGNhblVzZUZvclRleHQoc3R5bGUuaHlwaGVuU3RyaW5nKCksIHN0
eWxlLmZvbnRDYXNjYWRlKCksIFdURjo6bnVsbG9wdCwgZmFsc2UsIGluY2x1ZGVSZWFzb25zKTsK
ICAgICAgICAgaWYgKHRleHRSZWFzb25zICE9IE5vUmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcAppbmRleCA1NWY1
ZmQzNzA3NmI4MjUzY2UxNTk5ZjcwY2FmZTZjY2RhNWQyMjQ4Li41NzY4MTE2MzgyODBhZjgzMTgw
NGQxNjA0YzA0NTRkMzJmYjc0MzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcApAQCAtMTM1LDYgKzEzNSw5IEBAIHN0
YXRpYyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRTdHJlYW0m
IHN0cmVhbSkKICAgICBjYXNlIEZsb3dIYXNOb25BdXRvTGluZUJyZWFrOgogICAgICAgICBzdHJl
YW0gPDwgImxpbmUtYnJlYWsgaXMgbm90IGF1dG8iOwogICAgICAgICBicmVhazsKKyAgICBjYXNl
IEZsb3dIYXNUZXh0U2VjdXJpdHk6CisgICAgICAgIHN0cmVhbSA8PCAidGV4dC1zZWN1cml0eSBp
cyBub3Qgbm9uZSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRmxvd0hhc1NWR0ZvbnQ6CiAg
ICAgICAgIHN0cmVhbSA8PCAiU1ZHIGZvbnQiOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaAppbmRleCA0
ZjlmYTFiMDk2NGNmODBhMzE4OTk2YWZlYjcxN2UyNzJlNDBlYWNhLi4zODI0ZTk1MGM0YTA5MzAz
YjgxOWUyMjYzM2I1OGEzZWNlNjBiNWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oCkBAIC02Niw2ICs2Niw3IEBAIGVudW0g
QXZvaWRhbmNlUmVhc29uXyA6IHVpbnQ2NF90IHsKICAgICBGbG93SGFzVGV4dEZpbGxCb3ggICAg
ICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjgsCiAgICAgRmxvd0hhc0JvcmRlckZpdExpbmVz
ICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDI5LAogICAgIEZsb3dIYXNOb25BdXRvTGluZUJy
ZWFrICAgICAgICAgICAgICAgPSAxTExVICA8PCAzMCwKKyAgICBGbG93SGFzVGV4dFNlY3VyaXR5
ICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzEsCiAgICAgRmxvd0hhc1NWR0ZvbnQgICAg
ICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDMyLAogICAgIEZsb3dUZXh0SXNFbXB0eSAg
ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAzMywKICAgICBGbG93VGV4dEhhc1NvZnRI
eXBoZW4gICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzQsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCA2ZmQyNDlmYTFjMzFhMDkxMjQx
M2Y3MmYwYTUwZmM5NzBiZDllOWM4Li41ZGFkZGM2ZjE0Yjk2OWZjYzAyY2Y0NTZhMWY4ZTJkMWFj
NDk3NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAKQEAgLTI1NjMsNCArMjU2MywxNiBAQCBDb2xvciBSZW5kZXJTdHlsZTo6Y29tcHV0ZWRT
dHJva2VDb2xvcigpIGNvbnN0CiAgICAgcmV0dXJuIHZpc2l0ZWREZXBlbmRlbnRDb2xvcihwcm9w
ZXJ0eUlEKTsKIH0KIAorYm9vbCBSZW5kZXJTdHlsZTo6Y29tcHV0ZVRleHRTZWN1cml0eURpc2NT
aG91bGRVc2VQVUFDb2RlUG9pbnQoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IGlmICh0ZXh0U2VjdXJpdHkoKSAhPSBUZXh0U2VjdXJpdHk6OkRpc2MpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBhdXRvJiBwcmltYXJ5Rm9udCA9IGZvbnRDYXNjYWRlKCkucHJpbWFyeUZv
bnQoKTsKKyAgICByZXR1cm4gcHJpbWFyeUZvbnQucGxhdGZvcm1EYXRhKCkuaXNTeXN0ZW1Gb250
KCkgJiYgcHJpbWFyeUZvbnQuZ2x5cGhGb3JDaGFyYWN0ZXIodGV4dFNlY3VyaXR5RGlza1BVQUNv
ZGVQb2ludCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IGI1NGNiZjYxYzM3OTBiNTMzM2YwNzdmYmFjMzY0M2UzMTliYjA4ZWQuLjk5
ZmE0YzIxMGJjMDkzZThlOTc2YjgxM2JiZmJmNWIwYmEyMjllYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC03MzUsNiArNzM1LDggQEAgcHVi
bGljOgogI2VuZGlmCiAKICAgICBUZXh0U2VjdXJpdHkgdGV4dFNlY3VyaXR5KCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dFNlY3VyaXR5PihtX3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0
U2VjdXJpdHkpOyB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciB0ZXh0U2VjdXJpdHlEaXNr
UFVBQ29kZVBvaW50ID0gMHhGNzlBOyAvLyBUaGUgUFVBIGNoYXJhY3RlciBpbiB0aGUgc3lzdGVt
IGZvbnQgd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgcGFzc3dvcmQgZmllbGQgZG90cyBvbiBDb2Nv
YSBwbGF0Zm9ybXMKKyAgICBib29sIGNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVB
Q29kZVBvaW50KCkgY29uc3Q7CiAKICAgICBXcml0aW5nTW9kZSB3cml0aW5nTW9kZSgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PFdyaXRpbmdNb2RlPihtX2luaGVyaXRlZEZsYWdzLndyaXRp
bmdNb2RlKTsgfQogICAgIGJvb2wgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSBjb25zdCB7IHJl
dHVybiBXZWJDb3JlOjppc0hvcml6b250YWxXcml0aW5nTW9kZSh3cml0aW5nTW9kZSgpKTsgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDRkYjYyNWQ5NTExODU0OGI3ODViYTNiOGNjZWU4ZmZmNmY0YjBhNzAuLjNkZTllOGQ5
YTNiYzE3MDJmZDQ3ZjJiMTIyNTI4MjliMzI5M2YwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAyMC0wNC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFtDb2NvYV0gUGFzc3dvcmQgb2JzY3VyaW5nIGRvdHMgZHJhd24gd2l0aCB0aGUgc3lz
dGVtIGZvbnQgYXJlIHRvbyBzbWFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA5NjkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDc4ODM4NT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRp
c2MtYnVsbGV0LXB1YS1vbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RleHQt
c2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIw
LTA0LTA2ICBKYWNrIExlZSAgPHNoaWhjaGllaF9sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIE51
bGxwdHIgY3Jhc2ggaW4gQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnNwbGl0VHJlZVRvTm9kZSB3aGVu
IGluc2VydGluZyBpbWFnZSBpbiBhbmNob3IgZWxlbWVudCB0aGF0IGhhcyB1bmVkaXRhYmxlIHBh
cmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlz
Yy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1z
ZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWRlM2I0
MThkNDRhY2Q5NjI2OTI1YTI2NDI4NmYzNDVhNzc0ODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZp
ZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48
L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeEY3OUE7JiN4Rjc5QTsm
I3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7PC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gy
MDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1vbGQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2Mt
YnVsbGV0LXB1YS1vbGQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2ZlNGUzNWM4OWJi
ZDczODZlYTU0YWU3OGE0M2VmYzk5NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMg
Z2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgor
PGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3gyMDIyOyYjeDIwMjI7JiN4MjAy
MjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5
LWRpc2MtYnVsbGV0LXB1YS1vbGQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQt
c2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVp
OyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250OiA0OHB4IHNlcmlmOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZn
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0
NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApA
QCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdl
dCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxk
aXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRp
c2M7Ij5hYmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyAtd2Via2l0
LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE2NDhlOTZkYzcx
ZGY4MzNkOTViZjQyYzRhMWRmZDZjMWFkODc3NjMuLjM0MWY1Mjk2MTNiODM3NWUwNDMwMmYyOTMw
YWFjZTNiMDIyMDYyNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0zNTIzLDMgKzM1MjMsNiBAQCB3ZWJraXQub3JnL2IvMjA3ODU4IGZhc3QvY2FudmFz
L3dlYmdsL3NpbXVsYXRlZC12ZXJ0ZXhBdHRyaWIwLWludmFsaWQtaW5kaWNpZXMuaAogCiB3ZWJr
aXQub3JnL2IvMjA5NzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVj
dG9ycy9mb2N1cy12aXNpYmxlLTAwNy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjA5NzM0
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9mb2N1cy12aXNp
YmxlLTAwOS5odG1sIFsgU2tpcCBdCisKKyMgRGlmZmVyZW50IE9TZXMgaGF2ZSBkaWZmZXJlbnQg
ZXhwZWN0ZWQgdGV4dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8y
MDk2OTIgZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBQYXNz
IEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBkNmRhOTA2Zjc1YTZjNWQ5NjE5NDFjM2FmNDZhZmMwN2RkM2NmZWIyLi4zNTQ2
OTVmYjY0MWIyNTlhYTQxMDMwODY3NTcyOWYwMDBkODM3YjkyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk3MSwzICsxOTcxLDYgQEAgd2Via2l0Lm9y
Zy9iLzIwOTc0MCB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVuZGVyaW5nL2ZyYW1lYnVmZmVy
LWNvbXBsZXRlbmVzcy0KIHdlYmtpdC5vcmcvYi8yMDk5MDggc3ZnL2N1c3RvbS9hbmltYXRlLWlu
aXRpYWwtcGF1c2UtdW5wYXVzZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9i
LzIxMDA0NiBbIFJlbGVhc2UgXSBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS1jdXJzb3ItY3ljbGUu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCisKKyMgRGlmZmVyZW50IE9TZXMgaGF2ZSBkaWZmZXJlbnQg
ZXhwZWN0ZWQgdGV4dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8y
MDk2OTIgWyBTaWVycmEgSGlnaFNpZXJyYSBNb2phdmUgQ2F0YWxpbmEgXSBmYXN0L3RleHQvdGV4
dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDIzMDYyOTE1
M2I0OGNjNmY3OGVlMDkzYmNlMTdkMjFkY2JlOWI5MjQuLjJiMDVkYTRhNGZhNTQ5ODE4YzVkNWRl
OTE3YTk4Y2Q3ZWI1Mjk3OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zCkBAIC00NDk1LDMgKzQ0OTUsNSBAQCBodHRwL3dwdC9wcmVmZXRjaCBbIFNraXAgXQog
CiBmYXN0L3RleHQvY29tYmluaW5nLWNoYXJhY3Rlci1zZXF1ZW5jZS12ZXJ0aWNhbC5odG1sIFsg
RmFpbHVyZSBdCiAKKyMgRGlmZmVyZW50IE9TZXMgaGF2ZSBkaWZmZXJlbnQgZXhwZWN0ZWQgdGV4
dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90
ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBQYXNzIEltYWdlT25seUZh
aWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395770</attachid>
            <date>2020-04-07 22:31:12 -0700</date>
            <delta_ts>2020-04-08 15:07:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209692-20200407223111.patch</filename>
            <type>text/plain</type>
            <size>17039</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBjZWEwODhjNDVhY2Q1
Mjg2NjkzNDI2ZGE0OTlmOWZmMTZlN2JlZi4uYzAwNmVkMTdiM2Q5NjdiNGUzNGNiM2Y0Zjk2NDg0
NzgyYzc4MzI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA0LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAy
MiBCVUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAg
ICAgICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dl
dmVyLCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVu
dCBmb250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAg
ICBUaGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBk
cmF3aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNh
biB0YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1w
dWEtaW9zLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnRleHQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
Y29uc3RydWN0VGV4dFJ1bik6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6Y2FuVXNlRm9yU3R5bGUp
OgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6cHJpbnRSZWFzb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6
OmNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBvaW50IGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKwogMjAyMC0wNC0wNyAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3RjbGljay5jb206IEEg
R3JhZGllbnQgYmFubmVyIGlzIG1pc3NpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmNwcAppbmRleCBjMTRiMGZjN2JkZDc5YmM4OGVlZjExZWJhNWQ0YjZmNWIxNDQ1
N2UxLi5jNjkzNGZkOWFlNDRiYzExMmNkZDRjMTQxMzJjY2FhM2JjNTdlMzRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC0xNDE0LDE3ICsxNDE0LDIz
IEBAIFRleHRSdW4gSW5saW5lVGV4dEJveDo6Y3JlYXRlVGV4dFJ1bihib29sIGlnbm9yZUNvbWJp
bmVkVGV4dCwgYm9vbCBpZ25vcmVIeXBoZW4pCiAKIFN0cmluZyBJbmxpbmVUZXh0Qm94Ojp0ZXh0
KGJvb2wgaWdub3JlQ29tYmluZWRUZXh0LCBib29sIGlnbm9yZUh5cGhlbikgY29uc3QKIHsKKyAg
ICBTdHJpbmcgcmVzdWx0OwogICAgIGlmIChhdXRvKiBjb21iaW5lZFRleHQgPSB0aGlzLT5jb21i
aW5lZFRleHQoKSkgewogICAgICAgICBpZiAoaWdub3JlQ29tYmluZWRUZXh0KQotICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7Ci0g
ICAgICAgIHJldHVybiBjb21iaW5lZFRleHQtPmNvbWJpbmVkU3RyaW5nRm9yUmVuZGVyaW5nKCk7
Ci0gICAgfQotICAgIGlmIChoYXNIeXBoZW4oKSkgeworICAgICAgICAgICAgcmVzdWx0ID0gcmVu
ZGVyZXIoKS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgcmVzdWx0ID0gY29tYmluZWRUZXh0LT5jb21iaW5lZFN0cmluZ0ZvclJlbmRl
cmluZygpOworICAgIH0gZWxzZSBpZiAoaGFzSHlwaGVuKCkpIHsKICAgICAgICAgaWYgKGlnbm9y
ZUh5cGhlbikKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmco
bV9zdGFydCwgbV9sZW4pOwotICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJl
bmRlcmVyKCkudGV4dCgpKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5o
eXBoZW5TdHJpbmcoKSk7Ci0gICAgfQotICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJz
dHJpbmcobV9zdGFydCwgbV9sZW4pOworICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIoKS50
ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcmVzdWx0ID0gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJlbmRlcmVyKCkudGV4dCgpKS5zdWJz
dHJpbmcobV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5oeXBoZW5TdHJpbmcoKSk7CisgICAg
fSBlbHNlCisgICAgICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0
YXJ0LCBtX2xlbik7CisKKyAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgdGhpcyByZXBsYWNlbWVu
dCBkb2Vzbid0IGFmZmVjdCBzdHJpbmcgaW5kaWNlcy4gV2UncmUgcmVwbGFjaW5nIGEgc2luZ2xl
IFVuaWNvZGUgY29kZSB1bml0IHdpdGggYW5vdGhlciBVbmljb2RlIGNvZGUgdW5pdC4KKyAgICAv
LyBIb3cgY29udmVuaWVudC4KKyAgICByZXR1cm4gUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5
RGlzY0NoYXJhY3RlcnMobGluZVN0eWxlKCksIFdURk1vdmUocmVzdWx0KSk7CiB9CiAKIGlubGlu
ZSBjb25zdCBSZW5kZXJDb21iaW5lVGV4dCogSW5saW5lVGV4dEJveDo6Y29tYmluZWRUZXh0KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGVjNmZk
OGNmZmU2NzFmZjg4ZWYyNTNlZGIyOTlmOTM0MDU0YmYxYzcuLjE0Yzk1NmI5YzYyYWJiODZkYmZj
ZGVkNTIzMGUwNjBlNTZlMTA3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMzEyNyw3ICszMTI3LDEzIEBAIFRleHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0
cnVjdFRleHRSdW4oU3RyaW5nVmlldyBzdHJpbmdWaWV3LCBjb25zdCBSZW5kZXJTdHlsZSYKICAg
ICAgICAgaWYgKGZsYWdzICYgUmVzcGVjdERpcmVjdGlvbk92ZXJyaWRlKQogICAgICAgICAgICAg
ZGlyZWN0aW9uYWxPdmVycmlkZSB8PSBpc092ZXJyaWRlKHN0eWxlLnVuaWNvZGVCaWRpKCkpOwog
ICAgIH0KLSAgICByZXR1cm4gVGV4dFJ1bihzdHJpbmdWaWV3LCAwLCAwLCBleHBhbnNpb24sIHRl
eHREaXJlY3Rpb24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUpOworCisgICAgLy8gVGhpcyB3b3JrcyBi
ZWNhdXNlOgorICAgIC8vIDEuIFRleHRSdW4gb3ducyBpdHMgdGV4dCBzdHJpbmcuIEl0cyBtZW1i
ZXIgaXMgYSBTdHJpbmcsIG5vdCBhIFN0cmluZ1ZpZXcKKyAgICAvLyAyLiBUaGlzIHJlcGxhY2Vt
ZW50IGRvZXNuJ3QgYWZmZWN0IHN0cmluZyBpbmRpY2VzLiBXZSdyZSByZXBsYWNpbmcgYSBzaW5n
bGUgVW5pY29kZSBjb2RlIHVuaXQgd2l0aCBhbm90aGVyIFVuaWNvZGUgY29kZSB1bml0LgorICAg
IC8vIEhvdyBjb252ZW5pZW50LgorICAgIGF1dG8gdXBkYXRlZFN0cmluZyA9IFJlbmRlckJsb2Nr
Ojp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKHN0eWxlLCBzdHJpbmdWaWV3LnRvU3RyaW5n
V2l0aG91dENvcHlpbmcoKSk7CisgICAgcmV0dXJuIFRleHRSdW4oV1RGTW92ZSh1cGRhdGVkU3Ry
aW5nKSwgMCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0aW9uLCBkaXJlY3Rpb25hbE92ZXJyaWRl
KTsKIH0KIAogVGV4dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihjb25zdCBTdHJp
bmcmIHN0cmluZywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlvciBl
eHBhbnNpb24sIFRleHRSdW5GbGFncyBmbGFncykKQEAgLTM1MDUsNSArMzUxMSwyMSBAQCBib29s
IFJlbmRlckJsb2NrOjpoaXRUZXN0RXhjbHVkZWRDaGlsZHJlbkluQm9yZGVyKGNvbnN0IEhpdFRl
c3RSZXF1ZXN0JiByZXF1ZXN0LAogICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9y
V3JpdGluZ01vZGVGb3JDaGlsZChsZWdlbmQsIGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICByZXR1
cm4gbGVnZW5kLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWlu
ZXIsIGNoaWxkUG9pbnQsIGNoaWxkSGl0VGVzdCk7CiB9CisKK1N0cmluZyBSZW5kZXJCbG9jazo6
dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVycyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFN0
cmluZyYmIHN0cmluZykKK3sKKyNpZiAhUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIFdURk1v
dmUoc3RyaW5nKTsKKyNlbHNlCisgICAgaWYgKHN0eWxlLnRleHRTZWN1cml0eSgpICE9IFRleHRT
ZWN1cml0eTo6RGlzYykKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5nKTsKKyAgICAvLyBU
aGlzIFBVQSBjaGFyYWN0ZXIgaW4gdGhlIHN5c3RlbSBmb250IGlzIHVzZWQgdG8gcmVuZGVyIHBh
c3N3b3JkIGZpZWxkIGRvdHMgb24gQ29jb2EgcGxhdGZvcm1zLgorICAgIGNvbnN0ZXhwciBVQ2hh
ciB0ZXh0U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50ID0gMHhGNzlBOworICAgIGF1dG8mIGZvbnQg
PSBzdHlsZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCk7CisgICAgaWYgKCEoZm9udC5wbGF0
Zm9ybURhdGEoKS5pc1N5c3RlbUZvbnQoKSAmJiBmb250LmdseXBoRm9yQ2hhcmFjdGVyKHRleHRT
ZWN1cml0eURpc2NQVUFDb2RlUG9pbnQpKSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5n
KTsKKyAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoYnVsbGV0LCB0ZXh0U2VjdXJpdHlEaXNjUFVB
Q29kZVBvaW50KTsKKyNlbmRpZgorfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBjMzRlZmZiMzBmZDc1MTM3MWQ0
ZjcwZWFkN2VjNWQwZWQyYjY3ZmU5Li40NTM2ZjY1ZjkzZGExMTdiNWJiZGIzODY2ZDdlNjU0Yjk4
YThiYzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzE4LDYg
KzMxOCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZXNldENoaWxkTG9n
aWNhbEhlaWdodEJlZm9yZUxheW91dChjb25zdCBSZW5kZXJCb3gmKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCisgICAgc3RhdGljIFN0cmluZyB1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJz
KGNvbnN0IFJlbmRlclN0eWxlJiwgU3RyaW5nJiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVy
RnJhZ21lbnRlZEZsb3cqIGxvY2F0ZUVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAppbmRleCA3YWQ0ZTE5YmRiYmFh
Y2U1Yzk2NjdkMmQ1MWFhZDAyNWJiOWY2YmMwLi40ZTMzNDE0NDZlNDAwYTdmMjExYmEzNzU2Y2U4
YTcyNmNlMjk2ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXQuY3BwCkBAIC0yNDAsNiArMjQwLDEwIEBAIHN0YXRpYyBBdm9pZGFuY2VSZWFzb25GbGFn
cyBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEluY2x1ZGVSZWFzCiAg
ICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0hhc05vbkF1dG9MaW5l
QnJlYWssIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoc3R5bGUubmJzcE1vZGUo
KSAhPSBOQlNQTW9kZTo6Tm9ybWFsKQogICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZf
TkVFREVEKEZsb3dIYXNXZWJLaXROQlNQTW9kZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwor
ICAgIC8vIC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYyBoYXMgc3BlY2lhbCBoYW5kbGluZy4g
SXQgbmVlZHMgdG8gdXNlIGEgc3BlY2lhbCBQVUEgY2hhcmFjdGVyIHdoZW4gcmVuZGVyaW5nIHdp
dGggdGhlIHN5c3RlbSBmb250LCBidXQgY2FuJ3QgbW9kaWZ5IHRoZSBhY3R1YWwgdGV4dCBvZiB0
aGUgcmVuZGVyZXIgdG8gZG8gdGhpcy4KKyAgICAvLyBUaGVyZWZvcmUsIGl0J3MgaGFuZGxlZCBh
dCBsYXlvdXQvZHJhd2luZyB0aW1lLCByYXRoZXIgdGhhbiBpbiB0aGUgcmVuZGVyZXIgaXRzZWxm
LgorICAgIGlmIChzdHlsZS50ZXh0U2VjdXJpdHkoKSAhPSBUZXh0U2VjdXJpdHk6Ok5vbmUpCisg
ICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0hhc1RleHRTZWN1cml0
eSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChzdHlsZS5oeXBoZW5zKCkgPT0g
SHlwaGVuczo6QXV0bykgewogICAgICAgICBhdXRvIHRleHRSZWFzb25zID0gY2FuVXNlRm9yVGV4
dChzdHlsZS5oeXBoZW5TdHJpbmcoKSwgc3R5bGUuZm9udENhc2NhZGUoKSwgV1RGOjpudWxsb3B0
LCBmYWxzZSwgaW5jbHVkZVJlYXNvbnMpOwogICAgICAgICBpZiAodGV4dFJlYXNvbnMgIT0gTm9S
ZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dENvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0Q292ZXJhZ2UuY3BwCmluZGV4IDU1ZjVmZDM3MDc2YjgyNTNjZTE1OTlmNzBjYWZlNmNjZGE1
ZDIyNDguLjU3NjgxMTYzODI4MGFmODMxODA0ZDE2MDRjMDQ1NGQzMmZiNzQzMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2Uu
Y3BwCkBAIC0xMzUsNiArMTM1LDkgQEAgc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRhbmNl
UmVhc29uIHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQogICAgIGNhc2UgRmxvd0hhc05vbkF1
dG9MaW5lQnJlYWs6CiAgICAgICAgIHN0cmVhbSA8PCAibGluZS1icmVhayBpcyBub3QgYXV0byI7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgRmxvd0hhc1RleHRTZWN1cml0eToKKyAgICAgICAg
c3RyZWFtIDw8ICJ0ZXh0LXNlY3VyaXR5IGlzIG5vdCBub25lIjsKKyAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBGbG93SGFzU1ZHRm9udDoKICAgICAgICAgc3RyZWFtIDw8ICJTVkcgZm9udCI7CiAg
ICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXRDb3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRDb3ZlcmFnZS5oCmluZGV4IDRmOWZhMWIwOTY0Y2Y4MGEzMTg5OTZhZmViNzE3ZTI3
MmU0MGVhY2EuLjM4MjRlOTUwYzRhMDkzMDNiODE5ZTIyNjMzYjU4YTNlY2U2MGI1Y2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdl
LmgKQEAgLTY2LDYgKzY2LDcgQEAgZW51bSBBdm9pZGFuY2VSZWFzb25fIDogdWludDY0X3Qgewog
ICAgIEZsb3dIYXNUZXh0RmlsbEJveCAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyOCwK
ICAgICBGbG93SGFzQm9yZGVyRml0TGluZXMgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjks
CiAgICAgRmxvd0hhc05vbkF1dG9MaW5lQnJlYWsgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDMw
LAorICAgIEZsb3dIYXNUZXh0U2VjdXJpdHkgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAz
MSwKICAgICBGbG93SGFzU1ZHRm9udCAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwg
MzIsCiAgICAgRmxvd1RleHRJc0VtcHR5ICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8
IDMzLAogICAgIEZsb3dUZXh0SGFzU29mdEh5cGhlbiAgICAgICAgICAgICAgICAgPSAxTExVICA8
PCAzNCwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAzN2Y3ZTY1ZTA2NDRiMjM0OGIwMTU4NGQ5NDk2MGQ4ZDc1ZjA5YTU0Li5j
MjY5YTc3OTQ3ZDliNWEyM2FkNjAwZjFjNDc5ZDdiYWU1NTdhOTQ1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMjAtMDQtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ29jb2FdIFBhc3N3b3JkIG9ic2N1cmluZyBkb3RzIGRyYXduIHdpdGgg
dGhlIHN5c3RlbSBmb250IGFyZSB0b28gc21hbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA3
ODgzODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
LW9sZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1
cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1
YS1pb3MuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDQtMDcgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gd2VicnRjL2gyNjUuaHRt
bCBpcyBjb25zaXN0ZW50bHkgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNWRlM2I0MThkNDRhY2Q5NjI2OTI1YTI2NDI4NmYzNDVhNzc0ODIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHkt
ZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0
ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3Rl
bS11aTsiPiYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYj
eEY3OUE7PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gy
MDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3Vy
aXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZjRiMTQyNDY0ZDEyNTJhNGZlZmVlMmVhOTYzYTgyMDhhY2ZhNDJmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxs
ZXQtcHVhLWlvcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1z
ZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7
Ij4mI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNG
OzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsiPiYjeDI1Q0Y7JiN4MjVDRjsm
I3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1k
aXNjLWJ1bGxldC1wdWEtaW9zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1
cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5
OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MuaHRtbApAQCAtMCww
ICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3
biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5
bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5h
YmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyAtd2Via2l0LXRleHQt
c2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEt
b2xkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1k
aXNjLWJ1bGxldC1wdWEtb2xkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFiNjdmZTRlMzVj
ODliYmQ3Mzg2ZWE1NGFlNzhhNDNlZmM5OTYyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1vbGQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmll
bGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwv
cD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyI+JiN4MjAyMjsmI3gyMDIyOyYj
eDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzxkaXYgc3R5bGU9
ImZvbnQ6IDQ4cHggc2VyaWY7Ij4mI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIw
MjI7JiN4MjAyMjsmI3gyMDIyOzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
LW9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFm
NDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1
cml0eS1kaXNjLWJ1bGxldC1wdWEtb2xkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0
ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3Rl
bS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBz
dHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJj
ZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YWFlNDcwMWE2ZjI3ODk4ZTJkZmYxYTMzMmFlNGU3OTFhZjQ2NzZkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0
bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxk
cyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+
Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5
OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdl
YmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyNGMyZjVh
OTE2YjBiMmVmZjQwZmU3N2EyZDUwOWIyOTg0NDAwNmY4Li5mNTAzMzg0ZTc5MjdmMTAzNzI4MWI3
ODcyYjQyYjFkNTM5ZWUwNDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMzUyNSwzICszNTI1LDcgQEAgd2Via2l0Lm9yZy9iLzIwNzg1OCBmYXN0L2Nh
bnZhcy93ZWJnbC9zaW11bGF0ZWQtdmVydGV4QXR0cmliMC1pbnZhbGlkLWluZGljaWVzLmgKIAog
d2Via2l0Lm9yZy9iLzIwOTczNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS0wMDcuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIw
OTczNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvZm9jdXMt
dmlzaWJsZS0wMDkuaHRtbCBbIFNraXAgXQorCisjIERpZmZlcmVudCBPU2VzIGhhdmUgZGlmZmVy
ZW50IGV4cGVjdGVkIHRleHQtc2VjdXJpdHkgYnVsbGV0IGNoYXJhY3RlcnMuCit3ZWJraXQub3Jn
L2IvMjA5NjkyIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIFsg
UGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90ZXh0L3Rl
eHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWls
dXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDZk
YTkwNmY3NWE2YzVkOTYxOTQxYzNhZjQ2YWZjMDdkZDNjZmViMi4uNGFkMTFlOGQyMDcyNzRlODJl
NGVjOWZkZjBlZjliZWU5ZjBlYWM1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTE5NzEsMyArMTk3MSw3IEBAIHdlYmtpdC5vcmcvYi8yMDk3NDAgd2Vi
Z2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlbmRlcmluZy9mcmFtZWJ1ZmZlci1jb21wbGV0ZW5lc3Mt
CiB3ZWJraXQub3JnL2IvMjA5OTA4IHN2Zy9jdXN0b20vYW5pbWF0ZS1pbml0aWFsLXBhdXNlLXVu
cGF1c2UuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8yMTAwNDYgWyBSZWxl
YXNlIF0gc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtY3Vyc29yLWN5Y2xlLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQorCisjIERpZmZlcmVudCBPU2VzIGhhdmUgZGlmZmVyZW50IGV4cGVjdGVkIHRleHQt
c2VjdXJpdHkgYnVsbGV0IGNoYXJhY3RlcnMuCit3ZWJraXQub3JnL2IvMjA5NjkyIFsgU2llcnJh
IEhpZ2hTaWVycmEgTW9qYXZlIENhdGFsaW5hIF0gZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlz
Yy1idWxsZXQtcHVhLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9i
LzIwOTY5MiBbIFNpZXJyYSBIaWdoU2llcnJhIE1vamF2ZSBDYXRhbGluYSBdIGZhc3QvdGV4dC90
ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDIz
MDYyOTE1M2I0OGNjNmY3OGVlMDkzYmNlMTdkMjFkY2JlOWI5MjQuLjhiOWIyMDYxOTI1MDUwMDli
M2Y5NGJlZWNkMDBkYWFjNDJmOTdmYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCkBAIC00NDk1LDMgKzQ0OTUsNiBAQCBodHRwL3dwdC9wcmVmZXRjaCBbIFNr
aXAgXQogCiBmYXN0L3RleHQvY29tYmluaW5nLWNoYXJhY3Rlci1zZXF1ZW5jZS12ZXJ0aWNhbC5o
dG1sIFsgRmFpbHVyZSBdCiAKKyMgRGlmZmVyZW50IE9TZXMgaGF2ZSBkaWZmZXJlbnQgZXhwZWN0
ZWQgdGV4dC1zZWN1cml0eSBidWxsZXQgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8yMDk2OTIg
ZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIwOTY5MiBmYXN0L3RleHQvdGV4dC1zZWN1cml0
eS1kaXNjLWJ1bGxldC1wdWEtaW9zLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395874</attachid>
            <date>2020-04-08 15:07:53 -0700</date>
            <delta_ts>2020-04-08 15:16:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209692-20200408150752.patch</filename>
            <type>text/plain</type>
            <size>17323</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MDMzMThhZmJkZjRh
ZDQ1ZjM1NTMyYjNhNWU3YjRjYzE0MzM1Mi4uYWEwMmE2ZmM5NjI1YWY1MTdkMWE0YjEwZGQzZGJk
YTZjMzNjYjhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA0LTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAy
MiBCVUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAg
ICAgICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dl
dmVyLCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVu
dCBmb250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAg
ICBUaGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBk
cmF3aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNh
biB0YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAorICAg
ICAgICAgICAgICAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVs
bGV0LXB1YS5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQt
c2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnRleHQgY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bik6CisgICAgICAgICogcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91
dDo6Y2FuVXNlRm9yU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
Q292ZXJhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6cHJpbnRS
ZWFzb24pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OmNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29k
ZVBvaW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoK
KwogMjAyMC0wNC0wOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1h
a2UgbW9yZSB1c2Ugb2YgRnJhbWVMb2FkZXIgcGFnZUlEL2ZyYW1lSUQgZ2V0dGVycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCmluZGV4IGMxNGIwZmM3YmRkNzli
Yzg4ZWVmMTFlYmE1ZDRiNmY1YjE0NDU3ZTEuLmM2OTM0ZmQ5YWU0NGJjMTEyY2RkNGMxNDEzMmNj
YWEzYmM1N2UzNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVU
ZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAKQEAgLTE0MTQsMTcgKzE0MTQsMjMgQEAgVGV4dFJ1biBJbmxpbmVUZXh0Qm94OjpjcmVhdGVU
ZXh0UnVuKGJvb2wgaWdub3JlQ29tYmluZWRUZXh0LCBib29sIGlnbm9yZUh5cGhlbikKIAogU3Ry
aW5nIElubGluZVRleHRCb3g6OnRleHQoYm9vbCBpZ25vcmVDb21iaW5lZFRleHQsIGJvb2wgaWdu
b3JlSHlwaGVuKSBjb25zdAogeworICAgIFN0cmluZyByZXN1bHQ7CiAgICAgaWYgKGF1dG8qIGNv
bWJpbmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7CiAgICAgICAgIGlmIChpZ25vcmVD
b21iaW5lZFRleHQpCi0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS50ZXh0KCkuc3Vic3Ry
aW5nKG1fc3RhcnQsIG1fbGVuKTsKLSAgICAgICAgcmV0dXJuIGNvbWJpbmVkVGV4dC0+Y29tYmlu
ZWRTdHJpbmdGb3JSZW5kZXJpbmcoKTsKLSAgICB9Ci0gICAgaWYgKGhhc0h5cGhlbigpKSB7Cisg
ICAgICAgICAgICByZXN1bHQgPSByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFydCwg
bV9sZW4pOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBjb21iaW5lZFRleHQt
PmNvbWJpbmVkU3RyaW5nRm9yUmVuZGVyaW5nKCk7CisgICAgfSBlbHNlIGlmIChoYXNIeXBoZW4o
KSkgewogICAgICAgICBpZiAoaWdub3JlSHlwaGVuKQotICAgICAgICAgICAgcmV0dXJuIHJlbmRl
cmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7Ci0gICAgICAgIHJldHVybiBt
YWtlU3RyaW5nKFN0cmluZ1ZpZXcocmVuZGVyZXIoKS50ZXh0KCkpLnN1YnN0cmluZyhtX3N0YXJ0
LCBtX2xlbiksIGxpbmVTdHlsZSgpLmh5cGhlblN0cmluZygpKTsKLSAgICB9Ci0gICAgcmV0dXJu
IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7CisgICAgICAgICAg
ICByZXN1bHQgPSByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBtYWtlU3RyaW5nKFN0cmluZ1ZpZXco
cmVuZGVyZXIoKS50ZXh0KCkpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbiksIGxpbmVTdHlsZSgp
Lmh5cGhlblN0cmluZygpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIo
KS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKworICAgIC8vIFRoaXMgd29ya3Mg
YmVjYXVzZSB0aGlzIHJlcGxhY2VtZW50IGRvZXNuJ3QgYWZmZWN0IHN0cmluZyBpbmRpY2VzLiBX
ZSdyZSByZXBsYWNpbmcgYSBzaW5nbGUgVW5pY29kZSBjb2RlIHVuaXQgd2l0aCBhbm90aGVyIFVu
aWNvZGUgY29kZSB1bml0LgorICAgIC8vIEhvdyBjb252ZW5pZW50LgorICAgIHJldHVybiBSZW5k
ZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVycyhsaW5lU3R5bGUoKSwgV1RGTW92
ZShyZXN1bHQpKTsKIH0KIAogaW5saW5lIGNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBJbmxpbmVU
ZXh0Qm94Ojpjb21iaW5lZFRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKaW5kZXggZWM2ZmQ4Y2ZmZTY3MWZmODhlZjI1M2VkYjI5OWY5MzQwNTRiZjFj
Ny4uMDQ1N2M4Y2QyNjM5YWI2YmExYzI1MDVlY2ZiOTM3NzNiYmY0NzA0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zMTI3LDcgKzMxMjcsMTMgQEAgVGV4
dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihTdHJpbmdWaWV3IHN0cmluZ1ZpZXcs
IGNvbnN0IFJlbmRlclN0eWxlJgogICAgICAgICBpZiAoZmxhZ3MgJiBSZXNwZWN0RGlyZWN0aW9u
T3ZlcnJpZGUpCiAgICAgICAgICAgICBkaXJlY3Rpb25hbE92ZXJyaWRlIHw9IGlzT3ZlcnJpZGUo
c3R5bGUudW5pY29kZUJpZGkoKSk7CiAgICAgfQotICAgIHJldHVybiBUZXh0UnVuKHN0cmluZ1Zp
ZXcsIDAsIDAsIGV4cGFuc2lvbiwgdGV4dERpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSk7
CisKKyAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2U6CisgICAgLy8gMS4gVGV4dFJ1biBvd25zIGl0
cyB0ZXh0IHN0cmluZy4gSXRzIG1lbWJlciBpcyBhIFN0cmluZywgbm90IGEgU3RyaW5nVmlldwor
ICAgIC8vIDIuIFRoaXMgcmVwbGFjZW1lbnQgZG9lc24ndCBhZmZlY3Qgc3RyaW5nIGluZGljZXMu
IFdlJ3JlIHJlcGxhY2luZyBhIHNpbmdsZSBVbmljb2RlIGNvZGUgdW5pdCB3aXRoIGFub3RoZXIg
VW5pY29kZSBjb2RlIHVuaXQuCisgICAgLy8gSG93IGNvbnZlbmllbnQuCisgICAgYXV0byB1cGRh
dGVkU3RyaW5nID0gUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0NoYXJhY3RlcnMoc3R5
bGUsIHN0cmluZ1ZpZXcudG9TdHJpbmdXaXRob3V0Q29weWluZygpKTsKKyAgICByZXR1cm4gVGV4
dFJ1bihXVEZNb3ZlKHVwZGF0ZWRTdHJpbmcpLCAwLCAwLCBleHBhbnNpb24sIHRleHREaXJlY3Rp
b24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUpOwogfQogCiBUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25z
dHJ1Y3RUZXh0UnVuKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUsIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbiwgVGV4dFJ1bkZsYWdzIGZsYWdzKQpAQCAt
MzUwNSw1ICszNTExLDI5IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RFeGNsdWRlZENoaWxk
cmVuSW5Cb3JkZXIoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsCiAgICAgTGF5b3V0UG9p
bnQgY2hpbGRQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKGxlZ2VuZCwgYWNjdW11
bGF0ZWRPZmZzZXQpOwogICAgIHJldHVybiBsZWdlbmQtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJl
c3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgY2hpbGRQb2ludCwgY2hpbGRIaXRUZXN0KTsKIH0K
KworU3RyaW5nIFJlbmRlckJsb2NrOjp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKGNvbnN0
IFJlbmRlclN0eWxlJiBzdHlsZSwgU3RyaW5nJiYgc3RyaW5nKQoreworI2lmICFQTEFURk9STShD
T0NPQSkKKyAgICByZXR1cm4gV1RGTW92ZShzdHJpbmcpOworI2Vsc2UKKyAgICBpZiAoc3R5bGUu
dGV4dFNlY3VyaXR5KCkgIT0gVGV4dFNlY3VyaXR5OjpEaXNjKQorICAgICAgICByZXR1cm4gV1RG
TW92ZShzdHJpbmcpOworICAgIC8vIFRoaXMgUFVBIGNoYXJhY3RlciBpbiB0aGUgc3lzdGVtIGZv
bnQgaXMgdXNlZCB0byByZW5kZXIgcGFzc3dvcmQgZmllbGQgZG90cyBvbiBDb2NvYSBwbGF0Zm9y
bXMuCisgICAgY29uc3RleHByIFVDaGFyIHRleHRTZWN1cml0eURpc2NQVUFDb2RlUG9pbnQgPSAw
eEY3OUE7CisgICAgYXV0byYgZm9udCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQo
KTsKKyAgICBpZiAoIShmb250LnBsYXRmb3JtRGF0YSgpLmlzU3lzdGVtRm9udCgpICYmIGZvbnQu
Z2x5cGhGb3JDaGFyYWN0ZXIodGV4dFNlY3VyaXR5RGlzY1BVQUNvZGVQb2ludCkpKQorICAgICAg
ICByZXR1cm4gV1RGTW92ZShzdHJpbmcpOworCisgICAgLy8gU2VlIFJlbmRlclRleHQ6OnNldFJl
bmRlcmVkVGV4dCgpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBjb25zdGV4cHIgVUNo
YXIgZGlzY0NoYXJhY3RlclRvUmVwbGFjZSA9IGJsYWNrQ2lyY2xlOworI2Vsc2UKKyAgICBjb25z
dGV4cHIgVUNoYXIgZGlzY0NoYXJhY3RlclRvUmVwbGFjZSA9IGJ1bGxldDsKKyNlbmRpZgorCisg
ICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGRpc2NDaGFyYWN0ZXJUb1JlcGxhY2UsIHRleHRTZWN1
cml0eURpc2NQVUFDb2RlUG9pbnQpOworI2VuZGlmCit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGMzNGVmZmIz
MGZkNzUxMzcxZDRmNzBlYWQ3ZWM1ZDBlZDJiNjdmZTkuLjQ1MzZmNjVmOTNkYTExN2I1YmJkYjM4
NjZkN2U2NTRiOThhOGJjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CkBAIC0zMTgsNiArMzE4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJl
c2V0Q2hpbGRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5b3V0KGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICBzdGF0aWMgU3RyaW5nIHVwZGF0ZVNlY3VyaXR5RGlz
Y0NoYXJhY3RlcnMoY29uc3QgUmVuZGVyU3R5bGUmLCBTdHJpbmcmJik7CisKIHByb3RlY3RlZDoK
ICAgICBSZW5kZXJGcmFnbWVudGVkRmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3co
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IGE5MjU1NzZiNWQ3ZGE3
N2UwNDdkY2ZlZjhkNTBjYTcyY2Y1NDYwYWEuLjFjY2Y5NjcyNGU0ZTNkMWExMzdhZTI5ODFiYjM1
NDk5Njc1ZDIwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAg
LTExNjYsNiArMTE2Niw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6c2V0UmVuZGVyZWRUZXh0KGNvbnN0
IFN0cmluZyYgbmV3VGV4dCkKICAgICBpZiAoc3R5bGUudGV4dFRyYW5zZm9ybSgpICE9IFRleHRU
cmFuc2Zvcm06Ok5vbmUpCiAgICAgICAgIG1fdGV4dCA9IGFwcGx5VGV4dFRyYW5zZm9ybShzdHls
ZSwgbV90ZXh0LCBwcmV2aW91c0NoYXJhY3RlcigpKTsKIAorICAgIC8vIEF0IHJlbmRlcmluZyB0
aW1lLCBpZiBjZXJ0YWluIGZvbnRzIGFyZSB1c2VkLCB0aGVzZSBjaGFyYWN0ZXJzIGdldCBzd2Fw
cGVkIG91dCB3aXRoIGhpZ2hlci1xdWFsaXR5IFBVQSBjaGFyYWN0ZXJzLgorICAgIC8vIFNlZSBS
ZW5kZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVycygpLgogICAgIHN3aXRjaCAo
c3R5bGUudGV4dFNlY3VyaXR5KCkpIHsKICAgICBjYXNlIFRleHRTZWN1cml0eTo6Tm9uZToKICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dC5jcHAKaW5kZXggN2FkNGUxOWJkYmJhYWNlNWM5NjY3ZDJkNTFhYWQwMjViYjlmNmJjMC4uNjk4
Y2VlNWJhMmQ3OGI5MjEwOWIyZTVkOTBiZDVkZWJlOTc0NDEyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcApAQCAtMjQwLDYgKzI0MCwxMCBAQCBz
dGF0aWMgQXZvaWRhbmNlUmVhc29uRmxhZ3MgY2FuVXNlRm9yU3R5bGUoY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlLCBJbmNsdWRlUmVhcwogICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZf
TkVFREVEKEZsb3dIYXNOb25BdXRvTGluZUJyZWFrLCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7
CiAgICAgaWYgKHN0eWxlLm5ic3BNb2RlKCkgIT0gTkJTUE1vZGU6Ok5vcm1hbCkKICAgICAgICAg
U0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzV2ViS2l0TkJTUE1vZGUsIHJl
YXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKKyAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9mIHRleHQt
c2VjdXJpdHk6ZGlzYyBpcyBub3QgeWV0IGltcGxlbWVudGVkIGluIHRoZSBzaW1wbGUgbGluZSBs
YXlvdXQgY29kZSBwYXRoLgorICAgIC8vIFNlZSBSZW5kZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlE
aXNjQ2hhcmFjdGVycy4KKyAgICBpZiAoc3R5bGUudGV4dFNlY3VyaXR5KCkgIT0gVGV4dFNlY3Vy
aXR5OjpOb25lKQorICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dI
YXNUZXh0U2VjdXJpdHksIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoc3R5bGUu
aHlwaGVucygpID09IEh5cGhlbnM6OkF1dG8pIHsKICAgICAgICAgYXV0byB0ZXh0UmVhc29ucyA9
IGNhblVzZUZvclRleHQoc3R5bGUuaHlwaGVuU3RyaW5nKCksIHN0eWxlLmZvbnRDYXNjYWRlKCks
IFdURjo6bnVsbG9wdCwgZmFsc2UsIGluY2x1ZGVSZWFzb25zKTsKICAgICAgICAgaWYgKHRleHRS
ZWFzb25zICE9IE5vUmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcAppbmRleCA1NWY1ZmQzNzA3NmI4MjUzY2UxNTk5
ZjcwY2FmZTZjY2RhNWQyMjQ4Li41NzY4MTE2MzgyODBhZjgzMTgwNGQxNjA0YzA0NTRkMzJmYjc0
MzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dENvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dENvdmVyYWdlLmNwcApAQCAtMTM1LDYgKzEzNSw5IEBAIHN0YXRpYyB2b2lkIHByaW50UmVh
c29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRTdHJlYW0mIHN0cmVhbSkKICAgICBjYXNl
IEZsb3dIYXNOb25BdXRvTGluZUJyZWFrOgogICAgICAgICBzdHJlYW0gPDwgImxpbmUtYnJlYWsg
aXMgbm90IGF1dG8iOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEZsb3dIYXNUZXh0U2VjdXJp
dHk6CisgICAgICAgIHN0cmVhbSA8PCAidGV4dC1zZWN1cml0eSBpcyBub3Qgbm9uZSI7CisgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgRmxvd0hhc1NWR0ZvbnQ6CiAgICAgICAgIHN0cmVhbSA8PCAi
U1ZHIGZvbnQiOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaAppbmRleCA0ZjlmYTFiMDk2NGNmODBhMzE4
OTk2YWZlYjcxN2UyNzJlNDBlYWNhLi4zODI0ZTk1MGM0YTA5MzAzYjgxOWUyMjYzM2I1OGEzZWNl
NjBiNWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dENvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRDb3ZlcmFnZS5oCkBAIC02Niw2ICs2Niw3IEBAIGVudW0gQXZvaWRhbmNlUmVhc29uXyA6
IHVpbnQ2NF90IHsKICAgICBGbG93SGFzVGV4dEZpbGxCb3ggICAgICAgICAgICAgICAgICAgID0g
MUxMVSAgPDwgMjgsCiAgICAgRmxvd0hhc0JvcmRlckZpdExpbmVzICAgICAgICAgICAgICAgICA9
IDFMTFUgIDw8IDI5LAogICAgIEZsb3dIYXNOb25BdXRvTGluZUJyZWFrICAgICAgICAgICAgICAg
PSAxTExVICA8PCAzMCwKKyAgICBGbG93SGFzVGV4dFNlY3VyaXR5ICAgICAgICAgICAgICAgICAg
ID0gMUxMVSAgPDwgMzEsCiAgICAgRmxvd0hhc1NWR0ZvbnQgICAgICAgICAgICAgICAgICAgICAg
ICA9IDFMTFUgIDw8IDMyLAogICAgIEZsb3dUZXh0SXNFbXB0eSAgICAgICAgICAgICAgICAgICAg
ICAgPSAxTExVICA8PCAzMywKICAgICBGbG93VGV4dEhhc1NvZnRIeXBoZW4gICAgICAgICAgICAg
ICAgID0gMUxMVSAgPDwgMzQsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzZmMzkzZTcwNDg4M2U3ZGQ4OWI5MGZkZDNkMzM3
YTMzZDNjZGY2NS4uZjBhMDU4NjJmNGUwMGVhMDZiYzg0Mzg1MjllOTQzZjg0MjQwOTJhZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQYXNzd29yZCBvYnNjdXJpbmcgZG90
cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9vIHNtYWxsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2OTIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRp
c2MtYnVsbGV0LXB1YS1vbGQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW9sZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWlvcy1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1k
aXNjLWJ1bGxldC1wdWEtaW9zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
OgorCiAyMDIwLTA0LTA4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbbWFjT1NdIENyYXNoIHVuZGVyIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6Y29u
c3VtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlz
Yy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1z
ZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2Zl
NGUzNWM4OWJiZDczODZlYTU0YWU3OGE0M2VmYzk5NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZp
ZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48
L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gy
MDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRp
c2MtYnVsbGV0LXB1YS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhh
dCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0
eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJr
aXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6
IDQ4cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMjRjMmY1YTkxNmIwYjJlZmY0MGZlNzdhMmQ1MDliMjk4NDQwMDZmOC4uNzM4YmNl
ZGNjMDk4YjJlYWRhMDRhYzY3Mzg4ZGIxMTRlY2ZhOTUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1MjUsMyArMzUyNSw2IEBAIHdlYmtpdC5vcmcv
Yi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2ltdWxhdGVkLXZlcnRleEF0dHJpYjAtaW52YWxp
ZC1pbmRpY2llcy5oCiAKIHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA3Lmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
c2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA5Lmh0bWwgWyBTa2lwIF0KKworIyBpT1MgaGFzIGEg
cGxhdGZvcm0tc3BlY2lmaWMgdGVzdCBpbiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKK3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90ZXh0
L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1
cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjI4Zjg5MmNhY2ExOTQ3NjYxZGM4MjRhMjJmYjdhNTY5NzNlOWNjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhl
IGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDog
NDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7
JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsiPiYj
eDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQv
dGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3Jy
ZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHgg
c3lzdGVtLXVpOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8
ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7
Ij5hYmNkZWZnPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJhZWEwYzc5ZjMzZDI4MDkxMjkxZDI0YzEyMTdmN2Qw
MmI1Zjk5YjUuLmE4ODMzYzkzYzFlN2Q1Y2I1NzZjMDI0ZWE4ZDE4YzQ0MmVkNmU2NzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTczLDQgKzE5NzMs
NyBAQCB3ZWJraXQub3JnL2IvMjA5OTA4IHN2Zy9jdXN0b20vYW5pbWF0ZS1pbml0aWFsLXBhdXNl
LXVucGF1c2UuaHRtbCBbIFBhc3MgVGltZW91dAogCiB3ZWJraXQub3JnL2IvMjEwMDQ2IFsgUmVs
ZWFzZSBdIHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlLWN1cnNvci1jeWNsZS5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE4MjU3MSBbIERlYnVnIF0gbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVs
bHNjcmVlbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cit3ZWJraXQub3JnL2IvMTgyNTcxIFsgRGVidWcgXSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2NyZWVuLmh0
bWwgWyBQYXNzIFRpbWVvdXQgXQorCisjIG1hY09TIGhhcyBhIHBsYXRmb3JtLXNwZWNpZmljIHRl
c3QgaW4gcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1
YS5odG1sCit3ZWJraXQub3JnL2IvMjA5NjkyIFsgU2llcnJhIEhpZ2hTaWVycmEgTW9qYXZlIENh
dGFsaW5hIF0gZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWRlM2I0MThkNDRhY2Q5NjI2OTI1YTI2
NDI4NmYzNDVhNzc0ODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMg
Z2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgor
PGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5
QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQt
cHVhLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZm
MWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBk
cmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYg
c3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7
Ij5hYmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyAtd2Via2l0LXRl
eHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="411287"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395879</attachid>
            <date>2020-04-08 16:05:07 -0700</date>
            <delta_ts>2020-04-08 17:55:42 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-209692-20200408160506.patch</filename>
            <type>text/plain</type>
            <size>17379</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MDMzMThhZmJkZjRh
ZDQ1ZjM1NTMyYjNhNWU3YjRjYzE0MzM1Mi4uMmVlZGY1MmU4NzhhN2EyYTE3YzFkNzNkYjBlNWVj
M2I5NWJhYmUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA0LTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAyMiBC
VUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAgICAg
ICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dldmVy
LCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVudCBm
b250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAgICBU
aGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBkcmF3
aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNhbiB0
YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAorICAgICAg
ICAgICAgICAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0
LXB1YS5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVU
ZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnRleHQgY29uc3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bik6CisgICAgICAgICogcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6
Y2FuVXNlRm9yU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292
ZXJhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6cHJpbnRSZWFz
b24pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OmNvbXB1dGVUZXh0U2VjdXJpdHlEaXNjU2hvdWxkVXNlUFVBQ29kZVBv
aW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKwog
MjAyMC0wNC0wOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1ha2Ug
bW9yZSB1c2Ugb2YgRnJhbWVMb2FkZXIgcGFnZUlEL2ZyYW1lSUQgZ2V0dGVycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCmluZGV4IGMxNGIwZmM3YmRkNzliYzg4
ZWVmMTFlYmE1ZDRiNmY1YjE0NDU3ZTEuLmM2OTM0ZmQ5YWU0NGJjMTEyY2RkNGMxNDEzMmNjYWEz
YmM1N2UzNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAK
QEAgLTE0MTQsMTcgKzE0MTQsMjMgQEAgVGV4dFJ1biBJbmxpbmVUZXh0Qm94OjpjcmVhdGVUZXh0
UnVuKGJvb2wgaWdub3JlQ29tYmluZWRUZXh0LCBib29sIGlnbm9yZUh5cGhlbikKIAogU3RyaW5n
IElubGluZVRleHRCb3g6OnRleHQoYm9vbCBpZ25vcmVDb21iaW5lZFRleHQsIGJvb2wgaWdub3Jl
SHlwaGVuKSBjb25zdAogeworICAgIFN0cmluZyByZXN1bHQ7CiAgICAgaWYgKGF1dG8qIGNvbWJp
bmVkVGV4dCA9IHRoaXMtPmNvbWJpbmVkVGV4dCgpKSB7CiAgICAgICAgIGlmIChpZ25vcmVDb21i
aW5lZFRleHQpCi0gICAgICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS50ZXh0KCkuc3Vic3RyaW5n
KG1fc3RhcnQsIG1fbGVuKTsKLSAgICAgICAgcmV0dXJuIGNvbWJpbmVkVGV4dC0+Y29tYmluZWRT
dHJpbmdGb3JSZW5kZXJpbmcoKTsKLSAgICB9Ci0gICAgaWYgKGhhc0h5cGhlbigpKSB7CisgICAg
ICAgICAgICByZXN1bHQgPSByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFydCwgbV9s
ZW4pOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBjb21iaW5lZFRleHQtPmNv
bWJpbmVkU3RyaW5nRm9yUmVuZGVyaW5nKCk7CisgICAgfSBlbHNlIGlmIChoYXNIeXBoZW4oKSkg
ewogICAgICAgICBpZiAoaWdub3JlSHlwaGVuKQotICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVy
KCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7Ci0gICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKFN0cmluZ1ZpZXcocmVuZGVyZXIoKS50ZXh0KCkpLnN1YnN0cmluZyhtX3N0YXJ0LCBt
X2xlbiksIGxpbmVTdHlsZSgpLmh5cGhlblN0cmluZygpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJl
bmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7CisgICAgICAgICAgICBy
ZXN1bHQgPSByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBtYWtlU3RyaW5nKFN0cmluZ1ZpZXcocmVu
ZGVyZXIoKS50ZXh0KCkpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbiksIGxpbmVTdHlsZSgpLmh5
cGhlblN0cmluZygpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIoKS50
ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKworICAgIC8vIFRoaXMgd29ya3MgYmVj
YXVzZSB0aGlzIHJlcGxhY2VtZW50IGRvZXNuJ3QgYWZmZWN0IHN0cmluZyBpbmRpY2VzLiBXZSdy
ZSByZXBsYWNpbmcgYSBzaW5nbGUgVW5pY29kZSBjb2RlIHVuaXQgd2l0aCBhbm90aGVyIFVuaWNv
ZGUgY29kZSB1bml0LgorICAgIC8vIEhvdyBjb252ZW5pZW50LgorICAgIHJldHVybiBSZW5kZXJC
bG9jazo6dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVycyhsaW5lU3R5bGUoKSwgV1RGTW92ZShy
ZXN1bHQpKTsKIH0KIAogaW5saW5lIGNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBJbmxpbmVUZXh0
Qm94Ojpjb21iaW5lZFRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKaW5kZXggZWM2ZmQ4Y2ZmZTY3MWZmODhlZjI1M2VkYjI5OWY5MzQwNTRiZjFjNy4u
ZmU4Yjk3NDBjNzlhNzdkOWE2OWFkMDQ3YzhmZmVhNjE5MDE5YTg4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zMTI3LDcgKzMxMjcsMTMgQEAgVGV4dFJ1
biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihTdHJpbmdWaWV3IHN0cmluZ1ZpZXcsIGNv
bnN0IFJlbmRlclN0eWxlJgogICAgICAgICBpZiAoZmxhZ3MgJiBSZXNwZWN0RGlyZWN0aW9uT3Zl
cnJpZGUpCiAgICAgICAgICAgICBkaXJlY3Rpb25hbE92ZXJyaWRlIHw9IGlzT3ZlcnJpZGUoc3R5
bGUudW5pY29kZUJpZGkoKSk7CiAgICAgfQotICAgIHJldHVybiBUZXh0UnVuKHN0cmluZ1ZpZXcs
IDAsIDAsIGV4cGFuc2lvbiwgdGV4dERpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSk7CisK
KyAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2U6CisgICAgLy8gMS4gVGV4dFJ1biBvd25zIGl0cyB0
ZXh0IHN0cmluZy4gSXRzIG1lbWJlciBpcyBhIFN0cmluZywgbm90IGEgU3RyaW5nVmlldworICAg
IC8vIDIuIFRoaXMgcmVwbGFjZW1lbnQgZG9lc24ndCBhZmZlY3Qgc3RyaW5nIGluZGljZXMuIFdl
J3JlIHJlcGxhY2luZyBhIHNpbmdsZSBVbmljb2RlIGNvZGUgdW5pdCB3aXRoIGFub3RoZXIgVW5p
Y29kZSBjb2RlIHVuaXQuCisgICAgLy8gSG93IGNvbnZlbmllbnQuCisgICAgYXV0byB1cGRhdGVk
U3RyaW5nID0gUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0NoYXJhY3RlcnMoc3R5bGUs
IHN0cmluZ1ZpZXcudG9TdHJpbmdXaXRob3V0Q29weWluZygpKTsKKyAgICByZXR1cm4gVGV4dFJ1
bihXVEZNb3ZlKHVwZGF0ZWRTdHJpbmcpLCAwLCAwLCBleHBhbnNpb24sIHRleHREaXJlY3Rpb24s
IGRpcmVjdGlvbmFsT3ZlcnJpZGUpOwogfQogCiBUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1
Y3RUZXh0UnVuKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUs
IEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbiwgVGV4dFJ1bkZsYWdzIGZsYWdzKQpAQCAtMzUw
NSw1ICszNTExLDI5IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmhpdFRlc3RFeGNsdWRlZENoaWxkcmVu
SW5Cb3JkZXIoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsCiAgICAgTGF5b3V0UG9pbnQg
Y2hpbGRQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKGxlZ2VuZCwgYWNjdW11bGF0
ZWRPZmZzZXQpOwogICAgIHJldHVybiBsZWdlbmQtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3Vs
dCwgbG9jYXRpb25JbkNvbnRhaW5lciwgY2hpbGRQb2ludCwgY2hpbGRIaXRUZXN0KTsKIH0KKwor
U3RyaW5nIFJlbmRlckJsb2NrOjp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKGNvbnN0IFJl
bmRlclN0eWxlJiBzdHlsZSwgU3RyaW5nJiYgc3RyaW5nKQoreworI2lmICFQTEFURk9STShDT0NP
QSkKKyAgICByZXR1cm4gV1RGTW92ZShzdHJpbmcpOworI2Vsc2UKKyAgICBpZiAoc3R5bGUudGV4
dFNlY3VyaXR5KCkgPT0gVGV4dFNlY3VyaXR5OjpOb25lKQorICAgICAgICByZXR1cm4gV1RGTW92
ZShzdHJpbmcpOworICAgIC8vIFRoaXMgUFVBIGNoYXJhY3RlciBpbiB0aGUgc3lzdGVtIGZvbnQg
aXMgdXNlZCB0byByZW5kZXIgcGFzc3dvcmQgZmllbGQgZG90cyBvbiBDb2NvYSBwbGF0Zm9ybXMu
CisgICAgY29uc3RleHByIFVDaGFyIHRleHRTZWN1cml0eURpc2NQVUFDb2RlUG9pbnQgPSAweEY3
OUE7CisgICAgYXV0byYgZm9udCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKTsK
KyAgICBpZiAoIShmb250LnBsYXRmb3JtRGF0YSgpLmlzU3lzdGVtRm9udCgpICYmIGZvbnQuZ2x5
cGhGb3JDaGFyYWN0ZXIodGV4dFNlY3VyaXR5RGlzY1BVQUNvZGVQb2ludCkpKQorICAgICAgICBy
ZXR1cm4gV1RGTW92ZShzdHJpbmcpOworCisgICAgLy8gU2VlIFJlbmRlclRleHQ6OnNldFJlbmRl
cmVkVGV4dCgpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBjb25zdGV4cHIgVUNoYXIg
ZGlzY0NoYXJhY3RlclRvUmVwbGFjZSA9IGJsYWNrQ2lyY2xlOworI2Vsc2UKKyAgICBjb25zdGV4
cHIgVUNoYXIgZGlzY0NoYXJhY3RlclRvUmVwbGFjZSA9IGJ1bGxldDsKKyNlbmRpZgorCisgICAg
cmV0dXJuIHN0cmluZy5yZXBsYWNlKGRpc2NDaGFyYWN0ZXJUb1JlcGxhY2UsIHRleHRTZWN1cml0
eURpc2NQVUFDb2RlUG9pbnQpOworI2VuZGlmCit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGMzNGVmZmIzMGZk
NzUxMzcxZDRmNzBlYWQ3ZWM1ZDBlZDJiNjdmZTkuLjQ1MzZmNjVmOTNkYTExN2I1YmJkYjM4NjZk
N2U2NTRiOThhOGJjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBA
IC0zMTgsNiArMzE4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlc2V0
Q2hpbGRMb2dpY2FsSGVpZ2h0QmVmb3JlTGF5b3V0KGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKKyAgICBzdGF0aWMgU3RyaW5nIHVwZGF0ZVNlY3VyaXR5RGlzY0No
YXJhY3RlcnMoY29uc3QgUmVuZGVyU3R5bGUmLCBTdHJpbmcmJik7CisKIHByb3RlY3RlZDoKICAg
ICBSZW5kZXJGcmFnbWVudGVkRmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBj
b25zdCBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IGE5MjU1NzZiNWQ3ZGE3N2Uw
NDdkY2ZlZjhkNTBjYTcyY2Y1NDYwYWEuLjFjY2Y5NjcyNGU0ZTNkMWExMzdhZTI5ODFiYjM1NDk5
Njc1ZDIwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEx
NjYsNiArMTE2Niw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6c2V0UmVuZGVyZWRUZXh0KGNvbnN0IFN0
cmluZyYgbmV3VGV4dCkKICAgICBpZiAoc3R5bGUudGV4dFRyYW5zZm9ybSgpICE9IFRleHRUcmFu
c2Zvcm06Ok5vbmUpCiAgICAgICAgIG1fdGV4dCA9IGFwcGx5VGV4dFRyYW5zZm9ybShzdHlsZSwg
bV90ZXh0LCBwcmV2aW91c0NoYXJhY3RlcigpKTsKIAorICAgIC8vIEF0IHJlbmRlcmluZyB0aW1l
LCBpZiBjZXJ0YWluIGZvbnRzIGFyZSB1c2VkLCB0aGVzZSBjaGFyYWN0ZXJzIGdldCBzd2FwcGVk
IG91dCB3aXRoIGhpZ2hlci1xdWFsaXR5IFBVQSBjaGFyYWN0ZXJzLgorICAgIC8vIFNlZSBSZW5k
ZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVycygpLgogICAgIHN3aXRjaCAoc3R5
bGUudGV4dFNlY3VyaXR5KCkpIHsKICAgICBjYXNlIFRleHRTZWN1cml0eTo6Tm9uZToKICAgICAg
ICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5j
cHAKaW5kZXggN2FkNGUxOWJkYmJhYWNlNWM5NjY3ZDJkNTFhYWQwMjViYjlmNmJjMC4uNjk4Y2Vl
NWJhMmQ3OGI5MjEwOWIyZTVkOTBiZDVkZWJlOTc0NDEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcApAQCAtMjQwLDYgKzI0MCwxMCBAQCBzdGF0
aWMgQXZvaWRhbmNlUmVhc29uRmxhZ3MgY2FuVXNlRm9yU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUm
IHN0eWxlLCBJbmNsdWRlUmVhcwogICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVF
REVEKEZsb3dIYXNOb25BdXRvTGluZUJyZWFrLCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAg
ICAgaWYgKHN0eWxlLm5ic3BNb2RlKCkgIT0gTkJTUE1vZGU6Ok5vcm1hbCkKICAgICAgICAgU0VU
X1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzV2ViS2l0TkJTUE1vZGUsIHJlYXNv
bnMsIGluY2x1ZGVSZWFzb25zKTsKKyAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9mIHRleHQtc2Vj
dXJpdHk6ZGlzYyBpcyBub3QgeWV0IGltcGxlbWVudGVkIGluIHRoZSBzaW1wbGUgbGluZSBsYXlv
dXQgY29kZSBwYXRoLgorICAgIC8vIFNlZSBSZW5kZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNj
Q2hhcmFjdGVycy4KKyAgICBpZiAoc3R5bGUudGV4dFNlY3VyaXR5KCkgIT0gVGV4dFNlY3VyaXR5
OjpOb25lKQorICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNU
ZXh0U2VjdXJpdHksIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoc3R5bGUuaHlw
aGVucygpID09IEh5cGhlbnM6OkF1dG8pIHsKICAgICAgICAgYXV0byB0ZXh0UmVhc29ucyA9IGNh
blVzZUZvclRleHQoc3R5bGUuaHlwaGVuU3RyaW5nKCksIHN0eWxlLmZvbnRDYXNjYWRlKCksIFdU
Rjo6bnVsbG9wdCwgZmFsc2UsIGluY2x1ZGVSZWFzb25zKTsKICAgICAgICAgaWYgKHRleHRSZWFz
b25zICE9IE5vUmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dENvdmVyYWdlLmNwcAppbmRleCA1NWY1ZmQzNzA3NmI4MjUzY2UxNTk5Zjcw
Y2FmZTZjY2RhNWQyMjQ4Li41NzY4MTE2MzgyODBhZjgzMTgwNGQxNjA0YzA0NTRkMzJmYjc0MzE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENv
dmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dENvdmVyYWdlLmNwcApAQCAtMTM1LDYgKzEzNSw5IEBAIHN0YXRpYyB2b2lkIHByaW50UmVhc29u
KEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRTdHJlYW0mIHN0cmVhbSkKICAgICBjYXNlIEZs
b3dIYXNOb25BdXRvTGluZUJyZWFrOgogICAgICAgICBzdHJlYW0gPDwgImxpbmUtYnJlYWsgaXMg
bm90IGF1dG8iOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEZsb3dIYXNUZXh0U2VjdXJpdHk6
CisgICAgICAgIHN0cmVhbSA8PCAidGV4dC1zZWN1cml0eSBpcyBub3Qgbm9uZSI7CisgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgRmxvd0hhc1NWR0ZvbnQ6CiAgICAgICAgIHN0cmVhbSA8PCAiU1ZH
IGZvbnQiOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaAppbmRleCA0ZjlmYTFiMDk2NGNmODBhMzE4OTk2
YWZlYjcxN2UyNzJlNDBlYWNhLi4zODI0ZTk1MGM0YTA5MzAzYjgxOWUyMjYzM2I1OGEzZWNlNjBi
NWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dENvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRDb3ZlcmFnZS5oCkBAIC02Niw2ICs2Niw3IEBAIGVudW0gQXZvaWRhbmNlUmVhc29uXyA6IHVp
bnQ2NF90IHsKICAgICBGbG93SGFzVGV4dEZpbGxCb3ggICAgICAgICAgICAgICAgICAgID0gMUxM
VSAgPDwgMjgsCiAgICAgRmxvd0hhc0JvcmRlckZpdExpbmVzICAgICAgICAgICAgICAgICA9IDFM
TFUgIDw8IDI5LAogICAgIEZsb3dIYXNOb25BdXRvTGluZUJyZWFrICAgICAgICAgICAgICAgPSAx
TExVICA8PCAzMCwKKyAgICBGbG93SGFzVGV4dFNlY3VyaXR5ICAgICAgICAgICAgICAgICAgID0g
MUxMVSAgPDwgMzEsCiAgICAgRmxvd0hhc1NWR0ZvbnQgICAgICAgICAgICAgICAgICAgICAgICA9
IDFMTFUgIDw8IDMyLAogICAgIEZsb3dUZXh0SXNFbXB0eSAgICAgICAgICAgICAgICAgICAgICAg
PSAxTExVICA8PCAzMywKICAgICBGbG93VGV4dEhhc1NvZnRIeXBoZW4gICAgICAgICAgICAgICAg
ID0gMUxMVSAgPDwgMzQsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzZmMzkzZTcwNDg4M2U3ZGQ4OWI5MGZkZDNkMzM3YTMz
ZDNjZGY2NS4uMmQ5OWY3N2RkNjkyZThkNWFhYmFkODg4MDJiMDg5MTQ4ZjhlY2EzMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQYXNzd29yZCBvYnNjdXJpbmcgZG90cyBk
cmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9vIHNtYWxsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2OTIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgICogZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVs
bGV0LXB1YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3Rl
eHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3Vy
aXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTA4ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIENyYXNoIHVuZGVy
IFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2ZlNGUzNWM4OWJiZDczODZlYTU0YWU3OGE0M2Vm
Yzk5NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29y
cmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4
IHN5c3RlbS11aTsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gy
MDIyOyYjeDIwMjI7PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAy
MjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Rl
eHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYy
Nzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCkBAIC0wLDAg
KzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXdu
IHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHls
ZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFi
Y2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7IC13ZWJraXQtdGV4dC1z
ZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjRjMmY1YTkxNmIwYjJlZmY0
MGZlNzdhMmQ1MDliMjk4NDQwMDZmOC4uZTQzN2QzMTliYjQ4MDFlY2M2ZjU1MzhmYWU1MDg0MTMx
OWMxNTdhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM1MjUsMyArMzUyNSw2IEBAIHdlYmtpdC5vcmcvYi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wv
c2ltdWxhdGVkLXZlcnRleEF0dHJpYjAtaW52YWxpZC1pbmRpY2llcy5oCiAKIHdlYmtpdC5vcmcv
Yi8yMDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2Zv
Y3VzLXZpc2libGUtMDA3Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA5
Lmh0bWwgWyBTa2lwIF0KKworIyBpT1MgaGFzIGEgcGxhdGZvcm0tc3BlY2lmaWMgdGVzdCBpbiBw
bGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwK
K3dlYmtpdC5vcmcvYi8yMDk2OTIgcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5
LWRpc2MtYnVsbGV0LXB1YS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxs
ZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0
L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTIyOGY4OTJjYWNhMTk0NzY2MWRjODI0YTIyZmI3YTU2OTczZTljYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQt
c2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVp
OyI+JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5
QTs8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7Ij4mI3gyNUNGOyYjeDI1Q0Y7
JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90
ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRhYWU0NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHkt
ZGlzYy1idWxsZXQtcHVhLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3Vy
aXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdl
YmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBiYWVhMGM3OWYzM2QyODA5MTI5MWQyNGMxMjE3ZjdkMDJiNWY5OWI1Li5hYTU5
YjBkN2EzNGI1YjY2YTMyZWIwOTg3Yjk4ZTAwNTk5ZmVmMDY3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk3Myw0ICsxOTczLDcgQEAgd2Via2l0Lm9y
Zy9iLzIwOTkwOCBzdmcvY3VzdG9tL2FuaW1hdGUtaW5pdGlhbC1wYXVzZS11bnBhdXNlLmh0bWwg
WyBQYXNzIFRpbWVvdXQKIAogd2Via2l0Lm9yZy9iLzIxMDA0NiBbIFJlbGVhc2UgXSBzdG9yYWdl
L2luZGV4ZWRkYi92YWx1ZS1jdXJzb3ItY3ljbGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdl
YmtpdC5vcmcvYi8xODI1NzEgWyBEZWJ1ZyBdIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90
cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbCBb
IFBhc3MgVGltZW91dCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9i
LzE4MjU3MSBbIERlYnVnIF0gbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBw
b3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KKworIyBtYWNPUyBoYXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyB0ZXN0IGluIHBsYXRmb3Jt
L21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAord2Via2l0
Lm9yZy9iLzIwOTY5MiBbIFNpZXJyYSBIaWdoU2llcnJhIE1vamF2ZSBDYXRhbGluYSBdIHBsYXRm
b3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0
LXB1YS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZGUzYjQxOGQ0NGFjZDk2MjY5MjVhMjY0
Mjg2ZjM0NWE3NzQ4MjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBn
ZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8
ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlB
OyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYj
eDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1w
dWEuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0
eS1kaXNjLWJ1bGxldC1wdWEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWFlNDcwMWE2ZjI3ODk4ZTJkZmYx
YTMzMmFlNGU3OTFhZjQ2NzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRy
YXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBz
dHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsi
PmFiY2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7IC13ZWJraXQtdGV4
dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395893</attachid>
            <date>2020-04-08 17:59:43 -0700</date>
            <delta_ts>2020-04-15 14:12:49 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-209692-20200408175942.patch</filename>
            <type>text/plain</type>
            <size>17459</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MDMzMThhZmJkZjRh
ZDQ1ZjM1NTMyYjNhNWU3YjRjYzE0MzM1Mi4uNjQ2MGMzMjUyMGI0NzJkYTY4ZjNmY2QzZTQxYmY5
OWU2NzI1MWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA0LTA4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAyMiBC
VUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAgICAg
ICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dldmVy
LCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVudCBm
b250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAgICBU
aGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBkcmF3
aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNhbiB0
YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAorICAgICAg
ICAgICAgICAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0
LXB1YS1tYWMuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5n
L0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6dGV4
dCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5l
TGF5b3V0OjpjYW5Vc2VGb3JTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRDb3ZlcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0Ojpw
cmludFJlYXNvbik6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFn
ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZVRleHRTZWN1cml0eURpc2NTaG91bGRVc2VQ
VUFDb2RlUG9pbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorCiAyMDIwLTA0LTA4ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTWFrZSBtb3JlIHVzZSBvZiBGcmFtZUxvYWRlciBwYWdlSUQvZnJhbWVJRCBnZXR0ZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggYzE0YjBmYzdi
ZGQ3OWJjODhlZWYxMWViYTVkNGI2ZjViMTQ0NTdlMS4uYzY5MzRmZDlhZTQ0YmMxMTJjZGQ0YzE0
MTMyY2NhYTNiYzU3ZTM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcApAQCAtMTQxNCwxNyArMTQxNCwyMyBAQCBUZXh0UnVuIElubGluZVRleHRCb3g6OmNy
ZWF0ZVRleHRSdW4oYm9vbCBpZ25vcmVDb21iaW5lZFRleHQsIGJvb2wgaWdub3JlSHlwaGVuKQog
CiBTdHJpbmcgSW5saW5lVGV4dEJveDo6dGV4dChib29sIGlnbm9yZUNvbWJpbmVkVGV4dCwgYm9v
bCBpZ25vcmVIeXBoZW4pIGNvbnN0CiB7CisgICAgU3RyaW5nIHJlc3VsdDsKICAgICBpZiAoYXV0
byogY29tYmluZWRUZXh0ID0gdGhpcy0+Y29tYmluZWRUZXh0KCkpIHsKICAgICAgICAgaWYgKGln
bm9yZUNvbWJpbmVkVGV4dCkKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5z
dWJzdHJpbmcobV9zdGFydCwgbV9sZW4pOwotICAgICAgICByZXR1cm4gY29tYmluZWRUZXh0LT5j
b21iaW5lZFN0cmluZ0ZvclJlbmRlcmluZygpOwotICAgIH0KLSAgICBpZiAoaGFzSHlwaGVuKCkp
IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0
YXJ0LCBtX2xlbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IGNvbWJpbmVk
VGV4dC0+Y29tYmluZWRTdHJpbmdGb3JSZW5kZXJpbmcoKTsKKyAgICB9IGVsc2UgaWYgKGhhc0h5
cGhlbigpKSB7CiAgICAgICAgIGlmIChpZ25vcmVIeXBoZW4pCi0gICAgICAgICAgICByZXR1cm4g
cmVuZGVyZXIoKS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKLSAgICAgICAgcmV0
dXJuIG1ha2VTdHJpbmcoU3RyaW5nVmlldyhyZW5kZXJlcigpLnRleHQoKSkuc3Vic3RyaW5nKG1f
c3RhcnQsIG1fbGVuKSwgbGluZVN0eWxlKCkuaHlwaGVuU3RyaW5nKCkpOwotICAgIH0KLSAgICBy
ZXR1cm4gcmVuZGVyZXIoKS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAg
ICAgICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xl
bik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IG1ha2VTdHJpbmcoU3RyaW5n
VmlldyhyZW5kZXJlcigpLnRleHQoKSkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKSwgbGluZVN0
eWxlKCkuaHlwaGVuU3RyaW5nKCkpOworICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSByZW5k
ZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pOworCisgICAgLy8gVGhpcyB3
b3JrcyBiZWNhdXNlIHRoaXMgcmVwbGFjZW1lbnQgZG9lc24ndCBhZmZlY3Qgc3RyaW5nIGluZGlj
ZXMuIFdlJ3JlIHJlcGxhY2luZyBhIHNpbmdsZSBVbmljb2RlIGNvZGUgdW5pdCB3aXRoIGFub3Ro
ZXIgVW5pY29kZSBjb2RlIHVuaXQuCisgICAgLy8gSG93IGNvbnZlbmllbnQuCisgICAgcmV0dXJu
IFJlbmRlckJsb2NrOjp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKGxpbmVTdHlsZSgpLCBX
VEZNb3ZlKHJlc3VsdCkpOwogfQogCiBpbmxpbmUgY29uc3QgUmVuZGVyQ29tYmluZVRleHQqIElu
bGluZVRleHRCb3g6OmNvbWJpbmVkVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAppbmRleCBlYzZmZDhjZmZlNjcxZmY4OGVmMjUzZWRiMjk5ZjkzNDA1
NGJmMWM3Li5mZThiOTc0MGM3OWE3N2Q5YTY5YWQwNDdjOGZmZWE2MTkwMTlhODgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTMxMjcsNyArMzEyNywxMyBA
QCBUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKFN0cmluZ1ZpZXcgc3RyaW5n
VmlldywgY29uc3QgUmVuZGVyU3R5bGUmCiAgICAgICAgIGlmIChmbGFncyAmIFJlc3BlY3REaXJl
Y3Rpb25PdmVycmlkZSkKICAgICAgICAgICAgIGRpcmVjdGlvbmFsT3ZlcnJpZGUgfD0gaXNPdmVy
cmlkZShzdHlsZS51bmljb2RlQmlkaSgpKTsKICAgICB9Ci0gICAgcmV0dXJuIFRleHRSdW4oc3Ry
aW5nVmlldywgMCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0aW9uLCBkaXJlY3Rpb25hbE92ZXJy
aWRlKTsKKworICAgIC8vIFRoaXMgd29ya3MgYmVjYXVzZToKKyAgICAvLyAxLiBUZXh0UnVuIG93
bnMgaXRzIHRleHQgc3RyaW5nLiBJdHMgbWVtYmVyIGlzIGEgU3RyaW5nLCBub3QgYSBTdHJpbmdW
aWV3CisgICAgLy8gMi4gVGhpcyByZXBsYWNlbWVudCBkb2Vzbid0IGFmZmVjdCBzdHJpbmcgaW5k
aWNlcy4gV2UncmUgcmVwbGFjaW5nIGEgc2luZ2xlIFVuaWNvZGUgY29kZSB1bml0IHdpdGggYW5v
dGhlciBVbmljb2RlIGNvZGUgdW5pdC4KKyAgICAvLyBIb3cgY29udmVuaWVudC4KKyAgICBhdXRv
IHVwZGF0ZWRTdHJpbmcgPSBSZW5kZXJCbG9jazo6dXBkYXRlU2VjdXJpdHlEaXNjQ2hhcmFjdGVy
cyhzdHlsZSwgc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpOworICAgIHJldHVy
biBUZXh0UnVuKFdURk1vdmUodXBkYXRlZFN0cmluZyksIDAsIDAsIGV4cGFuc2lvbiwgdGV4dERp
cmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSk7CiB9CiAKIFRleHRSdW4gUmVuZGVyQmxvY2s6
OmNvbnN0cnVjdFRleHRSdW4oY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uLCBUZXh0UnVuRmxhZ3MgZmxhZ3Mp
CkBAIC0zNTA1LDUgKzM1MTEsMjkgQEAgYm9vbCBSZW5kZXJCbG9jazo6aGl0VGVzdEV4Y2x1ZGVk
Q2hpbGRyZW5JbkJvcmRlcihjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwKICAgICBMYXlv
dXRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQobGVnZW5kLCBh
Y2N1bXVsYXRlZE9mZnNldCk7CiAgICAgcmV0dXJuIGxlZ2VuZC0+bm9kZUF0UG9pbnQocmVxdWVz
dCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBjaGlsZFBvaW50LCBjaGlsZEhpdFRlc3Qp
OwogfQorCitTdHJpbmcgUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0NoYXJhY3RlcnMo
Y29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBTdHJpbmcmJiBzdHJpbmcpCit7CisjaWYgIVBMQVRG
T1JNKENPQ09BKQorICAgIHJldHVybiBXVEZNb3ZlKHN0cmluZyk7CisjZWxzZQorICAgIGlmIChz
dHlsZS50ZXh0U2VjdXJpdHkoKSA9PSBUZXh0U2VjdXJpdHk6Ok5vbmUpCisgICAgICAgIHJldHVy
biBXVEZNb3ZlKHN0cmluZyk7CisgICAgLy8gVGhpcyBQVUEgY2hhcmFjdGVyIGluIHRoZSBzeXN0
ZW0gZm9udCBpcyB1c2VkIHRvIHJlbmRlciBwYXNzd29yZCBmaWVsZCBkb3RzIG9uIENvY29hIHBs
YXRmb3Jtcy4KKyAgICBjb25zdGV4cHIgVUNoYXIgdGV4dFNlY3VyaXR5RGlzY1BVQUNvZGVQb2lu
dCA9IDB4Rjc5QTsKKyAgICBhdXRvJiBmb250ID0gc3R5bGUuZm9udENhc2NhZGUoKS5wcmltYXJ5
Rm9udCgpOworICAgIGlmICghKGZvbnQucGxhdGZvcm1EYXRhKCkuaXNTeXN0ZW1Gb250KCkgJiYg
Zm9udC5nbHlwaEZvckNoYXJhY3Rlcih0ZXh0U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50KSkpCisg
ICAgICAgIHJldHVybiBXVEZNb3ZlKHN0cmluZyk7CisKKyAgICAvLyBTZWUgUmVuZGVyVGV4dDo6
c2V0UmVuZGVyZWRUZXh0KCkKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGNvbnN0ZXhw
ciBVQ2hhciBkaXNjQ2hhcmFjdGVyVG9SZXBsYWNlID0gYmxhY2tDaXJjbGU7CisjZWxzZQorICAg
IGNvbnN0ZXhwciBVQ2hhciBkaXNjQ2hhcmFjdGVyVG9SZXBsYWNlID0gYnVsbGV0OworI2VuZGlm
CisKKyAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoZGlzY0NoYXJhY3RlclRvUmVwbGFjZSwgdGV4
dFNlY3VyaXR5RGlzY1BVQUNvZGVQb2ludCk7CisjZW5kaWYKK30KICAgICAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggYzM0
ZWZmYjMwZmQ3NTEzNzFkNGY3MGVhZDdlYzVkMGVkMmI2N2ZlOS4uNDUzNmY2NWY5M2RhMTE3YjVi
YmRiMzg2NmQ3ZTY1NGI5OGE4YmMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKQEAgLTMxOCw2ICszMTgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkUmVzZXRDaGlsZExvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXQoY29uc3QgUmVuZGVyQm94Jikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHN0YXRpYyBTdHJpbmcgdXBkYXRlU2VjdXJp
dHlEaXNjQ2hhcmFjdGVycyhjb25zdCBSZW5kZXJTdHlsZSYsIFN0cmluZyYmKTsKKwogcHJvdGVj
dGVkOgogICAgIFJlbmRlckZyYWdtZW50ZWRGbG93KiBsb2NhdGVFbmNsb3NpbmdGcmFnbWVudGVk
RmxvdygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggYTkyNTU3NmI1
ZDdkYTc3ZTA0N2RjZmVmOGQ1MGNhNzJjZjU0NjBhYS4uMWNjZjk2NzI0ZTRlM2QxYTEzN2FlMjk4
MWJiMzU0OTk2NzVkMjA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cApAQCAtMTE2Niw2ICsxMTY2LDggQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRSZW5kZXJlZFRleHQo
Y29uc3QgU3RyaW5nJiBuZXdUZXh0KQogICAgIGlmIChzdHlsZS50ZXh0VHJhbnNmb3JtKCkgIT0g
VGV4dFRyYW5zZm9ybTo6Tm9uZSkKICAgICAgICAgbV90ZXh0ID0gYXBwbHlUZXh0VHJhbnNmb3Jt
KHN0eWxlLCBtX3RleHQsIHByZXZpb3VzQ2hhcmFjdGVyKCkpOwogCisgICAgLy8gQXQgcmVuZGVy
aW5nIHRpbWUsIGlmIGNlcnRhaW4gZm9udHMgYXJlIHVzZWQsIHRoZXNlIGNoYXJhY3RlcnMgZ2V0
IHN3YXBwZWQgb3V0IHdpdGggaGlnaGVyLXF1YWxpdHkgUFVBIGNoYXJhY3RlcnMuCisgICAgLy8g
U2VlIFJlbmRlckJsb2NrOjp1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKCkuCiAgICAgc3dp
dGNoIChzdHlsZS50ZXh0U2VjdXJpdHkoKSkgewogICAgIGNhc2UgVGV4dFNlY3VyaXR5OjpOb25l
OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0LmNwcAppbmRleCA3YWQ0ZTE5YmRiYmFhY2U1Yzk2NjdkMmQ1MWFhZDAyNWJiOWY2YmMw
Li42OThjZWU1YmEyZDc4YjkyMTA5YjJlNWQ5MGJkNWRlYmU5NzQ0MTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCkBAIC0yNDAsNiArMjQwLDEw
IEBAIHN0YXRpYyBBdm9pZGFuY2VSZWFzb25GbGFncyBjYW5Vc2VGb3JTdHlsZShjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUsIEluY2x1ZGVSZWFzCiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVS
Tl9JRl9ORUVERUQoRmxvd0hhc05vbkF1dG9MaW5lQnJlYWssIHJlYXNvbnMsIGluY2x1ZGVSZWFz
b25zKTsKICAgICBpZiAoc3R5bGUubmJzcE1vZGUoKSAhPSBOQlNQTW9kZTo6Tm9ybWFsKQogICAg
ICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNXZWJLaXROQlNQTW9k
ZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOworICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Yg
dGV4dC1zZWN1cml0eTpkaXNjIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgaW4gdGhlIHNpbXBsZSBs
aW5lIGxheW91dCBjb2RlIHBhdGguCisgICAgLy8gU2VlIFJlbmRlckJsb2NrOjp1cGRhdGVTZWN1
cml0eURpc2NDaGFyYWN0ZXJzLgorICAgIGlmIChzdHlsZS50ZXh0U2VjdXJpdHkoKSAhPSBUZXh0
U2VjdXJpdHk6Ok5vbmUpCisgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQo
Rmxvd0hhc1RleHRTZWN1cml0eSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChz
dHlsZS5oeXBoZW5zKCkgPT0gSHlwaGVuczo6QXV0bykgewogICAgICAgICBhdXRvIHRleHRSZWFz
b25zID0gY2FuVXNlRm9yVGV4dChzdHlsZS5oeXBoZW5TdHJpbmcoKSwgc3R5bGUuZm9udENhc2Nh
ZGUoKSwgV1RGOjpudWxsb3B0LCBmYWxzZSwgaW5jbHVkZVJlYXNvbnMpOwogICAgICAgICBpZiAo
dGV4dFJlYXNvbnMgIT0gTm9SZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3BwCmluZGV4IDU1ZjVmZDM3MDc2YjgyNTNj
ZTE1OTlmNzBjYWZlNmNjZGE1ZDIyNDguLjU3NjgxMTYzODI4MGFmODMxODA0ZDE2MDRjMDQ1NGQz
MmZiNzQzMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0Q292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVM
aW5lTGF5b3V0Q292ZXJhZ2UuY3BwCkBAIC0xMzUsNiArMTM1LDkgQEAgc3RhdGljIHZvaWQgcHJp
bnRSZWFzb24oQXZvaWRhbmNlUmVhc29uIHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQogICAg
IGNhc2UgRmxvd0hhc05vbkF1dG9MaW5lQnJlYWs6CiAgICAgICAgIHN0cmVhbSA8PCAibGluZS1i
cmVhayBpcyBub3QgYXV0byI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgRmxvd0hhc1RleHRT
ZWN1cml0eToKKyAgICAgICAgc3RyZWFtIDw8ICJ0ZXh0LXNlY3VyaXR5IGlzIG5vdCBub25lIjsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGbG93SGFzU1ZHRm9udDoKICAgICAgICAgc3RyZWFt
IDw8ICJTVkcgZm9udCI7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oCmluZGV4IDRmOWZhMWIwOTY0Y2Y4
MGEzMTg5OTZhZmViNzE3ZTI3MmU0MGVhY2EuLjM4MjRlOTUwYzRhMDkzMDNiODE5ZTIyNjMzYjU4
YTNlY2U2MGI1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVM
aW5lTGF5b3V0Q292ZXJhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dENvdmVyYWdlLmgKQEAgLTY2LDYgKzY2LDcgQEAgZW51bSBBdm9pZGFuY2VSZWFz
b25fIDogdWludDY0X3QgewogICAgIEZsb3dIYXNUZXh0RmlsbEJveCAgICAgICAgICAgICAgICAg
ICAgPSAxTExVICA8PCAyOCwKICAgICBGbG93SGFzQm9yZGVyRml0TGluZXMgICAgICAgICAgICAg
ICAgID0gMUxMVSAgPDwgMjksCiAgICAgRmxvd0hhc05vbkF1dG9MaW5lQnJlYWsgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDMwLAorICAgIEZsb3dIYXNUZXh0U2VjdXJpdHkgICAgICAgICAgICAg
ICAgICAgPSAxTExVICA8PCAzMSwKICAgICBGbG93SGFzU1ZHRm9udCAgICAgICAgICAgICAgICAg
ICAgICAgID0gMUxMVSAgPDwgMzIsCiAgICAgRmxvd1RleHRJc0VtcHR5ICAgICAgICAgICAgICAg
ICAgICAgICA9IDFMTFUgIDw8IDMzLAogICAgIEZsb3dUZXh0SGFzU29mdEh5cGhlbiAgICAgICAg
ICAgICAgICAgPSAxTExVICA8PCAzNCwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NmYzOTNlNzA0ODgzZTdkZDg5YjkwZmRk
M2QzMzdhMzNkM2NkZjY1Li45ZjUwNTQzODRlYzdmM2VlODU3MTEyY2MxMzM0NDg1N2U3NjBiOTA5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMDggIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFBhc3N3b3JkIG9ic2N1cmlu
ZyBkb3RzIGRyYXduIHdpdGggdGhlIHN5c3RlbSBmb250IGFyZSB0b28gc21hbGwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTY5MgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjA3ODgzODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3RleHQtc2VjdXJpdHkt
ZGlzYy1idWxsZXQtcHVhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0
L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtaW9zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtbWFjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDIwLTA0LTA4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbbWFjT1NdIENyYXNoIHVuZGVyIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6Y29uc3Vt
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1i
dWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1
cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2ZlNGUz
NWM4OWJiZDczODZlYTU0YWU3OGE0M2VmYzk5NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxk
cyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+
Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeDIwMjI7JiN4MjAyMjsmI3gy
MDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7PC9kaXY+Cis8ZGl2IHN0eWxlPSJm
b250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIy
OyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2Mt
YnVsbGV0LXB1YS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBw
YXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBj
aGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQt
dGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMjRjMmY1YTkxNmIwYjJlZmY0MGZlNzdhMmQ1MDliMjk4NDQwMDZmOC4uMzk2MzY4MTVi
MzgxZmRlZDRhYzliZDhlNmJjZDgwZmE5NTVmNjRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1MjUsMyArMzUyNSw2IEBAIHdlYmtpdC5vcmcvYi8y
MDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2ltdWxhdGVkLXZlcnRleEF0dHJpYjAtaW52YWxpZC1p
bmRpY2llcy5oCiAKIHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA3Lmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA5Lmh0bWwgWyBTa2lwIF0KKworIyBpT1MgaGFzIGEgcGxh
dGZvcm0tc3BlY2lmaWMgdGVzdCBpbiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLmh0bWwKK3dlYmtpdC5vcmcvYi8yMDk2OTIgcGxhdGZvcm0vaW9z
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtaW9zLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIyOGY4OTJjYWNhMTk0NzY2MWRj
ODI0YTIyZmI3YTU2OTczZTljYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3Jk
IGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rl
ci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeEY3OUE7JiN4Rjc5
QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7PC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsm
I3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtaW9zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0
L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWlvcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0
NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxs
ZXQtcHVhLWlvcy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBw
YXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBj
aGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQt
dGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYmFlYTBjNzlmMzNkMjgwOTEyOTFkMjRjMTIxN2Y3ZDAyYjVmOTliNS4uYzY2MDhjZWYz
ZjVlNWQxZDhiY2JjNzAwZGQ1NDRkYjc4ZTI2OGVlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5NzMsNCArMTk3Myw3IEBAIHdlYmtpdC5vcmcvYi8y
MDk5MDggc3ZnL2N1c3RvbS9hbmltYXRlLWluaXRpYWwtcGF1c2UtdW5wYXVzZS5odG1sIFsgUGFz
cyBUaW1lb3V0CiAKIHdlYmtpdC5vcmcvYi8yMTAwNDYgWyBSZWxlYXNlIF0gc3RvcmFnZS9pbmRl
eGVkZGIvdmFsdWUtY3Vyc29yLWN5Y2xlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQu
b3JnL2IvMTgyNTcxIFsgRGVidWcgXSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tz
LXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2NyZWVuLmh0bWwgWyBQYXNz
IFRpbWVvdXQgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8xODI1
NzEgWyBEZWJ1ZyBdIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90
cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbCBbIFBhc3MgVGltZW91dCBd
CisKKyMgbWFjT1MgaGFzIGEgcGxhdGZvcm0tc3BlY2lmaWMgdGVzdCBpbiBwbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKK3dlYmtpdC5vcmcv
Yi8yMDk2OTIgWyBTaWVycmEgSGlnaFNpZXJyYSBNb2phdmUgQ2F0YWxpbmEgXSBwbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW1hYy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW1hYy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVs
bGV0LXB1YS1tYWMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWRlM2I0MThkNDRhY2Q5NjI2
OTI1YTI2NDI4NmYzNDVhNzc0ODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dv
cmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFj
dGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyI+JiN4Rjc5QTsmI3hG
NzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTs8L2Rpdj4KKzxkaXYg
c3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7Ij4mI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIy
OyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRp
c2MtYnVsbGV0LXB1YS1tYWMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFh
ZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1
bGxldC1wdWEtbWFjLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5
IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtp
dC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDog
NDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396573</attachid>
            <date>2020-04-15 14:14:43 -0700</date>
            <delta_ts>2020-04-15 14:17:48 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-209692-20200415141442.patch</filename>
            <type>text/plain</type>
            <size>17831</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE0MGVlMzQ0ZGRmNzVh
YzVlMmE2YWRjZGQ0YTcxODdiM2YzNDE5ZS4uNGU5NDQ0YTdiNzZhZjBlNTcxMmEwMDFkOTcyOTMx
NTIwZGI4YWFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA0LTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAyMiBC
VUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAgICAg
ICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dldmVy
LCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVudCBm
b250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAgICBU
aGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBkcmF3
aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNhbiB0
YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAorICAgICAg
ICAgICAgICAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0
LXB1YS1tYWMuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3Lmh0bWwKKyAgICAgICAgICAgICAgIHBs
YXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW9s
ZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbnN0
cnVjdFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvclN0eWxlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OnByaW50UmVhc29uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21w
dXRlVGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQb2ludCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIwMjAtMDQtMTUgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEFk
ZCBzdXBwb3J0IGZvciBgcHNldWRvRWxlbWVudGAgb24gYEtleWZyYW1lRWZmZWN0YCBhbmQgYEtl
eWZyYW1lRWZmZWN0T3B0aW9uc2AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcAppbmRleCBjMTRiMGZjN2JkZDc5YmM4OGVlZjExZWJhNWQ0YjZmNWIxNDQ1N2UxLi5j
NjkzNGZkOWFlNDRiYzExMmNkZDRjMTQxMzJjY2FhM2JjNTdlMzRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC0xNDE0LDE3ICsxNDE0LDIzIEBAIFRl
eHRSdW4gSW5saW5lVGV4dEJveDo6Y3JlYXRlVGV4dFJ1bihib29sIGlnbm9yZUNvbWJpbmVkVGV4
dCwgYm9vbCBpZ25vcmVIeXBoZW4pCiAKIFN0cmluZyBJbmxpbmVUZXh0Qm94Ojp0ZXh0KGJvb2wg
aWdub3JlQ29tYmluZWRUZXh0LCBib29sIGlnbm9yZUh5cGhlbikgY29uc3QKIHsKKyAgICBTdHJp
bmcgcmVzdWx0OwogICAgIGlmIChhdXRvKiBjb21iaW5lZFRleHQgPSB0aGlzLT5jb21iaW5lZFRl
eHQoKSkgewogICAgICAgICBpZiAoaWdub3JlQ29tYmluZWRUZXh0KQotICAgICAgICAgICAgcmV0
dXJuIHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7Ci0gICAgICAg
IHJldHVybiBjb21iaW5lZFRleHQtPmNvbWJpbmVkU3RyaW5nRm9yUmVuZGVyaW5nKCk7Ci0gICAg
fQotICAgIGlmIChoYXNIeXBoZW4oKSkgeworICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIo
KS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcmVzdWx0ID0gY29tYmluZWRUZXh0LT5jb21iaW5lZFN0cmluZ0ZvclJlbmRlcmluZygp
OworICAgIH0gZWxzZSBpZiAoaGFzSHlwaGVuKCkpIHsKICAgICAgICAgaWYgKGlnbm9yZUh5cGhl
bikKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFy
dCwgbV9sZW4pOwotICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJlbmRlcmVy
KCkudGV4dCgpKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5oeXBoZW5T
dHJpbmcoKSk7Ci0gICAgfQotICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmco
bV9zdGFydCwgbV9sZW4pOworICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIoKS50ZXh0KCku
c3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVz
dWx0ID0gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJlbmRlcmVyKCkudGV4dCgpKS5zdWJzdHJpbmco
bV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5oeXBoZW5TdHJpbmcoKSk7CisgICAgfSBlbHNl
CisgICAgICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBt
X2xlbik7CisKKyAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgdGhpcyByZXBsYWNlbWVudCBkb2Vz
bid0IGFmZmVjdCBzdHJpbmcgaW5kaWNlcy4gV2UncmUgcmVwbGFjaW5nIGEgc2luZ2xlIFVuaWNv
ZGUgY29kZSB1bml0IHdpdGggYW5vdGhlciBVbmljb2RlIGNvZGUgdW5pdC4KKyAgICAvLyBIb3cg
Y29udmVuaWVudC4KKyAgICByZXR1cm4gUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0No
YXJhY3RlcnMobGluZVN0eWxlKCksIFdURk1vdmUocmVzdWx0KSk7CiB9CiAKIGlubGluZSBjb25z
dCBSZW5kZXJDb21iaW5lVGV4dCogSW5saW5lVGV4dEJveDo6Y29tYmluZWRUZXh0KCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDhlMzYzYzIxOWUy
NTNhMTQ3MDExZGY3Yzk1NWYzZTEzNTFiN2FlYzkuLmFiNTllM2Q4ZTJlZTEwNTc3MWVkMTViOTg3
NjkzOTYwOWQ3NTA4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cApAQCAtMzEyNCw3ICszMTI0LDEzIEBAIFRleHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRl
eHRSdW4oU3RyaW5nVmlldyBzdHJpbmdWaWV3LCBjb25zdCBSZW5kZXJTdHlsZSYKICAgICAgICAg
aWYgKGZsYWdzICYgUmVzcGVjdERpcmVjdGlvbk92ZXJyaWRlKQogICAgICAgICAgICAgZGlyZWN0
aW9uYWxPdmVycmlkZSB8PSBpc092ZXJyaWRlKHN0eWxlLnVuaWNvZGVCaWRpKCkpOwogICAgIH0K
LSAgICByZXR1cm4gVGV4dFJ1bihzdHJpbmdWaWV3LCAwLCAwLCBleHBhbnNpb24sIHRleHREaXJl
Y3Rpb24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUpOworCisgICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNl
OgorICAgIC8vIDEuIFRleHRSdW4gb3ducyBpdHMgdGV4dCBzdHJpbmcuIEl0cyBtZW1iZXIgaXMg
YSBTdHJpbmcsIG5vdCBhIFN0cmluZ1ZpZXcKKyAgICAvLyAyLiBUaGlzIHJlcGxhY2VtZW50IGRv
ZXNuJ3QgYWZmZWN0IHN0cmluZyBpbmRpY2VzLiBXZSdyZSByZXBsYWNpbmcgYSBzaW5nbGUgVW5p
Y29kZSBjb2RlIHVuaXQgd2l0aCBhbm90aGVyIFVuaWNvZGUgY29kZSB1bml0LgorICAgIC8vIEhv
dyBjb252ZW5pZW50LgorICAgIGF1dG8gdXBkYXRlZFN0cmluZyA9IFJlbmRlckJsb2NrOjp1cGRh
dGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKHN0eWxlLCBzdHJpbmdWaWV3LnRvU3RyaW5nV2l0aG91
dENvcHlpbmcoKSk7CisgICAgcmV0dXJuIFRleHRSdW4oV1RGTW92ZSh1cGRhdGVkU3RyaW5nKSwg
MCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0aW9uLCBkaXJlY3Rpb25hbE92ZXJyaWRlKTsKIH0K
IAogVGV4dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihjb25zdCBTdHJpbmcmIHN0
cmluZywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNp
b24sIFRleHRSdW5GbGFncyBmbGFncykKQEAgLTM1MDIsNSArMzUwOCwyOSBAQCBib29sIFJlbmRl
ckJsb2NrOjpoaXRUZXN0RXhjbHVkZWRDaGlsZHJlbkluQm9yZGVyKGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiByZXF1ZXN0LAogICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGlu
Z01vZGVGb3JDaGlsZChsZWdlbmQsIGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICByZXR1cm4gbGVn
ZW5kLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGNo
aWxkUG9pbnQsIGNoaWxkSGl0VGVzdCk7CiB9CisKK1N0cmluZyBSZW5kZXJCbG9jazo6dXBkYXRl
U2VjdXJpdHlEaXNjQ2hhcmFjdGVycyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFN0cmluZyYm
IHN0cmluZykKK3sKKyNpZiAhUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIFdURk1vdmUoc3Ry
aW5nKTsKKyNlbHNlCisgICAgaWYgKHN0eWxlLnRleHRTZWN1cml0eSgpID09IFRleHRTZWN1cml0
eTo6Tm9uZSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5nKTsKKyAgICAvLyBUaGlzIFBV
QSBjaGFyYWN0ZXIgaW4gdGhlIHN5c3RlbSBmb250IGlzIHVzZWQgdG8gcmVuZGVyIHBhc3N3b3Jk
IGZpZWxkIGRvdHMgb24gQ29jb2EgcGxhdGZvcm1zLgorICAgIGNvbnN0ZXhwciBVQ2hhciB0ZXh0
U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50ID0gMHhGNzlBOworICAgIGF1dG8mIGZvbnQgPSBzdHls
ZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCk7CisgICAgaWYgKCEoZm9udC5wbGF0Zm9ybURh
dGEoKS5pc1N5c3RlbUZvbnQoKSAmJiBmb250LmdseXBoRm9yQ2hhcmFjdGVyKHRleHRTZWN1cml0
eURpc2NQVUFDb2RlUG9pbnQpKSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5nKTsKKwor
ICAgIC8vIFNlZSBSZW5kZXJUZXh0OjpzZXRSZW5kZXJlZFRleHQoKQorI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgY29uc3RleHByIFVDaGFyIGRpc2NDaGFyYWN0ZXJUb1JlcGxhY2UgPSBi
bGFja0NpcmNsZTsKKyNlbHNlCisgICAgY29uc3RleHByIFVDaGFyIGRpc2NDaGFyYWN0ZXJUb1Jl
cGxhY2UgPSBidWxsZXQ7CisjZW5kaWYKKworICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShkaXNj
Q2hhcmFjdGVyVG9SZXBsYWNlLCB0ZXh0U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50KTsKKyNlbmRp
ZgorfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAppbmRleCBjMzRlZmZiMzBmZDc1MTM3MWQ0ZjcwZWFkN2VjNWQwZWQyYjY3
ZmU5Li40NTM2ZjY1ZjkzZGExMTdiNWJiZGIzODY2ZDdlNjU0Yjk4YThiYzM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzE4LDYgKzMxOCw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZXNldENoaWxkTG9naWNhbEhlaWdodEJlZm9yZUxh
eW91dChjb25zdCBSZW5kZXJCb3gmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgc3Rh
dGljIFN0cmluZyB1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKGNvbnN0IFJlbmRlclN0eWxl
JiwgU3RyaW5nJiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGxv
Y2F0ZUVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB3
aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcAppbmRleCBhOTI1NTc2YjVkN2RhNzdlMDQ3ZGNmZWY4ZDUwY2E3MmNmNTQ2MGFhLi4x
Y2NmOTY3MjRlNGUzZDFhMTM3YWUyOTgxYmIzNTQ5OTY3NWQyMDllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMTY2LDYgKzExNjYsOCBAQCB2b2lkIFJlbmRl
clRleHQ6OnNldFJlbmRlcmVkVGV4dChjb25zdCBTdHJpbmcmIG5ld1RleHQpCiAgICAgaWYgKHN0
eWxlLnRleHRUcmFuc2Zvcm0oKSAhPSBUZXh0VHJhbnNmb3JtOjpOb25lKQogICAgICAgICBtX3Rl
eHQgPSBhcHBseVRleHRUcmFuc2Zvcm0oc3R5bGUsIG1fdGV4dCwgcHJldmlvdXNDaGFyYWN0ZXIo
KSk7CiAKKyAgICAvLyBBdCByZW5kZXJpbmcgdGltZSwgaWYgY2VydGFpbiBmb250cyBhcmUgdXNl
ZCwgdGhlc2UgY2hhcmFjdGVycyBnZXQgc3dhcHBlZCBvdXQgd2l0aCBoaWdoZXItcXVhbGl0eSBQ
VUEgY2hhcmFjdGVycy4KKyAgICAvLyBTZWUgUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlz
Y0NoYXJhY3RlcnMoKS4KICAgICBzd2l0Y2ggKHN0eWxlLnRleHRTZWN1cml0eSgpKSB7CiAgICAg
Y2FzZSBUZXh0U2VjdXJpdHk6Ok5vbmU6CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCmluZGV4IDdhZDRlMTliZGJiYWFjZTVj
OTY2N2QyZDUxYWFkMDI1YmI5ZjZiYzAuLjY5OGNlZTViYTJkNzhiOTIxMDliMmU1ZDkwYmQ1ZGVi
ZTk3NDQxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dC5jcHAKQEAgLTI0MCw2ICsyNDAsMTAgQEAgc3RhdGljIEF2b2lkYW5jZVJlYXNvbkZsYWdzIGNh
blVzZUZvclN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5jbHVkZVJlYXMKICAgICAg
ICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzTm9uQXV0b0xpbmVCcmVh
aywgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChzdHlsZS5uYnNwTW9kZSgpICE9
IE5CU1BNb2RlOjpOb3JtYWwpCiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVE
RUQoRmxvd0hhc1dlYktpdE5CU1BNb2RlLCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CisgICAg
Ly8gU3BlY2lhbCBoYW5kbGluZyBvZiB0ZXh0LXNlY3VyaXR5OmRpc2MgaXMgbm90IHlldCBpbXBs
ZW1lbnRlZCBpbiB0aGUgc2ltcGxlIGxpbmUgbGF5b3V0IGNvZGUgcGF0aC4KKyAgICAvLyBTZWUg
UmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0NoYXJhY3RlcnMuCisgICAgaWYgKHN0eWxl
LnRleHRTZWN1cml0eSgpICE9IFRleHRTZWN1cml0eTo6Tm9uZSkKKyAgICAgICAgU0VUX1JFQVNP
Tl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzVGV4dFNlY3VyaXR5LCByZWFzb25zLCBpbmNs
dWRlUmVhc29ucyk7CiAgICAgaWYgKHN0eWxlLmh5cGhlbnMoKSA9PSBIeXBoZW5zOjpBdXRvKSB7
CiAgICAgICAgIGF1dG8gdGV4dFJlYXNvbnMgPSBjYW5Vc2VGb3JUZXh0KHN0eWxlLmh5cGhlblN0
cmluZygpLCBzdHlsZS5mb250Q2FzY2FkZSgpLCBXVEY6Om51bGxvcHQsIGZhbHNlLCBpbmNsdWRl
UmVhc29ucyk7CiAgICAgICAgIGlmICh0ZXh0UmVhc29ucyAhPSBOb1JlYXNvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAK
aW5kZXggNTVmNWZkMzcwNzZiODI1M2NlMTU5OWY3MGNhZmU2Y2NkYTVkMjI0OC4uNTc2ODExNjM4
MjgwYWY4MzE4MDRkMTYwNGMwNDU0ZDMyZmI3NDMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAKQEAgLTEzNSw2ICsx
MzUsOSBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBGbG93SGFzTm9uQXV0b0xpbmVCcmVhazoKICAg
ICAgICAgc3RyZWFtIDw8ICJsaW5lLWJyZWFrIGlzIG5vdCBhdXRvIjsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBGbG93SGFzVGV4dFNlY3VyaXR5OgorICAgICAgICBzdHJlYW0gPDwgInRleHQt
c2VjdXJpdHkgaXMgbm90IG5vbmUiOworICAgICAgICBicmVhazsKICAgICBjYXNlIEZsb3dIYXNT
VkdGb250OgogICAgICAgICBzdHJlYW0gPDwgIlNWRyBmb250IjsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVy
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdl
LmgKaW5kZXggNGY5ZmExYjA5NjRjZjgwYTMxODk5NmFmZWI3MTdlMjcyZTQwZWFjYS4uMzgyNGU5
NTBjNGEwOTMwM2I4MTllMjI2MzNiNThhM2VjZTYwYjVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaApAQCAtNjYsNiArNjYs
NyBAQCBlbnVtIEF2b2lkYW5jZVJlYXNvbl8gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc1RleHRG
aWxsQm94ICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDI4LAogICAgIEZsb3dIYXNCb3Jk
ZXJGaXRMaW5lcyAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyOSwKICAgICBGbG93SGFzTm9u
QXV0b0xpbmVCcmVhayAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzAsCisgICAgRmxvd0hhc1Rl
eHRTZWN1cml0eSAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDMxLAogICAgIEZsb3dIYXNT
VkdGb250ICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAzMiwKICAgICBGbG93VGV4
dElzRW1wdHkgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzMsCiAgICAgRmxvd1Rl
eHRIYXNTb2Z0SHlwaGVuICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDM0LApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkz
OWMzN2ZlMDhjNTc3NDRmZjg2NmViNGRjM2ZiNTFiNTY2NDVlZmQuLmM5OTg3OGYzOGYwOTkyOGVl
ZmEwODdjYTMyNTNlNzg4ZTNiYjgzZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNC0x
NCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gUGFzc3dvcmQgb2JzY3VyaW5nIGRvdHMgZHJhd24gd2l0aCB0aGUgc3lzdGVtIGZvbnQg
YXJlIHRvbyBzbWFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA5NjkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDc4ODM4NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1
YS1pb3MtbmV3LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9m
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1i
dWxsZXQtcHVhLWlvcy1vbGQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3Mtb2xkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0
eS1kaXNjLWJ1bGxldC1wdWEtbWFjLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTE1ICBKYWNv
YiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgXSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpvbnRhbC1vdmVyZmxvdy1iYWNr
LXN3aXBlLmh0bWwgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2ZlNGUzNWM4OWJiZDczODZlYTU0YWU3OGE0M2VmYzk5
NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVj
dCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5
c3RlbS11aTsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIy
OyYjeDIwMjI7PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQt
c2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5
OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdp
dGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0i
Zm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2Rl
Zmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1
cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjEzODcxY2YzNzAxMWU2OWZhZGIx
MTNiMmVhMmQ5MzM3ZTk2ZjM2MC4uNWVlODRhMDFjZjE5NTBjNzQ0MjE1Mjg5ZWM4ZDg0NWQwNjYy
ZWZjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1
MjQsMyArMzUyNCw3IEBAIHdlYmtpdC5vcmcvYi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2lt
dWxhdGVkLXZlcnRleEF0dHJpYjAtaW52YWxpZC1pbmRpY2llcy5oCiAKIHdlYmtpdC5vcmcvYi8y
MDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3Vz
LXZpc2libGUtMDA3Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA5Lmh0
bWwgWyBTa2lwIF0KKworIyBDZXJ0YWluIHZlcnNpb25zIG9mIGlPUyB1c2UgZGlmZmVyZW50IHRl
eHQgc2VjdXJpdHkgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8yMDk2OTIgcGxhdGZvcm0vaW9z
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtaW9zLW5ldy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3LWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIyOGY4OTJjYWNhMTk0NzY2MWRjODI0YTIyZmI3YTU2OTcz
ZTljYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3Rl
eHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0
IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRp
diBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsm
I3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDog
NDhweCBzZXJpZjsiPiYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gy
NUNGOyYjeDI1Q0Y7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
LWlvcy1uZXcuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1z
ZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0NzAx
YTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQt
cHVhLWlvcy1uZXcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
cGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkg
Y2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyAtd2Via2l0
LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0
OHB4IHNlcmlmOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDZkNWIwYjhlZGUxN2RhYTczMGNjMDYwNTVhMzY4NDA4NWE3MDBhZDUuLmYwZWU3NWRl
ZjRjOGM1OTQ3NzRiNTk2NmY1MWU1ZmNmNWRlMWExY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTc1LDQgKzE5NzUsNyBAQCB3ZWJraXQub3JnL2Iv
MTgyNTcxIFsgRGVidWcgXSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBv
cnQvdHJhY2tzLQogCiB3ZWJraXQub3JnL2IvMjA3MTYwIGNzczIuMS8yMDExMDMyMy9yZXBsYWNl
ZC1pbnRyaW5zaWMtcmF0aW8tMDAxLmh0bSBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMTAzNTEgc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3Zl
cmZsb3ctYmFjay1zd2lwZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjEwMzUxIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9s
YXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUuaHRtbCBbIFBhc3MgVGltZW91
dCBdCisKKyMgQ2VydGFpbiB2ZXJzaW9ucyBvZiBtYWNPUyB1c2UgZGlmZmVyZW50IHRleHQgc2Vj
dXJpdHkgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8yMDk2OTIgWyBTaWVycmEgSGlnaFNpZXJy
YSBNb2phdmUgQ2F0YWxpbmEgXSBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHkt
ZGlzYy1idWxsZXQtcHVhLW1hYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1i
dWxsZXQtcHVhLW1hYy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMtZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xNWRlM2I0MThkNDRhY2Q5NjI2OTI1YTI2NDI4NmYzNDVhNzc0ODIzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRo
ZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6
IDQ4cHggc3lzdGVtLXVpOyI+JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlB
OyYjeEY3OUE7JiN4Rjc5QTs8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7Ij4m
I3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtbWFjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5OGUyZGZmMWEzMzJhZTRl
NzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLmh0bWwKQEAgLTAsMCAr
MSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24g
d2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxl
PSJmb250OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJj
ZGVmZzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNl
Y3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396575</attachid>
            <date>2020-04-15 14:18:50 -0700</date>
            <delta_ts>2020-04-15 14:57:36 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-209692-20200415141850.patch</filename>
            <type>text/plain</type>
            <size>19338</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE0MGVlMzQ0ZGRmNzVh
YzVlMmE2YWRjZGQ0YTcxODdiM2YzNDE5ZS4uNGU5NDQ0YTdiNzZhZjBlNTcxMmEwMDFkOTcyOTMx
NTIwZGI4YWFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA0LTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
YXNzd29yZCBvYnNjdXJpbmcgZG90cyBkcmF3biB3aXRoIHRoZSBzeXN0ZW0gZm9udCBhcmUgdG9v
IHNtYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk2OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNzg4Mzg1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoZSBzeXN0ZW0gZm9udCdzIFUrMjAyMiBC
VUxMRVQgZ2x5cGggZ290IHNtYWxsZXIuIEluc3RlYWQsIHdlIHNob3VsZCBtYXRjaAorICAgICAg
ICB0aGUgbmF0aXZlIHBsYXRmb3JtJ3MgYmVoYXZpb3Igb2YgdXNpbmcgVStGNzlBLiBIb3dldmVy
LCBVK0Y3OUEgaXMgYSBQVUEKKyAgICAgICAgY2hhcmFjdGVyLCBtZWFuaW5nIGRpZmZlcmVudCBm
b250cyB3aWxsIGRyYXcgaXQgaW4gYXJiaXRyYXJ5IGRpZmZlcmVudCB3YXlzLgorICAgICAgICBU
aGVyZWZvcmUsIHdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGNoYXJhY3RlciBpZiB3ZSdyZSBkcmF3
aW5nIGl0IHdpdGggdGhlCisgICAgICAgIHN5c3RlbSBmb250LiBPdGhlcndpc2UsIHdlIGNhbiB0
YWtlIHRoZSBvbGQgY29kZXBhdGggYW5kIHVzZSBVKzIwMjIgQlVMTEVULgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbAorICAgICAg
ICAgICAgICAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0
LXB1YS1tYWMuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3Lmh0bWwKKyAgICAgICAgICAgICAgIHBs
YXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW9s
ZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbnN0
cnVjdFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvclN0eWxlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OnByaW50UmVhc29uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21w
dXRlVGV4dFNlY3VyaXR5RGlzY1Nob3VsZFVzZVBVQUNvZGVQb2ludCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIwMjAtMDQtMTUgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEFk
ZCBzdXBwb3J0IGZvciBgcHNldWRvRWxlbWVudGAgb24gYEtleWZyYW1lRWZmZWN0YCBhbmQgYEtl
eWZyYW1lRWZmZWN0T3B0aW9uc2AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcAppbmRleCBjMTRiMGZjN2JkZDc5YmM4OGVlZjExZWJhNWQ0YjZmNWIxNDQ1N2UxLi5j
NjkzNGZkOWFlNDRiYzExMmNkZDRjMTQxMzJjY2FhM2JjNTdlMzRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC0xNDE0LDE3ICsxNDE0LDIzIEBAIFRl
eHRSdW4gSW5saW5lVGV4dEJveDo6Y3JlYXRlVGV4dFJ1bihib29sIGlnbm9yZUNvbWJpbmVkVGV4
dCwgYm9vbCBpZ25vcmVIeXBoZW4pCiAKIFN0cmluZyBJbmxpbmVUZXh0Qm94Ojp0ZXh0KGJvb2wg
aWdub3JlQ29tYmluZWRUZXh0LCBib29sIGlnbm9yZUh5cGhlbikgY29uc3QKIHsKKyAgICBTdHJp
bmcgcmVzdWx0OwogICAgIGlmIChhdXRvKiBjb21iaW5lZFRleHQgPSB0aGlzLT5jb21iaW5lZFRl
eHQoKSkgewogICAgICAgICBpZiAoaWdub3JlQ29tYmluZWRUZXh0KQotICAgICAgICAgICAgcmV0
dXJuIHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBtX2xlbik7Ci0gICAgICAg
IHJldHVybiBjb21iaW5lZFRleHQtPmNvbWJpbmVkU3RyaW5nRm9yUmVuZGVyaW5nKCk7Ci0gICAg
fQotICAgIGlmIChoYXNIeXBoZW4oKSkgeworICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIo
KS50ZXh0KCkuc3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcmVzdWx0ID0gY29tYmluZWRUZXh0LT5jb21iaW5lZFN0cmluZ0ZvclJlbmRlcmluZygp
OworICAgIH0gZWxzZSBpZiAoaGFzSHlwaGVuKCkpIHsKICAgICAgICAgaWYgKGlnbm9yZUh5cGhl
bikKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmcobV9zdGFy
dCwgbV9sZW4pOwotICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJlbmRlcmVy
KCkudGV4dCgpKS5zdWJzdHJpbmcobV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5oeXBoZW5T
dHJpbmcoKSk7Ci0gICAgfQotICAgIHJldHVybiByZW5kZXJlcigpLnRleHQoKS5zdWJzdHJpbmco
bV9zdGFydCwgbV9sZW4pOworICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXIoKS50ZXh0KCku
c3Vic3RyaW5nKG1fc3RhcnQsIG1fbGVuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVz
dWx0ID0gbWFrZVN0cmluZyhTdHJpbmdWaWV3KHJlbmRlcmVyKCkudGV4dCgpKS5zdWJzdHJpbmco
bV9zdGFydCwgbV9sZW4pLCBsaW5lU3R5bGUoKS5oeXBoZW5TdHJpbmcoKSk7CisgICAgfSBlbHNl
CisgICAgICAgIHJlc3VsdCA9IHJlbmRlcmVyKCkudGV4dCgpLnN1YnN0cmluZyhtX3N0YXJ0LCBt
X2xlbik7CisKKyAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgdGhpcyByZXBsYWNlbWVudCBkb2Vz
bid0IGFmZmVjdCBzdHJpbmcgaW5kaWNlcy4gV2UncmUgcmVwbGFjaW5nIGEgc2luZ2xlIFVuaWNv
ZGUgY29kZSB1bml0IHdpdGggYW5vdGhlciBVbmljb2RlIGNvZGUgdW5pdC4KKyAgICAvLyBIb3cg
Y29udmVuaWVudC4KKyAgICByZXR1cm4gUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0No
YXJhY3RlcnMobGluZVN0eWxlKCksIFdURk1vdmUocmVzdWx0KSk7CiB9CiAKIGlubGluZSBjb25z
dCBSZW5kZXJDb21iaW5lVGV4dCogSW5saW5lVGV4dEJveDo6Y29tYmluZWRUZXh0KCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDhlMzYzYzIxOWUy
NTNhMTQ3MDExZGY3Yzk1NWYzZTEzNTFiN2FlYzkuLmFiNTllM2Q4ZTJlZTEwNTc3MWVkMTViOTg3
NjkzOTYwOWQ3NTA4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cApAQCAtMzEyNCw3ICszMTI0LDEzIEBAIFRleHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRl
eHRSdW4oU3RyaW5nVmlldyBzdHJpbmdWaWV3LCBjb25zdCBSZW5kZXJTdHlsZSYKICAgICAgICAg
aWYgKGZsYWdzICYgUmVzcGVjdERpcmVjdGlvbk92ZXJyaWRlKQogICAgICAgICAgICAgZGlyZWN0
aW9uYWxPdmVycmlkZSB8PSBpc092ZXJyaWRlKHN0eWxlLnVuaWNvZGVCaWRpKCkpOwogICAgIH0K
LSAgICByZXR1cm4gVGV4dFJ1bihzdHJpbmdWaWV3LCAwLCAwLCBleHBhbnNpb24sIHRleHREaXJl
Y3Rpb24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUpOworCisgICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNl
OgorICAgIC8vIDEuIFRleHRSdW4gb3ducyBpdHMgdGV4dCBzdHJpbmcuIEl0cyBtZW1iZXIgaXMg
YSBTdHJpbmcsIG5vdCBhIFN0cmluZ1ZpZXcKKyAgICAvLyAyLiBUaGlzIHJlcGxhY2VtZW50IGRv
ZXNuJ3QgYWZmZWN0IHN0cmluZyBpbmRpY2VzLiBXZSdyZSByZXBsYWNpbmcgYSBzaW5nbGUgVW5p
Y29kZSBjb2RlIHVuaXQgd2l0aCBhbm90aGVyIFVuaWNvZGUgY29kZSB1bml0LgorICAgIC8vIEhv
dyBjb252ZW5pZW50LgorICAgIGF1dG8gdXBkYXRlZFN0cmluZyA9IFJlbmRlckJsb2NrOjp1cGRh
dGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKHN0eWxlLCBzdHJpbmdWaWV3LnRvU3RyaW5nV2l0aG91
dENvcHlpbmcoKSk7CisgICAgcmV0dXJuIFRleHRSdW4oV1RGTW92ZSh1cGRhdGVkU3RyaW5nKSwg
MCwgMCwgZXhwYW5zaW9uLCB0ZXh0RGlyZWN0aW9uLCBkaXJlY3Rpb25hbE92ZXJyaWRlKTsKIH0K
IAogVGV4dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihjb25zdCBTdHJpbmcmIHN0
cmluZywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNp
b24sIFRleHRSdW5GbGFncyBmbGFncykKQEAgLTM1MDIsNSArMzUwOCwyOSBAQCBib29sIFJlbmRl
ckJsb2NrOjpoaXRUZXN0RXhjbHVkZWRDaGlsZHJlbkluQm9yZGVyKGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiByZXF1ZXN0LAogICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGlu
Z01vZGVGb3JDaGlsZChsZWdlbmQsIGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICByZXR1cm4gbGVn
ZW5kLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGNo
aWxkUG9pbnQsIGNoaWxkSGl0VGVzdCk7CiB9CisKK1N0cmluZyBSZW5kZXJCbG9jazo6dXBkYXRl
U2VjdXJpdHlEaXNjQ2hhcmFjdGVycyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFN0cmluZyYm
IHN0cmluZykKK3sKKyNpZiAhUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIFdURk1vdmUoc3Ry
aW5nKTsKKyNlbHNlCisgICAgaWYgKHN0eWxlLnRleHRTZWN1cml0eSgpID09IFRleHRTZWN1cml0
eTo6Tm9uZSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5nKTsKKyAgICAvLyBUaGlzIFBV
QSBjaGFyYWN0ZXIgaW4gdGhlIHN5c3RlbSBmb250IGlzIHVzZWQgdG8gcmVuZGVyIHBhc3N3b3Jk
IGZpZWxkIGRvdHMgb24gQ29jb2EgcGxhdGZvcm1zLgorICAgIGNvbnN0ZXhwciBVQ2hhciB0ZXh0
U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50ID0gMHhGNzlBOworICAgIGF1dG8mIGZvbnQgPSBzdHls
ZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCk7CisgICAgaWYgKCEoZm9udC5wbGF0Zm9ybURh
dGEoKS5pc1N5c3RlbUZvbnQoKSAmJiBmb250LmdseXBoRm9yQ2hhcmFjdGVyKHRleHRTZWN1cml0
eURpc2NQVUFDb2RlUG9pbnQpKSkKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoc3RyaW5nKTsKKwor
ICAgIC8vIFNlZSBSZW5kZXJUZXh0OjpzZXRSZW5kZXJlZFRleHQoKQorI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgY29uc3RleHByIFVDaGFyIGRpc2NDaGFyYWN0ZXJUb1JlcGxhY2UgPSBi
bGFja0NpcmNsZTsKKyNlbHNlCisgICAgY29uc3RleHByIFVDaGFyIGRpc2NDaGFyYWN0ZXJUb1Jl
cGxhY2UgPSBidWxsZXQ7CisjZW5kaWYKKworICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShkaXNj
Q2hhcmFjdGVyVG9SZXBsYWNlLCB0ZXh0U2VjdXJpdHlEaXNjUFVBQ29kZVBvaW50KTsKKyNlbmRp
ZgorfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAppbmRleCBjMzRlZmZiMzBmZDc1MTM3MWQ0ZjcwZWFkN2VjNWQwZWQyYjY3
ZmU5Li40NTM2ZjY1ZjkzZGExMTdiNWJiZGIzODY2ZDdlNjU0Yjk4YThiYzM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzE4LDYgKzMxOCw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZXNldENoaWxkTG9naWNhbEhlaWdodEJlZm9yZUxh
eW91dChjb25zdCBSZW5kZXJCb3gmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgc3Rh
dGljIFN0cmluZyB1cGRhdGVTZWN1cml0eURpc2NDaGFyYWN0ZXJzKGNvbnN0IFJlbmRlclN0eWxl
JiwgU3RyaW5nJiYpOworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGxv
Y2F0ZUVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB3
aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcAppbmRleCBhOTI1NTc2YjVkN2RhNzdlMDQ3ZGNmZWY4ZDUwY2E3MmNmNTQ2MGFhLi4x
Y2NmOTY3MjRlNGUzZDFhMTM3YWUyOTgxYmIzNTQ5OTY3NWQyMDllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMTY2LDYgKzExNjYsOCBAQCB2b2lkIFJlbmRl
clRleHQ6OnNldFJlbmRlcmVkVGV4dChjb25zdCBTdHJpbmcmIG5ld1RleHQpCiAgICAgaWYgKHN0
eWxlLnRleHRUcmFuc2Zvcm0oKSAhPSBUZXh0VHJhbnNmb3JtOjpOb25lKQogICAgICAgICBtX3Rl
eHQgPSBhcHBseVRleHRUcmFuc2Zvcm0oc3R5bGUsIG1fdGV4dCwgcHJldmlvdXNDaGFyYWN0ZXIo
KSk7CiAKKyAgICAvLyBBdCByZW5kZXJpbmcgdGltZSwgaWYgY2VydGFpbiBmb250cyBhcmUgdXNl
ZCwgdGhlc2UgY2hhcmFjdGVycyBnZXQgc3dhcHBlZCBvdXQgd2l0aCBoaWdoZXItcXVhbGl0eSBQ
VUEgY2hhcmFjdGVycy4KKyAgICAvLyBTZWUgUmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlz
Y0NoYXJhY3RlcnMoKS4KICAgICBzd2l0Y2ggKHN0eWxlLnRleHRTZWN1cml0eSgpKSB7CiAgICAg
Y2FzZSBUZXh0U2VjdXJpdHk6Ok5vbmU6CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCmluZGV4IDdhZDRlMTliZGJiYWFjZTVj
OTY2N2QyZDUxYWFkMDI1YmI5ZjZiYzAuLjY5OGNlZTViYTJkNzhiOTIxMDliMmU1ZDkwYmQ1ZGVi
ZTk3NDQxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dC5jcHAKQEAgLTI0MCw2ICsyNDAsMTAgQEAgc3RhdGljIEF2b2lkYW5jZVJlYXNvbkZsYWdzIGNh
blVzZUZvclN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5jbHVkZVJlYXMKICAgICAg
ICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzTm9uQXV0b0xpbmVCcmVh
aywgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChzdHlsZS5uYnNwTW9kZSgpICE9
IE5CU1BNb2RlOjpOb3JtYWwpCiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVE
RUQoRmxvd0hhc1dlYktpdE5CU1BNb2RlLCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CisgICAg
Ly8gU3BlY2lhbCBoYW5kbGluZyBvZiB0ZXh0LXNlY3VyaXR5OmRpc2MgaXMgbm90IHlldCBpbXBs
ZW1lbnRlZCBpbiB0aGUgc2ltcGxlIGxpbmUgbGF5b3V0IGNvZGUgcGF0aC4KKyAgICAvLyBTZWUg
UmVuZGVyQmxvY2s6OnVwZGF0ZVNlY3VyaXR5RGlzY0NoYXJhY3RlcnMuCisgICAgaWYgKHN0eWxl
LnRleHRTZWN1cml0eSgpICE9IFRleHRTZWN1cml0eTo6Tm9uZSkKKyAgICAgICAgU0VUX1JFQVNP
Tl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzVGV4dFNlY3VyaXR5LCByZWFzb25zLCBpbmNs
dWRlUmVhc29ucyk7CiAgICAgaWYgKHN0eWxlLmh5cGhlbnMoKSA9PSBIeXBoZW5zOjpBdXRvKSB7
CiAgICAgICAgIGF1dG8gdGV4dFJlYXNvbnMgPSBjYW5Vc2VGb3JUZXh0KHN0eWxlLmh5cGhlblN0
cmluZygpLCBzdHlsZS5mb250Q2FzY2FkZSgpLCBXVEY6Om51bGxvcHQsIGZhbHNlLCBpbmNsdWRl
UmVhc29ucyk7CiAgICAgICAgIGlmICh0ZXh0UmVhc29ucyAhPSBOb1JlYXNvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAK
aW5kZXggNTVmNWZkMzcwNzZiODI1M2NlMTU5OWY3MGNhZmU2Y2NkYTVkMjI0OC4uNTc2ODExNjM4
MjgwYWY4MzE4MDRkMTYwNGMwNDU0ZDMyZmI3NDMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAKQEAgLTEzNSw2ICsx
MzUsOSBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBGbG93SGFzTm9uQXV0b0xpbmVCcmVhazoKICAg
ICAgICAgc3RyZWFtIDw8ICJsaW5lLWJyZWFrIGlzIG5vdCBhdXRvIjsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBGbG93SGFzVGV4dFNlY3VyaXR5OgorICAgICAgICBzdHJlYW0gPDwgInRleHQt
c2VjdXJpdHkgaXMgbm90IG5vbmUiOworICAgICAgICBicmVhazsKICAgICBjYXNlIEZsb3dIYXNT
VkdGb250OgogICAgICAgICBzdHJlYW0gPDwgIlNWRyBmb250IjsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVy
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dENvdmVyYWdl
LmgKaW5kZXggNGY5ZmExYjA5NjRjZjgwYTMxODk5NmFmZWI3MTdlMjcyZTQwZWFjYS4uMzgyNGU5
NTBjNGEwOTMwM2I4MTllMjI2MzNiNThhM2VjZTYwYjVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuaApAQCAtNjYsNiArNjYs
NyBAQCBlbnVtIEF2b2lkYW5jZVJlYXNvbl8gOiB1aW50NjRfdCB7CiAgICAgRmxvd0hhc1RleHRG
aWxsQm94ICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDI4LAogICAgIEZsb3dIYXNCb3Jk
ZXJGaXRMaW5lcyAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyOSwKICAgICBGbG93SGFzTm9u
QXV0b0xpbmVCcmVhayAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzAsCisgICAgRmxvd0hhc1Rl
eHRTZWN1cml0eSAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDMxLAogICAgIEZsb3dIYXNT
VkdGb250ICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAzMiwKICAgICBGbG93VGV4
dElzRW1wdHkgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMzMsCiAgICAgRmxvd1Rl
eHRIYXNTb2Z0SHlwaGVuICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDM0LApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkz
OWMzN2ZlMDhjNTc3NDRmZjg2NmViNGRjM2ZiNTFiNTY2NDVlZmQuLmM5OTg3OGYzOGYwOTkyOGVl
ZmEwODdjYTMyNTNlNzg4ZTNiYjgzZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNC0x
NCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gUGFzc3dvcmQgb2JzY3VyaW5nIGRvdHMgZHJhd24gd2l0aCB0aGUgc3lzdGVtIGZvbnQg
YXJlIHRvbyBzbWFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA5NjkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDc4ODM4NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1
YS1pb3MtbmV3LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9m
YXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1i
dWxsZXQtcHVhLWlvcy1vbGQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3Mtb2xkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0
eS1kaXNjLWJ1bGxldC1wdWEtbWFjLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA0LTE1ICBKYWNv
YiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgXSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpvbnRhbC1vdmVyZmxvdy1iYWNr
LXN3aXBlLmh0bWwgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YWI2N2ZlNGUzNWM4OWJiZDczODZlYTU0YWU3OGE0M2VmYzk5
NjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtc2VjdXJp
dHktZGlzYy1idWxsZXQtcHVhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVj
dCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5
c3RlbS11aTsiPiYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIy
OyYjeDIwMjI7PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LXNl
Y3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQt
c2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhZTQ3MDFhNmYyNzg5
OGUyZGZmMWEzMzJhZTRlNzkxYWY0Njc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdp
dGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0i
Zm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2Rl
Zmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1
cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjEzODcxY2YzNzAxMWU2OWZhZGIx
MTNiMmVhMmQ5MzM3ZTk2ZjM2MC4uNWVlODRhMDFjZjE5NTBjNzQ0MjE1Mjg5ZWM4ZDg0NWQwNjYy
ZWZjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1
MjQsMyArMzUyNCw3IEBAIHdlYmtpdC5vcmcvYi8yMDc4NTggZmFzdC9jYW52YXMvd2ViZ2wvc2lt
dWxhdGVkLXZlcnRleEF0dHJpYjAtaW52YWxpZC1pbmRpY2llcy5oCiAKIHdlYmtpdC5vcmcvYi8y
MDk3MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3Vz
LXZpc2libGUtMDA3Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMDk3MzQgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtMDA5Lmh0
bWwgWyBTa2lwIF0KKworIyBDZXJ0YWluIHZlcnNpb25zIG9mIGlPUyB1c2UgZGlmZmVyZW50IHRl
eHQgc2VjdXJpdHkgY2hhcmFjdGVycy4KK3dlYmtpdC5vcmcvYi8yMDk2OTIgcGxhdGZvcm0vaW9z
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDk2OTIgZmFzdC90ZXh0L3RleHQtc2Vj
dXJpdHktZGlzYy1idWxsZXQtcHVhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtaW9zLW5ldy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3MtbmV3LWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIyOGY4OTJjYWNhMTk0NzY2MWRjODI0YTIyZmI3YTU2OTcz
ZTljYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3Rl
eHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwYXNzd29yZCBmaWVsZHMgZ2V0
IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBjaGFyYWN0ZXIuPC9wPgorPGRp
diBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7Ij4mI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsm
I3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDog
NDhweCBzZXJpZjsiPiYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gy
NUNGOyYjeDI1Q0Y7PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
LWlvcy1uZXcuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1z
ZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtaW9zLW5ldy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0NzAx
YTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQt
cHVhLWlvcy1uZXcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
cGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2VjdXJpdHkg
Y2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyAtd2Via2l0
LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiA0
OHB4IHNlcmlmOyAtd2Via2l0LXRleHQtc2VjdXJpdHk6IGRpc2M7Ij5hYmNkZWZnPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFz
dC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWlvcy1vbGQtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtaW9zLW9sZC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNGIxNDI0NjRk
MTI1MmE0ZmVmZWUyZWE5NjNhODIwOGFjZmE0MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVh
LWlvcy1vbGQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgcGFzc3dvcmQgZmllbGRzIGdldCBkcmF3biB3aXRoIHRoZSBjb3JyZWN0IHRleHQtc2Vj
dXJpdHkgY2hhcmFjdGVyLjwvcD4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc3lzdGVtLXVpOyI+
JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjs8
L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4cHggc2VyaWY7Ij4mI3gyNUNGOyYjeDI1Q0Y7JiN4
MjVDRjsmI3gyNUNGOyYjeDI1Q0Y7JiN4MjVDRjsmI3gyNUNGOzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90ZXh0
LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3Mtb2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLWlvcy1vbGQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40YWFlNDcwMWE2ZjI3ODk4ZTJkZmYxYTMzMmFlNGU3OTFhZjQ2NzZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC90
ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1pb3Mtb2xkLmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3JkIGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0
aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rlci48L3A+Cis8ZGl2IHN0eWxlPSJmb250
OiA0OHB4IHN5c3RlbS11aTsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBkaXNjOyI+YWJjZGVmZzwv
ZGl2PgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzZXJpZjsgLXdlYmtpdC10ZXh0LXNlY3VyaXR5
OiBkaXNjOyI+YWJjZGVmZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2ZDViMGI4ZWRlMTdkYWE3MzBjYzA2MDU1
YTM2ODQwODVhNzAwYWQ1Li5mMGVlNzVkZWY0YzhjNTk0Nzc0YjU5NjZmNTFlNWZjZjVkZTFhMWNj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk3NSw0
ICsxOTc1LDcgQEAgd2Via2l0Lm9yZy9iLzE4MjU3MSBbIERlYnVnIF0gbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy0KIAogd2Via2l0Lm9yZy9iLzIwNzE2
MCBjc3MyLjEvMjAxMTAzMjMvcmVwbGFjZWQtaW50cmluc2ljLXJhdGlvLTAwMS5odG0gWyBQYXNz
IEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjEwMzUxIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21h
Yy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUuaHRtbCBbIFBhc3MgVGlt
ZW91dCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIxMDM1MSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpvbnRhbC1vdmVyZmxvdy1iYWNr
LXN3aXBlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQorCisjIENlcnRhaW4gdmVyc2lvbnMgb2YgbWFj
T1MgdXNlIGRpZmZlcmVudCB0ZXh0IHNlY3VyaXR5IGNoYXJhY3RlcnMuCit3ZWJraXQub3JnL2Iv
MjA5NjkyIFsgU2llcnJhIEhpZ2hTaWVycmEgTW9qYXZlIENhdGFsaW5hIF0gcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC90ZXh0LXNlY3VyaXR5LWRpc2MtYnVsbGV0LXB1YS1tYWMtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxl
dC1wdWEtbWFjLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVkZTNiNDE4ZDQ0YWNkOTYyNjky
NWEyNjQyODZmMzQ1YTc3NDgyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNjLWJ1bGxldC1wdWEtbWFjLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBhc3N3b3Jk
IGZpZWxkcyBnZXQgZHJhd24gd2l0aCB0aGUgY29ycmVjdCB0ZXh0LXNlY3VyaXR5IGNoYXJhY3Rl
ci48L3A+Cis8ZGl2IHN0eWxlPSJmb250OiA0OHB4IHN5c3RlbS11aTsiPiYjeEY3OUE7JiN4Rjc5
QTsmI3hGNzlBOyYjeEY3OUE7JiN4Rjc5QTsmI3hGNzlBOyYjeEY3OUE7PC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250OiA0OHB4IHNlcmlmOyI+JiN4MjAyMjsmI3gyMDIyOyYjeDIwMjI7JiN4MjAyMjsm
I3gyMDIyOyYjeDIwMjI7JiN4MjAyMjs8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1zZWN1cml0eS1kaXNj
LWJ1bGxldC1wdWEtbWFjLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L3RleHQtc2VjdXJpdHktZGlzYy1idWxsZXQtcHVhLW1hYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYWU0
NzAxYTZmMjc4OThlMmRmZjFhMzMyYWU0ZTc5MWFmNDY3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtc2VjdXJpdHktZGlzYy1idWxs
ZXQtcHVhLW1hYy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBw
YXNzd29yZCBmaWVsZHMgZ2V0IGRyYXduIHdpdGggdGhlIGNvcnJlY3QgdGV4dC1zZWN1cml0eSBj
aGFyYWN0ZXIuPC9wPgorPGRpdiBzdHlsZT0iZm9udDogNDhweCBzeXN0ZW0tdWk7IC13ZWJraXQt
dGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDQ4
cHggc2VyaWY7IC13ZWJraXQtdGV4dC1zZWN1cml0eTogZGlzYzsiPmFiY2RlZmc8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="411984"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>