<?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>215059</bug_id>
          
          <creation_ts>2020-08-01 02:48:14 -0700</creation_ts>
          <short_desc>[Cocoa] Migrate from CTFontTransformGlyphsWithLanguage() to CTFontShapeGlyphs()</short_desc>
          <delta_ts>2020-08-10 21:24:00 -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>Text</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>
          <dependson>215051</dependson>
    
    <dependson>215053</dependson>
    
    <dependson>215057</dependson>
    
    <dependson>215333</dependson>
          <blocked>206208</blocked>
    
    <blocked>214769</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1677110</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-01 02:48:14 -0700</bug_when>
    <thetext>[Cocoa] Migrate from CTFontTransformGlyphsWithLanguage() to CTFontShapeGlyphs()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677111</commentid>
    <comment_count>1</comment_count>
      <attachid>405781</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-01 02:54:26 -0700</bug_when>
    <thetext>Created attachment 405781
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677578</commentid>
    <comment_count>2</comment_count>
      <attachid>405906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 01:00:59 -0700</bug_when>
    <thetext>Created attachment 405906
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677580</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 01:17:23 -0700</bug_when>
    <thetext>Regressions: Unexpected image-only failures (8)
  fast/ruby/ruby-expansion-cjk-2.html [ ImageOnlyFailure ]
  fast/ruby/ruby-expansion-cjk-4.html [ ImageOnlyFailure ]
  fast/ruby/ruby-expansion-cjk.html [ ImageOnlyFailure ]
  fast/text/isolate-ignore.html [ ImageOnlyFailure ]
  fast/text/ruby-justification-flush.html [ ImageOnlyFailure ]
  fast/text/soft-hyphen-min-preferred-width.html [ ImageOnlyFailure ]
  fast/text/vertical-displacement-simple-codepath.html [ ImageOnlyFailure ]
  imported/blink/fast/ruby/ruby-first-letter.html [ ImageOnlyFailure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677584</commentid>
    <comment_count>4</comment_count>
      <attachid>405906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 01:54:19 -0700</bug_when>
    <thetext>Comment on attachment 405906
WIP

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

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:243
&gt;          if (font != lastFontData &amp;&amp; width) {

the &quot;&amp;&amp; width&quot; part of this seems wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677587</commentid>
    <comment_count>5</comment_count>
      <attachid>405906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 02:07:02 -0700</bug_when>
    <thetext>Comment on attachment 405906
WIP

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

&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:243
&gt;&gt;          if (font != lastFontData &amp;&amp; width) {
&gt; 
&gt; the &quot;&amp;&amp; width&quot; part of this seems wrong.

Removing that part causes these tests to fail:

Regressions: Unexpected text-only failures (3)
  fast/text/soft-hyphen-2.html [ Failure ]
  fast/text/soft-hyphen-3.html [ Failure ]
  fast/text/soft-hyphen-4.html [ Failure ]

Regressions: Unexpected image-only failures (7)
  fast/ruby/ruby-expansion-cjk-2.html [ ImageOnlyFailure ]
  fast/ruby/ruby-expansion-cjk-4.html [ ImageOnlyFailure ]
  fast/ruby/ruby-expansion-cjk.html [ ImageOnlyFailure ]
  fast/text/ruby-justification-flush.html [ ImageOnlyFailure ]
  fast/text/soft-hyphen-min-preferred-width.html [ ImageOnlyFailure ]
  fast/text/vertical-displacement-simple-codepath.html [ ImageOnlyFailure ]
  imported/blink/fast/ruby/ruby-first-letter.html [ ImageOnlyFailure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677590</commentid>
    <comment_count>6</comment_count>
      <attachid>405906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 02:12:58 -0700</bug_when>
    <thetext>Comment on attachment 405906
WIP

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:243
&gt;&gt;&gt;          if (font != lastFontData &amp;&amp; width) {
&gt;&gt; 
&gt;&gt; the &quot;&amp;&amp; width&quot; part of this seems wrong.
&gt; 
&gt; Removing that part causes these tests to fail:
&gt; 
&gt; Regressions: Unexpected text-only failures (3)
&gt;   fast/text/soft-hyphen-2.html [ Failure ]
&gt;   fast/text/soft-hyphen-3.html [ Failure ]
&gt;   fast/text/soft-hyphen-4.html [ Failure ]
&gt; 
&gt; Regressions: Unexpected image-only failures (7)
&gt;   fast/ruby/ruby-expansion-cjk-2.html [ ImageOnlyFailure ]
&gt;   fast/ruby/ruby-expansion-cjk-4.html [ ImageOnlyFailure ]
&gt;   fast/ruby/ruby-expansion-cjk.html [ ImageOnlyFailure ]
&gt;   fast/text/ruby-justification-flush.html [ ImageOnlyFailure ]
&gt;   fast/text/soft-hyphen-min-preferred-width.html [ ImageOnlyFailure ]
&gt;   fast/text/vertical-displacement-simple-codepath.html [ ImageOnlyFailure ]
&gt;   imported/blink/fast/ruby/ruby-first-letter.html [ ImageOnlyFailure ]

The 3 new failures look like they are rebaselines.

fast/text/soft-hyphen-2.html [ Failure ]
fast/text/soft-hyphen-3.html [ Failure ]
fast/text/soft-hyphen-4.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677591</commentid>
    <comment_count>7</comment_count>
      <attachid>405906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 02:19:24 -0700</bug_when>
    <thetext>Comment on attachment 405906
WIP

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

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:125
&gt;          advances[i].setHeight(-advances[i].height());

We need to do the same thing to the origins, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677593</commentid>
    <comment_count>8</comment_count>
      <attachid>405909</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 02:30:16 -0700</bug_when>
    <thetext>Created attachment 405909
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677599</commentid>
    <comment_count>9</comment_count>
      <attachid>405912</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 03:18:33 -0700</bug_when>
    <thetext>Created attachment 405912
WIP (Passes tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677823</commentid>
    <comment_count>10</comment_count>
      <attachid>405966</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 17:37:08 -0700</bug_when>
    <thetext>Created attachment 405966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677824</commentid>
    <comment_count>11</comment_count>
      <attachid>405967</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 17:37:39 -0700</bug_when>
    <thetext>Created attachment 405967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677867</commentid>
    <comment_count>12</comment_count>
      <attachid>405978</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 20:12:09 -0700</bug_when>
    <thetext>Created attachment 405978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677875</commentid>
    <comment_count>13</comment_count>
      <attachid>405978</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 21:05:58 -0700</bug_when>
    <thetext>Comment on attachment 405978
Patch

I should do some performance testing before marking this as r?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677884</commentid>
    <comment_count>14</comment_count>
      <attachid>405978</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-04 22:12:21 -0700</bug_when>
    <thetext>Comment on attachment 405978
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:590
&gt; +        glyphBuffer.offsetsInString(beginningGlyphIndex)[beginningGlyphIndex + i] += beginningStringIndex;

beginningGlyphIndex is listed twice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678350</commentid>
    <comment_count>15</comment_count>
      <attachid>406101</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-06 12:33:32 -0700</bug_when>
    <thetext>Created attachment 406101
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678469</commentid>
    <comment_count>16</comment_count>
      <attachid>406134</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-06 17:03:30 -0700</bug_when>
    <thetext>Created attachment 406134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678471</commentid>
    <comment_count>17</comment_count>
      <attachid>406135</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-06 17:05:51 -0700</bug_when>
    <thetext>Created attachment 406135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678546</commentid>
    <comment_count>18</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-07 04:00:56 -0700</bug_when>
    <thetext>$ compare-results -a ~/Build-Vanilla/Products/Release/plt-results-1596796412 -b ~/Build-CTFontShapeGlyphs/Products/Release/plt-results-1596797276 
a mean = 741.00884
b mean = 736.28295
pValue = 0.7559888497
(Smaller means are better.)
1.006 times better
Results ARE NOT significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678892</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-08 02:49:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/66721009&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678913</commentid>
    <comment_count>20</comment_count>
      <attachid>406135</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-08 11:39:03 -0700</bug_when>
    <thetext>Comment on attachment 406135
Patch

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

&gt; Source/WebCore/platform/graphics/FontCascade.h:119
&gt; +    float widthForSimpleText(StringView text, TextDirection = TextDirection::LTR /* matches default argument of TextRun constructor */) const;

Why does it matter that these defaults match?

&gt; Source/WebCore/platform/graphics/TextRun.h:46
&gt; +    // LTR default argument matches FontCascade::widthForSimpleText()&apos;s default argument

Need period at end of comment.

Why does it matter that these defaults match?

&gt; Source/WebCore/platform/graphics/TextRun.h:63
&gt; +    // LTR default argument matches FontCascade::widthForSimpleText()&apos;s default argument

Need period at end of comment.

Why does it matter that these defaults match?

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:116
&gt; +    // CTFontTransformGlyphs() operates in visual order, but WidthIterator iterates in logical order.
&gt; +    // Temporarily put us in visual order just for the call, then put us back into logical order when
&gt; +    // the call is done.
&gt; +    // We don&apos;t have a global view of the entire GlyphBuffer; we&apos;re just operating on a single chunk of it.
&gt; +    // WidthIterator encounters the chunks out in logical order, so we have to maintain that invariant.
&gt; +    // Eventually, FontCascade::layoutSimpleText() will reverse the whole buffer to put the entire thing
&gt; +    // in visual order, but that&apos;s okay because it has a view of the entire GlyphBuffer.
&gt; +    // On the other hand, CTFontShapeGlyphs() accepts the buffer in logical order but returns it in physical
&gt; +    // order, which means the second reverse() in this function still needs to execute when
&gt; +    // CTFontShapeGlyphs() is being used.
&gt; +#if !USE(CTFONTSHAPEGLYPHS)

This is strange. It’s cross platform code, but the comment seems to imply that all platforms use either CTFontTransformGlyphs or CTFontShapeGlyphs. Can we create some kind of cross-platform abstraction here? Typically the cross-platform code doesn’t need long comments about the specific platform-dependent functions used. In modern code could even do something like:

    if constexpr (Font::applyTransformsTakesGlyphsInVisualOrder)

Maybe it’s &quot;CTFontTransformGlyphs and all the other functions used for this purpose on all the other platforms?&quot;

&gt; LayoutTests/ChangeLog:13
&gt; +        * fast/text/soft-hyphen-2-expected.txt: Removed. Platform-specific rendertree dumps
&gt; +        need to be in platform/ subfolders.
&gt; +        * fast/text/soft-hyphen-3-expected.txt: Removed.
&gt; +        * fast/text/soft-hyphen-4-expected.txt: Removed.

Can any of these tests be changed into ref tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678949</commentid>
    <comment_count>21</comment_count>
      <attachid>406263</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-08 23:29:41 -0700</bug_when>
    <thetext>Created attachment 406263
WIP

Some tests are failing on Big Sur that aren&apos;t failing on Catalina. (EWS doesn&apos;t run on Big Sur so it didn&apos;t catch them.) I&apos;m investigating now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678994</commentid>
    <comment_count>22</comment_count>
      <attachid>406135</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 17:46:26 -0700</bug_when>
    <thetext>Comment on attachment 406135
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/FontCascade.h:119
&gt;&gt; +    float widthForSimpleText(StringView text, TextDirection = TextDirection::LTR /* matches default argument of TextRun constructor */) const;
&gt; 
&gt; Why does it matter that these defaults match?

There are a few places in WebKit where we have things like:

if (canUseSimplePath)
    result = font.widthForSimpleText(theString);
else {
    TextRun textRun(theString);
    result = font.width(run);
}

The TextDirection argument to TextRun&apos;s constructor needs to match the TextDirection argument to widthForSimpleText(). Both arguments have default values, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678995</commentid>
    <comment_count>23</comment_count>
      <attachid>406276</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 17:50:30 -0700</bug_when>
    <thetext>Created attachment 406276
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678997</commentid>
    <comment_count>24</comment_count>
      <attachid>406135</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-09 18:02:01 -0700</bug_when>
    <thetext>Comment on attachment 406135
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/FontCascade.h:119
&gt;&gt;&gt; +    float widthForSimpleText(StringView text, TextDirection = TextDirection::LTR /* matches default argument of TextRun constructor */) const;
&gt;&gt; 
&gt;&gt; Why does it matter that these defaults match?
&gt; 
&gt; There are a few places in WebKit where we have things like:
&gt; 
&gt; if (canUseSimplePath)
&gt;     result = font.widthForSimpleText(theString);
&gt; else {
&gt;     TextRun textRun(theString);
&gt;     result = font.width(run);
&gt; }
&gt; 
&gt; The TextDirection argument to TextRun&apos;s constructor needs to match the TextDirection argument to widthForSimpleText(). Both arguments have default values, though.

Sure, but &quot;left to right&quot; being the default, while possibly culturally biased, hardly needs a comment citing some particular other function where we often use the same default, even if idiomatically they are often used side by side or interchangeably as above. The comment just doesn’t add much; not even obvious why it’s relevant from the way it’s written.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679013</commentid>
    <comment_count>25</comment_count>
      <attachid>406282</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-09 22:35:28 -0700</bug_when>
    <thetext>Created attachment 406282
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679034</commentid>
    <comment_count>26</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 02:22:08 -0700</bug_when>
    <thetext>I see what&apos;s happening. The old code had a bug where, if the last character in the run had a 0 width and was a fallback font, it wouldn&apos;t get added to m_fallbackFonts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679035</commentid>
    <comment_count>27</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 02:39:11 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #26)
&gt; I see what&apos;s happening. The old code had a bug where, if the last character
&gt; in the run had a 0 width and was a fallback font, it wouldn&apos;t get added to
&gt; m_fallbackFonts.

** There&apos;s a sequence of fallback characters, each of which has 0 width.

Also, this is doubly bad because the glyphIDs from the fallback characters would get shaped with the wrong font :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679036</commentid>
    <comment_count>28</comment_count>
      <attachid>406289</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 03:06:52 -0700</bug_when>
    <thetext>Created attachment 406289
Rebased and addressed comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679038</commentid>
    <comment_count>29</comment_count>
      <attachid>406291</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 04:02:26 -0700</bug_when>
    <thetext>Created attachment 406291
Rebased and addressed comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679215</commentid>
    <comment_count>30</comment_count>
      <attachid>406332</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 15:19:12 -0700</bug_when>
    <thetext>Created attachment 406332
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679216</commentid>
    <comment_count>31</comment_count>
      <attachid>406333</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 15:20:49 -0700</bug_when>
    <thetext>Created attachment 406333
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679266</commentid>
    <comment_count>32</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 17:24:37 -0700</bug_when>
    <thetext>Looks like imported/blink/fast/text/international/kana-voiced-sound-marks.html passes on Catalina and Big Sur, but not on Mojave. I&apos;ll investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679303</commentid>
    <comment_count>33</comment_count>
      <attachid>406358</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 21:05:42 -0700</bug_when>
    <thetext>Created attachment 406358
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679305</commentid>
    <comment_count>34</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-10 21:24:00 -0700</bug_when>
    <thetext>Committed r265487: &lt;https://trac.webkit.org/changeset/265487&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405781</attachid>
            <date>2020-08-01 02:54:26 -0700</date>
            <delta_ts>2020-08-04 01:00:59 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>22907</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGZhMzJkNDdlMzdiLi5jYzAzNDdjZDUzMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybVVzZS5oCkBAIC0zMDEsNiArMzAxLDcgQEAKICNkZWZpbmUgVVNFX0RBUldJTl9SRUdJU1RF
Ul9NQUNST1MgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE2MDApCi0jZGVmaW5l
IFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorLy8jaWYgUExBVEZPUk0o
Q09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTEwMDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKKyNkZWZpbmUgVVNFX0NU
Rk9OVFNIQVBFR0xZUEhTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL0NvcmVUZXh0U1BJLmgKaW5kZXggN2QyMTRlZGE5ZjUuLjY3Mzg2M2Y1YWUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTQ2
LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEgPDwg
MSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFwZU9w
dGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAgIGtD
VEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RGb250
U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05TKHVp
bnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlwdG9y
T3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9u
UHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250CkBA
IC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5
TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlTeXN0
ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBoIGds
eXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENURm9u
dFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdlLCBD
R0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250UmVm
IGZvbnQsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDR1BvaW50IG9yaWdp
bnNbXSwgQ0ZJbmRleCBpbmRleGVzW10sIGNvbnN0IFVuaUNoYXIgY2hhcnNbXSwgQ0ZJbmRleCBj
b3VudCwgQ1RGb250U2hhcGVPcHRpb25zIG9wdGlvbnMsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCB2
b2lkICheaGFuZGxlcikoQ0ZSYW5nZSwgQ0dHbHlwaCoqLCBDR1NpemUqKiwgQ0dQb2ludCoqLCBD
RkluZGV4KiopKTsKIAogQ0dTaXplIENUUnVuR2V0SW5pdGlhbEFkdmFuY2UoQ1RSdW5SZWYpOwog
Q1RMaW5lUmVmIENUTGluZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIoQ1RVbmlDaGFyUHJvdmlk
ZXJDYWxsYmFjaywgQ1RVbmlDaGFyRGlzcG9zZUNhbGxiYWNrLCB2b2lkKiByZWZDb24pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRleCA5YWU2OTA2OGYzZS4u
NmVmOTc4OTI3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDUtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUx
Miw3IEBAIFJlZlB0cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0Ep
Ci12b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29s
LCBib29sLCBjb25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBB
dG9tU3RyaW5nJiwgU3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBh
Li44ZWMzMzgwZDdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaApA
QCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgaW50ZXJuYWwg
Zm9udCBpbXBsZW1lbnRhdGlvbi4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIw
MTAsIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBNb2JpbGUsIEluYy4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0y
MDcsNyArMjA3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGNhblJlbmRlckNvbWJp
bmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiwgc2l6ZV90KSBjb25zdDsKLSAgICB2
b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4
LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3Ry
aW5nJiBsb2NhbGUpIGNvbnN0OworICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
JiwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5n
SW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0
b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uKSBjb25zdDsK
IAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBTQ1JJUFRfRk9OVFBST1BFUlRJRVMqIHNjcmlwdEZv
bnRQcm9wZXJ0aWVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXggMWMxZjFmY2E1NzAuLmRhNWY4ZGRlOGU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBA
IC00MjYsNyArNDI2LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoKGNvbnN0IFRleHRSdW4m
IHJ1biwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCi1mbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1Zp
ZXcgdGV4dCkgY29uc3QKK2Zsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3Ry
aW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24pIGNvbnN0CiB7CiAgICAg
aWYgKHRleHQuaXNOdWxsKCkgfHwgdGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiAwOwpA
QCAtNDQ4LDcgKzQ0OCw3IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQo
U3RyaW5nVmlldyB0ZXh0KSBjb25zdAogICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZ2x5cGgsICZm
b250LCBnbHlwaFdpZHRoKTsKICAgICB9CiAgICAgaWYgKGhhc0tlcm5pbmdPckxpZ2F0dXJlcykg
ewotICAgICAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgZW5hYmxlS2Vy
bmluZygpLCByZXF1aXJlc1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2Nh
bGUoKSk7CisgICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCAwLCAwLCBl
bmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3JpcHRpb24oKS5jb21w
dXRlZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAgICAgLy8gVGhpcyBpcyBu
ZWVkZWQgb25seSB0byBtYXRjaCB0aGUgcmVzdWx0IG9mIHRoZSBzbG93IHBhdGguIFNhbWUgZ2x5
cGggd2lkdGhzIGJ1dCBkaWZmZXJlbnQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZW50aWNzIGNhbgog
ICAgICAgICAvLyBwcm9kdWNlIGRpZmZlcmVudCBydW4gd2lkdGguCiAgICAgICAgIGZsb2F0IHJ1
bldpZHRoRGlmZmVyZW5jZVdpdGhUcmFuc2Zvcm1BcHBsaWVkID0gLXJ1bldpZHRoOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXggNzdjYjE2
YWI0OTAuLjk4ZTk3ZTFiMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9h
dCB3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRSdW4mLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25l
ZCB0bywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBmbG9hdCogb3V0
V2lkdGhCZWZvcmVSYW5nZSA9IG51bGxwdHIsIGZsb2F0KiBvdXRXaWR0aEFmdGVyUmFuZ2UgPSBu
dWxscHRyKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBmbG9hdCB3aWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJm
bG93KiA9IDApIGNvbnN0OwotICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3
IHRleHQpIGNvbnN0OworICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRl
eHQsIFRleHREaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIgLyogbWF0Y2hlcyBkZWZhdWx0
IGFyZ3VtZW50IG9mIFRleHRSdW4gY29uc3RydWN0b3IgKi8pIGNvbnN0OwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFRleHRMYXlvdXQsIFRleHRMYXlvdXREZWxldGVyPiBjcmVhdGVMYXlvdXQoUmVu
ZGVyVGV4dCYsIGZsb2F0IHhQb3MsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKSBjb25zdDsKICAg
ICBzdGF0aWMgZmxvYXQgd2lkdGgoVGV4dExheW91dCYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IGxlbiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAppbmRleCBlY2JjNWVlYTliOS4uNzM2
ZjI4N2ZjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgK
QEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4gewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZhdWx0IGFy
Z3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVmYXVs
dCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBmbG9h
dCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5z
aW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9
IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJv
b2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQodGV4
dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgogICAg
ICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRlZmF1
bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkncyBk
ZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0cmluZ1Zp
ZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhhdmlv
ciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24gZGly
ZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBm
YWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6IFRl
eHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4cGFuc2lv
biwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSwgY2hh
cmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggOGEwNDQ2MWYwYmUuLjMyYjU5
YzE0MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcApAQCAtNzYsMjcgKzc2LDI1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1Nv
ZnRCYW5rRW1vamkoVUNoYXIzMiBjb2RlcG9pbnQpCiAgICAgcmV0dXJuIGNvZGVwb2ludCA+PSAw
eEUwMDEgJiYgY29kZXBvaW50IDw9IDB4RTUzNzsKIH0KIAotaW5saW5lIGF1dG8gV2lkdGhJdGVy
YXRvcjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciogZ2x5cGhC
dWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
KSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQoraW5saW5lIGF1dG8gV2lkdGhJdGVyYXRvcjo6c2hv
dWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIHVu
c2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpIGNv
bnN0IC0+IFRyYW5zZm9ybXNUeXBlCiB7Ci0gICAgaWYgKGdseXBoQnVmZmVyICYmIGdseXBoQnVm
ZmVyLT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgaXNTb2Z0QmFua0Vtb2ppKHBy
ZXZpb3VzQ2hhcmFjdGVyKSkKKyAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgZ2x5cGhCdWZmZXItPnNp
emUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggJiYg
aXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXggLSAxXSkp
CiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmIChtX3J1bi5s
ZW5ndGgoKSA8PSAxIHx8ICEobV9lbmFibGVLZXJuaW5nIHx8IG1fcmVxdWlyZXNTaGFwaW5nKSkK
ICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb25lOwogICAgIHJldHVybiBUcmFuc2Zv
cm1zVHlwZTo6Tm90Rm9yY2VkOwogfQogCi1pbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBw
bHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbHRyLCB1bnNp
Z25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQqIGZvbnQsIFVDaGFyMzIgcHJldmlvdXND
aGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlKQoraW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwgdW5zaWduZWQgbGFz
dEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCog
Zm9udCwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJl
YXRlZEFzU3BhY2UpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c0NoYXJhY3Rlciwgc2hv
dWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZp
b3VzQ2hhcmFjdGVyKSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7Cisg
ICAgQVNTRVJUKHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpICE9IFdpZHRoSXRlcmF0b3I6OlRyYW5zZm9y
bXNUeXBlOjpOb25lKTsKIAogICAgIGlmICghZ2x5cGhCdWZmZXIpCiAgICAgICAgIHJldHVybiAw
OwogCiAgICAgYXV0byBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOwotICAg
IGlmICghZm9yY2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsgMSkgewot
ICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKKyAgICBpZiAoIWZvcmNl
ICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpCiAgICAgICAgIHJldHVy
biAwOwotICAgIH0KIAogICAgIEdseXBoQnVmZmVyQWR2YW5jZSogYWR2YW5jZXMgPSBnbHlwaEJ1
ZmZlci0+YWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTA3LDcg
KzEwNSw3IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgaWYgKCFsdHIpCiAgICAgICAg
IGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBs
YXN0R2x5cGhDb3VudCk7CiAKLSAgICBmb250LT5hcHBseVRyYW5zZm9ybXMoKmdseXBoQnVmZmVy
LCBsYXN0R2x5cGhDb3VudCwgbV9lbmFibGVLZXJuaW5nLCBtX3JlcXVpcmVzU2hhcGluZywgbV9m
b250LT5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICBmb250LT5hcHBs
eVRyYW5zZm9ybXMoKmdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgbV9jdXJyZW50Q2hhcmFj
dGVyLCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQtPmZvbnREZXNj
cmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIG1fcnVuLnRleHQoKSwgbV9ydW4uZGlyZWN0aW9u
KCkpOwogICAgIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5zaXplKCk7CiAKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytp
KQpAQCAtMTM1LDcgKzEzMyw2IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZv
bnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1
bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKICAg
ICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCi0gICAgbGFzdEdseXBo
Q291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CiAgICAgcmV0dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVX
aWR0aDsKIH0KIApAQCAtMTcxLDcgKzE2OCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RkOjpwYWlyPGJv
b2wsIGJvb2w+IGV4cGFuc2lvbkxvY2F0aW9uKGJvb2wgaWRlb2dyYXBoLCBib29sIHRyZWF0CiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmZl
ciogZ2x5cGhCdWZmZXIpCiB7Ci0gICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBt
YXRjaCBTaW1wbGVMaW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBsZVRleHQoKQorICAgIC8vIFRoZSBj
b3JlIGxvZ2ljIGhlcmUgbmVlZHMgdG8gbWF0Y2ggRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxl
VGV4dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29sIGhhc0V4dHJhU3Bh
Y2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndvcmRTcGFjaW5nKCkg
fHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIApAQCAtMTkxLDEz
ICsxODgsMTQgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25zdCBGb250KiBsYXN0
Rm9udERhdGEgPSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEdseXBoQ291bnQgPSBn
bHlwaEJ1ZmZlciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAwOwogCisgICAgYXV0byBjdXJyZW50
Q2hhcmFjdGVyID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hh
cmFjdGVyID0gMDsKLSAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNp
Z25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKICAgICBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogICAgIFN0cmluZyBub3JtYWxpemVkU3BhY2VzU3RyaW5n
Q2FjaGU7CiAgICAgLy8gV2UgYXJlIGl0ZXJhdGluZyBpbiBzdHJpbmcgb3JkZXIsIG5vdCBnbHlw
aCBvcmRlci4gQ29tcGFyZSB0aGlzIHRvIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5
cGhzQW5kQWR2YW5jZXMoKQogICAgIHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0
ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgPSB0ZXh0SXRl
cmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBj
bHVzdGVyTGVuZ3RoOwogICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0g
IWlzRGVmYXVsdElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQ
RSkKQEAgLTIwOCw3ICsyMDYsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJh
Y3RlciA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhE
YXRhJiBnbHlwaERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIs
IHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBp
ZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjMwLDEyICsy
MjcsMTIgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJ
dGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgfQogCiAgICAgICAgIGlm
IChmb250ICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewotICAgICAgICAgICAgYXV0byB0cmFu
c2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgICAgICAgICBpZiAodHJhbnNmb3Jt
c1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKLSAgICAgICAgICAgICAgICBtX3J1bldp
ZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCks
IGxhc3RHbHlwaENvdW50LCBsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zv
cm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3Bh
Y2UpOwotICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXIpOworICAgICAg
ICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAg
ICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXIsIGxhc3RG
b250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFj
dGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKKyAgICAg
ICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAg
ICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOwogCiAgICAgICAgICAg
ICBsYXN0Rm9udERhdGEgPSBmb250OwogICAgICAgICAgICAgaWYgKG1fZmFsbGJhY2tGb250cyAm
JiBmb250ICE9ICZwcmltYXJ5Rm9udCkgewpAQCAtMzE2LDcgKzMxMyw3IEBAIGlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7
CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFj
dGVyKTsKKyAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5z
Zm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVyKTsKICAg
ICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lICYmIGdseXBo
QnVmZmVyICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewogICAgICAg
ICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihnbHlw
aEJ1ZmZlci0+c2l6ZSgpLAogICAgICAgICAgICAgICAgIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFy
YWN0ZXJUcmVhdGVkQXNTcGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBnbHlwaEJ1ZmZlci0+c2l6ZSgp
ID8gZ2x5cGhCdWZmZXItPmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+c2l6ZSgpIC0gMSkud2lkdGgo
KSA6IDAsIHdpZHRoKSkpOwpAQCAtMzQ4LDcgKzM0NSw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRl
cmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhC
dWZmCiAgICAgICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5H
bHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLnkoKSk7CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92
ZXJmbG93ID0gc3RkOjptYXg8ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAg
ICAgIH0KLSAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCiAg
ICAgaWYgKGdseXBoQnVmZmVyICYmIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKSB7CkBAIC0z
NTgsMTQgKzM1NCwxMiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgZ2x5
cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKICAgICB9CiAK
LSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlw
aEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICBhdXRvIHRy
YW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXIpOwogICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAh
PSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBw
bHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50
LCBsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFu
c2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICBp
ZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+c2hyaW5rKGxhc3RHbHlw
aENvdW50KTsKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMo
Z2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ciwgbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2Vk
LCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwogICAgIH0KLQogICAgIG1fY3VycmVudENoYXJh
Y3RlciA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKwogICAgIG1fcnVuV2lkdGhTb0Zh
ciArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwogICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0g
bGFzdFJvdW5kaW5nV2lkdGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggYzA5ZGQ4NzI3ZTUuLmY0YmQ1ZjkwNTQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCkBA
IC02MSw4ICs2MSw4IEBAIHByaXZhdGU6CiAgICAgaW5saW5lIHZvaWQgYWR2YW5jZUludGVybmFs
KFRleHRJdGVyYXRvciYsIEdseXBoQnVmZmVyKik7CiAKICAgICBlbnVtIGNsYXNzIFRyYW5zZm9y
bXNUeXBlIHsgTm9uZSwgRm9yY2VkLCBOb3RGb3JjZWQgfTsKLSAgICBUcmFuc2Zvcm1zVHlwZSBz
aG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFz
dEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0OwotICAgIGZsb2F0
IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQmIGxh
c3RHbHlwaENvdW50LCBjb25zdCBGb250KiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9v
bCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CisgICAgVHJhbnNmb3Jtc1R5cGUg
c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciosIHVuc2lnbmVkIGxh
c3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpIGNvbnN0OworICAg
IGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3Qg
Rm9udCosIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogCiAgICAgY29u
c3QgRm9udENhc2NhZGUqIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpp
bmRleCA4YjhjOWQ2N2Q3ZC4uNWM0M2RhNGFkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU0NCwyNiArNTQ0LDU5
IEBAIFJlZlB0cjxGb250PiBGb250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgZmxvYXQgc2NhbGVGCiAgICAgcmV0dXJuIGNyZWF0ZURlcml2YXRpdmVG
b250KHNjYWxlZEZvbnQuZ2V0KCksIHNpemUsIG1fcGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCks
IGZvbnRUcmFpdHMsIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURh
dGEuc3ludGhldGljT2JsaXF1ZSgpKTsKIH0KIAotdm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBl
bmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9j
YWxlKSBjb25zdAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyLCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlwaEluZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdT
dHJpbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29u
c3QgQXRvbVN0cmluZyYgbG9jYWxlLCBTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gdGV4
dERpcmVjdGlvbikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IEdseXBoQnVmZmVy
IGluaXRpYWwgYWR2YW5jZS4KLSAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAo
ZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCAo
cmVxdWlyZXNTaGFwaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZyA6IDApOwotI2lm
IFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCi0gICAgYXV0byBoYW5kbGVy
ID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiog
bmV3QWR2YW5jZXNQb2ludGVyKSB7CisjaWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQorICAgIFVO
VVNFRF9QQVJBTShyZXF1aXJlc1NoYXBpbmcpOworICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5n
ZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2Vz
UG9pbnRlciwgQ0dQb2ludCoqIG5ld09mZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNl
c1BvaW50ZXIpIHsKICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChy
YW5nZS5sb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRklu
ZGV4PihnbHlwaEJ1ZmZlci5zaXplKCkpKTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDAp
IHsKICAgICAgICAgICAgIHJhbmdlLmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAt
cmFuZ2UubGVuZ3RoKTsKICAgICAgICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRp
b24gLSByYW5nZS5sZW5ndGg7Ci0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5u
aW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGds
eXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJh
bmdlLmxlbmd0aCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFr
ZUhvbGUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlz
KTsKLSAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5u
aW5nSW5kZXgpOwotICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2
YW5jZXMoYmVnaW5uaW5nSW5kZXgpOwotICAgIH07Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhz
V2l0aExhbmd1YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMo
YmVnaW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFk
dmFuY2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0lu
ZGV4LCBvcHRpb25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJv
bVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhhbmRsZXIp
OworICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJbmRleCAr
IHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpuZXdHbHlw
aHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAg
ICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5n
R2x5cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9y
aWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9pbnRlciA9
IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAg
fTsKKworICAgIGF1dG8gc3Vic3RyaW5nID0gdGV4dC5zdWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5n
SW5kZXgpOworICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vic3RyaW5nLnVwY29u
dmVydGVkQ2hhcmFjdGVycygpOworICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6
OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5j
cmVhdGVDRlN0cmluZygpOworICAgIENURm9udFNoYXBlT3B0aW9ucyBvcHRpb25zID0ga0NURm9u
dFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbgorICAgICAgICB8IChlbmFibGVLZXJuaW5nID8g
a0NURm9udFNoYXBlV2l0aEtlcm5pbmcgOiAwKQorICAgICAgICB8ICh0ZXh0RGlyZWN0aW9uID09
IFRleHREaXJlY3Rpb246OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5n
R2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVn
aW5uaW5nR2x5cGhJbmRleClbaV0gLT0gYmVnaW5uaW5nR2x5cGhJbmRleDsKKworICAgIENURm9u
dFNoYXBlR2x5cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwKKyAgICAgICAg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAorICAgICAgICByZWludGVy
cHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5k
ZXgpKSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4oZ2x5cGhCdWZmZXIub3Jp
Z2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJ
blN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVbmlDaGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgpKSwKKyAgICAgICAgdGV4
dC5sZW5ndGgoKSwKKyAgICAgICAgb3B0aW9ucywKKyAgICAgICAgbG9jYWxlU3RyaW5nLmdldCgp
LAorICAgICAgICBoYW5kbGVyKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlw
aEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBo
QnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtpXSArPSBiZWdpbm5p
bmdHbHlwaEluZGV4OworCiAjZWxzZQorCisgICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmlu
Z0luZGV4KTsKICAgICBVTlVTRURfUEFSQU0obG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1H
bHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5p
bmdJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
YmVnaW5uaW5nSW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9w
dGlvbnMpOworICAgIFVOVVNFRF9QQVJBTSh0ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERp
cmVjdGlvbik7CisgICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtl
cm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVz
U2hhcGluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRU
cmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBo
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1
ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAt
IGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250
RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMjU3OWRhMDYxNy4uZmY2ZmM4ZDgzMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNv
cmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2lt
cGxlRm9udERhdGFDb3JlVGV4dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2Vybmlu
ZywgRm9udE8KICAgICB2YWx1ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBz
aXplX3QgY291bnQgPSAxOwogCi0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5H
VUFHRSkKKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5n
UmVmPiBsb2NhbGVTdHJpbmc7CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAg
IGxvY2FsZVN0cmluZyA9IGxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405906</attachid>
            <date>2020-08-04 01:00:59 -0700</date>
            <delta_ts>2020-08-04 02:30:16 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>26833</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGFjMzg2MmYyZGRiMzdhODQ4ZTY0Zjg3YmVlOTAzZWY2YmI4Y2NiODMKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgQXVnIDEg
MTI6MTI6MzkgMjAyMCAtMDcwMAoKICAgIENURm9udFNoYXBlR2x5cGhzCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNl
LmgKaW5kZXggZmEzMmQ0N2UzN2IuLmNjMDM0N2NkNTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAg
LTMwMSw2ICszMDEsNyBAQAogI2RlZmluZSBVU0VfREFSV0lOX1JFR0lTVEVSX01BQ1JPUyAxCiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTYwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRS
QU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSAxCisvLyNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAp
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQorI2RlZmluZSBVU0VfQ1RGT05UU0hBUEVHTFlQ
SFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRl
eHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNS4uNjczODYzZjVhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApAQCAtNDYsNiArNDYsMTIgQEAg
dHlwZWRlZiBDRl9PUFRJT05TKHVpbnQzMl90LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKSB7CiAg
ICAga0NURm9udFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgPSAoMSA8PCAxKQogfTsKIAordHlw
ZWRlZiBDRl9PUFRJT05TKENGT3B0aW9uRmxhZ3MsIENURm9udFNoYXBlT3B0aW9ucykgeworICAg
IGtDVEZvbnRTaGFwZVdpdGhLZXJuaW5nID0gKDEgPDwgMCksCisgICAga0NURm9udFNoYXBlV2l0
aENsdXN0ZXJDb21wb3NpdGlvbiA9ICgxIDw8IDEpLAorICAgIGtDVEZvbnRTaGFwZVJpZ2h0VG9M
ZWZ0ID0gKDEgPDwgMiksCit9OworCiB0eXBlZGVmIENGX09QVElPTlModWludDMyX3QsIENURm9u
dERlc2NyaXB0b3JPcHRpb25zKSB7CiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25TeXN0ZW1V
SUZvbnQgPSAxIDw8IDEsCiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25QcmVmZXJBcHBsZVN5
c3RlbUZvbnQgPSBrQ1RGb250T3B0aW9uc1ByZWZlclN5c3RlbUZvbnQKQEAgLTkyLDcgKzk4LDcg
QEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlNb25vc3BhY2U7CiBl
eHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udENTU0ZhbWlseVN5c3RlbVVJOwogCiBib29s
IENURm9udFRyYW5zZm9ybUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6
ZSBhZHZhbmNlc1tdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKTsKLUNH
U2l6ZSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBDR0dseXBo
W10sIENHU2l6ZVtdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zLCBDRlN0
cmluZ1JlZiBsYW5ndWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dT
aXplKiopKTsKK0NHU2l6ZSBDVEZvbnRTaGFwZUdseXBocyhDVEZvbnRSZWYgZm9udCwgQ0dHbHlw
aCBnbHlwaHNbXSwgQ0dTaXplIGFkdmFuY2VzW10sIENHUG9pbnQgb3JpZ2luc1tdLCBDRkluZGV4
IGluZGV4ZXNbXSwgY29uc3QgVW5pQ2hhciBjaGFyc1tdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRT
aGFwZU9wdGlvbnMgb3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVy
KShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikpOwog
CiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYgQ1RM
aW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNrLCBD
VFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNv
cmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRh
dGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTYuLjA3ZTk0MTlm
NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJl
ZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCkBA
IC00MCw2ICs0MCwxMSBAQAogICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgog
ICAgICAgZGVidWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgogICAgICAgYWxsb3dMb2Nh
dGlvblNpbXVsYXRpb24gPSAiWUVTIj4KKyAgICAgIDxQYXRoUnVubmFibGUKKyAgICAgICAgIHJ1
bm5hYmxlRGVidWdnaW5nTW9kZSA9ICIwIgorICAgICAgICAgQnVuZGxlSWRlbnRpZmllciA9ICJv
cmcud2Via2l0Lk1pbmlCcm93c2VyIgorICAgICAgICAgRmlsZVBhdGggPSAiL1VzZXJzL21tYXhm
aWVsZC9CdWlsZC9Qcm9kdWN0cy9EZWJ1Zy9NaW5pQnJvd3Nlci5hcHAiPgorICAgICAgPC9QYXRo
UnVubmFibGU+CiAgICA8L0xhdW5jaEFjdGlvbj4KICAgIDxQcm9maWxlQWN0aW9uCiAgICAgICBi
dWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAKaW5kZXggOWFlNjkwNjhmM2UuLjZlZjk3ODkyN2MzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDgsIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFr
b3YKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUxMiw3ICs1MTIsNyBAQCBSZWZQdHI8Rm9udD4gRm9u
dDo6Y3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgZmxvYQogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotdm9pZCBGb250OjphcHBseVRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgYm9vbCwgYm9vbCwgY29uc3QgQXRvbVN0cmlu
ZyYpIGNvbnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkLCB1bnNpZ25lZCwgYm9vbCwgYm9vbCwgY29uc3QgQXRvbVN0cmluZyYsIFN0cmluZ1ZpZXcs
IFRleHREaXJlY3Rpb24pIGNvbnN0CiB7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnQuaAppbmRleCBlYWY5ZGFjNDIwYS4uOGVjMzM4MGQ3YjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyArMSw3IEBACiAvKgogICog
VGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVtZW50YXRpb24uCiAg
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1LTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggVG9y
Y2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIwNyw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5jZShj
b25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBseVRyYW5zZm9ybXMoR2x5
cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBi
b29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBjb25zdDsKKyAg
ICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJlZ2lubmluZ0ds
eXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5p
bmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0cmlu
Z1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVydGllcygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmlu
ZGV4IDgwZmFiYjMyYWRiLi42NjZmOTkyMTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcApAQCAtNDI1LDcgKzQyNSw3IEBAIGZsb2F0
IEZvbnRDYXNjYWRlOjp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9u
dCo+KiBmYWxsYmFja0ZvbnRzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZmxvYXQgRm9udENh
c2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CitmbG9hdCBG
b250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVj
dGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25zdAogewogICAgIGlmICh0ZXh0LmlzTnVsbCgpIHx8IHRl
eHQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTQ0Nyw3ICs0NDcsNyBAQCBmbG9h
dCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29uc3QK
ICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CiAgICAg
fQogICAgIGlmIChoYXNLZXJuaW5nT3JMaWdhdHVyZXMpIHsKLSAgICAgICAgZm9udC5hcHBseVRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5n
KCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgICAgICBmb250LmFw
cGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgMCwgZW5hYmxlS2VybmluZygpLCByZXF1aXJl
c1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwgdGV4dCwgdGV4
dERpcmVjdGlvbik7CiAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIG9ubHkgdG8gbWF0Y2ggdGhl
IHJlc3VsdCBvZiB0aGUgc2xvdyBwYXRoLiBTYW1lIGdseXBoIHdpZHRocyBidXQgZGlmZmVyZW50
IGZsb2F0aW5nIHBvaW50IGFyaXRobWVudGljcyBjYW4KICAgICAgICAgLy8gcHJvZHVjZSBkaWZm
ZXJlbnQgcnVuIHdpZHRoLgogICAgICAgICBmbG9hdCBydW5XaWR0aERpZmZlcmVuY2VXaXRoVHJh
bnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTUsNiArMTM5NSw4IEBAIEdseXBoQnVm
ZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgdW5z
aWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhCdWZmZXIn
cyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVyLnNldEluaXRpYWxBZHZh
bmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAgLy8gVGhlIGdseXBoIGJ1
ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAvLyBidXQgd2UgbmVlZCB0
byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gcGh5c2ljYWwgb3JkZXIuCiAgICAgaWYgKHJ1bi5ydGwo
KSkKICAgICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlwaEJ1ZmZlci5zaXplKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2Fk
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAppbmRl
eCA1OGE1NjdkODY2NC4uZWIwYzhiODQ5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKIAog
ICAgIGZsb2F0IHdpZHRoT2ZUZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIHRvLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIGZs
b2F0KiBvdXRXaWR0aEJlZm9yZVJhbmdlID0gbnVsbHB0ciwgZmxvYXQqIG91dFdpZHRoQWZ0ZXJS
YW5nZSA9IG51bGxwdHIpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGZsb2F0IHdpZHRoKGNv
bnN0IFRleHRSdW4mLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEds
eXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0
cmluZ1ZpZXcgdGV4dCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmlu
Z1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiAvKiBtYXRjaGVz
IGRlZmF1bHQgYXJndW1lbnQgb2YgVGV4dFJ1biBjb25zdHJ1Y3RvciAqLykgY29uc3Q7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dExheW91dCwgVGV4dExheW91dERlbGV0ZXI+IGNyZWF0ZUxh
eW91dChSZW5kZXJUZXh0JiwgZmxvYXQgeFBvcywgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpIGNv
bnN0OwogICAgIHN0YXRpYyBmbG9hdCB3aWR0aChUZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDApOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmluZGV4IGVjYmM1ZWVh
OWI5Li43MzZmMjg3ZmNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGV4dFJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRSdW4uaApAQCAtNDMsNiArNDMsNyBAQCBzdHJ1Y3QgR2x5cGhEYXRhOwogY2xhc3MgVGV4dFJ1
biB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgLy8gTFRSIGRl
ZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkn
cyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHRl
eHQsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhhdmlv
ciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24gZGly
ZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBm
YWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6IG1f
dGV4dCh0ZXh0KQogICAgICAgICAsIG1fdGFiU2l6ZSgwKQpAQCAtNTksNiArNjAsNyBAQCBwdWJs
aWM6CiAgICAgICAgIEFTU0VSVCghbV90ZXh0LmlzTnVsbCgpKTsKICAgICB9CiAKKyAgICAvLyBM
VFIgZGVmYXVsdCBhcmd1bWVudCBtYXRjaGVzIEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRl
eHQoKSdzIGRlZmF1bHQgYXJndW1lbnQKICAgICBleHBsaWNpdCBUZXh0UnVuKFN0cmluZ1ZpZXcg
c3RyaW5nVmlldywgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIEV4cGFuc2lv
bkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yID0gRGVmYXVsdEV4cGFuc2lvbiwgVGV4dERpcmVj
dGlvbiBkaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIsIGJvb2wgZGlyZWN0aW9uYWxPdmVy
cmlkZSA9IGZhbHNlLCBib29sIGNoYXJhY3RlclNjYW5Gb3JDb2RlUGF0aCA9IHRydWUpCiAgICAg
ICAgIDogVGV4dFJ1bihzdHJpbmdWaWV3LnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSwgeHBvcywg
ZXhwYW5zaW9uLCBleHBhbnNpb25CZWhhdmlvciwgZGlyZWN0aW9uLCBkaXJlY3Rpb25hbE92ZXJy
aWRlLCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA2MTYzYmNlMjdh
Mi4uYzQwZTJiYmRkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC03NiwyNyArNzYsMjUgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVwb2ludCkKICAgICByZXR1cm4gY29kZXBv
aW50ID49IDB4RTAwMSAmJiBjb2RlcG9pbnQgPD0gMHhFNTM3OwogfQogCi1pbmxpbmUgYXV0byBX
aWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVy
KiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXND
aGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCitpbmxpbmUgYXV0byBXaWR0aEl0ZXJh
dG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiBnbHlwaEJ1
ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCkgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKIHsKLSAgICBpZiAoZ2x5cGhCdWZmZXIgJiYg
Z2x5cGhCdWZmZXItPnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBpc1NvZnRCYW5r
RW1vamkocHJldmlvdXNDaGFyYWN0ZXIpKQorICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBnbHlwaEJ1
ZmZlci0+c2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCAmJiBpc1NvZnRCYW5rRW1vamkobV9ydW4udGV4dCgpW2N1cnJlbnRDaGFyYWN0ZXJJbmRl
eCAtIDFdKSkKICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQ7CiAgICAgaWYg
KG1fcnVuLmxlbmd0aCgpIDw9IDEgfHwgIShtX2VuYWJsZUtlcm5pbmcgfHwgbV9yZXF1aXJlc1No
YXBpbmcpKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5vbmU7CiAgICAgcmV0dXJu
IFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBmbG9hdCBXaWR0aEl0ZXJh
dG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBs
dHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCogZm9udCwgVUNoYXIzMiBw
cmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBj
aGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBw
bHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbHRyLCB1bnNp
Z25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25z
dCBGb250KiBmb250LCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJh
Y3RlcnNUcmVhdGVkQXNTcGFjZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHByZXZpb3VzQ2hhcmFj
dGVyLCBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3Vu
dCwgcHJldmlvdXNDaGFyYWN0ZXIpICE9IFdpZHRoSXRlcmF0b3I6OlRyYW5zZm9ybXNUeXBlOjpO
b25lKTsKKyAgICBBU1NFUlQoc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwg
bGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgIT0gV2lkdGhJdGVyYXRvcjo6
VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpOwogCiAgICAgaWYgKCFnbHlwaEJ1ZmZlcikKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5zaXpl
KCk7Ci0gICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQg
KyAxKSB7Ci0gICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXJTaXplOworICAgIGlm
ICghZm9yY2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsgMSkKICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgR2x5cGhCdWZmZXJBZHZhbmNlKiBhZHZhbmNlcyA9
IGdseXBoQnVmZmVyLT5hZHZhbmNlcygwKTsKICAgICBmbG9hdCBiZWZvcmVXaWR0aCA9IDA7CkBA
IC0xMDQsMTUgKzEwMiwyOSBAQCBpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250
VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbAogICAgICAgICBiZWZv
cmVXaWR0aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCiAgICAgQVNTRVJUKGxhc3RHbHlwaENv
dW50IDw9IGdseXBoQnVmZmVyU2l6ZSk7CisKKyAgICAvLyBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMo
KSBvcGVyYXRlcyBpbiBwaHlzaWNhbCBvcmRlciwgYnV0IFdpZHRoSXRlcmF0b3IgaXRlcmF0ZXMg
aW4gbG9naWNhbCBvcmRlci4KKyAgICAvLyBUZW1wb3JhcmlseSBwdXQgdXMgaW4gcGh5c2ljYWwg
b3JkZXIganVzdCBmb3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBsb2dpY2FsIG9y
ZGVyIHdoZW4KKyAgICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRvbid0IGhhdmUg
YSBnbG9iYWwgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBqdXN0IG9wZXJh
dGluZyBvbiBhIHNpbmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJhdG9yIGVuY291
bnRlcnMgdGhlIGNodW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYWlu
dGFpbiB0aGF0IGludmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2FzY2FkZTo6bGF5
b3V0U2ltcGxlVGV4dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRvIHB1dCB0aGUg
ZW50aXJlIHRoaW5nCisgICAgLy8gaW4gcGh5c2ljYWwgb3JkZXIsIGJ1dCB0aGF0J3Mgb2theSBi
ZWNhdXNlIGl0IGhhcyBhIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlci4KKyAgICAvLyBP
biB0aGUgb3RoZXIgaGFuZCwgQ1RGb250U2hhcGVHbHlwaHMoKSBhY2NlcHRzIHRoZSBidWZmZXIg
aW4gbG9naWNhbCBvcmRlciBidXQgcmV0dXJucyBpdCBpbiBwaHlzaWNhbAorICAgIC8vIG9yZGVy
LCB3aGljaCBtZWFucyB0aGUgc2Vjb25kIHJldmVyc2UoKSBpbiB0aGlzIGZ1bmN0aW9uIHN0aWxs
IG5lZWRzIHRvIGV4ZWN1dGUgd2hlbgorICAgIC8vIENURm9udFNoYXBlR2x5cGhzKCkgaXMgYmVp
bmcgdXNlZC4KKyNpZiAhVVNFKENURk9OVFNIQVBFR0xZUEhTKQogICAgIGlmICghbHRyKQogICAg
ICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXpl
IC0gbGFzdEdseXBoQ291bnQpOworI2VuZGlmCiAKLSAgICBmb250LT5hcHBseVRyYW5zZm9ybXMo
KmdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgbV9lbmFibGVLZXJuaW5nLCBtX3JlcXVpcmVz
U2hhcGluZywgbV9mb250LT5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAg
ICBmb250LT5hcHBseVRyYW5zZm9ybXMoKmdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgbV9j
dXJyZW50Q2hhcmFjdGVySW5kZXgsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcs
IG1fZm9udC0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwgbV9ydW4udGV4dCgp
LCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXIt
PnNpemUoKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5
cGhCdWZmZXJTaXplOyArK2kpCiAgICAgICAgIGFkdmFuY2VzW2ldLnNldEhlaWdodCgtYWR2YW5j
ZXNbaV0uaGVpZ2h0KCkpOwogCisgICAgLy8gU2VlIHRoZSBjb21tZW50IGFib3ZlIGluIHRoaXMg
ZnVuY3Rpb24gd2hlcmUgdGhlIG90aGVyIGNhbGwgdG8gcmV2ZXJzZSgpIGlzLgogICAgIGlmICgh
bHRyKQogICAgICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhC
dWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCkBAIC0xMzUsNyArMTQ3LDYgQEAgaW5saW5l
IGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGds
eXBoQnVmZmVyLCBib29sIGwKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsg
aSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQogICAgICAgICBhZnRlcldpZHRoICs9IGFkdmFuY2Vz
W2ldLndpZHRoKCk7CiAKLSAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKICAg
ICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoOwogfQogCkBAIC0xNzEsNyArMTgyLDcg
QEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24o
Ym9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0
b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBU
aGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRo
Rm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRj
aCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVu
LnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3BhY2lu
ZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNw
YWNpbmdEaXNhYmxlZCgpOwogCkBAIC0xOTEsMTMgKzIwMiwxNCBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgIGNvbnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsKICAg
ICB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXItPnNp
emUoKSA6IDA7CiAKKyAgICBhdXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRv
ci5jdXJyZW50SW5kZXgoKTsKICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7Ci0gICAgVUNoYXIz
MiBwcmV2aW91c0NoYXJhY3RlciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9IDA7
CiAgICAgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZTsK
ICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFyZSBp
dGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0
byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICB3
aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkgewor
ICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4
KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwogICAg
ICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9yYWJs
ZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKQEAgLTIwOCw3ICsyMjAs
NiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJh
dG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0
ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0
YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAgICAg
ICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGggJiYg
IWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMzAsMTIgKzI0MSwxMiBAQCBpbmxp
bmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0
SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvbnQgIT0gbGFz
dEZvbnREYXRhICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHBy
ZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFu
c2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBh
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291
bnQsIGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRy
YW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGdseXBoQnVmZmVyKQotICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+c2hyaW5rKGxhc3RHbHlwaENvdW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF1
dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVy
LCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgIGlm
ICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgICAgICAg
ICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9y
dW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250
RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKKyAgICAgICAg
ICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKIAogICAg
ICAgICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsKICAgICAgICAgICAgIGlmIChtX2ZhbGxiYWNr
Rm9udHMgJiYgZm9udCAhPSAmcHJpbWFyeUZvbnQpIHsKQEAgLTMxNiw3ICszMjcsNyBAQCBpbmxp
bmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0
SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9
IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3Vs
ZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91
c0NoYXJhY3Rlcik7CisgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4KTsKICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpO
b25lICYmIGdseXBoQnVmZmVyICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVy
KSkgewogICAgICAgICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChzdGQ6Om1h
a2VfcGFpcihnbHlwaEJ1ZmZlci0+c2l6ZSgpLAogICAgICAgICAgICAgICAgIE9yaWdpbmFsQWR2
YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBnbHlwaEJ1
ZmZlci0+c2l6ZSgpID8gZ2x5cGhCdWZmZXItPmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+c2l6ZSgp
IC0gMSkud2lkdGgoKSA6IDAsIHdpZHRoKSkpOwpAQCAtMzQ4LDcgKzM1OSw2IEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hZID0gc3Rk
OjptaW4obV9taW5HbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLnkoKSk7CiAgICAgICAgICAgICBt
X2xhc3RHbHlwaE92ZXJmbG93ID0gc3RkOjptYXg8ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3
aWR0aCk7CiAgICAgICAgIH0KLSAgICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7
CiAgICAgfQogCiAgICAgaWYgKGdseXBoQnVmZmVyICYmIGxlZnRvdmVySnVzdGlmaWNhdGlvbldp
ZHRoKSB7CkBAIC0zNTgsMTQgKzM2OCwxMSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAg
ICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgbGFz
dEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAx
KTsKICAgICB9CiAKLSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJh
bnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsK
LSAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKLSAgICAg
ICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1f
cnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3Rl
ciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgaWYgKGdseXBoQnVmZmVyKQotICAgICAgICAgICAgZ2x5
cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgfQotCisgICAgYXV0byB0cmFu
c2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgIGlmICh0cmFuc2Zvcm1zVHlw
ZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFw
cGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3Vu
dCwgY3VycmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBlID09
IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CiAgICAg
bV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CisK
ICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKICAgICBtX2Zp
bmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3VuZGluZ1dpZHRoOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4IDhkYjM4YmIyMTBi
Li43NmMzZmY3NmM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1dpZHRoSXRlcmF0b3IuaApAQCAtNjEsOCArNjEsOCBAQCBwcml2YXRlOgogICAgIGlubGluZSB2
b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciopOwogCiAgICAg
ZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07Ci0g
ICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1
ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
KSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwgYm9v
bCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCosIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwor
ICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhC
dWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3Rl
ckluZGV4KSBjb25zdDsKKyAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
KiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgsIGNvbnN0IEZvbnQqLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFz
U3BhY2UmKTsKIAogICAgIGNvbnN0IEZvbnRDYXNjYWRlKiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4
dFJ1biYgbV9ydW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q29jb2EubW0KaW5kZXggOGI4YzlkNjdkN2QuLmUwNjc1OTc2MmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CkBAIC01NDQsMjYgKzU0NCw3NyBAQCBSZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVT
Y2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVy
biBjcmVhdGVEZXJpdmF0aXZlRm9udChzY2FsZWRGb250LmdldCgpLCBzaXplLCBtX3BsYXRmb3Jt
RGF0YS5vcmllbnRhdGlvbigpLCBmb250VHJhaXRzLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNC
b2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9u
dDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVn
aW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNv
bnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwg
dW5zaWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCBy
ZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0
LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24pIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IElt
cGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYgVVNFKENURk9OVFNIQVBF
R0xZUEhTKQorICAgIC8qVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKKyAgICBV
TlVTRURfUEFSQU0odGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKHRleHREaXJlY3Rpb24pOwogICAg
IENURm9udFRyYW5zZm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVLZXJuaW5nID8ga0NURm9u
dFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJlc1NoYXBpbmcgPyBrQ1RG
b250VHJhbnNmb3JtQXBwbHlTaGFwaW5nIDogMCk7Ci0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdM
WVBIU1dJVEhMQU5HVUFHRSkKICAgICBhdXRvIGhhbmRsZXIgPSBeKENGUmFuZ2UgcmFuZ2UsIENH
R2x5cGgqKiBuZXdHbHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZhbmNlc1BvaW50ZXIpIHsK
ICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlv
biwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1
ZmZlci5zaXplKCkpKTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAgICAgICAg
ICAgIHJhbmdlLmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3Ro
KTsKICAgICAgICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5s
ZW5ndGg7Ci0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5kZXggKyBy
YW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJl
bW92ZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7
CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5u
aW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAgICAgICAg
Km5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpOwot
ICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5u
aW5nSW5kZXgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5
cGhJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworICAgICAgICAq
bmV3R2x5cGhzUG9pbnRlciA9IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4
KTsKKyAgICAgICAgKm5ld0FkdmFuY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJl
Z2lubmluZ0dseXBoSW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0
aExhbmd1YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVn
aW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFu
Y2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4
LCBvcHRpb25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0
cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhhbmRsZXIpOwor
ICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLCByZWludGVycHJl
dF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgp
KSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwgb3B0aW9ucywgTG9j
YWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5z
dHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsqLworCisgICAgVU5VU0VE
X1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7CisgICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJh
bmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2lu
dGVyLCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9p
bnRlcikgeworICAgICAgICByYW5nZS5sb2NhdGlvbiA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdl
LmxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+
KGdseXBoQnVmZmVyLnNpemUoKSkpOworICAgICAgICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewor
ICAgICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3RkOjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5n
ZS5sZW5ndGgpOworICAgICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAt
IHJhbmdlLmxlbmd0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdH
bHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CisgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJbmRleCAr
IHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpuZXdHbHlw
aHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAg
ICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5n
R2x5cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9y
aWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9pbnRlciA9
IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAg
fTsKKworICAgIGF1dG8gc3Vic3RyaW5nID0gdGV4dC5zdWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5n
SW5kZXgpOworICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vic3RyaW5nLnVwY29u
dmVydGVkQ2hhcmFjdGVycygpOworICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6
OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5j
cmVhdGVDRlN0cmluZygpOworICAgIENURm9udFNoYXBlT3B0aW9ucyBvcHRpb25zID0ga0NURm9u
dFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbgorICAgICAgICB8IChlbmFibGVLZXJuaW5nID8g
a0NURm9udFNoYXBlV2l0aEtlcm5pbmcgOiAwKQorICAgICAgICB8ICh0ZXh0RGlyZWN0aW9uID09
IFRleHREaXJlY3Rpb246OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5n
R2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVn
aW5uaW5nR2x5cGhJbmRleClbYmVnaW5uaW5nR2x5cGhJbmRleCArIGldIC09IGJlZ2lubmluZ1N0
cmluZ0luZGV4OworCisgICAgLy8gRklYTUU6IFNlZ21lbnQgYnkgc2NyaXB0LgorICAgIENURm9u
dFNoYXBlR2x5cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwKKyAgICAgICAg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAorICAgICAgICByZWludGVy
cHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5k
ZXgpKSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4oZ2x5cGhCdWZmZXIub3Jp
Z2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJ
blN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVbmlDaGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgpKSwKKyAgICAgICAgZ2x5
cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwKKyAgICAgICAgb3B0aW9ucywK
KyAgICAgICAgbG9jYWxlU3RyaW5nLmdldCgpLAorICAgICAgICBoYW5kbGVyKTsKKworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlw
aEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5p
bmdHbHlwaEluZGV4KVtiZWdpbm5pbmdHbHlwaEluZGV4ICsgaV0gKz0gYmVnaW5uaW5nU3RyaW5n
SW5kZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5nU3RyaW5nSW5kZXgp
OwogICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5zZm9ybUdseXBocyht
X3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4
KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5p
bmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucyk7
CisgICAgVU5VU0VEX1BBUkFNKHRleHQpOworICAgIFVOVVNFRF9QQVJBTSh0ZXh0RGlyZWN0aW9u
KTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/
IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCAocmVxdWlyZXNTaGFwaW5n
ID8ga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZyA6IDApOworICAgIENURm9udFRyYW5zZm9y
bUdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lu
bmluZ0dseXBoSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFk
dmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5u
aW5nR2x5cGhJbmRleCwgb3B0aW9ucyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29y
ZVRleHQuY3BwCmluZGV4IDMyNTc5ZGEwNjE3Li5mZjZmYzhkODMyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250
RGF0YUNvcmVUZXh0LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5
UmVmPiBGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMoYm9vbCBlbmFibGVLZXJuaW5nLCBGb250
TwogICAgIHZhbHVlc1swXSA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpOwogICAgIHNpemVfdCBj
b3VudCA9IDE7CiAKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQor
I2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGxv
Y2FsZVN0cmluZzsKICAgICBpZiAoIWxvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgbG9jYWxl
U3RyaW5nID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405909</attachid>
            <date>2020-08-04 02:30:16 -0700</date>
            <delta_ts>2020-08-04 03:18:33 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>32912</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ0YWQ4ZjMzMmVjZTg4YjBkODRiMjkxZmQ1OTk5ODBmYzdjNGY0MzEKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgQXVnIDEg
MTI6MTI6MzkgMjAyMCAtMDcwMAoKICAgIENURm9udFNoYXBlR2x5cGhzCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CmluZGV4IGRjM2ZiMmZk
MjAxLi4wZjMzYTkwMGJjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi0yLWV4cGVjdGVkLnR4dApAQCAtMywxNCArMywxNCBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg0
MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDQwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTAwOiAiaGVuXHh7QUR9YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggMTAwOiAidGlvbi4iCi0gICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBdIFti
Z2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogImhlbmFceHtB
RH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsODAp
IHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDcgW2NvbG9yPSMwMDgwMDBdIFtiZ2Nv
bG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEw
MHg0MgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEwMDogImhlblx4e0FEfWFc
eHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMjcpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
NDcpIHNpemUgMTAweDQ3IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1KSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4
ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0aCAxMDA6ICJ0aW9uLiIK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDk0KSBzaXplIDEwMHgyMCBbY29sb3I9IzAw
ODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTAweDIwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAi
NXg1c3EiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3Rl
ZC50eHQKaW5kZXggNWRjYTg1OGM2YjIuLmQwZjA5OWQ4MDJlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0zLDExICszLDExIEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgMjI1eDUwIFtjb2xvcj0jRkZGRkZGXQotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSAyMjV4NTggW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCw2KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRo
IDEwMDogIkRpZCBceHtBRH0iCiAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEwMCwwKSBzaXplIDc1eDI1Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDApIHdp
ZHRoIDc1OiAibm90IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjUpIHNpemUg
MTAweDI1Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEwMDogImZhaWwiCisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsNikgc2l6ZSA3NXgyNQorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEwMCw2KSB3aWR0aCA3NTogIm5vdCIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDMzKSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDMzKSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmluZGV4IDIxYjJhNGJkOTE4Li42Y2M4Yjk3NGFkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4
dApAQCAtNCwxNCArNCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU3NgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDAKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDEwNCBb
Ym9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDcsNykgc2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3KSB3aWR0aCAz
MzA6ICIxMjM0NTY3ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9Igot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDI1KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKLSAgICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMTUxLDM5KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICg3LDQzKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3
LDYxKSBzaXplIDMzMHgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDYxKSB3aWR0aCAzMzA6
ICIxMjM0NTY3ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICg3LDc5KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKKyAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVyOiAoM3B4IHNvbGlk
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTIpIHNpemUgMzMw
eDM4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAx
IGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsMzIpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9
IGF0ICgxNTEsNDYpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTApIHNp
emUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMpIHNpemUgMzMweDM4
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFu
dGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDcsOTMpIHdpZHRoIDE0NDogImFsaWFzaW5nIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNp
emUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMzQpIHNpemUgNzg0eDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3Li45ZmI3
ZWJhMGZkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1p
bi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCkBAIC0xMSw3
ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4K
ICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYXI8c3Bhbj4tPC9zcGFu
Pjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmEtPGJyPnJpbHk8L2Rp
dj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4K
ICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXggZGU4YjFjYWE1YzIuLmE2NTAzODVi
Y2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXBy
ZWZlcnJlZC13aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDx0YWJsZSBjZWxs
c3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+CiAgICAgPHRyPgogICAgICAgICA8dGQ+Ci0gICAgICAg
ICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1hbnVhbDsiPmV4dHJhb3JkaW5hciZz
aHk7aWx5PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1h
bnVhbDsiPmV4dHJhb3JkaW5hJnNoeTtyaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAgICAgICAg
IDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5o
CmluZGV4IGZhMzJkNDdlMzdiLi5jYzAzNDdjZDUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0z
MDEsNiArMzAxLDcgQEAKICNkZWZpbmUgVVNFX0RBUldJTl9SRUdJU1RFUl9NQUNST1MgMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE2MDApCi0jZGVmaW5lIFVTRV9DVEZPTlRUUkFO
U0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorLy8jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQor
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKKyNkZWZpbmUgVVNFX0NURk9OVFNIQVBFR0xZUEhT
IDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2Ev
Q29yZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0
U1BJLmgKaW5kZXggN2QyMTRlZGE5ZjUuLjY3Mzg2M2Y1YWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTQ2LDYgKzQ2LDEyIEBAIHR5
cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucykgewogICAg
IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEgPDwgMSkKIH07CiAKK3R5cGVk
ZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFwZU9wdGlvbnMpIHsKKyAgICBr
Q1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAgIGtDVEZvbnRTaGFwZVdpdGhD
bHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RGb250U2hhcGVSaWdodFRvTGVm
dCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05TKHVpbnQzMl90LCBDVEZvbnRE
ZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9uU3lzdGVtVUlG
b250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9uUHJlZmVyQXBwbGVTeXN0
ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250CkBAIC05Miw3ICs5OCw3IEBA
IGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5TW9ub3NwYWNlOwogZXh0
ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlTeXN0ZW1VSTsKIAogYm9vbCBD
VEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUg
YWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyk7Ci1DR1Np
emUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENURm9udFJlZiwgQ0dHbHlwaFtd
LCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucywgQ0ZTdHJp
bmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6
ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250UmVmIGZvbnQsIENHR2x5cGgg
Z2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDR1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBp
bmRleGVzW10sIGNvbnN0IFVuaUNoYXIgY2hhcnNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hh
cGVPcHRpb25zIG9wdGlvbnMsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCB2b2lkICheaGFuZGxlciko
Q0ZSYW5nZSwgQ0dHbHlwaCoqLCBDR1NpemUqKiwgQ0dQb2ludCoqLCBDRkluZGV4KiopKTsKIAog
Q0dTaXplIENUUnVuR2V0SW5pdGlhbEFkdmFuY2UoQ1RSdW5SZWYpOwogQ1RMaW5lUmVmIENUTGlu
ZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIoQ1RVbmlDaGFyUHJvdmlkZXJDYWxsYmFjaywgQ1RV
bmlDaGFyRGlzcG9zZUNhbGxiYWNrLCB2b2lkKiByZWZDb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3Jl
Lnhjc2NoZW1lIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRh
L3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCmluZGV4IDE1ODJlMWEzYzU2Li4wN2U5NDE5ZjVm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRk
YXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQpAQCAt
NDAsNiArNDAsMTEgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIKICAg
ICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93TG9jYXRp
b25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAgICBydW5u
YWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZpZXIgPSAib3Jn
LndlYmtpdC5NaW5pQnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vycy9tbWF4Zmll
bGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAgIDwvUGF0aFJ1
bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAgYnVp
bGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlLi42ZWY5Nzg5MjdjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDA1LCAyMDA4LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CkBAIC01MTIsNyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6
OmNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24s
IGZsb2EKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcm
KSBjb25zdAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25l
ZCwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBU
ZXh0RGlyZWN0aW9uKSBjb25zdAogewogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmgKaW5kZXggZWFmOWRhYzQyMGEuLjhlYzMzODBkN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBpbnRlcm5hbCBmb250IGltcGxlbWVudGF0aW9uLgogICoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAxMCwgMjAxNS0yMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRvcmNo
IE1vYmlsZSwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIwNyw3ICsyMDcsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogICAgIGJvb2wgY2FuUmVuZGVyQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29u
c3QgVUNoYXIqLCBzaXplX3QpIGNvbnN0OwotICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9v
bCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3Q7CisgICAg
dm9pZCBhcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlw
aEluZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdTdHJpbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5n
LCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlLCBTdHJpbmdW
aWV3IHRleHQsIFRleHREaXJlY3Rpb24pIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IFNDUklQVF9GT05UUFJPUEVSVElFUyogc2NyaXB0Rm9udFByb3BlcnRpZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRl
eCA4MGZhYmIzMmFkYi4uNjY2Zjk5MjExMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3ICs0MjUsNyBAQCBmbG9hdCBG
b250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbnQq
PiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWZsb2F0IEZvbnRDYXNj
YWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdAorZmxvYXQgRm9u
dENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rp
b24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5pc051bGwoKSB8fCB0ZXh0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDcsNyArNDQ3LDcgQEAgZmxvYXQg
Rm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CiAg
ICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgpOwogICAgIH0K
ICAgICBpZiAoaGFzS2VybmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFu
c2Zvcm1zKGdseXBoQnVmZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygp
LCBmb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBs
eVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNT
aGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHRE
aXJlY3Rpb24pOwogICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSBy
ZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBm
bG9hdGluZyBwb2ludCBhcml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVy
ZW50IHJ1biB3aWR0aC4KICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5z
Zm9ybUFwcGxpZWQgPSAtcnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZl
ciBGb250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVucwogICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3Mg
Y3VycmVudCBpbml0aWFsQWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5j
ZShGbG9hdFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZm
ZXIgaXMgY3VycmVudGx5IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8g
cmV0dXJuIHRoZSByZXN1bHRzIGluIHBoeXNpY2FsIG9yZGVyLgogICAgIGlmIChydW4ucnRsKCkp
CiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZmZXIuc2l6ZSgpKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXgg
NThhNTY3ZDg2NjQuLmViMGM4Yjg0OTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAKICAg
ICBmbG9hdCB3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRSdW4mLCB1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCB0bywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBmbG9h
dCogb3V0V2lkdGhCZWZvcmVSYW5nZSA9IG51bGxwdHIsIGZsb2F0KiBvdXRXaWR0aEFmdGVyUmFu
Z2UgPSBudWxscHRyKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBmbG9hdCB3aWR0aChjb25z
dCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlw
aE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJp
bmdWaWV3IHRleHQpIGNvbnN0OworICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdW
aWV3IHRleHQsIFRleHREaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIgLyogbWF0Y2hlcyBk
ZWZhdWx0IGFyZ3VtZW50IG9mIFRleHRSdW4gY29uc3RydWN0b3IgKi8pIGNvbnN0OwogCiAgICAg
c3RkOjp1bmlxdWVfcHRyPFRleHRMYXlvdXQsIFRleHRMYXlvdXREZWxldGVyPiBjcmVhdGVMYXlv
dXQoUmVuZGVyVGV4dCYsIGZsb2F0IHhQb3MsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKSBjb25z
dDsKICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoVGV4dExheW91dCYsIHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAppbmRleCBlY2JjNWVlYTli
OS4uNzM2ZjI4N2ZjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RleHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
UnVuLmgKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4g
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZh
dWx0IGFyZ3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3Mg
ZGVmYXVsdCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0
LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3Ig
ZXhwYW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVj
dGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFs
c2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3Rl
eHQodGV4dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGlj
OgogICAgICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRS
IGRlZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0
KCkncyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0
cmluZ1ZpZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25C
ZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rp
b24gZGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJp
ZGUgPSBmYWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAg
ICA6IFRleHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4
cGFuc2lvbiwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlk
ZSwgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNjE2M2JjZTI3YTIu
LmIxMjNhNzgyNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNzYsMjcgKzc2LDI1IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1NvZnRCYW5rRW1vamkoVUNoYXIzMiBjb2RlcG9pbnQpCiAgICAgcmV0dXJuIGNvZGVwb2lu
dCA+PSAweEUwMDEgJiYgY29kZXBvaW50IDw9IDB4RTUzNzsKIH0KIAotaW5saW5lIGF1dG8gV2lk
dGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciog
Z2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hh
cmFjdGVyKSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQoraW5saW5lIGF1dG8gV2lkdGhJdGVyYXRv
cjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZm
ZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCiB7Ci0gICAgaWYgKGdseXBoQnVmZmVyICYmIGds
eXBoQnVmZmVyLT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgaXNTb2Z0QmFua0Vt
b2ppKHByZXZpb3VzQ2hhcmFjdGVyKSkKKyAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgZ2x5cGhCdWZm
ZXItPnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXgg
LSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmICht
X3J1bi5sZW5ndGgoKSA8PSAxIHx8ICEobV9lbmFibGVLZXJuaW5nIHx8IG1fcmVxdWlyZXNTaGFw
aW5nKSkKICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb25lOwogICAgIHJldHVybiBU
cmFuc2Zvcm1zVHlwZTo6Tm90Rm9yY2VkOwogfQogCi1pbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRv
cjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbHRy
LCB1bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQqIGZvbnQsIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQoraW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5
Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3Qg
Rm9udCogZm9udCwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2UpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c0NoYXJhY3Rl
ciwgc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQs
IHByZXZpb3VzQ2hhcmFjdGVyKSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9u
ZSk7CisgICAgQVNTRVJUKHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpICE9IFdpZHRoSXRlcmF0b3I6OlRy
YW5zZm9ybXNUeXBlOjpOb25lKTsKIAogICAgIGlmICghZ2x5cGhCdWZmZXIpCiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgYXV0byBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgp
OwotICAgIGlmICghZm9yY2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsg
MSkgewotICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKKyAgICBpZiAo
IWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpCiAgICAgICAg
IHJldHVybiAwOwotICAgIH0KIAogICAgIEdseXBoQnVmZmVyQWR2YW5jZSogYWR2YW5jZXMgPSBn
bHlwaEJ1ZmZlci0+YWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAt
MTA0LDE1ICsxMDIsMzIgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3Jl
V2lkdGggKz0gYWR2YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3Vu
dCA8PSBnbHlwaEJ1ZmZlclNpemUpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5cGhzKCkg
b3BlcmF0ZXMgaW4gcGh5c2ljYWwgb3JkZXIsIGJ1dCBXaWR0aEl0ZXJhdG9yIGl0ZXJhdGVzIGlu
IGxvZ2ljYWwgb3JkZXIuCisgICAgLy8gVGVtcG9yYXJpbHkgcHV0IHVzIGluIHBoeXNpY2FsIG9y
ZGVyIGp1c3QgZm9yIHRoZSBjYWxsLCB0aGVuIHB1dCB1cyBiYWNrIGludG8gbG9naWNhbCBvcmRl
ciB3aGVuCisgICAgLy8gdGhlIGNhbGwgaXMgZG9uZS4KKyAgICAvLyBXZSBkb24ndCBoYXZlIGEg
Z2xvYmFsIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlcjsgd2UncmUganVzdCBvcGVyYXRp
bmcgb24gYSBzaW5nbGUgY2h1bmsgb2YgaXQuCisgICAgLy8gV2lkdGhJdGVyYXRvciBlbmNvdW50
ZXJzIHRoZSBjaHVua3Mgb3V0IGluIGxvZ2ljYWwgb3JkZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRh
aW4gdGhhdCBpbnZhcmlhbnQuCisgICAgLy8gRXZlbnR1YWxseSwgRm9udENhc2NhZGU6OmxheW91
dFNpbXBsZVRleHQoKSB3aWxsIHJldmVyc2UgdGhlIHdob2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVu
dGlyZSB0aGluZworICAgIC8vIGluIHBoeXNpY2FsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVj
YXVzZSBpdCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24g
dGhlIG90aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGlu
IGxvZ2ljYWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwg
d2hpY2ggbWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBu
ZWVkcyB0byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5n
IHVzZWQuCisjaWYgIVVTRShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBpZiAoIWx0cikKICAgICAg
ICAgZ2x5cGhCdWZmZXItPnJldmVyc2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6ZSAt
IGxhc3RHbHlwaENvdW50KTsKKyNlbmRpZgogCi0gICAgZm9udC0+YXBwbHlUcmFuc2Zvcm1zKCpn
bHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1No
YXBpbmcsIG1fZm9udC0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSk7CisgICAg
Zm9udC0+YXBwbHlUcmFuc2Zvcm1zKCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fY3Vy
cmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBt
X2ZvbnQtPmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIG1fcnVuLnRleHQoKSwg
bV9ydW4uZGlyZWN0aW9uKCkpOwogICAgIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5z
aXplKCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBo
QnVmZmVyU2l6ZTsgKytpKQorICAgIEdseXBoQnVmZmVyT3JpZ2luKiBvcmlnaW5zID0gZ2x5cGhC
dWZmZXItPm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7
IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBhZHZhbmNlc1tpXS5zZXRIZWln
aHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKKyAgICAgICAgb3JpZ2luc1tpXS5zZXRZKC1vcmln
aW5zW2ldLnkoKSk7CisgICAgfQogCisgICAgLy8gU2VlIHRoZSBjb21tZW50IGFib3ZlIGluIHRo
aXMgZnVuY3Rpb24gd2hlcmUgdGhlIG90aGVyIGNhbGwgdG8gcmV2ZXJzZSgpIGlzLgogICAgIGlm
ICghbHRyKQogICAgICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5
cGhCdWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCkBAIC0xMzUsNyArMTUwLDYgQEAgaW5s
aW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIq
IGdseXBoQnVmZmVyLCBib29sIGwKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3Vu
dDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQogICAgICAgICBhZnRlcldpZHRoICs9IGFkdmFu
Y2VzW2ldLndpZHRoKCk7CiAKLSAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsK
ICAgICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoOwogfQogCkBAIC0xNzEsNyArMTg1
LDcgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRp
b24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRl
cmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAv
LyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6Ondp
ZHRoRm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBt
YXRjaCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1f
cnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3Bh
Y2luZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVu
LnNwYWNpbmdEaXNhYmxlZCgpOwogCkBAIC0xOTEsMTMgKzIwNSwxNCBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsK
ICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXIt
PnNpemUoKSA6IDA7CiAKKyAgICBhdXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVy
YXRvci5jdXJyZW50SW5kZXgoKTsKICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7Ci0gICAgVUNo
YXIzMiBwcmV2aW91c0NoYXJhY3RlciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9
IDA7CiAgICAgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZTsKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFy
ZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhp
cyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAg
ICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkg
eworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudElu
ZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwog
ICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9y
YWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKQEAgLTIwOCw3ICsy
MjMsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4
dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBo
RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAg
ICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGgg
JiYgIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMjksMTMgKzI0MywxMyBAQCBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpv
bnRhbEdseXBoU3RyZXRjaCgpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGZvbnQgIT0gbGFz
dEZvbnREYXRhICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHBy
ZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFu
c2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBh
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291
bnQsIGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRy
YW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGdseXBoQnVmZmVyKQotICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+c2hyaW5rKGxhc3RHbHlwaENvdW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKGZv
bnQgIT0gbGFzdEZvbnREYXRhKSB7CisgICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0g
VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9
IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhD
b3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBl
ID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Cisg
ICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCisgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291
bnQgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOworICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAKICAgICAgICAgICAgIGxhc3RGb250RGF0
YSA9IGZvbnQ7CiAgICAgICAgICAgICBpZiAobV9mYWxsYmFja0ZvbnRzICYmIGZvbnQgIT0gJnBy
aW1hcnlGb250KSB7CkBAIC0zMTYsNyArMzMwLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYK
ICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgfQog
Ci0gICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1z
KGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOworICAgICAg
ICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1
ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlm
ICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBnbHlwaEJ1ZmZlciAm
JiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIGNo
YXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZ2x5cGhCdWZmZXIt
PnNpemUoKSwKICAgICAgICAgICAgICAgICBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJl
YXRlZEFzU3BhY2UoY2hhcmFjdGVyID09ICcgJywgZ2x5cGhCdWZmZXItPnNpemUoKSA/IGdseXBo
QnVmZmVyLT5hZHZhbmNlQXQoZ2x5cGhCdWZmZXItPnNpemUoKSAtIDEpLndpZHRoKCkgOiAwLCB3
aWR0aCkpKTsKQEAgLTM0OCw3ICszNjIsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAg
ICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WSA9IHN0ZDo6bWluKG1fbWluR2x5cGhCb3Vu
ZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAgICAgICAgbV9sYXN0R2x5cGhPdmVyZmxvdyA9
IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4WCgpIC0gd2lkdGgpOwogICAgICAgICB9Ci0g
ICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAgIH0KIAogICAgIGlmIChn
bHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewpAQCAtMzU4LDE0ICsz
NzEsMTEgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJ
dGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGdseXBoQnVmZmVy
LT5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92ZXJK
dXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgfQogCi0gICAgYXV0
byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIs
IGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgaWYgKHRyYW5zZm9ybXNU
eXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKSB7Ci0gICAgICAgIG1fcnVuV2lkdGhTb0ZhciAr
PSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBo
Q291bnQsIGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09
IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAg
ICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmsobGFz
dEdseXBoQ291bnQpOwotICAgIH0KLQorICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKKyAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6
Ok5vbmUpCisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGds
eXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCwgbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9y
Y2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwogICAgIG1fY3VycmVudENoYXJhY3Rlcklu
ZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOworCiAgICAgbV9ydW5XaWR0aFNvRmFy
ICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7CiAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBs
YXN0Um91bmRpbmdXaWR0aDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuaAppbmRleCA4ZGIzOGJiMjEwYi4uNzZjM2ZmNzZjOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKQEAg
LTYxLDggKzYxLDggQEAgcHJpdmF0ZToKICAgICBpbmxpbmUgdm9pZCBhZHZhbmNlSW50ZXJuYWwo
VGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZmZXIqKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jt
c1R5cGUgeyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9OwotICAgIFRyYW5zZm9ybXNUeXBlIHNo
b3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0
R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7Ci0gICAgZmxvYXQg
YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFz
dEdseXBoQ291bnQsIGNvbnN0IEZvbnQqLCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyLCBib29s
IGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKKyAgICBUcmFuc2Zvcm1zVHlwZSBz
aG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFz
dEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3Q7CisgICAg
ZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25l
ZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBG
b250KiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKICAgICBjb25z
dCBGb250Q2FzY2FkZSogbV9mb250OwogICAgIGNvbnN0IFRleHRSdW4mIG1fcnVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmlu
ZGV4IDhiOGM5ZDY3ZDdkLi5lMDY3NTk3NjJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtNTQ0LDI2ICs1NDQsNzcg
QEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250
RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUYKICAgICByZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZv
bnQoc2NhbGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9wbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSwg
Zm9udFRyYWl0cywgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0
YS5zeW50aGV0aWNPYmxpcXVlKCkpOwogfQogCi12b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhH
bHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29sIGVu
YWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2Nh
bGUpIGNvbnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhC
dWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0
cmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25z
dCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0
RGlyZWN0aW9uKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgR2x5cGhCdWZmZXIg
aW5pdGlhbCBhZHZhbmNlLgorI2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKKyAgICAvKlVOVVNF
RF9QQVJBTShiZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgVU5VU0VEX1BBUkFNKHRleHQpOwor
ICAgIFVOVVNFRF9QQVJBTSh0ZXh0RGlyZWN0aW9uKTsKICAgICBDVEZvbnRUcmFuc2Zvcm1PcHRp
b25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0
aW9uaW5nIDogMCkgfCAocmVxdWlyZXNTaGFwaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5U2hh
cGluZyA6IDApOwotI2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCiAg
ICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9p
bnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyKSB7CiAgICAgICAgIHJhbmdlLmxvY2F0
aW9uID0gc3RkOjptaW4oc3RkOjptYXgocmFuZ2UubG9jYXRpb24sIHN0YXRpY19jYXN0PENGSW5k
ZXg+KDApKSwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oZ2x5cGhCdWZmZXIuc2l6ZSgpKSk7CiAgICAg
ICAgIGlmIChyYW5nZS5sZW5ndGggPCAwKSB7CiAgICAgICAgICAgICByYW5nZS5sZW5ndGggPSBz
dGQ6Om1pbihyYW5nZS5sb2NhdGlvbiwgLXJhbmdlLmxlbmd0aCk7CiAgICAgICAgICAgICByYW5n
ZS5sb2NhdGlvbiA9IHJhbmdlLmxvY2F0aW9uIC0gcmFuZ2UubGVuZ3RoOwotICAgICAgICAgICAg
Z2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0luZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdl
Lmxlbmd0aCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nR2x5cGhJ
bmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOwogICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0luZGV4ICsgcmFuZ2UubG9j
YXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7Ci0gICAgICAgICpuZXdHbHlwaHNQb2ludGVyID0g
Z2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KTsKLSAgICAgICAgKm5ld0FkdmFuY2Vz
UG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KTsKKyAgICAgICAg
ICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2Nh
dGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBn
bHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZh
bmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
ICAgICB9OwotICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3Jt
RGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRl
cnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkp
LCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxlQ29j
b2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmco
KS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1H
bHlwaHNXaXRoTGFuZ3VhZ2UobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmds
eXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlw
aEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMsIExvY2FsZUNvY29hOjpjYW5vbmljYWxM
YW5ndWFnZUlkZW50aWZpZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJp
bmcoKS5nZXQoKSwgaGFuZGxlcik7Ki8KKworICAgIFVOVVNFRF9QQVJBTShyZXF1aXJlc1NoYXBp
bmcpOworICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0ds
eXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2ludCoqIG5ld09m
ZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKKyAgICAgICAgcmFu
Z2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwgc3RhdGljX2Nh
c3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZlci5zaXplKCkp
KTsKKyAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKKyAgICAgICAgICAgIHJhbmdlLmxl
bmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAg
ICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5ndGg7CisgICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nR2x5cGhJbmRleCArIHJhbmdlLmxv
Y2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGdseXBo
QnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFu
Z2UubGVuZ3RoLCB0aGlzKTsKKworICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGdseXBoQnVm
ZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0FkdmFuY2VzUG9p
bnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAgICAg
ICAqbmV3T2Zmc2V0c1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5vcmlnaW5zKGJlZ2lubmluZ0dseXBo
SW5kZXgpOworICAgICAgICAqbmV3SW5kaWNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5vZmZzZXRz
SW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgIH07CisKKyAgICBhdXRvIHN1YnN0
cmluZyA9IHRleHQuc3Vic3RyaW5nKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKKyAgICBhdXRvIHVw
Y29udmVydGVkQ2hhcmFjdGVycyA9IHN1YnN0cmluZy51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsK
KyAgICBhdXRvIGxvY2FsZVN0cmluZyA9IExvY2FsZUNvY29hOjpjYW5vbmljYWxMYW5ndWFnZUlk
ZW50aWZpZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAg
ICBDVEZvbnRTaGFwZU9wdGlvbnMgb3B0aW9ucyA9IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29t
cG9zaXRpb24KKyAgICAgICAgfCAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRTaGFwZVdpdGhLZXJu
aW5nIDogMCkKKyAgICAgICAgfCAodGV4dERpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpSVEwg
PyBrQ1RGb250U2hhcGVSaWdodFRvTGVmdCA6IDApOworCisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXg7ICsraSkKKyAg
ICAgICAgZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpW2Jl
Z2lubmluZ0dseXBoSW5kZXggKyBpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsKKworICAgIC8v
IEZJWE1FOiBTZWdtZW50IGJ5IHNjcmlwdC4KKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAg
ICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhi
ZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihn
bHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJ
bmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5
cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29u
dmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJl
Z2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmlu
Zy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAg
ICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbYmVnaW5u
aW5nR2x5cGhJbmRleCArIGldICs9IGJlZ2lubmluZ1N0cmluZ0luZGV4OworCiAjZWxzZQorCisg
ICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKICAgICBVTlVTRURfUEFSQU0o
bG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250
KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8
Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpKSwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9wdGlvbnMpOworICAgIFVOVVNFRF9QQVJBTSh0
ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERpcmVjdGlvbik7CisgICAgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBw
bHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVzU2hhcGluZyA/IGtDVEZvbnRUcmFuc2Zvcm1B
cHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURh
dGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVp
bnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlw
aEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlv
bnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMjU3
OWRhMDYxNy4uZmY2ZmM4ZDgzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZTdHJp
bmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAgICB2YWx1ZXNbMF0gPSBw
bGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQgPSAxOwogCi0jaWYgVVNF
KENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNpZiBVU0UoQ1RGT05UU0hBUEVH
TFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7CiAgICAgaWYg
KCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0cmluZyA9IGxvY2FsZS5zdHJp
bmcoKS5jcmVhdGVDRlN0cmluZygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405912</attachid>
            <date>2020-08-04 03:18:33 -0700</date>
            <delta_ts>2020-08-04 17:37:07 -0700</delta_ts>
            <desc>WIP (Passes tests)</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>33884</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDYyNWU1ZmVhOGIyYTgzYWY3NmViOTAzNmFiZGRlYWNkZDg4ZGYxNjcKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgQXVnIDEg
MTI6MTI6MzkgMjAyMCAtMDcwMAoKICAgIENURm9udFNoYXBlR2x5cGhzCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CmluZGV4IGRjM2ZiMmZk
MjAxLi4wZjMzYTkwMGJjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi0yLWV4cGVjdGVkLnR4dApAQCAtMywxNCArMywxNCBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg0
MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDQwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTAwOiAiaGVuXHh7QUR9YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggMTAwOiAidGlvbi4iCi0gICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBdIFti
Z2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogImhlbmFceHtB
RH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsODAp
IHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDcgW2NvbG9yPSMwMDgwMDBdIFtiZ2Nv
bG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEw
MHg0MgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEwMDogImhlblx4e0FEfWFc
eHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMjcpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
NDcpIHNpemUgMTAweDQ3IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1KSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4
ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0aCAxMDA6ICJ0aW9uLiIK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDk0KSBzaXplIDEwMHgyMCBbY29sb3I9IzAw
ODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTAweDIwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAi
NXg1c3EiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3Rl
ZC50eHQKaW5kZXggNWRjYTg1OGM2YjIuLmQwZjA5OWQ4MDJlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0zLDExICszLDExIEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgMjI1eDUwIFtjb2xvcj0jRkZGRkZGXQotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSAyMjV4NTggW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCw2KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRo
IDEwMDogIkRpZCBceHtBRH0iCiAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEwMCwwKSBzaXplIDc1eDI1Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDApIHdp
ZHRoIDc1OiAibm90IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjUpIHNpemUg
MTAweDI1Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEwMDogImZhaWwiCisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsNikgc2l6ZSA3NXgyNQorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEwMCw2KSB3aWR0aCA3NTogIm5vdCIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDMzKSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDMzKSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmluZGV4IDIxYjJhNGJkOTE4Li42Y2M4Yjk3NGFkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4
dApAQCAtNCwxNCArNCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU3NgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDAKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDEwNCBb
Ym9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDcsNykgc2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3KSB3aWR0aCAz
MzA6ICIxMjM0NTY3ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9Igot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDI1KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKLSAgICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMTUxLDM5KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICg3LDQzKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3
LDYxKSBzaXplIDMzMHgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDYxKSB3aWR0aCAzMzA6
ICIxMjM0NTY3ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICg3LDc5KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKKyAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVyOiAoM3B4IHNvbGlk
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTIpIHNpemUgMzMw
eDM4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAx
IGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsMzIpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9
IGF0ICgxNTEsNDYpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTApIHNp
emUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMpIHNpemUgMzMweDM4
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFu
dGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDcsOTMpIHdpZHRoIDE0NDogImFsaWFzaW5nIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNp
emUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMzQpIHNpemUgNzg0eDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3Li45ZmI3
ZWJhMGZkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1p
bi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCkBAIC0xMSw3
ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4K
ICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYXI8c3Bhbj4tPC9zcGFu
Pjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmEtPGJyPnJpbHk8L2Rp
dj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4K
ICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXggZGU4YjFjYWE1YzIuLmE2NTAzODVi
Y2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXBy
ZWZlcnJlZC13aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDx0YWJsZSBjZWxs
c3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+CiAgICAgPHRyPgogICAgICAgICA8dGQ+Ci0gICAgICAg
ICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1hbnVhbDsiPmV4dHJhb3JkaW5hciZz
aHk7aWx5PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1h
bnVhbDsiPmV4dHJhb3JkaW5hJnNoeTtyaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAgICAgICAg
IDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5o
CmluZGV4IGZhMzJkNDdlMzdiLi5jYzAzNDdjZDUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0z
MDEsNiArMzAxLDcgQEAKICNkZWZpbmUgVVNFX0RBUldJTl9SRUdJU1RFUl9NQUNST1MgMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE2MDApCi0jZGVmaW5lIFVTRV9DVEZPTlRUUkFO
U0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorLy8jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQor
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKKyNkZWZpbmUgVVNFX0NURk9OVFNIQVBFR0xZUEhT
IDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2Ev
Q29yZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0
U1BJLmgKaW5kZXggN2QyMTRlZGE5ZjUuLjY3Mzg2M2Y1YWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTQ2LDYgKzQ2LDEyIEBAIHR5
cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucykgewogICAg
IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEgPDwgMSkKIH07CiAKK3R5cGVk
ZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFwZU9wdGlvbnMpIHsKKyAgICBr
Q1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAgIGtDVEZvbnRTaGFwZVdpdGhD
bHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RGb250U2hhcGVSaWdodFRvTGVm
dCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05TKHVpbnQzMl90LCBDVEZvbnRE
ZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9uU3lzdGVtVUlG
b250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9uUHJlZmVyQXBwbGVTeXN0
ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250CkBAIC05Miw3ICs5OCw3IEBA
IGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5TW9ub3NwYWNlOwogZXh0
ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlTeXN0ZW1VSTsKIAogYm9vbCBD
VEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUg
YWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyk7Ci1DR1Np
emUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENURm9udFJlZiwgQ0dHbHlwaFtd
LCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3JtT3B0aW9ucywgQ0ZTdHJp
bmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6
ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250UmVmIGZvbnQsIENHR2x5cGgg
Z2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDR1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBp
bmRleGVzW10sIGNvbnN0IFVuaUNoYXIgY2hhcnNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hh
cGVPcHRpb25zIG9wdGlvbnMsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCB2b2lkICheaGFuZGxlciko
Q0ZSYW5nZSwgQ0dHbHlwaCoqLCBDR1NpemUqKiwgQ0dQb2ludCoqLCBDRkluZGV4KiopKTsKIAog
Q0dTaXplIENUUnVuR2V0SW5pdGlhbEFkdmFuY2UoQ1RSdW5SZWYpOwogQ1RMaW5lUmVmIENUTGlu
ZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIoQ1RVbmlDaGFyUHJvdmlkZXJDYWxsYmFjaywgQ1RV
bmlDaGFyRGlzcG9zZUNhbGxiYWNrLCB2b2lkKiByZWZDb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3Jl
Lnhjc2NoZW1lIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRh
L3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCmluZGV4IDE1ODJlMWEzYzU2Li4wN2U5NDE5ZjVm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRk
YXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQpAQCAt
NDAsNiArNDAsMTEgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIKICAg
ICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93TG9jYXRp
b25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAgICBydW5u
YWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZpZXIgPSAib3Jn
LndlYmtpdC5NaW5pQnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vycy9tbWF4Zmll
bGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAgIDwvUGF0aFJ1
bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAgYnVp
bGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlLi42ZWY5Nzg5MjdjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDA1LCAyMDA4LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CkBAIC01MTIsNyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6
OmNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24s
IGZsb2EKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcm
KSBjb25zdAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25l
ZCwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBU
ZXh0RGlyZWN0aW9uKSBjb25zdAogewogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmgKaW5kZXggZWFmOWRhYzQyMGEuLjhlYzMzODBkN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBpbnRlcm5hbCBmb250IGltcGxlbWVudGF0aW9uLgogICoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAxMCwgMjAxNS0yMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRvcmNo
IE1vYmlsZSwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIwNyw3ICsyMDcsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogICAgIGJvb2wgY2FuUmVuZGVyQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29u
c3QgVUNoYXIqLCBzaXplX3QpIGNvbnN0OwotICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9v
bCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3Q7CisgICAg
dm9pZCBhcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlw
aEluZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdTdHJpbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5n
LCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlLCBTdHJpbmdW
aWV3IHRleHQsIFRleHREaXJlY3Rpb24pIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IFNDUklQVF9GT05UUFJPUEVSVElFUyogc2NyaXB0Rm9udFByb3BlcnRpZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRl
eCA4MGZhYmIzMmFkYi4uNjY2Zjk5MjExMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3ICs0MjUsNyBAQCBmbG9hdCBG
b250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbnQq
PiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWZsb2F0IEZvbnRDYXNj
YWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdAorZmxvYXQgRm9u
dENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rp
b24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5pc051bGwoKSB8fCB0ZXh0
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDcsNyArNDQ3LDcgQEAgZmxvYXQg
Rm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CiAg
ICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgpOwogICAgIH0K
ICAgICBpZiAoaGFzS2VybmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFu
c2Zvcm1zKGdseXBoQnVmZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygp
LCBmb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBs
eVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNT
aGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHRE
aXJlY3Rpb24pOwogICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSBy
ZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBm
bG9hdGluZyBwb2ludCBhcml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVy
ZW50IHJ1biB3aWR0aC4KICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5z
Zm9ybUFwcGxpZWQgPSAtcnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZl
ciBGb250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2ln
bmVkIGZyb20sIHVucwogICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3Mg
Y3VycmVudCBpbml0aWFsQWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5j
ZShGbG9hdFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZm
ZXIgaXMgY3VycmVudGx5IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8g
cmV0dXJuIHRoZSByZXN1bHRzIGluIHBoeXNpY2FsIG9yZGVyLgogICAgIGlmIChydW4ucnRsKCkp
CiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZmZXIuc2l6ZSgpKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXgg
NThhNTY3ZDg2NjQuLmViMGM4Yjg0OTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAKICAg
ICBmbG9hdCB3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRSdW4mLCB1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCB0bywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBmbG9h
dCogb3V0V2lkdGhCZWZvcmVSYW5nZSA9IG51bGxwdHIsIGZsb2F0KiBvdXRXaWR0aEFmdGVyUmFu
Z2UgPSBudWxscHRyKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBmbG9hdCB3aWR0aChjb25z
dCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlw
aE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJp
bmdWaWV3IHRleHQpIGNvbnN0OworICAgIGZsb2F0IHdpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdW
aWV3IHRleHQsIFRleHREaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIgLyogbWF0Y2hlcyBk
ZWZhdWx0IGFyZ3VtZW50IG9mIFRleHRSdW4gY29uc3RydWN0b3IgKi8pIGNvbnN0OwogCiAgICAg
c3RkOjp1bmlxdWVfcHRyPFRleHRMYXlvdXQsIFRleHRMYXlvdXREZWxldGVyPiBjcmVhdGVMYXlv
dXQoUmVuZGVyVGV4dCYsIGZsb2F0IHhQb3MsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKSBjb25z
dDsKICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoVGV4dExheW91dCYsIHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9udHMgPSAwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAppbmRleCBlY2JjNWVlYTli
OS4uNzM2ZjI4N2ZjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RleHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
UnVuLmgKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4g
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZh
dWx0IGFyZ3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3Mg
ZGVmYXVsdCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0
LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3Ig
ZXhwYW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVj
dGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFs
c2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3Rl
eHQodGV4dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGlj
OgogICAgICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRS
IGRlZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0
KCkncyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0
cmluZ1ZpZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25C
ZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rp
b24gZGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJp
ZGUgPSBmYWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAg
ICA6IFRleHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4
cGFuc2lvbiwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlk
ZSwgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNjE2M2JjZTI3YTIu
LmJhNDM0ZmViNjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNzYsMjcgKzc2LDI1IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1NvZnRCYW5rRW1vamkoVUNoYXIzMiBjb2RlcG9pbnQpCiAgICAgcmV0dXJuIGNvZGVwb2lu
dCA+PSAweEUwMDEgJiYgY29kZXBvaW50IDw9IDB4RTUzNzsKIH0KIAotaW5saW5lIGF1dG8gV2lk
dGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciog
Z2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hh
cmFjdGVyKSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQoraW5saW5lIGF1dG8gV2lkdGhJdGVyYXRv
cjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZm
ZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCiB7Ci0gICAgaWYgKGdseXBoQnVmZmVyICYmIGds
eXBoQnVmZmVyLT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgaXNTb2Z0QmFua0Vt
b2ppKHByZXZpb3VzQ2hhcmFjdGVyKSkKKyAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgZ2x5cGhCdWZm
ZXItPnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXgg
LSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmICht
X3J1bi5sZW5ndGgoKSA8PSAxIHx8ICEobV9lbmFibGVLZXJuaW5nIHx8IG1fcmVxdWlyZXNTaGFw
aW5nKSkKICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb25lOwogICAgIHJldHVybiBU
cmFuc2Zvcm1zVHlwZTo6Tm90Rm9yY2VkOwogfQogCi1pbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRv
cjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbHRy
LCB1bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQqIGZvbnQsIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQoraW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5
Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3Qg
Rm9udCogZm9udCwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2UpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c0NoYXJhY3Rl
ciwgc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQs
IHByZXZpb3VzQ2hhcmFjdGVyKSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9u
ZSk7CisgICAgQVNTRVJUKHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpICE9IFdpZHRoSXRlcmF0b3I6OlRy
YW5zZm9ybXNUeXBlOjpOb25lKTsKIAogICAgIGlmICghZ2x5cGhCdWZmZXIpCiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgYXV0byBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgp
OwotICAgIGlmICghZm9yY2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsg
MSkgewotICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKKyAgICBpZiAo
IWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpCiAgICAgICAg
IHJldHVybiAwOwotICAgIH0KIAogICAgIEdseXBoQnVmZmVyQWR2YW5jZSogYWR2YW5jZXMgPSBn
bHlwaEJ1ZmZlci0+YWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAt
MTA0LDE1ICsxMDIsMzIgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3Jl
V2lkdGggKz0gYWR2YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3Vu
dCA8PSBnbHlwaEJ1ZmZlclNpemUpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5cGhzKCkg
b3BlcmF0ZXMgaW4gcGh5c2ljYWwgb3JkZXIsIGJ1dCBXaWR0aEl0ZXJhdG9yIGl0ZXJhdGVzIGlu
IGxvZ2ljYWwgb3JkZXIuCisgICAgLy8gVGVtcG9yYXJpbHkgcHV0IHVzIGluIHBoeXNpY2FsIG9y
ZGVyIGp1c3QgZm9yIHRoZSBjYWxsLCB0aGVuIHB1dCB1cyBiYWNrIGludG8gbG9naWNhbCBvcmRl
ciB3aGVuCisgICAgLy8gdGhlIGNhbGwgaXMgZG9uZS4KKyAgICAvLyBXZSBkb24ndCBoYXZlIGEg
Z2xvYmFsIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlcjsgd2UncmUganVzdCBvcGVyYXRp
bmcgb24gYSBzaW5nbGUgY2h1bmsgb2YgaXQuCisgICAgLy8gV2lkdGhJdGVyYXRvciBlbmNvdW50
ZXJzIHRoZSBjaHVua3Mgb3V0IGluIGxvZ2ljYWwgb3JkZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRh
aW4gdGhhdCBpbnZhcmlhbnQuCisgICAgLy8gRXZlbnR1YWxseSwgRm9udENhc2NhZGU6OmxheW91
dFNpbXBsZVRleHQoKSB3aWxsIHJldmVyc2UgdGhlIHdob2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVu
dGlyZSB0aGluZworICAgIC8vIGluIHBoeXNpY2FsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVj
YXVzZSBpdCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24g
dGhlIG90aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGlu
IGxvZ2ljYWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwg
d2hpY2ggbWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBu
ZWVkcyB0byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5n
IHVzZWQuCisjaWYgIVVTRShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBpZiAoIWx0cikKICAgICAg
ICAgZ2x5cGhCdWZmZXItPnJldmVyc2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6ZSAt
IGxhc3RHbHlwaENvdW50KTsKKyNlbmRpZgogCi0gICAgZm9udC0+YXBwbHlUcmFuc2Zvcm1zKCpn
bHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1No
YXBpbmcsIG1fZm9udC0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSk7CisgICAg
Zm9udC0+YXBwbHlUcmFuc2Zvcm1zKCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fY3Vy
cmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBt
X2ZvbnQtPmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIG1fcnVuLnRleHQoKSwg
bV9ydW4uZGlyZWN0aW9uKCkpOwogICAgIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5z
aXplKCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBo
QnVmZmVyU2l6ZTsgKytpKQorICAgIEdseXBoQnVmZmVyT3JpZ2luKiBvcmlnaW5zID0gZ2x5cGhC
dWZmZXItPm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7
IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBhZHZhbmNlc1tpXS5zZXRIZWln
aHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKKyAgICAgICAgb3JpZ2luc1tpXS5zZXRZKC1vcmln
aW5zW2ldLnkoKSk7CisgICAgfQogCisgICAgLy8gU2VlIHRoZSBjb21tZW50IGFib3ZlIGluIHRo
aXMgZnVuY3Rpb24gd2hlcmUgdGhlIG90aGVyIGNhbGwgdG8gcmV2ZXJzZSgpIGlzLgogICAgIGlm
ICghbHRyKQogICAgICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5
cGhCdWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCkBAIC0xMzUsNyArMTUwLDYgQEAgaW5s
aW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIq
IGdseXBoQnVmZmVyLCBib29sIGwKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3Vu
dDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQogICAgICAgICBhZnRlcldpZHRoICs9IGFkdmFu
Y2VzW2ldLndpZHRoKCk7CiAKLSAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsK
ICAgICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoOwogfQogCkBAIC0xNzEsNyArMTg1
LDcgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRp
b24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRl
cmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAv
LyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6Ondp
ZHRoRm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBt
YXRjaCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1f
cnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3Bh
Y2luZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVu
LnNwYWNpbmdEaXNhYmxlZCgpOwogCkBAIC0xOTEsMTMgKzIwNSwxNCBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsK
ICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXIt
PnNpemUoKSA6IDA7CiAKKyAgICBhdXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVy
YXRvci5jdXJyZW50SW5kZXgoKTsKICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7Ci0gICAgVUNo
YXIzMiBwcmV2aW91c0NoYXJhY3RlciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9
IDA7CiAgICAgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZTsKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFy
ZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhp
cyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAg
ICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkg
eworICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudElu
ZGV4KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwog
ICAgICAgICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9y
YWJsZUNvZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKQEAgLTIwOCw3ICsy
MjMsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4
dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBo
RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAg
ICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGgg
JiYgIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMjksMTMgKzI0MywxMyBAQCBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpv
bnRhbEdseXBoU3RyZXRjaCgpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGZvbnQgIT0gbGFz
dEZvbnREYXRhICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHBy
ZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFu
c2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBh
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291
bnQsIGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRy
YW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGdseXBoQnVmZmVyKQotICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+c2hyaW5rKGxhc3RHbHlwaENvdW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKGZv
bnQgIT0gbGFzdEZvbnREYXRhKSB7CisgICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0g
VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpCisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9
IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhD
b3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBl
ID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Cisg
ICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCisgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291
bnQgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOworICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAKICAgICAgICAgICAgIGxhc3RGb250RGF0
YSA9IGZvbnQ7CiAgICAgICAgICAgICBpZiAobV9mYWxsYmFja0ZvbnRzICYmIGZvbnQgIT0gJnBy
aW1hcnlGb250KSB7CkBAIC0yOTAsNiArMzA0LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRk
KGZvbnQtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1
bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
bHlwaEJ1ZmZlci0+YWRkKGZvbnQtPnNwYWNlR2x5cGgoKSwgZm9udCwgbV9leHBhbnNpb25QZXJP
cHBvcnR1bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4
ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVy
LT5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CkBAIC0zMTYsNyArMzMyLDcgQEAgaW5saW5lIHZvaWQgV2lk
dGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBH
bHlwaEJ1ZmYKICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAg
ICAgICAgfQogCi0gICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRU
cmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIp
OworICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAg
ICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBnbHlw
aEJ1ZmZlciAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAg
ICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZ2x5
cGhCdWZmZXItPnNpemUoKSwKICAgICAgICAgICAgICAgICBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hh
cmFjdGVyVHJlYXRlZEFzU3BhY2UoY2hhcmFjdGVyID09ICcgJywgZ2x5cGhCdWZmZXItPnNpemUo
KSA/IGdseXBoQnVmZmVyLT5hZHZhbmNlQXQoZ2x5cGhCdWZmZXItPnNpemUoKSAtIDEpLndpZHRo
KCkgOiAwLCB3aWR0aCkpKTsKQEAgLTM0OCw5ICszNjQsMTMgQEAgaW5saW5lIHZvaWQgV2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlw
aEJ1ZmYKICAgICAgICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBzdGQ6Om1pbihtX21p
bkdseXBoQm91bmRpbmdCb3hZLCBib3VuZHMueSgpKTsKICAgICAgICAgICAgIG1fbGFzdEdseXBo
T3ZlcmZsb3cgPSBzdGQ6Om1heDxmbG9hdD4oMCwgYm91bmRzLm1heFgoKSAtIHdpZHRoKTsKICAg
ICAgICAgfQotICAgICAgICBwcmV2aW91c0NoYXJhY3RlciA9IGNoYXJhY3RlcjsKICAgICB9CiAK
KyAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlw
aEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgaWYg
KHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAgICBtX3J1bldp
ZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCks
IGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250RGF0YSwgdHJh
bnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRB
c1NwYWNlKTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJy
ZW50SW5kZXgoKTsKKwogICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRp
b25XaWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCiAgICAgICAgICAgICBn
bHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBsYXN0
Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEp
OwpAQCAtMzU4LDE0ICszNzgsNiBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgbGFzdEZvbnRE
YXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKICAg
ICB9CiAKLSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICBp
ZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKLSAgICAgICAgbV9y
dW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0
cigpLCBsYXN0R2x5cGhDb3VudCwgbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJh
bnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRB
c1NwYWNlKTsKLSAgICAgICAgaWYgKGdseXBoQnVmZmVyKQotICAgICAgICAgICAgZ2x5cGhCdWZm
ZXItPnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgfQotCi0gICAgbV9jdXJyZW50Q2hhcmFj
dGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgbV9ydW5XaWR0aFNv
RmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7CiAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGgg
PSBsYXN0Um91bmRpbmdXaWR0aDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAppbmRleCA4ZGIzOGJiMjEwYi4uNzZjM2ZmNzZjOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgK
QEAgLTYxLDggKzYxLDggQEAgcHJpdmF0ZToKICAgICBpbmxpbmUgdm9pZCBhZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZmZXIqKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNm
b3Jtc1R5cGUgeyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9OwotICAgIFRyYW5zZm9ybXNUeXBl
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBs
YXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7Ci0gICAgZmxv
YXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25lZCYg
bGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQqLCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyLCBi
b29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKKyAgICBUcmFuc2Zvcm1zVHlw
ZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQg
bGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3Q7Cisg
ICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNp
Z25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25z
dCBGb250KiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKICAgICBj
b25zdCBGb250Q2FzY2FkZSogbV9mb250OwogICAgIGNvbnN0IFRleHRSdW4mIG1fcnVuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CmluZGV4IDhiOGM5ZDY3ZDdkLi5lMDY3NTk3NjJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtNTQ0LDI2ICs1NDQs
NzcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBG
b250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUYKICAgICByZXR1cm4gY3JlYXRlRGVyaXZhdGl2
ZUZvbnQoc2NhbGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9wbGF0Zm9ybURhdGEub3JpZW50YXRpb24o
KSwgZm9udFRyYWl0cywgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3BsYXRmb3Jt
RGF0YS5zeW50aGV0aWNPYmxpcXVlKCkpOwogfQogCi12b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3Jt
cyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29s
IGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBs
b2NhbGUpIGNvbnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmlu
Z1N0cmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBj
b25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0
ZXh0RGlyZWN0aW9uKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgR2x5cGhCdWZm
ZXIgaW5pdGlhbCBhZHZhbmNlLgorI2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKKyAgICAvKlVO
VVNFRF9QQVJBTShiZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgVU5VU0VEX1BBUkFNKHRleHQp
OworICAgIFVOVVNFRF9QQVJBTSh0ZXh0RGlyZWN0aW9uKTsKICAgICBDVEZvbnRUcmFuc2Zvcm1P
cHRpb25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBv
c2l0aW9uaW5nIDogMCkgfCAocmVxdWlyZXNTaGFwaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5
U2hhcGluZyA6IDApOwotI2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0Up
CiAgICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhz
UG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyKSB7CiAgICAgICAgIHJhbmdlLmxv
Y2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgocmFuZ2UubG9jYXRpb24sIHN0YXRpY19jYXN0PENG
SW5kZXg+KDApKSwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oZ2x5cGhCdWZmZXIuc2l6ZSgpKSk7CiAg
ICAgICAgIGlmIChyYW5nZS5sZW5ndGggPCAwKSB7CiAgICAgICAgICAgICByYW5nZS5sZW5ndGgg
PSBzdGQ6Om1pbihyYW5nZS5sb2NhdGlvbiwgLXJhbmdlLmxlbmd0aCk7CiAgICAgICAgICAgICBy
YW5nZS5sb2NhdGlvbiA9IHJhbmdlLmxvY2F0aW9uIC0gcmFuZ2UubGVuZ3RoOwotICAgICAgICAg
ICAgZ2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0luZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJh
bmdlLmxlbmd0aCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nR2x5
cGhJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOwogICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0luZGV4ICsgcmFuZ2Uu
bG9jYXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7Ci0gICAgICAgICpuZXdHbHlwaHNQb2ludGVy
ID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KTsKLSAgICAgICAgKm5ld0FkdmFu
Y2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KTsKKyAgICAg
ICAgICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5s
b2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIg
PSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdB
ZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4
KTsKICAgICB9OwotICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRm
b3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVp
bnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRl
eCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxl
Q29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJp
bmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKyAgICBDVEZvbnRUcmFuc2Zv
cm1HbHlwaHNXaXRoTGFuZ3VhZ2UobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVy
LmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihn
bHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNp
emUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMsIExvY2FsZUNvY29hOjpjYW5vbmlj
YWxMYW5ndWFnZUlkZW50aWZpZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCkuY3JlYXRlQ0ZT
dHJpbmcoKS5nZXQoKSwgaGFuZGxlcik7Ki8KKworICAgIFVOVVNFRF9QQVJBTShyZXF1aXJlc1No
YXBpbmcpOworICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5l
d0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2ludCoqIG5l
d09mZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKKyAgICAgICAg
cmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwgc3RhdGlj
X2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZlci5zaXpl
KCkpKTsKKyAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKKyAgICAgICAgICAgIHJhbmdl
Lmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsKKyAgICAg
ICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5ndGg7Cisg
ICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nR2x5cGhJbmRleCArIHJhbmdl
LmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGds
eXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2NhdGlvbiwg
cmFuZ2UubGVuZ3RoLCB0aGlzKTsKKworICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGdseXBo
QnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0FkdmFuY2Vz
UG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAg
ICAgICAqbmV3T2Zmc2V0c1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5vcmlnaW5zKGJlZ2lubmluZ0ds
eXBoSW5kZXgpOworICAgICAgICAqbmV3SW5kaWNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5vZmZz
ZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgIH07CisKKyAgICBhdXRvIHN1
YnN0cmluZyA9IHRleHQuc3Vic3RyaW5nKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKKyAgICBhdXRv
IHVwY29udmVydGVkQ2hhcmFjdGVycyA9IHN1YnN0cmluZy51cGNvbnZlcnRlZENoYXJhY3RlcnMo
KTsKKyAgICBhdXRvIGxvY2FsZVN0cmluZyA9IExvY2FsZUNvY29hOjpjYW5vbmljYWxMYW5ndWFn
ZUlkZW50aWZpZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsK
KyAgICBDVEZvbnRTaGFwZU9wdGlvbnMgb3B0aW9ucyA9IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVy
Q29tcG9zaXRpb24KKyAgICAgICAgfCAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRTaGFwZVdpdGhL
ZXJuaW5nIDogMCkKKyAgICAgICAgfCAodGV4dERpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpS
VEwgPyBrQ1RGb250U2hhcGVSaWdodFRvTGVmdCA6IDApOworCisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXg7ICsraSkK
KyAgICAgICAgZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgp
W2JlZ2lubmluZ0dseXBoSW5kZXggKyBpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsKKworICAg
IC8vIEZJWE1FOiBTZWdtZW50IGJ5IHNjcmlwdC4KKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAg
ICAgICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBo
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUq
PihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJl
aW50ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5
cGhJbmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5n
R2x5cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVw
Y29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAt
IGJlZ2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0
cmluZy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAg
ICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbYmVn
aW5uaW5nR2x5cGhJbmRleCArIGldICs9IGJlZ2lubmluZ1N0cmluZ0luZGV4OworCiAjZWxzZQor
CisgICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKICAgICBVTlVTRURfUEFS
QU0obG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RG
b250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpKSwgZ2x5cGhC
dWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9wdGlvbnMpOworICAgIFVOVVNFRF9QQVJB
TSh0ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERpcmVjdGlvbik7CisgICAgQ1RGb250VHJh
bnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3Jt
QXBwbHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVzU2hhcGluZyA/IGtDVEZvbnRUcmFuc2Zv
cm1BcHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9y
bURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwg
cmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdH
bHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9w
dGlvbnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAz
MjU3OWRhMDYxNy4uZmY2ZmM4ZDgzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAK
QEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZT
dHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAgICB2YWx1ZXNbMF0g
PSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQgPSAxOwogCi0jaWYg
VVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNpZiBVU0UoQ1RGT05UU0hB
UEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7CiAgICAg
aWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0cmluZyA9IGxvY2FsZS5z
dHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405966</attachid>
            <date>2020-08-04 17:37:08 -0700</date>
            <delta_ts>2020-08-04 17:37:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200804173707.patch</filename>
            <type>text/plain</type>
            <size>38387</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFhYTYxZGIxNmI0ODI0MDcwZGE0NDdh
OWExN2U0NDMyYmJiYmQxNTguLjJiYjMzOTNlNTNkMTg4ZWZkMzg1NDljNjE1N2U4MTM3ZDkzNmI3
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIDEw
MTYwMCB3aXRoIDExMDAwMC4KKyAgICAgICAgUmVuYW1lIENURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSB0byBDVEZPTlRTSEFQRUdMWVBIUywgYmVjYXVzZSB0aGF0J3MgdGhlIG5ldyBm
dW5jdGlvbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZS5oOgorCiAyMDIwLTA4LTA0ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtNU1ZD
XSB3dGYvT3B0aW9uYWwuaDogZXJyb3IgQzIyODA6ICdXVEY6OmNvbnN0ZXhwcl9zdG9yYWdlX3Q8
VD4gJldURjo6Y29uc3RleHByX3N0b3JhZ2VfdDxUPjo6b3BlcmF0b3IgPShjb25zdCBXVEY6OmNv
bnN0ZXhwcl9zdG9yYWdlX3Q8VD4gJiknOiBhdHRlbXB0aW5nIHRvIHJlZmVyZW5jZSBhIGRlbGV0
ZWQgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ODM2OGQ2ZWFkNWZiNDM5M2RiNWI5N2EwZGI4NTg0
MDBlZDZhODA5Li41NDg3OGI3MjY2YTZhNDgzNmQ2NjU3Yjg1ODNmNTgyZTNiMGY2NDJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGlu
IHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NzY5CisgICAgICAgIGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2MjA4LgorCisgICAgICAgIFRoZSBzb2x1dGlvbiBmb3IgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDc2OSByZXF1aXJlcyBhcHBseWluZworICAgICAgICBs
ZXR0ZXItc3BhY2luZyBhZnRlciB0ZXh0IHNoYXBpbmcuIFRvZGF5LCB3ZSBhcHBseSBsZXR0ZXIt
c3BhY2luZyBiZWZvcmUgdGV4dCBzaGFwaW5nCisgICAgICAgIHdoaWNoIGlzIHdyb25nLiBIb3dl
dmVyLCBpZiB3ZSB3YW50IHRvIGFwcGx5IGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGlu
Zywgd2UgbmVlZAorICAgICAgICB0byB1c2UgQ1RGb250U2hhcGVHbHlwaHMoKSwgd2hpY2ggcmV0
dXJucyB0aGUgZ2x5cGggLT4gc3RyaW5nIG1hcHBpbmcsIHdoaWNoIGFsbG93cyB1cworICAgICAg
ICB0byBkZXRlcm1pbmUgd2hpY2ggZ2x5cGhzIHRvIGFkZCBsZXR0ZXItc3BhY2luZyB0by4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
IChleGNlcHQgZm9yIHNvZnQgaHlwaGVuIGtlcm5pbmcsIHdoaWNoCisgICAgICAgIGlzIGNvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRl
OjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FzY2FkZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldpZHRoSXRlcmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3Jtcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Ojph
cHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldENG
U3RyaW5nQXR0cmlidXRlcyBjb25zdCk6CisKIDIwMjAtMDgtMDQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBbGlnbiBBdWRpb0xpc3RlbmVyIHdpdGggdGhlIFcz
QyBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA1MTU5MDY3MjQ1MDcyOGUyNGY3
MTY0MTFlMDQyNzhkYTc3ZjczMjBhLi4zYzcxOWY5MzgyMmRjM2M1YTE2MTQyNTEyNWVmY2MwYTI0
MTRkNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOC0wNCAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2Nv
YV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENU
Rm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDIwLTA4LTA0ICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDaGVj
ayB0aGF0IEFjY2Vzc2liaWxpdHkgaXMgZW5hYmxlZCB3aGVuIHJlY2VpdmluZyB0aGUgZW5hYmxl
IEFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAppbmRleCBmYTMyZDQ3
ZTM3YmVmYTAwZWY1NzU1NGE3OGI1NjM2MDkyYmY1YmMwLi5hZGU0MmRkMTM5ZjNhOWY0YWFmNDcz
ODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVz
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMwMSw2ICszMDEsNiBA
QAogI2RlZmluZSBVU0VfREFSV0lOX1JFR0lTVEVSX01BQ1JPUyAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEwMTYwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSAxCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQorI2RlZmluZSBVU0VfQ1RG
T05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNjZDhl
MTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTQ2
LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEgPDwg
MSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFwZU9w
dGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAgIGtD
VEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RGb250
U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05TKHVp
bnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlwdG9y
T3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9u
UHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250CkBA
IC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5
TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlTeXN0
ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBoIGds
eXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENURm9u
dFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdlLCBD
R0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250UmVm
LCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5zW10s
IENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291bnQs
IENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVy
KShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikpOwog
CiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYgQ1RM
aW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNrLCBD
VFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNv
cmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRh
dGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjllNzgyMDBk
OTlhOTk4NjgwNTkxYjRjZGYwYi4uMDdlOTQxOWY1ZjI2ZjcxZmU4YjRhYmQ3YWQzY2JkOWU5ZTZh
M2FlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFy
ZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQpA
QCAtNDAsNiArNDAsMTEgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIK
ICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93TG9j
YXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAgICBy
dW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZpZXIgPSAi
b3JnLndlYmtpdC5NaW5pQnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vycy9tbWF4
ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAgIDwvUGF0
aFJ1bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAg
YnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1OGQ1MWE4MzRkOGRh
MDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5
YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJlZlB0cjxGb250PiBG
b250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZvbnQ6OmFwcGx5VHJh
bnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3Ry
aW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5z
aWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5nJiwgU3RyaW5nVmll
dywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2FmNzA3YjdlZGNiNGRk
ZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyArMSw3IEBACiAvKgog
ICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVtZW50YXRpb24u
CiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1LTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDgg
VG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIwNyw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5j
ZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBseVRyYW5zZm9ybXMo
R2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5n
LCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBjb25zdDsK
KyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJlZ2lubmlu
Z0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVuYWJsZUtl
cm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0
cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQTEFURk9STShXSU4p
CiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVydGllcygpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3Bw
CmluZGV4IDgwZmFiYjMyYWRiZjY5Y2MxZTQ4MGIxN2JkMWM2OTljODlkZjQyNmMuLmYxMmFhMjQ0
MmRjZTRiODVhNjQzMWE5NDA0Zjc2NmM4NTY3Zjk3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3ICs0MjUsNyBAQCBm
bG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0
IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWZsb2F0IEZv
bnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdAorZmxv
YXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQsIFRleHRE
aXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5pc051bGwoKSB8
fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDQsMTAgKzQ0NCwxMCBA
QCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkg
Y29uc3QKICAgICAgICAgcnVuV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAgICAgaWYgKCFoYXNL
ZXJuaW5nT3JMaWdhdHVyZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgZ2x5cGhC
dWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CisgICAgICAgIGdseXBoQnVmZmVy
LmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgsIGkpOwogICAgIH0KICAgICBpZiAoaGFzS2Vy
bmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3JpcHRp
b24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnRE
ZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHREaXJlY3Rpb24pOwogICAg
ICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQgb2YgdGhlIHNs
b3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBmbG9hdGluZyBwb2ludCBh
cml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVyZW50IHJ1biB3aWR0aC4K
ICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5zZm9ybUFwcGxpZWQgPSAt
cnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZlciBGb250Q2FzY2FkZTo6
bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIGZyb20sIHVucwog
ICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVudCBpbml0aWFs
QWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9hdFNpemUoaW5p
dGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZmZXIgaXMgY3VycmVudGx5
IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8gcmV0dXJuIHRoZSByZXN1
bHRzIGluIHZpc3VhbCBvcmRlci4KICAgICBpZiAocnVuLnJ0bCgpKQogICAgICAgICBnbHlwaEJ1
ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNpemUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDU4YTU2N2Q4NjY0NGI0ODM4
ZDZmODcxZGM2ZmNmZWI1NjA4YzIwZTkuLmViMGM4Yjg0OTAxMzFlNjMyYWY2NWM3NDA2MjY0YjBm
NWVkNzQ4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHdpZHRoT2ZU
ZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvLCBIYXNo
U2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIGZsb2F0KiBvdXRXaWR0aEJlZm9y
ZVJhbmdlID0gbnVsbHB0ciwgZmxvYXQqIG91dFdpZHRoQWZ0ZXJSYW5nZSA9IG51bGxwdHIpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGZsb2F0IHdpZHRoKGNvbnN0IFRleHRSdW4mLCBIYXNo
U2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkg
Y29uc3Q7Ci0gICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29u
c3Q7CisgICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERp
cmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiAvKiBtYXRjaGVzIGRlZmF1bHQgYXJndW1lbnQg
b2YgVGV4dFJ1biBjb25zdHJ1Y3RvciAqLykgY29uc3Q7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
VGV4dExheW91dCwgVGV4dExheW91dERlbGV0ZXI+IGNyZWF0ZUxheW91dChSZW5kZXJUZXh0Jiwg
ZmxvYXQgeFBvcywgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpIGNvbnN0OwogICAgIHN0YXRpYyBm
bG9hdCB3aWR0aChUZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBIYXNo
U2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmluZGV4IGVjYmM1ZWVhOWI5ZDFlM2UzYzQ1MTNhZjU4
MDY3ZTU3ZTgyYTVkYTcuLjczNmYyODdmY2U2YTQyNzJhZTJhNzI1N2MzOGRkY2ZmYjY5M2YyM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKQEAgLTQzLDYg
KzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4gewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZhdWx0IGFyZ3VtZW50IG1h
dGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVmYXVsdCBhcmd1bWVu
dAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBmbG9hdCB4cG9zID0g
MCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZp
b3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IFRleHREaXJl
Y3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFj
dGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQodGV4dCkKICAgICAg
ICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBBU1NF
UlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRlZmF1bHQgYXJndW1l
bnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkncyBkZWZhdWx0IGFy
Z3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0cmluZ1ZpZXcsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNp
b25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uID0g
VGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwgYm9v
bCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6IFRleHRSdW4oc3Ry
aW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4cGFuc2lvbiwgZXhwYW5z
aW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSwgY2hhcmFjdGVyU2Nh
bkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNjE2M2JjZTI3YTI0ZmI3M2Y3ZjQ3MGYwOTky
YWIxYzcyYTA1ZWY5ZS4uNWZkNDU1MzBlOTZlYjk2NGQ2NGYwNWE0NWJjYWFkN2JlN2Y0OWQ1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5jcHAKQEAgLTc2LDI3ICs3NiwyNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTb2Z0QmFua0Vt
b2ppKFVDaGFyMzIgY29kZXBvaW50KQogICAgIHJldHVybiBjb2RlcG9pbnQgPj0gMHhFMDAxICYm
IGNvZGVwb2ludCA8PSAweEU1Mzc7CiB9CiAKLWlubGluZSBhdXRvIFdpZHRoSXRlcmF0b3I6OnNo
b3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCB1
bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Qg
LT4gVHJhbnNmb3Jtc1R5cGUKK2lubGluZSBhdXRvIFdpZHRoSXRlcmF0b3I6OnNob3VsZEFwcGx5
Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBs
YXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBjb25zdCAtPiBU
cmFuc2Zvcm1zVHlwZQogewotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBnbHlwaEJ1ZmZlci0+c2l6
ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9qaShwcmV2aW91c0No
YXJhY3RlcikpCisgICAgaWYgKGdseXBoQnVmZmVyICYmIGdseXBoQnVmZmVyLT5zaXplKCkgPT0g
KGxhc3RHbHlwaENvdW50ICsgMSkgJiYgY3VycmVudENoYXJhY3RlckluZGV4ICYmIGlzU29mdEJh
bmtFbW9qaShtX3J1bi50ZXh0KClbY3VycmVudENoYXJhY3RlckluZGV4IC0gMV0pKQogICAgICAg
ICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZDsKICAgICBpZiAobV9ydW4ubGVuZ3RoKCkg
PD0gMSB8fCAhKG1fZW5hYmxlS2VybmluZyB8fCBtX3JlcXVpcmVzU2hhcGluZykpCiAgICAgICAg
IHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Tm9uZTsKICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6
Ok5vdEZvcmNlZDsKIH0KIAotaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwgdW5zaWduZWQmIGxh
c3RHbHlwaENvdW50LCBjb25zdCBGb250KiBmb250LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
LCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZSkKK2lubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENv
dW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQqIGZvbnQsIGJv
b2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIsIHNob3VsZEFwcGx5
Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJh
Y3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpOworICAgIEFTU0VS
VChzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwg
Y3VycmVudENoYXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6
Tm9uZSk7CiAKICAgICBpZiAoIWdseXBoQnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKIAogICAg
IGF1dG8gZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKLSAgICBpZiAoIWZv
cmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAgICAg
bGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBnbHlw
aEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsKLSAg
ICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXItPmFk
dmFuY2VzKDApOwogICAgIGZsb2F0IGJlZm9yZVdpZHRoID0gMDsKQEAgLTEwNCwxNSArMTAyLDMy
IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgICAgIGJlZm9yZVdpZHRoICs9IGFkdmFu
Y2VzW2ldLndpZHRoKCk7CiAKICAgICBBU1NFUlQobGFzdEdseXBoQ291bnQgPD0gZ2x5cGhCdWZm
ZXJTaXplKTsKKworICAgIC8vIENURm9udFRyYW5zZm9ybUdseXBocygpIG9wZXJhdGVzIGluIHZp
c3VhbCBvcmRlciwgYnV0IFdpZHRoSXRlcmF0b3IgaXRlcmF0ZXMgaW4gbG9naWNhbCBvcmRlci4K
KyAgICAvLyBUZW1wb3JhcmlseSBwdXQgdXMgaW4gdmlzdWFsIG9yZGVyIGp1c3QgZm9yIHRoZSBj
YWxsLCB0aGVuIHB1dCB1cyBiYWNrIGludG8gbG9naWNhbCBvcmRlciB3aGVuCisgICAgLy8gdGhl
IGNhbGwgaXMgZG9uZS4KKyAgICAvLyBXZSBkb24ndCBoYXZlIGEgZ2xvYmFsIHZpZXcgb2YgdGhl
IGVudGlyZSBHbHlwaEJ1ZmZlcjsgd2UncmUganVzdCBvcGVyYXRpbmcgb24gYSBzaW5nbGUgY2h1
bmsgb2YgaXQuCisgICAgLy8gV2lkdGhJdGVyYXRvciBlbmNvdW50ZXJzIHRoZSBjaHVua3Mgb3V0
IGluIGxvZ2ljYWwgb3JkZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRhaW4gdGhhdCBpbnZhcmlhbnQu
CisgICAgLy8gRXZlbnR1YWxseSwgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoKSB3aWxs
IHJldmVyc2UgdGhlIHdob2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVudGlyZSB0aGluZworICAgIC8v
IGluIHZpc3VhbCBvcmRlciwgYnV0IHRoYXQncyBva2F5IGJlY2F1c2UgaXQgaGFzIGEgdmlldyBv
ZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyLgorICAgIC8vIE9uIHRoZSBvdGhlciBoYW5kLCBDVEZv
bnRTaGFwZUdseXBocygpIGFjY2VwdHMgdGhlIGJ1ZmZlciBpbiBsb2dpY2FsIG9yZGVyIGJ1dCBy
ZXR1cm5zIGl0IGluIHBoeXNpY2FsCisgICAgLy8gb3JkZXIsIHdoaWNoIG1lYW5zIHRoZSBzZWNv
bmQgcmV2ZXJzZSgpIGluIHRoaXMgZnVuY3Rpb24gc3RpbGwgbmVlZHMgdG8gZXhlY3V0ZSB3aGVu
CisgICAgLy8gQ1RGb250U2hhcGVHbHlwaHMoKSBpcyBiZWluZyB1c2VkLgorI2lmICFVU0UoQ1RG
T05UU0hBUEVHTFlQSFMpCiAgICAgaWYgKCFsdHIpCiAgICAgICAgIGdseXBoQnVmZmVyLT5yZXZl
cnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7Cisj
ZW5kaWYKIAotICAgIGZvbnQtPmFwcGx5VHJhbnNmb3JtcygqZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQtPmZvbnRE
ZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQtPmFwcGx5VHJhbnNmb3Jt
cygqZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
bV9lbmFibGVLZXJuaW5nLCBtX3JlcXVpcmVzU2hhcGluZywgbV9mb250LT5mb250RGVzY3JpcHRp
b24oKS5jb21wdXRlZExvY2FsZSgpLCBtX3J1bi50ZXh0KCksIG1fcnVuLmRpcmVjdGlvbigpKTsK
ICAgICBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOwogCi0gICAgZm9yICh1
bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAg
ICBHbHlwaEJ1ZmZlck9yaWdpbiogb3JpZ2lucyA9IGdseXBoQnVmZmVyLT5vcmlnaW5zKDApOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXpl
OyArK2kpIHsKICAgICAgICAgYWR2YW5jZXNbaV0uc2V0SGVpZ2h0KC1hZHZhbmNlc1tpXS5oZWln
aHQoKSk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3JpZ2luc1tpXS55KCkpOworICAgIH0K
IAorICAgIC8vIFNlZSB0aGUgY29tbWVudCBhYm92ZSBpbiB0aGlzIGZ1bmN0aW9uIHdoZXJlIHRo
ZSBvdGhlciBjYWxsIHRvIHJldmVyc2UoKSBpcy4KICAgICBpZiAoIWx0cikKICAgICAgICAgZ2x5
cGhCdWZmZXItPnJldmVyc2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6ZSAtIGxhc3RH
bHlwaENvdW50KTsKIApAQCAtMTM1LDcgKzE1MCw2IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJh
dG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBs
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNp
emU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCi0g
ICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CiAgICAgcmV0dXJuIGFmdGVyV2lk
dGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTcxLDcgKzE4NSw3IEBAIHN0YXRpYyBpbmxpbmUg
c3RkOjpwYWlyPGJvb2wsIGJvb2w+IGV4cGFuc2lvbkxvY2F0aW9uKGJvb2wgaWRlb2dyYXBoLCBi
b29sIHRyZWF0CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCiB7Ci0gICAgLy8gVGhlIGNvcmUgbG9naWMgaGVy
ZSBuZWVkcyB0byBtYXRjaCBTaW1wbGVMaW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBsZVRleHQoKQor
ICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVlZHMgdG8gbWF0Y2ggRm9udENhc2NhZGU6Ondp
ZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IApAQCAtMTkxLDEzICsyMDUsMTQgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25z
dCBGb250KiBsYXN0Rm9udERhdGEgPSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEds
eXBoQ291bnQgPSBnbHlwaEJ1ZmZlciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAwOwogCisgICAg
YXV0byBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7
CiAgICAgVUNoYXIzMiBjaGFyYWN0ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0
ZXIgPSAwOwogICAgIHVuc2lnbmVkIGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENoYXJhY3RlcnNU
cmVhdGVkQXNTcGFjZSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgU3RyaW5nIG5vcm1h
bGl6ZWRTcGFjZXNTdHJpbmdDYWNoZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmlu
ZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250
cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRv
ci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgY3VycmVudENo
YXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNp
Z25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgYm9vbCBjaGFyYWN0
ZXJNdXN0RHJhd1NvbWV0aGluZyA9ICFpc0RlZmF1bHRJZ25vcmFibGVDb2RlUG9pbnQoY2hhcmFj
dGVyKTsKICNpZiBVU0UoRlJFRVRZUEUpCkBAIC0yMDgsNyArMjIzLDYgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAjZW5kaWYKLSAg
ICAgICAgaW50IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5k
ZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhEYXRhJiBnbHlwaERhdGEgPSBtX2ZvbnQtPmdseXBo
RGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0g
Z2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJh
d1NvbWV0aGluZykgewpAQCAtMjI5LDEzICsyNDMsMTMgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVy
YXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1
ZmYKICAgICAgICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsK
ICAgICAgICAgfQogCi0gICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkg
ewotICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5z
Zm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0g
ICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsK
LSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3Jtcyhn
bHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBsYXN0Rm9udERhdGEsIHBy
ZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2Vk
LCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1
ZmZlcikKLSAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhD
b3VudCk7Ci0gICAgICAgICAgICB9CisgICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSkg
eworICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5z
Zm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgp
OworICAgICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25l
KQorICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1z
KGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0
ZXJJbmRleCwgbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6
Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOworICAgICAgICAgICAgaWYgKGdseXBo
QnVmZmVyKQorICAgICAgICAgICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXItPnNp
emUoKTsKKyAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJh
Y3RlckluZGV4OwogCiAgICAgICAgICAgICBsYXN0Rm9udERhdGEgPSBmb250OwogICAgICAgICAg
ICAgaWYgKG1fZmFsbGJhY2tGb250cyAmJiBmb250ICE9ICZwcmltYXJ5Rm9udCkgewpAQCAtMjkw
LDYgKzMwNCw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChmb250LT56ZXJvV2lkdGhTcGFj
ZUdseXBoKCksIGZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0
ZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChmb250
LT5zcGFjZUdseXBoKCksIGZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0
R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+ZXhwYW5kTGFzdEFkdmFuY2Uo
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQpAQCAtMzE2LDcgKzMzMiw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJ
bnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAg
ICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBh
dXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZl
ciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICAgICAgYXV0byB0cmFu
c2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICBpZiAodHJhbnNmb3Jt
c1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUgJiYgZ2x5cGhCdWZmZXIgJiYgRm9udENhc2Nh
ZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpKSB7CiAgICAgICAgICAgICBjaGFyYWN0ZXJzVHJl
YXRlZEFzU3BhY2UuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGdseXBoQnVmZmVyLT5zaXplKCksCiAg
ICAgICAgICAgICAgICAgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNl
KGNoYXJhY3RlciA9PSAnICcsIGdseXBoQnVmZmVyLT5zaXplKCkgPyBnbHlwaEJ1ZmZlci0+YWR2
YW5jZUF0KGdseXBoQnVmZmVyLT5zaXplKCkgLSAxKS53aWR0aCgpIDogMCwgd2lkdGgpKSk7CkBA
IC0zNDgsOSArMzY0LDEzIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBt
X21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJvdW5kaW5nQm94WSwg
Ym91bmRzLnkoKSk7CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92ZXJmbG93ID0gc3RkOjptYXg8
ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAgICAgIH0KLSAgICAgICAgcHJl
dmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCisgICAgYXV0byB0cmFuc2Zvcm1z
VHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENv
dW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBU
cmFuc2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9u
dFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgY3Vy
cmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5z
Zm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CisKICAgICBp
ZiAoZ2x5cGhCdWZmZXIgJiYgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpIHsKICAgICAgICAg
aWYgKG1fZm9yVGV4dEVtcGhhc2lzKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0
Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1
c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKQEAgLTM1OCwxNCArMzc4LDYg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQo
bGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZp
Y2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgfQogCi0gICAgYXV0byB0cmFu
c2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9
IFRyYW5zZm9ybXNUeXBlOjpOb25lKSB7Ci0gICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQs
IGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5z
Zm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAgIGlm
IChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmsobGFzdEdseXBo
Q291bnQpOwotICAgIH0KLQotICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJh
dG9yLmN1cnJlbnRJbmRleCgpOwogICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFz
dFJvdW5kaW5nOwogICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9y
LmgKaW5kZXggOGRiMzhiYjIxMGIzMThhOTIzYzFlOTgyYzU0NjllMjU4ZWNiM2IzMi4uNzZjM2Zm
NzZjOWNjYTNhYTY4MjFhYTg5NzEzNDU1NDhlZTZmZDcyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjEsOCArNjEsOCBAQCBw
cml2YXRlOgogICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBH
bHlwaEJ1ZmZlciopOwogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZv
cmNlZCwgTm90Rm9yY2VkIH07Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJh
bnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hh
cjMyIHByZXZpb3VzQ2hhcmFjdGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29u
c3QgRm9udCosIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZSYpOworICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRy
YW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5z
aWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBjb25zdDsKKyAgICBmbG9hdCBhcHBseUZvbnRU
cmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50
LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQqLCBib29sIGZvcmNl
LCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAogICAgIGNvbnN0IEZvbnRDYXNjYWRlKiBt
X2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggOGI4YzlkNjdkN2Rm
NTI3Nzk1NGMzZDM3ZjE1NTE0YTFlODhlN2IyMy4uNGZhZWU4YjhjNTgzZDFjMjU1NGU2ODIyZGU2
ZjRlZTcwY2ZjNTljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtNTQ0LDI2ICs1NDQsNTkgQEAgUmVmUHRyPEZvbnQ+
IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBm
bG9hdCBzY2FsZUYKICAgICByZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZvbnQoc2NhbGVkRm9udC5n
ZXQoKSwgc2l6ZSwgbV9wbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSwgZm9udFRyYWl0cywgbV9w
bGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNPYmxp
cXVlKCkpOwogfQogCi12b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJv
b2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0Cit2b2lk
IEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVk
IGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29s
IGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBs
b2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25z
dAogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgR2x5cGhCdWZmZXIgaW5pdGlhbCBhZHZhbmNl
LgotICAgIENURm9udFRyYW5zZm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVLZXJuaW5nID8g
a0NURm9udFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJlc1NoYXBpbmcg
PyBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nIDogMCk7Ci0jaWYgVVNFKENURk9OVFRSQU5T
Rk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKLSAgICBhdXRvIGhhbmRsZXIgPSBeKENGUmFuZ2UgcmFu
Z2UsIENHR2x5cGgqKiBuZXdHbHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZhbmNlc1BvaW50
ZXIpIHsKKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCisgICAgVU5VU0VEX1BBUkFNKHJlcXVp
cmVzU2hhcGluZyk7CisgICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBo
KiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyLCBDR1BvaW50
KiogbmV3T2Zmc2V0c1BvaW50ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9pbnRlcikgewogICAg
ICAgICByYW5nZS5sb2NhdGlvbiA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdlLmxvY2F0aW9uLCBz
dGF0aWNfY2FzdDxDRkluZGV4PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+KGdseXBoQnVmZmVy
LnNpemUoKSkpOwogICAgICAgICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewogICAgICAgICAgICAg
cmFuZ2UubGVuZ3RoID0gc3RkOjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5nZS5sZW5ndGgpOwog
ICAgICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAtIHJhbmdlLmxlbmd0
aDsKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdJbmRleCArIHJhbmdl
LmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIucmVtb3Zl
KGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdJ
bmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOwotICAgICAgICAqbmV3
R2x5cGhzUG9pbnRlciA9IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCk7Ci0gICAg
ICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJ
bmRleCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdHbHlwaElu
ZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7CisKKyAgICAgICAgKm5l
d0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7
CisgICAgICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdp
bm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld09mZnNldHNQb2ludGVyID0gZ2x5cGhCdWZm
ZXIub3JpZ2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0luZGljZXNQb2lu
dGVyID0gZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpOwog
ICAgIH07Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKG1fcGxhdGZvcm1E
YXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWludGVy
cHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KSks
IGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zLCBMb2NhbGVDb2Nv
YTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygp
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhhbmRsZXIpOworCisgICAgYXV0byBzdWJzdHJpbmcg
PSB0ZXh0LnN1YnN0cmluZyhiZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgYXV0byB1cGNvbnZl
cnRlZENoYXJhY3RlcnMgPSBzdWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CisgICAg
YXV0byBsb2NhbGVTdHJpbmcgPSBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlm
aWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgQ1RG
b250U2hhcGVPcHRpb25zIG9wdGlvbnMgPSBrQ1RGb250U2hhcGVXaXRoQ2x1c3RlckNvbXBvc2l0
aW9uCisgICAgICAgIHwgKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA6
IDApCisgICAgICAgIHwgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMID8ga0NU
Rm9udFNoYXBlUmlnaHRUb0xlZnQgOiAwKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAg
IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtiZWdpbm5p
bmdHbHlwaEluZGV4ICsgaV0gLT0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKKyAgICBDVEZvbnRT
aGFwZUdseXBocygKKyAgICAgICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGds
eXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnBy
ZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4
KSksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdp
bnMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5T
dHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgVW5pQ2hhcio+KHVwY29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBo
QnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisg
ICAgICAgIGxvY2FsZVN0cmluZy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJ
bmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5n
R2x5cGhJbmRleClbYmVnaW5uaW5nR2x5cGhJbmRleCArIGldICs9IGJlZ2lubmluZ1N0cmluZ0lu
ZGV4OworCiAjZWxzZQorCisgICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsK
ICAgICBVTlVTRURfUEFSQU0obG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9w
bGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCks
IHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5n
SW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9wdGlvbnMpOwor
ICAgIFVOVVNFRF9QQVJBTSh0ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERpcmVjdGlvbik7
CisgICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBr
Q1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVzU2hhcGluZyA/
IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1H
bHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5p
bmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZh
bmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmlu
Z0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcAppbmRleCAzMjU3OWRhMDYxN2E5MDQ0MTU0YzU1ZmM0ZjgxMGNhYmQyNDE3ZGE0Li5m
ZjZmYzhkODMyOWQ0NGZmYTkxMmRiN2EwNmUwM2Q5OTQxYjY0NjBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhQ29yZVRleHQuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFJldGFpblB0cjxDRkRpY3Rpb25hcnlS
ZWY+IEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRP
CiAgICAgdmFsdWVzWzBdID0gcGxhdGZvcm1EYXRhKCkuY3RGb250KCk7CiAgICAgc2l6ZV90IGNv
dW50ID0gMTsKIAotI2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCisj
aWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbG9j
YWxlU3RyaW5nOwogICAgIGlmICghbG9jYWxlLmlzRW1wdHkoKSkgewogICAgICAgICBsb2NhbGVT
dHJpbmcgPSBsb2NhbGUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNDliNTM0
YTViYjBmMGI1NTUwZjk1ZmViNTdlZGEwOTAxODhlYTM4Li4wNjY1ODUwMzRkYTJiMzk2ODM3M2Ez
M2I4MjU0MjlmODRlZGM1NjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDgtMDQgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZv
bnRTaGFwZUdseXBocygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dDogU29mdCBoeXBo
ZW5zIGFyZSBrZXJuZWQgbm93ISBUaGlzIGlzIGEgcHJvZ3Jlc3Npb24uCisgICAgICAgICogZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBmYXN0
L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIGZhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6IERpdHRv
LgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0
bWw6IERpdHRvLgorCiAyMDIwLTA4LTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQVg6IFZvaWNlT3ZlciBuZWVkcyBhY2Nlc3MgdG8gZm9udCBzdHls
aW5nIGF0IGluc2VydGlvbiBwb2ludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTItZXhwZWN0ZWQudHh0CmluZGV4IGRjM2ZiMmZkMjAxYzdmYmY3MDUwMDhjNThiNTE3
NjI3M2VlYmZkYmMuLjBmMzNhOTAwYmNkNzEyMTVhOGIwMTBlZDkxYTQyYjRlYmQwM2ZkYTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQK
QEAgLTMsMTQgKzMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBdIFti
Z2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogImhlblx4e0FE
fWFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsNDApIHNpemUgMTAweDQwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcg
Ilx4ezIwMTB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAxMDA6ICJ0aW9u
LiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDgwKSBzaXplIDEwMHgyMCBbY29sb3I9
IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMTAweDQ3IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJp
bmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0aCAxMDA6ICJ0
aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQ3KSBzaXplIDEwMHg0NyBbY29s
b3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDUpIHNpemUgMTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGgg
MTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyNykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCw5NCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAw
MDBdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAogICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CmluZGV4IDVkY2E4NThj
NmIyYTIyOWI2M2FhYjFhNjZlNTQ1YTA0NGQxYjE1NzAuLmQwZjA5OWQ4MDJlZmUxMTU1ZDJkMDBk
ODdkYTkwZmI4ZjBjMzRmMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0
LWh5cGhlbi0zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1o
eXBoZW4tMy1leHBlY3RlZC50eHQKQEAgLTMsMTEgKzMsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4
NTAgW2NvbG9yPSNGRkZGRkZdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDEwMHgyNQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIkRpZCBc
eHtBRH0iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIyNXg1OCBbY29s
b3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDYpIHNpemUgMTAw
eDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNikgd2lkdGggMTAwOiAiRGlkIFx4e0FEfSIK
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1eDI1IFtjb2xvcj0j
MDA4MDAwXQotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAwLDApIHNpemUgNzV4
MjUKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDAsMCkgd2lkdGggNzU6ICJub3QiCi0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyNSkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyNSkgd2lkdGggMTAwOiAiZmFpbCIKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEwMCw2KSBzaXplIDc1eDI1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTAwLDYpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MzMpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzMpIHdpZHRoIDEwMDog
ImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3Rl
ZC50eHQKaW5kZXggMjFiMmE0YmQ5MTgzYzhkNDU4ZjgxOGRhYWI3NTUwNzM3Y2RiMWMxNS4uNmNj
OGI5NzRhZDQyZThkM2NjODJmNmFhOGQwOGYzZTJkODZhNjg2MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApAQCAtNCwxNCArNCwxNCBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU3NgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDAKLSAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDEwNCBbYm9yZGVyOiAoM3B4IHNvbGlk
ICMwMDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNykgc2l6ZSAzMzB4
MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3KSB3aWR0aCAzMzA6ICIxMjM0NTY3ODkwMSBh
bnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAgIHRleHQgcnVu
IGF0ICg3LDI1KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKLSAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMTUxLDM5KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg3LDQzKSBzaXpl
IDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDYxKSBzaXplIDMzMHgzNgot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDYxKSB3aWR0aCAzMzA6ICIxMjM0NTY3ODkwMSBhbnRp
XHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAgIHRleHQgcnVuIGF0
ICg3LDc5KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTIpIHNpemUgMzMweDM4CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlw
aGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMzIpIHdpZHRo
IDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEsNDYpIHNpemUg
MHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTApIHNpemUgMHgxOAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMpIHNpemUgMzMweDM4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVu
IHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsOTMpIHdpZHRoIDE0
NDogImFsaWFzaW5nIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNpemUgNzg0eDAKKyAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwxMzQpIHNpemUgNzg0eDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0
aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3YTNjZTE2OWI4MGE2NjJhNmRlZTNhYjI2
ZmUyODQuLjlmYjdlYmEwZmQ3NmMyYzBhYWRjMzFmMjA0MmUwMjc0MjgwM2Y2MTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRo
LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1p
bi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxl
IGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAg
ICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmFyPHNwYW4+LTwvc3Bhbj48YnI+aWx5PC9kaXY+Cisg
ICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hLTxicj5yaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+
CiAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdp
ZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJl
ZC13aWR0aC5odG1sCmluZGV4IGRlOGIxY2FhNWMyYWNiNTIwNjBkZDA3ODdhOTYyMmFmOWJmMjJk
NmQuLmE2NTAzODViY2E5YzA1NjM3Nzc3ZjIyYTk4ODVhZDc0MGM1N2UyNDQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQt
d2lkdGguaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBh
ZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9
Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmFyJnNoeTtpbHk8L2Rpdj4KKyAg
ICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRp
bmEmc2h5O3JpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0
aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405967</attachid>
            <date>2020-08-04 17:37:39 -0700</date>
            <delta_ts>2020-08-04 20:12:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200804173738.patch</filename>
            <type>text/plain</type>
            <size>37541</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFhYTYxZGIxNmI0ODI0MDcwZGE0NDdh
OWExN2U0NDMyYmJiYmQxNTguLjJiYjMzOTNlNTNkMTg4ZWZkMzg1NDljNjE1N2U4MTM3ZDkzNmI3
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIDEw
MTYwMCB3aXRoIDExMDAwMC4KKyAgICAgICAgUmVuYW1lIENURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSB0byBDVEZPTlRTSEFQRUdMWVBIUywgYmVjYXVzZSB0aGF0J3MgdGhlIG5ldyBm
dW5jdGlvbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZS5oOgorCiAyMDIwLTA4LTA0ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtNU1ZD
XSB3dGYvT3B0aW9uYWwuaDogZXJyb3IgQzIyODA6ICdXVEY6OmNvbnN0ZXhwcl9zdG9yYWdlX3Q8
VD4gJldURjo6Y29uc3RleHByX3N0b3JhZ2VfdDxUPjo6b3BlcmF0b3IgPShjb25zdCBXVEY6OmNv
bnN0ZXhwcl9zdG9yYWdlX3Q8VD4gJiknOiBhdHRlbXB0aW5nIHRvIHJlZmVyZW5jZSBhIGRlbGV0
ZWQgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ODM2OGQ2ZWFkNWZiNDM5M2RiNWI5N2EwZGI4NTg0
MDBlZDZhODA5Li41NDg3OGI3MjY2YTZhNDgzNmQ2NjU3Yjg1ODNmNTgyZTNiMGY2NDJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGlu
IHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NzY5CisgICAgICAgIGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2MjA4LgorCisgICAgICAgIFRoZSBzb2x1dGlvbiBmb3IgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDc2OSByZXF1aXJlcyBhcHBseWluZworICAgICAgICBs
ZXR0ZXItc3BhY2luZyBhZnRlciB0ZXh0IHNoYXBpbmcuIFRvZGF5LCB3ZSBhcHBseSBsZXR0ZXIt
c3BhY2luZyBiZWZvcmUgdGV4dCBzaGFwaW5nCisgICAgICAgIHdoaWNoIGlzIHdyb25nLiBIb3dl
dmVyLCBpZiB3ZSB3YW50IHRvIGFwcGx5IGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGlu
Zywgd2UgbmVlZAorICAgICAgICB0byB1c2UgQ1RGb250U2hhcGVHbHlwaHMoKSwgd2hpY2ggcmV0
dXJucyB0aGUgZ2x5cGggLT4gc3RyaW5nIG1hcHBpbmcsIHdoaWNoIGFsbG93cyB1cworICAgICAg
ICB0byBkZXRlcm1pbmUgd2hpY2ggZ2x5cGhzIHRvIGFkZCBsZXR0ZXItc3BhY2luZyB0by4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
IChleGNlcHQgZm9yIHNvZnQgaHlwaGVuIGtlcm5pbmcsIHdoaWNoCisgICAgICAgIGlzIGNvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRl
OjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FzY2FkZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldpZHRoSXRlcmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3Jtcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Ojph
cHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldENG
U3RyaW5nQXR0cmlidXRlcyBjb25zdCk6CisKIDIwMjAtMDgtMDQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBbGlnbiBBdWRpb0xpc3RlbmVyIHdpdGggdGhlIFcz
QyBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA1MTU5MDY3MjQ1MDcyOGUyNGY3
MTY0MTFlMDQyNzhkYTc3ZjczMjBhLi4zYzcxOWY5MzgyMmRjM2M1YTE2MTQyNTEyNWVmY2MwYTI0
MTRkNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOC0wNCAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2Nv
YV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENU
Rm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDIwLTA4LTA0ICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDaGVj
ayB0aGF0IEFjY2Vzc2liaWxpdHkgaXMgZW5hYmxlZCB3aGVuIHJlY2VpdmluZyB0aGUgZW5hYmxl
IEFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAppbmRleCBmYTMyZDQ3
ZTM3YmVmYTAwZWY1NzU1NGE3OGI1NjM2MDkyYmY1YmMwLi5hZGU0MmRkMTM5ZjNhOWY0YWFmNDcz
ODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVz
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMwMSw2ICszMDEsNiBA
QAogI2RlZmluZSBVU0VfREFSV0lOX1JFR0lTVEVSX01BQ1JPUyAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEwMTYwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSAxCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwKQorI2RlZmluZSBVU0VfQ1RG
T05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNjZDhl
MTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTQ2
LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEgPDwg
MSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFwZU9w
dGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAgIGtD
VEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RGb250
U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05TKHVp
bnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlwdG9y
T3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0aW9u
UHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250CkBA
IC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5
TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlTeXN0
ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBoIGds
eXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENURm9u
dFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNmb3Jt
T3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdlLCBD
R0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250UmVm
LCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5zW10s
IENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291bnQs
IENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVy
KShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikpOwog
CiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYgQ1RM
aW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNrLCBD
VFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1OGQ1
MWE4MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5
IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJlZlB0
cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZvbnQ6
OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25z
dCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5nJiwg
U3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2FmNzA3
YjdlZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVm
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyArMSw3
IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVt
ZW50YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1LTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA3LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIwNyw3
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0
ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBseVRy
YW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFi
bGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxl
KSBjb25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVk
IGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29s
IGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBs
b2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQTEFU
Rk9STShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVydGll
cygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDgwZmFiYjMyYWRiZjY5Y2MxZTQ4MGIxN2JkMWM2OTljODlkZjQyNmMu
LmYxMmFhMjQ0MmRjZTRiODVhNjQzMWE5NDA0Zjc2NmM4NTY3Zjk3ZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3ICs0
MjUsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNo
U2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LWZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBj
b25zdAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRl
eHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5p
c051bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDQsMTAg
KzQ0NCwxMCBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1Zp
ZXcgdGV4dCkgY29uc3QKICAgICAgICAgcnVuV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAgICAg
aWYgKCFoYXNLZXJuaW5nT3JMaWdhdHVyZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CisgICAgICAgIGds
eXBoQnVmZmVyLmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgsIGkpOwogICAgIH0KICAgICBp
ZiAoaGFzS2VybmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1z
KGdseXBoQnVmZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250
RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBseVRyYW5z
Zm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5n
KCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHREaXJlY3Rp
b24pOwogICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQg
b2YgdGhlIHNsb3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBmbG9hdGlu
ZyBwb2ludCBhcml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVyZW50IHJ1
biB3aWR0aC4KICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5zZm9ybUFw
cGxpZWQgPSAtcnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZlciBGb250
Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIGZy
b20sIHVucwogICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3VycmVu
dCBpbml0aWFsQWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShGbG9h
dFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZmZXIgaXMg
Y3VycmVudGx5IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8gcmV0dXJu
IHRoZSByZXN1bHRzIGluIHZpc3VhbCBvcmRlci4KICAgICBpZiAocnVuLnJ0bCgpKQogICAgICAg
ICBnbHlwaEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNpemUoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDU4YTU2N2Q4
NjY0NGI0ODM4ZDZmODcxZGM2ZmNmZWI1NjA4YzIwZTkuLmViMGM4Yjg0OTAxMzFlNjMyYWY2NWM3
NDA2MjY0YjBmNWVkNzQ4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0
IHdpZHRoT2ZUZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IHRvLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIGZsb2F0KiBvdXRX
aWR0aEJlZm9yZVJhbmdlID0gbnVsbHB0ciwgZmxvYXQqIG91dFdpZHRoQWZ0ZXJSYW5nZSA9IG51
bGxwdHIpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGZsb2F0IHdpZHRoKGNvbnN0IFRleHRS
dW4mLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZs
b3cqID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcg
dGV4dCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4
dCwgVGV4dERpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiAvKiBtYXRjaGVzIGRlZmF1bHQg
YXJndW1lbnQgb2YgVGV4dFJ1biBjb25zdHJ1Y3RvciAqLykgY29uc3Q7CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGV4dExheW91dCwgVGV4dExheW91dERlbGV0ZXI+IGNyZWF0ZUxheW91dChSZW5k
ZXJUZXh0JiwgZmxvYXQgeFBvcywgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpIGNvbnN0OwogICAg
IHN0YXRpYyBmbG9hdCB3aWR0aChUZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQg
bGVuLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDApOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmluZGV4IGVjYmM1ZWVhOWI5ZDFlM2Uz
YzQ1MTNhZjU4MDY3ZTU3ZTgyYTVkYTcuLjczNmYyODdmY2U2YTQyNzJhZTJhNzI1N2MzOGRkY2Zm
YjY5M2YyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgK
QEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4gewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZhdWx0IGFy
Z3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVmYXVs
dCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBmbG9h
dCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5z
aW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9
IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJv
b2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQodGV4
dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgogICAg
ICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRlZmF1
bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkncyBk
ZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0cmluZ1Zp
ZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhhdmlv
ciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24gZGly
ZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBm
YWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6IFRl
eHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4cGFuc2lv
biwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSwgY2hh
cmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNjE2M2JjZTI3YTI0ZmI3M2Y3
ZjQ3MGYwOTkyYWIxYzcyYTA1ZWY5ZS4uNWZkNDU1MzBlOTZlYjk2NGQ2NGYwNWE0NWJjYWFkN2Jl
N2Y0OWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHAKQEAgLTc2LDI3ICs3NiwyNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNT
b2Z0QmFua0Vtb2ppKFVDaGFyMzIgY29kZXBvaW50KQogICAgIHJldHVybiBjb2RlcG9pbnQgPj0g
MHhFMDAxICYmIGNvZGVwb2ludCA8PSAweEU1Mzc7CiB9CiAKLWlubGluZSBhdXRvIFdpZHRoSXRl
cmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBo
QnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3Rl
cikgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKK2lubGluZSBhdXRvIFdpZHRoSXRlcmF0b3I6OnNo
b3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCB1
bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBj
b25zdCAtPiBUcmFuc2Zvcm1zVHlwZQogewotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBnbHlwaEJ1
ZmZlci0+c2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9qaShw
cmV2aW91c0NoYXJhY3RlcikpCisgICAgaWYgKGdseXBoQnVmZmVyICYmIGdseXBoQnVmZmVyLT5z
aXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgY3VycmVudENoYXJhY3RlckluZGV4ICYm
IGlzU29mdEJhbmtFbW9qaShtX3J1bi50ZXh0KClbY3VycmVudENoYXJhY3RlckluZGV4IC0gMV0p
KQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZDsKICAgICBpZiAobV9ydW4u
bGVuZ3RoKCkgPD0gMSB8fCAhKG1fZW5hYmxlS2VybmluZyB8fCBtX3JlcXVpcmVzU2hhcGluZykp
CiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Tm9uZTsKICAgICByZXR1cm4gVHJhbnNm
b3Jtc1R5cGU6Ok5vdEZvcmNlZDsKIH0KIAotaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFw
cGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwgdW5z
aWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250KiBmb250LCBVQ2hhcjMyIHByZXZpb3Vz
Q2hhcmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZSkKK2lubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRU
cmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkIGxh
c3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQq
IGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIsIHNo
b3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2
aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpOwor
ICAgIEFTU0VSVChzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5
cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zv
cm1zVHlwZTo6Tm9uZSk7CiAKICAgICBpZiAoIWdseXBoQnVmZmVyKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGF1dG8gZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKLSAg
ICBpZiAoIWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsK
LSAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3Jj
ZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1
cm4gMDsKLSAgICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhC
dWZmZXItPmFkdmFuY2VzKDApOwogICAgIGZsb2F0IGJlZm9yZVdpZHRoID0gMDsKQEAgLTEwNCwx
NSArMTAyLDMyIEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgICAgIGJlZm9yZVdpZHRo
ICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7CiAKICAgICBBU1NFUlQobGFzdEdseXBoQ291bnQgPD0g
Z2x5cGhCdWZmZXJTaXplKTsKKworICAgIC8vIENURm9udFRyYW5zZm9ybUdseXBocygpIG9wZXJh
dGVzIGluIHZpc3VhbCBvcmRlciwgYnV0IFdpZHRoSXRlcmF0b3IgaXRlcmF0ZXMgaW4gbG9naWNh
bCBvcmRlci4KKyAgICAvLyBUZW1wb3JhcmlseSBwdXQgdXMgaW4gdmlzdWFsIG9yZGVyIGp1c3Qg
Zm9yIHRoZSBjYWxsLCB0aGVuIHB1dCB1cyBiYWNrIGludG8gbG9naWNhbCBvcmRlciB3aGVuCisg
ICAgLy8gdGhlIGNhbGwgaXMgZG9uZS4KKyAgICAvLyBXZSBkb24ndCBoYXZlIGEgZ2xvYmFsIHZp
ZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlcjsgd2UncmUganVzdCBvcGVyYXRpbmcgb24gYSBz
aW5nbGUgY2h1bmsgb2YgaXQuCisgICAgLy8gV2lkdGhJdGVyYXRvciBlbmNvdW50ZXJzIHRoZSBj
aHVua3Mgb3V0IGluIGxvZ2ljYWwgb3JkZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRhaW4gdGhhdCBp
bnZhcmlhbnQuCisgICAgLy8gRXZlbnR1YWxseSwgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRl
eHQoKSB3aWxsIHJldmVyc2UgdGhlIHdob2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVudGlyZSB0aGlu
ZworICAgIC8vIGluIHZpc3VhbCBvcmRlciwgYnV0IHRoYXQncyBva2F5IGJlY2F1c2UgaXQgaGFz
IGEgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyLgorICAgIC8vIE9uIHRoZSBvdGhlciBo
YW5kLCBDVEZvbnRTaGFwZUdseXBocygpIGFjY2VwdHMgdGhlIGJ1ZmZlciBpbiBsb2dpY2FsIG9y
ZGVyIGJ1dCByZXR1cm5zIGl0IGluIHBoeXNpY2FsCisgICAgLy8gb3JkZXIsIHdoaWNoIG1lYW5z
IHRoZSBzZWNvbmQgcmV2ZXJzZSgpIGluIHRoaXMgZnVuY3Rpb24gc3RpbGwgbmVlZHMgdG8gZXhl
Y3V0ZSB3aGVuCisgICAgLy8gQ1RGb250U2hhcGVHbHlwaHMoKSBpcyBiZWluZyB1c2VkLgorI2lm
ICFVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgaWYgKCFsdHIpCiAgICAgICAgIGdseXBoQnVm
ZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhD
b3VudCk7CisjZW5kaWYKIAotICAgIGZvbnQtPmFwcGx5VHJhbnNmb3JtcygqZ2x5cGhCdWZmZXIs
IGxhc3RHbHlwaENvdW50LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2Zv
bnQtPmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQtPmFwcGx5
VHJhbnNmb3JtcygqZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBtX2N1cnJlbnRDaGFyYWN0
ZXJJbmRleCwgbV9lbmFibGVLZXJuaW5nLCBtX3JlcXVpcmVzU2hhcGluZywgbV9mb250LT5mb250
RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpLCBtX3J1bi50ZXh0KCksIG1fcnVuLmRpcmVj
dGlvbigpKTsKICAgICBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOwogCi0g
ICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7
ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9yaWdpbiogb3JpZ2lucyA9IGdseXBoQnVmZmVyLT5vcmln
aW5zKDApOworICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhC
dWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYWR2YW5jZXNbaV0uc2V0SGVpZ2h0KC1hZHZhbmNl
c1tpXS5oZWlnaHQoKSk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3JpZ2luc1tpXS55KCkp
OworICAgIH0KIAorICAgIC8vIFNlZSB0aGUgY29tbWVudCBhYm92ZSBpbiB0aGlzIGZ1bmN0aW9u
IHdoZXJlIHRoZSBvdGhlciBjYWxsIHRvIHJldmVyc2UoKSBpcy4KICAgICBpZiAoIWx0cikKICAg
ICAgICAgZ2x5cGhCdWZmZXItPnJldmVyc2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6
ZSAtIGxhc3RHbHlwaENvdW50KTsKIApAQCAtMTM1LDcgKzE1MCw2IEBAIGlubGluZSBmbG9hdCBX
aWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZl
ciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlw
aEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZhbmNlc1tpXS53aWR0
aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CiAgICAgcmV0dXJu
IGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTcxLDcgKzE4NSw3IEBAIHN0YXRp
YyBpbmxpbmUgc3RkOjpwYWlyPGJvb2wsIGJvb2w+IGV4cGFuc2lvbkxvY2F0aW9uKGJvb2wgaWRl
b2dyYXBoLCBib29sIHRyZWF0CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5s
aW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4
dEl0ZXJhdG9yLCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCiB7Ci0gICAgLy8gVGhlIGNvcmUg
bG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBTaW1wbGVMaW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBs
ZVRleHQoKQorICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVlZHMgdG8gbWF0Y2ggRm9udENh
c2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsK
ICAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBt
X2ZvbnQtPndvcmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlz
YWJsZWQoKTsKIApAQCAtMTkxLDEzICsyMDUsMTQgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYK
ICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEgPSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAw
OwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVu
dEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlv
dXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVkIGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENo
YXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgU3Ry
aW5nIG5vcm1hbGl6ZWRTcGFjZXNTdHJpbmdDYWNoZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5n
IGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRl
eHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAg
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAg
ICAgICB1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgYm9v
bCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9ICFpc0RlZmF1bHRJZ25vcmFibGVDb2RlUG9p
bnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZUEUpCkBAIC0yMDgsNyArMjIzLDYgQEAgaW5s
aW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4
dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAj
ZW5kaWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5j
dXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhEYXRhJiBnbHlwaERhdGEgPSBtX2Zv
bnQtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBo
IGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFyYWN0
ZXJNdXN0RHJhd1NvbWV0aGluZykgewpAQCAtMjI5LDEzICsyNDMsMTMgQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0
cmV0Y2goKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSAm
JiB3aWR0aCkgewotICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5
Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJh
Y3Rlcik7Ci0gICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6
Ok5vbmUpIHsKLSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJh
bnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBsYXN0Rm9u
dERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlw
ZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgICAgIGlm
IChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPnNocmluayhs
YXN0R2x5cGhDb3VudCk7Ci0gICAgICAgICAgICB9CisgICAgICAgIGlmIChmb250ICE9IGxhc3RG
b250RGF0YSkgeworICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5
Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFj
dGVySW5kZXgpOworICAgICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRU
cmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCwgbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zv
cm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOworICAgICAgICAgICAg
aWYgKGdseXBoQnVmZmVyKQorICAgICAgICAgICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhC
dWZmZXItPnNpemUoKTsKKyAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3Vy
cmVudENoYXJhY3RlckluZGV4OwogCiAgICAgICAgICAgICBsYXN0Rm9udERhdGEgPSBmb250Owog
ICAgICAgICAgICAgaWYgKG1fZmFsbGJhY2tGb250cyAmJiBmb250ICE9ICZwcmltYXJ5Rm9udCkg
ewpAQCAtMjkwLDYgKzMwNCw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJ
bnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChmb250LT56ZXJv
V2lkdGhTcGFjZUdseXBoKCksIGZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChmb250LT5zcGFjZUdseXBoKCksIGZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHks
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRD
aGFyYWN0ZXJJbmRleDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+ZXhwYW5kTGFz
dEFkdmFuY2UobV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQpAQCAtMzE2LDcgKzMzMiw3IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAg
ICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgIH0KIAot
ICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhn
bHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICAgICAg
YXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZm
ZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICBpZiAo
dHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUgJiYgZ2x5cGhCdWZmZXIgJiYg
Rm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpKSB7CiAgICAgICAgICAgICBjaGFy
YWN0ZXJzVHJlYXRlZEFzU3BhY2UuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGdseXBoQnVmZmVyLT5z
aXplKCksCiAgICAgICAgICAgICAgICAgT3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0
ZWRBc1NwYWNlKGNoYXJhY3RlciA9PSAnICcsIGdseXBoQnVmZmVyLT5zaXplKCkgPyBnbHlwaEJ1
ZmZlci0+YWR2YW5jZUF0KGdseXBoQnVmZmVyLT5zaXplKCkgLSAxKS53aWR0aCgpIDogMCwgd2lk
dGgpKSk7CkBAIC0zNDgsOSArMzY0LDEzIEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAg
ICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJvdW5k
aW5nQm94WSwgYm91bmRzLnkoKSk7CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92ZXJmbG93ID0g
c3RkOjptYXg8ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAgICAgIH0KLSAg
ICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCisgICAgYXV0byB0
cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgIGlmICh0cmFuc2Zvcm1z
VHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9
IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhD
b3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBl
ID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Cisg
ICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7
CisKICAgICBpZiAoZ2x5cGhCdWZmZXIgJiYgbGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgpIHsK
ICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChsYXN0Rm9udERhdGEtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKQEAgLTM1OCwx
NCArMzc4LDYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGdseXBoQnVm
ZmVyLT5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwgbGVmdG92
ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgfQogCi0gICAg
YXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZm
ZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgaWYgKHRyYW5zZm9y
bXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKSB7Ci0gICAgICAgIG1fcnVuV2lkdGhTb0Zh
ciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEds
eXBoQ291bnQsIGxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBl
ID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0g
ICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmso
bGFzdEdseXBoQ291bnQpOwotICAgIH0KLQotICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0g
dGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0
aFNpbmNlTGFzdFJvdW5kaW5nOwogICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5k
aW5nV2lkdGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmgKaW5kZXggOGRiMzhiYjIxMGIzMThhOTIzYzFlOTgyYzU0NjllMjU4ZWNiM2Iz
Mi4uNzZjM2ZmNzZjOWNjYTNhYTY4MjFhYTg5NzEzNDU1NDhlZTZmZDcyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjEsOCAr
NjEsOCBAQCBwcml2YXRlOgogICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRl
cmF0b3ImLCBHbHlwaEJ1ZmZlciopOwogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7
IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBw
bHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENv
dW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZv
bnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhD
b3VudCwgY29uc3QgRm9udCosIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2Us
IENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOworICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFw
cGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhD
b3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBjb25zdDsKKyAgICBmbG9hdCBh
cHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RH
bHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQqLCBi
b29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKIAogICAgIGNvbnN0IEZvbnRD
YXNjYWRlKiBtX2ZvbnQ7CiAgICAgY29uc3QgVGV4dFJ1biYgbV9ydW47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggOGI4
YzlkNjdkN2RmNTI3Nzk1NGMzZDM3ZjE1NTE0YTFlODhlN2IyMy4uNGZhZWU4YjhjNTgzZDFjMjU1
NGU2ODIyZGU2ZjRlZTcwY2ZjNTljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtNTQ0LDI2ICs1NDQsNTkgQEAgUmVm
UHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBmbG9hdCBzY2FsZUYKICAgICByZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZvbnQoc2Nh
bGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9wbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSwgZm9udFRy
YWl0cywgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0YS5zeW50
aGV0aWNPYmxpcXVlKCkpOwogfQogCi12b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1
ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtl
cm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNv
bnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIs
IHVuc2lnbmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0lu
ZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9t
U3RyaW5nJiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0
aW9uKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgR2x5cGhCdWZmZXIgaW5pdGlh
bCBhZHZhbmNlLgotICAgIENURm9udFRyYW5zZm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVL
ZXJuaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJl
c1NoYXBpbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nIDogMCk7Ci0jaWYgVVNFKENU
Rk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKLSAgICBhdXRvIGhhbmRsZXIgPSBeKENG
UmFuZ2UgcmFuZ2UsIENHR2x5cGgqKiBuZXdHbHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZh
bmNlc1BvaW50ZXIpIHsKKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCisgICAgVU5VU0VEX1BB
UkFNKHJlcXVpcmVzU2hhcGluZyk7CisgICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdl
LCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVy
LCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9pbnRl
cikgewogICAgICAgICByYW5nZS5sb2NhdGlvbiA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdlLmxv
Y2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+KGds
eXBoQnVmZmVyLnNpemUoKSkpOwogICAgICAgICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewogICAg
ICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3RkOjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5nZS5s
ZW5ndGgpOwogICAgICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAtIHJh
bmdlLmxlbmd0aDsKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdJbmRl
eCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICAgICAgZ2x5cGhCdWZm
ZXIucmVtb3ZlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVu
Z3RoKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShi
ZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOwotICAg
ICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRl
eCk7Ci0gICAgICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhi
ZWdpbm5pbmdJbmRleCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5p
bmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7CisKKyAg
ICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5
cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZh
bmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld09mZnNldHNQb2ludGVyID0g
Z2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0lu
ZGljZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBo
SW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKG1f
cGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgp
LCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmlu
Z0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zLCBM
b2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUp
LnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhhbmRsZXIpOworCisgICAgYXV0byBz
dWJzdHJpbmcgPSB0ZXh0LnN1YnN0cmluZyhiZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgYXV0
byB1cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBzdWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFyYWN0ZXJz
KCk7CisgICAgYXV0byBsb2NhbGVTdHJpbmcgPSBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7
CisgICAgQ1RGb250U2hhcGVPcHRpb25zIG9wdGlvbnMgPSBrQ1RGb250U2hhcGVXaXRoQ2x1c3Rl
ckNvbXBvc2l0aW9uCisgICAgICAgIHwgKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250U2hhcGVXaXRo
S2VybmluZyA6IDApCisgICAgICAgIHwgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6
UlRMID8ga0NURm9udFNoYXBlUmlnaHRUb0xlZnQgOiAwKTsKKworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kp
CisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4
KVtiZWdpbm5pbmdHbHlwaEluZGV4ICsgaV0gLT0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKKyAg
ICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAgICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisg
ICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAg
cmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdH
bHlwaEluZGV4KSksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVm
ZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5v
ZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAg
ICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9w
dGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmluZy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5u
aW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmco
YmVnaW5uaW5nR2x5cGhJbmRleClbYmVnaW5uaW5nR2x5cGhJbmRleCArIGldICs9IGJlZ2lubmlu
Z1N0cmluZ0luZGV4OworCiAjZWxzZQorCisgICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmlu
Z0luZGV4KTsKICAgICBVTlVTRURfUEFSQU0obG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1H
bHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5p
bmdJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
YmVnaW5uaW5nSW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9w
dGlvbnMpOworICAgIFVOVVNFRF9QQVJBTSh0ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERp
cmVjdGlvbik7CisgICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtl
cm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVz
U2hhcGluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRU
cmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBo
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1
ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAt
IGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250
RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMjU3OWRhMDYxN2E5MDQ0MTU0YzU1ZmM0ZjgxMGNhYmQy
NDE3ZGE0Li5mZjZmYzhkODMyOWQ0NGZmYTkxMmRiN2EwNmUwM2Q5OTQxYjY0NjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFD
b3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFJldGFpblB0cjxDRkRp
Y3Rpb25hcnlSZWY+IEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5p
bmcsIEZvbnRPCiAgICAgdmFsdWVzWzBdID0gcGxhdGZvcm1EYXRhKCkuY3RGb250KCk7CiAgICAg
c2l6ZV90IGNvdW50ID0gMTsKIAotI2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFO
R1VBR0UpCisjaWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQogICAgIFJldGFpblB0cjxDRlN0cmlu
Z1JlZj4gbG9jYWxlU3RyaW5nOwogICAgIGlmICghbG9jYWxlLmlzRW1wdHkoKSkgewogICAgICAg
ICBsb2NhbGVTdHJpbmcgPSBsb2NhbGUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAzNDliNTM0YTViYjBmMGI1NTUwZjk1ZmViNTdlZGEwOTAxODhlYTM4Li4wNjY1ODUwMzRkYTJi
Mzk2ODM3M2EzM2I4MjU0MjlmODRlZGM1NjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAt
MDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAg
ICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2Uo
KSB0byBDVEZvbnRTaGFwZUdseXBocygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dDog
U29mdCBoeXBoZW5zIGFyZSBrZXJuZWQgbm93ISBUaGlzIGlzIGEgcHJvZ3Jlc3Npb24uCisgICAg
ICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAg
ICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAg
ICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0
bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLmh0bWw6IERpdHRvLgorCiAyMDIwLTA4LTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFZvaWNlT3ZlciBuZWVkcyBhY2Nlc3MgdG8g
Zm9udCBzdHlsaW5nIGF0IGluc2VydGlvbiBwb2ludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CmluZGV4IGRjM2ZiMmZkMjAxYzdmYmY3MDUw
MDhjNThiNTE3NjI3M2VlYmZkYmMuLjBmMzNhOTAwYmNkNzEyMTVhOGIwMTBlZDkxYTQyYjRlYmQw
M2ZkYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBl
Y3RlZC50eHQKQEAgLTMsMTQgKzMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMw
MDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDog
Imhlblx4e0FEfWFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsNDApIHNpemUgMTAweDQwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYw
MDAwXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhl
biBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAx
MDA6ICJ0aW9uLiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDgwKSBzaXplIDEwMHgy
MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgMTAweDQ3IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAw
XQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5
cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0
aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQ3KSBzaXplIDEw
MHg0NyBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NSkgd2lkdGggMTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCw5NCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2Nv
bG9yPSNGRjAwMDBdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEw
MHgyMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CmluZGV4
IDVkY2E4NThjNmIyYTIyOWI2M2FhYjFhNjZlNTQ1YTA0NGQxYjE1NzAuLmQwZjA5OWQ4MDJlZmUx
MTU1ZDJkMDBkODdkYTkwZmI4ZjBjMzRmMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKQEAgLTMsMTEgKzMsMTEgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAyMjV4NTAgW2NvbG9yPSNGRkZGRkZdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDEwMHgyNQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEw
MDogIkRpZCBceHtBRH0iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIy
NXg1OCBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDYp
IHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNikgd2lkdGggMTAwOiAiRGlk
IFx4e0FEfSIKICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1eDI1
IFtjb2xvcj0jMDA4MDAwXQotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAwLDAp
IHNpemUgNzV4MjUKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDAsMCkgd2lkdGggNzU6ICJu
b3QiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyNSkgc2l6ZSAxMDB4MjUKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNSkgd2lkdGggMTAwOiAiZmFpbCIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMCw2KSBzaXplIDc1eDI1CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTAwLDYpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMzMpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzMpIHdp
ZHRoIDEwMDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1o
eXBoZW4tNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
NC1leHBlY3RlZC50eHQKaW5kZXggMjFiMmE0YmQ5MTgzYzhkNDU4ZjgxOGRhYWI3NTUwNzM3Y2Ri
MWMxNS4uNmNjOGI5NzRhZDQyZThkM2NjODJmNmFhOGQwOGYzZTJkODZhNjg2MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApAQCAtNCwx
NCArNCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU3NgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDAK
LSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDEwNCBbYm9yZGVyOiAo
M3B4IHNvbGlkICMwMDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNykg
c2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3KSB3aWR0aCAzMzA6ICIxMjM0
NTY3ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICg3LDI1KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKLSAgICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoMTUxLDM5KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg3
LDQzKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDYxKSBzaXpl
IDMzMHgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDYxKSB3aWR0aCAzMzA6ICIxMjM0NTY3
ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3LDc5KSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKKyAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDAp
XQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTIpIHNpemUgMzMweDM4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtB
RH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcs
MzIpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEs
NDYpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTApIHNpemUgMHgxOAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMpIHNpemUgMzMweDM4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0i
ICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsOTMp
IHdpZHRoIDE0NDogImFsaWFzaW5nIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNpemUgNzg0eDAK
KyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMzQpIHNpemUgNzg0eDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZl
cnJlZC13aWR0aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3YTNjZTE2OWI4MGE2NjJh
NmRlZTNhYjI2ZmUyODQuLjlmYjdlYmEwZmQ3NmMyYzBhYWRjMzFmMjA0MmUwMjc0MjgwM2Y2MTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVy
cmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbApAQCAtMTEsNyArMTEsNyBA
QAogPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAg
IDx0ZD4KLSAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmFyPHNwYW4+LTwvc3Bhbj48YnI+aWx5
PC9kaXY+CisgICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hLTxicj5yaWx5PC9kaXY+CiAgICAg
ICAgIDwvdGQ+CiAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90
cj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJl
ZmVycmVkLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWlu
LXByZWZlcnJlZC13aWR0aC5odG1sCmluZGV4IGRlOGIxY2FhNWMyYWNiNTIwNjBkZDA3ODdhOTYy
MmFmOWJmMjJkNmQuLmE2NTAzODViY2E5YzA1NjM3Nzc3ZjIyYTk4ODVhZDc0MGM1N2UyNDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNlbGxzcGFjaW5n
PTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxk
aXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmFyJnNoeTtpbHk8
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+
ZXh0cmFvcmRpbmEmc2h5O3JpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0
eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405978</attachid>
            <date>2020-08-04 20:12:09 -0700</date>
            <delta_ts>2020-08-06 12:33:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200804201209.patch</filename>
            <type>text/plain</type>
            <size>37497</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ0NGJiZGMxYjU2YjcxNTFkZDg2NDU5
ZTJkNzU1OTZhMTRmODYyMjQuLjI5OTEzYTBjOThjNzM4ODY3MjdjNTk4MDA4NjMzYmRkNmQ3ZGQ5
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIDEw
MTYwMCB3aXRoIDExMDAwMC4KKyAgICAgICAgUmVuYW1lIENURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSB0byBDVEZPTlRTSEFQRUdMWVBIUywgYmVjYXVzZSB0aGF0J3MgdGhlIG5ldyBm
dW5jdGlvbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZS5oOgorCiAyMDIwLTA4LTA0ICBL
ZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENoZWNrcG9p
bnRTaWRlU3RhdGUgc2hvdWQgcGxheSBuaWNlbHkgd2l0aCBTdGFja092ZXJmbG93RXhjZXB0aW9u
IHVud2luZGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZjY2NDkwYmJmMmM0Nzg2ZWVjNTY3ZTE5NjM0YjNi
NzhiYzNjYzg1Li5mMDYwYWZmN2FkZDcwNTE2NTM1MTg1ZDliYTllNDE3ZmQ3NzlmNzM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGlu
IHByZXBhcmF0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NzY5CisgICAgICAgIGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2MjA4LgorCisgICAgICAgIFRoZSBzb2x1dGlvbiBmb3IgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDc2OSByZXF1aXJlcyBhcHBseWluZworICAgICAgICBs
ZXR0ZXItc3BhY2luZyBhZnRlciB0ZXh0IHNoYXBpbmcuIFRvZGF5LCB3ZSBhcHBseSBsZXR0ZXIt
c3BhY2luZyBiZWZvcmUgdGV4dCBzaGFwaW5nCisgICAgICAgIHdoaWNoIGlzIHdyb25nLiBIb3dl
dmVyLCBpZiB3ZSB3YW50IHRvIGFwcGx5IGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGlu
Zywgd2UgbmVlZAorICAgICAgICB0byB1c2UgQ1RGb250U2hhcGVHbHlwaHMoKSwgd2hpY2ggcmV0
dXJucyB0aGUgZ2x5cGggLT4gc3RyaW5nIG1hcHBpbmcsIHdoaWNoIGFsbG93cyB1cworICAgICAg
ICB0byBkZXRlcm1pbmUgd2hpY2ggZ2x5cGhzIHRvIGFkZCBsZXR0ZXItc3BhY2luZyB0by4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
IChleGNlcHQgZm9yIHNvZnQgaHlwaGVuIGtlcm5pbmcsIHdoaWNoCisgICAgICAgIGlzIGNvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRl
OjpsYXlvdXRTaW1wbGVUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FzY2FkZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldpZHRoSXRlcmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3Jtcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Ojph
cHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldENG
U3RyaW5nQXR0cmlidXRlcyBjb25zdCk6CisKIDIwMjAtMDgtMDQgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgICJEb3VibGVEb3duIENhc2lubyIgcmVzcGluIGJ1
dHRvbiBzdG9wcyB3b3JraW5nIHdpdGggdHJhY2twYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDUx
NTkwNjcyNDUwNzI4ZTI0ZjcxNjQxMWUwNDI3OGRhNzdmNzMyMGEuLjNjNzE5ZjkzODIyZGMzYzVh
MTYxNDI1MTI1ZWZjYzBhMjQxNGQ2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDIwLTA4LTA0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0
aExhbmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6
CisKIDIwMjAtMDgtMDQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIENoZWNrIHRoYXQgQWNjZXNzaWJpbGl0eSBpcyBlbmFibGVkIHdoZW4gcmVj
ZWl2aW5nIHRoZSBlbmFibGUgQWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVz
ZS5oCmluZGV4IGZhMzJkNDdlMzdiZWZhMDBlZjU3NTU0YTc4YjU2MzYwOTJiZjViYzAuLmFkZTQy
ZGQxMzlmM2E5ZjRhYWY0NzM4MmU1YjBkNjRjYmY2ODFhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApA
QCAtMzAxLDYgKzMwMSw2IEBACiAjZGVmaW5lIFVTRV9EQVJXSU5fUkVHSVNURVJfTUFDUk9TIDEK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNjAwKQotI2RlZmluZSBVU0VfQ1RGT05U
VFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIDEKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAp
CisjZGVmaW5lIFVTRV9DVEZPTlRTSEFQRUdMWVBIUyAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IDdkMjE0ZWRhOWY1MTc0
NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQuLjM0MmQ1OTFlMDVhYmQwYTQyMDFkYzAzNjI2N2Qw
MzVhNjFhNDViOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29y
ZVRleHRTUEkuaApAQCAtNDYsNiArNDYsMTIgQEAgdHlwZWRlZiBDRl9PUFRJT05TKHVpbnQzMl90
LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKSB7CiAgICAga0NURm9udFRyYW5zZm9ybUFwcGx5UG9z
aXRpb25pbmcgPSAoMSA8PCAxKQogfTsKIAordHlwZWRlZiBDRl9PUFRJT05TKENGT3B0aW9uRmxh
Z3MsIENURm9udFNoYXBlT3B0aW9ucykgeworICAgIGtDVEZvbnRTaGFwZVdpdGhLZXJuaW5nID0g
KDEgPDwgMCksCisgICAga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbiA9ICgxIDw8
IDEpLAorICAgIGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0ID0gKDEgPDwgMiksCit9OworCiB0eXBl
ZGVmIENGX09QVElPTlModWludDMyX3QsIENURm9udERlc2NyaXB0b3JPcHRpb25zKSB7CiAgICAg
a0NURm9udERlc2NyaXB0b3JPcHRpb25TeXN0ZW1VSUZvbnQgPSAxIDw8IDEsCiAgICAga0NURm9u
dERlc2NyaXB0b3JPcHRpb25QcmVmZXJBcHBsZVN5c3RlbUZvbnQgPSBrQ1RGb250T3B0aW9uc1By
ZWZlclN5c3RlbUZvbnQKQEAgLTkyLDcgKzk4LDcgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVEZvbnRDU1NGYW1pbHlNb25vc3BhY2U7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NU
Rm9udENTU0ZhbWlseVN5c3RlbVVJOwogCiBib29sIENURm9udFRyYW5zZm9ybUdseXBocyhDVEZv
bnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDRkluZGV4IGNvdW50
LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKTsKLUNHU2l6ZSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNX
aXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBDR0dseXBoW10sIENHU2l6ZVtdLCBDRkluZGV4IGNvdW50
LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgdm9pZCAoXmhh
bmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXplKiopKTsKK0NHU2l6ZSBDVEZvbnRTaGFw
ZUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBD
R1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBpbmRleGVzW10sIGNvbnN0IFVuaUNoYXIgY2hhcnNb
XSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hhcGVPcHRpb25zLCBDRlN0cmluZ1JlZiBsYW5ndWFn
ZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXplKiosIENHUG9pbnQq
KiwgQ0ZJbmRleCoqKSk7CiAKIENHU2l6ZSBDVFJ1bkdldEluaXRpYWxBZHZhbmNlKENUUnVuUmVm
KTsKIENUTGluZVJlZiBDVExpbmVDcmVhdGVXaXRoVW5pQ2hhclByb3ZpZGVyKENUVW5pQ2hhclBy
b3ZpZGVyQ2FsbGJhY2ssIENUVW5pQ2hhckRpc3Bvc2VDYWxsYmFjaywgdm9pZCogcmVmQ29uKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKaW5kZXggOWFlNjkwNjhm
M2ViZmZmYTljOGU0MDU4ZDUxYTgzNGQ4ZGEwN2YwMi4uNmVmOTc4OTI3YzMwMjQ5MTI3ZGY1Y2Jk
NGU5YTU1YTg3OGQ0NDljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA4LCAy
MDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01MTIs
NyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OmNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2EKIH0KIAogI2lmICFQTEFURk9STShD
T0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQs
IGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdAordm9pZCBGb250OjphcHBseVRy
YW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNv
bnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9uKSBjb25zdAogewogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXggZWFmOWRh
YzQyMGFhZmUwMmJjYWY3MDdiN2VkY2I0ZGRlMzNkOTRiNy4uOGVjMzM4MGQ3YjdlNDVjMGQxMWU3
YzhjNGVmNzIxZjY5ZWIyNWYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgaW50
ZXJuYWwgZm9udCBpbXBsZW1lbnRhdGlvbi4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDgsIDIwMTAsIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBNb2JpbGUsIEluYy4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CkBAIC0yMDcsNyArMjA3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGNhblJlbmRl
ckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiwgc2l6ZV90KSBjb25zdDsK
LSAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJlZ2lubmlu
Z0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBB
dG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0OworICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5n
U3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNv
bnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uKSBj
b25zdDsKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBTQ1JJUFRfRk9OVFBST1BFUlRJRVMqIHNj
cmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXggODBmYWJiMzJhZGJmNjljYzFlNDgwYjE3
YmQxYzY5OWM4OWRmNDI2Yy4uZjEyYWEyNDQyZGNlNGI4NWE2NDMxYTk0MDRmNzY2Yzg1NjdmOTdk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmNwcApAQCAtNDI1LDcgKzQyNSw3IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aChjb25zdCBU
ZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzCiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChT
dHJpbmdWaWV3IHRleHQpIGNvbnN0CitmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVU
ZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25zdAog
ewogICAgIGlmICh0ZXh0LmlzTnVsbCgpIHx8IHRleHQuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gMDsKQEAgLTQ0NCwxMCArNDQ0LDEwIEBAIGZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNp
bXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdAogICAgICAgICBydW5XaWR0aCArPSBnbHlw
aFdpZHRoOwogICAgICAgICBpZiAoIWhhc0tlcm5pbmdPckxpZ2F0dXJlcykKICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZ2x5cGgsICZmb250LCBnbHlwaFdp
ZHRoKTsKKyAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCwg
aSk7CiAgICAgfQogICAgIGlmIChoYXNLZXJuaW5nT3JMaWdhdHVyZXMpIHsKLSAgICAgICAgZm9u
dC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWly
ZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgICAg
ICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgMCwgZW5hYmxlS2VybmluZygp
LCByZXF1aXJlc1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwg
dGV4dCwgdGV4dERpcmVjdGlvbik7CiAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIG9ubHkgdG8g
bWF0Y2ggdGhlIHJlc3VsdCBvZiB0aGUgc2xvdyBwYXRoLiBTYW1lIGdseXBoIHdpZHRocyBidXQg
ZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IGFyaXRobWVudGljcyBjYW4KICAgICAgICAgLy8gcHJv
ZHVjZSBkaWZmZXJlbnQgcnVuIHdpZHRoLgogICAgICAgICBmbG9hdCBydW5XaWR0aERpZmZlcmVu
Y2VXaXRoVHJhbnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTUsNiArMTM5NSw4IEBA
IEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4m
IHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5
cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVyLnNldElu
aXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAgLy8gVGhl
IGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAvLyBidXQg
d2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgogICAgIGlmIChy
dW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZmZXIuc2l6
ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmgKaW5kZXggNThhNTY3ZDg2NjQ0YjQ4MzhkNmY4NzFkYzZmY2ZlYjU2MDhjMjBlOS4uZWIwYzhi
ODQ5MDEzMWU2MzJhZjY1Yzc0MDYyNjRiMGY1ZWQ3NDhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVi
bGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiwgdW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9hdCogb3V0V2lk
dGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgZmxvYXQg
d2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0aEZvclNpbXBs
ZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZvclNpbXBsZVRl
eHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSIC8q
IG1hdGNoZXMgZGVmYXVsdCBhcmd1bWVudCBvZiBUZXh0UnVuIGNvbnN0cnVjdG9yICovKSBjb25z
dDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5b3V0RGVsZXRlcj4g
Y3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNvbGxhcHNlV2hpdGVT
cGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlvdXQmLCB1bnNpZ25l
ZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRz
ID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
UnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKaW5kZXgg
ZWNiYzVlZWE5YjlkMWUzZTNjNDUxM2FmNTgwNjdlNTdlODJhNWRhNy4uNzM2ZjI4N2ZjZTZhNDI3
MmFlMmE3MjU3YzM4ZGRjZmZiNjkzZjIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRSdW4uaApAQCAtNDMsNiArNDMsNyBAQCBzdHJ1Y3QgR2x5cGhEYXRhOwogY2xh
c3MgVGV4dFJ1biB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
Ly8gTFRSIGRlZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1w
bGVUZXh0KCkncyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihjb25zdCBT
dHJpbmcmIHRleHQsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNp
b25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJl
Y3Rpb24gZGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3Zl
cnJpZGUgPSBmYWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAg
ICAgICA6IG1fdGV4dCh0ZXh0KQogICAgICAgICAsIG1fdGFiU2l6ZSgwKQpAQCAtNTksNiArNjAs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCghbV90ZXh0LmlzTnVsbCgpKTsKICAgICB9CiAK
KyAgICAvLyBMVFIgZGVmYXVsdCBhcmd1bWVudCBtYXRjaGVzIEZvbnRDYXNjYWRlOjp3aWR0aEZv
clNpbXBsZVRleHQoKSdzIGRlZmF1bHQgYXJndW1lbnQKICAgICBleHBsaWNpdCBUZXh0UnVuKFN0
cmluZ1ZpZXcgc3RyaW5nVmlldywgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAs
IEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yID0gRGVmYXVsdEV4cGFuc2lvbiwg
VGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIsIGJvb2wgZGlyZWN0
aW9uYWxPdmVycmlkZSA9IGZhbHNlLCBib29sIGNoYXJhY3RlclNjYW5Gb3JDb2RlUGF0aCA9IHRy
dWUpCiAgICAgICAgIDogVGV4dFJ1bihzdHJpbmdWaWV3LnRvU3RyaW5nV2l0aG91dENvcHlpbmco
KSwgeHBvcywgZXhwYW5zaW9uLCBleHBhbnNpb25CZWhhdmlvciwgZGlyZWN0aW9uLCBkaXJlY3Rp
b25hbE92ZXJyaWRlLCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGgpCiAgICAgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCA2
MTYzYmNlMjdhMjRmYjczZjdmNDcwZjA5OTJhYjFjNzJhMDVlZjllLi5kY2Q0MWZmZmVhNWM3NmI1
Nzc5MWI5ZjY1ZDdhZWY2OWY3YzY2MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcApAQCAtNzYsMjcgKzc2LDI1IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc1NvZnRCYW5rRW1vamkoVUNoYXIzMiBjb2RlcG9pbnQpCiAgICAgcmV0
dXJuIGNvZGVwb2ludCA+PSAweEUwMDEgJiYgY29kZXBvaW50IDw9IDB4RTUzNzsKIH0KIAotaW5s
aW5lIGF1dG8gV2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBH
bHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMy
IHByZXZpb3VzQ2hhcmFjdGVyKSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQoraW5saW5lIGF1dG8g
V2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZl
ciogZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCiB7Ci0gICAgaWYgKGdseXBo
QnVmZmVyICYmIGdseXBoQnVmZmVyLT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYg
aXNTb2Z0QmFua0Vtb2ppKHByZXZpb3VzQ2hhcmFjdGVyKSkKKyAgICBpZiAoZ2x5cGhCdWZmZXIg
JiYgZ2x5cGhCdWZmZXItPnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50
Q2hhcmFjdGVySW5kZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hh
cmFjdGVySW5kZXggLSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2Vk
OwogICAgIGlmIChtX3J1bi5sZW5ndGgoKSA8PSAxIHx8ICEobV9lbmFibGVLZXJuaW5nIHx8IG1f
cmVxdWlyZXNTaGFwaW5nKSkKICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb25lOwog
ICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Tm90Rm9yY2VkOwogfQogCi1pbmxpbmUgZmxvYXQg
V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZm
ZXIsIGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQqIGZvbnQs
IFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZSYgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQoraW5saW5lIGZsb2F0IFdpZHRoSXRl
cmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29s
IGx0ciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCwgY29uc3QgRm9udCogZm9udCwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChwcmV2
aW91c0NoYXJhY3Rlciwgc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zv
cm1zVHlwZTo6Tm9uZSk7CisgICAgQVNTRVJUX1VOVVNFRChjdXJyZW50Q2hhcmFjdGVySW5kZXgs
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBj
dXJyZW50Q2hhcmFjdGVySW5kZXgpICE9IFdpZHRoSXRlcmF0b3I6OlRyYW5zZm9ybXNUeXBlOjpO
b25lKTsKIAogICAgIGlmICghZ2x5cGhCdWZmZXIpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAg
YXV0byBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOwotICAgIGlmICghZm9y
Y2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsgMSkgewotICAgICAgICBs
YXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKKyAgICBpZiAoIWZvcmNlICYmIGdseXBo
QnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpCiAgICAgICAgIHJldHVybiAwOwotICAg
IH0KIAogICAgIEdseXBoQnVmZmVyQWR2YW5jZSogYWR2YW5jZXMgPSBnbHlwaEJ1ZmZlci0+YWR2
YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTA0LDE1ICsxMDIsMzIg
QEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhC
dWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGggKz0gYWR2YW5j
ZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBnbHlwaEJ1ZmZl
clNpemUpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5cGhzKCkgb3BlcmF0ZXMgaW4gdmlz
dWFsIG9yZGVyLCBidXQgV2lkdGhJdGVyYXRvciBpdGVyYXRlcyBpbiBsb2dpY2FsIG9yZGVyLgor
ICAgIC8vIFRlbXBvcmFyaWx5IHB1dCB1cyBpbiB2aXN1YWwgb3JkZXIganVzdCBmb3IgdGhlIGNh
bGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBsb2dpY2FsIG9yZGVyIHdoZW4KKyAgICAvLyB0aGUg
Y2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRvbid0IGhhdmUgYSBnbG9iYWwgdmlldyBvZiB0aGUg
ZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBqdXN0IG9wZXJhdGluZyBvbiBhIHNpbmdsZSBjaHVu
ayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJhdG9yIGVuY291bnRlcnMgdGhlIGNodW5rcyBvdXQg
aW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYWludGFpbiB0aGF0IGludmFyaWFudC4K
KyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dCgpIHdpbGwg
cmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRvIHB1dCB0aGUgZW50aXJlIHRoaW5nCisgICAgLy8g
aW4gdmlzdWFsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVjYXVzZSBpdCBoYXMgYSB2aWV3IG9m
IHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24gdGhlIG90aGVyIGhhbmQsIENURm9u
dFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGluIGxvZ2ljYWwgb3JkZXIgYnV0IHJl
dHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwgd2hpY2ggbWVhbnMgdGhlIHNlY29u
ZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBuZWVkcyB0byBleGVjdXRlIHdoZW4K
KyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5nIHVzZWQuCisjaWYgIVVTRShDVEZP
TlRTSEFQRUdMWVBIUykKICAgICBpZiAoIWx0cikKICAgICAgICAgZ2x5cGhCdWZmZXItPnJldmVy
c2UobGFzdEdseXBoQ291bnQsIGdseXBoQnVmZmVyU2l6ZSAtIGxhc3RHbHlwaENvdW50KTsKKyNl
bmRpZgogCi0gICAgZm9udC0+YXBwbHlUcmFuc2Zvcm1zKCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBo
Q291bnQsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC0+Zm9udERl
c2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSk7CisgICAgZm9udC0+YXBwbHlUcmFuc2Zvcm1z
KCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBt
X2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQtPmZvbnREZXNjcmlwdGlv
bigpLmNvbXB1dGVkTG9jYWxlKCksIG1fcnVuLnRleHQoKSwgbV9ydW4uZGlyZWN0aW9uKCkpOwog
ICAgIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5zaXplKCk7CiAKLSAgICBmb3IgKHVu
c2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQorICAg
IEdseXBoQnVmZmVyT3JpZ2luKiBvcmlnaW5zID0gZ2x5cGhCdWZmZXItPm9yaWdpbnMoMCk7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7
ICsraSkgewogICAgICAgICBhZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdo
dCgpKTsKKyAgICAgICAgb3JpZ2luc1tpXS5zZXRZKC1vcmlnaW5zW2ldLnkoKSk7CisgICAgfQog
CisgICAgLy8gU2VlIHRoZSBjb21tZW50IGFib3ZlIGluIHRoaXMgZnVuY3Rpb24gd2hlcmUgdGhl
IG90aGVyIGNhbGwgdG8gcmV2ZXJzZSgpIGlzLgogICAgIGlmICghbHRyKQogICAgICAgICBnbHlw
aEJ1ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXplIC0gbGFzdEds
eXBoQ291bnQpOwogCkBAIC0xMzUsNyArMTUwLDYgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0
b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6
ZTsgKytpKQogICAgICAgICBhZnRlcldpZHRoICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7CiAKLSAg
ICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyU2l6ZTsKICAgICByZXR1cm4gYWZ0ZXJXaWR0
aCAtIGJlZm9yZVdpZHRoOwogfQogCkBAIC0xNzEsNyArMTg1LDcgQEAgc3RhdGljIGlubGluZSBz
dGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJv
b2wgdHJlYXQKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJl
IG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCisg
ICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250Q2FzY2FkZTo6d2lk
dGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wg
aGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29y
ZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwog
CkBAIC0xOTEsMTMgKzIwNSwxNCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIGNvbnN0
IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsKICAgICB1bnNpZ25lZCBsYXN0R2x5
cGhDb3VudCA9IGdseXBoQnVmZmVyID8gZ2x5cGhCdWZmZXItPnNpemUoKSA6IDA7CiAKKyAgICBh
dXRvIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsK
ICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7Ci0gICAgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3Rl
ciA9IDA7CiAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9IDA7CiAgICAgQ2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZTsKICAgICBTdHJpbmcgbm9ybWFs
aXplZFNwYWNlc1N0cmluZ0NhY2hlOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5n
IG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRy
b2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9y
LmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICBjdXJyZW50Q2hh
cmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIHVuc2ln
bmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwogICAgICAgICBib29sIGNoYXJhY3Rl
ck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9yYWJsZUNvZGVQb2ludChjaGFyYWN0
ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKQEAgLTIwOCw3ICsyMjMsNiBAQCBpbmxpbmUgdm9pZCBX
aWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3Is
IEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICNlbmRpZgotICAg
ICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRl
eCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0YSA9IG1fZm9udC0+Z2x5cGhE
YXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAgICAgICAgR2x5cGggZ2x5cGggPSBn
bHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGggJiYgIWNoYXJhY3Rlck11c3REcmF3
U29tZXRoaW5nKSB7CkBAIC0yMjksMTMgKzI0MywxMyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7
Ci0gICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNm
b3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKLSAg
ICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewot
ICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGds
eXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGxhc3RGb250RGF0YSwgcHJl
dmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQs
IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQotICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+c2hyaW5rKGxhc3RHbHlwaENv
dW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhKSB7
CisgICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNm
b3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7
CisgICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
CisgICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMo
Z2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4LCBsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpG
b3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAgICAgICAgICBpZiAoZ2x5cGhC
dWZmZXIpCisgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci0+c2l6
ZSgpOworICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFj
dGVySW5kZXg7CiAKICAgICAgICAgICAgIGxhc3RGb250RGF0YSA9IGZvbnQ7CiAgICAgICAgICAg
ICBpZiAobV9mYWxsYmFja0ZvbnRzICYmIGZvbnQgIT0gJnByaW1hcnlGb250KSB7CkBAIC0yOTAs
NiArMzA0LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGZvbnQtPnplcm9XaWR0aFNwYWNl
R2x5cGgoKSwgZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJhY3Rl
ckluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGZvbnQt
PnNwYWNlR2x5cGgoKSwgZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RH
bHlwaENvdW50ID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3Rlcklu
ZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0QWR2YW5jZSht
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CkBAIC0zMTYsNyArMzMyLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUlu
dGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAg
ICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1
dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVy
LCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOworICAgICAgICBhdXRvIHRyYW5z
Zm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEds
eXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1z
VHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBnbHlwaEJ1ZmZlciAmJiBGb250Q2FzY2Fk
ZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVh
dGVkQXNTcGFjZS5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZ2x5cGhCdWZmZXItPnNpemUoKSwKICAg
ICAgICAgICAgICAgICBPcmlnaW5hbEFkdmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2Uo
Y2hhcmFjdGVyID09ICcgJywgZ2x5cGhCdWZmZXItPnNpemUoKSA/IGdseXBoQnVmZmVyLT5hZHZh
bmNlQXQoZ2x5cGhCdWZmZXItPnNpemUoKSAtIDEpLndpZHRoKCkgOiAwLCB3aWR0aCkpKTsKQEAg
LTM0OCw5ICszNjQsMTMgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVy
bmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIG1f
bWluR2x5cGhCb3VuZGluZ0JveFkgPSBzdGQ6Om1pbihtX21pbkdseXBoQm91bmRpbmdCb3hZLCBi
b3VuZHMueSgpKTsKICAgICAgICAgICAgIG1fbGFzdEdseXBoT3ZlcmZsb3cgPSBzdGQ6Om1heDxm
bG9hdD4oMCwgYm91bmRzLm1heFgoKSAtIHdpZHRoKTsKICAgICAgICAgfQotICAgICAgICBwcmV2
aW91c0NoYXJhY3RlciA9IGNoYXJhY3RlcjsKICAgICB9CiAKKyAgICBhdXRvIHRyYW5zZm9ybXNU
eXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291
bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRy
YW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250
VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNm
b3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICBtX2N1cnJl
bnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKwogICAgIGlm
IChnbHlwaEJ1ZmZlciAmJiBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBp
ZiAobV9mb3JUZXh0RW1waGFzaXMpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RG
b250RGF0YS0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVz
dGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwpAQCAtMzU4LDE0ICszNzgsNiBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChs
YXN0Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmlj
YXRpb25XaWR0aCwgbV9ydW4ubGVuZ3RoKCkgLSAxKTsKICAgICB9CiAKLSAgICBhdXRvIHRyYW5z
Zm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEds
eXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0g
VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKLSAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5
Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwg
bGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNm
b3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgaWYg
KGdseXBoQnVmZmVyKQotICAgICAgICAgICAgZ2x5cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhD
b3VudCk7Ci0gICAgfQotCi0gICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0
b3IuY3VycmVudEluZGV4KCk7CiAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2luY2VMYXN0
Um91bmRpbmc7CiAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdXaWR0aDsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
aAppbmRleCA4ZGIzOGJiMjEwYjMxOGE5MjNjMWU5ODJjNTQ2OWUyNThlY2IzYjMyLi43NmMzZmY3
NmM5Y2NhM2FhNjgyMWFhODk3MTM0NTU0OGVlNmZkNzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCkBAIC02MSw4ICs2MSw4IEBAIHBy
aXZhdGU6CiAgICAgaW5saW5lIHZvaWQgYWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYsIEds
eXBoQnVmZmVyKik7CiAKICAgICBlbnVtIGNsYXNzIFRyYW5zZm9ybXNUeXBlIHsgTm9uZSwgRm9y
Y2VkLCBOb3RGb3JjZWQgfTsKLSAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFy
MzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0OwotICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9y
bXMoR2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25z
dCBGb250KiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlJik7CisgICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJh
bnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNp
Z25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpIGNvbnN0OworICAgIGZsb2F0IGFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXIqLCBib29sIGx0ciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQs
IHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCosIGJvb2wgZm9yY2Us
IENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogCiAgICAgY29uc3QgRm9udENhc2NhZGUqIG1f
Zm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCA4YjhjOWQ2N2Q3ZGY1
Mjc3OTU0YzNkMzdmMTU1MTRhMWU4OGU3YjIzLi40ZmFlZThiOGM1ODNkMWMyNTU0ZTY4MjJkZTZm
NGVlNzBjZmM1OWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NDQsMjYgKzU0NCw1OSBAQCBSZWZQdHI8Rm9udD4g
Rm9udDo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZs
b2F0IHNjYWxlRgogICAgIHJldHVybiBjcmVhdGVEZXJpdmF0aXZlRm9udChzY2FsZWRGb250Lmdl
dCgpLCBzaXplLCBtX3BsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpLCBmb250VHJhaXRzLCBtX3Bs
YXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlx
dWUoKSk7CiB9CiAKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9v
bCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3QKK3ZvaWQg
Rm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQg
YmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wg
ZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxv
Y2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24pIGNvbnN0
CiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2Uu
Ci0gICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBr
Q1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVzU2hhcGluZyA/
IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVNoYXBpbmcgOiAwKTsKLSNpZiBVU0UoQ1RGT05UVFJBTlNG
T1JNR0xZUEhTV0lUSExBTkdVQUdFKQotICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5n
ZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRl
cikgeworI2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKKyAgICBVTlVTRURfUEFSQU0ocmVxdWly
ZXNTaGFwaW5nKTsKKyAgICBhdXRvIGhhbmRsZXIgPSBeKENGUmFuZ2UgcmFuZ2UsIENHR2x5cGgq
KiBuZXdHbHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZhbmNlc1BvaW50ZXIsIENHUG9pbnQq
KiBuZXdPZmZzZXRzUG9pbnRlciwgQ0ZJbmRleCoqIG5ld0luZGljZXNQb2ludGVyKSB7CiAgICAg
ICAgIHJhbmdlLmxvY2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgocmFuZ2UubG9jYXRpb24sIHN0
YXRpY19jYXN0PENGSW5kZXg+KDApKSwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oZ2x5cGhCdWZmZXIu
c2l6ZSgpKSk7CiAgICAgICAgIGlmIChyYW5nZS5sZW5ndGggPCAwKSB7CiAgICAgICAgICAgICBy
YW5nZS5sZW5ndGggPSBzdGQ6Om1pbihyYW5nZS5sb2NhdGlvbiwgLXJhbmdlLmxlbmd0aCk7CiAg
ICAgICAgICAgICByYW5nZS5sb2NhdGlvbiA9IHJhbmdlLmxvY2F0aW9uIC0gcmFuZ2UubGVuZ3Ro
OwotICAgICAgICAgICAgZ2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0luZGV4ICsgcmFuZ2Uu
bG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUo
YmVnaW5uaW5nR2x5cGhJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOwogICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0lu
ZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7Ci0gICAgICAgICpuZXdH
bHlwaHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KTsKLSAgICAg
ICAgKm5ld0FkdmFuY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0lu
ZGV4KTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLm1ha2VIb2xlKGJlZ2lubmluZ0dseXBoSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKKworICAgICAgICAqbmV3
R2x5cGhzUG9pbnRlciA9IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
KyAgICAgICAgKm5ld0FkdmFuY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lu
bmluZ0dseXBoSW5kZXgpOworICAgICAgICAqbmV3T2Zmc2V0c1BvaW50ZXIgPSBnbHlwaEJ1ZmZl
ci5vcmlnaW5zKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAgICAgICAqbmV3SW5kaWNlc1BvaW50
ZXIgPSBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCk7CiAg
ICAgfTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UobV9wbGF0Zm9ybURh
dGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCksIHJlaW50ZXJw
cmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpKSwg
Z2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9wdGlvbnMsIExvY2FsZUNvY29h
OjpjYW5vbmljYWxMYW5ndWFnZUlkZW50aWZpZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCku
Y3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgaGFuZGxlcik7CisKKyAgICBhdXRvIHN1YnN0cmluZyA9
IHRleHQuc3Vic3RyaW5nKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKKyAgICBhdXRvIHVwY29udmVy
dGVkQ2hhcmFjdGVycyA9IHN1YnN0cmluZy51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKKyAgICBh
dXRvIGxvY2FsZVN0cmluZyA9IExvY2FsZUNvY29hOjpjYW5vbmljYWxMYW5ndWFnZUlkZW50aWZp
ZXJGcm9tU3RyaW5nKGxvY2FsZSkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBDVEZv
bnRTaGFwZU9wdGlvbnMgb3B0aW9ucyA9IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRp
b24KKyAgICAgICAgfCAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRTaGFwZVdpdGhLZXJuaW5nIDog
MCkKKyAgICAgICAgfCAodGV4dERpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpSVEwgPyBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA6IDApOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXg7ICsraSkKKyAgICAgICAg
Z2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpW2JlZ2lubmlu
Z0dseXBoSW5kZXggKyBpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsKKworICAgIENURm9udFNo
YXBlR2x5cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwKKyAgICAgICAgZ2x5
cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAorICAgICAgICByZWludGVycHJl
dF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgp
KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4oZ2x5cGhCdWZmZXIub3JpZ2lu
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0
cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBVbmlDaGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgpKSwKKyAgICAgICAgZ2x5cGhC
dWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwKKyAgICAgICAgb3B0aW9ucywKKyAg
ICAgICAgbG9jYWxlU3RyaW5nLmdldCgpLAorICAgICAgICBoYW5kbGVyKTsKKworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaElu
ZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdH
bHlwaEluZGV4KVtiZWdpbm5pbmdHbHlwaEluZGV4ICsgaV0gKz0gYmVnaW5uaW5nU3RyaW5nSW5k
ZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5nU3RyaW5nSW5kZXgpOwog
ICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5zZm9ybUdseXBocyhtX3Bs
YXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwg
cmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJ
bmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucyk7Cisg
ICAgVU5VU0VEX1BBUkFNKHRleHQpOworICAgIFVOVVNFRF9QQVJBTSh0ZXh0RGlyZWN0aW9uKTsK
KyAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/IGtD
VEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCAocmVxdWlyZXNTaGFwaW5nID8g
a0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZyA6IDApOworICAgIENURm9udFRyYW5zZm9ybUds
eXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmlu
Z0dseXBoSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFu
Y2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5n
R2x5cGhJbmRleCwgb3B0aW9ucyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRl
eHQuY3BwCmluZGV4IDMyNTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEwY2FiZDI0MTdkYTQuLmZm
NmZjOGQ4MzI5ZDQ0ZmZhOTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJl
Zj4gRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8K
ICAgICB2YWx1ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291
bnQgPSAxOwogCi0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNp
ZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2Nh
bGVTdHJpbmc7CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0
cmluZyA9IGxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM3NmU0MjQ2
ODVjZjgwNzY4NTNmYTNmMGUyZWZjMDA5NjkwNmU1ZmQuLjI3ZGVkMTQzNjg0MWFiY2JkNzdkYTY3
OTRlOTI1OTk5NGI4YjA3NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wOC0wNCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0g
TWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENURm9u
dFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0OiBTb2Z0IGh5cGhl
bnMgYXJlIGtlcm5lZCBub3chIFRoaXMgaXMgYSBwcm9ncmVzc2lvbi4KKyAgICAgICAgKiBmYXN0
L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIGZhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbDogRGl0dG8u
CisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRt
bDogRGl0dG8uCisKIDIwMjAtMDgtMDQgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIERpc2FibGUgaXNvbGF0ZWQtdHJlZS1tb2RlLW9uLW9mZi5odG1s
IGJlY2F1c2UgaXQgaXMgY2F1c2luZyBvdGhlciB0ZXN0IGZhaWx1cmVzLi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dAppbmRleCBkYzNmYjJm
ZDIwMWM3ZmJmNzA1MDA4YzU4YjUxNzYyNzNlZWJmZGJjLi4wZjMzYTkwMGJjZDcxMjE1YThiMDEw
ZWQ5MWE0MmI0ZWJkMDNmZGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTItZXhwZWN0ZWQudHh0CkBAIC0zLDE0ICszLDE0IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAw
eDQwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9
IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAxMDA6ICJ0aW9uLiIKLSAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQwKSBzaXplIDEwMHg0MCBbY29sb3I9IzAwODAwMF0g
W2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTAweDQwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiaGVuYVx4
e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwyMCkgd2lkdGggMTAwOiAidGlvbi4iCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4
MCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg0NyBbY29sb3I9IzAwODAwMF0gW2Jn
Y29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUg
MTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTAwOiAiaGVuXHh7QUR9
YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwyNykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCw0Nykgc2l6ZSAxMDB4NDcgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEwMHg0MgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEwMDogImhlbmFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAi
XHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjcpIHdpZHRoIDEwMDogInRpb24u
IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsOTQpIHNpemUgMTAweDIwIFtjb2xvcj0j
MDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MjAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6
ICI1eDVzcSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVj
dGVkLnR4dAppbmRleCA1ZGNhODU4YzZiMmEyMjliNjNhYWIxYTY2ZTU0NWEwNDRkMWIxNTcwLi5k
MGYwOTlkODAyZWZlMTE1NWQyZDAwZDg3ZGE5MGZiOGYwYzM0ZjFlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0zLDExICszLDEx
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgMjI1eDUwIFtjb2xvcj0jRkZGRkZGXQotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAyMjV4NTggW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCw2KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdp
ZHRoIDEwMDogIkRpZCBceHtBRH0iCiAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEwMCwwKSBzaXplIDc1eDI1Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDAp
IHdpZHRoIDc1OiAibm90IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjUpIHNp
emUgMTAweDI1Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEwMDogImZhaWwi
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsNikgc2l6ZSA3NXgyNQorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCw2KSB3aWR0aCA3NTogIm5vdCIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMzKSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDMzKSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmluZGV4IDIxYjJhNGJkOTE4M2M4ZDQ1OGY4MThk
YWFiNzU1MDczN2NkYjFjMTUuLjZjYzhiOTc0YWQ0MmU4ZDNjYzgyZjZhYThkMDhmM2UyZDg2YTY4
NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3Rl
ZC50eHQKQEAgLTQsMTQgKzQsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgwCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDM0NHgx
MDQgW2JvcmRlcjogKDNweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg3LDcpIHNpemUgMzMweDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNykgd2lk
dGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEw
fSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywyNSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCi0g
ICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1MSwzOSkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoNyw0Mykgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNyw2MSkgc2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw2MSkgd2lkdGgg
MzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3OSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCisgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDM0NHgxMTggW2JvcmRlcjogKDNweCBz
b2xpZCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDEyKSBzaXpl
IDMzMHgzOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDEyKSB3aWR0aCAzMzA6ICIxMjM0NTY3
ODkwMSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3LDMyKSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKKyAgICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMTUxLDQ2KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg3LDUw
KSBzaXplIDB4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDczKSBzaXplIDMz
MHgzOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDczKSB3aWR0aCAzMzA6ICIxMjM0NTY3ODkw
MSBhbnRpXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQg
cnVuIGF0ICg3LDkzKSB3aWR0aCAxNDQ6ICJhbGlhc2luZyIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTIw
KSBzaXplIDc4NHgwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTM0KSBzaXplIDc4NHgw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZl
cnJlZC13aWR0aC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAppbmRleCA5ODQ3MTI2N2VlN2Ez
Y2UxNjliODBhNjYyYTZkZWUzYWIyNmZlMjg0Li45ZmI3ZWJhMGZkNzZjMmMwYWFkYzMxZjIwNDJl
MDI3NDI4MDNmNjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBo
ZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKQEAg
LTExLDcgKzExLDcgQEAKIDx0YWJsZSBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+CiAgICAg
PHRyPgogICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hcjxzcGFuPi08
L3NwYW4+PGJyPmlseTwvZGl2PgorICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYS08YnI+cmls
eTwvZGl2PgogICAgICAgICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48
L3RkPgogICAgIDwvdHI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1o
eXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbAppbmRleCBkZThiMWNhYTVjMmFjYjUy
MDYwZGQwNzg3YTk2MjJhZjliZjIyZDZkLi5hNjUwMzg1YmNhOWMwNTYzNzc3N2YyMmE5ODg1YWQ3
NDBjNTdlMjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0
LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDx0YWJs
ZSBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+CiAgICAgPHRyPgogICAgICAgICA8dGQ+Ci0g
ICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1hbnVhbDsiPmV4dHJhb3Jk
aW5hciZzaHk7aWx5PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhl
bnM6IG1hbnVhbDsiPmV4dHJhb3JkaW5hJnNoeTtyaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAg
ICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406101</attachid>
            <date>2020-08-06 12:33:32 -0700</date>
            <delta_ts>2020-08-06 17:03:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200806123331.patch</filename>
            <type>text/plain</type>
            <size>47075</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4MmViMWJhMmM5MjQxN2U2Yzk2YmQ4
MDg2MWE3OWZlMjRmYjBiOTUuLjViNzQ2OTE0OTE3NGE1MGRmMWFkMjNhYjRiNWI1ODRlOGI3ZTRk
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENU
Rk9OVFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9u
LgorCiAyMDIwLTA4LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSBhbGwgcmVmZXJlbmNlcyB0byBub24tZXhpc3RlbnQgMTAuMTYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwNWMyNTc4ZTJiNzFlMTE3ODkyYjE3M2Y2OWZiMjgwOGJkZGFhZmMwLi4yZmRm
MDhlMWEzNDZmNjczOTI4NDkxODIxNDBiZjM2ZjljODFlZDMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDAgQEAKKzIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlw
aHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZv
ciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5CisgICAgICAg
IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjA4LgorCisg
ICAgICAgIFRoZSBzb2x1dGlvbiBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDc2OSByZXF1aXJlcyBhcHBseWluZworICAgICAgICBsZXR0ZXItc3BhY2luZyBh
ZnRlciB0ZXh0IHNoYXBpbmcuIFRvZGF5LCB3ZSBhcHBseSBsZXR0ZXItc3BhY2luZyBiZWZvcmUg
dGV4dCBzaGFwaW5nCisgICAgICAgIHdoaWNoIGlzIHdyb25nLiBIb3dldmVyLCBpZiB3ZSB3YW50
IHRvIGFwcGx5IGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZywgd2UgbmVlZAorICAg
ICAgICB0byB1c2UgQ1RGb250U2hhcGVHbHlwaHMoKSwgd2hpY2ggcmV0dXJucyB0aGUgZ2x5cGgg
LT4gc3RyaW5nIG1hcHBpbmcsIHdoaWNoIGFsbG93cyB1cworICAgICAgICB0byBkZXRlcm1pbmUg
d2hpY2ggZ2x5cGhzIHRvIGFkZCBsZXR0ZXItc3BhY2luZyB0by4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlIChleGNlcHQgZm9yIHNv
ZnQgaHlwaGVuIGtlcm5pbmcsIHdoaWNoCisgICAgICAgIGlzIGNvdmVyZWQgYnkgZXhpc3Rpbmcg
dGVzdHMpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRl
cmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3Jtcyk6CisgICAgICAgIChXZWJDb3Jl
OjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNv
cmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRl
cyBjb25zdCk6CisKIDIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgTGVhZGluZ0V4cGFuc2lvbiBhbmQgVHJhaWxpbmdF
eHBhbnNpb24gdG8gTGVmdEV4cGFuc2lvbiBhbmQgUmlnaHRFeHBhbnNpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCmluZGV4IDY2MGI5MjA3YjA5MWZjODZlNzdkZTI3MDE5ZDAyNjE3MWZhMGFkMGMuLjliNTgy
NjY1ZWNjZTY3YTNhOTZkOTExNzkwMjMzNDBiNGRmOWI5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNm
b3JtR2x5cGhzV2l0aExhbmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0Nv
cmVUZXh0U1BJLmg6CisKIDIwMjAtMDgtMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFsbCByZWZlcmVuY2VzIHRvIG5vbi1leGlzdGVu
dCAxMC4xNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggZWFhODI4NWRmMTE4MGMyMTlhM2RlYmFkMTc2
MTI5ZjQ3MjdkYWJmMi4uYWRlNDJkZDEzOWYzYTlmNGFhZjQ3MzgyZTViMGQ2NGNiZjY4MWEwNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0zMDIsNSArMzAyLDUgQEAKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTEwMDAwKQotI2RlZmluZSBVU0VfQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lU
SExBTkdVQUdFIDEKKyNkZWZpbmUgVVNFX0NURk9OVFNIQVBFR0xZUEhTIDEKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKaW5kZXggN2Qy
MTRlZGE5ZjUxNzQ1ZjBlZDNiOTRlYmFjY2Q4ZTEyMmViMjg1ZC4uMzQyZDU5MWUwNWFiZDBhNDIw
MWRjMDM2MjY3ZDAzNWE2MWE0NWI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC00Niw2ICs0NiwxMiBAQCB0eXBlZGVmIENGX09QVElP
TlModWludDMyX3QsIENURm9udFRyYW5zZm9ybU9wdGlvbnMpIHsKICAgICBrQ1RGb250VHJhbnNm
b3JtQXBwbHlQb3NpdGlvbmluZyA9ICgxIDw8IDEpCiB9OwogCit0eXBlZGVmIENGX09QVElPTlMo
Q0ZPcHRpb25GbGFncywgQ1RGb250U2hhcGVPcHRpb25zKSB7CisgICAga0NURm9udFNoYXBlV2l0
aEtlcm5pbmcgPSAoMSA8PCAwKSwKKyAgICBrQ1RGb250U2hhcGVXaXRoQ2x1c3RlckNvbXBvc2l0
aW9uID0gKDEgPDwgMSksCisgICAga0NURm9udFNoYXBlUmlnaHRUb0xlZnQgPSAoMSA8PCAyKSwK
K307CisKIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250RGVzY3JpcHRvck9wdGlv
bnMpIHsKICAgICBrQ1RGb250RGVzY3JpcHRvck9wdGlvblN5c3RlbVVJRm9udCA9IDEgPDwgMSwK
ICAgICBrQ1RGb250RGVzY3JpcHRvck9wdGlvblByZWZlckFwcGxlU3lzdGVtRm9udCA9IGtDVEZv
bnRPcHRpb25zUHJlZmVyU3lzdGVtRm9udApAQCAtOTIsNyArOTgsNyBAQCBleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NURm9udENTU0ZhbWlseU1vbm9zcGFjZTsKIGV4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RGb250Q1NTRmFtaWx5U3lzdGVtVUk7CiAKIGJvb2wgQ1RGb250VHJhbnNmb3Jt
R2x5cGhzKENURm9udFJlZiwgQ0dHbHlwaCBnbHlwaHNbXSwgQ0dTaXplIGFkdmFuY2VzW10sIENG
SW5kZXggY291bnQsIENURm9udFRyYW5zZm9ybU9wdGlvbnMpOwotQ0dTaXplIENURm9udFRyYW5z
Zm9ybUdseXBoc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYsIENHR2x5cGhbXSwgQ0dTaXplW10sIENG
SW5kZXggY291bnQsIENURm9udFRyYW5zZm9ybU9wdGlvbnMsIENGU3RyaW5nUmVmIGxhbmd1YWdl
LCB2b2lkICheaGFuZGxlcikoQ0ZSYW5nZSwgQ0dHbHlwaCoqLCBDR1NpemUqKikpOworQ0dTaXpl
IENURm9udFNoYXBlR2x5cGhzKENURm9udFJlZiwgQ0dHbHlwaCBnbHlwaHNbXSwgQ0dTaXplIGFk
dmFuY2VzW10sIENHUG9pbnQgb3JpZ2luc1tdLCBDRkluZGV4IGluZGV4ZXNbXSwgY29uc3QgVW5p
Q2hhciBjaGFyc1tdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRTaGFwZU9wdGlvbnMsIENGU3RyaW5n
UmVmIGxhbmd1YWdlLCB2b2lkICheaGFuZGxlcikoQ0ZSYW5nZSwgQ0dHbHlwaCoqLCBDR1NpemUq
KiwgQ0dQb2ludCoqLCBDRkluZGV4KiopKTsKIAogQ0dTaXplIENUUnVuR2V0SW5pdGlhbEFkdmFu
Y2UoQ1RSdW5SZWYpOwogQ1RMaW5lUmVmIENUTGluZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIo
Q1RVbmlDaGFyUHJvdmlkZXJDYWxsYmFjaywgQ1RVbmlDaGFyRGlzcG9zZUNhbGxiYWNrLCB2b2lk
KiByZWZDb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRl
eCA5YWU2OTA2OGYzZWJmZmZhOWM4ZTQwNThkNTFhODM0ZDhkYTA3ZjAyLi42ZWY5Nzg5MjdjMzAy
NDkxMjdkZjVjYmQ0ZTlhNTVhODc4ZDQ0OWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDUsIDIwMDgsIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA1LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YKICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKQEAgLTUxMiw3ICs1MTIsNyBAQCBSZWZQdHI8Rm9udD4gRm9udDo6Y3JlYXRlU2NhbGVkRm9u
dChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYQogfQogCiAjaWYg
IVBMQVRGT1JNKENPQ09BKQotdm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXIm
LCB1bnNpZ25lZCwgYm9vbCwgYm9vbCwgY29uc3QgQXRvbVN0cmluZyYpIGNvbnN0Cit2b2lkIEZv
bnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCB1bnNpZ25lZCwgYm9v
bCwgYm9vbCwgY29uc3QgQXRvbVN0cmluZyYsIFN0cmluZ1ZpZXcsIFRleHREaXJlY3Rpb24pIGNv
bnN0CiB7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaApp
bmRleCBlYWY5ZGFjNDIwYWFmZTAyYmNhZjcwN2I3ZWRjYjRkZGUzM2Q5NGI3Li44ZWMzMzgwZDdi
N2U0NWMwZDExZTdjOGM0ZWY3MjFmNjllYjI1ZjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIHRoZSBpbnRlcm5hbCBmb250IGltcGxlbWVudGF0aW9uLgogICoKLSAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwOCwgMjAxMCwgMjAxNS0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRvcmNoIE1vYmlsZSwgSW5jLgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTIwNyw3ICsyMDcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGJv
b2wgY2FuUmVuZGVyQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqLCBzaXpl
X3QpIGNvbnN0OwotICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWdu
ZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBp
bmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3Q7CisgICAgdm9pZCBhcHBseVRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlwaEluZGV4LCB1bnNpZ25l
ZCBiZWdpbm5pbmdTdHJpbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVz
U2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlLCBTdHJpbmdWaWV3IHRleHQsIFRleHRE
aXJlY3Rpb24pIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIFNDUklQVF9GT05UUFJP
UEVSVElFUyogc2NyaXB0Rm9udFByb3BlcnRpZXMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAppbmRleCAzZWU2OWI3ZTE5YjFj
YWQzMTVmMjhmYzIzNTQ0MzE0Mzg5ZmE2M2FlLi42YmZkMWUwNjgyM2M2NTlhZjNkM2JmZjMzNzQ3
ZmNiMmNjMGY3NWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FzY2FkZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwCkBAIC00MjUsNyArNDI1LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6Ondp
ZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZhbGxiYWNrRm9u
dHMKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1mbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JT
aW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29uc3QKK2Zsb2F0IEZvbnRDYXNjYWRlOjp3aWR0
aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rp
b24pIGNvbnN0CiB7CiAgICAgaWYgKHRleHQuaXNOdWxsKCkgfHwgdGV4dC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiAwOwpAQCAtNDQ0LDEwICs0NDQsMTAgQEAgZmxvYXQgRm9udENhc2NhZGU6
OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CiAgICAgICAgIHJ1bldp
ZHRoICs9IGdseXBoV2lkdGg7CiAgICAgICAgIGlmICghaGFzS2VybmluZ09yTGlnYXR1cmVzKQog
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgJmZv
bnQsIGdseXBoV2lkdGgpOworICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZ2x5cGgsICZmb250LCBn
bHlwaFdpZHRoLCBpKTsKICAgICB9CiAgICAgaWYgKGhhc0tlcm5pbmdPckxpZ2F0dXJlcykgewot
ICAgICAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgZW5hYmxlS2Vybmlu
ZygpLCByZXF1aXJlc1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUo
KSk7CisgICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCAwLCAwLCBlbmFi
bGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3JpcHRpb24oKS5jb21wdXRl
ZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAgICAgLy8gVGhpcyBpcyBuZWVk
ZWQgb25seSB0byBtYXRjaCB0aGUgcmVzdWx0IG9mIHRoZSBzbG93IHBhdGguIFNhbWUgZ2x5cGgg
d2lkdGhzIGJ1dCBkaWZmZXJlbnQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZW50aWNzIGNhbgogICAg
ICAgICAvLyBwcm9kdWNlIGRpZmZlcmVudCBydW4gd2lkdGguCiAgICAgICAgIGZsb2F0IHJ1bldp
ZHRoRGlmZmVyZW5jZVdpdGhUcmFuc2Zvcm1BcHBsaWVkID0gLXJ1bldpZHRoOwpAQCAtMTM5NSw2
ICsxMzk1LDggQEAgR2x5cGhCdWZmZXIgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoY29u
c3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnMKICAgICAvLyBGSVhNRTogRGVhbCB3
aXRoIHRoZSBHbHlwaEJ1ZmZlcidzIGN1cnJlbnQgaW5pdGlhbEFkdmFuY2UuCiAgICAgZ2x5cGhC
dWZmZXIuc2V0SW5pdGlhbEFkdmFuY2UoRmxvYXRTaXplKGluaXRpYWxBZHZhbmNlLCAwKSk7CiAK
KyAgICAvLyBUaGUgZ2x5cGggYnVmZmVyIGlzIGN1cnJlbnRseSBpbiBsb2dpY2FsIG9yZGVyLAor
ICAgIC8vIGJ1dCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgcmVzdWx0cyBpbiB2aXN1YWwgb3JkZXIu
CiAgICAgaWYgKHJ1bi5ydGwoKSkKICAgICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZSgwLCBnbHlw
aEJ1ZmZlci5zaXplKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuaAppbmRleCA5YWQzYWU0YmVmMTIxZDZkMDE3ZjJiNzI1NDVkYmNkNjFkMjU0
YWJjLi4zMTgwNzJiYzgxYTg3ZTFjNjlhNzdhYjgyNmIxN2JkNGYxZmE2MGZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTExNiw3ICsx
MTYsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCB3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRS
dW4mLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgSGFzaFNldDxjb25zdCBGb250Kj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBmbG9hdCogb3V0V2lkdGhCZWZvcmVSYW5nZSA9IG51bGxwdHIsIGZs
b2F0KiBvdXRXaWR0aEFmdGVyUmFuZ2UgPSBudWxscHRyKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCBmbG9hdCB3aWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAgIGZsb2F0IHdp
ZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0OworICAgIGZsb2F0IHdpZHRo
Rm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gPSBUZXh0RGlyZWN0
aW9uOjpMVFIgLyogbWF0Y2hlcyBkZWZhdWx0IGFyZ3VtZW50IG9mIFRleHRSdW4gY29uc3RydWN0
b3IgKi8pIGNvbnN0OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFRleHRMYXlvdXQsIFRleHRMYXlv
dXREZWxldGVyPiBjcmVhdGVMYXlvdXQoUmVuZGVyVGV4dCYsIGZsb2F0IHhQb3MsIGJvb2wgY29s
bGFwc2VXaGl0ZVNwYWNlKSBjb25zdDsKICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoVGV4dExheW91
dCYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgSGFzaFNldDxjb25zdCBGb250Kj4qIGZh
bGxiYWNrRm9udHMgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAppbmRleCBlY2JjNWVlYTliOWQxZTNlM2M0NTEzYWY1ODA2N2U1N2U4MmE1ZGE3Li43MzZm
Mjg3ZmNlNmE0MjcyYWUyYTcyNTdjMzhkZGNmZmI2OTNmMjNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBHbHlw
aERhdGE7CiBjbGFzcyBUZXh0UnVuIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICAvLyBMVFIgZGVmYXVsdCBhcmd1bWVudCBtYXRjaGVzIEZvbnRDYXNjYWRlOjp3
aWR0aEZvclNpbXBsZVRleHQoKSdzIGRlZmF1bHQgYXJndW1lbnQKICAgICBleHBsaWNpdCBUZXh0
UnVuKGNvbnN0IFN0cmluZyYgdGV4dCwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9
IDAsIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yID0gRGVmYXVsdEV4cGFuc2lv
biwgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9uOjpMVFIsIGJvb2wgZGly
ZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLCBib29sIGNoYXJhY3RlclNjYW5Gb3JDb2RlUGF0aCA9
IHRydWUpCiAgICAgICAgIDogbV90ZXh0KHRleHQpCiAgICAgICAgICwgbV90YWJTaXplKDApCkBA
IC01OSw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKCFtX3RleHQuaXNOdWxsKCkp
OwogICAgIH0KIAorICAgIC8vIExUUiBkZWZhdWx0IGFyZ3VtZW50IG1hdGNoZXMgRm9udENhc2Nh
ZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVmYXVsdCBhcmd1bWVudAogICAgIGV4cGxpY2l0
IFRleHRSdW4oU3RyaW5nVmlldyBzdHJpbmdWaWV3LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhw
YW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0
RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiwg
Ym9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZvckNv
ZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBUZXh0UnVuKHN0cmluZ1ZpZXcudG9TdHJpbmdXaXRo
b3V0Q29weWluZygpLCB4cG9zLCBleHBhbnNpb24sIGV4cGFuc2lvbkJlaGF2aW9yLCBkaXJlY3Rp
b24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUsIGNoYXJhY3RlclNjYW5Gb3JDb2RlUGF0aCkKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
Y3BwCmluZGV4IGI5OWE5NWY3ZWE2MDFjMTQxYWQ2MzgyNThkM2M0NGU4YzI1MDUyZDIuLjBkNzky
ZTE1MjVlODk4YjA0MDU0OTY3MTYyNGYxZTE4ZmNmZmY0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC03NiwyNyArNzYs
MjUgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVwb2lu
dCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2RlcG9pbnQgPD0gMHhFNTM3
OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zv
cm1zKGNvbnN0IEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291
bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCitp
bmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0
IEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2ln
bmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKIHsKLSAg
ICBpZiAoZ2x5cGhCdWZmZXIgJiYgZ2x5cGhCdWZmZXItPnNpemUoKSA9PSAobGFzdEdseXBoQ291
bnQgKyAxKSAmJiBpc1NvZnRCYW5rRW1vamkocHJldmlvdXNDaGFyYWN0ZXIpKQorICAgIGlmIChn
bHlwaEJ1ZmZlciAmJiBnbHlwaEJ1ZmZlci0+c2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEp
ICYmIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCAmJiBpc1NvZnRCYW5rRW1vamkobV9ydW4udGV4dCgp
W2N1cnJlbnRDaGFyYWN0ZXJJbmRleCAtIDFdKSkKICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXNU
eXBlOjpGb3JjZWQ7CiAgICAgaWYgKG1fcnVuLmxlbmd0aCgpIDw9IDEgfHwgIShtX2VuYWJsZUtl
cm5pbmcgfHwgbV9yZXF1aXJlc1NoYXBpbmcpKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5
cGU6Ok5vbmU7CiAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlu
bGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
KiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3Qg
Rm9udCogZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFj
dGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxv
YXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhC
dWZmZXIsIGJvb2wgbHRyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVu
dENoYXJhY3RlckluZGV4LCBjb25zdCBGb250KiBmb250LCBib29sIGZvcmNlLCBDaGFyYWN0ZXJz
VHJlYXRlZEFzU3BhY2UmIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSkKIHsKLSAgICBBU1NFUlRf
VU5VU0VEKHByZXZpb3VzQ2hhcmFjdGVyLCBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBo
QnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpICE9IFdpZHRoSXRlcmF0
b3I6OlRyYW5zZm9ybXNUeXBlOjpOb25lKTsKKyAgICBBU1NFUlRfVU5VU0VEKGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCwgc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEds
eXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNm
b3Jtc1R5cGU6Ok5vbmUpOwogCiAgICAgaWYgKCFnbHlwaEJ1ZmZlcikKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLT5zaXplKCk7Ci0g
ICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKSB7
Ci0gICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXJTaXplOworICAgIGlmICghZm9y
Y2UgJiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsgMSkKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgfQogCiAgICAgR2x5cGhCdWZmZXJBZHZhbmNlKiBhZHZhbmNlcyA9IGdseXBo
QnVmZmVyLT5hZHZhbmNlcygwKTsKICAgICBmbG9hdCBiZWZvcmVXaWR0aCA9IDA7CkBAIC0xMDQs
MTUgKzEwMiwzMiBAQCBpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNm
b3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIsIGJvb2wgbAogICAgICAgICBiZWZvcmVXaWR0
aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCiAgICAgQVNTRVJUKGxhc3RHbHlwaENvdW50IDw9
IGdseXBoQnVmZmVyU2l6ZSk7CisKKyAgICAvLyBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoKSBvcGVy
YXRlcyBpbiB2aXN1YWwgb3JkZXIsIGJ1dCBXaWR0aEl0ZXJhdG9yIGl0ZXJhdGVzIGluIGxvZ2lj
YWwgb3JkZXIuCisgICAgLy8gVGVtcG9yYXJpbHkgcHV0IHVzIGluIHZpc3VhbCBvcmRlciBqdXN0
IGZvciB0aGUgY2FsbCwgdGhlbiBwdXQgdXMgYmFjayBpbnRvIGxvZ2ljYWwgb3JkZXIgd2hlbgor
ICAgIC8vIHRoZSBjYWxsIGlzIGRvbmUuCisgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIGdsb2JhbCB2
aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXI7IHdlJ3JlIGp1c3Qgb3BlcmF0aW5nIG9uIGEg
c2luZ2xlIGNodW5rIG9mIGl0LgorICAgIC8vIFdpZHRoSXRlcmF0b3IgZW5jb3VudGVycyB0aGUg
Y2h1bmtzIG91dCBpbiBsb2dpY2FsIG9yZGVyLCBzbyB3ZSBoYXZlIHRvIG1haW50YWluIHRoYXQg
aW52YXJpYW50LgorICAgIC8vIEV2ZW50dWFsbHksIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0KCkgd2lsbCByZXZlcnNlIHRoZSB3aG9sZSBidWZmZXIgdG8gcHV0IHRoZSBlbnRpcmUgdGhp
bmcKKyAgICAvLyBpbiB2aXN1YWwgb3JkZXIsIGJ1dCB0aGF0J3Mgb2theSBiZWNhdXNlIGl0IGhh
cyBhIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlci4KKyAgICAvLyBPbiB0aGUgb3RoZXIg
aGFuZCwgQ1RGb250U2hhcGVHbHlwaHMoKSBhY2NlcHRzIHRoZSBidWZmZXIgaW4gbG9naWNhbCBv
cmRlciBidXQgcmV0dXJucyBpdCBpbiBwaHlzaWNhbAorICAgIC8vIG9yZGVyLCB3aGljaCBtZWFu
cyB0aGUgc2Vjb25kIHJldmVyc2UoKSBpbiB0aGlzIGZ1bmN0aW9uIHN0aWxsIG5lZWRzIHRvIGV4
ZWN1dGUgd2hlbgorICAgIC8vIENURm9udFNoYXBlR2x5cGhzKCkgaXMgYmVpbmcgdXNlZC4KKyNp
ZiAhVVNFKENURk9OVFNIQVBFR0xZUEhTKQogICAgIGlmICghbHRyKQogICAgICAgICBnbHlwaEJ1
ZmZlci0+cmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXplIC0gbGFzdEdseXBo
Q291bnQpOworI2VuZGlmCiAKLSAgICBmb250LT5hcHBseVRyYW5zZm9ybXMoKmdseXBoQnVmZmVy
LCBsYXN0R2x5cGhDb3VudCwgbV9lbmFibGVLZXJuaW5nLCBtX3JlcXVpcmVzU2hhcGluZywgbV9m
b250LT5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICBmb250LT5hcHBs
eVRyYW5zZm9ybXMoKmdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgbV9jdXJyZW50Q2hhcmFj
dGVySW5kZXgsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC0+Zm9u
dERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwgbV9ydW4udGV4dCgpLCBtX3J1bi5kaXJl
Y3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKIAot
ICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXpl
OyArK2kpCisgICAgR2x5cGhCdWZmZXJPcmlnaW4qIG9yaWdpbnMgPSBnbHlwaEJ1ZmZlci0+b3Jp
Z2lucygwKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBo
QnVmZmVyU2l6ZTsgKytpKSB7CiAgICAgICAgIGFkdmFuY2VzW2ldLnNldEhlaWdodCgtYWR2YW5j
ZXNbaV0uaGVpZ2h0KCkpOworICAgICAgICBvcmlnaW5zW2ldLnNldFkoLW9yaWdpbnNbaV0ueSgp
KTsKKyAgICB9CiAKKyAgICAvLyBTZWUgdGhlIGNvbW1lbnQgYWJvdmUgaW4gdGhpcyBmdW5jdGlv
biB3aGVyZSB0aGUgb3RoZXIgY2FsbCB0byByZXZlcnNlKCkgaXMuCiAgICAgaWYgKCFsdHIpCiAg
ICAgICAgIGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNp
emUgLSBsYXN0R2x5cGhDb3VudCk7CiAKQEAgLTEzNSw3ICsxNTAsNiBAQCBpbmxpbmUgZmxvYXQg
V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciogZ2x5cGhCdWZm
ZXIsIGJvb2wgbAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5
cGhCdWZmZXJTaXplOyArK2kpCiAgICAgICAgIGFmdGVyV2lkdGggKz0gYWR2YW5jZXNbaV0ud2lk
dGgoKTsKIAotICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXJTaXplOwogICAgIHJldHVy
biBhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGg7CiB9CiAKQEAgLTE3MSw3ICsxODUsNyBAQCBzdGF0
aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBhbnNpb25Mb2NhdGlvbihib29sIGlk
ZW9ncmFwaCwgYm9vbCB0cmVhdAogdGVtcGxhdGUgPHR5cGVuYW1lIFRleHRJdGVyYXRvcj4KIGlu
bGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRl
eHRJdGVyYXRvciwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQogewotICAgIC8vIFRoZSBjb3Jl
IGxvZ2ljIGhlcmUgbmVlZHMgdG8gbWF0Y2ggU2ltcGxlTGluZUxheW91dDo6d2lkdGhGb3JTaW1w
bGVUZXh0KCkKKyAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIEZvbnRD
YXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7
CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LT5sZXR0ZXJTcGFjaW5nKCkgfHwg
bV9mb250LT53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rp
c2FibGVkKCk7CiAKQEAgLTE5MSwxMyArMjA1LDE0IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0
b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZm
CiAgICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2ln
bmVkIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXIgPyBnbHlwaEJ1ZmZlci0+c2l6ZSgpIDog
MDsKIAorICAgIGF1dG8gY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJl
bnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKLSAgICBVQ2hhcjMyIHByZXZp
b3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKICAgICBD
aGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogICAgIFN0
cmluZyBub3JtYWxpemVkU3BhY2VzU3RyaW5nQ2FjaGU7CiAgICAgLy8gV2UgYXJlIGl0ZXJhdGlu
ZyBpbiBzdHJpbmcgb3JkZXIsIG5vdCBnbHlwaCBvcmRlci4gQ29tcGFyZSB0aGlzIHRvIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMoKQogICAgIHdoaWxlICh0
ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CisgICAgICAg
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAg
ICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7CiAgICAgICAgIGJv
b2wgY2hhcmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNEZWZhdWx0SWdub3JhYmxlQ29kZVBv
aW50KGNoYXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQpAQCAtMjA4LDcgKzIyMyw2IEBAIGlu
bGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRl
eHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQog
I2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3Iu
Y3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9m
b250LT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCBydGwpOwogICAgICAgICBHbHlw
aCBnbHlwaCA9IGdseXBoRGF0YS5nbHlwaDsKICAgICAgICAgaWYgKCFnbHlwaCAmJiAhY2hhcmFj
dGVyTXVzdERyYXdTb21ldGhpbmcpIHsKQEAgLTIyOSwxMyArMjQzLDEzIEBAIGlubGluZSB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRv
ciwgR2x5cGhCdWZmCiAgICAgICAgICAgICB3aWR0aCAqPSBtX3J1bi5ob3Jpem9udGFsR2x5cGhT
dHJldGNoKCk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoZm9udCAhPSBsYXN0Rm9udERhdGEg
JiYgd2lkdGgpIHsKLSAgICAgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFy
YWN0ZXIpOwotICAgICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBl
OjpOb25lKSB7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgbGFzdEZv
bnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5
cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgICAgICAgICBp
ZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmso
bGFzdEdseXBoQ291bnQpOwotICAgICAgICAgICAgfQorICAgICAgICBpZiAoZm9udCAhPSBsYXN0
Rm9udERhdGEpIHsKKyAgICAgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJh
Y3RlckluZGV4KTsKKyAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1z
VHlwZTo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250
VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgsIGxhc3RGb250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNm
b3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgICAg
IGlmIChnbHlwaEJ1ZmZlcikKKyAgICAgICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBo
QnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1
cnJlbnRDaGFyYWN0ZXJJbmRleDsKIAogICAgICAgICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsK
ICAgICAgICAgICAgIGlmIChtX2ZhbGxiYWNrRm9udHMgJiYgZm9udCAhPSAmcHJpbWFyeUZvbnQp
IHsKQEAgLTI5MCw2ICszMDQsOCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZm9udC0+emVy
b1dpZHRoU3BhY2VHbHlwaCgpLCBmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVy
LT5hZGQoZm9udC0+c3BhY2VHbHlwaCgpLCBmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5
LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci0+c2l6ZSgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50
Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExh
c3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KQEAgLTMxNiw3ICszMzIsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgog
ICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICB9CiAK
LSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMo
Z2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CisgICAgICAg
IGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAgICAgaWYg
KHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lICYmIGdseXBoQnVmZmVyICYm
IEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewogICAgICAgICAgICAgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihnbHlwaEJ1ZmZlci0+
c2l6ZSgpLAogICAgICAgICAgICAgICAgIE9yaWdpbmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVh
dGVkQXNTcGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBnbHlwaEJ1ZmZlci0+c2l6ZSgpID8gZ2x5cGhC
dWZmZXItPmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+c2l6ZSgpIC0gMSkud2lkdGgoKSA6IDAsIHdp
ZHRoKSkpOwpAQCAtMzQ4LDkgKzM2NCwxMyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAg
ICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WSA9IHN0ZDo6bWluKG1fbWluR2x5cGhCb3Vu
ZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAgICAgICAgbV9sYXN0R2x5cGhPdmVyZmxvdyA9
IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4WCgpIC0gd2lkdGgpOwogICAgICAgICB9Ci0g
ICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAgIH0KIAorICAgIGF1dG8g
dHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBs
YXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICBpZiAodHJhbnNmb3Jt
c1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpCisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciAr
PSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBo
Q291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlw
ZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwor
ICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgp
OworCiAgICAgaWYgKGdseXBoQnVmZmVyICYmIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKSB7
CiAgICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcykKICAgICAgICAgICAgIGdseXBoQnVmZmVy
LT5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksIGxhc3RGb250RGF0YSwg
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CkBAIC0zNTgs
MTQgKzM3OCw2IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBnbHlwaEJ1
ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+c3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRv
dmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwogICAgIH0KIAotICAg
IGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwotICAgIGlmICh0cmFuc2Zv
cm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICBtX3J1bldpZHRoU29G
YXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RH
bHlwaENvdW50LCBsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlw
ZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwot
ICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+c2hyaW5r
KGxhc3RHbHlwaENvdW50KTsKLSAgICB9Ci0KLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9
IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lk
dGhTaW5jZUxhc3RSb3VuZGluZzsKICAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGxhc3RSb3Vu
ZGluZ1dpZHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5oCmluZGV4IDhkYjM4YmIyMTBiMzE4YTkyM2MxZTk4MmM1NDY5ZTI1OGVjYjNi
MzIuLjc2YzNmZjc2YzljY2EzYWE2ODIxYWE4OTcxMzQ1NTQ4ZWU2ZmQ3MmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTYxLDgg
KzYxLDggQEAgcHJpdmF0ZToKICAgICBpbmxpbmUgdm9pZCBhZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiwgR2x5cGhCdWZmZXIqKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jtc1R5cGUg
eyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9OwotICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFw
cGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhD
b3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7Ci0gICAgZmxvYXQgYXBwbHlG
b250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFzdEdseXBo
Q291bnQsIGNvbnN0IEZvbnQqLCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyLCBib29sIGZvcmNl
LCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKKyAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyKiwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3Q7CisgICAgZmxvYXQg
YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciosIGJvb2wgbHRyLCB1bnNpZ25lZCBsYXN0
R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBGb250Kiwg
Ym9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKICAgICBjb25zdCBGb250
Q2FzY2FkZSogbV9mb250OwogICAgIGNvbnN0IFRleHRSdW4mIG1fcnVuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDhi
OGM5ZDY3ZDdkZjUyNzc5NTRjM2QzN2YxNTUxNGExZTg4ZTdiMjMuLjRmYWVlOGI4YzU4M2QxYzI1
NTRlNjgyMmRlNmY0ZWU3MGNmYzU5YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU0NCwyNiArNTQ0LDU5IEBAIFJl
ZlB0cjxGb250PiBGb250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgZmxvYXQgc2NhbGVGCiAgICAgcmV0dXJuIGNyZWF0ZURlcml2YXRpdmVGb250KHNj
YWxlZEZvbnQuZ2V0KCksIHNpemUsIG1fcGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCksIGZvbnRU
cmFpdHMsIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURhdGEuc3lu
dGhldGljT2JsaXF1ZSgpKTsKIH0KIAotdm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhC
dWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVL
ZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBj
b25zdAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
LCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlwaEluZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdTdHJpbmdJ
bmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRv
bVN0cmluZyYgbG9jYWxlLCBTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVj
dGlvbikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IEdseXBoQnVmZmVyIGluaXRp
YWwgYWR2YW5jZS4KLSAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAoZW5hYmxl
S2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCAocmVxdWly
ZXNTaGFwaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZyA6IDApOwotI2lmIFVTRShD
VEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCi0gICAgYXV0byBoYW5kbGVyID0gXihD
RlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2
YW5jZXNQb2ludGVyKSB7CisjaWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQorICAgIFVOVVNFRF9Q
QVJBTShyZXF1aXJlc1NoYXBpbmcpOworICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5n
ZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRl
ciwgQ0dQb2ludCoqIG5ld09mZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50
ZXIpIHsKICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5s
b2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4Pihn
bHlwaEJ1ZmZlci5zaXplKCkpKTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAg
ICAgICAgICAgIHJhbmdlLmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2Uu
bGVuZ3RoKTsKICAgICAgICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSBy
YW5nZS5sZW5ndGg7Ci0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVm
ZmVyLnJlbW92ZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxl
bmd0aCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUo
YmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAg
ICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5k
ZXgpOwotICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
YmVnaW5uaW5nSW5kZXgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5u
aW5nR2x5cGhJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisg
ICAgICAgICpuZXdHbHlwaHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0ds
eXBoSW5kZXgpOworICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2
YW5jZXMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9
IGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJ
bmRpY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlw
aEluZGV4KTsKICAgICB9OwotICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSht
X3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4
KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5p
bmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywg
TG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxl
KS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8g
c3Vic3RyaW5nID0gdGV4dC5zdWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1
dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vic3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVy
cygpOworICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1
YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygp
OworICAgIENURm9udFNoYXBlT3B0aW9ucyBvcHRpb25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0
ZXJDb21wb3NpdGlvbgorICAgICAgICB8IChlbmFibGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0
aEtlcm5pbmcgOiAwKQorICAgICAgICB8ICh0ZXh0RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246
OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytp
KQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRl
eClbYmVnaW5uaW5nR2x5cGhJbmRleCArIGldIC09IGJlZ2lubmluZ1N0cmluZ0luZGV4OworCisg
ICAgQ1RGb250U2hhcGVHbHlwaHMoCisgICAgICAgIG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLAor
ICAgICAgICBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCksCisgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5n
R2x5cGhJbmRleCkpLAorICAgICAgICByZWludGVycHJldF9jYXN0PENHUG9pbnQqPihnbHlwaEJ1
ZmZlci5vcmlnaW5zKGJlZ2lubmluZ0dseXBoSW5kZXgpKSwKKyAgICAgICAgZ2x5cGhCdWZmZXIu
b2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpLAorICAgICAgICByZWludGVycHJl
dF9jYXN0PGNvbnN0IFVuaUNoYXIqPih1cGNvbnZlcnRlZENoYXJhY3RlcnMuZ2V0KCkpLAorICAg
ICAgICBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4LAorICAgICAgICBv
cHRpb25zLAorICAgICAgICBsb2NhbGVTdHJpbmcuZ2V0KCksCisgICAgICAgIGhhbmRsZXIpOwor
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lu
bmluZ0dseXBoSW5kZXg7ICsraSkKKyAgICAgICAgZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5n
KGJlZ2lubmluZ0dseXBoSW5kZXgpW2JlZ2lubmluZ0dseXBoSW5kZXggKyBpXSArPSBiZWdpbm5p
bmdTdHJpbmdJbmRleDsKKwogI2Vsc2UKKworICAgIFVOVVNFRF9QQVJBTShiZWdpbm5pbmdTdHJp
bmdJbmRleCk7CiAgICAgVU5VU0VEX1BBUkFNKGxvY2FsZSk7Ci0gICAgQ1RGb250VHJhbnNmb3Jt
R2x5cGhzKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5u
aW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2Vz
KGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBv
cHRpb25zKTsKKyAgICBVTlVTRURfUEFSQU0odGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKHRleHRE
aXJlY3Rpb24pOworICAgIENURm9udFRyYW5zZm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVL
ZXJuaW5nID8ga0NURm9udFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJl
c1NoYXBpbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nIDogMCk7CisgICAgQ1RGb250
VHJhbnNmb3JtR2x5cGhzKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlw
aHMoYmVnaW5uaW5nR2x5cGhJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhC
dWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkg
LSBiZWdpbm5pbmdHbHlwaEluZGV4LCBvcHRpb25zKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3Jl
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9u
dERhdGFDb3JlVGV4dC5jcHAKaW5kZXggMzI1NzlkYTA2MTdhOTA0NDE1NGM1NWZjNGY4MTBjYWJk
MjQxN2RhNC4uZmY2ZmM4ZDgzMjlkNDRmZmE5MTJkYjdhMDZlMDNkOTk0MWI2NDYwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
Q29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZXRhaW5QdHI8Q0ZE
aWN0aW9uYXJ5UmVmPiBGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMoYm9vbCBlbmFibGVLZXJu
aW5nLCBGb250TwogICAgIHZhbHVlc1swXSA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpOwogICAg
IHNpemVfdCBjb3VudCA9IDE7CiAKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExB
TkdVQUdFKQorI2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IGxvY2FsZVN0cmluZzsKICAgICBpZiAoIWxvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAg
ICAgbG9jYWxlU3RyaW5nID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYzQyNzM2MjU0MGFjN2RlY2Q4ZWE4NTc4OGYxZjlkNDA1MmU0Nzg5OC4uMjZiN2M2ZGQ3NDA5
YzgzNDQ1ZjYwZjliZmJjNWJkYTdkNmJmMzI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIw
LTA4LTA2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdl
KCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU29mdCBoeXBoZW5zIGFyZSBrZXJuZWQgbm93ISBUaGlzIGlzIGEg
cHJvZ3Jlc3Npb24uCisKKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuIFBsYXRmb3JtLXNwZWNpZmljIHJlbmRlcnRyZWUgZHVtcHMKKyAgICAg
ICAgbmVlZCB0byBiZSBpbiBwbGF0Zm9ybS8gc3ViZm9sZGVycy4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6CisgICAg
ICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMC0wOC0w
NiAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBHU3RyZWFtZXIgTVNFIG1pY3JvIGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkYzNmYjJmZDIwMWM3ZmJmNzA1MDA4YzU4YjUxNzYyNzNlZWJmZGJjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTAweDQwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4
ezIwMTB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAxMDA6ICJ0aW9uLiIK
LSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQwKSBzaXplIDEwMHg0MCBbY29sb3I9IzAw
ODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTAweDQwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAi
aGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwyMCkgd2lkdGggMTAwOiAidGlvbi4iCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCw4MCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1ZGNhODU4YzZiMmEyMjliNjNhYWIxYTY2ZTU0NWEwNDRkMWIxNTcwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEz
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMjI1eDUwIFtjb2xvcj0jRkZGRkZGXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6
ICJEaWQgXHh7QUR9IgotICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
NzV4MjUgW2NvbG9yPSMwMDgwMDBdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MDAsMCkgc2l6ZSA3NXgyNQotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCwwKSB3aWR0aCA3
NTogIm5vdCIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI1KSBzaXplIDEwMHgy
NQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI1KSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWIyYTRiZDkxODNjOGQ0NThmODE4ZGFhYjc1NTA3Mzdj
ZGIxYzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzYKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgwCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDM0NHgxMDQgW2JvcmRlcjogKDNweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg3LDcpIHNpemUgMzMweDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcs
Nykgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJc
eHsyMDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywyNSkgd2lkdGggMTQ0OiAiYWxpYXNp
bmciCi0gICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1MSwzOSkgc2l6ZSAweDAKLSAgICAgICAg
UmVuZGVyQlIge0JSfSBhdCAoNyw0Mykgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNyw2MSkgc2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw2MSkg
d2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsy
MDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3OSkgd2lkdGggMTQ0OiAiYWxpYXNpbmci
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRo
LWV4cGVjdGVkLmh0bWwKaW5kZXggOTg0NzEyNjdlZTdhM2NlMTY5YjgwYTY2MmE2ZGVlM2FiMjZm
ZTI4NC4uOWZiN2ViYTBmZDc2YzJjMGFhZGMzMWYyMDQyZTAyNzQyODAzZjYxOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgt
ZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWlu
LXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUg
Y2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAg
ICAgICAgICAgPGRpdj5leHRyYW9yZGluYXI8c3Bhbj4tPC9zcGFuPjxicj5pbHk8L2Rpdj4KKyAg
ICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmEtPGJyPnJpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4K
ICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lk
dGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLmh0bWwKaW5kZXggZGU4YjFjYWE1YzJhY2I1MjA2MGRkMDc4N2E5NjIyYWY5YmYyMmQ2
ZC4uYTY1MDM4NWJjYTljMDU2Mzc3NzdmMjJhOTg4NWFkNzQwYzU3ZTI0NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13
aWR0aC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFk
ZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdiBzdHlsZT0i
LXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYXImc2h5O2lseTwvZGl2PgorICAg
ICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGlu
YSZzaHk7cmlseTwvZGl2PgogICAgICAgICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRo
OiAxMDAlIj48L3RkPgogICAgIDwvdHI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1s
CmluZGV4IDBjNTZmY2ZiZDE3N2FjOTIyMGRlYzIxMmFkOTE2MDAyNDdhMDhhMDIuLjNlMTg3YTFi
YzEzZGQ4NWRkOTZjYWI4MjNiZmMxNTZlZWViMWU4NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1l
eHBlY3RlZC5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQgbm9uZXhpc3RhbnQgZ2x5
cGhzIGRvIG5vdCBjYXVzZSBhcmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJlbmRlcmVkLgogVGhlIHRl
c3QgcGFzc2VzIGlmIHlvdSBzZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMgYmVsb3csIGFuZCBub3Ro
aW5nIGVsc2UuCi08ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij5BQkE8L2Rpdj4K
KzxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBMaXRoZXJ1bTsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgd2lkdGg6IDFweDsgaGVpZ2h0OiA1MHB4OyI+PC9kaXY+QUJBPC9kaXY+
CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5k
ZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91
bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS5odG1sCmluZGV4IDM5ODQyMGQ5ZTcyNDQ4NzQ2
MjUyNDE4YTRjODM4MTYwNzFjNzk3ZjcuLjVmYTFjYTgyYjJkNTZiN2FlZWM2OTkxNDA2NDJkY2I3
NDc0YzZhODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5
cGgtd2l0aC1saWdhdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmlu
ZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiA8Ym9keT4KIFRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQg
bm9uZXhpc3RhbnQgZ2x5cGhzIGRvIG5vdCBjYXVzZSBhcmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJl
bmRlcmVkLgogVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMg
YmVsb3csIGFuZCBub3RoaW5nIGVsc2UuCi08ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVy
dW07Ij5BQiZzaHk7QTwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExpdGhlcnVtOyI+
PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDUw
cHg7Ij48L2Rpdj5BQiZzaHk7QTwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZmYjhmZTU4ZGM4NWFlZTFlMjk0Mzk2ZjY1MzE2MWE0
ODYxMmQ1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDUgW2NvbG9y
PSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw0KSBzaXplIDEwMHg0MQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDEw
MDogImhlblx4e0FEfWFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsNDUpIHNpemUgMTAweDQ1IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0j
RkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSAxMDB4NDEK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5
cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI1KSB3aWR0
aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDkwKSBzaXplIDEw
MHgyMCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTAwOiAiNXg1c3EiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMzEyZWZlYzgyMjIxZjA1YzJlZTIxMDYwMjE2YWQzODk2MjBkZjhjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDIyNXg1NSBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNCkgd2lkdGggMTAwOiAiRGlkIFx4e0FEfSIKKyAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDc1eDI1IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTAwLDQpIHNpemUgNzV4MjUKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMDAsNCkgd2lkdGggNzU6ICJub3QiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwzMCkgc2l6ZSAxMDB4MjUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkgd2lkdGgg
MTAwOiAiZmFpbCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmMzNhOTAw
YmNkNzEyMTVhOGIwMTBlZDkxYTQyYjRlYmQwM2ZkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTYgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgMTAweDQ3IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBz
dHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0aCAxMDA6
ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQ3KSBzaXplIDEwMHg0NyBb
Y29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDUpIHNpemUgMTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lk
dGggMTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyNykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCw5NCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNG
RjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBmMDk5ZDgwMmVmZTExNTVkMmQwMGQ4N2RhOTBm
YjhmMGMzNGYxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4NTggW2Nv
bG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDEw
MHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0i
CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9
IzAwODAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMCw2KSBzaXplIDc1
eDI1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDYpIHdpZHRoIDc1OiAibm90IgorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzMpIHNpemUgMTAweDI1CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMzMpIHdpZHRoIDEwMDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42Y2M4Yjk3NGFkNDJlOGQzY2M4MmY2YWE4ZDA4ZjNlMmQ4NmE2ODYz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9z
b2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2Cisg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNDR4MTE4IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAw
MCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNywxMikgc2l6ZSAzMzB4MzgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNywxMikgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4
e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NywzMikgd2lkdGggMTQ0OiAiYWxpYXNpbmciCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1
MSw0Nikgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNyw1MCkgc2l6ZSAweDE4
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNyw3Mykgc2l6ZSAzMzB4MzgKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNyw3Mykgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FE
fSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw5
Mykgd2lkdGggMTQ0OiAiYWxpYXNpbmciCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEzNCkgc2l6ZSA3ODR4
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQv
c29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYyMjc2NGE2ZTY4MzAzYzZk
MjRkNGNmMjA5YzM4MTliZGQyZmIxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMDB4NTEgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDEwMHg0NQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDYpIHdpZHRoIDEwMDogImhlblx4e0FEfWFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7
MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzEpIHdpZHRoIDEwMDogInRpb24uIgor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTEpIHNpemUgMTAweDUxIFtjb2xvcj0jMDA4
MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
Nikgc2l6ZSAxMDB4NDUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDA6ICJo
ZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDMxKSB3aWR0aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDEwMikgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAorICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDAyY2JiMTZhYzEzZDhlZDljY2NhMTliMmExOGI0MGY5NDNmNTEx
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQv
c29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4NjMgW2NvbG9yPSNGRkZG
RkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw3KSBzaXplIDEwMHgyNQorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDcpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0iCisgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0K
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMCw3KSBzaXplIDc1eDI1CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDcpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzgpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzgpIHdpZHRoIDEwMDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ODQxZjhjMTU1MWRjNzkwZmIwNmE5MDhkNzQ1MWM5ZGIyZmEyMTI2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAzNDR4MTI0IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNywxMykgc2l6ZSAzMzB4NDAKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNywxMykgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBo
eXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywzNSkgd2lk
dGggMTQ0OiAiYWxpYXNpbmciCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1MSw0OSkgc2l6
ZSAweDAKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNyw1Mykgc2l6ZSAweDE4CisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNyw3Nykgc2l6ZSAzMzB4NDAKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNyw3Nykgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBo
ZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw5OSkgd2lkdGgg
MTQ0OiAiYWxpYXNpbmciCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE0MCkgc2l6ZSA3ODR4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406134</attachid>
            <date>2020-08-06 17:03:30 -0700</date>
            <delta_ts>2020-08-06 17:05:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200806170327.patch</filename>
            <type>text/plain</type>
            <size>47057</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU4NDJiMWRhOTA0Y2RjZjRlYmFjN2Ux
NTgxNWU2MTgzNjQ1MzA3YmYuLjAyZTU3OGFhY2RjZDI5MTY2M2MzMjZjMjQ2OTRiNjMxMTllZmJi
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENU
Rk9OVFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9u
LgorCiAyMDIwLTA4LTA2ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAg
ICAgICAgV1RGOjptYWtlU3RyaW5nKCkgc2hvdWxkIGhhbmRsZSBlbnVtIHZhbHVlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDZkNmRhMDU3OGE4ZmM2YTNjM2Q3N2Q4OTNhZDg2NzI4OWE4ZmNjNzIuLmE4Y2U3N2Nh
NWEwNzVhNmUyYWQxYTc2ZjE5ZTgzY2ZjNmMyNTNlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MCBAQAorMjAyMC0wOC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dp
dGhMYW5ndWFnZSgpIHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5k
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAg
ICAgVGhlIHNvbHV0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NzY5IHJlcXVpcmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVy
IHRleHQgc2hhcGluZy4gVG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0
IHNoYXBpbmcKKyAgICAgICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8g
YXBwbHkgbGV0dGVyLXNwYWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAg
IHRvIHVzZSBDVEZvbnRTaGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBz
dHJpbmcgbWFwcGluZywgd2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGlj
aCBnbHlwaHMgdG8gYWRkIGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBo
eXBoZW4ga2VybmluZywgd2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cykuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRv
cjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpX
aWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6Oldp
ZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvV2lkdGhJdGVyYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25z
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNv
bnN0KToKKwogMjAyMC0wOC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgZm9yIFdp
ZHRoSXRlcmF0b3IncyBmb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNjYwYjkyMDdiMDkxZmM4
NmU3N2RlMjcwMTlkMDI2MTcxZmEwYWQwYy4uOWI1ODI2NjVlY2NlNjdhM2E5NmQ5MTE3OTAyMzM0
MGI0ZGY5Yjk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgt
MDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0
byBDVEZvbnRTaGFwZUdseXBocygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOC0w
NSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgYWxsIHJlZmVyZW5jZXMgdG8gbm9uLWV4aXN0ZW50IDEwLjE2CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1
OGQ1MWE4MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxl
eGV5IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJl
ZlB0cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZv
bnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBj
b25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5n
JiwgU3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2Fm
NzA3YjdlZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWVi
MjVmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1w
bGVtZW50YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIw
Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBl
bmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9j
YWxlKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBi
b29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5n
JiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVy
dGllcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkx
ZjMuLmU5MTY0NjQwMDEzNTIxZjNiNmUyOTliMWUwNjRiNjIzYmQ5MmUxMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3
ICs0MjUsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBI
YXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLWZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0
KSBjb25zdAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3
IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4
dC5pc051bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDQs
MTAgKzQ0NCwxMCBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmlu
Z1ZpZXcgdGV4dCkgY29uc3QKICAgICAgICAgcnVuV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAg
ICAgaWYgKCFoYXNLZXJuaW5nT3JMaWdhdHVyZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CisgICAgICAg
IGdseXBoQnVmZmVyLmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgsIGkpOwogICAgIH0KICAg
ICBpZiAoaGFzS2VybmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zv
cm1zKGdseXBoQnVmZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBm
b250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBseVRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFw
aW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHREaXJl
Y3Rpb24pOwogICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1
bHQgb2YgdGhlIHNsb3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBmbG9h
dGluZyBwb2ludCBhcml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVyZW50
IHJ1biB3aWR0aC4KICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5zZm9y
bUFwcGxpZWQgPSAtcnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZlciBG
b250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVk
IGZyb20sIHVucwogICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3Vy
cmVudCBpbml0aWFsQWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShG
bG9hdFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZmZXIg
aXMgY3VycmVudGx5IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8gcmV0
dXJuIHRoZSByZXN1bHRzIGluIHZpc3VhbCBvcmRlci4KICAgICBpZiAocnVuLnJ0bCgpKQogICAg
ICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNpemUoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDlhZDNh
ZTRiZWYxMjFkNmQwMTdmMmI3MjU0NWRiY2Q2MWQyNTRhYmMuLjMxODA3MmJjODFhODdlMWM2OWE3
N2FiODI2YjE3YmQ0ZjFmYTYwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKIAogICAgIGZs
b2F0IHdpZHRoT2ZUZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkIGZyb20sIHVuc2ln
bmVkIHRvLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIGZsb2F0KiBv
dXRXaWR0aEJlZm9yZVJhbmdlID0gbnVsbHB0ciwgZmxvYXQqIG91dFdpZHRoQWZ0ZXJSYW5nZSA9
IG51bGxwdHIpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGZsb2F0IHdpZHRoKGNvbnN0IFRl
eHRSdW4mLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1Zp
ZXcgdGV4dCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcg
dGV4dCwgVGV4dERpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiAvKiBtYXRjaGVzIGRlZmF1
bHQgYXJndW1lbnQgb2YgVGV4dFJ1biBjb25zdHJ1Y3RvciAqLykgY29uc3Q7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8VGV4dExheW91dCwgVGV4dExheW91dERlbGV0ZXI+IGNyZWF0ZUxheW91dChS
ZW5kZXJUZXh0JiwgZmxvYXQgeFBvcywgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpIGNvbnN0Owog
ICAgIHN0YXRpYyBmbG9hdCB3aWR0aChUZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmluZGV4IGVjYmM1ZWVhOWI5ZDFl
M2UzYzQ1MTNhZjU4MDY3ZTU3ZTgyYTVkYTcuLjczNmYyODdmY2U2YTQyNzJhZTJhNzI1N2MzOGRk
Y2ZmYjY5M2YyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RleHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVu
LmgKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4gewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZhdWx0
IGFyZ3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVm
YXVsdCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBm
bG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhw
YW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlv
biA9IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2Us
IGJvb2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQo
dGV4dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgog
ICAgICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRl
ZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkn
cyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0cmlu
Z1ZpZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhh
dmlvciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24g
ZGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUg
PSBmYWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6
IFRleHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4cGFu
c2lvbiwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSwg
Y2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNTQ1NWJiZGY3MDU3NGZk
NTU3MmU2Y2M2MzYzODhlM2EyYWNjMjEzYS4uNTliNDQzM2U3OTA4YzAyYzM4YjhhODRjNGU4OTBk
M2UyM2Q4YzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKQEAgLTc2LDI3ICs3NiwyNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNTb2Z0QmFua0Vtb2ppKFVDaGFyMzIgY29kZXBvaW50KQogICAgIHJldHVybiBjb2RlcG9pbnQg
Pj0gMHhFMDAxICYmIGNvZGVwb2ludCA8PSAweEU1Mzc7CiB9CiAKLWlubGluZSBhdXRvIFdpZHRo
SXRlcmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGds
eXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJh
Y3RlcikgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKK2lubGluZSBhdXRvIFdpZHRoSXRlcmF0b3I6
OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVy
LCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4
KSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQogewotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBnbHlw
aEJ1ZmZlci0+c2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9q
aShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgaWYgKGdseXBoQnVmZmVyICYmIGdseXBoQnVmZmVy
LT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgY3VycmVudENoYXJhY3RlckluZGV4
ICYmIGlzU29mdEJhbmtFbW9qaShtX3J1bi50ZXh0KClbY3VycmVudENoYXJhY3RlckluZGV4IC0g
MV0pKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZDsKICAgICBpZiAobV9y
dW4ubGVuZ3RoKCkgPD0gMSB8fCAhKG1fZW5hYmxlS2VybmluZyB8fCBtX3JlcXVpcmVzU2hhcGlu
ZykpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Tm9uZTsKICAgICByZXR1cm4gVHJh
bnNmb3Jtc1R5cGU6Ok5vdEZvcmNlZDsKIH0KIAotaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6
OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwg
dW5zaWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250JiBmb250LCBVQ2hhcjMyIHByZXZp
b3VzQ2hhcmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJh
Y3RlcnNUcmVhdGVkQXNTcGFjZSkKK2lubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZv
bnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVk
IGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZv
bnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIs
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBw
cmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
OworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7CiAKICAgICBp
ZiAoIWdseXBoQnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGF1dG8gZ2x5cGhCdWZm
ZXJTaXplID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKLSAgICBpZiAoIWZvcmNlICYmIGdseXBoQnVm
ZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAgICAgbGFzdEdseXBoQ291bnQg
PSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0g
bGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBHbHlw
aEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXItPmFkdmFuY2VzKDApOwogICAg
IGZsb2F0IGJlZm9yZVdpZHRoID0gMDsKQEAgLTEwNCwxNSArMTAyLDMyIEBAIGlubGluZSBmbG9h
dCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1
ZmZlciwgYm9vbCBsCiAgICAgICAgIGJlZm9yZVdpZHRoICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7
CiAKICAgICBBU1NFUlQobGFzdEdseXBoQ291bnQgPD0gZ2x5cGhCdWZmZXJTaXplKTsKKworICAg
IC8vIENURm9udFRyYW5zZm9ybUdseXBocygpIG9wZXJhdGVzIGluIHZpc3VhbCBvcmRlciwgYnV0
IFdpZHRoSXRlcmF0b3IgaXRlcmF0ZXMgaW4gbG9naWNhbCBvcmRlci4KKyAgICAvLyBUZW1wb3Jh
cmlseSBwdXQgdXMgaW4gdmlzdWFsIG9yZGVyIGp1c3QgZm9yIHRoZSBjYWxsLCB0aGVuIHB1dCB1
cyBiYWNrIGludG8gbG9naWNhbCBvcmRlciB3aGVuCisgICAgLy8gdGhlIGNhbGwgaXMgZG9uZS4K
KyAgICAvLyBXZSBkb24ndCBoYXZlIGEgZ2xvYmFsIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1
ZmZlcjsgd2UncmUganVzdCBvcGVyYXRpbmcgb24gYSBzaW5nbGUgY2h1bmsgb2YgaXQuCisgICAg
Ly8gV2lkdGhJdGVyYXRvciBlbmNvdW50ZXJzIHRoZSBjaHVua3Mgb3V0IGluIGxvZ2ljYWwgb3Jk
ZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRhaW4gdGhhdCBpbnZhcmlhbnQuCisgICAgLy8gRXZlbnR1
YWxseSwgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoKSB3aWxsIHJldmVyc2UgdGhlIHdo
b2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVudGlyZSB0aGluZworICAgIC8vIGluIHZpc3VhbCBvcmRl
ciwgYnV0IHRoYXQncyBva2F5IGJlY2F1c2UgaXQgaGFzIGEgdmlldyBvZiB0aGUgZW50aXJlIEds
eXBoQnVmZmVyLgorICAgIC8vIE9uIHRoZSBvdGhlciBoYW5kLCBDVEZvbnRTaGFwZUdseXBocygp
IGFjY2VwdHMgdGhlIGJ1ZmZlciBpbiBsb2dpY2FsIG9yZGVyIGJ1dCByZXR1cm5zIGl0IGluIHBo
eXNpY2FsCisgICAgLy8gb3JkZXIsIHdoaWNoIG1lYW5zIHRoZSBzZWNvbmQgcmV2ZXJzZSgpIGlu
IHRoaXMgZnVuY3Rpb24gc3RpbGwgbmVlZHMgdG8gZXhlY3V0ZSB3aGVuCisgICAgLy8gQ1RGb250
U2hhcGVHbHlwaHMoKSBpcyBiZWluZyB1c2VkLgorI2lmICFVU0UoQ1RGT05UU0hBUEVHTFlQSFMp
CiAgICAgaWYgKCFsdHIpCiAgICAgICAgIGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENv
dW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisjZW5kaWYKIAotICAgIGZv
bnQuYXBwbHlUcmFuc2Zvcm1zKCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxl
S2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5jb21w
dXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcygqZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgbV9lbmFibGVLZXJuaW5nLCBt
X3JlcXVpcmVzU2hhcGluZywgbV9mb250LmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxl
KCksIG1fcnVuLnRleHQoKSwgbV9ydW4uZGlyZWN0aW9uKCkpOwogICAgIGdseXBoQnVmZmVyU2l6
ZSA9IGdseXBoQnVmZmVyLT5zaXplKCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5
cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQorICAgIEdseXBoQnVmZmVyT3JpZ2lu
KiBvcmlnaW5zID0gZ2x5cGhCdWZmZXItPm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBh
ZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKKyAgICAgICAgb3Jp
Z2luc1tpXS5zZXRZKC1vcmlnaW5zW2ldLnkoKSk7CisgICAgfQogCisgICAgLy8gU2VlIHRoZSBj
b21tZW50IGFib3ZlIGluIHRoaXMgZnVuY3Rpb24gd2hlcmUgdGhlIG90aGVyIGNhbGwgdG8gcmV2
ZXJzZSgpIGlzLgogICAgIGlmICghbHRyKQogICAgICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShs
YXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCkBAIC0x
MzUsNyArMTUwLDYgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQogICAgICAgICBh
ZnRlcldpZHRoICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7CiAKLSAgICBsYXN0R2x5cGhDb3VudCA9
IGdseXBoQnVmZmVyU2l6ZTsKICAgICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoOwog
fQogCkBAIC0xNzEsNyArMTg1LDcgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9v
bD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKIHRlbXBsYXRl
IDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZh
bmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlw
aEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNp
bXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9n
aWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkK
ICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0g
KG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250LndvcmRTcGFjaW5nKCkgfHwgbV9leHBh
bnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIApAQCAtMTkxLDEzICsyMDUsMTQg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEg
PSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZl
ciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAwOwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0
ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVk
IGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgU3RyaW5nIG5vcm1hbGl6ZWRTcGFjZXNTdHJpbmdDYWNo
ZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9y
ZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNB
bmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3Rlciwg
Y2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0
ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0g
Y2x1c3Rlckxlbmd0aDsKICAgICAgICAgYm9vbCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9
ICFpc0RlZmF1bHRJZ25vcmFibGVDb2RlUG9pbnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZ
UEUpCkBAIC0yMDgsNyArMjIzLDYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3Qg
R2x5cGhEYXRhJiBnbHlwaERhdGEgPSBtX2ZvbnQuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJh
Y3RlciwgcnRsKTsKICAgICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAg
ICAgIGlmICghZ2x5cGggJiYgIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMjks
MTMgKzI0MywxMyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwo
VGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGgg
Kj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogICAgICAgICB9CiAKLSAgICAgICAg
aWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRy
YW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zv
cm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVu
V2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIo
KSwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFu
c2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFz
U3BhY2UpOwotICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgICAgICAgICB9
CisgICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSkgeworICAgICAgICAgICAgYXV0byB0
cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAgaWYgKHRy
YW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAgICAgICAgICAgIG1f
cnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5s
dHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0
YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKKyAgICAgICAgICAg
ICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKIAogICAgICAg
ICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsKICAgICAgICAgICAgIGlmIChtX2ZhbGxiYWNrRm9u
dHMgJiYgZm9udCAhPSAmcHJpbWFyeUZvbnQpIHsKQEAgLTI5MCw2ICszMDQsOCBAQCBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQoZm9udC0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBmb250LCBtX2V4
cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZm9udC0+c3BhY2VHbHlwaCgpLCBmb250
LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1
ZmZlci0+c2l6ZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0
dW5pdHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTMxNiw3ICszMzIsNyBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFu
c2lvbiA9IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBw
cmV2aW91c0NoYXJhY3Rlcik7CisgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lICYmIGdseXBoQnVmZmVyICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hh
cmFjdGVyKSkgewogICAgICAgICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChz
dGQ6Om1ha2VfcGFpcihnbHlwaEJ1ZmZlci0+c2l6ZSgpLAogICAgICAgICAgICAgICAgIE9yaWdp
bmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBn
bHlwaEJ1ZmZlci0+c2l6ZSgpID8gZ2x5cGhCdWZmZXItPmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+
c2l6ZSgpIC0gMSkud2lkdGgoKSA6IDAsIHdpZHRoKSkpOwpAQCAtMzQ4LDkgKzM2NCwxMyBAQCBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94
WSA9IHN0ZDo6bWluKG1fbWluR2x5cGhCb3VuZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAg
ICAgICAgbV9sYXN0R2x5cGhPdmVyZmxvdyA9IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4
WCgpIC0gd2lkdGgpOwogICAgICAgICB9Ci0gICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hh
cmFjdGVyOwogICAgIH0KIAorICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4KTsKKyAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
Kmxhc3RGb250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9
IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKwogICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFz
aXMpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRo
U3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBt
X3J1bi5sZW5ndGgoKSAtIDEpOwpAQCAtMzU4LDE0ICszNzgsNiBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnNwYWNl
R2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4u
bGVuZ3RoKCkgLSAxKTsKICAgICB9CiAKLSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxk
QXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3Vz
Q2hhcmFjdGVyKTsKLSAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5v
bmUpIHsKLSAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgKmxhc3RGb250RGF0YSwgcHJl
dmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQs
IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAg
ICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmsobGFzdEdseXBoQ291bnQpOwotICAgIH0KLQot
ICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgp
OwogICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwogICAgIG1f
ZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggODdiYTU1ODVh
MjAyMDk4MTQ3MjFiZDU2MzZkODA5YWY2Y2ZkM2VlOS4uMzhjZjhlYjk3MDM3MDRlMjRhNWJiMTA0
YmYxM2EyN2U3ZGQ1ZWZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjEsOCArNjEsOCBAQCBwcml2YXRlOgogICAgIGlubGlu
ZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciopOwogCiAg
ICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07
Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlw
aEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFj
dGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwg
Ym9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIg
cHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYp
OworICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5
cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJh
Y3RlckluZGV4KSBjb25zdDsKKyAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRl
ZEFzU3BhY2UmKTsKIAogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3Qg
VGV4dFJ1biYgbV9ydW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggOGI4YzlkNjdkN2RmNTI3Nzk1NGMzZDM3ZjE1NTE0
YTFlODhlN2IyMy4uNGZhZWU4YjhjNTgzZDFjMjU1NGU2ODIyZGU2ZjRlZTcwY2ZjNTljNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2Nv
YS5tbQpAQCAtNTQ0LDI2ICs1NDQsNTkgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3Jl
YXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUYKICAgICBy
ZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZvbnQoc2NhbGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9wbGF0
Zm9ybURhdGEub3JpZW50YXRpb24oKSwgZm9udFRyYWl0cywgbV9wbGF0Zm9ybURhdGEuc3ludGhl
dGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNPYmxpcXVlKCkpOwogfQogCi12b2lk
IEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVk
IGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5n
LCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNm
b3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0dseXBoSW5k
ZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJv
b2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0cmluZ1ZpZXcg
dGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25zdAogewogICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgR2x5cGhCdWZmZXIgaW5pdGlhbCBhZHZhbmNlLgotICAgIENURm9udFRyYW5z
Zm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVLZXJuaW5nID8ga0NURm9udFRyYW5zZm9ybUFw
cGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJlc1NoYXBpbmcgPyBrQ1RGb250VHJhbnNmb3Jt
QXBwbHlTaGFwaW5nIDogMCk7Ci0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5H
VUFHRSkKLSAgICBhdXRvIGhhbmRsZXIgPSBeKENGUmFuZ2UgcmFuZ2UsIENHR2x5cGgqKiBuZXdH
bHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZhbmNlc1BvaW50ZXIpIHsKKyNpZiBVU0UoQ1RG
T05UU0hBUEVHTFlQSFMpCisgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7CisgICAg
YXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRl
ciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyLCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50
ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9pbnRlcikgewogICAgICAgICByYW5nZS5sb2NhdGlv
biA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdlLmxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4
PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+KGdseXBoQnVmZmVyLnNpemUoKSkpOwogICAgICAg
ICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewogICAgICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3Rk
OjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5nZS5sZW5ndGgpOwogICAgICAgICAgICAgcmFuZ2Uu
bG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAtIHJhbmdlLmxlbmd0aDsKLSAgICAgICAgICAgIGds
eXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5s
ZW5ndGgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0dseXBoSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0
aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOwotICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGds
eXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCk7Ci0gICAgICAgICpuZXdBZHZhbmNlc1Bv
aW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCk7CisgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRp
b24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7CisKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBn
bHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZh
bmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
KyAgICAgICAgKm5ld09mZnNldHNQb2ludGVyID0gZ2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5p
bmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0luZGljZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIu
b2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250
VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlw
aEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+
KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCksIGhhbmRsZXIpOworCisgICAgYXV0byBzdWJzdHJpbmcgPSB0ZXh0LnN1YnN0cmluZyhi
ZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgYXV0byB1cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBz
dWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CisgICAgYXV0byBsb2NhbGVTdHJpbmcg
PSBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2Nh
bGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgQ1RGb250U2hhcGVPcHRpb25zIG9w
dGlvbnMgPSBrQ1RGb250U2hhcGVXaXRoQ2x1c3RlckNvbXBvc2l0aW9uCisgICAgICAgIHwgKGVu
YWJsZUtlcm5pbmcgPyBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA6IDApCisgICAgICAgIHwgKHRl
eHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMID8ga0NURm9udFNoYXBlUmlnaHRUb0xl
ZnQgOiAwKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXpl
KCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNl
dHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtiZWdpbm5pbmdHbHlwaEluZGV4ICsgaV0g
LT0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAg
ICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhi
ZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihn
bHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJ
bmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5
cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29u
dmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJl
Z2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmlu
Zy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAg
ICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbYmVnaW5u
aW5nR2x5cGhJbmRleCArIGldICs9IGJlZ2lubmluZ1N0cmluZ0luZGV4OworCiAjZWxzZQorCisg
ICAgVU5VU0VEX1BBUkFNKGJlZ2lubmluZ1N0cmluZ0luZGV4KTsKICAgICBVTlVTRURfUEFSQU0o
bG9jYWxlKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250
KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8
Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpKSwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpIC0gYmVnaW5uaW5nSW5kZXgsIG9wdGlvbnMpOworICAgIFVOVVNFRF9QQVJBTSh0
ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGV4dERpcmVjdGlvbik7CisgICAgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBw
bHlQb3NpdGlvbmluZyA6IDApIHwgKHJlcXVpcmVzU2hhcGluZyA/IGtDVEZvbnRUcmFuc2Zvcm1B
cHBseVNoYXBpbmcgOiAwKTsKKyAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURh
dGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVp
bnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlw
aEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlv
bnMpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMjU3
OWRhMDYxN2E5MDQ0MTU0YzU1ZmM0ZjgxMGNhYmQyNDE3ZGE0Li5mZjZmYzhkODMyOWQ0NGZmYTkx
MmRiN2EwNmUwM2Q5OTQxYjY0NjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBA
IC00MSw3ICs0MSw3IEBAIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IEZvbnQ6OmdldENGU3Ry
aW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRPCiAgICAgdmFsdWVzWzBdID0g
cGxhdGZvcm1EYXRhKCkuY3RGb250KCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMTsKIAotI2lmIFVT
RShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCisjaWYgVVNFKENURk9OVFNIQVBF
R0xZUEhTKQogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbG9jYWxlU3RyaW5nOwogICAgIGlm
ICghbG9jYWxlLmlzRW1wdHkoKSkgewogICAgICAgICBsb2NhbGVTdHJpbmcgPSBsb2NhbGUuc3Ry
aW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZTk4ZTlhZDVhYmUzMjJmMjk1ZWYxNjli
MTdmNzRmMjFhNzlmNWNmLi4xNTg4NzU2NjJkZmY0ZDViMjk2NzVmZjg1ZGVlYjAxYjRkNmY0MTA5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb2Z0IGh5cGhl
bnMgYXJlIGtlcm5lZCBub3chIFRoaXMgaXMgYSBwcm9ncmVzc2lvbi4KKworICAgICAgICAqIGZh
c3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4gUGxhdGZvcm0tc3Bl
Y2lmaWMgcmVuZGVydHJlZSBkdW1wcworICAgICAgICBuZWVkIHRvIGJlIGluIHBsYXRmb3JtLyBz
dWJmb2xkZXJzLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJy
ZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC91bmRlZmluZWQt
Z2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC91
bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBo
ZW4tMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDIwLTA4LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQmFzZUF1ZGlvQ29udGV4dC5kZWNvZGVBdWRpb0RhdGEoKSBzaG91
bGQgcmV0dXJuIGEgUHJvbWlzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzNmYjJm
ZDIwMWM3ZmJmNzA1MDA4YzU4YjUxNzYyNzNlZWJmZGJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi0yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDQwIFtjb2xvcj0j
MDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMDB4NDAKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6
ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAxMDA6ICJ0aW9uLiIKLSAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDQwKSBzaXplIDEwMHg0MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZG
MDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDQwCi0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBo
ZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGgg
MTAwOiAidGlvbi4iCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4MCkgc2l6ZSAxMDB4
MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGNhODU4
YzZiMmEyMjliNjNhYWIxYTY2ZTU0NWEwNDRkMWIxNTcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi0zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjI1eDUwIFtjb2xvcj0j
RkZGRkZGXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjUK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgotICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzV4MjUgW2NvbG9yPSMwMDgw
MDBdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsMCkgc2l6ZSA3NXgyNQot
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCwwKSB3aWR0aCA3NTogIm5vdCIKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI1KSBzaXplIDEwMHgyNQotICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDI1KSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMWIyYTRiZDkxODNjOGQ0NThmODE4ZGFhYjc1NTA3MzdjZGIxYzE1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAg
QEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1NzYKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgw
Ci0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDM0NHgxMDQgW2JvcmRlcjog
KDNweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDcp
IHNpemUgMzMweDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNykgd2lkdGggMzMwOiAiMTIz
NDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNywyNSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCi0gICAgICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDE1MSwzOSkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
Nyw0Mykgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNyw2MSkgc2l6
ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw2MSkgd2lkdGggMzMwOiAiMTIzNDU2
Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNyw3OSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDEyMCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKaW5k
ZXggOTg0NzEyNjdlZTdhM2NlMTY5YjgwYTY2MmE2ZGVlM2FiMjZmZTI4NC4uOWZiN2ViYTBmZDc2
YzJjMGFhZGMzMWYyMDQyZTAyNzQyODAzZjYxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1l
eHBlY3RlZC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxs
cGFkZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRy
YW9yZGluYXI8c3Bhbj4tPC9zcGFuPjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0
cmFvcmRpbmEtPGJyPnJpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxl
PSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXgg
ZGU4YjFjYWE1YzJhY2I1MjA2MGRkMDc4N2E5NjIyYWY5YmYyMmQ2ZC4uYTY1MDM4NWJjYTljMDU2
Mzc3NzdmMjJhOTg4NWFkNzQwYzU3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCkBAIC0xMSw3
ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4K
ICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBt
YW51YWw7Ij5leHRyYW9yZGluYXImc2h5O2lseTwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHls
ZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYSZzaHk7cmlseTwvZGl2Pgog
ICAgICAgICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48L3RkPgogICAg
IDwvdHI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBo
LXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRl
ZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCmluZGV4IDBjNTZmY2ZiZDE3
N2FjOTIyMGRlYzIxMmFkOTE2MDAyNDdhMDhhMDIuLjNlMTg3YTFiYzEzZGQ4NWRkOTZjYWI4MjNi
ZmMxNTZlZWViMWU4NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmlu
ZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCkBAIC0x
MSw2ICsxMSw2IEBACiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbWJp
bmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQgbm9uZXhpc3RhbnQgZ2x5cGhzIGRvIG5vdCBjYXVzZSBh
cmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJlbmRlcmVkLgogVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBz
ZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMgYmVsb3csIGFuZCBub3RoaW5nIGVsc2UuCi08ZGl2IHN0
eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij5BQkE8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
ZmFtaWx5OiBMaXRoZXJ1bTsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lk
dGg6IDFweDsgaGVpZ2h0OiA1MHB4OyI+PC9kaXY+QUJBPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgt
bGlnYXR1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0
aC1saWdhdHVyZS5odG1sCmluZGV4IDM5ODQyMGQ5ZTcyNDQ4NzQ2MjUyNDE4YTRjODM4MTYwNzFj
Nzk3ZjcuLjVmYTFjYTgyYjJkNTZiN2FlZWM2OTkxNDA2NDJkY2I3NDc0YzZhODggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdh
dHVyZS5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQgbm9uZXhpc3RhbnQgZ2x5cGhz
IGRvIG5vdCBjYXVzZSBhcmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJlbmRlcmVkLgogVGhlIHRlc3Qg
cGFzc2VzIGlmIHlvdSBzZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMgYmVsb3csIGFuZCBub3RoaW5n
IGVsc2UuCi08ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij5BQiZzaHk7QTwvZGl2
PgorPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExpdGhlcnVtOyI+PGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDUwcHg7Ij48L2Rpdj5BQiZzaHk7
QTwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWZmYjhmZTU4ZGM4NWFlZTFlMjk0Mzk2ZjY1MzE2MWE0ODYxMmQ1OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDUgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9y
PSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDEwMHg0
MQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDEwMDogImhlblx4e0FEfWFceHtB
RH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjUpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNDUp
IHNpemUgMTAweDQ1IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSAxMDB4NDEKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw0KSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIw
MTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI1KSB3aWR0aCAxMDA6ICJ0aW9uLiIKKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDkwKSBzaXplIDEwMHgyMCBbY29sb3I9IzAwODAw
MF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTAweDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiNXg1
c3EiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4
dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzEyZWZlYzgyMjIxZjA1
YzJlZTIxMDYwMjE2YWQzODk2MjBkZjhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDIyNXg1NSBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDQpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNCkgd2lkdGggMTAw
OiAiRGlkIFx4e0FEfSIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDc1eDI1IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTAwLDQpIHNpemUgNzV4MjUKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDAsNCkgd2lkdGgg
NzU6ICJub3QiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzMCkgc2l6ZSAxMDB4
MjUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkgd2lkdGggMTAwOiAiZmFpbCIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmMzNhOTAwYmNkNzEyMTVhOGIwMTBlZDkx
YTQyYjRlYmQwM2ZkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDQ3
IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsNSkgc2l6ZSAxMDB4NDIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3
aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9Igor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI3KSB3aWR0aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDQ3KSBzaXplIDEwMHg0NyBbY29sb3I9IzAwODAwMF0gW2Jn
Y29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUg
MTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTAwOiAiaGVuYVx4e0FE
fSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
Nykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw5NCkg
c2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDBmMDk5ZDgwMmVmZTExNTVkMmQwMGQ4N2RhOTBmYjhmMGMzNGYxZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBo
ZW4tMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4NTggW2NvbG9yPSNGRkZGRkZdCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDYpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0iCisgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMCw2KSBzaXplIDc1eDI1CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTAwLDYpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMzMpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzMp
IHdpZHRoIDEwMDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
Y2M4Yjk3NGFkNDJlOGQzY2M4MmY2YWE4ZDA4ZjNlMmQ4NmE2ODYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAzNDR4MTE4IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNywxMikgc2l6ZSAzMzB4MzgKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNywxMikgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3Ry
aW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywzMikgd2lkdGggMTQ0OiAi
YWxpYXNpbmciCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1MSw0Nikgc2l6ZSAweDAKKyAg
ICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNyw1MCkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNyw3Mykgc2l6ZSAzMzB4MzgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
Nyw3Mykgd2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5n
ICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw5Mykgd2lkdGggMTQ0OiAiYWxp
YXNpbmciCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEzNCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYyMjc2NGE2ZTY4MzAzYzZkMjRkNGNmMjA5YzM4MTliZGQy
ZmIxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NTEgW2NvbG9yPSMw
MDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCw2KSBzaXplIDEwMHg0NQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRoIDEwMDog
Imhlblx4e0FEfWFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMzEpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsNTEpIHNpemUgMTAweDUxIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYw
MDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMDB4NDUKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhl
biBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMxKSB3aWR0aCAx
MDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEwMikgc2l6ZSAxMDB4
MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDAyY2JiMTZhYzEzZDhlZDljY2NhMTliMmExOGI0MGY5NDNmNTExZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4NjMgW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCw3KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDcpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0iCisgICAgICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEwMCw3KSBzaXplIDc1eDI1CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTAwLDcpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMzgpIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzgpIHdpZHRoIDEw
MDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODQxZjhjMTU1
MWRjNzkwZmIwNmE5MDhkNzQ1MWM5ZGIyZmEyMTI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNDR4
MTI0IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNywxMykgc2l6ZSAzMzB4NDAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywxMykg
d2lkdGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsy
MDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywzNSkgd2lkdGggMTQ0OiAiYWxpYXNpbmci
CisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1MSw0OSkgc2l6ZSAweDAKKyAgICAgICAgUmVu
ZGVyQlIge0JSfSBhdCAoNyw1Mykgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNyw3Nykgc2l6ZSAzMzB4NDAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw3Nykgd2lk
dGggMzMwOiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEw
fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw5OSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDE0MCkgc2l6ZSA3ODR4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406135</attachid>
            <date>2020-08-06 17:05:51 -0700</date>
            <delta_ts>2020-08-08 11:39:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215059-20200806170549.patch</filename>
            <type>text/plain</type>
            <size>47013</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU4NDJiMWRhOTA0Y2RjZjRlYmFjN2Ux
NTgxNWU2MTgzNjQ1MzA3YmYuLjAyZTU3OGFhY2RjZDI5MTY2M2MzMjZjMjQ2OTRiNjMxMTllZmJi
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENU
Rk9OVFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9u
LgorCiAyMDIwLTA4LTA2ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAg
ICAgICAgV1RGOjptYWtlU3RyaW5nKCkgc2hvdWxkIGhhbmRsZSBlbnVtIHZhbHVlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDZkNmRhMDU3OGE4ZmM2YTNjM2Q3N2Q4OTNhZDg2NzI4OWE4ZmNjNzIuLmE4Y2U3N2Nh
NWEwNzVhNmUyYWQxYTc2ZjE5ZTgzY2ZjNmMyNTNlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MCBAQAorMjAyMC0wOC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dp
dGhMYW5ndWFnZSgpIHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5k
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAg
ICAgVGhlIHNvbHV0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NzY5IHJlcXVpcmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVy
IHRleHQgc2hhcGluZy4gVG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0
IHNoYXBpbmcKKyAgICAgICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8g
YXBwbHkgbGV0dGVyLXNwYWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAg
IHRvIHVzZSBDVEZvbnRTaGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBz
dHJpbmcgbWFwcGluZywgd2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGlj
aCBnbHlwaHMgdG8gYWRkIGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBo
eXBoZW4ga2VybmluZywgd2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cykuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRv
cjo6c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpX
aWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6Oldp
ZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvV2lkdGhJdGVyYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25z
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNv
bnN0KToKKwogMjAyMC0wOC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSByZWZlcmVuY2VzIGluc3RlYWQgb2YgcG9pbnRlcnMgZm9yIFdp
ZHRoSXRlcmF0b3IncyBmb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNjYwYjkyMDdiMDkxZmM4
NmU3N2RlMjcwMTlkMDI2MTcxZmEwYWQwYy4uOWI1ODI2NjVlY2NlNjdhM2E5NmQ5MTE3OTAyMzM0
MGI0ZGY5Yjk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgt
MDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0
byBDVEZvbnRTaGFwZUdseXBocygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOC0w
NSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgYWxsIHJlZmVyZW5jZXMgdG8gbm9uLWV4aXN0ZW50IDEwLjE2CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1
OGQ1MWE4MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxl
eGV5IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJl
ZlB0cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZv
bnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBj
b25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5n
JiwgU3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2Fm
NzA3YjdlZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWVi
MjVmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1w
bGVtZW50YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIw
Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBl
bmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9j
YWxlKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBi
b29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5n
JiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVy
dGllcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IGMwNTMwZWRlMDAwM2ZhZTc0Nzc5MTdhMDFlNjg3NDgzMDYzNzkx
ZjMuLmU5MTY0NjQwMDEzNTIxZjNiNmUyOTliMWUwNjRiNjIzYmQ5MmUxMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNSw3
ICs0MjUsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBI
YXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLWZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0
KSBjb25zdAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3
IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4
dC5pc051bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDQs
MTAgKzQ0NCwxMCBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmlu
Z1ZpZXcgdGV4dCkgY29uc3QKICAgICAgICAgcnVuV2lkdGggKz0gZ2x5cGhXaWR0aDsKICAgICAg
ICAgaWYgKCFoYXNLZXJuaW5nT3JMaWdhdHVyZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAmZm9udCwgZ2x5cGhXaWR0aCk7CisgICAgICAg
IGdseXBoQnVmZmVyLmFkZChnbHlwaCwgJmZvbnQsIGdseXBoV2lkdGgsIGkpOwogICAgIH0KICAg
ICBpZiAoaGFzS2VybmluZ09yTGlnYXR1cmVzKSB7Ci0gICAgICAgIGZvbnQuYXBwbHlUcmFuc2Zv
cm1zKGdseXBoQnVmZmVyLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBm
b250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICAgICAgZm9udC5hcHBseVRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFw
aW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHREaXJl
Y3Rpb24pOwogICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1
bHQgb2YgdGhlIHNsb3cgcGF0aC4gU2FtZSBnbHlwaCB3aWR0aHMgYnV0IGRpZmZlcmVudCBmbG9h
dGluZyBwb2ludCBhcml0aG1lbnRpY3MgY2FuCiAgICAgICAgIC8vIHByb2R1Y2UgZGlmZmVyZW50
IHJ1biB3aWR0aC4KICAgICAgICAgZmxvYXQgcnVuV2lkdGhEaWZmZXJlbmNlV2l0aFRyYW5zZm9y
bUFwcGxpZWQgPSAtcnVuV2lkdGg7CkBAIC0xMzk1LDYgKzEzOTUsOCBAQCBHbHlwaEJ1ZmZlciBG
b250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVk
IGZyb20sIHVucwogICAgIC8vIEZJWE1FOiBEZWFsIHdpdGggdGhlIEdseXBoQnVmZmVyJ3MgY3Vy
cmVudCBpbml0aWFsQWR2YW5jZS4KICAgICBnbHlwaEJ1ZmZlci5zZXRJbml0aWFsQWR2YW5jZShG
bG9hdFNpemUoaW5pdGlhbEFkdmFuY2UsIDApKTsKIAorICAgIC8vIFRoZSBnbHlwaCBidWZmZXIg
aXMgY3VycmVudGx5IGluIGxvZ2ljYWwgb3JkZXIsCisgICAgLy8gYnV0IHdlIG5lZWQgdG8gcmV0
dXJuIHRoZSByZXN1bHRzIGluIHZpc3VhbCBvcmRlci4KICAgICBpZiAocnVuLnJ0bCgpKQogICAg
ICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKDAsIGdseXBoQnVmZmVyLnNpemUoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDlhZDNh
ZTRiZWYxMjFkNmQwMTdmMmI3MjU0NWRiY2Q2MWQyNTRhYmMuLjMxODA3MmJjODFhODdlMWM2OWE3
N2FiODI2YjE3YmQ0ZjFmYTYwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKIAogICAgIGZs
b2F0IHdpZHRoT2ZUZXh0UmFuZ2UoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkIGZyb20sIHVuc2ln
bmVkIHRvLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIGZsb2F0KiBv
dXRXaWR0aEJlZm9yZVJhbmdlID0gbnVsbHB0ciwgZmxvYXQqIG91dFdpZHRoQWZ0ZXJSYW5nZSA9
IG51bGxwdHIpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGZsb2F0IHdpZHRoKGNvbnN0IFRl
eHRSdW4mLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1Zp
ZXcgdGV4dCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcg
dGV4dCwgVGV4dERpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiAvKiBtYXRjaGVzIGRlZmF1
bHQgYXJndW1lbnQgb2YgVGV4dFJ1biBjb25zdHJ1Y3RvciAqLykgY29uc3Q7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8VGV4dExheW91dCwgVGV4dExheW91dERlbGV0ZXI+IGNyZWF0ZUxheW91dChS
ZW5kZXJUZXh0JiwgZmxvYXQgeFBvcywgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpIGNvbnN0Owog
ICAgIHN0YXRpYyBmbG9hdCB3aWR0aChUZXh0TGF5b3V0JiwgdW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cyA9IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmluZGV4IGVjYmM1ZWVhOWI5ZDFl
M2UzYzQ1MTNhZjU4MDY3ZTU3ZTgyYTVkYTcuLjczNmYyODdmY2U2YTQyNzJhZTJhNzI1N2MzOGRk
Y2ZmYjY5M2YyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RleHRSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVu
LmgKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEdseXBoRGF0YTsKIGNsYXNzIFRleHRSdW4gewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIC8vIExUUiBkZWZhdWx0
IGFyZ3VtZW50IG1hdGNoZXMgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpJ3MgZGVm
YXVsdCBhcmd1bWVudAogICAgIGV4cGxpY2l0IFRleHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBm
bG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhw
YW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlv
biA9IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2Us
IGJvb2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQo
dGV4dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgog
ICAgICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwoKSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRl
ZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkn
cyBkZWZhdWx0IGFyZ3VtZW50CiAgICAgZXhwbGljaXQgVGV4dFJ1bihTdHJpbmdWaWV3IHN0cmlu
Z1ZpZXcsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBhbnNpb25CZWhh
dmlvciBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb24sIFRleHREaXJlY3Rpb24g
ZGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUg
PSBmYWxzZSwgYm9vbCBjaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlKQogICAgICAgICA6
IFRleHRSdW4oc3RyaW5nVmlldy50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCksIHhwb3MsIGV4cGFu
c2lvbiwgZXhwYW5zaW9uQmVoYXZpb3IsIGRpcmVjdGlvbiwgZGlyZWN0aW9uYWxPdmVycmlkZSwg
Y2hhcmFjdGVyU2NhbkZvckNvZGVQYXRoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggNTQ1NWJiZGY3MDU3NGZk
NTU3MmU2Y2M2MzYzODhlM2EyYWNjMjEzYS4uNTliNDQzM2U3OTA4YzAyYzM4YjhhODRjNGU4OTBk
M2UyM2Q4YzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKQEAgLTc2LDI3ICs3NiwyNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNTb2Z0QmFua0Vtb2ppKFVDaGFyMzIgY29kZXBvaW50KQogICAgIHJldHVybiBjb2RlcG9pbnQg
Pj0gMHhFMDAxICYmIGNvZGVwb2ludCA8PSAweEU1Mzc7CiB9CiAKLWlubGluZSBhdXRvIFdpZHRo
SXRlcmF0b3I6OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGds
eXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJh
Y3RlcikgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKK2lubGluZSBhdXRvIFdpZHRoSXRlcmF0b3I6
OnNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVy
LCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4
KSBjb25zdCAtPiBUcmFuc2Zvcm1zVHlwZQogewotICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBnbHlw
aEJ1ZmZlci0+c2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9q
aShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgaWYgKGdseXBoQnVmZmVyICYmIGdseXBoQnVmZmVy
LT5zaXplKCkgPT0gKGxhc3RHbHlwaENvdW50ICsgMSkgJiYgY3VycmVudENoYXJhY3RlckluZGV4
ICYmIGlzU29mdEJhbmtFbW9qaShtX3J1bi50ZXh0KClbY3VycmVudENoYXJhY3RlckluZGV4IC0g
MV0pKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZDsKICAgICBpZiAobV9y
dW4ubGVuZ3RoKCkgPD0gMSB8fCAhKG1fZW5hYmxlS2VybmluZyB8fCBtX3JlcXVpcmVzU2hhcGlu
ZykpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Tm9uZTsKICAgICByZXR1cm4gVHJh
bnNmb3Jtc1R5cGU6Ok5vdEZvcmNlZDsKIH0KIAotaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6
OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGx0ciwg
dW5zaWduZWQmIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250JiBmb250LCBVQ2hhcjMyIHByZXZp
b3VzQ2hhcmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJh
Y3RlcnNUcmVhdGVkQXNTcGFjZSkKK2lubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZv
bnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVk
IGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZv
bnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIs
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBw
cmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
OworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7CiAKICAgICBp
ZiAoIWdseXBoQnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGF1dG8gZ2x5cGhCdWZm
ZXJTaXplID0gZ2x5cGhCdWZmZXItPnNpemUoKTsKLSAgICBpZiAoIWZvcmNlICYmIGdseXBoQnVm
ZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAgICAgbGFzdEdseXBoQ291bnQg
PSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0g
bGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBHbHlw
aEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXItPmFkdmFuY2VzKDApOwogICAg
IGZsb2F0IGJlZm9yZVdpZHRoID0gMDsKQEAgLTEwNCwxNSArMTAyLDMyIEBAIGlubGluZSBmbG9h
dCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiBnbHlwaEJ1
ZmZlciwgYm9vbCBsCiAgICAgICAgIGJlZm9yZVdpZHRoICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7
CiAKICAgICBBU1NFUlQobGFzdEdseXBoQ291bnQgPD0gZ2x5cGhCdWZmZXJTaXplKTsKKworICAg
IC8vIENURm9udFRyYW5zZm9ybUdseXBocygpIG9wZXJhdGVzIGluIHZpc3VhbCBvcmRlciwgYnV0
IFdpZHRoSXRlcmF0b3IgaXRlcmF0ZXMgaW4gbG9naWNhbCBvcmRlci4KKyAgICAvLyBUZW1wb3Jh
cmlseSBwdXQgdXMgaW4gdmlzdWFsIG9yZGVyIGp1c3QgZm9yIHRoZSBjYWxsLCB0aGVuIHB1dCB1
cyBiYWNrIGludG8gbG9naWNhbCBvcmRlciB3aGVuCisgICAgLy8gdGhlIGNhbGwgaXMgZG9uZS4K
KyAgICAvLyBXZSBkb24ndCBoYXZlIGEgZ2xvYmFsIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1
ZmZlcjsgd2UncmUganVzdCBvcGVyYXRpbmcgb24gYSBzaW5nbGUgY2h1bmsgb2YgaXQuCisgICAg
Ly8gV2lkdGhJdGVyYXRvciBlbmNvdW50ZXJzIHRoZSBjaHVua3Mgb3V0IGluIGxvZ2ljYWwgb3Jk
ZXIsIHNvIHdlIGhhdmUgdG8gbWFpbnRhaW4gdGhhdCBpbnZhcmlhbnQuCisgICAgLy8gRXZlbnR1
YWxseSwgRm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQoKSB3aWxsIHJldmVyc2UgdGhlIHdo
b2xlIGJ1ZmZlciB0byBwdXQgdGhlIGVudGlyZSB0aGluZworICAgIC8vIGluIHZpc3VhbCBvcmRl
ciwgYnV0IHRoYXQncyBva2F5IGJlY2F1c2UgaXQgaGFzIGEgdmlldyBvZiB0aGUgZW50aXJlIEds
eXBoQnVmZmVyLgorICAgIC8vIE9uIHRoZSBvdGhlciBoYW5kLCBDVEZvbnRTaGFwZUdseXBocygp
IGFjY2VwdHMgdGhlIGJ1ZmZlciBpbiBsb2dpY2FsIG9yZGVyIGJ1dCByZXR1cm5zIGl0IGluIHBo
eXNpY2FsCisgICAgLy8gb3JkZXIsIHdoaWNoIG1lYW5zIHRoZSBzZWNvbmQgcmV2ZXJzZSgpIGlu
IHRoaXMgZnVuY3Rpb24gc3RpbGwgbmVlZHMgdG8gZXhlY3V0ZSB3aGVuCisgICAgLy8gQ1RGb250
U2hhcGVHbHlwaHMoKSBpcyBiZWluZyB1c2VkLgorI2lmICFVU0UoQ1RGT05UU0hBUEVHTFlQSFMp
CiAgICAgaWYgKCFsdHIpCiAgICAgICAgIGdseXBoQnVmZmVyLT5yZXZlcnNlKGxhc3RHbHlwaENv
dW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisjZW5kaWYKIAotICAgIGZv
bnQuYXBwbHlUcmFuc2Zvcm1zKCpnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxl
S2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5jb21w
dXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcygqZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgbV9lbmFibGVLZXJuaW5nLCBt
X3JlcXVpcmVzU2hhcGluZywgbV9mb250LmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxl
KCksIG1fcnVuLnRleHQoKSwgbV9ydW4uZGlyZWN0aW9uKCkpOwogICAgIGdseXBoQnVmZmVyU2l6
ZSA9IGdseXBoQnVmZmVyLT5zaXplKCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5
cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQorICAgIEdseXBoQnVmZmVyT3JpZ2lu
KiBvcmlnaW5zID0gZ2x5cGhCdWZmZXItPm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBh
ZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKKyAgICAgICAgb3Jp
Z2luc1tpXS5zZXRZKC1vcmlnaW5zW2ldLnkoKSk7CisgICAgfQogCisgICAgLy8gU2VlIHRoZSBj
b21tZW50IGFib3ZlIGluIHRoaXMgZnVuY3Rpb24gd2hlcmUgdGhlIG90aGVyIGNhbGwgdG8gcmV2
ZXJzZSgpIGlzLgogICAgIGlmICghbHRyKQogICAgICAgICBnbHlwaEJ1ZmZlci0+cmV2ZXJzZShs
YXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCkBAIC0x
MzUsNyArMTUwLDYgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyLCBib29sIGwKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBsYXN0R2x5cGhDb3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKQogICAgICAgICBh
ZnRlcldpZHRoICs9IGFkdmFuY2VzW2ldLndpZHRoKCk7CiAKLSAgICBsYXN0R2x5cGhDb3VudCA9
IGdseXBoQnVmZmVyU2l6ZTsKICAgICByZXR1cm4gYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoOwog
fQogCkBAIC0xNzEsNyArMTg1LDcgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9v
bD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKIHRlbXBsYXRl
IDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZh
bmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyKiBnbHlw
aEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNp
bXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9n
aWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkK
ICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0g
KG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250LndvcmRTcGFjaW5nKCkgfHwgbV9leHBh
bnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIApAQCAtMTkxLDEzICsyMDUsMTQg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEg
PSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWduZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZl
ciA/IGdseXBoQnVmZmVyLT5zaXplKCkgOiAwOwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0
ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVk
IGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgU3RyaW5nIG5vcm1hbGl6ZWRTcGFjZXNTdHJpbmdDYWNo
ZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9y
ZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNB
bmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3Rlciwg
Y2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0
ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0g
Y2x1c3Rlckxlbmd0aDsKICAgICAgICAgYm9vbCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9
ICFpc0RlZmF1bHRJZ25vcmFibGVDb2RlUG9pbnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZ
UEUpCkBAIC0yMDgsNyArMjIzLDYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3Qg
R2x5cGhEYXRhJiBnbHlwaERhdGEgPSBtX2ZvbnQuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJh
Y3RlciwgcnRsKTsKICAgICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAg
ICAgIGlmICghZ2x5cGggJiYgIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMjks
MTMgKzI0MywxMyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwo
VGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGgg
Kj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogICAgICAgICB9CiAKLSAgICAgICAg
aWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRy
YW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zv
cm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVu
V2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIo
KSwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFu
c2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFz
U3BhY2UpOwotICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhCdWZmZXItPnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgICAgICAgICB9
CisgICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSkgeworICAgICAgICAgICAgYXV0byB0
cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxh
c3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAgaWYgKHRy
YW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAgICAgICAgICAgIG1f
cnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5s
dHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0
YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKKyAgICAgICAgICAg
ICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLT5zaXplKCk7CisgICAgICAgICAgICBt
X2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKIAogICAgICAg
ICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsKICAgICAgICAgICAgIGlmIChtX2ZhbGxiYWNrRm9u
dHMgJiYgZm9udCAhPSAmcHJpbWFyeUZvbnQpIHsKQEAgLTI5MCw2ICszMDQsOCBAQCBpbmxpbmUg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRl
cmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQoZm9udC0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCBmb250LCBtX2V4
cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZm9udC0+c3BhY2VHbHlwaCgpLCBmb250
LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1
ZmZlci0+c2l6ZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0
dW5pdHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTMxNiw3ICszMzIsNyBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFu
c2lvbiA9IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBw
cmV2aW91c0NoYXJhY3Rlcik7CisgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lICYmIGdseXBoQnVmZmVyICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hh
cmFjdGVyKSkgewogICAgICAgICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmFwcGVuZChz
dGQ6Om1ha2VfcGFpcihnbHlwaEJ1ZmZlci0+c2l6ZSgpLAogICAgICAgICAgICAgICAgIE9yaWdp
bmFsQWR2YW5jZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZShjaGFyYWN0ZXIgPT0gJyAnLCBn
bHlwaEJ1ZmZlci0+c2l6ZSgpID8gZ2x5cGhCdWZmZXItPmFkdmFuY2VBdChnbHlwaEJ1ZmZlci0+
c2l6ZSgpIC0gMSkud2lkdGgoKSA6IDAsIHdpZHRoKSkpOwpAQCAtMzQ4LDkgKzM2NCwxMyBAQCBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94
WSA9IHN0ZDo6bWluKG1fbWluR2x5cGhCb3VuZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAg
ICAgICAgbV9sYXN0R2x5cGhPdmVyZmxvdyA9IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4
WCgpIC0gd2lkdGgpOwogICAgICAgICB9Ci0gICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hh
cmFjdGVyOwogICAgIH0KIAorICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4KTsKKyAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
Kmxhc3RGb250RGF0YSwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9
IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKwogICAgIGlmIChnbHlwaEJ1ZmZlciAmJiBs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFz
aXMpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGxhc3RGb250RGF0YS0+emVyb1dpZHRo
U3BhY2VHbHlwaCgpLCBsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBt
X3J1bi5sZW5ndGgoKSAtIDEpOwpAQCAtMzU4LDE0ICszNzgsNiBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChsYXN0Rm9udERhdGEtPnNwYWNl
R2x5cGgoKSwgbGFzdEZvbnREYXRhLCBsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCwgbV9ydW4u
bGVuZ3RoKCkgLSAxKTsKICAgICB9CiAKLSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxk
QXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3Vz
Q2hhcmFjdGVyKTsKLSAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5v
bmUpIHsKLSAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgKmxhc3RGb250RGF0YSwgcHJl
dmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQs
IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAg
ICAgICAgICAgIGdseXBoQnVmZmVyLT5zaHJpbmsobGFzdEdseXBoQ291bnQpOwotICAgIH0KLQot
ICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgp
OwogICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwogICAgIG1f
ZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggODdiYTU1ODVh
MjAyMDk4MTQ3MjFiZDU2MzZkODA5YWY2Y2ZkM2VlOS4uMzhjZjhlYjk3MDM3MDRlMjRhNWJiMTA0
YmYxM2EyN2U3ZGQ1ZWZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjEsOCArNjEsOCBAQCBwcml2YXRlOgogICAgIGlubGlu
ZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciopOwogCiAg
ICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07
Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlw
aEJ1ZmZlciosIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFj
dGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyKiwg
Ym9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIg
cHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYp
OworICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5
cGhCdWZmZXIqLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJh
Y3RlckluZGV4KSBjb25zdDsKKyAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyKiwgYm9vbCBsdHIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRl
ZEFzU3BhY2UmKTsKIAogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7CiAgICAgY29uc3Qg
VGV4dFJ1biYgbV9ydW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggOGI4YzlkNjdkN2RmNTI3Nzk1NGMzZDM3ZjE1NTE0
YTFlODhlN2IyMy4uM2M4ODgyZWMwYWNmYjgyMzhmYzJlZWE5MmY0NzJkZmY0NTUzNDAzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2Nv
YS5tbQpAQCAtNTQ0LDI2ICs1NDQsNTkgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3Jl
YXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUYKICAgICBy
ZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZvbnQoc2NhbGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9wbGF0
Zm9ybURhdGEub3JpZW50YXRpb24oKSwgZm9udFRyYWl0cywgbV9wbGF0Zm9ybURhdGEuc3ludGhl
dGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNPYmxpcXVlKCkpOwogfQogCi12b2lk
IEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVk
IGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5n
LCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0Cit2b2lkIEZvbnQ6OmFwcGx5VHJhbnNm
b3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGJlZ2lubmluZ0dseXBoSW5k
ZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJv
b2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIFN0cmluZ1ZpZXcg
dGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25zdAogewogICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgR2x5cGhCdWZmZXIgaW5pdGlhbCBhZHZhbmNlLgotICAgIENURm9udFRyYW5z
Zm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVLZXJuaW5nID8ga0NURm9udFRyYW5zZm9ybUFw
cGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJlc1NoYXBpbmcgPyBrQ1RGb250VHJhbnNmb3Jt
QXBwbHlTaGFwaW5nIDogMCk7Ci0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5H
VUFHRSkKLSAgICBhdXRvIGhhbmRsZXIgPSBeKENGUmFuZ2UgcmFuZ2UsIENHR2x5cGgqKiBuZXdH
bHlwaHNQb2ludGVyLCBDR1NpemUqKiBuZXdBZHZhbmNlc1BvaW50ZXIpIHsKKyNpZiBVU0UoQ1RG
T05UU0hBUEVHTFlQSFMpCisgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7CisgICAg
YXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRl
ciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyLCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50
ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9pbnRlcikgewogICAgICAgICByYW5nZS5sb2NhdGlv
biA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdlLmxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4
PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+KGdseXBoQnVmZmVyLnNpemUoKSkpOwogICAgICAg
ICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewogICAgICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3Rk
OjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5nZS5sZW5ndGgpOwogICAgICAgICAgICAgcmFuZ2Uu
bG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAtIHJhbmdlLmxlbmd0aDsKLSAgICAgICAgICAgIGds
eXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5s
ZW5ndGgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0dseXBoSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0
aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOwotICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGds
eXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCk7Ci0gICAgICAgICpuZXdBZHZhbmNlc1Bv
aW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCk7CisgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRp
b24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7CisKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBn
bHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZh
bmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
KyAgICAgICAgKm5ld09mZnNldHNQb2ludGVyID0gZ2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5p
bmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0luZGljZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIu
b2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250
VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlw
aEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+
KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCksIGhhbmRsZXIpOworCisgICAgYXV0byBzdWJzdHJpbmcgPSB0ZXh0LnN1YnN0cmluZyhi
ZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgYXV0byB1cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBz
dWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CisgICAgYXV0byBsb2NhbGVTdHJpbmcg
PSBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2Nh
bGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgQ1RGb250U2hhcGVPcHRpb25zIG9w
dGlvbnMgPSBrQ1RGb250U2hhcGVXaXRoQ2x1c3RlckNvbXBvc2l0aW9uCisgICAgICAgIHwgKGVu
YWJsZUtlcm5pbmcgPyBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA6IDApCisgICAgICAgIHwgKHRl
eHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMID8ga0NURm9udFNoYXBlUmlnaHRUb0xl
ZnQgOiAwKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXpl
KCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNl
dHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRl
eDsKKworICAgIENURm9udFNoYXBlR2x5cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwKKyAgICAgICAgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAor
ICAgICAgICByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJl
Z2lubmluZ0dseXBoSW5kZXgpKSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4o
Z2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBo
QnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgp
KSwKKyAgICAgICAgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwKKyAg
ICAgICAgb3B0aW9ucywKKyAgICAgICAgbG9jYWxlU3RyaW5nLmdldCgpLAorICAgICAgICBoYW5k
bGVyKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkg
LSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJ
blN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtpXSArPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsK
KwogI2Vsc2UKKworICAgIFVOVVNFRF9QQVJBTShiZWdpbm5pbmdTdHJpbmdJbmRleCk7CiAgICAg
VU5VU0VEX1BBUkFNKGxvY2FsZSk7Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzKG1fcGxhdGZv
cm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWlu
dGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4
KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zKTsKKyAgICBV
TlVTRURfUEFSQU0odGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKHRleHREaXJlY3Rpb24pOworICAg
IENURm9udFRyYW5zZm9ybU9wdGlvbnMgb3B0aW9ucyA9IChlbmFibGVLZXJuaW5nID8ga0NURm9u
dFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgOiAwKSB8IChyZXF1aXJlc1NoYXBpbmcgPyBrQ1RG
b250VHJhbnNmb3JtQXBwbHlTaGFwaW5nIDogMCk7CisgICAgQ1RGb250VHJhbnNmb3JtR2x5cGhz
KG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5
cGhJbmRleCksIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dTaXplKj4oZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
YmVnaW5uaW5nR2x5cGhJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlw
aEluZGV4LCBvcHRpb25zKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5j
cHAKaW5kZXggMzI1NzlkYTA2MTdhOTA0NDE1NGM1NWZjNGY4MTBjYWJkMjQxN2RhNC4uZmY2ZmM4
ZDgzMjlkNDRmZmE5MTJkYjdhMDZlMDNkOTk0MWI2NDYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNv
cmVUZXh0LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBG
b250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMoYm9vbCBlbmFibGVLZXJuaW5nLCBGb250TwogICAg
IHZhbHVlc1swXSA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpOwogICAgIHNpemVfdCBjb3VudCA9
IDE7CiAKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQorI2lmIFVT
RShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGxvY2FsZVN0
cmluZzsKICAgICBpZiAoIWxvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgbG9jYWxlU3RyaW5n
ID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWU5OGU5YWQ1YWJl
MzIyZjI5NWVmMTY5YjE3Zjc0ZjIxYTc5ZjVjZi4uMTU4ODc1NjYyZGZmNGQ1YjI5Njc1ZmY4NWRl
ZWIwMWI0ZDZmNDEwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA4LTA2ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNaWdy
YXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKCkgdG8gQ1RGb250U2hh
cGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU29mdCBoeXBoZW5zIGFyZSBrZXJuZWQgbm93ISBUaGlzIGlzIGEgcHJvZ3Jlc3Npb24uCisK
KyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
IFBsYXRmb3JtLXNwZWNpZmljIHJlbmRlcnRyZWUgZHVtcHMKKyAgICAgICAgbmVlZCB0byBiZSBp
biBwbGF0Zm9ybS8gc3ViZm9sZGVycy4KKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4t
My1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LTQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhl
bi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L3Rl
eHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMC0wOC0wNiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEJhc2VBdWRpb0NvbnRleHQuZGVjb2RlQXVk
aW9EYXRhKCkgc2hvdWxkIHJldHVybiBhIFByb21pc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGMzZmIyZmQyMDFjN2ZiZjcwNTAwOGM1OGI1MTc2MjczZWViZmRiYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCww
IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEw
MHg0MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDQwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTAwOiAiaGVuXHh7QUR9YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEw
fSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggMTAwOiAidGlvbi4iCi0gICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBd
IFtiZ2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogImhlbmFc
eHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
ODApIHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjAKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICI1eDVzcSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWRjYTg1OGM2YjJhMjI5YjYzYWFiMWE2NmU1NDVhMDQ0ZDFiMTU3MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIy
NXg1MCBbY29sb3I9I0ZGRkZGRl0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTAweDI1Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiRGlk
IFx4e0FEfSIKLSAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1eDI1
IFtjb2xvcj0jMDA4MDAwXQotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAwLDAp
IHNpemUgNzV4MjUKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDAsMCkgd2lkdGggNzU6ICJu
b3QiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyNSkgc2l6ZSAxMDB4MjUKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNSkgd2lkdGggMTAwOiAiZmFpbCIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjFiMmE0YmQ5MTgzYzhkNDU4ZjgxOGRhYWI3NTUwNzM3Y2RiMWMx
NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2Ci0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MCkgc2l6ZSA3ODR4MAotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNDR4
MTA0IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCi0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNyw3KSBzaXplIDMzMHgzNgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDcpIHdp
ZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAx
MH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsMjUpIHdpZHRoIDE0NDogImFsaWFzaW5nIgot
ICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEsMzkpIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDcsNDMpIHNpemUgMHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDcsNjEpIHNpemUgMzMweDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNjEpIHdpZHRo
IDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzkpIHdpZHRoIDE0NDogImFsaWFzaW5nIgotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwxMjApIHNpemUgNzg0eDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBl
Y3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3YTNjZTE2OWI4MGE2NjJhNmRlZTNhYjI2ZmUyODQu
LjlmYjdlYmEwZmQ3NmMyYzBhYWRjMzFmMjA0MmUwMjc0MjgwM2Y2MTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVj
dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVm
ZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNlbGxz
cGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAgICAg
ICAgIDxkaXY+ZXh0cmFvcmRpbmFyPHNwYW4+LTwvc3Bhbj48YnI+aWx5PC9kaXY+CisgICAgICAg
ICAgICA8ZGl2PmV4dHJhb3JkaW5hLTxicj5yaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAgICAg
ICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0
aC5odG1sCmluZGV4IGRlOGIxY2FhNWMyYWNiNTIwNjBkZDA3ODdhOTYyMmFmOWJmMjJkNmQuLmE2
NTAzODViY2E5YzA1NjM3Nzc3ZjIyYTk4ODVhZDc0MGM1N2UyNDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgu
aHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9
MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJr
aXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmFyJnNoeTtpbHk8L2Rpdj4KKyAgICAgICAg
ICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmEmc2h5
O3JpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAw
JSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Vu
ZGVmaW5lZC1nbHlwaC13aXRoLWxpZ2F0dXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbAppbmRl
eCAwYzU2ZmNmYmQxNzdhYzkyMjBkZWMyMTJhZDkxNjAwMjQ3YTA4YTAyLi4zZTE4N2ExYmMxM2Rk
ODVkZDk2Y2FiODIzYmZjMTU2ZWVlYjFlODQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0
ZWQuaHRtbApAQCAtMTEsNiArMTEsNiBAQAogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHRoZSBjb21iaW5hdGlvbiBvZiBsaWdhdHVyZXMgYW5kIG5vbmV4aXN0YW50IGdseXBocyBk
byBub3QgY2F1c2UgYXJiaXRyYXJ5IGdseXBocyB0byBiZSByZW5kZXJlZC4KIFRoZSB0ZXN0IHBh
c3NlcyBpZiB5b3Ugc2VlIHR3byBibGFjayByZWN0YW5nbGVzIGJlbG93LCBhbmQgbm90aGluZyBl
bHNlLgotPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExpdGhlcnVtOyI+QUJBPC9kaXY+Cis8ZGl2
IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IHdpZHRoOiAxcHg7IGhlaWdodDogNTBweDsiPjwvZGl2PkFCQTwvZGl2PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VuZGVmaW5l
ZC1nbHlwaC13aXRoLWxpZ2F0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZp
bmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbAppbmRleCAzOTg0MjBkOWU3MjQ0ODc0NjI1MjQx
OGE0YzgzODE2MDcxYzc5N2Y3Li41ZmExY2E4MmIyZDU2YjdhZWVjNjk5MTQwNjQyZGNiNzQ3NGM2
YTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdp
dGgtbGlnYXR1cmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWds
eXBoLXdpdGgtbGlnYXR1cmUuaHRtbApAQCAtMTEsNiArMTEsNiBAQAogPGJvZHk+CiBUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBjb21iaW5hdGlvbiBvZiBsaWdhdHVyZXMgYW5kIG5vbmV4
aXN0YW50IGdseXBocyBkbyBub3QgY2F1c2UgYXJiaXRyYXJ5IGdseXBocyB0byBiZSByZW5kZXJl
ZC4KIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIHR3byBibGFjayByZWN0YW5nbGVzIGJlbG93
LCBhbmQgbm90aGluZyBlbHNlLgotPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExpdGhlcnVtOyI+
QUImc2h5O0E8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBMaXRoZXJ1bTsiPjxkaXYg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDFweDsgaGVpZ2h0OiA1MHB4OyI+
PC9kaXY+QUImc2h5O0E8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVmZmI4ZmU1OGRjODVhZWUxZTI5NDM5NmY2NTMxNjFhNDg2MTJk
NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDQ1IFtjb2xvcj0jMDA4
MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NCkgc2l6ZSAxMDB4NDEKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCAxMDA6ICJo
ZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDI1KSB3aWR0aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDQ1KSBzaXplIDEwMHg0NSBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAw
MF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgMTAweDQxCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsNCkgd2lkdGggMTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4g
c3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNSkgd2lkdGggMTAw
OiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw5MCkgc2l6ZSAxMDB4MjAg
W2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMx
MmVmZWM4MjIyMWYwNWMyZWUyMTA2MDIxNmFkMzg5NjIwZGY4YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSAyMjV4NTUgW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDQpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0iCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEwMCw0KSBzaXplIDc1eDI1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTAwLDQpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MzApIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzApIHdpZHRoIDEwMDog
ImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjMzYTkwMGJjZDcx
MjE1YThiMDEwZWQ5MWE0MmI0ZWJkMDNmZGE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE2IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDEwMHg0NyBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTAweDQyCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNSkgd2lkdGggMTAwOiAiaGVuXHh7QUR9YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5n
ICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNykgd2lkdGggMTAwOiAidGlv
bi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0Nykgc2l6ZSAxMDB4NDcgW2NvbG9y
PSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw1KSBzaXplIDEwMHg0MgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEw
MDogImhlbmFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMjcpIHdpZHRoIDEwMDogInRpb24uIgorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsOTQpIHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAw
XQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjAKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICI1eDVzcSIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwZjA5OWQ4MDJlZmUxMTU1ZDJkMDBkODdkYTkwZmI4ZjBj
MzRmMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjI1eDU4IFtjb2xvcj0j
RkZGRkZGXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMDB4MjUK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgorICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzV4MjUgW2NvbG9yPSMwMDgw
MDBdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsNikgc2l6ZSA3NXgyNQor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCw2KSB3aWR0aCA3NTogIm5vdCIKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMzKSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDMzKSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmNjOGI5NzRhZDQyZThkM2NjODJmNmFhOGQwOGYzZTJkODZhNjg2MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29mdC1o
eXBoZW4tNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NgorICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTIpIHNpemUgMzMweDM4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0i
ICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMzIp
IHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEsNDYp
IHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTApIHNpemUgMHgxOAorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMpIHNpemUgMzMweDM4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsg
aHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsOTMpIHdp
ZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMzQpIHNpemUgNzg0eDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4t
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmMjI3NjRhNmU2ODMwM2M2ZDI0ZDRj
ZjIwOWMzODE5YmRkMmZiMTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAw
eDUxIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMDB4NDUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2
KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMxKSB3aWR0aCAxMDA6ICJ0aW9uLiIKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUxKSBzaXplIDEwMHg1MSBbY29sb3I9IzAwODAwMF0g
W2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDYpIHNp
emUgMTAweDQ1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNikgd2lkdGggMTAwOiAiaGVuYVx4
e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwzMSkgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwx
MDIpIHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjAKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICI1eDVzcSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQwMmNiYjE2YWMxM2Q4ZWQ5Y2NjYTE5YjJhMThiNDBmOTQzZjUxMWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjI1eDYzIFtjb2xvcj0jRkZGRkZGXQor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNykgc2l6ZSAxMDB4MjUKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCw3KSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgorICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzV4MjUgW2NvbG9yPSMwMDgwMDBdCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsNykgc2l6ZSA3NXgyNQorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwMCw3KSB3aWR0aCA3NTogIm5vdCIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDM4KSBzaXplIDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDM4KSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDg0MWY4YzE1NTFkYzc5MGZiMDZhOTA4ZDc0NTFjOWRiMmZhMjEyNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NgorICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMzQ0eDEyNCBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTMpIHNpemUgMzMweDQwCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsMTMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVu
IHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMzUpIHdpZHRoIDE0
NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEsNDkpIHNpemUgMHgw
CisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTMpIHNpemUgMHgxOAorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzcpIHNpemUgMzMweDQwCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDcsNzcpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0
cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsOTkpIHdpZHRoIDE0NDog
ImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNDApIHNpemUgNzg0eDAK
</data>
<flag name="review"
          id="421576"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406263</attachid>
            <date>2020-08-08 23:29:41 -0700</date>
            <delta_ts>2020-08-10 15:19:32 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7080</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThO
L3RzcGFuLWRpcmVjdGlvbi1ydGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNwYW4tZGlyZWN0aW9uLXJ0bC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjUzNDJlZDFjNjJhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkx
OE4vdHNwYW4tZGlyZWN0aW9uLXJ0bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMywy
MjIpIHNpemUgNjUxeDE0MworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkyLDEzMykg
c2l6ZSAyNzZ4MjEgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDE5MSwwKSBzaXplIDg1eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlk
ZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjgzLjY1LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMTQgd2lkdGggODQuMTUgUlRMOiAiXHh7NjQ2fVx4ezYzNH1ceHs2Mjd9XHh7NjM3
fSBceHs2Mjd9XHh7NjQ0fVx4ezYyQX1ceHs2MkZ9XHh7NjQ4fVx4ezY0QX1ceHs2NDR9IFwiIgor
ICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgxeDIxCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDE4MXgyMQor
ICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTAzLjYw
LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgOCB3aWR0aCA0NC45OCBSVEw6ICIsIFx4
ezYyN31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfSIKKyAgICAgICAgICAgIGNo
dW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE0OC41OCwxNTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDEzNS4wNzogImRpclJUTCB1YkVtYmVkIgorICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMngyMQorICAg
ICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDkyLjIxLDE1MC4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCAxMS4zOSBSVEw6ICJcIiEiCisgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDg3eDEzIGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgODd4MTIKKyAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE4MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTggd2lkdGggODYuMTg6ICJSZWZlcmVuY2UgZ3JhcGhp
YzoiCisgICAgICBSZW5kZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICgxMDAsMzAwKSBzaXplIDU4NHg2
NQorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2LDU1Nykgc2l6ZSA3M3gxMgorICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMzNCkgc2l6ZSA0NHg4IGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNDR4NworICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0aCA0My4wMzogIiRSZXZpc2lvbjogMS43ICQi
CisgICAgUmVuZGVyU1ZHUmVjdCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9
NDc4LjAwXSBbaGVpZ2h0PTM1OC4wMF0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgw
LDApIHNpemUgODAweDM4CisgICAgICBSZW5kZXJTVkdSZWN0IHtyZWN0fSBhdCAoMCwwKSBzaXpl
IDgwMHgzNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4
LjAwXSBbaGVpZ2h0PTIwLjAwXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwNiww
KSBzaXplIDY4eDIzIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjh4MjMKKyAgICAgICAgICBjaHVuayAxIChtaWRk
bGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyMDYuNDYsMTguMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDUgd2lkdGggNjcuMDk6ICJEUkFGVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1iaWdzdXIvc3ZnL3RleHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEyNWFkMmQ4NmZh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcv
dGV4dC9iaWRpLXRzcGFucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTUz
LDIyMikgc2l6ZSA0NjB4ODUKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNTMsMjIy
KSBzaXplIDQ2MHg4NQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkyLDEzMykgc2l6
ZSAyNzZ4MjEgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNzZ4MjEKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICg5Mi4yMSwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEwIHdpZHRoIDU2LjM3IFJUTDogIiwgXHh7NjI3fVx4ezYyRX1ceHs2MkF9XHh7NjI4fVx4
ezYyN31ceHs2MzF9XCIhIgorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQg
cnVuIDEgYXQgKDE0OC41OCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRo
IDEzNS4wNzogImRpclJUTCB1YkVtYmVkIgorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNo
b3IpIHRleHQgcnVuIDEgYXQgKDI4My42NSwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDE0IHdpZHRoIDg0LjE1IFJUTDogIlx4ezY0Nn1ceHs2MzR9XHh7NjI3fVx4ezYzN30gXHh7NjI3
fVx4ezY0NH1ceHs2MkF9XHh7NjJGfVx4ezY0OH1ceHs2NEF9XHh7NjQ0fSBcIiIKKyAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICg5MiwxNjMpIHNpemUgMjc2eDIxIGNvbnRhaW5zIDEgY2h1
bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxOTEsMCkgc2l6
ZSA4NXgyMQorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQg
KDI4My42NSwxODAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDg0LjE1IFJU
TDogIlx4ezY0Nn1ceHs2MzR9XHh7NjI3fVx4ezYzN30gXHh7NjI3fVx4ezY0NH1ceHs2MkF9XHh7
NjJGfVx4ezY0OH1ceHs2NEF9XHh7NjQ0fSBcIiIKKyAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3Rz
cGFufSBhdCAoMCwwKSBzaXplIDE4MXgyMQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMTEsMCkgc2l6ZSAxODF4MjEKKyAgICAgICAgICAgIGNodW5rIDEgKG1pZGRs
ZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDEwMy42MCwxODAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDggd2lkdGggNDQuOTggUlRMOiAiLCBceHs2Mjd9XHh7NjJFfVx4ezYyQX1ceHs2Mjh9
XHh7NjI3fVx4ezYzMX0iCisgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgxNDguNTgsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0
aCAxMzUuMDc6ICJkaXJSVEwgdWJFbWJlZCIKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTJ4MjEKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5j
aG9yKSB0ZXh0IHJ1biAxIGF0ICg5Mi4yMSwxODAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDIgd2lkdGggMTEuMzkgUlRMOiAiXCIhIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5jcHAKaW5kZXggNGNiOTA5M2JmMWIuLjVhZWU0Y2M0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvci5jcHAKQEAgLTM3LDE5ICszNyw3IEBAIFN1cnJvZ2F0ZVBhaXJBd2Fy
ZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFy
KiBjaGFyCiAKIGJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xv
d0Nhc2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKIHsKLSAg
ICBpZiAoY2hhcmFjdGVyIDw9IDB4MzBGRSkgewotICAgICAgICAvLyBEZWFsIHdpdGggSGlyYWdh
bmEgYW5kIEthdGFrYW5hIHZvaWNlZCBhbmQgc2VtaS12b2ljZWQgc3lsbGFibGVzLgotICAgICAg
ICAvLyBOb3JtYWxpemUgaW50byBjb21wb3NlZCBmb3JtLCBhbmQgdGhlbiBsb29rIGZvciBnbHlw
aCB3aXRoIGJhc2UgKyBjb21iaW5lZCBtYXJrLgotICAgICAgICAvLyBDaGVjayBhYm92ZSBmb3Ig
Y2hhcmFjdGVyIHJhbmdlIHRvIG1pbmltaXplIHBlcmZvcm1hbmNlIGltcGFjdC4KLSAgICAgICAg
aWYgKFVDaGFyMzIgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVZvaWNpbmdNYXJrcygpKSB7Ci0gICAg
ICAgICAgICBjaGFyYWN0ZXIgPSBub3JtYWxpemVkOwotICAgICAgICAgICAgY2x1c3Rlckxlbmd0
aCA9IDI7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYg
KCFVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpCi0gICAgICAgIHJldHVybiB0cnVlOworICAg
IEFTU0VSVChVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpOwogCiAgICAgLy8gSWYgd2UgaGF2
ZSBhIHN1cnJvZ2F0ZSBwYWlyLCBtYWtlIHN1cmUgaXQgc3RhcnRzIHdpdGggdGhlIGhpZ2ggcGFy
dC4KICAgICBpZiAoIVUxNl9JU19TVVJST0dBVEVfTEVBRChjaGFyYWN0ZXIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4
dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQ
YWlyQXdhcmVUZXh0SXRlcmF0b3IuaAppbmRleCA0NzBkMTRhZjI1ZC4uMzU0ZmM5OWUxMDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oCkBAIC00MCw3ICs0MCw3IEBAIHB1Ymxp
YzoKICAgICAgICAgY2hhcmFjdGVyID0gKm1fY2hhcmFjdGVyczsKICAgICAgICAgY2x1c3Rlckxl
bmd0aCA9IDE7CiAKLSAgICAgICAgaWYgKGNoYXJhY3RlciA8IEhpcmFnYW5hTGV0dGVyU21hbGxB
KQorICAgICAgICBpZiAoIVUxNl9JU19TVVJST0dBVEUoY2hhcmFjdGVyKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgICAgIHJldHVybiBjb25zdW1lU2xvd0Nhc2UoY2hhcmFjdGVy
LCBjbHVzdGVyTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCBmZjZm
YzhkODMyOS4uYzQzNWVhYmJkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZTdHJp
bmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAgICB2YWx1ZXNbMF0gPSBw
bGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQgPSAxOwogCi0jaWYgVVNF
KENURk9OVFNIQVBFR0xZUEhTKQorI2lmIDAgJiYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQogICAg
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbG9jYWxlU3RyaW5nOwogICAgIGlmICghbG9jYWxlLmlz
RW1wdHkoKSkgewogICAgICAgICBsb2NhbGVTdHJpbmcgPSBsb2NhbGUuc3RyaW5nKCkuY3JlYXRl
Q0ZTdHJpbmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406276</attachid>
            <date>2020-08-09 17:50:30 -0700</date>
            <delta_ts>2020-08-09 18:02:19 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>bug-215059-20200809175029.patch</filename>
            <type>text/plain</type>
            <size>46638</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmE1NWQxYWJhMmE2OGJkNmY4ZDdkNGU5NWE0MDRjZTYzYmJlZjAy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNhMDQ3
ZWY3MjQ2NGUyNWFkMDQ0NTlhZTM5NjQ5ODA3ZmRjMTE3NmIuLjk4OWZmOTI4ZjkxOTYxZWQ2NmMz
NDNiN2ExNzAyYmM2ZDE4YWRkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0w
OC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGVy
ZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBoeXBoZW4ga2VybmluZywg
d2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cykuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjph
cHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNvbnN0KToKKwogMjAyMC0w
OC0wOSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVsb2FkIGdyYXBo
aWNzIGRyaXZlcnMgaW4gTWFjIFdlYlByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDM4YzY3
YjVlZDAyYzc0MWMzZTM1OGQ3YmVjM2IzYWI4ZTIzZmY4YzguLjA2NjgxNzNkMmZmMzAzMzI4OTgy
YWYxZWQxNDRiMzk4MTkzMWNmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExh
bmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIw
MjAtMDgtMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwZXJpbWVudGFsOiBDYXAgdGhlIGV4cGlyeSBvZiBwZXJzaXN0ZW50IGNvb2tpZXMgc2V0IGlu
IDNyZC1wYXJ0eSBDTkFNRSBjbG9ha2VkIEhUVFAgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1
OGQ1MWE4MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxl
eGV5IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJl
ZlB0cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZv
bnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBj
b25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5n
JiwgU3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2Fm
NzA3YjdlZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWVi
MjVmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1w
bGVtZW50YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIw
Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBl
bmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9j
YWxlKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBi
b29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5n
JiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVy
dGllcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0
ZDkuLjg2NWFmODJmNmJlYzgyNmYzMzRhMTJmY2E5YzI5MmIxOTIyYmZkZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNiw3
ICs0MjYsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBI
YXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLWZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0
KSBjb25zdAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3
IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4
dC5pc051bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDUs
NyArNDQ1LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdW
aWV3IHRleHQpIGNvbnN0CiAgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5
cGhXaWR0aCwgaSk7CiAgICAgfQogCi0gICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZm
ZXIsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlv
bigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCAwLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3Jp
cHRpb24oKS5jb21wdXRlZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAvLyBU
aGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4K
ICAgICAvLyBTYW1lIGdseXBoIHdpZHRocyBidXQgZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IGFy
aXRobWV0aWMgY2FuIHByb2R1Y2UgZGlmZmVyZW50IHJ1biB3aWR0aC4KICAgICBmbG9hdCBydW5X
aWR0aERpZmZlcmVuY2VXaXRoVHJhbnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTEs
NiArMTM5MSw4IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNv
bnN0IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwg
d2l0aCB0aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBo
QnVmZmVyLnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwog
CisgICAgLy8gVGhlIGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwK
KyAgICAvLyBidXQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVy
LgogICAgIGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5
cGhCdWZmZXIuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYXNjYWRlLmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1
NGFiYy4uMzE4MDcyYmM4MWE4N2UxYzY5YTc3YWI4MjZiMTdiZDRmMWZhNjBmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyAr
MTE2LDcgQEAgcHVibGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0
UnVuJiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBm
bG9hdCogb3V0V2lkdGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3
aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0
aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVj
dGlvbjo6TFRSIC8qIG1hdGNoZXMgZGVmYXVsdCBhcmd1bWVudCBvZiBUZXh0UnVuIGNvbnN0cnVj
dG9yICovKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5
b3V0RGVsZXRlcj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNv
bGxhcHNlV2hpdGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlv
dXQmLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UZXh0UnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
UnVuLmgKaW5kZXggZWNiYzVlZWE5YjlkMWUzZTNjNDUxM2FmNTgwNjdlNTdlODJhNWRhNy4uZDc3
OTE0YzJiNjllMmU2Y2QwOTI4OWYxODYyZTZlOGQ1OGQwYWExYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaApAQCAtNDMsNiArNDMsNyBAQCBzdHJ1Y3QgR2x5
cGhEYXRhOwogY2xhc3MgVGV4dFJ1biB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgLy8gTFRSIGRlZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0KCkncyBkZWZhdWx0IGFyZ3VtZW50LgogICAgIGV4cGxpY2l0IFRl
eHRSdW4oY29uc3QgU3RyaW5nJiB0ZXh0LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9u
ID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBEZWZhdWx0RXhwYW5z
aW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxUUiwgYm9vbCBk
aXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZvckNvZGVQYXRo
ID0gdHJ1ZSkKICAgICAgICAgOiBtX3RleHQodGV4dCkKICAgICAgICAgLCBtX3RhYlNpemUoMCkK
QEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIW1fdGV4dC5pc051bGwo
KSk7CiAgICAgfQogCisgICAgLy8gTFRSIGRlZmF1bHQgYXJndW1lbnQgbWF0Y2hlcyBGb250Q2Fz
Y2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkncyBkZWZhdWx0IGFyZ3VtZW50LgogICAgIGV4cGxp
Y2l0IFRleHRSdW4oU3RyaW5nVmlldyBzdHJpbmdWaWV3LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQg
ZXhwYW5zaW9uID0gMCwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBEZWZh
dWx0RXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IFRleHREaXJlY3Rpb246OkxU
UiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZv
ckNvZGVQYXRoID0gdHJ1ZSkKICAgICAgICAgOiBUZXh0UnVuKHN0cmluZ1ZpZXcudG9TdHJpbmdX
aXRob3V0Q29weWluZygpLCB4cG9zLCBleHBhbnNpb24sIGV4cGFuc2lvbkJlaGF2aW9yLCBkaXJl
Y3Rpb24sIGRpcmVjdGlvbmFsT3ZlcnJpZGUsIGNoYXJhY3RlclNjYW5Gb3JDb2RlUGF0aCkKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCmluZGV4IDdlYjI3ZDZkMDkxYjc1OTlmYTliNTU1OGZkNDhiYmI2YjA1ZDU4MzEuLjcz
N2VhNzY1ZTFjYTI4NjRhYmNjMDFlZjg1OGVmYzdjODk5M2YxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC03OCwyNCAr
NzgsMjIgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVw
b2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2RlcG9pbnQgPD0gMHhF
NTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBl
CitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNv
bnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVu
c2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKIHsK
LSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlz
U29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgaWYgKGdseXBoQnVmZmVyLnNp
emUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggJiYg
aXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXggLSAxXSkp
CiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmIChtX3J1bi5s
ZW5ndGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5vbmU7CiAgICAg
cmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBmbG9hdCBXaWR0
aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwg
Ym9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYgZm9udCwgVUNo
YXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRv
cjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIGJvb2wgbHRy
LCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4
LCBjb25zdCBGb250JiBmb250LCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Um
IGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHByZXZpb3Vz
Q2hhcmFjdGVyLCBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5
cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpICE9IFdpZHRoSXRlcmF0b3I6OlRyYW5zZm9ybXNU
eXBlOjpOb25lKTsKKyAgICBBU1NFUlRfVU5VU0VEKGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgc2hv
dWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCkgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
OwogCiAgICAgYXV0byBnbHlwaEJ1ZmZlclNpemUgPSBnbHlwaEJ1ZmZlci5zaXplKCk7Ci0gICAg
aWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKSB7Ci0g
ICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXJTaXplOworICAgIGlmICghZm9yY2Ug
JiYgZ2x5cGhCdWZmZXJTaXplIDw9IGxhc3RHbHlwaENvdW50ICsgMSkKICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgfQogCiAgICAgR2x5cGhCdWZmZXJBZHZhbmNlKiBhZHZhbmNlcyA9IGdseXBoQnVm
ZmVyLmFkdmFuY2VzKDApOwogICAgIGZsb2F0IGJlZm9yZVdpZHRoID0gMDsKQEAgLTEwMywxNyAr
MTAxLDE1IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgICAgIGJlZm9yZVdpZHRoICs9
IGFkdmFuY2VzW2ldLndpZHRoKCk7CiAKICAgICBBU1NFUlQobGFzdEdseXBoQ291bnQgPD0gZ2x5
cGhCdWZmZXJTaXplKTsKLSAgICBpZiAoIWx0cikKLSAgICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJz
ZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhCdWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOwogCi0g
ICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBtX2Vu
YWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCku
Y29tcHV0ZWRMb2NhbGUoKSk7CisgICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIs
IGxhc3RHbHlwaENvdW50LCBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCwgbV9lbmFibGVLZXJuaW5n
LCBtX3JlcXVpcmVzU2hhcGluZywgbV9mb250LmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9j
YWxlKCksIG1fcnVuLnRleHQoKSwgbV9ydW4uZGlyZWN0aW9uKCkpOwogICAgIGdseXBoQnVmZmVy
U2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RH
bHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpCisgICAgR2x5cGhCdWZmZXJPcmln
aW4qIG9yaWdpbnMgPSBnbHlwaEJ1ZmZlci5vcmlnaW5zKDApOworICAgIGZvciAodW5zaWduZWQg
aSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAg
YWR2YW5jZXNbaV0uc2V0SGVpZ2h0KC1hZHZhbmNlc1tpXS5oZWlnaHQoKSk7Ci0KLSAgICBpZiAo
IWx0cikKLSAgICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZShsYXN0R2x5cGhDb3VudCwgZ2x5cGhC
dWZmZXJTaXplIC0gbGFzdEdseXBoQ291bnQpOworICAgICAgICBvcmlnaW5zW2ldLnNldFkoLW9y
aWdpbnNbaV0ueSgpKTsKKyAgICB9CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsYXN0R2x5cGhD
b3VudDsgaSA8IGdseXBoQnVmZmVyU2l6ZTsgKytpKSB7CiAgICAgICAgIGF1dG8gY2hhcmFjdGVy
SW5kZXggPSBnbHlwaEJ1ZmZlci5zdHJpbmdPZmZzZXRBdChpKTsKQEAgLTEzMyw3ICsxMjksNiBA
QCBpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1
ZmZlciYgZ2x5cGhCdWZmZXIsIGJvb2wgbAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlw
aENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpCiAgICAgICAgIGFmdGVyV2lkdGggKz0g
YWR2YW5jZXNbaV0ud2lkdGgoKTsKIAotICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXJT
aXplOwogICAgIHJldHVybiBhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGg7CiB9CiAKQEAgLTE2OSw3
ICsxNjQsNyBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6cGFpcjxib29sLCBib29sPiBleHBhbnNpb25M
b2NhdGlvbihib29sIGlkZW9ncmFwaCwgYm9vbCB0cmVhdAogdGVtcGxhdGUgPHR5cGVuYW1lIFRl
eHRJdGVyYXRvcj4KIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChU
ZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQogewot
ICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVlZHMgdG8gbWF0Y2ggU2ltcGxlTGluZUxheW91
dDo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKKyAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRz
IHRvIG1hdGNoIEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoKQogICAgIGJvb2wgcnRs
ID0gbV9ydW4ucnRsKCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRl
clNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1f
cnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCkBAIC0xODUsMTMgKzE4MCwxNCBAQCBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQqIGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9u
dDsKICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsKIAor
ICAgIGF1dG8gY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRl
eCgpOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKLSAgICBVQ2hhcjMyIHByZXZpb3VzQ2hh
cmFjdGVyID0gMDsKICAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKICAgICBDaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2UgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlOwogICAgIFN0cmluZyBu
b3JtYWxpemVkU3BhY2VzU3RyaW5nQ2FjaGU7CiAgICAgLy8gV2UgYXJlIGl0ZXJhdGluZyBpbiBz
dHJpbmcgb3JkZXIsIG5vdCBnbHlwaCBvcmRlci4gQ29tcGFyZSB0aGlzIHRvIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMoKQogICAgIHdoaWxlICh0ZXh0SXRl
cmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CisgICAgICAgIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAg
dW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7CiAgICAgICAgIGJvb2wgY2hh
cmFjdGVyTXVzdERyYXdTb21ldGhpbmcgPSAhaXNEZWZhdWx0SWdub3JhYmxlQ29kZVBvaW50KGNo
YXJhY3Rlcik7CiAjaWYgVVNFKEZSRUVUWVBFKQpAQCAtMjAyLDcgKzE5OCw2IEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogI2VuZGlm
Ci0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVu
dEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9mb250Lmds
eXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBo
ID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0
RHJhd1NvbWV0aGluZykgewpAQCAtMjIzLDEyICsyMTgsMTIgQEAgaW5saW5lIHZvaWQgV2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlw
aEJ1ZmYKICAgICAgICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2go
KTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSAmJiB3aWR0
aCkgewotICAgICAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7
Ci0gICAgICAgICAgICBpZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUp
IHsKLSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRh
LCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZv
cmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgICAgICAgICBnbHlwaEJ1
ZmZlci5zaHJpbmsobGFzdEdseXBoQ291bnQpOwotICAgICAgICAgICAgfQorICAgICAgICBpZiAo
Zm9udCAhPSBsYXN0Rm9udERhdGEpIHsKKyAgICAgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUg
PSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwg
Y3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAh
PSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIg
Kz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlw
aENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsICpsYXN0Rm9udERhdGEsIHRyYW5zZm9ybXNU
eXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7
CisgICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsKKyAgICAg
ICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4Owog
CiAgICAgICAgICAgICBsYXN0Rm9udERhdGEgPSBmb250OwogICAgICAgICAgICAgaWYgKG1fZmFs
bGJhY2tGb250cyAmJiBmb250ICE9ICZwcmltYXJ5Rm9udCkgewpAQCAtMjgyLDYgKzI3Nyw4IEBA
IGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3Im
IHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbHlwaEJ1ZmZlci5hZGQoZm9udC0+emVyb1dpZHRoU3BhY2VHbHlwaCgpLCAqZm9udCwg
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGZvbnQtPnNwYWNlR2x5cGgoKSwgKmZvbnQsIG1f
ZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXItPnNp
emUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4
cGFuZExhc3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTMwNyw3ICszMDQsNyBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAg
ICAgICB9CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7
CisgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1z
KGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAg
ICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lICYmIEZvbnRD
YXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewogICAgICAgICAgICAgY2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZCgKICAgICAgICAgICAgICAgICBjdXJy
ZW50Q2hhcmFjdGVySW5kZXgsCkBAIC0zMzcsMjMgKzMzNCwxOSBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WSA9IHN0ZDo6bWluKG1f
bWluR2x5cGhCb3VuZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAgICAgICAgbV9sYXN0R2x5
cGhPdmVyZmxvdyA9IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4WCgpIC0gd2lkdGgpOwog
ICAgICAgICB9Ci0gICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAgIH0K
IAorICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGds
eXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICBp
ZiAodHJhbnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpCisgICAgICAgIG1fcnVu
V2lkdGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIo
KSwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0YSwg
dHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0
ZWRBc1NwYWNlKTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5j
dXJyZW50SW5kZXgoKTsKKwogICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewog
ICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5h
ZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxl
ZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBo
KCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5n
dGgoKSAtIDEpOwogICAgIH0KLQotICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFy
YWN0ZXIpOwotICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkg
ewotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1
ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91
c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgZ2x5cGhCdWZmZXIuc2hyaW5rKGxhc3RH
bHlwaENvdW50KTsKLSAgICB9Ci0KLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJ
dGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIH0KIAogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4IGZjYjBlY2I5
YzA0MDg2YzU2YzhjZDc4ZjYxMjBmYjYxOThiNDE1MWEuLjg1OGM2M2FkYzcyM2U4YzM5YWNkYzE1
ODk0NjAzNzZjYjZhZGU0OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTYwLDggKzYwLDggQEAgcHJpdmF0ZToKICAgICBpbmxp
bmUgdm9pZCBhZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZmZXImKTsKIAog
ICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jtc1R5cGUgeyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9
OwotICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5
cGhCdWZmZXImLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJh
Y3RlcikgY29uc3Q7Ci0gICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYs
IGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQmLCBVQ2hhcjMy
IHByZXZpb3VzQ2hhcmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2Um
KTsKKyAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEds
eXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCkgY29uc3Q7CisgICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1
ZmZlciYsIGJvb2wgbHRyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVu
dENoYXJhY3RlckluZGV4LCBjb25zdCBGb250JiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0
ZWRBc1NwYWNlJik7CiAKICAgICBjb25zdCBGb250Q2FzY2FkZSYgbV9mb250OwogICAgIGNvbnN0
IFRleHRSdW4mIG1fcnVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDY1YjVlMTY0MGFkYjcyODc4ZTMzZThkODlkZjhm
NGY5NWY5ZjEyOGQuLjkzZmIwMDA0ZTJkMDRhYTc1OTMzYTFiZDFjYjdiYzhiODE3ZjVjYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29j
b2EubW0KQEAgLTU0NCwyOCArNTQ0LDc4IEBAIFJlZlB0cjxGb250PiBGb250OjpwbGF0Zm9ybUNy
ZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2NhbGVGCiAgICAg
cmV0dXJuIGNyZWF0ZURlcml2YXRpdmVGb250KHNjYWxlZEZvbnQuZ2V0KCksIHNpemUsIG1fcGxh
dGZvcm1EYXRhLm9yaWVudGF0aW9uKCksIGZvbnRUcmFpdHMsIG1fcGxhdGZvcm1EYXRhLnN5bnRo
ZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljT2JsaXF1ZSgpKTsKIH0KIAotdm9p
ZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25l
ZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGlu
ZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBjb25zdAordm9pZCBGb250OjphcHBseVRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBiZWdpbm5pbmdHbHlwaElu
ZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdTdHJpbmdJbmRleCwgYm9vbCBlbmFibGVLZXJuaW5nLCBi
b29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlLCBTdHJpbmdWaWV3
IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKLSAgICAvLyBGSVhN
RTogSW1wbGVtZW50IEdseXBoQnVmZmVyIGluaXRpYWwgYWR2YW5jZS4KICAgICBVTlVTRURfUEFS
QU0ocmVxdWlyZXNTaGFwaW5nKTsKLSAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMg
PSAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkg
fCBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nOwotI2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1H
TFlQSFNXSVRITEFOR1VBR0UpCi0gICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBD
R0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyKSB7
CisKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IEdseXBoQnVmZmVyIGluaXRpYWwgYWR2YW5jZS4K
KyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCisgICAgYXV0byBoYW5kbGVyID0gXihDRlJhbmdl
IHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQ
b2ludGVyLCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2Vz
UG9pbnRlcikgewogICAgICAgICByYW5nZS5sb2NhdGlvbiA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJh
bmdlLmxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4PigwKSksIHN0YXRpY19jYXN0PENGSW5k
ZXg+KGdseXBoQnVmZmVyLnNpemUoKSkpOwogICAgICAgICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkg
ewogICAgICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3RkOjptaW4ocmFuZ2UubG9jYXRpb24sIC1y
YW5nZS5sZW5ndGgpOwogICAgICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSByYW5nZS5sb2NhdGlv
biAtIHJhbmdlLmxlbmd0aDsKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5p
bmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgpOworICAgICAgICAgICAgZ2x5
cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0dseXBoSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFu
Z2UubGVuZ3RoKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtl
SG9sZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMp
OwotICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5p
bmdJbmRleCk7Ci0gICAgICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZh
bmNlcyhiZWdpbm5pbmdJbmRleCk7CisgICAgICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShi
ZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7
CisKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5u
aW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZhbmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZl
ci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld09mZnNldHNQb2lu
dGVyID0gZ2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKKyAgICAgICAg
Km5ld0luZGljZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIub2Zmc2V0c0luU3RyaW5nKGJlZ2lubmlu
Z0dseXBoSW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1
YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5n
SW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJl
Z2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBvcHRp
b25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhs
b2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGhhbmRsZXIpOworCisgICAg
YXV0byBzdWJzdHJpbmcgPSB0ZXh0LnN1YnN0cmluZyhiZWdpbm5pbmdTdHJpbmdJbmRleCk7Cisg
ICAgYXV0byB1cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBzdWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFy
YWN0ZXJzKCk7CisgICAgYXV0byBsb2NhbGVTdHJpbmcgPSBMb2NhbGVDb2NvYTo6Y2Fub25pY2Fs
TGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3Ry
aW5nKCk7CisgICAgQ1RGb250U2hhcGVPcHRpb25zIG9wdGlvbnMgPSBrQ1RGb250U2hhcGVXaXRo
Q2x1c3RlckNvbXBvc2l0aW9uCisgICAgICAgIHwgKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250U2hh
cGVXaXRoS2VybmluZyA6IDApCisgICAgICAgIHwgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVj
dGlvbjo6UlRMID8ga0NURm9udFNoYXBlUmlnaHRUb0xlZnQgOiAwKTsKKworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4
OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlw
aEluZGV4KVtpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsKKworICAgIENURm9udFNoYXBlR2x5
cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwKKyAgICAgICAgZ2x5cGhCdWZm
ZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAorICAgICAgICByZWludGVycHJldF9jYXN0
PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpKSwKKyAg
ICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4oZ2x5cGhCdWZmZXIub3JpZ2lucyhiZWdp
bm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhi
ZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlD
aGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgpKSwKKyAgICAgICAgZ2x5cGhCdWZmZXIu
c2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwKKyAgICAgICAgb3B0aW9ucywKKyAgICAgICAg
bG9jYWxlU3RyaW5nLmdldCgpLAorICAgICAgICBoYW5kbGVyKTsKKworICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyAr
K2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaElu
ZGV4KVtpXSArPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsKKwogI2Vsc2UKKworICAgIFVOVVNFRF9Q
QVJBTShiZWdpbm5pbmdTdHJpbmdJbmRleCk7CiAgICAgVU5VU0VEX1BBUkFNKGxvY2FsZSk7Ci0g
ICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1
ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGds
eXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAt
IGJlZ2lubmluZ0luZGV4LCBvcHRpb25zKTsKKyAgICBVTlVTRURfUEFSQU0odGV4dCk7CisKKyAg
ICAvLyBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoKSBvcGVyYXRlcyBpbiB2aXN1YWwgb3JkZXIsIGJ1
dCBXaWR0aEl0ZXJhdG9yIGl0ZXJhdGVzIGluIGxvZ2ljYWwgb3JkZXIuCisgICAgLy8gVGVtcG9y
YXJpbHkgcHV0IHVzIGluIHZpc3VhbCBvcmRlciBqdXN0IGZvciB0aGUgY2FsbCwgdGhlbiBwdXQg
dXMgYmFjayBpbnRvIGxvZ2ljYWwgb3JkZXIgd2hlbgorICAgIC8vIHRoZSBjYWxsIGlzIGRvbmUu
CisgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIGdsb2JhbCB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhC
dWZmZXI7IHdlJ3JlIGp1c3Qgb3BlcmF0aW5nIG9uIGEgc2luZ2xlIGNodW5rIG9mIGl0LgorICAg
IC8vIFdpZHRoSXRlcmF0b3IgZW5jb3VudGVycyB0aGUgY2h1bmtzIG91dCBpbiBsb2dpY2FsIG9y
ZGVyLCBzbyB3ZSBoYXZlIHRvIG1haW50YWluIHRoYXQgaW52YXJpYW50LgorICAgIC8vIEV2ZW50
dWFsbHksIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KCkgd2lsbCByZXZlcnNlIHRoZSB3
aG9sZSBidWZmZXIgdG8gcHV0IHRoZSBlbnRpcmUgdGhpbmcKKyAgICAvLyBpbiB2aXN1YWwgb3Jk
ZXIsIGJ1dCB0aGF0J3Mgb2theSBiZWNhdXNlIGl0IGhhcyBhIHZpZXcgb2YgdGhlIGVudGlyZSBH
bHlwaEJ1ZmZlci4KKyAgICAvLyBPbiB0aGUgb3RoZXIgaGFuZCwgQ1RGb250U2hhcGVHbHlwaHMo
KSBhY2NlcHRzIHRoZSBidWZmZXIgaW4gbG9naWNhbCBvcmRlciBidXQgcmV0dXJucyBpdCBpbiBw
aHlzaWNhbAorICAgIC8vIG9yZGVyLCB3aGljaCBtZWFucyB0aGUgc2Vjb25kIHJldmVyc2UoKSBp
biB0aGlzIGZ1bmN0aW9uIHN0aWxsIG5lZWRzIHRvIGV4ZWN1dGUgd2hlbgorICAgIC8vIENURm9u
dFNoYXBlR2x5cGhzKCkgaXMgYmVpbmcgdXNlZC4KKyAgICBpZiAodGV4dERpcmVjdGlvbiA9PSBU
ZXh0RGlyZWN0aW9uOjpSVEwpCisgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoYmVnaW5uaW5n
R2x5cGhJbmRleCwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCk7CisK
KyAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/IGtD
VEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCBrQ1RGb250VHJhbnNmb3JtQXBw
bHlTaGFwaW5nOworICAgIENURm9udFRyYW5zZm9ybUdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLCByZWludGVycHJl
dF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0dseXBoSW5kZXgp
KSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwgb3B0aW9ucyk7CiAj
ZW5kaWYKKworICAgIC8vIFNlZSB0aGUgY29tbWVudCBhYm92ZSBpbiB0aGlzIGZ1bmN0aW9uIHdo
ZXJlIHRoZSBvdGhlciBjYWxsIHRvIHJldmVyc2UoKSBpcy4KKyAgICBpZiAodGV4dERpcmVjdGlv
biA9PSBUZXh0RGlyZWN0aW9uOjpSVEwpCisgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoYmVn
aW5uaW5nR2x5cGhJbmRleCwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRl
eCk7CiB9CiAKIHN0YXRpYyBpbnQgZXh0cmFjdE51bWJlcihDRk51bWJlclJlZiBudW1iZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9u
dERhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKaW5kZXggMzI1NzlkYTA2MTdhOTA0NDE1NGM1NWZj
NGY4MTBjYWJkMjQxN2RhNC4uZmY2ZmM4ZDgzMjlkNDRmZmE5MTJkYjdhMDZlMDNkOTk0MWI2NDYw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZXRh
aW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMoYm9vbCBl
bmFibGVLZXJuaW5nLCBGb250TwogICAgIHZhbHVlc1swXSA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9u
dCgpOwogICAgIHNpemVfdCBjb3VudCA9IDE7CiAKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZ
UEhTV0lUSExBTkdVQUdFKQorI2lmIFVTRShDVEZPTlRTSEFQRUdMWVBIUykKICAgICBSZXRhaW5Q
dHI8Q0ZTdHJpbmdSZWY+IGxvY2FsZVN0cmluZzsKICAgICBpZiAoIWxvY2FsZS5pc0VtcHR5KCkp
IHsKICAgICAgICAgbG9jYWxlU3RyaW5nID0gbG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5n
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggN2E2NGVjMGMzYTQwOTE2NjE4MWRlYzdmMTBjOGM3NGJhNTUzMTBhMC4uMmFk
NDVlZjUxNGFmMmRhNTdjM2M2MjgwNmRiYjI5Y2NjMTExOWVhYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0
aExhbmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgU29mdCBoeXBoZW5zIGFyZSBrZXJuZWQgbm93ISBUaGlz
IGlzIGEgcHJvZ3Jlc3Npb24uCisKKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tMi1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuIFBsYXRmb3JtLXNwZWNpZmljIHJlbmRlcnRyZWUgZHVtcHMK
KyAgICAgICAgbmVlZCB0byBiZSBpbiBwbGF0Zm9ybS8gc3ViZm9sZGVycy4KKyAgICAgICAgKiBm
YXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRt
bDoKKyAgICAgICAgKiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhw
ZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGln
YXR1cmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAy
MC0wOC0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgR2x5cGhCdWZmZXJzIHJlcXVpcmVkIGluIHRoZSBmYXN0IHRleHQgY29kZXBhdGgK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMzZmIyZmQyMDFjN2ZiZjcwNTAwOGM1OGI1
MTc2MjczZWViZmRiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg0MCBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZG
MDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDQwCi0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiaGVuXHh7QUR9YVx4e0FEfSIg
KyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkg
d2lkdGggMTAwOiAidGlvbi4iCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MCkgc2l6
ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHg0MAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDEwMDogImhlbmFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsODApIHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBb
Ymdjb2xvcj0jRkYwMDAwXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxMDB4MjAKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICI1eDVzcSIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRjYTg1OGM2YjJhMjI5YjYzYWFiMWE2NmU1
NDVhMDQ0ZDFiMTU3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDIyNXg1MCBbY29sb3I9I0ZGRkZGRl0KLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTAweDI1Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMTAwOiAiRGlkIFx4e0FEfSIKLSAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDc1eDI1IFtjb2xvcj0jMDA4MDAwXQotICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTAwLDApIHNpemUgNzV4MjUKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMDAsMCkgd2lkdGggNzU6ICJub3QiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwyNSkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNSkgd2lkdGgg
MTAwOiAiZmFpbCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFiMmE0YmQ5MTgzYzhk
NDU4ZjgxOGRhYWI3NTUwNzM3Y2RiMWMxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc2Ci0gICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MAotICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAzNDR4MTA0IFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCld
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNyw3KSBzaXplIDMzMHgzNgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICg3LDcpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0i
ICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsMjUp
IHdpZHRoIDE0NDogImFsaWFzaW5nIgotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNTEsMzkp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNDMpIHNpemUgMHgxOAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNjEpIHNpemUgMzMweDM2Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDcsNjEpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsg
aHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzkpIHdp
ZHRoIDE0NDogImFsaWFzaW5nIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNpemUgNzg0eDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVk
LXdpZHRoLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3ZWU3YTNjZTE2
OWI4MGE2NjJhNmRlZTNhYjI2ZmUyODQuLjlmYjdlYmEwZmQ3NmMyYzBhYWRjMzFmMjA0MmUwMjc0
MjgwM2Y2MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1t
aW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbApAQCAtMTEs
NyArMTEsNyBAQAogPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+
CiAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmFyPHNwYW4+LTwvc3Bh
bj48YnI+aWx5PC9kaXY+CisgICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hLTxicj5yaWx5PC9k
aXY+CiAgICAgICAgIDwvdGQ+CiAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMCUiPjwvdGQ+
CiAgICAgPC90cj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1o
eXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCmluZGV4IGRlOGIxY2FhNWMyYWNiNTIwNjBk
ZDA3ODdhOTYyMmFmOWJmMjJkNmQuLmE2NTAzODViY2E5YzA1NjM3Nzc3ZjIyYTk4ODVhZDc0MGM1
N2UyNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4t
cHJlZmVycmVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNl
bGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAg
ICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmFy
JnNoeTtpbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczog
bWFudWFsOyI+ZXh0cmFvcmRpbmEmc2h5O3JpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAg
ICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VuZGVmaW5lZC1nbHlwaC13aXRoLWxpZ2F0dXJlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGln
YXR1cmUtZXhwZWN0ZWQuaHRtbAppbmRleCAwYzU2ZmNmYmQxNzdhYzkyMjBkZWMyMTJhZDkxNjAw
MjQ3YTA4YTAyLi4zZTE4N2ExYmMxM2RkODVkZDk2Y2FiODIzYmZjMTU2ZWVlYjFlODQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1
cmUtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWds
eXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbApAQCAtMTEsNiArMTEsNiBAQAogPGJvZHk+
CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBjb21iaW5hdGlvbiBvZiBsaWdhdHVyZXMg
YW5kIG5vbmV4aXN0YW50IGdseXBocyBkbyBub3QgY2F1c2UgYXJiaXRyYXJ5IGdseXBocyB0byBi
ZSByZW5kZXJlZC4KIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIHR3byBibGFjayByZWN0YW5n
bGVzIGJlbG93LCBhbmQgbm90aGluZyBlbHNlLgotPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExp
dGhlcnVtOyI+QUJBPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij48
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxcHg7IGhlaWdodDogNTBw
eDsiPjwvZGl2PkFCQTwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3VuZGVmaW5lZC1nbHlwaC13aXRoLWxpZ2F0dXJlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbAppbmRl
eCAzOTg0MjBkOWU3MjQ0ODc0NjI1MjQxOGE0YzgzODE2MDcxYzc5N2Y3Li41ZmExY2E4MmIyZDU2
YjdhZWVjNjk5MTQwNjQyZGNiNzQ3NGM2YTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbApAQCAtMTEsNiAr
MTEsNiBAQAogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBjb21iaW5hdGlv
biBvZiBsaWdhdHVyZXMgYW5kIG5vbmV4aXN0YW50IGdseXBocyBkbyBub3QgY2F1c2UgYXJiaXRy
YXJ5IGdseXBocyB0byBiZSByZW5kZXJlZC4KIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIHR3
byBibGFjayByZWN0YW5nbGVzIGJlbG93LCBhbmQgbm90aGluZyBlbHNlLgotPGRpdiBzdHlsZT0i
Zm9udC1mYW1pbHk6IExpdGhlcnVtOyI+QUImc2h5O0E8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
ZmFtaWx5OiBMaXRoZXJ1bTsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lk
dGg6IDFweDsgaGVpZ2h0OiA1MHB4OyI+PC9kaXY+QUImc2h5O0E8L2Rpdj4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZmI4ZmU1OGRjODVh
ZWUxZTI5NDM5NmY2NTMxNjFhNDg2MTJkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTYgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDAp
IHNpemUgMTAweDQ1IFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSAxMDB4NDEKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw0KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcg
Ilx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI1KSB3aWR0aCAxMDA6ICJ0aW9u
LiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQ1KSBzaXplIDEwMHg0NSBbY29sb3I9
IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDQpIHNpemUgMTAweDQxCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNCkgd2lkdGggMTAw
OiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwyNSkgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCw5MCkgc2l6ZSAxMDB4MjAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBd
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHgyMAorICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogIjV4NXNxIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMxMmVmZWM4MjIyMWYwNWMyZWUyMTA2MDIxNmFkMzg5NjIw
ZGY4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMjV4NTUgW2NvbG9yPSNG
RkZGRkZdCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDEwMHgyNQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDEwMDogIkRpZCBceHtBRH0iCisgICAg
ICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3NXgyNSBbY29sb3I9IzAwODAw
MF0KKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMCw0KSBzaXplIDc1eDI1Cisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDQpIHdpZHRoIDc1OiAibm90IgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzApIHNpemUgMTAweDI1CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMzApIHdpZHRoIDEwMDogImZhaWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZjMzYTkwMGJjZDcxMjE1YThiMDEwZWQ5MWE0MmI0ZWJkMDNmZGE4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg0NyBbY29sb3I9IzAwODAwMF0gW2Jn
Y29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUg
MTAweDQyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTAwOiAiaGVuXHh7QUR9
YVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwyNykgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCw0Nykgc2l6ZSAxMDB4NDcgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDEwMHg0MgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDUpIHdpZHRoIDEwMDogImhlbmFceHtBRH0iICsgaHlwaGVuIHN0cmluZyAi
XHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjcpIHdpZHRoIDEwMDogInRpb24u
IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsOTQpIHNpemUgMTAweDIwIFtjb2xvcj0j
MDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6
ICI1eDVzcSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
c29mdC1oeXBoZW4tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwZjA5OWQ4MDJl
ZmUxMTU1ZDJkMDBkODdkYTkwZmI4ZjBjMzRmMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMjI1eDU4IFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsNikgc2l6ZSAxMDB4MjUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0
aCAxMDA6ICJEaWQgXHh7QUR9IgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgNzV4MjUgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxMDAsNikgc2l6ZSA3NXgyNQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCw2KSB3
aWR0aCA3NTogIm5vdCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMzKSBzaXpl
IDEwMHgyNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMzKSB3aWR0aCAxMDA6ICJmYWlsIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9zb2Z0LWh5cGhl
bi00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNjOGI5NzRhZDQyZThkM2NjODJm
NmFhOGQwOGYzZTJkODZhNjg2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU3NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0
eDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDExOCBbYm9yZGVy
OiAoM3B4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcs
MTIpIHNpemUgMzMweDM4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMTIpIHdpZHRoIDMzMDog
IjEyMzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDcsMzIpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgxNTEsNDYpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0g
YXQgKDcsNTApIHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzMp
IHNpemUgMzMweDM4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzMpIHdpZHRoIDMzMDogIjEy
MzQ1Njc4OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDcsOTMpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwxMzQpIHNpemUgNzg0eDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhmMjI3NjRhNmU2ODMwM2M2ZDI0ZDRjZjIwOWMzODE5YmRkMmZiMTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDUxIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYw
MDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMDB4NDUKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDA6ICJoZW5ceHtBRH1hXHh7QUR9IiAr
IGh5cGhlbiBzdHJpbmcgIlx4ezIwMTB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMxKSB3
aWR0aCAxMDA6ICJ0aW9uLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUxKSBzaXpl
IDEwMHg1MSBbY29sb3I9IzAwODAwMF0gW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDYpIHNpemUgMTAweDQ1CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsNikgd2lkdGggMTAwOiAiaGVuYVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMSkgd2lkdGggMTAwOiAidGlvbi4iCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMDIpIHNpemUgMTAweDIwIFtjb2xvcj0jMDA4MDAwXSBb
Ymdjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxMDB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDA6ICI1eDVzcSIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBo
ZW4tMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMmNiYjE2YWMxM2Q4ZWQ5Y2Nj
YTE5YjJhMThiNDBmOTQzZjUxMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MjI1eDYzIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
Nykgc2l6ZSAxMDB4MjUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3KSB3aWR0aCAxMDA6ICJE
aWQgXHh7QUR9IgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzV4
MjUgW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAs
Nykgc2l6ZSA3NXgyNQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMCw3KSB3aWR0aCA3NTog
Im5vdCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDM4KSBzaXplIDEwMHgyNQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM4KSB3aWR0aCAxMDA6ICJmYWlsIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L3RleHQvc29mdC1oeXBoZW4t
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg0MWY4YzE1NTFkYzc5MGZiMDZhOTA4ZDc0NTFj
OWRiMmZhMjEyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9m
YXN0L3RleHQvc29mdC1oeXBoZW4tNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU3NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzQ0eDEyNCBbYm9yZGVyOiAoM3B4IHNv
bGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTMpIHNpemUg
MzMweDQwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMTMpIHdpZHRoIDMzMDogIjEyMzQ1Njc4
OTAxIGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDcsMzUpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgxNTEsNDkpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDcsNTMp
IHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsNzcpIHNpemUgMzMw
eDQwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDcsNzcpIHdpZHRoIDMzMDogIjEyMzQ1Njc4OTAx
IGFudGlceHtBRH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsOTkpIHdpZHRoIDE0NDogImFsaWFzaW5nIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNDAp
IHNpemUgNzg0eDAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406282</attachid>
            <date>2020-08-09 22:35:28 -0700</date>
            <delta_ts>2020-08-10 03:07:38 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>bug-215059-20200809223527.patch</filename>
            <type>text/plain</type>
            <size>37652</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmE1NWQxYWJhMmE2OGJkNmY4ZDdkNGU5NWE0MDRjZTYzYmJlZjAy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNhMDQ3
ZWY3MjQ2NGUyNWFkMDQ0NTlhZTM5NjQ5ODA3ZmRjMTE3NmIuLjk4OWZmOTI4ZjkxOTYxZWQ2NmMz
NDNiN2ExNzAyYmM2ZDE4YWRkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0w
OC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGVy
ZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBoeXBoZW4ga2VybmluZywg
d2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cykuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjph
cHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNvbnN0KToKKwogMjAyMC0w
OC0wOSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVsb2FkIGdyYXBo
aWNzIGRyaXZlcnMgaW4gTWFjIFdlYlByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDM4YzY3
YjVlZDAyYzc0MWMzZTM1OGQ3YmVjM2IzYWI4ZTIzZmY4YzguLjA2NjgxNzNkMmZmMzAzMzI4OTgy
YWYxZWQxNDRiMzk4MTkzMWNmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExh
bmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIw
MjAtMDgtMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwZXJpbWVudGFsOiBDYXAgdGhlIGV4cGlyeSBvZiBwZXJzaXN0ZW50IGNvb2tpZXMgc2V0IGlu
IDNyZC1wYXJ0eSBDTkFNRSBjbG9ha2VkIEhUVFAgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1
OGQ1MWE4MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxl
eGV5IFByb3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJl
ZlB0cjxGb250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZv
bnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBj
b25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5n
JiwgU3RyaW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2Fm
NzA3YjdlZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWVi
MjVmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1w
bGVtZW50YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIw
Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBl
bmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9j
YWxlKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkIGJlZ2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBi
b29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5n
JiBsb2NhbGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVy
dGllcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0
ZDkuLjg2NWFmODJmNmJlYzgyNmYzMzRhMTJmY2E5YzI5MmIxOTIyYmZkZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNiw3
ICs0MjYsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBI
YXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLWZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0
KSBjb25zdAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3
IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4
dC5pc051bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDUs
NyArNDQ1LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdW
aWV3IHRleHQpIGNvbnN0CiAgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5
cGhXaWR0aCwgaSk7CiAgICAgfQogCi0gICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZm
ZXIsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlv
bigpLmNvbXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCAwLCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3Jp
cHRpb24oKS5jb21wdXRlZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAvLyBU
aGlzIGlzIG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4K
ICAgICAvLyBTYW1lIGdseXBoIHdpZHRocyBidXQgZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IGFy
aXRobWV0aWMgY2FuIHByb2R1Y2UgZGlmZmVyZW50IHJ1biB3aWR0aC4KICAgICBmbG9hdCBydW5X
aWR0aERpZmZlcmVuY2VXaXRoVHJhbnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTEs
NiArMTM5MSw4IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNv
bnN0IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwg
d2l0aCB0aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBo
QnVmZmVyLnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwog
CisgICAgLy8gVGhlIGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwK
KyAgICAvLyBidXQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVy
LgogICAgIGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5
cGhCdWZmZXIuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYXNjYWRlLmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1
NGFiYy4uMzg3Mzk5ZjE0NTQzZDZhMDE0NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyAr
MTE2LDcgQEAgcHVibGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0
UnVuJiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBm
bG9hdCogb3V0V2lkdGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3
aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0
aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVj
dGlvbjo6TFRSKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0
TGF5b3V0RGVsZXRlcj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29s
IGNvbGxhcHNlV2hpdGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRM
YXlvdXQmLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+
KiBmYWxsYmFja0ZvbnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDdlYjI3ZDZkMDkxYjc1OTlmYTliNTU1OGZk
NDhiYmI2YjA1ZDU4MzEuLjg5ZGI3Y2JiZDI5MDkyMzM4MWYwOTM0MGVkYzFkOTY1OTcyOTJhM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCkBAIC03OCwyNCArNzgsMjIgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtF
bW9qaShVQ2hhcjMyIGNvZGVwb2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAm
JiBjb2RlcG9pbnQgPD0gMHhFNTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpz
aG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwg
dW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0
IC0+IFRyYW5zZm9ybXNUeXBlCitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQg
bGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4g
VHJhbnNmb3Jtc1R5cGUKIHsKLSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5
cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAg
aWYgKGdseXBoQnVmZmVyLnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50
Q2hhcmFjdGVySW5kZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hh
cmFjdGVySW5kZXggLSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2Vk
OwogICAgIGlmIChtX3J1bi5sZW5ndGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jt
c1R5cGU6Ok5vbmU7CiAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAK
LWlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29u
c3QgRm9udCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUg
ZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFj
dGVySW5kZXgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZSYgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQo
cHJldmlvdXNDaGFyYWN0ZXIsIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIs
IGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJh
bnNmb3Jtc1R5cGU6Ok5vbmUpOworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3Rlcklu
ZGV4LCBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3Vu
dCwgY3VycmVudENoYXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlw
ZTo6Tm9uZSk7CiAKICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLnNpemUo
KTsKLSAgICBpZiAoIWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCAr
IDEpIHsKLSAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYg
KCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAg
ICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0g
Z2x5cGhCdWZmZXIuYWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAt
MTAzLDE3ICsxMDEsMTUgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRy
YW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3Jl
V2lkdGggKz0gYWR2YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3Vu
dCA8PSBnbHlwaEJ1ZmZlclNpemUpOwotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZl
ci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3Vu
dCk7CiAKLSAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291
bnQsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3Jp
cHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlw
aEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJs
ZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCkuY29t
cHV0ZWRMb2NhbGUoKSwgbV9ydW4udGV4dCgpLCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5
cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCi0gICAgZm9yICh1bnNpZ25lZCBp
ID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAgICBHbHlwaEJ1
ZmZlck9yaWdpbiogb3JpZ2lucyA9IGdseXBoQnVmZmVyLm9yaWdpbnMoMCk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewog
ICAgICAgICBhZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKLQot
ICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50
LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisgICAgICAgIG9yaWdpbnNbaV0u
c2V0WSgtb3JpZ2luc1tpXS55KCkpOworICAgIH0KIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxh
c3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYXV0byBj
aGFyYWN0ZXJJbmRleCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwpAQCAtMTMzLDcg
KzEyOSw2IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0g
bGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJX
aWR0aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlw
aEJ1ZmZlclNpemU7CiAgICAgcmV0dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApA
QCAtMTY5LDcgKzE2NCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RkOjpwYWlyPGJvb2wsIGJvb2w+IGV4
cGFuc2lvbkxvY2F0aW9uKGJvb2wgaWRlb2dyYXBoLCBib29sIHRyZWF0CiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVGV4dEl0ZXJhdG9yPgogaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUlu
dGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZm
ZXIpCiB7Ci0gICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBTaW1wbGVM
aW5lTGF5b3V0Ojp3aWR0aEZvclNpbXBsZVRleHQoKQorICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhl
cmUgbmVlZHMgdG8gbWF0Y2ggRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dCgpCiAgICAg
Ym9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2Zv
bnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9u
KSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CiAKQEAgLTE4NSwxMyArMTgwLDE0IEBAIGlu
bGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRl
eHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRhID0gJnBy
aW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXIuc2l6
ZSgpOwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3Vy
cmVudEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVkIGNsdXN0ZXJMZW5ndGggPSAwOwogICAg
IENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAg
U3RyaW5nIG5vcm1hbGl6ZWRTcGFjZXNTdHJpbmdDYWNoZTsKICAgICAvLyBXZSBhcmUgaXRlcmF0
aW5nIGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29t
cGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUg
KHRleHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAg
ICAgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwog
ICAgICAgICB1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAg
Ym9vbCBjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZyA9ICFpc0RlZmF1bHRJZ25vcmFibGVDb2Rl
UG9pbnQoY2hhcmFjdGVyKTsKICNpZiBVU0UoRlJFRVRZUEUpCkBAIC0yMDIsNyArMTk4LDYgQEAg
aW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYg
dGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
CiAjZW5kaWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRv
ci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhEYXRhJiBnbHlwaERhdGEgPSBt
X2ZvbnQuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRsKTsKICAgICAgICAgR2x5
cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICghZ2x5cGggJiYgIWNoYXJh
Y3Rlck11c3REcmF3U29tZXRoaW5nKSB7CkBAIC0yMjMsMTIgKzIxOCwxMiBAQCBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBo
U3RyZXRjaCgpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGZvbnQgIT0gbGFzdEZvbnREYXRh
ICYmIHdpZHRoKSB7Ci0gICAgICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBw
bHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hh
cmFjdGVyKTsKLSAgICAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlw
ZTo6Tm9uZSkgewotICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhcHBseUZvbnRU
cmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwgbGFzdEdseXBoQ291bnQsICpsYXN0
Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zvcm1zVHlwZSA9PSBUcmFuc2Zvcm1z
VHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgICAg
IGdseXBoQnVmZmVyLnNocmluayhsYXN0R2x5cGhDb3VudCk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSkgeworICAgICAgICAgICAgYXV0byB0cmFuc2Zv
cm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAgaWYgKHRyYW5zZm9y
bXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcnVuV2lk
dGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3Vu
dCwgY3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9
PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOworICAg
ICAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci5zaXplKCk7CisgICAgICAgICAg
ICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFyYWN0ZXJJbmRleDsKIAogICAg
ICAgICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsKICAgICAgICAgICAgIGlmIChtX2ZhbGxiYWNr
Rm9udHMgJiYgZm9udCAhPSAmcHJpbWFyeUZvbnQpIHsKQEAgLTI4Miw2ICsyNzcsOCBAQCBpbmxp
bmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0
SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2x5cGhCdWZmZXIuYWRkKGZvbnQtPnplcm9XaWR0aFNwYWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhw
YW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT5zcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFu
c2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXgg
PSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmV4cGFuZExh
c3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKQEAgLTMwNyw3ICszMDQsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICB9
CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9y
bXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7CisgICAg
ICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBo
QnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKICAgICAgICAg
aWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lICYmIEZvbnRDYXNjYWRl
Ojp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewogICAgICAgICAgICAgY2hhcmFjdGVyc1RyZWF0
ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZCgKICAgICAgICAgICAgICAgICBjdXJyZW50Q2hh
cmFjdGVySW5kZXgsCkBAIC0zMzcsMjMgKzMzNCwxOSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZgogICAgICAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WSA9IHN0ZDo6bWluKG1fbWluR2x5
cGhCb3VuZGluZ0JveFksIGJvdW5kcy55KCkpOwogICAgICAgICAgICAgbV9sYXN0R2x5cGhPdmVy
ZmxvdyA9IHN0ZDo6bWF4PGZsb2F0PigwLCBib3VuZHMubWF4WCgpIC0gd2lkdGgpOwogICAgICAg
ICB9Ci0gICAgICAgIHByZXZpb3VzQ2hhcmFjdGVyID0gY2hhcmFjdGVyOwogICAgIH0KIAorICAg
IGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVm
ZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KTsKKyAgICBpZiAodHJh
bnNmb3Jtc1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpCisgICAgICAgIG1fcnVuV2lkdGhT
b0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwg
Y3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCB0cmFuc2Zvcm1zVHlwZSA9PSBU
cmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOworICAgIG1f
Y3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOworCiAg
ICAgaWYgKGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoKSB7CiAgICAgICAgIGlmIChtX2ZvclRl
eHRFbXBoYXNpcykKICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChsYXN0Rm9udERhdGEtPnpl
cm9XaWR0aFNwYWNlR2x5cGgoKSwgKmxhc3RGb250RGF0YSwgbGVmdG92ZXJKdXN0aWZpY2F0aW9u
V2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGds
eXBoQnVmZmVyLmFkZChsYXN0Rm9udERhdGEtPnNwYWNlR2x5cGgoKSwgKmxhc3RGb250RGF0YSwg
bGVmdG92ZXJKdXN0aWZpY2F0aW9uV2lkdGgsIG1fcnVuLmxlbmd0aCgpIC0gMSk7CiAgICAgfQot
Ci0gICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5
cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgaWYgKHRy
YW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKSB7Ci0gICAgICAgIG1fcnVuV2lk
dGhTb0ZhciArPSBhcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBtX3J1bi5sdHIoKSwg
bGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVyLCB0cmFuc2Zv
cm1zVHlwZSA9PSBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3Bh
Y2UpOwotICAgICAgICBnbHlwaEJ1ZmZlci5zaHJpbmsobGFzdEdseXBoQ291bnQpOwotICAgIH0K
LQotICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRl
eCgpOwogfQogCiB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UodW5zaWduZWQgb2Zmc2V0LCBH
bHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggZmNiMGVjYjljMDQwODZjNTZjOGNkNzhmNjEy
MGZiNjE5OGI0MTUxYS4uYjg2MzY3N2EyZjY1NWI2Y2I2M2ExODk0OTQyZTJhYzhlM2EyZTAzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
aApAQCAtNjAsOCArNjAsOCBAQCBwcml2YXRlOgogICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRl
cm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciYpOwogCiAgICAgZW51bSBjbGFzcyBUcmFu
c2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07Ci0gICAgVHJhbnNmb3Jtc1R5
cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciYsIHVuc2lnbmVk
IGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyKSBjb25zdDsKLSAgICBm
bG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgYm9vbCBsdHIsIHVuc2lnbmVk
JiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIs
IGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOworICAgIFRyYW5zZm9ybXNU
eXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXImLCB1bnNpZ25l
ZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4KSBjb25zdDsK
KyAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFz
dEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCYs
IGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogCiAgICAgY29uc3QgRm9u
dENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCA2
NWI1ZTE2NDBhZGI3Mjg3OGUzM2U4ZDg5ZGY4ZjRmOTVmOWYxMjhkLi45M2ZiMDAwNGUyZDA0YWE3
NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NDQsMjggKzU0NCw3OCBAQCBS
ZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVybiBjcmVhdGVEZXJpdmF0aXZlRm9udChz
Y2FsZWRGb250LmdldCgpLCBzaXplLCBtX3BsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpLCBmb250
VHJhaXRzLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5
bnRoZXRpY09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxl
S2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkg
Y29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZl
ciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5n
SW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0
b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJl
Y3Rpb24pIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0
aWFsIGFkdmFuY2UuCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7Ci0gICAgQ1RG
b250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJh
bnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGlu
ZzsKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQotICAgIGF1dG8g
aGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENH
U2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlcikgeworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBH
bHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQor
ICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1Bv
aW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2ludCoqIG5ld09mZnNldHNQ
b2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKICAgICAgICAgcmFuZ2UubG9j
YXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q0ZJ
bmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZlci5zaXplKCkpKTsKICAg
ICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAgICAgICAgICAgIHJhbmdlLmxlbmd0aCA9
IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsKICAgICAgICAgICAgIHJh
bmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5ndGg7Ci0gICAgICAgICAg
ICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFu
Z2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdHbHlw
aEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5s
b2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIg
PSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpOwotICAgICAgICAqbmV3QWR2YW5j
ZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpOworICAgICAg
ICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJbmRleCArIHJhbmdlLmxv
Y2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpuZXdHbHlwaHNQb2ludGVy
ID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAgICAgICAqbmV3
QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nR2x5cGhJbmRl
eCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9yaWdpbnMoYmVn
aW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9pbnRlciA9IGdseXBoQnVm
ZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKICAgICB9OwotICAgIENU
Rm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1Np
emUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5z
aXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExh
bmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8gc3Vic3RyaW5nID0gdGV4dC5zdWJzdHJp
bmcoYmVnaW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJz
ID0gc3Vic3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAgIGF1dG8gbG9jYWxlU3Ry
aW5nID0gTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmco
bG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOworICAgIENURm9udFNoYXBlT3B0aW9u
cyBvcHRpb25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbgorICAgICAgICB8
IChlbmFibGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0aEtlcm5pbmcgOiAwKQorICAgICAgICB8
ICh0ZXh0RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0
VG9MZWZ0IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIu
c2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5v
ZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gLT0gYmVnaW5uaW5nU3RyaW5n
SW5kZXg7CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAgICAgbV9wbGF0Zm9ybURhdGEu
Y3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4
KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNl
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dQb2lu
dCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLAorICAgICAgICBn
bHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCksCisgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29udmVydGVkQ2hhcmFjdGVycy5n
ZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgs
CisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmluZy5nZXQoKSwKKyAgICAgICAg
aGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6
ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZz
ZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gKz0gYmVnaW5uaW5nU3RyaW5nSW5k
ZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5nU3RyaW5nSW5kZXgpOwog
ICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5zZm9ybUdseXBocyhtX3Bs
YXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwg
cmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJ
bmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucyk7Cisg
ICAgVU5VU0VEX1BBUkFNKHRleHQpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5cGhzKCkg
b3BlcmF0ZXMgaW4gdmlzdWFsIG9yZGVyLCBidXQgV2lkdGhJdGVyYXRvciBpdGVyYXRlcyBpbiBs
b2dpY2FsIG9yZGVyLgorICAgIC8vIFRlbXBvcmFyaWx5IHB1dCB1cyBpbiB2aXN1YWwgb3JkZXIg
anVzdCBmb3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBsb2dpY2FsIG9yZGVyIHdo
ZW4KKyAgICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRvbid0IGhhdmUgYSBnbG9i
YWwgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBqdXN0IG9wZXJhdGluZyBv
biBhIHNpbmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJhdG9yIGVuY291bnRlcnMg
dGhlIGNodW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYWludGFpbiB0
aGF0IGludmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2FzY2FkZTo6bGF5b3V0U2lt
cGxlVGV4dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRvIHB1dCB0aGUgZW50aXJl
IHRoaW5nCisgICAgLy8gaW4gdmlzdWFsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVjYXVzZSBp
dCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24gdGhlIG90
aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGluIGxvZ2lj
YWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwgd2hpY2gg
bWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBuZWVkcyB0
byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5nIHVzZWQu
CisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMKQorICAgICAgICBn
bHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOworCisgICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBv
cHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmlu
ZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKKyAgICBDVEZvbnRUcmFuc2Zv
cm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdp
bm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5h
ZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lu
bmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCisKKyAgICAvLyBTZWUgdGhlIGNvbW1l
bnQgYWJvdmUgaW4gdGhpcyBmdW5jdGlvbiB3aGVyZSB0aGUgb3RoZXIgY2FsbCB0byByZXZlcnNl
KCkgaXMuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMKQorICAg
ICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBoQnVmZmVy
LnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOwogfQogCiBzdGF0aWMgaW50IGV4dHJhY3RO
dW1iZXIoQ0ZOdW1iZXJSZWYgbnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCmlu
ZGV4IDMyNTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEwY2FiZDI0MTdkYTQuLmZmNmZjOGQ4MzI5
ZDQ0ZmZhOTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4
dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gRm9udDo6
Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAgICB2YWx1
ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQgPSAxOwog
Ci0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNpZiBVU0UoQ1RG
T05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7
CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0cmluZyA9IGxv
Y2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhNjRlYzBjM2E0MDkxNjYx
ODFkZWM3ZjEwYzhjNzRiYTU1MzEwYTAuLmYyMTVjNjc3MmJhMzZjMTc2MmEwODJhOTNiOWM0MTJi
MjBmMTFlMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wOC0wOSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBm
cm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENURm9udFNoYXBlR2x5
cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFNvZnQg
aHlwaGVucyBhcmUga2VybmVkIG5vdyEgVGhpcyBpcyBhIHByb2dyZXNzaW9uLgorCisgICAgICAg
ICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQuaHRtbDogQWRkZWQuIFR1cm4gdGhl
IERSVCB0ZXN0IGludG8gYSByZWZ0ZXN0LgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhl
bi0zLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhl
bi00LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhl
bi0yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBo
ZW4tMy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLTQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0
L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3RleHQvdW5kZWZpbmVkLWdseXBoLXdpdGgtbGlnYXR1cmUuaHRtbDoKKwogMjAy
MC0wOC0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgR2x5cGhCdWZmZXJzIHJlcXVpcmVkIGluIHRoZSBmYXN0IHRleHQgY29kZXBhdGgK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0yLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgwYWI5ZjhmOTI1NWMwNWY5YTU0MWI0YWU4ODg3MGQwYjBjZTA3YTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxzdHlsZT4KKyAgICBkaXYgeyBmb250LWZhbWls
eTogQWhlbTsgZm9udC1zaXplOiAyMHB4OyB3aWR0aDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6
IHJlZDsgY29sb3I6IGdyZWVuOyB9Cis8L3N0eWxlPgorPGRpdj4KKyAgICBoZW5hdGlvbi4KKzwv
ZGl2PgorPGRpdj4KKyAgICBoZW5hdGlvbi4KKzwvZGl2PgorPGRpdj4KKyAgICA1eDVzcQorPC9k
aXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMi1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjM2ZiMmZkMjAxYzdmYmY3MDUwMDhj
NThiNTE3NjI3M2VlYmZkYmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTItZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAot
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAgW2NvbG9yPSMwMDgwMDBdIFtiZ2NvbG9y
PSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwMHg0
MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwMDogImhlblx4e0FEfWFceHtB
RH0iICsgaHlwaGVuIHN0cmluZyAiXHh7MjAxMH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjApIHdpZHRoIDEwMDogInRpb24uIgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNDAp
IHNpemUgMTAweDQwIFtjb2xvcj0jMDA4MDAwXSBbYmdjb2xvcj0jRkYwMDAwXQotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4NDAKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxMDA6ICJoZW5hXHh7QUR9IiArIGh5cGhlbiBzdHJpbmcgIlx4ezIw
MTB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCAxMDA6ICJ0aW9uLiIKLSAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDgwKSBzaXplIDEwMHgyMCBbY29sb3I9IzAwODAw
MF0gW2JnY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTAweDIwCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTAwOiAiNXg1
c3EiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tMy1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZmUyOGY1ZGIyNjVkMjFhNWM5MWM2MTQxYjdlY2NiMmU4MWZlODIx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB
aGVtOyBmb250LXNpemU6IDI1cHg7IHdpZHRoOiAyMjVweDsgY29sb3I6IHdoaXRlOyI+CisgICAg
RGlkIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5ub3Q8L3NwYW4+IGZhaWwKKzwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGNhODU4YzZiMmEyMjliNjNhYWIxYTY2ZTU0
NWEwNDRkMWIxNTcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi0zLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAot
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgMjI1eDUwIFtjb2xvcj0jRkZGRkZGXQotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MjUKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxMDA6ICJEaWQgXHh7QUR9IgotICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNzV4MjUgW2NvbG9yPSMwMDgwMDBdCi0gICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxMDAsMCkgc2l6ZSA3NXgyNQotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDEwMCwwKSB3aWR0aCA3NTogIm5vdCIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDI1KSBzaXplIDEwMHgyNQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI1KSB3aWR0aCAx
MDA6ICJmYWlsIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LTQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIxNTVlNzUzNjc0OWE4ZGY4ZjFhYzU5MzBhODU3Yzhk
NmM2ZDJkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi00LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8c3R5bGU+CisgICAgICAgIC50ZXN0Ym94ICAgeworICAgICAgICAgICAgYm9yZGVyOiBzb2xp
ZDsKKyAgICAgICAgICAgIHBhZGRpbmc6IDRweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMzBweDsK
KyAgICAgICAgICAgIGZvbnQ6IDE4cHggYWhlbTsKKyAgICAgICAgICAgIHRleHQtYWxpZ246IGp1
c3RpZnk7CisgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBub25lOworICAgICAg
ICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPgorICAgICAgICA8IS0t
SW4gdGhpcyB0ZXN0LCB0aGUgdG9wLXJpZ2h0IGJveGVzIHNob3VsZCBiZSB0aGUgc2FtZSBsZW5n
dGgtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdGJveCI+CisgICAgICAgICAgICAxMjM0NTY3
ODkwMSBhbnRpYWxpYXNpbmc8YnI+ICAgIDwhLS1icm9rZW4gKG5vIHNwYWNlIGFmdGVyIGFsaWFz
aW5nKS0tPgorICAgICAgICAgICAgPGJyPgorICAgICAgICAgICAgMTIzNDU2Nzg5MDEgYW50aWFs
aWFzaW5nICAgICAgICAgPCEtLXdvcmtzIChzcGFjZSBhZnRlciBhbGlhc2luZyktLT4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyMWIyYTRiZDkxODNjOGQ0NThmODE4ZGFhYjc1NTA3MzdjZGIxYzE1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zb2Z0LWh5cGhlbi00LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NzYKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXpl
IDc4NHgwCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDM0NHgxMDQgW2Jv
cmRlcjogKDNweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg3LDcpIHNpemUgMzMweDM2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcsNykgd2lkdGggMzMw
OiAiMTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNywyNSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCi0gICAgICAg
IFJlbmRlckJSIHtCUn0gYXQgKDE1MSwzOSkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoNyw0Mykgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNyw2
MSkgc2l6ZSAzMzB4MzYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNyw2MSkgd2lkdGggMzMwOiAi
MTIzNDU2Nzg5MDEgYW50aVx4e0FEfSIgKyBoeXBoZW4gc3RyaW5nICJceHsyMDEwfSIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNyw3OSkgd2lkdGggMTQ0OiAiYWxpYXNpbmciCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0
bWwKaW5kZXggOTg0NzEyNjdlZTdhM2NlMTY5YjgwYTY2MmE2ZGVlM2FiMjZmZTI4NC4uOWZiN2Vi
YTBmZDc2YzJjMGFhZGMzMWYyMDQyZTAyNzQyODAzZjYxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13
aWR0aC1leHBlY3RlZC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9
MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRp
dj5leHRyYW9yZGluYXI8c3Bhbj4tPC9zcGFuPjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxk
aXY+ZXh0cmFvcmRpbmEtPGJyPnJpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRk
IHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwK
aW5kZXggZGU4YjFjYWE1YzJhY2I1MjA2MGRkMDc4N2E5NjIyYWY5YmYyMmQ2ZC4uYTY1MDM4NWJj
YTljMDU2Mzc3NzdmMjJhOTg4NWFkNzQwYzU3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCkBA
IC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAg
IDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBo
ZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYXImc2h5O2lseTwvZGl2PgorICAgICAgICAgICAgPGRp
diBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYSZzaHk7cmlseTwv
ZGl2PgogICAgICAgICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48L3Rk
PgogICAgIDwvdHI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVk
LWdseXBoLXdpdGgtbGlnYXR1cmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCmluZGV4IDBjNTZm
Y2ZiZDE3N2FjOTIyMGRlYzIxMmFkOTE2MDAyNDdhMDhhMDIuLjNlMTg3YTFiYzEzZGQ4NWRkOTZj
YWI4MjNiZmMxNTZlZWViMWU4NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91
bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdhdHVyZS1leHBlY3RlZC5odG1s
CkBAIC0xMSw2ICsxMSw2IEBACiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhl
IGNvbWJpbmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQgbm9uZXhpc3RhbnQgZ2x5cGhzIGRvIG5vdCBj
YXVzZSBhcmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJlbmRlcmVkLgogVGhlIHRlc3QgcGFzc2VzIGlm
IHlvdSBzZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMgYmVsb3csIGFuZCBub3RoaW5nIGVsc2UuCi08
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij5BQkE8L2Rpdj4KKzxkaXYgc3R5bGU9
ImZvbnQtZmFtaWx5OiBMaXRoZXJ1bTsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgd2lkdGg6IDFweDsgaGVpZ2h0OiA1MHB4OyI+PC9kaXY+QUJBPC9kaXY+CiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5kZWZpbmVkLWdseXBo
LXdpdGgtbGlnYXR1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5
cGgtd2l0aC1saWdhdHVyZS5odG1sCmluZGV4IDM5ODQyMGQ5ZTcyNDQ4NzQ2MjUyNDE4YTRjODM4
MTYwNzFjNzk3ZjcuLjVmYTFjYTgyYjJkNTZiN2FlZWM2OTkxNDA2NDJkY2I3NDc0YzZhODggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0aC1saWdh
dHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bmRlZmluZWQtZ2x5cGgtd2l0
aC1saWdhdHVyZS5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGxpZ2F0dXJlcyBhbmQgbm9uZXhpc3RhbnQg
Z2x5cGhzIGRvIG5vdCBjYXVzZSBhcmJpdHJhcnkgZ2x5cGhzIHRvIGJlIHJlbmRlcmVkLgogVGhl
IHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgdHdvIGJsYWNrIHJlY3RhbmdsZXMgYmVsb3csIGFuZCBu
b3RoaW5nIGVsc2UuCi08ZGl2IHN0eWxlPSJmb250LWZhbWlseTogTGl0aGVydW07Ij5BQiZzaHk7
QTwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IExpdGhlcnVtOyI+PGRpdiBzdHlsZT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDUwcHg7Ij48L2Rpdj5B
QiZzaHk7QTwvZGl2PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406289</attachid>
            <date>2020-08-10 03:06:52 -0700</date>
            <delta_ts>2020-08-10 03:55:33 -0700</delta_ts>
            <desc>Rebased and addressed comments</desc>
            <filename>bug-215059-20200810030651.patch</filename>
            <type>text/plain</type>
            <size>33121</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmE1NWQxYWJhMmE2OGJkNmY4ZDdkNGU5NWE0MDRjZTYzYmJlZjAy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNhMDQ3
ZWY3MjQ2NGUyNWFkMDQ0NTlhZTM5NjQ5ODA3ZmRjMTE3NmIuLjk4OWZmOTI4ZjkxOTYxZWQ2NmMz
NDNiN2ExNzAyYmM2ZDE4YWRkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0w
OC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGVy
ZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBoeXBoZW4ga2VybmluZywg
d2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cykuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjph
cHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNvbnN0KToKKwogMjAyMC0w
OC0wOSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVsb2FkIGdyYXBo
aWNzIGRyaXZlcnMgaW4gTWFjIFdlYlByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDM4YzY3
YjVlZDAyYzc0MWMzZTM1OGQ3YmVjM2IzYWI4ZTIzZmY4YzguLjA2NjgxNzNkMmZmMzAzMzI4OTgy
YWYxZWQxNDRiMzk4MTkzMWNmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExh
bmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIw
MjAtMDgtMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwZXJpbWVudGFsOiBDYXAgdGhlIGV4cGlyeSBvZiBwZXJzaXN0ZW50IGNvb2tpZXMgc2V0IGlu
IDNyZC1wYXJ0eSBDTkFNRSBjbG9ha2VkIEhUVFAgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dl
YkNvcmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJl
ZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjllNzgy
MDBkOTlhOTk4NjgwNTkxYjRjZGYwYi4uNjFjN2NmMGViYzUxMTQwZjdjOWJiMWQ4MGQ5M2M5NGZk
NmQzOTMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNz
aGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVt
ZQpAQCAtNDAsNiArNDAsMTAgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllF
UyIKICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93
TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAg
ICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vy
cy9tbWF4ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAg
IDwvUGF0aFJ1bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgog
ICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1OGQ1MWE4
MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFBy
b3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJlZlB0cjxG
b250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBB
dG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
JiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5nJiwgU3Ry
aW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2FmNzA3Yjdl
ZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyArMSw3IEBA
CiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVtZW50
YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1LTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3
LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIwNyw3IEBA
IHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJT
ZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBseVRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVL
ZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBj
b25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJl
Z2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVu
YWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2Nh
bGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQTEFURk9S
TShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVydGllcygp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDkuLjg2
NWFmODJmNmJlYzgyNmYzMzRhMTJmY2E5YzI5MmIxOTIyYmZkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNiw3ICs0MjYs
NyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWZs
b2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25z
dAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQs
IFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5pc051
bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDUsNyArNDQ1
LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRl
eHQpIGNvbnN0CiAgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5cGhXaWR0
aCwgaSk7CiAgICAgfQogCi0gICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAs
IGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNv
bXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCAw
LCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3JpcHRpb24o
KS5jb21wdXRlZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAvLyBUaGlzIGlz
IG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4KICAgICAv
LyBTYW1lIGdseXBoIHdpZHRocyBidXQgZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgY2FuIHByb2R1Y2UgZGlmZmVyZW50IHJ1biB3aWR0aC4KICAgICBmbG9hdCBydW5XaWR0aERp
ZmZlcmVuY2VXaXRoVHJhbnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTEsNiArMTM5
MSw4IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRl
eHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0
aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVy
LnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAg
Ly8gVGhlIGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAv
LyBidXQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgogICAg
IGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1NGFiYy4u
Mzg3Mzk5ZjE0NTQzZDZhMDE0NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2LDcg
QEAgcHVibGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiwg
dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFj
a0ZvbnRzID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9hdCog
b3V0V2lkdGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
ZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFj
a0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0aEZv
clNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZvclNp
bXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6
TFRSKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5b3V0
RGVsZXRlcj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNvbGxh
cHNlV2hpdGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlvdXQm
LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxs
YmFja0ZvbnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDdlYjI3ZDZkMDkxYjc1OTlmYTliNTU1OGZkNDhiYmI2
YjA1ZDU4MzEuLjUyNThhNTcxNTg2MDhlNmNhNWM3OWQ2ODBhOTMwYzlkNzQxNWE3NjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3Bw
CkBAIC03OCwyNCArNzgsMjIgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShV
Q2hhcjMyIGNvZGVwb2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2Rl
cG9pbnQgPD0gMHhFNTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRy
YW5zZm9ybXNUeXBlCitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRU
cmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEds
eXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNm
b3Jtc1R5cGUKIHsKLSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3Vu
dCArIDEpICYmIGlzU29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgaWYgKGds
eXBoQnVmZmVyLnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFj
dGVySW5kZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVy
SW5kZXggLSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAg
IGlmIChtX3J1bi5sZW5ndGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6
Ok5vbmU7CiAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGlu
ZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBn
bHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9u
dCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVy
c1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQg
V2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZm
ZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZSYgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlv
dXNDaGFyYWN0ZXIsIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jt
c1R5cGU6Ok5vbmUpOworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBz
aG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3Vy
cmVudENoYXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9u
ZSk7CiAKICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAg
ICBpZiAoIWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsK
LSAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3Jj
ZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1
cm4gMDsKLSAgICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhC
dWZmZXIuYWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTAzLDE3
ICsxMDEsMTUgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9y
bXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGgg
Kz0gYWR2YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBn
bHlwaEJ1ZmZlclNpemUpOwotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZl
cnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAK
LSAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1f
ZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24o
KS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZl
ciwgbGFzdEdseXBoQ291bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5p
bmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRM
b2NhbGUoKSwgbV9ydW4udGV4dCgpLCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZm
ZXJTaXplID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gbGFz
dEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9y
aWdpbiogb3JpZ2lucyA9IGdseXBoQnVmZmVyLm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAg
ICBhZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKLQotICAgIGlm
ICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlw
aEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgt
b3JpZ2luc1tpXS55KCkpOworICAgIH0KIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlw
aENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYXV0byBjaGFyYWN0
ZXJJbmRleCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwpAQCAtMTMzLDcgKzEyOSw2
IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEds
eXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCAr
PSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZl
clNpemU7CiAgICAgcmV0dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTY2
LDEwICsxNjEsMzIgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5z
aW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjpt
YWtlX3BhaXIoZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCit1bnNpZ25lZCBXaWR0aEl0
ZXJhdG9yOjpjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwg
dW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwg
Y29uc3QgRm9udCYgZm9udCwgY29uc3QgRm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFj
dGVyLCBmbG9hdCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCit7CisgICAgYXV0byB0cmFuc2Zvcm1zVHlw
ZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50
LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFu
c2Zvcm1zVHlwZTo6Tm9uZSkKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5k
ZXgsIGZvbnQsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJh
Y3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJy
ZW50Q2hhcmFjdGVySW5kZXg7CisKKyAgICBpZiAod2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgJiYg
bV9mYWxsYmFja0ZvbnRzICYmICZmb250ICE9ICZwcmltYXJ5Rm9udCkgeworICAgICAgICAvLyBG
SVhNRTogVGhpcyBkb2VzIGEgbGl0dGxlIGV4dHJhIHdvcmsgdGhhdCBjb3VsZCBiZSBhdm9pZGVk
IGlmCisgICAgICAgIC8vIGdseXBoRGF0YUZvckNoYXJhY3RlcigpIHJldHVybmVkIHdoZXRoZXIg
aXQgY2hvc2UgdG8gdXNlIGEgc21hbGwgY2FwcyBmb250LgorICAgICAgICBpZiAoIW1fZm9udC5p
c1NtYWxsQ2FwcygpIHx8IGNoYXJhY3RlciA9PSB1X3RvdXBwZXIoY2hhcmFjdGVyKSkKKyAgICAg
ICAgICAgIG1fZmFsbGJhY2tGb250cy0+YWRkKCZmb250KTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBjb25zdCBHbHlwaERhdGEmIHVwcGVyY2FzZUdseXBoRGF0YSA9IG1fZm9udC5nbHlw
aERhdGFGb3JDaGFyYWN0ZXIodV90b3VwcGVyKGNoYXJhY3RlciksIG1fcnVuLnJ0bCgpKTsKKyAg
ICAgICAgICAgIGlmICh1cHBlcmNhc2VHbHlwaERhdGEuZm9udCAhPSAmcHJpbWFyeUZvbnQpCisg
ICAgICAgICAgICAgICAgbV9mYWxsYmFja0ZvbnRzLT5hZGQodXBwZXJjYXNlR2x5cGhEYXRhLmZv
bnQpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGdseXBoQnVmZmVyLnNpemUoKTsK
K30KKwogdGVtcGxhdGUgPHR5cGVuYW1lIFRleHRJdGVyYXRvcj4KIGlubGluZSB2b2lkIFdpZHRo
SXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5
cGhCdWZmZXImIGdseXBoQnVmZmVyKQogewotICAgIC8vIFRoZSBjb3JlIGxvZ2ljIGhlcmUgbmVl
ZHMgdG8gbWF0Y2ggU2ltcGxlTGluZUxheW91dDo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKKyAgICAv
LyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIEZvbnRDYXNjYWRlOjp3aWR0aEZv
clNpbXBsZVRleHQoKQogICAgIGJvb2wgcnRsID0gbV9ydW4ucnRsKCk7CiAgICAgYm9vbCBoYXNF
eHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNp
bmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCkBAIC0x
ODUsMTMgKzIwMiwxNSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIGNvbnN0IEZvbnQq
IGxhc3RGb250RGF0YSA9ICZwcmltYXJ5Rm9udDsKICAgICB1bnNpZ25lZCBsYXN0R2x5cGhDb3Vu
dCA9IGdseXBoQnVmZmVyLnNpemUoKTsKIAorICAgIGF1dG8gY3VycmVudENoYXJhY3RlckluZGV4
ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgIFVDaGFyMzIgY2hhcmFjdGVyID0g
MDsKLSAgICBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyID0gMDsKICAgICB1bnNpZ25lZCBjbHVz
dGVyTGVuZ3RoID0gMDsKICAgICBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlOwogICAgIFN0cmluZyBub3JtYWxpemVkU3BhY2VzU3RyaW5nQ2FjaGU7Cisg
ICAgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgPSAwOwogICAgIC8vIFdlIGFyZSBpdGVy
YXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBub3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBD
b21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGls
ZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAg
ICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7
CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwogICAgICAg
ICBib29sIGNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nID0gIWlzRGVmYXVsdElnbm9yYWJsZUNv
ZGVQb2ludChjaGFyYWN0ZXIpOwogI2lmIFVTRShGUkVFVFlQRSkKQEAgLTIwMiw3ICsyMjEsNiBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KICNlbmRpZgotICAgICAgICBpbnQgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJh
dG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICBjb25zdCBHbHlwaERhdGEmIGdseXBoRGF0YSA9
IG1fZm9udC5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCBydGwpOwogICAgICAgICBH
bHlwaCBnbHlwaCA9IGdseXBoRGF0YS5nbHlwaDsKICAgICAgICAgaWYgKCFnbHlwaCAmJiAhY2hh
cmFjdGVyTXVzdERyYXdTb21ldGhpbmcpIHsKQEAgLTIyMywyNiArMjQxLDEyIEBAIGlubGluZSB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVy
YXRvciwgR2x5cGhCdWZmCiAgICAgICAgICAgICB3aWR0aCAqPSBtX3J1bi5ob3Jpem9udGFsR2x5
cGhTdHJldGNoKCk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoZm9udCAhPSBsYXN0Rm9udERh
dGEgJiYgd2lkdGgpIHsKLSAgICAgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXND
aGFyYWN0ZXIpOwotICAgICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lKSB7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9u
dFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIG1fcnVuLmx0cigpLCBsYXN0R2x5cGhDb3VudCwgKmxh
c3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9y
bXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7Ci0gICAgICAgICAgICAg
ICAgZ2x5cGhCdWZmZXIuc2hyaW5rKGxhc3RHbHlwaENvdW50KTsKLSAgICAgICAgICAgIH0KLQor
ICAgICAgICBpZiAoZm9udCAhPSBsYXN0Rm9udERhdGEpIHsKKyAgICAgICAgICAgIGxhc3RHbHlw
aENvdW50ID0gY29tbWl0Q3VycmVudEZvbnRSYW5nZShnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291
bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0YSwgcHJpbWFyeUZvbnQsIGNo
YXJhY3Rlciwgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZSk7CiAgICAgICAgICAgICBsYXN0Rm9udERhdGEgPSBmb250OwotICAgICAgICAgICAgaWYgKG1f
ZmFsbGJhY2tGb250cyAmJiBmb250ICE9ICZwcmltYXJ5Rm9udCkgewotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBUaGlzIGRvZXMgYSBsaXR0bGUgZXh0cmEgd29yayB0aGF0IGNvdWxkIGJlIGF2
b2lkZWQgaWYKLSAgICAgICAgICAgICAgICAvLyBnbHlwaERhdGFGb3JDaGFyYWN0ZXIoKSByZXR1
cm5lZCB3aGV0aGVyIGl0IGNob3NlIHRvIHVzZSBhIHNtYWxsIGNhcHMgZm9udC4KLSAgICAgICAg
ICAgICAgICBpZiAoIW1fZm9udC5pc1NtYWxsQ2FwcygpIHx8IGNoYXJhY3RlciA9PSB1X3RvdXBw
ZXIoY2hhcmFjdGVyKSkKLSAgICAgICAgICAgICAgICAgICAgbV9mYWxsYmFja0ZvbnRzLT5hZGQo
Zm9udCk7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0
IEdseXBoRGF0YSYgdXBwZXJjYXNlR2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJh
Y3Rlcih1X3RvdXBwZXIoY2hhcmFjdGVyKSwgcnRsKTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHVwcGVyY2FzZUdseXBoRGF0YS5mb250ICE9ICZwcmltYXJ5Rm9udCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZmFsbGJhY2tGb250cy0+YWRkKHVwcGVyY2FzZUdseXBoRGF0YS5mb250KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgICAg
IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlID0gd2lkdGg7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgKz0gd2lkdGg7CiAKICAgICAgICAgaWYgKGhh
c0V4dHJhU3BhY2luZykgewogICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgbGV0dGVyLXNwYWNp
bmcuCkBAIC0yODIsNiArMjg2LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT56ZXJvV2lk
dGhTcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZm9udC0+
c3BhY2VHbHlwaCgpLCAqZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdseXBo
Q291bnQgPSBnbHlwaEJ1ZmZlci5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9y
dHVuaXR5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0zMDcsNyArMzEz
LDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVy
YXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJF
eHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5
cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3Vu
dCwgcHJldmlvdXNDaGFyYWN0ZXIpOworICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hv
dWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zv
cm1zVHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsK
ICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBlbmQo
CiAgICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4LApAQCAtMzM3LDIzICszNDMs
MTYgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVy
YXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIG1fbWluR2x5cGhCb3Vu
ZGluZ0JveFkgPSBzdGQ6Om1pbihtX21pbkdseXBoQm91bmRpbmdCb3hZLCBib3VuZHMueSgpKTsK
ICAgICAgICAgICAgIG1fbGFzdEdseXBoT3ZlcmZsb3cgPSBzdGQ6Om1heDxmbG9hdD4oMCwgYm91
bmRzLm1heFgoKSAtIHdpZHRoKTsKICAgICAgICAgfQotICAgICAgICBwcmV2aW91c0NoYXJhY3Rl
ciA9IGNoYXJhY3RlcjsKICAgICB9CiAKKyAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBo
QnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnRE
YXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKwogICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25X
aWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCiAgICAgICAgICAgICBnbHlw
aEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0Rm9u
dERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT5z
cGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBt
X3J1bi5sZW5ndGgoKSAtIDEpOwogICAgIH0KLQotICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBz
aG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJl
dmlvdXNDaGFyYWN0ZXIpOwotICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlw
ZTo6Tm9uZSkgewotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRh
LCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZv
cmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICAgICAgZ2x5cGhCdWZmZXIuc2hy
aW5rKGxhc3RHbHlwaENvdW50KTsKLSAgICB9Ci0KLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRl
eCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIH0KIAogdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4
IGZjYjBlY2I5YzA0MDg2YzU2YzhjZDc4ZjYxMjBmYjYxOThiNDE1MWEuLmM4MThmNTFmYmFiNDQx
NmJkNDEyNGY3YzMyZDUzNDFjNDUzN2QxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKQEAgLTYwLDggKzYwLDkgQEAgcHJpdmF0ZToK
ICAgICBpbmxpbmUgdm9pZCBhZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZm
ZXImKTsKIAogICAgIGVudW0gY2xhc3MgVHJhbnNmb3Jtc1R5cGUgeyBOb25lLCBGb3JjZWQsIE5v
dEZvcmNlZCB9OwotICAgIFRyYW5zZm9ybXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMo
Y29uc3QgR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2
aW91c0NoYXJhY3RlcikgY29uc3Q7Ci0gICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlw
aEJ1ZmZlciYsIGJvb2wgbHRyLCB1bnNpZ25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQm
LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRl
ZEFzU3BhY2UmKTsKKyAgICBUcmFuc2Zvcm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1z
KGNvbnN0IEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3Q7CisgICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3Jt
cyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRl
ZEFzU3BhY2UmKTsKKyAgICB1bnNpZ25lZCBjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVm
ZmVyJiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJ
bmRleCwgY29uc3QgRm9udCYsIGNvbnN0IEZvbnQmIHByaW1hcnlGb250LCBVQ2hhcjMyIGNoYXJh
Y3RlciwgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIENoYXJhY3RlcnNUcmVhdGVkQXNT
cGFjZSYpOwogCiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0
UnVuJiBtX3J1bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDb2NvYS5tbQppbmRleCA2NWI1ZTE2NDBhZGI3Mjg3OGUzM2U4ZDg5ZGY4ZjRmOTVm
OWYxMjhkLi45M2ZiMDAwNGUyZDA0YWE3NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CkBAIC01NDQsMjggKzU0NCw3OCBAQCBSZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVT
Y2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVy
biBjcmVhdGVEZXJpdmF0aXZlRm9udChzY2FsZWRGb250LmdldCgpLCBzaXplLCBtX3BsYXRmb3Jt
RGF0YS5vcmllbnRhdGlvbigpLCBmb250VHJhaXRzLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNC
b2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9u
dDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVn
aW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNv
bnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwg
dW5zaWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCBy
ZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0
LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24pIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IElt
cGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCiAgICAgVU5VU0VEX1BBUkFNKHJl
cXVpcmVzU2hhcGluZyk7Ci0gICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVu
YWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NU
Rm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhT
V0lUSExBTkdVQUdFKQotICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlw
aCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlcikgeworCisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYg
VVNFKENURk9OVFNIQVBFR0xZUEhTKQorICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5n
ZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRl
ciwgQ0dQb2ludCoqIG5ld09mZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50
ZXIpIHsKICAgICAgICAgcmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5s
b2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4Pihn
bHlwaEJ1ZmZlci5zaXplKCkpKTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAg
ICAgICAgICAgIHJhbmdlLmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2Uu
bGVuZ3RoKTsKICAgICAgICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSBy
YW5nZS5sZW5ndGg7Ci0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVm
ZmVyLnJlbW92ZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxl
bmd0aCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUo
YmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAg
ICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5k
ZXgpOwotICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
YmVnaW5uaW5nSW5kZXgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5u
aW5nR2x5cGhJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisg
ICAgICAgICpuZXdHbHlwaHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0ds
eXBoSW5kZXgpOworICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2
YW5jZXMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9
IGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJ
bmRpY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlw
aEluZGV4KTsKICAgICB9OwotICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSht
X3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4
KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5p
bmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywg
TG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxl
KS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8g
c3Vic3RyaW5nID0gdGV4dC5zdWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1
dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vic3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVy
cygpOworICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1
YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygp
OworICAgIENURm9udFNoYXBlT3B0aW9ucyBvcHRpb25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0
ZXJDb21wb3NpdGlvbgorICAgICAgICB8IChlbmFibGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0
aEtlcm5pbmcgOiAwKQorICAgICAgICB8ICh0ZXh0RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246
OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytp
KQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRl
eClbaV0gLT0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygK
KyAgICAgICAgbV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmds
eXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1Np
emUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5n
R2x5cGhJbmRleCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5u
aW5nR2x5cGhJbmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+
KHVwY29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2Fs
ZVN0cmluZy5nZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQor
ICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClb
aV0gKz0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0o
YmVnaW5uaW5nU3RyaW5nSW5kZXgpOwogICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENU
Rm9udFRyYW5zZm9ybUdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIu
Z2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1
ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdp
bm5pbmdJbmRleCwgb3B0aW9ucyk7CisgICAgVU5VU0VEX1BBUkFNKHRleHQpOworCisgICAgLy8g
Q1RGb250VHJhbnNmb3JtR2x5cGhzKCkgb3BlcmF0ZXMgaW4gdmlzdWFsIG9yZGVyLCBidXQgV2lk
dGhJdGVyYXRvciBpdGVyYXRlcyBpbiBsb2dpY2FsIG9yZGVyLgorICAgIC8vIFRlbXBvcmFyaWx5
IHB1dCB1cyBpbiB2aXN1YWwgb3JkZXIganVzdCBmb3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJh
Y2sgaW50byBsb2dpY2FsIG9yZGVyIHdoZW4KKyAgICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAg
IC8vIFdlIGRvbid0IGhhdmUgYSBnbG9iYWwgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVy
OyB3ZSdyZSBqdXN0IG9wZXJhdGluZyBvbiBhIHNpbmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBX
aWR0aEl0ZXJhdG9yIGVuY291bnRlcnMgdGhlIGNodW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwg
c28gd2UgaGF2ZSB0byBtYWludGFpbiB0aGF0IGludmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5
LCBGb250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUg
YnVmZmVyIHRvIHB1dCB0aGUgZW50aXJlIHRoaW5nCisgICAgLy8gaW4gdmlzdWFsIG9yZGVyLCBi
dXQgdGhhdCdzIG9rYXkgYmVjYXVzZSBpdCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhC
dWZmZXIuCisgICAgLy8gT24gdGhlIG90aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNj
ZXB0cyB0aGUgYnVmZmVyIGluIGxvZ2ljYWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2lj
YWwKKyAgICAvLyBvcmRlciwgd2hpY2ggbWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhp
cyBmdW5jdGlvbiBzdGlsbCBuZWVkcyB0byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFw
ZUdseXBocygpIGlzIGJlaW5nIHVzZWQuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERp
cmVjdGlvbjo6UlRMKQorICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBo
SW5kZXgsIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOworCisgICAg
Q1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250
VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hh
cGluZzsKKyAgICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCks
IGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2Fz
dDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGds
eXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlm
CisKKyAgICAvLyBTZWUgdGhlIGNvbW1lbnQgYWJvdmUgaW4gdGhpcyBmdW5jdGlvbiB3aGVyZSB0
aGUgb3RoZXIgY2FsbCB0byByZXZlcnNlKCkgaXMuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0g
VGV4dERpcmVjdGlvbjo6UlRMKQorICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmlu
Z0dseXBoSW5kZXgsIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOwog
fQogCiBzdGF0aWMgaW50IGV4dHJhY3ROdW1iZXIoQ0ZOdW1iZXJSZWYgbnVtYmVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
Q29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwCmluZGV4IDMyNTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEw
Y2FiZDI0MTdkYTQuLmZmNmZjOGQ4MzI5ZDQ0ZmZhOTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250
RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRy
PENGRGljdGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxl
S2VybmluZywgRm9udE8KICAgICB2YWx1ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsK
ICAgICBzaXplX3QgY291bnQgPSAxOwogCi0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJ
VEhMQU5HVUFHRSkKKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIGxvY2FsZVN0cmluZyA9IGxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDdhNjRlYzBjM2E0MDkxNjYxODFkZWM3ZjEwYzhjNzRiYTU1MzEwYTAuLjgwNTExMzRh
MTQwNmE2ZjI1NWQ2OGJmMWZkYzVkNTQzZmQ3MWFiZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wOC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5n
dWFnZSgpIHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGJlIG1vcmUgcm9idXN0LgorCisgICAg
ICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0
aC5odG1sOgorCiAyMDIwLTA4LTA4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBHbHlwaEJ1ZmZlcnMgcmVxdWlyZWQgaW4gdGhlIGZhc3Qg
dGV4dCBjb2RlcGF0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKaW5kZXgg
OTg0NzEyNjdlZTdhM2NlMTY5YjgwYTY2MmE2ZGVlM2FiMjZmZTI4NC4uOWZiN2ViYTBmZDc2YzJj
MGFhZGMzMWYyMDQyZTAyNzQyODAzZjYxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBl
Y3RlZC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFk
ZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRyYW9y
ZGluYXI8c3Bhbj4tPC9zcGFuPjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0cmFv
cmRpbmEtPGJyPnJpbHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3
aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXggZGU4
YjFjYWE1YzJhY2I1MjA2MGRkMDc4N2E5NjIyYWY5YmYyMmQ2ZC4uYTY1MDM4NWJjYTljMDU2Mzc3
NzdmMjJhOTg4NWFkNzQwYzU3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCkBAIC0xMSw3ICsx
MSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAg
ICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51
YWw7Ij5leHRyYW9yZGluYXImc2h5O2lseTwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0i
LXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYSZzaHk7cmlseTwvZGl2PgogICAg
ICAgICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48L3RkPgogICAgIDwv
dHI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406291</attachid>
            <date>2020-08-10 04:02:26 -0700</date>
            <delta_ts>2020-08-10 15:13:13 -0700</delta_ts>
            <desc>Rebased and addressed comments</desc>
            <filename>bug-215059-20200810040225.patch</filename>
            <type>text/plain</type>
            <size>38479</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmE1NWQxYWJhMmE2OGJkNmY4ZDdkNGU5NWE0MDRjZTYzYmJlZjAy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMDkgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNhMDQ3
ZWY3MjQ2NGUyNWFkMDQ0NTlhZTM5NjQ5ODA3ZmRjMTE3NmIuLjk4OWZmOTI4ZjkxOTYxZWQ2NmMz
NDNiN2ExNzAyYmM2ZDE4YWRkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0w
OC0wOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGVy
ZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgKGV4Y2VwdCBmb3Igc29mdCBoeXBoZW4ga2VybmluZywg
d2hpY2gKKyAgICAgICAgaXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cykuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6c2hvdWxkQXBwbHlG
b250VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjph
cHBseUZvbnRUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFk
dmFuY2VJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRv
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzIGNvbnN0KToKKwogMjAyMC0w
OC0wOSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVsb2FkIGdyYXBo
aWNzIGRyaXZlcnMgaW4gTWFjIFdlYlByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDM4YzY3
YjVlZDAyYzc0MWMzZTM1OGQ3YmVjM2IzYWI4ZTIzZmY4YzguLjA2NjgxNzNkMmZmMzAzMzI4OTgy
YWYxZWQxNDRiMzk4MTkzMWNmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20gQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExh
bmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIw
MjAtMDgtMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwZXJpbWVudGFsOiBDYXAgdGhlIGV4cGlyeSBvZiBwZXJzaXN0ZW50IGNvb2tpZXMgc2V0IGlu
IDNyZC1wYXJ0eSBDTkFNRSBjbG9ha2VkIEhUVFAgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApp
bmRleCBlYWE4Mjg1ZGYxMTgwYzIxOWEzZGViYWQxNzYxMjlmNDcyN2RhYmYyLi5hZGU0MmRkMTM5
ZjNhOWY0YWFmNDczODJlNWIwZDY0Y2JmNjgxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMw
Miw1ICszMDIsNSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDApCi0jZGVm
aW5lIFVTRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2RlZmluZSBVU0Vf
Q1RGT05UU0hBUEVHTFlQSFMgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCA3ZDIxNGVkYTlmNTE3NDVmMGVkM2I5NGViYWNj
ZDhlMTIyZWIyODVkLi4zNDJkNTkxZTA1YWJkMGE0MjAxZGMwMzYyNjdkMDM1YTYxYTQ1YjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHR5cGVkZWYgQ0ZfT1BUSU9OUyh1aW50MzJfdCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucykgewogICAgIGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nID0gKDEg
PDwgMSkKIH07CiAKK3R5cGVkZWYgQ0ZfT1BUSU9OUyhDRk9wdGlvbkZsYWdzLCBDVEZvbnRTaGFw
ZU9wdGlvbnMpIHsKKyAgICBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA9ICgxIDw8IDApLAorICAg
IGtDVEZvbnRTaGFwZVdpdGhDbHVzdGVyQ29tcG9zaXRpb24gPSAoMSA8PCAxKSwKKyAgICBrQ1RG
b250U2hhcGVSaWdodFRvTGVmdCA9ICgxIDw8IDIpLAorfTsKKwogdHlwZWRlZiBDRl9PUFRJT05T
KHVpbnQzMl90LCBDVEZvbnREZXNjcmlwdG9yT3B0aW9ucykgewogICAgIGtDVEZvbnREZXNjcmlw
dG9yT3B0aW9uU3lzdGVtVUlGb250ID0gMSA8PCAxLAogICAgIGtDVEZvbnREZXNjcmlwdG9yT3B0
aW9uUHJlZmVyQXBwbGVTeXN0ZW1Gb250ID0ga0NURm9udE9wdGlvbnNQcmVmZXJTeXN0ZW1Gb250
CkBAIC05Miw3ICs5OCw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q1NTRmFt
aWx5TW9ub3NwYWNlOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlT
eXN0ZW1VSTsKIAogYm9vbCBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoQ1RGb250UmVmLCBDR0dseXBo
IGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucyk7Ci1DR1NpemUgQ1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiwgQ0dHbHlwaFtdLCBDR1NpemVbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250VHJhbnNm
b3JtT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5kbGVyKShDRlJhbmdl
LCBDR0dseXBoKiosIENHU2l6ZSoqKSk7CitDR1NpemUgQ1RGb250U2hhcGVHbHlwaHMoQ1RGb250
UmVmLCBDR0dseXBoIGdseXBoc1tdLCBDR1NpemUgYWR2YW5jZXNbXSwgQ0dQb2ludCBvcmlnaW5z
W10sIENGSW5kZXggaW5kZXhlc1tdLCBjb25zdCBVbmlDaGFyIGNoYXJzW10sIENGSW5kZXggY291
bnQsIENURm9udFNoYXBlT3B0aW9ucywgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIHZvaWQgKF5oYW5k
bGVyKShDRlJhbmdlLCBDR0dseXBoKiosIENHU2l6ZSoqLCBDR1BvaW50KiosIENGSW5kZXgqKikp
OwogCiBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZik7CiBDVExpbmVSZWYg
Q1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRlcihDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNr
LCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2ssIHZvaWQqIHJlZkNvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dl
YkNvcmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJl
ZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjllNzgy
MDBkOTlhOTk4NjgwNTkxYjRjZGYwYi4uNjFjN2NmMGViYzUxMTQwZjdjOWJiMWQ4MGQ5M2M5NGZk
NmQzOTMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNz
aGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVt
ZQpAQCAtNDAsNiArNDAsMTAgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllF
UyIKICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93
TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAg
ICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vy
cy9tbWF4ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAg
IDwvUGF0aFJ1bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgog
ICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDlhZTY5MDY4ZjNlYmZmZmE5YzhlNDA1OGQ1MWE4
MzRkOGRhMDdmMDIuLjZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOCwgMjAxMCwgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFBy
b3NrdXJ5YWtvdgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEyLDcgKzUxMiw3IEBAIFJlZlB0cjxG
b250PiBGb250OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBmbG9hCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEZvbnQ6OmFw
cGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBB
dG9tU3RyaW5nJikgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
JiwgdW5zaWduZWQsIHVuc2lnbmVkLCBib29sLCBib29sLCBjb25zdCBBdG9tU3RyaW5nJiwgU3Ry
aW5nVmlldywgVGV4dERpcmVjdGlvbikgY29uc3QKIHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGVhZjlkYWM0MjBhYWZlMDJiY2FmNzA3Yjdl
ZGNiNGRkZTMzZDk0YjcuLjhlYzMzODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTEsNyArMSw3IEBA
CiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVtZW50
YXRpb24uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEwLCAyMDE1LTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3
LTIwMDggVG9yY2ggTW9iaWxlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjA3LDcgKzIwNyw3IEBA
IHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJT
ZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7Ci0gICAgdm9pZCBhcHBseVRyYW5z
Zm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVL
ZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBj
b25zdDsKKyAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJl
Z2lubmluZ0dseXBoSW5kZXgsIHVuc2lnbmVkIGJlZ2lubmluZ1N0cmluZ0luZGV4LCBib29sIGVu
YWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2Nh
bGUsIFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbikgY29uc3Q7CiAKICNpZiBQTEFURk9S
TShXSU4pCiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBzY3JpcHRGb250UHJvcGVydGllcygp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuY3BwCmluZGV4IDg0ZjZiODBiMWFmMmUyNzQxODc1MDA0NjBhODkwYjAzZjNhYjc0ZDkuLjg2
NWFmODJmNmJlYzgyNmYzMzRhMTJmY2E5YzI5MmIxOTIyYmZkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTQyNiw3ICs0MjYs
NyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWZs
b2F0IEZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25z
dAorZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQs
IFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbikgY29uc3QKIHsKICAgICBpZiAodGV4dC5pc051
bGwoKSB8fCB0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NDUsNyArNDQ1
LDcgQEAgZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRl
eHQpIGNvbnN0CiAgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgZm9udCwgZ2x5cGhXaWR0
aCwgaSk7CiAgICAgfQogCi0gICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAs
IGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNv
bXB1dGVkTG9jYWxlKCkpOworICAgIGZvbnQuYXBwbHlUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCAw
LCAwLCBlbmFibGVLZXJuaW5nKCksIHJlcXVpcmVzU2hhcGluZygpLCBmb250RGVzY3JpcHRpb24o
KS5jb21wdXRlZExvY2FsZSgpLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uKTsKICAgICAvLyBUaGlzIGlz
IG5lZWRlZCBvbmx5IHRvIG1hdGNoIHRoZSByZXN1bHQgb2YgdGhlIHNsb3cgcGF0aC4KICAgICAv
LyBTYW1lIGdseXBoIHdpZHRocyBidXQgZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IGFyaXRobWV0
aWMgY2FuIHByb2R1Y2UgZGlmZmVyZW50IHJ1biB3aWR0aC4KICAgICBmbG9hdCBydW5XaWR0aERp
ZmZlcmVuY2VXaXRoVHJhbnNmb3JtQXBwbGllZCA9IC1ydW5XaWR0aDsKQEAgLTEzOTEsNiArMTM5
MSw4IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRl
eHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0
aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVy
LnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAg
Ly8gVGhlIGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAv
LyBidXQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgogICAg
IGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1NGFiYy4u
Mzg3Mzk5ZjE0NTQzZDZhMDE0NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2LDcg
QEAgcHVibGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiwg
dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFj
a0ZvbnRzID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9hdCog
b3V0V2lkdGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
ZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFj
a0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0aEZv
clNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZvclNp
bXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6
TFRSKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5b3V0
RGVsZXRlcj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNvbGxh
cHNlV2hpdGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlvdXQm
LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxs
YmFja0ZvbnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4IDdlYjI3ZDZkMDkxYjc1OTlmYTliNTU1OGZkNDhiYmI2
YjA1ZDU4MzEuLjVmOTU2Yjk4M2YwNWQxMTY2YTg3MzFhNjBjZTQ4YzQyYjc4MTM3YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3Bw
CkBAIC03OCwyNCArNzgsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShV
Q2hhcjMyIGNvZGVwb2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2Rl
cG9pbnQgPD0gMHhFNTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRy
YW5zZm9ybXNUeXBlCitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRU
cmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEds
eXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNm
b3Jtc1R5cGUKIHsKLSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3Vu
dCArIDEpICYmIGlzU29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgQVNTRVJU
KGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA8PSBtX3J1bi5sZW5ndGgoKSk7CisgICAgaWYgKGdseXBo
QnVmZmVyLnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5k
ZXggLSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlm
IChtX3J1bi5sZW5ndGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5v
bmU7CiAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBm
bG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYg
Zm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lk
dGhJdGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIs
IHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgs
IGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXND
aGFyYWN0ZXIsIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlw
aENvdW50LCBwcmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5
cGU6Ok5vbmUpOworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91
bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVu
dENoYXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7
CiAKICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAgICBp
ZiAoIWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAg
ICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAm
JiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4g
MDsKLSAgICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZm
ZXIuYWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTAzLDE3ICsx
MDIsMTUgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGggKz0g
YWR2YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBnbHlw
aEJ1ZmZlclNpemUpOwotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNl
KGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAg
ICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5h
YmxlS2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5j
b21wdXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwg
bGFzdEdseXBoQ291bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcs
IG1fcmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2Nh
bGUoKSwgbV9ydW4udGV4dCgpLCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJT
aXplID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEds
eXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9yaWdp
biogb3JpZ2lucyA9IGdseXBoQnVmZmVyLm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBh
ZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKLQotICAgIGlmICgh
bHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1
ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3Jp
Z2luc1tpXS55KCkpOworICAgIH0KIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENv
dW50OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYXV0byBjaGFyYWN0ZXJJ
bmRleCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwpAQCAtMTMzLDcgKzEzMCw2IEBA
IGlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBo
Q291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBh
ZHZhbmNlc1tpXS53aWR0aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNp
emU7CiAgICAgcmV0dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTY2LDEw
ICsxNjIsMzAgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9u
TG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIoZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCit2b2lkIFdpZHRoSXRlcmF0b3I6
OmNvbW1pdEN1cnJlbnRGb250UmFuZ2UoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25l
ZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBG
b250JiBmb250LCBjb25zdCBGb250JiBwcmltYXJ5Rm9udCwgVUNoYXIzMiBjaGFyYWN0ZXIsIGZs
b2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNo
YXJhY3RlcnNUcmVhdGVkQXNTcGFjZSkKK3sKKyAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hv
dWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCk7CisgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lKQorICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgZm9u
dCwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKTsKKyAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IGN1cnJlbnRDaGFy
YWN0ZXJJbmRleDsKKworICAgIGlmICh3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSAmJiBtX2ZhbGxi
YWNrRm9udHMgJiYgJmZvbnQgIT0gJnByaW1hcnlGb250KSB7CisgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGRvZXMgYSBsaXR0bGUgZXh0cmEgd29yayB0aGF0IGNvdWxkIGJlIGF2b2lkZWQgaWYKKyAg
ICAgICAgLy8gZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKCkgcmV0dXJuZWQgd2hldGhlciBpdCBjaG9z
ZSB0byB1c2UgYSBzbWFsbCBjYXBzIGZvbnQuCisgICAgICAgIGlmICghbV9mb250LmlzU21hbGxD
YXBzKCkgfHwgY2hhcmFjdGVyID09IHVfdG91cHBlcihjaGFyYWN0ZXIpKQorICAgICAgICAgICAg
bV9mYWxsYmFja0ZvbnRzLT5hZGQoJmZvbnQpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGNvbnN0IEdseXBoRGF0YSYgdXBwZXJjYXNlR2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZv
ckNoYXJhY3Rlcih1X3RvdXBwZXIoY2hhcmFjdGVyKSwgbV9ydW4ucnRsKCkpOworICAgICAgICAg
ICAgaWYgKHVwcGVyY2FzZUdseXBoRGF0YS5mb250ICE9ICZwcmltYXJ5Rm9udCkKKyAgICAgICAg
ICAgICAgICBtX2ZhbGxiYWNrRm9udHMtPmFkZCh1cHBlcmNhc2VHbHlwaERhdGEuZm9udCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29y
ZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2lt
cGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250
Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgp
OwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwg
bV9mb250LndvcmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlz
YWJsZWQoKTsKIApAQCAtMTg1LDExICsyMDEsMTIgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYK
ICAgICBjb25zdCBGb250KiBsYXN0Rm9udERhdGEgPSAmcHJpbWFyeUZvbnQ7CiAgICAgdW5zaWdu
ZWQgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci5zaXplKCk7CiAKKyAgICBhdXRvIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICBVQ2hh
cjMyIGNoYXJhY3RlciA9IDA7Ci0gICAgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciA9IDA7CiAg
ICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aCA9IDA7CiAgICAgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZTsKICAgICBTdHJpbmcgbm9ybWFsaXplZFNwYWNl
c1N0cmluZ0NhY2hlOworICAgIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlID0gMDsKICAg
ICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBD
b21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZh
bmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rl
ckxlbmd0aCkpIHsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5n
dGg7CkBAIC0xOTksMTQgKzIxNiwxNSBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZh
bmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAg
ICAvLyBkb2Vzbid0IHN1cHBvcnQgdGhlIGNvZGUgcG9pbnQuIFdlIHNob3VsZCBpZ25vcmUgdGhl
bSBhdCB0aGlzIHBvaW50IHRvIGVuc3VyZSB0aGV5IGFyZSBub3QgZGlzcGxheWVkLgogICAgICAg
ICBpZiAoIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CiAgICAgICAgICAgICB0ZXh0SXRl
cmF0b3IuYWR2YW5jZShhZHZhbmNlTGVuZ3RoKTsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0
ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgaW50IGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgY29uc3QgR2x5cGhEYXRh
JiBnbHlwaERhdGEgPSBtX2ZvbnQuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgcnRs
KTsKICAgICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaERhdGEuZ2x5cGg7CiAgICAgICAgIGlmICgh
Z2x5cGggJiYgIWNoYXJhY3Rlck11c3REcmF3U29tZXRoaW5nKSB7CiAgICAgICAgICAgICB0ZXh0
SXRlcmF0b3IuYWR2YW5jZShhZHZhbmNlTGVuZ3RoKTsKKyAgICAgICAgICAgIGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGNvbnN0IEZvbnQqIGZvbnQgPSBnbHlwaERhdGEu
Zm9udCA/IGdseXBoRGF0YS5mb250IDogJm1fZm9udC5wcmltYXJ5Rm9udCgpOwpAQCAtMjIzLDI2
ICsyNDEsMTMgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgIHdpZHRoICo9
IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
IChmb250ICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewotICAgICAgICAgICAgYXV0byB0cmFu
c2Zvcm1zVHlwZSA9IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rlcik7Ci0gICAgICAgICAgICBpZiAodHJhbnNmb3Jt
c1R5cGUgIT0gVHJhbnNmb3Jtc1R5cGU6Ok5vbmUpIHsKLSAgICAgICAgICAgICAgICBtX3J1bldp
ZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCks
IGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNm
b3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlKTsKLSAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5zaHJpbmsobGFzdEdseXBoQ291bnQp
OwotICAgICAgICAgICAgfQotCisgICAgICAgIGlmIChmb250ICE9IGxhc3RGb250RGF0YSkgewor
ICAgICAgICAgICAgY29tbWl0Q3VycmVudEZvbnRSYW5nZShnbHlwaEJ1ZmZlciwgbGFzdEdseXBo
Q291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgKmxhc3RGb250RGF0YSwgcHJpbWFyeUZvbnQs
IGNoYXJhY3Rlciwgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIGNoYXJhY3RlcnNUcmVhdGVkQXNT
cGFjZSk7CisgICAgICAgICAgICBsYXN0R2x5cGhDb3VudCA9IGdseXBoQnVmZmVyLnNpemUoKTsK
ICAgICAgICAgICAgIGxhc3RGb250RGF0YSA9IGZvbnQ7Ci0gICAgICAgICAgICBpZiAobV9mYWxs
YmFja0ZvbnRzICYmIGZvbnQgIT0gJnByaW1hcnlGb250KSB7Ci0gICAgICAgICAgICAgICAgLy8g
RklYTUU6IFRoaXMgZG9lcyBhIGxpdHRsZSBleHRyYSB3b3JrIHRoYXQgY291bGQgYmUgYXZvaWRl
ZCBpZgotICAgICAgICAgICAgICAgIC8vIGdseXBoRGF0YUZvckNoYXJhY3RlcigpIHJldHVybmVk
IHdoZXRoZXIgaXQgY2hvc2UgdG8gdXNlIGEgc21hbGwgY2FwcyBmb250LgotICAgICAgICAgICAg
ICAgIGlmICghbV9mb250LmlzU21hbGxDYXBzKCkgfHwgY2hhcmFjdGVyID09IHVfdG91cHBlcihj
aGFyYWN0ZXIpKQotICAgICAgICAgICAgICAgICAgICBtX2ZhbGxiYWNrRm9udHMtPmFkZChmb250
KTsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgR2x5
cGhEYXRhJiB1cHBlcmNhc2VHbHlwaERhdGEgPSBtX2ZvbnQuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVy
KHVfdG91cHBlcihjaGFyYWN0ZXIpLCBydGwpOwotICAgICAgICAgICAgICAgICAgICBpZiAodXBw
ZXJjYXNlR2x5cGhEYXRhLmZvbnQgIT0gJnByaW1hcnlGb250KQotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9mYWxsYmFja0ZvbnRzLT5hZGQodXBwZXJjYXNlR2x5cGhEYXRhLmZvbnQpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICAgICAgd2lk
dGhPZkN1cnJlbnRGb250UmFuZ2UgPSB3aWR0aDsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSArPSB3aWR0aDsKIAogICAgICAgICBpZiAoaGFzRXh0
cmFTcGFjaW5nKSB7CiAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBsZXR0ZXItc3BhY2luZy4K
QEAgLTI4Miw2ICsyODcsOCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50
ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGZvbnQtPnplcm9XaWR0aFNw
YWNlR2x5cGgoKSwgKmZvbnQsIG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHksIGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT5zcGFj
ZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFj
dGVySW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0R2x5cGhDb3Vu
dCA9IGdseXBoQnVmZmVyLnNpemUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdseXBoQnVmZmVyLmV4cGFuZExhc3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5p
dHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTMwNyw3ICszMTQsNyBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICAgICAgICAgIG1faXNBZnRlckV4cGFu
c2lvbiA9IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byB0cmFuc2Zvcm1zVHlwZSA9
IHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBw
cmV2aW91c0NoYXJhY3Rlcik7CisgICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENo
YXJhY3RlckluZGV4KTsKICAgICAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9ybXNU
eXBlOjpOb25lICYmIEZvbnRDYXNjYWRlOjp0cmVhdEFzU3BhY2UoY2hhcmFjdGVyKSkgewogICAg
ICAgICAgICAgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmNvbnN0cnVjdEFuZEFwcGVuZCgKICAg
ICAgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXgsCkBAIC0zMzIsMjggKzMzOSwyMyBA
QCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9y
JiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogCiAgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlw
aCwgKmZvbnQsIHdpZHRoLCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOwogCisgICAgICAgIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKwogICAgICAg
ICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIG1fbWF4R2x5cGhC
b3VuZGluZ0JveFkgPSBzdGQ6Om1heChtX21heEdseXBoQm91bmRpbmdCb3hZLCBib3VuZHMubWF4
WSgpKTsKICAgICAgICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBzdGQ6Om1pbihtX21p
bkdseXBoQm91bmRpbmdCb3hZLCBib3VuZHMueSgpKTsKICAgICAgICAgICAgIG1fbGFzdEdseXBo
T3ZlcmZsb3cgPSBzdGQ6Om1heDxmbG9hdD4oMCwgYm91bmRzLm1heFgoKSAtIHdpZHRoKTsKICAg
ICAgICAgfQotICAgICAgICBwcmV2aW91c0NoYXJhY3RlciA9IGNoYXJhY3RlcjsKICAgICB9CiAK
KyAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwg
Y3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFj
dGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsK
KwogICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBpZiAobV9m
b3JUZXh0RW1waGFzaXMpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRh
LT56ZXJvV2lkdGhTcGFjZUdseXBoKCksICpsYXN0Rm9udERhdGEsIGxlZnRvdmVySnVzdGlmaWNh
dGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci5hZGQobGFzdEZvbnREYXRhLT5zcGFjZUdseXBoKCksICpsYXN0Rm9udERh
dGEsIGxlZnRvdmVySnVzdGlmaWNhdGlvbldpZHRoLCBtX3J1bi5sZW5ndGgoKSAtIDEpOwogICAg
IH0KLQotICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1z
KGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOwotICAgIGlm
ICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSkgewotICAgICAgICBtX3J1
bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRy
KCksIGxhc3RHbHlwaENvdW50LCAqbGFzdEZvbnREYXRhLCBwcmV2aW91c0NoYXJhY3RlciwgdHJh
bnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRB
c1NwYWNlKTsKLSAgICAgICAgZ2x5cGhCdWZmZXIuc2hyaW5rKGxhc3RHbHlwaENvdW50KTsKLSAg
ICB9Ci0KLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50
SW5kZXgoKTsKIH0KIAogdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKHVuc2lnbmVkIG9mZnNl
dCwgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCmluZGV4IGZjYjBlY2I5YzA0MDg2YzU2YzhjZDc4
ZjYxMjBmYjYxOThiNDE1MWEuLmY0NWQ2ZDJhZDBkNWM3MzE4MjhkZTE3OGMxMDAwNzgwYWM3YTZj
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmgKQEAgLTYwLDggKzYwLDkgQEAgcHJpdmF0ZToKICAgICBpbmxpbmUgdm9pZCBhZHZhbmNl
SW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiwgR2x5cGhCdWZmZXImKTsKIAogICAgIGVudW0gY2xhc3Mg
VHJhbnNmb3Jtc1R5cGUgeyBOb25lLCBGb3JjZWQsIE5vdEZvcmNlZCB9OwotICAgIFRyYW5zZm9y
bXNUeXBlIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoY29uc3QgR2x5cGhCdWZmZXImLCB1bnNp
Z25lZCBsYXN0R2x5cGhDb3VudCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlcikgY29uc3Q7Ci0g
ICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIGJvb2wgbHRyLCB1bnNp
Z25lZCYgbGFzdEdseXBoQ291bnQsIGNvbnN0IEZvbnQmLCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFj
dGVyLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKKyAgICBUcmFuc2Zv
cm1zVHlwZSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiwgdW5z
aWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29u
c3Q7CisgICAgZmxvYXQgYXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVk
IGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZv
bnQmLCBib29sIGZvcmNlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmKTsKKyAgICB2b2lkIGNv
bW1pdEN1cnJlbnRGb250UmFuZ2UoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3Vu
dCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBGb250JiwgY29uc3QgRm9u
dCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9hdCB3aWR0aE9mQ3VycmVudEZv
bnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CiAKICAgICBjb25zdCBGb250Q2Fz
Y2FkZSYgbV9mb250OwogICAgIGNvbnN0IFRleHRSdW4mIG1fcnVuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDY1YjVl
MTY0MGFkYjcyODc4ZTMzZThkODlkZjhmNGY5NWY5ZjEyOGQuLjkzZmIwMDA0ZTJkMDRhYTc1OTMz
YTFiZDFjYjdiYzhiODE3ZjVjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU0NCwyOCArNTQ0LDc4IEBAIFJlZlB0
cjxGb250PiBGb250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgZmxvYXQgc2NhbGVGCiAgICAgcmV0dXJuIGNyZWF0ZURlcml2YXRpdmVGb250KHNjYWxl
ZEZvbnQuZ2V0KCksIHNpemUsIG1fcGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCksIGZvbnRUcmFp
dHMsIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURhdGEuc3ludGhl
dGljT2JsaXF1ZSgpKTsKIH0KIAotdm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZm
ZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBiZWdpbm5pbmdJbmRleCwgYm9vbCBlbmFibGVLZXJu
aW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0cmluZyYgbG9jYWxlKSBjb25z
dAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1
bnNpZ25lZCBiZWdpbm5pbmdHbHlwaEluZGV4LCB1bnNpZ25lZCBiZWdpbm5pbmdTdHJpbmdJbmRl
eCwgYm9vbCBlbmFibGVLZXJuaW5nLCBib29sIHJlcXVpcmVzU2hhcGluZywgY29uc3QgQXRvbVN0
cmluZyYgbG9jYWxlLCBTdHJpbmdWaWV3IHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlv
bikgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IEdseXBoQnVmZmVyIGluaXRpYWwg
YWR2YW5jZS4KICAgICBVTlVTRURfUEFSQU0ocmVxdWlyZXNTaGFwaW5nKTsKLSAgICBDVEZvbnRU
cmFuc2Zvcm1PcHRpb25zIG9wdGlvbnMgPSAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zv
cm1BcHBseVBvc2l0aW9uaW5nIDogMCkgfCBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nOwot
I2lmIFVTRShDVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UpCi0gICAgYXV0byBoYW5k
bGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRlciwgQ0dTaXpl
KiogbmV3QWR2YW5jZXNQb2ludGVyKSB7CisKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IEdseXBo
QnVmZmVyIGluaXRpYWwgYWR2YW5jZS4KKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCisgICAg
YXV0byBoYW5kbGVyID0gXihDRlJhbmdlIHJhbmdlLCBDR0dseXBoKiogbmV3R2x5cGhzUG9pbnRl
ciwgQ0dTaXplKiogbmV3QWR2YW5jZXNQb2ludGVyLCBDR1BvaW50KiogbmV3T2Zmc2V0c1BvaW50
ZXIsIENGSW5kZXgqKiBuZXdJbmRpY2VzUG9pbnRlcikgewogICAgICAgICByYW5nZS5sb2NhdGlv
biA9IHN0ZDo6bWluKHN0ZDo6bWF4KHJhbmdlLmxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDRkluZGV4
PigwKSksIHN0YXRpY19jYXN0PENGSW5kZXg+KGdseXBoQnVmZmVyLnNpemUoKSkpOwogICAgICAg
ICBpZiAocmFuZ2UubGVuZ3RoIDwgMCkgewogICAgICAgICAgICAgcmFuZ2UubGVuZ3RoID0gc3Rk
OjptaW4ocmFuZ2UubG9jYXRpb24sIC1yYW5nZS5sZW5ndGgpOwogICAgICAgICAgICAgcmFuZ2Uu
bG9jYXRpb24gPSByYW5nZS5sb2NhdGlvbiAtIHJhbmdlLmxlbmd0aDsKLSAgICAgICAgICAgIGds
eXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5s
ZW5ndGgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIucmVtb3ZlKGJlZ2lubmluZ0dseXBoSW5k
ZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdJbmRleCArIHJhbmdlLmxvY2F0
aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOwotICAgICAgICAqbmV3R2x5cGhzUG9pbnRlciA9IGds
eXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdJbmRleCk7Ci0gICAgICAgICpuZXdBZHZhbmNlc1Bv
aW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCk7CisgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci5tYWtlSG9sZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRp
b24sIHJhbmdlLmxlbmd0aCwgdGhpcyk7CisKKyAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBn
bHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdBZHZh
bmNlc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
KyAgICAgICAgKm5ld09mZnNldHNQb2ludGVyID0gZ2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5p
bmdHbHlwaEluZGV4KTsKKyAgICAgICAgKm5ld0luZGljZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIu
b2Zmc2V0c0luU3RyaW5nKGJlZ2lubmluZ0dseXBoSW5kZXgpOwogICAgIH07Ci0gICAgQ1RGb250
VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBnbHlw
aEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+
KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4KSksIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zLCBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3Vh
Z2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2NhbGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCksIGhhbmRsZXIpOworCisgICAgYXV0byBzdWJzdHJpbmcgPSB0ZXh0LnN1YnN0cmluZyhi
ZWdpbm5pbmdTdHJpbmdJbmRleCk7CisgICAgYXV0byB1cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBz
dWJzdHJpbmcudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CisgICAgYXV0byBsb2NhbGVTdHJpbmcg
PSBMb2NhbGVDb2NvYTo6Y2Fub25pY2FsTGFuZ3VhZ2VJZGVudGlmaWVyRnJvbVN0cmluZyhsb2Nh
bGUpLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgQ1RGb250U2hhcGVPcHRpb25zIG9w
dGlvbnMgPSBrQ1RGb250U2hhcGVXaXRoQ2x1c3RlckNvbXBvc2l0aW9uCisgICAgICAgIHwgKGVu
YWJsZUtlcm5pbmcgPyBrQ1RGb250U2hhcGVXaXRoS2VybmluZyA6IDApCisgICAgICAgIHwgKHRl
eHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMID8ga0NURm9udFNoYXBlUmlnaHRUb0xl
ZnQgOiAwKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXpl
KCkgLSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNl
dHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtpXSAtPSBiZWdpbm5pbmdTdHJpbmdJbmRl
eDsKKworICAgIENURm9udFNoYXBlR2x5cGhzKAorICAgICAgICBtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwKKyAgICAgICAgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpLAor
ICAgICAgICByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJl
Z2lubmluZ0dseXBoSW5kZXgpKSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1BvaW50Kj4o
Z2x5cGhCdWZmZXIub3JpZ2lucyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIGdseXBo
QnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4odXBjb252ZXJ0ZWRDaGFyYWN0ZXJzLmdldCgp
KSwKKyAgICAgICAgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCwKKyAg
ICAgICAgb3B0aW9ucywKKyAgICAgICAgbG9jYWxlU3RyaW5nLmdldCgpLAorICAgICAgICBoYW5k
bGVyKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkg
LSBiZWdpbm5pbmdHbHlwaEluZGV4OyArK2kpCisgICAgICAgIGdseXBoQnVmZmVyLm9mZnNldHNJ
blN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KVtpXSArPSBiZWdpbm5pbmdTdHJpbmdJbmRleDsK
KwogI2Vsc2UKKworICAgIFVOVVNFRF9QQVJBTShiZWdpbm5pbmdTdHJpbmdJbmRleCk7CiAgICAg
VU5VU0VEX1BBUkFNKGxvY2FsZSk7Ci0gICAgQ1RGb250VHJhbnNmb3JtR2x5cGhzKG1fcGxhdGZv
cm1EYXRhLmN0Rm9udCgpLCBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpLCByZWlu
dGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFuY2VzKGJlZ2lubmluZ0luZGV4
KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0luZGV4LCBvcHRpb25zKTsKKyAgICBV
TlVTRURfUEFSQU0odGV4dCk7CisKKyAgICAvLyBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMoKSBvcGVy
YXRlcyBpbiB2aXN1YWwgb3JkZXIsIGJ1dCBXaWR0aEl0ZXJhdG9yIGl0ZXJhdGVzIGluIGxvZ2lj
YWwgb3JkZXIuCisgICAgLy8gVGVtcG9yYXJpbHkgcHV0IHVzIGluIHZpc3VhbCBvcmRlciBqdXN0
IGZvciB0aGUgY2FsbCwgdGhlbiBwdXQgdXMgYmFjayBpbnRvIGxvZ2ljYWwgb3JkZXIgd2hlbgor
ICAgIC8vIHRoZSBjYWxsIGlzIGRvbmUuCisgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIGdsb2JhbCB2
aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXI7IHdlJ3JlIGp1c3Qgb3BlcmF0aW5nIG9uIGEg
c2luZ2xlIGNodW5rIG9mIGl0LgorICAgIC8vIFdpZHRoSXRlcmF0b3IgZW5jb3VudGVycyB0aGUg
Y2h1bmtzIG91dCBpbiBsb2dpY2FsIG9yZGVyLCBzbyB3ZSBoYXZlIHRvIG1haW50YWluIHRoYXQg
aW52YXJpYW50LgorICAgIC8vIEV2ZW50dWFsbHksIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVU
ZXh0KCkgd2lsbCByZXZlcnNlIHRoZSB3aG9sZSBidWZmZXIgdG8gcHV0IHRoZSBlbnRpcmUgdGhp
bmcKKyAgICAvLyBpbiB2aXN1YWwgb3JkZXIsIGJ1dCB0aGF0J3Mgb2theSBiZWNhdXNlIGl0IGhh
cyBhIHZpZXcgb2YgdGhlIGVudGlyZSBHbHlwaEJ1ZmZlci4KKyAgICAvLyBPbiB0aGUgb3RoZXIg
aGFuZCwgQ1RGb250U2hhcGVHbHlwaHMoKSBhY2NlcHRzIHRoZSBidWZmZXIgaW4gbG9naWNhbCBv
cmRlciBidXQgcmV0dXJucyBpdCBpbiBwaHlzaWNhbAorICAgIC8vIG9yZGVyLCB3aGljaCBtZWFu
cyB0aGUgc2Vjb25kIHJldmVyc2UoKSBpbiB0aGlzIGZ1bmN0aW9uIHN0aWxsIG5lZWRzIHRvIGV4
ZWN1dGUgd2hlbgorICAgIC8vIENURm9udFNoYXBlR2x5cGhzKCkgaXMgYmVpbmcgdXNlZC4KKyAg
ICBpZiAodGV4dERpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpSVEwpCisgICAgICAgIGdseXBo
QnVmZmVyLnJldmVyc2UoYmVnaW5uaW5nR2x5cGhJbmRleCwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0g
YmVnaW5uaW5nR2x5cGhJbmRleCk7CisKKyAgICBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zIG9wdGlv
bnMgPSAoZW5hYmxlS2VybmluZyA/IGtDVEZvbnRUcmFuc2Zvcm1BcHBseVBvc2l0aW9uaW5nIDog
MCkgfCBrQ1RGb250VHJhbnNmb3JtQXBwbHlTaGFwaW5nOworICAgIENURm9udFRyYW5zZm9ybUds
eXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmlu
Z0dseXBoSW5kZXgpLCByZWludGVycHJldF9jYXN0PENHU2l6ZSo+KGdseXBoQnVmZmVyLmFkdmFu
Y2VzKGJlZ2lubmluZ0dseXBoSW5kZXgpKSwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5n
R2x5cGhJbmRleCwgb3B0aW9ucyk7CiAjZW5kaWYKKworICAgIC8vIFNlZSB0aGUgY29tbWVudCBh
Ym92ZSBpbiB0aGlzIGZ1bmN0aW9uIHdoZXJlIHRoZSBvdGhlciBjYWxsIHRvIHJldmVyc2UoKSBp
cy4KKyAgICBpZiAodGV4dERpcmVjdGlvbiA9PSBUZXh0RGlyZWN0aW9uOjpSVEwpCisgICAgICAg
IGdseXBoQnVmZmVyLnJldmVyc2UoYmVnaW5uaW5nR2x5cGhJbmRleCwgZ2x5cGhCdWZmZXIuc2l6
ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleCk7CiB9CiAKIHN0YXRpYyBpbnQgZXh0cmFjdE51bWJl
cihDRk51bWJlclJlZiBudW1iZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKaW5kZXgg
MzI1NzlkYTA2MTdhOTA0NDE1NGM1NWZjNGY4MTBjYWJkMjQxN2RhNC4uZmY2ZmM4ZDgzMjlkNDRm
ZmE5MTJkYjdhMDZlMDNkOTk0MWI2NDYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNw
cApAQCAtNDEsNyArNDEsNyBAQCBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBGb250OjpnZXRD
RlN0cmluZ0F0dHJpYnV0ZXMoYm9vbCBlbmFibGVLZXJuaW5nLCBGb250TwogICAgIHZhbHVlc1sw
XSA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpOwogICAgIHNpemVfdCBjb3VudCA9IDE7CiAKLSNp
ZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQorI2lmIFVTRShDVEZPTlRT
SEFQRUdMWVBIUykKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGxvY2FsZVN0cmluZzsKICAg
ICBpZiAoIWxvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgbG9jYWxlU3RyaW5nID0gbG9jYWxl
LnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2E2NGVjMGMzYTQwOTE2NjE4MWRl
YzdmMTBjOGM3NGJhNTUzMTBhMC4uODA1MTEzNGExNDA2YTZmMjU1ZDY4YmYxZmRjNWQ1NDNmZDcx
YWJlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA4LTA5ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNaWdyYXRlIGZyb20g
Q1RGb250VHJhbnNmb3JtR2x5cGhzV2l0aExhbmd1YWdlKCkgdG8gQ1RGb250U2hhcGVHbHlwaHMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBkYXRlIHRl
c3QgdG8gYmUgbW9yZSByb2J1c3QuCisKKyAgICAgICAgKiBmYXN0L3RleHQvc29mdC1oeXBoZW4t
bWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC9z
b2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWw6CisKIDIwMjAtMDgtMDggIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIEdseXBo
QnVmZmVycyByZXF1aXJlZCBpbiB0aGUgZmFzdCB0ZXh0IGNvZGVwYXRoCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJy
ZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAppbmRleCA5ODQ3MTI2N2VlN2EzY2UxNjliODBhNjYyYTZk
ZWUzYWIyNmZlMjg0Li45ZmI3ZWJhMGZkNzZjMmMwYWFkYzMxZjIwNDJlMDI3NDI4MDNmNjE5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJl
ZC13aWR0aC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKQEAgLTExLDcgKzExLDcgQEAK
IDx0YWJsZSBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+CiAgICAgPHRyPgogICAgICAgICA8
dGQ+Ci0gICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hcjxzcGFuPi08L3NwYW4+PGJyPmlseTwv
ZGl2PgorICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYS08YnI+cmlseTwvZGl2PgogICAgICAg
ICA8L3RkPgogICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48L3RkPgogICAgIDwvdHI+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZl
cnJlZC13aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbAppbmRleCBkZThiMWNhYTVjMmFjYjUyMDYwZGQwNzg3YTk2MjJh
ZjliZjIyZDZkLi5hNjUwMzg1YmNhOWMwNTYzNzc3N2YyMmE5ODg1YWQ3NDBjNTdlMjQ0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13
aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJl
ZmVycmVkLXdpZHRoLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDx0YWJsZSBjZWxsc3BhY2luZz0w
IGNlbGxwYWRkaW5nPTA+CiAgICAgPHRyPgogICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8ZGl2
IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1hbnVhbDsiPmV4dHJhb3JkaW5hciZzaHk7aWx5PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWh5cGhlbnM6IG1hbnVhbDsiPmV4
dHJhb3JkaW5hJnNoeTtyaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAgICAgICAgIDx0ZCBzdHls
ZT0id2lkdGg6IDEwMCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThOL3RzcGFuLWRpcmVjdGlvbi1ydGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4v
dHNwYW4tZGlyZWN0aW9uLXJ0bC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM0MmVkMWM2MmFl
NGVjYTllMzQxMWU2NjEwZjU5OGNlNTVhMTdiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThOL3RzcGFuLWRpcmVjdGlvbi1ydGwt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzMsMjIyKSBzaXplIDY1MXgxNDMKKyAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg5MiwxMzMpIHNpemUgMjc2eDIxIGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxOTEsMCkg
c2l6ZSA4NXgyMQorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEg
YXQgKDI4My42NSwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDg0LjE1
IFJUTDogIlx4ezY0Nn1ceHs2MzR9XHh7NjI3fVx4ezYzN30gXHh7NjI3fVx4ezY0NH1ceHs2MkF9
XHh7NjJGfVx4ezY0OH1ceHs2NEF9XHh7NjQ0fSBcIiIKKyAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e3RzcGFufSBhdCAoMCwwKSBzaXplIDE4MXgyMQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMTEsMCkgc2l6ZSAxODF4MjEKKyAgICAgICAgICAgIGNodW5rIDEgKG1p
ZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDEwMy42MCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDggd2lkdGggNDQuOTggUlRMOiAiLCBceHs2Mjd9XHh7NjJFfVx4ezYyQX1ceHs2
Mjh9XHh7NjI3fVx4ezYzMX0iCisgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0
ZXh0IHJ1biAxIGF0ICgxNDguNTgsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3
aWR0aCAxMzUuMDc6ICJkaXJSVEwgdWJFbWJlZCIKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTJ4MjEKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICg5Mi4yMSwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDIgd2lkdGggMTEuMzkgUlRMOiAiXCIhIgorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDIwLDE3MCkgc2l6ZSA4N3gxMyBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg3eDEyCisgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwxODAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDE4IHdpZHRoIDg2LjE4OiAiUmVmZXJlbmNlIGdyYXBoaWM6IgorICAgICAgUmVuZGVyU1ZHSW1h
Z2Uge2ltYWdlfSBhdCAoMTAwLDMwMCkgc2l6ZSA1ODR4NjUKKyAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNiw1NTcpIHNpemUgNzN4MTIKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgxMCwzMzQpIHNpemUgNDR4OCBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ0eDcKKyAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
MTYgd2lkdGggNDMuMDM6ICIkUmV2aXNpb246IDEuNyAkIgorICAgIFJlbmRlclNWR1JlY3Qge3Jl
Y3R9IGF0ICgwLDApIHNpemUgODAweDYwMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW3g9MS4wMF0gW3k9MS4wMF0gW3dpZHRoPTQ3OC4wMF0gW2hlaWdodD0zNTguMDBd
CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDgwMHgzOAorICAgICAg
UmVuZGVyU1ZHUmVjdCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzYgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAw
MDBdfV0gW3g9MS4wMF0gW3k9MS4wMF0gW3dpZHRoPTQ3OC4wMF0gW2hlaWdodD0yMC4wMF0KKyAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMDYsMCkgc2l6ZSA2OHgyMyBjb250YWlucyAx
IGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDY4eDIzCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBh
dCAoMjA2LjQ2LDE4LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA1IHdpZHRoIDY3LjA5OiAi
RFJBRlQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL3N2Zy90
ZXh0L2JpZGktdHNwYW5zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1i
aWdzdXIvc3ZnL3RleHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNWFk
MmQ4NmZhNDJjNWM0OGQxODAwYWViZWYyNjdkNDE1YmFlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL3N2Zy90ZXh0L2JpZGktdHNwYW5zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxNTMsMjIyKSBzaXplIDQ2MHg4NQorICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE1MywyMjIpIHNpemUgNDYweDg1CisgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoOTIsMTMzKSBzaXplIDI3NngyMSBjb250YWlucyAxIGNo
dW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDI3NngyMQorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQg
KDkyLjIxLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTAgd2lkdGggNTYuMzcgUlRM
OiAiLCBceHs2Mjd9XHh7NjJFfVx4ezYyQX1ceHs2Mjh9XHh7NjI3fVx4ezYzMX1cIiEiCisgICAg
ICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTQ4LjU4LDE1MC4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGggMTM1LjA3OiAiZGlyUlRMIHViRW1i
ZWQiCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjgz
LjY1LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGggODQuMTUgUlRMOiAi
XHh7NjQ2fVx4ezYzNH1ceHs2Mjd9XHh7NjM3fSBceHs2Mjd9XHh7NjQ0fVx4ezYyQX1ceHs2MkZ9
XHh7NjQ4fVx4ezY0QX1ceHs2NDR9IFwiIgorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDkyLDE2Mykgc2l6ZSAyNzZ4MjEgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE5MSwwKSBzaXplIDg1eDIxCisgICAgICAgICAgY2h1
bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjgzLjY1LDE4MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGggODQuMTUgUlRMOiAiXHh7NjQ2fVx4ezYzNH1ceHs2
Mjd9XHh7NjM3fSBceHs2Mjd9XHh7NjQ0fVx4ezYyQX1ceHs2MkZ9XHh7NjQ4fVx4ezY0QX1ceHs2
NDR9IFwiIgorICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgx
eDIxCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXpl
IDE4MXgyMQorICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBh
dCAoMTAzLjYwLDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgOCB3aWR0aCA0NC45OCBS
VEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfSIKKyAgICAg
ICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE0OC41OCwxODAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDEzNS4wNzogImRpclJUTCB1YkVt
YmVkIgorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
MngyMQorICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDky
LjIxLDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCAxMS4zOSBSVEw6ICJc
IiEiCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406332</attachid>
            <date>2020-08-10 15:19:12 -0700</date>
            <delta_ts>2020-08-10 15:20:42 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215059-20200810151911.patch</filename>
            <type>text/plain</type>
            <size>103275</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLjY4Y2Y0ZDU4MGRhZmEzMDA2YTExMTlhYmU1NTc0MTI0ZDFlMjRm
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENU
Rk9OVFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9u
LgorCiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFBy
ZWxvYWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDli
ODQ4MTBhNDMyM2ExY2NjYzI4MjQ5YjRjNWZhYTk3ZDJjN2M0YzAuLjBlZmMyNjdkNWU3ZjAxYjg1
MGMwMTZmODE2ODc4OWU4ZGNkOWYxZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAy
MC0wOC0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFn
ZSgpIHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNv
bHV0aW9uIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5
IHJlcXVpcmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hh
cGluZy4gVG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcK
KyAgICAgICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0
dGVyLXNwYWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBD
VEZvbnRTaGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFw
cGluZywgd2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMg
dG8gYWRkIGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIFVwZGF0ZXMgZXhpc3RpbmcgdGVz
dHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmNoYXJhY3RlclJhbmdlQ29k
ZVBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29u
c3VtZVNsb3dDYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2Fy
ZVRleHRJdGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0
b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRv
cjo6Y29tbWl0Q3VycmVudEZvbnRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyBjb25zdCk6CisK
IDIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTaGFwaW5nIGNhbiBiZSBwZXJmb3JtZWQgb24gZ2x5cGhJRHMgZnJvbSB0aGUgd3Jv
bmcgZm9udApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMzhjNjdiNWVkMDJjNzQxYzNlMzU4ZDdiZWMz
YjNhYjhlMjNmZjhjOC4uMzU1MmY1MGIxNjk0NjViZTM5MDVkNDE4MGYyMTdlZGI1ZjVmYWUyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3Jh
dGUgZnJvbSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFw
ZUdseXBocygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOC0wNyAgSm9obiBXaWxh
bmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBlcmltZW50YWw6IENhcCB0
aGUgZXhwaXJ5IG9mIHBlcnNpc3RlbnQgY29va2llcyBzZXQgaW4gM3JkLXBhcnR5IENOQU1FIGNs
b2FrZWQgSFRUUCByZXNwb25zZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
VXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGVhYTgyODVkZjExODBj
MjE5YTNkZWJhZDE3NjEyOWY0NzI3ZGFiZjIuLmFkZTQyZGQxMzlmM2E5ZjRhYWY0NzM4MmU1YjBk
NjRjYmY2ODFhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApAQCAtMzAyLDUgKzMwMiw1IEBACiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDExMDAwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRSQU5T
Rk9STUdMWVBIU1dJVEhMQU5HVUFHRSAxCisjZGVmaW5lIFVTRV9DVEZPTlRTSEFQRUdMWVBIUyAx
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0Nv
cmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQ
SS5oCmluZGV4IDdkMjE0ZWRhOWY1MTc0NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQuLjM0MmQ1
OTFlMDVhYmQwYTQyMDFkYzAzNjI2N2QwMzVhNjFhNDViOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApAQCAtNDYsNiArNDYsMTIgQEAgdHlw
ZWRlZiBDRl9PUFRJT05TKHVpbnQzMl90LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKSB7CiAgICAg
a0NURm9udFRyYW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgPSAoMSA8PCAxKQogfTsKIAordHlwZWRl
ZiBDRl9PUFRJT05TKENGT3B0aW9uRmxhZ3MsIENURm9udFNoYXBlT3B0aW9ucykgeworICAgIGtD
VEZvbnRTaGFwZVdpdGhLZXJuaW5nID0gKDEgPDwgMCksCisgICAga0NURm9udFNoYXBlV2l0aENs
dXN0ZXJDb21wb3NpdGlvbiA9ICgxIDw8IDEpLAorICAgIGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0
ID0gKDEgPDwgMiksCit9OworCiB0eXBlZGVmIENGX09QVElPTlModWludDMyX3QsIENURm9udERl
c2NyaXB0b3JPcHRpb25zKSB7CiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25TeXN0ZW1VSUZv
bnQgPSAxIDw8IDEsCiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25QcmVmZXJBcHBsZVN5c3Rl
bUZvbnQgPSBrQ1RGb250T3B0aW9uc1ByZWZlclN5c3RlbUZvbnQKQEAgLTkyLDcgKzk4LDcgQEAg
ZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlNb25vc3BhY2U7CiBleHRl
cm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udENTU0ZhbWlseVN5c3RlbVVJOwogCiBib29sIENU
Rm9udFRyYW5zZm9ybUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBh
ZHZhbmNlc1tdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKTsKLUNHU2l6
ZSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBDR0dseXBoW10s
IENHU2l6ZVtdLCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zLCBDRlN0cmlu
Z1JlZiBsYW5ndWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXpl
KiopKTsKK0NHU2l6ZSBDVEZvbnRTaGFwZUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhz
W10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDR1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBpbmRleGVz
W10sIGNvbnN0IFVuaUNoYXIgY2hhcnNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hhcGVPcHRp
b25zLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5
cGgqKiwgQ0dTaXplKiosIENHUG9pbnQqKiwgQ0ZJbmRleCoqKSk7CiAKIENHU2l6ZSBDVFJ1bkdl
dEluaXRpYWxBZHZhbmNlKENUUnVuUmVmKTsKIENUTGluZVJlZiBDVExpbmVDcmVhdGVXaXRoVW5p
Q2hhclByb3ZpZGVyKENUVW5pQ2hhclByb3ZpZGVyQ2FsbGJhY2ssIENUVW5pQ2hhckRpc3Bvc2VD
YWxsYmFjaywgdm9pZCogcmVmQ29uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAKaW5kZXggOWFlNjkwNjhmM2ViZmZmYTljOGU0MDU4ZDUxYTgzNGQ4ZGEwN2YwMi4u
NmVmOTc4OTI3YzMwMjQ5MTI3ZGY1Y2JkNGU5YTU1YTg3OGQ0NDljMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA1LCAyMDA4LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292CiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CkBAIC01MTIsNyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OmNy
ZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZs
b2EKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmKSBj
b25zdAordm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwg
dW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0
RGlyZWN0aW9uKSBjb25zdAogewogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmgKaW5kZXggZWFmOWRhYzQyMGFhZmUwMmJjYWY3MDdiN2VkY2I0ZGRlMzNkOTRi
Ny4uOGVjMzM4MGQ3YjdlNDVjMGQxMWU3YzhjNGVmNzIxZjY5ZWIyNWYwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgaW50ZXJuYWwgZm9udCBpbXBsZW1lbnRhdGlvbi4KICAqCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIwMTAsIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBN
b2JpbGUsIEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMDcsNyArMjA3LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICBib29sIGNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0
IFVDaGFyKiwgc2l6ZV90KSBjb25zdDsKLSAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1
ZmZlciYsIHVuc2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wg
cmVxdWlyZXNTaGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0OworICAgIHZv
aWQgYXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJ
bmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywg
Ym9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmll
dyB0ZXh0LCBUZXh0RGlyZWN0aW9uKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBT
Q1JJUFRfRk9OVFBST1BFUlRJRVMqIHNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXgg
ODRmNmI4MGIxYWYyZTI3NDE4NzUwMDQ2MGE4OTBiMDNmM2FiNzRkOS4uY2Q2ZGVkYjM2NzQ5MWVl
OTgxZTJhOWFlM2Y5ZWNiNjM2YTY3ODIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcApAQCAtNDI2LDcgKzQyNiw3IEBAIGZsb2F0IEZv
bnRDYXNjYWRlOjp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+
KiBmYWxsYmFja0ZvbnRzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZmxvYXQgRm9udENhc2Nh
ZGU6OndpZHRoRm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CitmbG9hdCBGb250
Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlv
biB0ZXh0RGlyZWN0aW9uKSBjb25zdAogewogICAgIGlmICh0ZXh0LmlzTnVsbCgpIHx8IHRleHQu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTQ0NSw3ICs0NDUsNyBAQCBmbG9hdCBG
b250Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29uc3QKICAg
ICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCBmb250LCBnbHlwaFdpZHRoLCBpKTsKICAgICB9
CiAKLSAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgZW5hYmxlS2Vybmlu
ZygpLCByZXF1aXJlc1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUo
KSk7CisgICAgZm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtl
cm5pbmcoKSwgcmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9j
YWxlKCksIHRleHQsIHRleHREaXJlY3Rpb24pOwogICAgIC8vIFRoaXMgaXMgbmVlZGVkIG9ubHkg
dG8gbWF0Y2ggdGhlIHJlc3VsdCBvZiB0aGUgc2xvdyBwYXRoLgogICAgIC8vIFNhbWUgZ2x5cGgg
d2lkdGhzIGJ1dCBkaWZmZXJlbnQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBjYW4gcHJvZHVj
ZSBkaWZmZXJlbnQgcnVuIHdpZHRoLgogICAgIGZsb2F0IHJ1bldpZHRoRGlmZmVyZW5jZVdpdGhU
cmFuc2Zvcm1BcHBsaWVkID0gLXJ1bldpZHRoOwpAQCAtNzQ4LDYgKzc0OCwxMSBAQCBGb250Q2Fz
Y2FkZTo6Q29kZVBhdGggRm9udENhc2NhZGU6OmNoYXJhY3RlclJhbmdlQ29kZVBhdGgoY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcgogICAgICAgICBpZiAoYyA8PSAweDMwMkYpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29tcGxleDsKIAorICAgICAgICBpZiAoYyA8IDB4MzA5OSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoYyA8IDB4MzA5RCkKKyAgICAgICAgICAgIHJldHVybiBDb21w
bGV4OyAvLyBLQVRBS0FOQS1ISVJBR0FOQSAoU0VNSS0pVk9JQ0VEIFNPVU5EIE1BUktTIHJlcXVp
cmUgY2hhcmFjdGVyIGNvbXBvc2l0aW9uCisKICAgICAgICAgaWYgKGMgPCAweEE2N0MpIC8vIFUr
QTY3QyB0aHJvdWdoIFUrQTY3RCBDb21iaW5pbmcgbWFya3MgZm9yIG9sZCBDeXJpbGxpYwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChjIDw9IDB4QTY3RCkKQEAgLTEzOTEsNiAr
MTM5Niw4IEBAIEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0
aCB0aGUgR2x5cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVm
ZmVyLnNldEluaXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisg
ICAgLy8gVGhlIGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAg
ICAvLyBidXQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgog
ICAgIGlmIChydW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhC
dWZmZXIuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYXNjYWRlLmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1NGFi
Yy4uMzg3Mzk5ZjE0NTQzZDZhMDE0NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2
LDcgQEAgcHVibGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVu
JiwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxs
YmFja0ZvbnRzID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9h
dCogb3V0V2lkdGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBP
UlQgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxs
YmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0
aEZvclNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZv
clNpbXBsZVRleHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlv
bjo6TFRSKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5
b3V0RGVsZXRlcj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNv
bGxhcHNlV2hpdGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlv
dXQmLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBm
YWxsYmFja0ZvbnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcApp
bmRleCA0Y2I5MDkzYmYxYjFkZDc1MTE4OTJjZWY2MTA1ZGQzNTMxYWZhNzRlLi41YWVlNGNjNDJh
YzJkNzQ3MmRlNzk5ZWIxNjE5ZGUwYmNiMTEyZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvci5jcHAKQEAgLTM3LDE5ICszNyw3IEBAIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFy
CiAKIGJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nhc2Uo
VUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKIHsKLSAgICBpZiAo
Y2hhcmFjdGVyIDw9IDB4MzBGRSkgewotICAgICAgICAvLyBEZWFsIHdpdGggSGlyYWdhbmEgYW5k
IEthdGFrYW5hIHZvaWNlZCBhbmQgc2VtaS12b2ljZWQgc3lsbGFibGVzLgotICAgICAgICAvLyBO
b3JtYWxpemUgaW50byBjb21wb3NlZCBmb3JtLCBhbmQgdGhlbiBsb29rIGZvciBnbHlwaCB3aXRo
IGJhc2UgKyBjb21iaW5lZCBtYXJrLgotICAgICAgICAvLyBDaGVjayBhYm92ZSBmb3IgY2hhcmFj
dGVyIHJhbmdlIHRvIG1pbmltaXplIHBlcmZvcm1hbmNlIGltcGFjdC4KLSAgICAgICAgaWYgKFVD
aGFyMzIgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVZvaWNpbmdNYXJrcygpKSB7Ci0gICAgICAgICAg
ICBjaGFyYWN0ZXIgPSBub3JtYWxpemVkOwotICAgICAgICAgICAgY2x1c3Rlckxlbmd0aCA9IDI7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYgKCFVMTZf
SVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIEFTU0VS
VChVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIHN1
cnJvZ2F0ZSBwYWlyLCBtYWtlIHN1cmUgaXQgc3RhcnRzIHdpdGggdGhlIGhpZ2ggcGFydC4KICAg
ICBpZiAoIVUxNl9JU19TVVJST0dBVEVfTEVBRChjaGFyYWN0ZXIpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IuaAppbmRleCA0NzBkMTRhZjI1ZGM0YjQ2MDU5MzdkNDUyNWFmNTJmNWEx
MTZhMGFkLi4zNTRmYzk5ZTEwMjVkY2ZiMzZjNmEzNTU0NDc5NjFiYzI5MGQyZGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJy
b2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIGNoYXJhY3RlciA9ICptX2NoYXJhY3RlcnM7CiAgICAgICAgIGNsdXN0ZXJMZW5ndGgg
PSAxOwogCi0gICAgICAgIGlmIChjaGFyYWN0ZXIgPCBIaXJhZ2FuYUxldHRlclNtYWxsQSkKKyAg
ICAgICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKIAogICAgICAgICByZXR1cm4gY29uc3VtZVNsb3dDYXNlKGNoYXJhY3RlciwgY2x1
c3Rlckxlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9XaWR0aEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCmluZGV4IGQ3Njg5NWY0NTMwZTkxMTE5ODg3Nzc4N2YwOTYzOGNkMzJi
YjliYTIuLmUwMThlNjJkZGE0YzBjMGI3Nzg3ODdhNDkxYzE3ZTU4ZTJjZGZmMWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBA
IC03OCwyNCArNzgsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hh
cjMyIGNvZGVwb2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2RlcG9p
bnQgPD0gMHhFNTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQg
bGFzdEdseXBoQ291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5z
Zm9ybXNUeXBlCitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNmb3Jt
c1R5cGUKIHsKLSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCAr
IDEpICYmIGlzU29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgQVNTRVJUKGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCA8PSBtX3J1bi5sZW5ndGgoKSk7CisgICAgaWYgKGdseXBoQnVm
ZmVyLnNpemUoKSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5k
ZXggJiYgaXNTb2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXgg
LSAxXSkpCiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmICht
X3J1bi5sZW5ndGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5vbmU7
CiAgICAgcmV0dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBmbG9h
dCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlciwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYgZm9u
dCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0
ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lkdGhJ
dGVyYXRvcjo6YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVu
c2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNv
bnN0IEZvbnQmIGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFy
YWN0ZXIsIHNob3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENv
dW50LCBwcmV2aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6
Ok5vbmUpOworICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91bGRB
cHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENo
YXJhY3RlckluZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7CiAK
ICAgICBhdXRvIGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAgICBpZiAo
IWZvcmNlICYmIGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAg
ICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBn
bHlwaEJ1ZmZlclNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsK
LSAgICB9CiAKICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXIu
YWR2YW5jZXMoMCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTAzLDE3ICsxMDIs
MTUgQEAgaW5saW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5
cGhCdWZmZXImIGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGggKz0gYWR2
YW5jZXNbaV0ud2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBnbHlwaEJ1
ZmZlclNpemUpOwotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxh
c3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAgICBm
b250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxl
S2VybmluZywgbV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5jb21w
dXRlZExvY2FsZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFz
dEdseXBoQ291bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcsIG1f
cmVxdWlyZXNTaGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUo
KSwgbV9ydW4udGV4dCgpLCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJTaXpl
ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBo
Q291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9yaWdpbiog
b3JpZ2lucyA9IGdseXBoQnVmZmVyLm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
bGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBhZHZh
bmNlc1tpXS5zZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKLQotICAgIGlmICghbHRy
KQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZl
clNpemUgLSBsYXN0R2x5cGhDb3VudCk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3JpZ2lu
c1tpXS55KCkpOworICAgIH0KIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50
OyBpIDwgZ2x5cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYXV0byBjaGFyYWN0ZXJJbmRl
eCA9IGdseXBoQnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwpAQCAtMTMzLDcgKzEzMCw2IEBAIGlu
bGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
JiBnbHlwaEJ1ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291
bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZh
bmNlc1tpXS53aWR0aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7
CiAgICAgcmV0dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTY2LDExICsx
NjIsMTIgQEAgc3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9j
YXRpb24oYm9vbCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3Bh
aXIoZXhwYW5kTGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCi12b2lkIFdpZHRoSXRlcmF0b3I6OmNv
bW1pdEN1cnJlbnRGb250UmFuZ2UoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBs
YXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3Rl
ciwgY29uc3QgRm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9hdCB3aWR0
aE9mQ3VycmVudEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJz
VHJlYXRlZEFzU3BhY2UpCit2b2lkIFdpZHRoSXRlcmF0b3I6OmNvbW1pdEN1cnJlbnRGb250UmFu
Z2UoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5z
aWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBGb250JiBmb250LCBjb25zdCBGb250
JiBwcmltYXJ5Rm9udCwgVUNoYXIzMiBjaGFyYWN0ZXIsIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9u
dFJhbmdlLCBDaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZSkKIHsKLSAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jt
cyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICBh
dXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZl
ciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgaWYgKHRyYW5z
Zm9ybXNUeXBlICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQotICAgICAgICBtX3J1bldpZHRoU29G
YXIgKz0gYXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RH
bHlwaENvdW50LCBmb250LCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJh
bnNmb3Jtc1R5cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAg
bV9ydW5XaWR0aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RH
bHlwaENvdW50LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGZvbnQsIHRyYW5zZm9ybXNUeXBlID09
IFRyYW5zZm9ybXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAg
bV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAKICAgICBp
ZiAod2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgJiYgbV9mYWxsYmFja0ZvbnRzICYmICZmb250ICE9
ICZwcmltYXJ5Rm9udCkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2VzIGEgbGl0dGxlIGV4
dHJhIHdvcmsgdGhhdCBjb3VsZCBiZSBhdm9pZGVkIGlmCkBAIC0xODgsNyArMTg1LDcgQEAgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjpjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlciwgdW5zaWduZWQgbGEKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBp
bmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0
ZXh0SXRlcmF0b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29y
ZSBsb2dpYyBoZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2lt
cGxlVGV4dCgpCisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250
Q2FzY2FkZTo6d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgp
OwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwg
bV9mb250LndvcmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlz
YWJsZWQoKTsKIApAQCAtMjA0LDggKzIwMSw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6
OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAg
ICAgY29uc3QgRm9udCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVk
IGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCisgICAgYXV0byBjdXJyZW50
Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgVUNoYXIz
MiBjaGFyYWN0ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIgPSAwOwogICAg
IHVuc2lnbmVkIGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFj
ZSBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250
UmFuZ2UgPSAwOwpAQCAtMjE4LDE0ICsyMTUsMTUgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYK
ICAgICAgICAgLy8gZG9lc24ndCBzdXBwb3J0IHRoZSBjb2RlIHBvaW50LiBXZSBzaG91bGQgaWdu
b3JlIHRoZW0gYXQgdGhpcyBwb2ludCB0byBlbnN1cmUgdGhleSBhcmUgbm90IGRpc3BsYXllZC4K
ICAgICAgICAgaWYgKCFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAgICAg
dGV4dEl0ZXJhdG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJyZW50
Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFj
dGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEds
eXBoRGF0YSYgZ2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0
ZXIsIHJ0bCk7CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAg
ICBpZiAoIWdseXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAg
ICAgdGV4dEl0ZXJhdG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBjb25zdCBGb250KiBmb250ID0gZ2x5
cGhEYXRhLmZvbnQgPyBnbHlwaERhdGEuZm9udCA6ICZtX2ZvbnQucHJpbWFyeUZvbnQoKTsKQEAg
LTI0Myw4ICsyNDEsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKGZvbnQgIT0gbGFzdEZvbnREYXRhKSB7Ci0gICAgICAgICAgICBjb21taXRDdXJy
ZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgKmxhc3RGb250RGF0YSwg
cHJldmlvdXNDaGFyYWN0ZXIsIHByaW1hcnlGb250LCBjaGFyYWN0ZXIsIHdpZHRoT2ZDdXJyZW50
Rm9udFJhbmdlLCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgbV9jdXJy
ZW50Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CisgICAgICAgICAgICBj
b21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVu
dENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3
aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKICAgICAg
ICAgICAgIGxhc3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogICAgICAgICAgICAg
bGFzdEZvbnREYXRhID0gZm9udDsKICAgICAgICAgICAgIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdl
ID0gd2lkdGg7CkBAIC0yODksNiArMjg2LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6
YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT56
ZXJvV2lkdGhTcGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBj
dXJyZW50Q2hhcmFjdGVySW5kZXgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQo
Zm9udC0+c3BhY2VHbHlwaCgpLCAqZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3Vy
cmVudENoYXJhY3RlckluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFz
dEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlci5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBl
ck9wcG9ydHVuaXR5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0zMTQs
NyArMzEzLDcgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICBtX2lz
QWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gdHJhbnNm
b3Jtc1R5cGUgPSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5
cGhDb3VudCwgcHJldmlvdXNDaGFyYWN0ZXIpOworICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBl
ID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQs
IGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBU
cmFuc2Zvcm1zVHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3Rl
cikpIHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRB
cHBlbmQoCiAgICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4LApAQCAtMzMyLDIz
ICszMzEsMjIgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgaWYgKG1fZm9yVGV4
dEVtcGhhc2lzICYmICFGb250Q2FzY2FkZTo6Y2FuUmVjZWl2ZVRleHRFbXBoYXNpcyhjaGFyYWN0
ZXIpKQogICAgICAgICAgICAgZ2x5cGggPSAwOwogCisgICAgICAgIGdseXBoQnVmZmVyLmFkZChn
bHlwaCwgKmZvbnQsIHdpZHRoLCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworCiAgICAgICAgIC8v
IEFkdmFuY2UgcGFzdCB0aGUgY2hhcmFjdGVyIHdlIGp1c3QgZGVhbHQgd2l0aC4KICAgICAgICAg
dGV4dEl0ZXJhdG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgIGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIAogICAgICAgICBtX3J1
bldpZHRoU29GYXIgKz0gd2lkdGg7CiAKLSAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAq
Zm9udCwgd2lkdGgsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0KICAgICAgICAgaWYgKG1fYWNj
b3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAgICBtX21heEdseXBoQm91bmRpbmdCb3hZ
ID0gc3RkOjptYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CiAgICAg
ICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJvdW5k
aW5nQm94WSwgYm91bmRzLnkoKSk7CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92ZXJmbG93ID0g
c3RkOjptYXg8ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAgICAgIH0KLSAg
ICAgICAgcHJldmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCi0gICAgY29tbWl0
Q3VycmVudEZvbnRSYW5nZShnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERh
dGEsIHByZXZpb3VzQ2hhcmFjdGVyLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3Vy
cmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICBtX2N1cnJlbnRD
aGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKyAgICBjb21taXRD
dXJyZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJh
Y3RlckluZGV4LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9m
Q3VycmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKIAogICAgIGlmIChs
ZWZ0b3Zlckp1c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFz
aXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9y
LmgKaW5kZXggMTc5OGIxYmJjYzhmYWE4NTY0NWY1MDkwNjhiOGE0MDE1NmQ4YTA1OS4uZjQ1ZDZk
MmFkMGQ1YzczMTgyOGRlMTc4YzEwMDA3ODBhYzdhNmNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjAsOSArNjAsOSBAQCBw
cml2YXRlOgogICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBH
bHlwaEJ1ZmZlciYpOwogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZv
cmNlZCwgTm90Rm9yY2VkIH07Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJh
bnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hh
cjMyIHByZXZpb3VzQ2hhcmFjdGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zv
cm1zKEdseXBoQnVmZmVyJiwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29u
c3QgRm9udCYsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3Rl
cnNUcmVhdGVkQXNTcGFjZSYpOwotICAgIHZvaWQgY29tbWl0Q3VycmVudEZvbnRSYW5nZShHbHlw
aEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBw
cmV2aW91c0NoYXJhY3RlciwgY29uc3QgRm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFj
dGVyLCBmbG9hdCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlJik7CisgICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25z
dCBHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50
Q2hhcmFjdGVySW5kZXgpIGNvbnN0OworICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5
cGhCdWZmZXImLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJh
Y3RlckluZGV4LCBjb25zdCBGb250JiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1Nw
YWNlJik7CisgICAgdm9pZCBjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiwgdW5z
aWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29u
c3QgRm9udCYsIGNvbnN0IEZvbnQmIHByaW1hcnlGb250LCBVQ2hhcjMyIGNoYXJhY3RlciwgZmxv
YXQgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwog
CiAgICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
b2NvYS5tbQppbmRleCA2NWI1ZTE2NDBhZGI3Mjg3OGUzM2U4ZDg5ZGY4ZjRmOTVmOWYxMjhkLi45
M2ZiMDAwNGUyZDA0YWE3NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NDQs
MjggKzU0NCw3OCBAQCBSZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVybiBjcmVhdGVE
ZXJpdmF0aXZlRm9udChzY2FsZWRGb250LmdldCgpLCBzaXplLCBtX3BsYXRmb3JtRGF0YS5vcmll
bnRhdGlvbigpLCBmb250VHJhaXRzLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9udDo6YXBwbHlU
cmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nSW5k
ZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21T
dHJpbmcmIGxvY2FsZSkgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQg
YmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1No
YXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGly
ZWN0aW9uIHRleHREaXJlY3Rpb24pIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBH
bHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hh
cGluZyk7Ci0gICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5p
bmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5z
Zm9ybUFwcGx5U2hhcGluZzsKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdV
QUdFKQotICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0ds
eXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlcikgeworCisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYgVVNFKENURk9O
VFNIQVBFR0xZUEhTKQorICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlw
aCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2lu
dCoqIG5ld09mZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKICAg
ICAgICAgcmFuZ2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwg
c3RhdGljX2Nhc3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZl
ci5zaXplKCkpKTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAgICAgICAgICAg
IHJhbmdlLmxlbmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsK
ICAgICAgICAgICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5n
dGg7Ci0gICAgICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5kZXggKyByYW5n
ZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92
ZShiZWdpbm5pbmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CiAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5n
SW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAgICAgICAgKm5l
d0dseXBoc1BvaW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpOwotICAg
ICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5n
SW5kZXgpOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJ
bmRleCArIHJhbmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpu
ZXdHbHlwaHNQb2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgp
OworICAgICAgICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVn
aW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVm
ZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9p
bnRlciA9IGdseXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsK
ICAgICB9OwotICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3Jt
RGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRl
cnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkp
LCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxlQ29j
b2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmco
KS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8gc3Vic3RyaW5n
ID0gdGV4dC5zdWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1dG8gdXBjb252
ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vic3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAg
IGF1dG8gbG9jYWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRp
ZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOworICAgIENU
Rm9udFNoYXBlT3B0aW9ucyBvcHRpb25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3Np
dGlvbgorICAgICAgICB8IChlbmFibGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0aEtlcm5pbmcg
OiAwKQorICAgICAgICB8ICh0ZXh0RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OlJUTCA/IGtD
VEZvbnRTaGFwZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAg
ICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gLT0g
YmVnaW5uaW5nU3RyaW5nSW5kZXg7CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAgICAg
bV9wbGF0Zm9ybURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhiZWdp
bm5pbmdHbHlwaEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlw
aEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50ZXJw
cmV0X2Nhc3Q8Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRl
eCkpLAorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJ
bmRleCksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29udmVy
dGVkQ2hhcmFjdGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lu
bmluZ0dseXBoSW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmluZy5n
ZXQoKSwKKyAgICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Z2x5cGhCdWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBn
bHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gKz0gYmVn
aW5uaW5nU3RyaW5nSW5kZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5n
U3RyaW5nSW5kZXgpOwogICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5z
Zm9ybUdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJl
Z2lubmluZ0luZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZh
bmNlcyhiZWdpbm5pbmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRl
eCwgb3B0aW9ucyk7CisgICAgVU5VU0VEX1BBUkFNKHRleHQpOworCisgICAgLy8gQ1RGb250VHJh
bnNmb3JtR2x5cGhzKCkgb3BlcmF0ZXMgaW4gdmlzdWFsIG9yZGVyLCBidXQgV2lkdGhJdGVyYXRv
ciBpdGVyYXRlcyBpbiBsb2dpY2FsIG9yZGVyLgorICAgIC8vIFRlbXBvcmFyaWx5IHB1dCB1cyBp
biB2aXN1YWwgb3JkZXIganVzdCBmb3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBs
b2dpY2FsIG9yZGVyIHdoZW4KKyAgICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRv
bid0IGhhdmUgYSBnbG9iYWwgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBq
dXN0IG9wZXJhdGluZyBvbiBhIHNpbmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJh
dG9yIGVuY291bnRlcnMgdGhlIGNodW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2
ZSB0byBtYWludGFpbiB0aGF0IGludmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2Fz
Y2FkZTo6bGF5b3V0U2ltcGxlVGV4dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRv
IHB1dCB0aGUgZW50aXJlIHRoaW5nCisgICAgLy8gaW4gdmlzdWFsIG9yZGVyLCBidXQgdGhhdCdz
IG9rYXkgYmVjYXVzZSBpdCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisg
ICAgLy8gT24gdGhlIG90aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUg
YnVmZmVyIGluIGxvZ2ljYWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAv
LyBvcmRlciwgd2hpY2ggbWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlv
biBzdGlsbCBuZWVkcyB0byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygp
IGlzIGJlaW5nIHVzZWQuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6
UlRMKQorICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGds
eXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOworCisgICAgQ1RGb250VHJh
bnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3Jt
QXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKKyAg
ICBDVEZvbnRUcmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVm
ZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUq
PihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVy
LnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCisKKyAgICAv
LyBTZWUgdGhlIGNvbW1lbnQgYWJvdmUgaW4gdGhpcyBmdW5jdGlvbiB3aGVyZSB0aGUgb3RoZXIg
Y2FsbCB0byByZXZlcnNlKCkgaXMuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVj
dGlvbjo6UlRMKQorICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5k
ZXgsIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOwogfQogCiBzdGF0
aWMgaW50IGV4dHJhY3ROdW1iZXIoQ0ZOdW1iZXJSZWYgbnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
Q29yZVRleHQuY3BwCmluZGV4IDMyNTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEwY2FiZDI0MTdk
YTQuLmZmNmZjOGQ4MzI5ZDQ0ZmZhOTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxl
Rm9udERhdGFDb3JlVGV4dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlv
bmFyeVJlZj4gRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywg
Rm9udE8KICAgICB2YWx1ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXpl
X3QgY291bnQgPSAxOwogCi0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFH
RSkKKyNpZiBVU0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBsb2NhbGVTdHJpbmc7CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxv
Y2FsZVN0cmluZyA9IGxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3
YjhkYTYxMDZmMjllMDU2YTRkMWJkOGVjNDZkNDRkMWIzY2ZmOGEuLjI5NmIzMDYxNjA0ZTc0Njg2
ODNhYTNiMTA3MmU2Njk5ODY4YTg0YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wOC0x
MCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRv
IENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNl
LWNoYXJzLWV4cGVjdGVkLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZW5jb2Rp
bmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sLgorICAgICAgICAqIGZh
c3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sOiBVcGRh
dGUgdG8gYmUgYSByZWZ0ZXN0LgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4t
cHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbDogVXBkYXRlIHRvIGJlIG1vcmUgcm9idXN0
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2lj
ZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0L2VuY29k
aW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThOL3RzcGFuLWRp
cmVjdGlvbi1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZCBCaWcgU3VyIC1leHBlY3RlZCByZXN1bHQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBl
Y3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2VuY29kaW5nL2Rl
bm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQt
amFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZW5j
b2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2Vk
LXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjAtMDgt
MTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBT
aGFwaW5nIGNhbiBiZSBwZXJmb3JtZWQgb24gZ2x5cGhJRHMgZnJvbSB0aGUgd3JvbmcgZm9udApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2Vk
LWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5n
L2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZmYzMDBmN2JkNzRhM2NmZmM5M2UxM2IzMDk4MDJlZThkYWZlYzEzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWph
cGFuZXNlLWNoYXJzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0
bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cu
dzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iPgorPGhl
YWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1VVEYtOCIgLz4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdh
bmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJlbmRlcmVkIHRoZSBzYW1lIGFzIHRoZSBw
cmVjb21wb3NlZCB2ZXJzaW9uLgorPGgyIHN0eWxlPSJmb250LWZhbWlseTogJ0hpcmFnaW5vIE1p
bmNobyBQcm9OJzsiPuODkOODiuODiuOBqOODkeODiuODnjwvaDI+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZv
aWNlZC1qYXBhbmVzZS1jaGFycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5v
cm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKaW5kZXggOTM3OTFlZWViZTk5NGEz
YzM4YWY4NTZhMDYyMmRmNDZlMmIyODljMy4uZjVkYTExNTUxYjRhZWQ3M2VkMTkxMTk5MmVmZTMy
OWY5MmUyOTZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1h
bGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
bmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKQEAgLTQsMTIg
KzQsOCBAQAogPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CiA8L2hlYWQ+CiA8Ym9keT4KLVRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9pY2VkIGphcGFuZXNlIGhp
cmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJlZCB0aGUgc2FtZSBhcyB0
aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwgYW5kIHBh
c3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUgaWRlbnRp
Y2FsLgotPGgyPuODj+OCmeODiuODiuOBqOODj+OCmuODiuODnjwvaDI+Ci08cD5UaGUgYWJvdmUg
aXMgZGVjb21wb3NlZDwvcD4KLQotPGgyPuODkOODiuODiuOBqOODkeODiuODnjwvaDI+Ci08cD5U
aGUgYWJvdmUgaXMgcHJlY29tcG9zZWQ8L3A+CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRl
Y29tcG9zZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQg
a2F0YWthbmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIHNhbWUgYXMgdGhlIHByZWNvbXBv
c2VkIHZlcnNpb24uCis8aDIgc3R5bGU9ImZvbnQtZmFtaWx5OiAnSGlyYWdpbm8gTWluY2hvIFBy
b04nOyI+44OP44KZ44OK44OK44Go44OP44Ka44OK44OePC9oMj4KIAogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVm
ZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKaW5kZXggOTg0NzEyNjdlZTdh
M2NlMTY5YjgwYTY2MmE2ZGVlM2FiMjZmZTI4NC4uOWZiN2ViYTBmZDc2YzJjMGFhZGMzMWYyMDQy
ZTAyNzQyODAzZjYxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlw
aGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCkBA
IC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAg
IDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYXI8c3Bhbj4t
PC9zcGFuPjxicj5pbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmEtPGJyPnJp
bHk8L2Rpdj4KICAgICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+
PC90ZD4KICAgICA8L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQt
aHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
b2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXggZGU4YjFjYWE1YzJhY2I1
MjA2MGRkMDc4N2E5NjIyYWY5YmYyMmQ2ZC4uYTY1MDM4NWJjYTljMDU2Mzc3NzdmMjJhOTg4NWFk
NzQwYzU3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVu
LW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFi
bGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgot
ICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9y
ZGluYXImc2h5O2lseTwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBo
ZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYSZzaHk7cmlseTwvZGl2PgogICAgICAgICA8L3RkPgog
ICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDAlIj48L3RkPgogICAgIDwvdHI+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhw
ZWN0ZWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzUyMWQzZGI3MmM1NzQx
NmM3ZTEyOTQ0NTE1MTZhZTlkYzkzNDJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFs
IDIxNzYxCnpjbWVJYWNSMUk1LSNATy1oRWg+dk01SDB2R2h+JCM4SlhFcXd5ZG5rdFdjNFhXVW5H
MkUwSH4ta2Q/aD5XTXlWIwp6V2MoaFZ1SXMka2VjaXZ+YCNyd0xlZ0FjUiZmXz5NPE1WbHMqWCNM
d3Rtb1REQHZfdzMtR19EKTVmU2FaQnotfWQKemkwRj9hTF99TFBoX35WXjJQcURvIzI9XlpCe2wy
fk9wT2Y4P0hud0w0RVQ3M18+MlZqeGVkNUB4VlpURmc/Tmt2CnpqMTBKcDFnPi1HcFhNP1l7QXwo
YmZuVkM4RkRyRntYcGB7WWk9dT07QkJDUWltb0EpQmImOHpxeT92SXZ5LSQzRAp6ZUN6ZHsrbz98
ZnA/e0ZkYVIwZlI+VElwfmlxXmVKSXNPTWZidk5uOWNhP1ZxZjQ3YFNPLXk4MEQ9QFgoZTxMR1gK
enBJXmN9azJ5X3BlQE9uODFFLUJuOShuZShjRTxtPGB8VVktPDdiejZuN2Z1SChnbFNeP1ppZkZ0
RXl+eGomSnBpCnpDQn5yOyV+bFI3NWwpMD9fRXFUKTY4dzNgcX5xRWEhb1Q7PnZKdCk+ZWNmfEF7
YGtPYUBze3ZVcn43KjszNGhrVgp6RWhTdXIwaC1lcWdueD07QH0razU3QzBXPD9Idn52bXpsfDF2
Zz0zcitNYkR0aVNGKWhPR2BeI1Uwc0dOYCppb2UKeiZCKHx8T19nViskUyl8RWV8RSpPQUB4amE+
YSsycTJZPGdkSGE3T3srdm1ebjtHe3VoIUtQTDxOcF8mbzIyWnlgCnpxdS1vPmtpWUpPcjRaaGJK
R3lSZDh0Sz1KakUmUHcwenlMNlJhTjxKJndYPjRYZDczbnQqYElURypNOWhjN3NCYwp6I0A3RFYm
I0NQc2x4KHtCMztSYko0c05OYnNjQkVxQiZWYVJSYWZpWDt2ZEUxdX5vY2x6ZEpHS2hrRWhOd2Vf
WGAKent0U2M0I3lGYHU5fFBreiZKYDw3QHZfPUVSe1kxX0tTPW5NOSQkRChTYVhDa1E8dGlheGlJ
fndoZD8xYGd3RURtCnppPCQ8IypRVUMySUZCRGMmY2JxSWJ6d1psVzg/T0BiRVZBKzstYzxyUEV0
fnBrJiUmIWlPaSY9cSFxcWxWUFY/WQp6N0dGQ0djYT9hMyZoVS1pQmVhYEBnalU0cXQobjk0YXJ3
YDhReXJPaHdqODlVN1BSVVM8bl49ezVWPSpJeFR+a04KekQpaHRKK00+QyZ3YTJmaW9jMSlgZzRe
QFA5diZXYzVAQkkpcUhRKTcreDVnKCRCeEEtbzd2N2p4UyMkJEU1YmxuCnpsWmg/VXhvPk4mVz4o
IyZuISh5ZUApZVJZOVAjUU9iSVpZUmMxfW9uPjFRfX5XdGxBKTFXMTF5OU9TdnQhWXVLKgp6O3BP
PXAla0l9RjJZKmc9M2t3VjlXd3tNfXhjbGJLOCF4WUkpOHBaYSEoVnhZRUBrQGBFQD5TaG4/M21F
KkZkc0wKeiYmaz5JKGlQaFp6b2tvRXheemlhX0VCYzBVNDY4dSVnOyUoJWdwbUNNem9famVhQF8+
UEYtVEEycSN8KTtJKHItCnpiTE5hSE9IZ1ZteVpAOyQmayg5fGdDQ1IpQHpEZU8yaSFVaE50UFFi
bztyQXotQDAzKm9fQDhlcyVwWERySn5jMQp6IVNhNmhVeXNRU1AqSUozYCkwcXN4PTJGQihiM3Np
N3RhNVA+fVplLUZBcTw2TGAxbmhlKG4qIS1nZzEoS0FqU0cKekgkX0ZvaXgoXkc+UDFacTQyfWd6
ZX5Be0k3I3dfZV5RIzBFNjs8emR0VG5BR2VCYFZ3RU41XyFSOCNeSjU9T3NPCnoxQDdFS3tVTVo1
UzBqZiNvMCFqQUF8TlA4bDk9WDx6M0pKckxgJmAmISM5VmtnOS19Xl5ZaFA7bEtOdnwyP2AzMQp6
P1IlKVNyU25ZdURGRmNpYXE8NEA+TmxAbVU2PmJLWUdoXys3UEp9TUNhR2psYFEkTEtAZ0J4K0Vs
RGJsKD4qX3kKem1KKm17anNgcnU1Wmxxd2spM19vY31JUHVrbG5ZPjBTTzgqOUlVS1ozXiVWfGYy
cW97Y2krQygyfE1LbG43VjdQCnoqOU5BbGReZWYre3s1Yig9bGFeKG1sJCE2aThnakJzKnVGUUx8
JjZHJngzPF5ZfT1ObyVIbmZEfE44YSl4SzBCRAp6RlpsMX5gRnJqPENSZytNXjl1JHFGUndqeGY/
Uy1PPkd9RUxXYmR3KFp0ZTl3c1N5MktDVnREN0VwRHB8Umk4Z0UKelNCaGBvV0JHVCFESjt9c18y
XmFZVHVsPnAmVWNgdHI1KlIqP3kpKzRRZHFjUFdxdmR7Z2xxazk8S0ErY00wdnNTCno5UDU1RCRM
WXY/dik9YWI9dl8oTDhrO3cxYmx4dz4+Ql9JUkVCRFUjYiN4PktvamcxYCkpOzVzWilzdCVrNnZX
Pwp6QmROSFB2LTY/V1FAdiRjTnIhfGx0U1NVRXI1ZCNqOUtIU1ByPUA3cEF3VDBVTjV+Qk5aMHpH
fiM5d05xOztoeloKekI2ZnJqcnx1Tzk9QEFoVFMmK05ORilTYSF4VEJ5VklDU0d3PCZnSDk+bDhj
dGB1ZSFKeHdVcWxsbmRvRHModm1YCnphb1YhS3hYNUYzVn03SkFqIy04eTxtQWJkRjMhJSU2Yj8o
JXkxMDl8alpJQldkM0t9MCFORTd3PmcoI0pQYFkkPAp6ZEtBUmg3WTBmX2dJTHVzTj1vV3Q5bn1R
MFUlaCZqb3QtX3VfNUI7dWl7MUdTNkt9NzcrYFc1dWIjLTswJVM9JlMKemdnflp8dzk8MWNaSHhX
RTlKK0BOQUNfO3wkfSg7MkR7XjVGYWt7MmoocVgmWVViNWtVb2lzTiQ9U0BPJklxSi1uCnpvWTsm
bEd7VylZYnByaSNYWTl3NFIxJk91XldQaVNnJWBYMUl3WDd1RDw3K2RvcjZRblc1WDItKzE4ZHZR
aSYmdwp6Tys+X1haVFNhLWB8e1VIMjlMPzxZNUdIbFIhMVZOVSV6QEs3amUzLXVkZilUSDlvJCl6
VFd6S09PbUZoWDJHb34KelRSU15oSWt7S2JDVm98ZFdxIUJjSW1vMkdkfDZzcUlnMFdXJi18dlNO
RURhdF87SWg7I0owQSFmTVpmUFlzPGRFCnorWUBjNl56YChiWW9wQHRuY2daNVU3STlNVVNBb0Zw
YEBnb0RPIXFfYz0+YG4wO193eEllfl8/K1ZDQkk/K0pzcgp6YF5NVkolYTw8P18qXmk1a3VfJWA3
bkN9cU1MbHM5Mk5DQmxjR1N5dHNuLXp+SCY3O2l1eFdwVnFSIyFVdGlVdXkKej0zQ1B9Tm1xTzle
fnt9X1VSaGxpe2E5fCkkfEphaWQ3cFZ3K3dHRUBVKy1CKFElSWcqViE5bTRfNFB9WHUoITlqCnor
cG5MIVo/QWpxaXFpSz5zWSoyNnArSCZ3dTlvTll0TX1BQXVkN0FGZyo+bWQydFRwbmR2YTFXPWIt
MkJtRSZvbQp6QXxTOSU5eDhqQS0xdVE+VEUrP0VvN0YhU2dSOHdZWDtXVWtJPSpVaTxIajJldyR9
Xl5AJHJxMUJ5UWN4RSt9dkAKekYqenh6I0x2JmFHfUdVe3g0XlJkdn5UUHk8cz9PQjV5eHBkTmhP
d2A+ZWtsOThxTn5LbChlK2lxfVEpMitTKlBGCnozckIzMnhWZiF3dHBEb2RGfD5IWmVzQUBDeldl
JVdaTFFwQD1KYXxLdVN8SilgR09+b1VrRyhXamdSR3NLPzJffgp6PjNDJlVSI3UtMjV9UzQ/Pjxk
eyNWdXlsKWZ7cTReKXJScGRsd3VrOVQhXmklbWhwYH1kaEEmMWl+YHA2K3xRcUMKekY7bylMPWd3
YEJSSndjakY3OCNGemxvOTJFXm1uPilvTXg9TT16UnIhLT9tVjteTn1Zb3t+eH1TZ35WIWdXSUl0
CnoqTTN4Yj8ke2c0a2JJSkdPSXdKfGppP1ZGSzFAZktMZUorTVd7e2tDUyhfIXVlWkVkMFVxdmFa
QndENFMmNT5XIQp6VlNhdm83dnRse2tNcXloYj9nXj94al8wfT07UyZZI3JNNkdMKnxjZEI7Rmt+
cnNIXiRPY31FNCtELVFPanNBSn0Kem5MZzI4a3QtfWdRQmwxKXtxQ3wxOV4+JkxJUVRfQnFIZWx0
WWBBQlBnU1BMZUxvfkRSXkhINnoqbV9adCpPSlc3Cnp4c3Ruc3VYfnF+eCNaP0FydDw0UDRUZkFm
V25+aTY8UWZYTTxCVyt6KHpzODV2WilUKzQ2WTlGKFFBSER7XmQocgp6VC1eRElZaUd+aWt6PE13
eG9zO1VBel5ReUM0RjIhYEtwZGlpWW0qYU1+YFoldEJEeTtwRlNOUUFGcmdPTTMrb08Kek50dkNL
XlQ2QT9hbnMoJENYQ2wpcFowd30lVz9tPXhGdnhuNzFBXl9EPl9pKyZsMDBYbSlIemx5bUlBPWpa
S0VjCnolS19AciNMSCZFQXw0eHNTb3QldCY3YSkoK305Vj9eS2BAdkthO0lxeUxSbmA0aEpVLU9I
PTsmaFFgSnBySmckJQp6M3x3NFhCcHl6R0F8QHFHcHA5cXQ8JGdVKSVzVyFtYzhaK1BHZSpvPjFu
dXFaWiElbUA8elpEejNGUnxXMjRGeXUKekVaSkN7RnNjYypOZzVqLUsxZjU4V1dzV18mPyV0aWwp
PEVNV3htZHR2SihfVGlWUS13VUxrPjJ2K3JMPUtTZ0VRCnpMNlpGNyhhQFc2cXBoYTtJPG93P1p7
T1o4O2stMVI4aWUoYEBjdyokczckPGF6d3c3NjZga0Y3ez5DajtPPEtsdgp6d1YlOTlkdj15NEk/
e1BJYzNlJkBSamJ1SW4pfVZUVyFzMkctQHUtKVA0Q20zUjBjTUp0Q2d0UzglO354KkRwdGwKemJl
NEUqYzY0Wm5pPGJacVdkdkU2bmpZfkk2Y1h4MDU5e2NkPzhyRkEjQnw/ZkAlM3ZhM0YxbEBBKTQr
Y0B+YE4zCnpBc284VHE+bUZDVjc4dn4wZVd1ejNvPGU/YzZPUVpDckRqJURsVkgqQ01HOHpeQWJG
QiN5MDcqO0d1PGM9SH0rQgp6RiQ8TlczK0RfUFkxNy08KVVyZUtrSld+cilKfEJ8WnhOKkNGVml3
JngqU1BPTyliNllqfj8ydl5vTERTcTZiVTMKelVBMF90T34telltKCZsIUxqdTFIemtlO25tey1D
amwlfVFnQmAkK3tLSWBwVXI/MXtyczVQMyglQzxpeko1akoyCnpYbSNTdzdgPVV+KVItSD8pQCMl
akRKUz5QU2U0PGliTEgxMkpfOCFoKVkqM3pzQjd5d2MzRygyd2hPTX5hOG50Owp6eXtTTFFjOUJB
SWA/aFY5ZU1RM2p7MEBWa2Q7c1Y9aWB8M2BzPkl3QCQqPkcxVHdQdHw1fnJ1ODxjVXdRdkpUQmoK
ejRmJEV9cEZhSWdhJn5Fe0toR31WQCNESThNbH5GSSNkM05WaENgXyVKYT57ZHNTRUM2V1lRfmNg
cVhocy1wYjAjCno+KkBGSkh4dntVSlAqPUhvb0F5WW1wRjlqKDNzLVZibmh7KmdeQmloRk48O2ll
TUxuQCE/cj5PYT1yVlhKYkJWcQp6SHhKQ183ZDEjU1JII3E4KTB6TDlVfEllRmFgS159cHsyPnJg
Qzh1azI5SUFBQHYkMzhyZTk5Kz1BfklsPCRDR1UKei1LZn5sXzRBZTg/Yk1gYHVhcjNEdSMxT1Vf
e3BgU1hBMC1QXyNSfmFJbyYla0Z6X0BZTFlETmtRV1RGeU4xfn1rCnolQGRBKWNkYkg4RjVJa29K
aGE8Yj52bWpVWGZFSFVfSzE1S01hSXFFPlRsbkBkdmBmVE9yRl4wKX4kV0piflVjWAp6aUF5e1Qz
T2N4K098Z0lmKktnbWwlLWNDVVRVKVIyZEVkWGtrNTJJQiROUEpBaWh0aEVVPkRzI1J4flRjO0Qp
bD4KemNZRX0zKy1tdjdCVj9iNFpDOTAjN2dhVXJIQ3tXNTEkMm5sKmVAPF9OTHxtWkpwU21Bc294
Pn4+ZEghfmJANEtRCnpASnteQVpLYUREam5MaVFvc3A1emc0O25WbHZeU0R2ZXxmSis9RWhhSiQ9
TDlpej1VelU4XlAycjJaaFErTlgqTgp6K3d7TSNzST10bi16JXlzR0JCOztyJmpaOz0lK2ZuQ2x2
ZSUqVD9gfXNWPGNKKndMZCQwY2QlNmwkanx8U34zcncKeldfaFF5b3pGJkdHcnVPS1I4bT1pc1Y5
emBhTiEqM0lPS1ZRdU0/YDxZc3opbVo2UTU9UTZEWV8zN0I7OW5ZZUxuCnp2SW51UT1he1o5bTJB
cSgka15Wej5HVkEqcClFeUlNT2omYlZIND1TVDtKeHhnJHQrPWs3KSZCPEtte0tyYjskOQp6ZXR9
bkAwfUJmWnh+YDVWOzRJZ0ZFJEowR0pMdjF7SjJeUT9OX3dsIWhVbUY+YzZQM3liOHBWcWlgJmBT
ZSR1eHcKekg2NnA+SF9KI2swVVBPc1peYEI0OHl+RHdsJDRhakJgUGoxWmZ0Qzw3aFVRQjY2eFQx
I1ZuSjxVT305MklWeUl1Cnp1O2xJQXI/SDdCbl8zemckNHtRKld2YnslVXp9Kj85Wl4oUUFEeDtL
YigkUmprWVFxQytVO0cmUy1kUXZGdGNYfAp6YHExbD9sb1QrNkN4P1leZVRmdkJBRmE+SCQ+fWR9
PFhtY2UhVGYhKUd4T0wqS2N9aHA/WktSU15tS0dge1h8WCsKelZAaioqYkV0LUJfTDtfWUA5XlZV
Vy03OT5INGhsdnJIT3FXSnhXZWFDZlQhUjQ9SmYkITdXUXkqUj5idEpYPi1eCnpjcTxJKXUyK1p2
aTtxdkZtcihCWiNfOGF1TXZKLVNNP2BlcntiVDJ0PjRObENUcHYpaCVhPD5NaUdgRXIjPmFkQQp6
NX5MT2AlV25nemF7OGZQY1AjKGx4YU1KY2BwZi1BJC07X1NFNDs2KCtaPEN9c1Y5UDtLV0RwSTcp
dGd8enVjRVYKek0rfkdvbnojZzhtfTJZfjwpPHl1YDczcitYPXYybnY7cTI2QW1UN0xHZDZ4YmFA
JUMwcjg8YX16eF5rQHM1ODFSCnohJGsqUV9JS2VLPU04NUtHdVNoQ1AhVjk+STMqV0xjJE1jX24p
eFJtc3BUaVVZdWs8dkooOXBXRExxaigoQW5icQp6IURqME9yKit2TD9oYnl0d3craHxsPUI3XylW
LUpqWWxndWxsOUgwSHlROy0yMlplOz55bm1uTS1fcHwzUXticWUKejtMeXR3dUJEfGwtSUk1fGY4
Nlk7bilYRld1NTcpMGlydGQ4Wnw1bHxlTnpzUUokdUw/cTI7LVo1anV2SClYcXZACnp6Yz9qcj9l
MnojWWgyeylLb3R5YjNyWT9TaSY0VWtlNEUpWj5gZExuNkMrNnBEbVY3LS1NaEhCU1RUfVA7WVIw
bwp6X197b3B5fVoxOWc8NmFGIU5waEEwbE9TSnxJKCUrWlo/cX5LNkN0bCZzZTJqSSk2NmQ+V0Yo
TFEpK1k4ektscHYKelBWKTJkc2o5Q0pzV1JqVjFCOXt5VVZUSyN1RnF6bllHXj1XYGdMeWlhTnBB
cnttPDRWYT9HX3EqNisja2k1Z3tUCnphVzVBcU5wMm59YjxARCs+OFhqeHdCUU5tNzkzdTdtZ1Nj
fEU5Iz97UHVlVDVzTXI4RCkjdFg8RC19ZzdeN1dPbgp6OFR3Yzh1anZBO1JLaVpPRDMzMU82JjRh
Z01OOHs0S08oO3YwN1VNNWA/ZWMpa1V0bWVvc3Z3QiFtN2h9bV9sa0cKelc1X1k3dW10KTROKUlf
SjVFMzJUbSMkWSo8ZyUyZWsjUjR6bVJ5TU8hTT8rOTBBRDlOX0VTPGExeStJRFhsUUFACnoqKSp2
bWRMakZESD5He3YjfE5hY0B5WmVwS2Budmg3I3o7Yjl4bmpXczB1c0AzYilgJl4oRjhPcXFlclR8
NnlTQAp6Ty0oYVBPSHRTNVMtZWlwc1lgOTRyfjBifGxSe0dSbnhNckQlIzJeay04bkpjVFklayNF
czk7T0d9QEdrekxOZF4KekomPlFIPEMwVnFOZXRIKCE1Z05neGdNTHZAJG8wdCpXRyhOaHM0d2k+
QFNQYWtRWncmLXM/QXtAMHhWO3lWfmZYCnpwaXApJkJ7bnR8TjBZOWRHcCUmOHNUWFN+VHtEd09Q
JXQte3cpKGVATGg4U1RtelRGYV5LKHMyR3cmOXNkYXAraAp6OFdQUnFROCZgQTdNJjNoRFAmYjFZ
KEYyN3RvdXJxRCZGZS1WMzxnRSE0PU1CYEhTWDFafXJ9cnI3bnV5akhhTDIKek9YPkU5cm1FYG1q
czYkZ3dYUihvJGg4QHdtcEsxZEM0X3FiZyQ2d25od0BxPlcmQFJxaWhARjllVzdgJSglO2VFCno5
IWdhcz8tc3g2UGhQK0YoPElPS3hmTz5LQDdoSHA+WU5xNSklRWU2NzVYbG5zaVY0QyVzPGBAaFBo
VFJoZm4hdQp6UX41MjY+UzwtPk9pKnN+T2RzUjhyPTI2QD4/ZUx5PG1TTHgwNkdiWXZiZjlOWjAy
cm15ZktBMzZjclVFdlYtREwKemRHbC1lSUVGX1RqelN6KndmPU07d3wwfVhHMCNONSV3OWphJXdA
XkpMNlRoTDJAJlRrKWxEclk4cH1ZPlNealBZCnpPSFRTamIpRHZBJD90KGc8Q1NnSk04X1liezMz
TjxkVEglPjstNiYrWT81QEh5bDJwPVAlNktFJT5lKTJ4JH1XYQp6IXNYc1B5VVBDbG17P3w/M3I3
JDU9bz1WeGNYZkB+YW9MVTNmPlNqJDl6UmdrblE1WXtxZUlEfEdkNElGK1p0P1QKelNoMX5UKnQp
TVU1NnQ0bGl4Ky09ZXh1UFlQc29sXj9CPXskeFpHYEJ2UmA2d2ExZ0N3UHFxc3g5bDleQEQzR3NB
CnplQUI/ZGZNJXhnZWhJKzJRJGFGK1l+NzBRMkw9VEVAYl81emAwPUFCX2hsdWUjdmVuSzUjaXc/
cU19ZC1NNlBgeAp6Qkc4T2RBTSVzVHpLNFd3T0A/d0M1SHNwcl5rSnQ3eDAxe0xhbE14SlB1YXV3
aHghVCs1Nns/NlJOWCZ6P3lJZS0Kek5scl4rQD96Nj9kc2c3Wl5aO3teT2RWZiFPJTEwYD9sbHZX
Z2ZEc21FQntXbmtjelJ0MnorVEkod0Q1QntfVUlMCnpZUjJAb1Q9KF5TVzJUO2pLIy03V3R7WWQ8
NkI4VFdOSVYkcVc0PDJ0Xk0tfHJNNWEkIVNzQVQ+NmAySWkyalUpRQp6ZkhXfjl4KFlSKURPdERT
d05GRkRyajFpXjg9MmBJWTJSOyQtUEFjUlNiU3E0RzhaKVpUKWdzcmlUaXRMUHJFTVAKelQ+SnEt
enFhTm9BJHw3ajJrO3gzKGNgK3gkd0N+UUpGbHZWYyQkUCtwNHFpK3Q3cW5Wej04eHYydiFRbT1z
bFpWCnp0ITFKIyszSVEybGZ6O2NyMk9lY0tASiVLQXg1QWVoX0I2aFBJRlN5eD1OWks8WFlKcSZW
RDc4UzNfSWR5aylndwp6eT1ieE8hfE1MOHMzdjZ9S1QxNzViZFopZEF8az5DJTdueWNsTmgmPT5G
SHZfcyVRTmtue0Z1SlVRZlMlZTMwPF4KemJANXlePnJQVm8kO3J2SlotRU1jIUoqSGRITU8rPyk4
XnMrRz5JcExLN1hFTio4Q2IwanBNQ2JKOWd9LUhzbmJpCnp1fExNa15nPDBoS31xU2xuVkZlXiFU
QytTbXY3KEJGOD4kO0dtM0hoc2l+dHdyel9gQzBObkwhej5+RGt7bnIkbAp6NiU/OV4lRjFURiVm
UTxCb1ZqJDVieWh+a3VVS0ExangrUUlrKFMtcjwpMXpRWnIhTVFiXj5EQkxWYitlXjRBQn0KeiNW
YUczXjx1KE1WNHhZVUUtbU4hOW5qe247SElnM3orRiNKMD1jPHVBVVo8N0djNFJBWDQ+IX5HJkl6
X0ojQkhPCnpLWmNDUV9TPEtgaEl7VFF3MkowODBncUZIP3gmfkUwUCRSUFVvakdgYHR8RXEhbUMk
PlVgVG0rY31EfEdoYmtWWQp6N3RaOzwlKTQ9Q2RScyY3cl5OQUItUjhhRF5MZHxFNmUqU1FQNFE+
UUAyWD9rS316cTZFMG1qP3lYQjdeM2poXn4KemlETXc+eiZVPVNtK1F4VjJ5V2YrRHsqdl5IWnN9
eUR3OXFkKl5+NGA+bkF6Yip3e3s9eyl5SE47T08tZndQfDYmCnpVZ0JYdkt8eUB7Rm9WYjFqfXtl
JCN1R3Z1R0NFaUg2e2F9dHNPUmFuQUxRdn54V3FZVFhFPnxGbF9ycyZkLUNJUQp6d05ZZGQtMj5C
ZC0tOXUoYjUpTnhpdjxsVHtHTEM1Sn5uM0IrWiRBPm9AS1FxdT5WRDtheDJ8aFNDXkpTeVRGcn4K
elJFMiVue1M4JUx6VDkkam9TQj9fPD8mPGBNQHUxamtjejZnZSE0clN6Tz9rTkl+QCY4U1pKdVVj
d2QlVEFpJmhCCnpscSlnZ19VK3IxbFQ/ezBubzRIaENAMU9ZPlh4anskXlB+QlM5TiMwYloxKkc0
REJMa0kpMzZycXJaeFpPMVZDXwp6cT5AaDgtYVVKQ2E7eSVvMyRuN3hHRTt5bSo0PEd+MCRXbFB4
R1hSS0k1cE1zKX4oYUpJbU5+OW47WXhEV2VNcVoKeiokVkpFYS1SJE09a0gxWWlaPUFJTG9aNDdo
TE8+VTBPXyZzNVBaSHY1MDVfdldHcERDNSFEMUR4VlkhViRiYyhCCnpUU3ojPyZSKkJ0OTJtPGlg
YlheVFlPIyZ3cD52KSkjKk5FQWNYdGFqRjxxUUVHSzlQN15+K3Y9bEhiNmdqd2FFXgp6Q0Mtbk5T
PjlxXnI1OT17MVBnIUB0ZGxgI2NXUzl4a18/OHpqeU80JGBsMi0yRXVMPE1CRVJUSFMtTH1TWTco
fmoKenA2RmJ2dDRgT09VUl8hayFWPHV4WSEpfW96MHUwRD08aC1NcDRzTk0oQ29YeGFxJHw4OHY5
dG0rTWlOUUIpJVc+Cno4WnZqQUB2ellKUj1xYSlkNThgSXZ5cTkoKG97fT1RPkM4c2M+TCRqKHkw
cjNpZW8hPmhwejNZeUxHek4pNEZUYgp6Yyh5M1dgUUJVaTMpRXl9TSpeI3U2cnYtYUp8JStgc0NS
JHlwUzZVQilad3dRPCQ9O2FSeF9aekZ9e0xUbEFFaU0KenEpR2BmSHo7Vm9nb1RCTGpJOFc/bWhU
c2g8P2ZJYGFlZVkrcDlGRXBFcT9DQDUxTk9JM0pZNnk7KHlkYjZvMW4pCnolNWAqZk1yeTw2MGVZ
KjQ9TlFsNVpgaz9BQUFiem4tZDBpeVh4bDhPa3dVZmhqaW9tRHspRSZaZGJCPTlvdGVWOQp6eEhV
VypJUUNLPyg/SlJmS1lHenN7UE5YbzMhMEVFM3YrWTZldHM9PjtUJV5CS08zRTtxb2NFemBlNjhk
KjkjeFEKejlkU1MjLTw4PlRFcENVTlZtUzVhTnlaRHU0QGBBdG9AOFUyMVR3KnJkbFlAdXcyZEhv
ZmVET05nMnwlQ1A1SkkwCnpYcCZtJjkySGRPSCshLXhneF9sQHgjRjQkNzNXbkUlZFZfOVomK35a
REVBT3pNQEMyZThOQGVXeUtKdTFkKVV3Twp6LUI5QkJJZWV8bHdeQStDPTFrYlkqTSltRzEqeiFO
OFJNUWNNcC1iYFVSQCtwcUxBRFM9NV5ERlJ+fm1DdSkzKnsKej5sYWFGLVFaYF5UKVgmcXN3bGBa
bXRIRGBWZ0p2R184R3xnQVZ+Zz9BMX1fJjdkVDkpc2ktdFIrPCMxMlNzQ1U1CnpKTng1WTtvX0dz
P34pQ28+bGhHVG5Ta2JAcTExSS17UT99d3h3NVR5YmhrPDw8VSozKnVvK2BiKT95SDkta0YtMwp6
SV99Wkxray04T2FzMWBgPzYwU254a2ZiQSl1bzdTP0NvM25kcGBNKTwzQH5jaERhWWp1diQjWEBr
aW4mLXcoa2YKeiMpRCF9KUduND83SlB6JjdtSHFXakdTYVZlJm9vdFBZP0hsZl8qcEg4KG5+VV5M
VnFRd3ppaHooM1pIPiZvKmZ7CnpucTAmRnh9YX5KPUhZb34tQ3FwJjFUblE0NX5LKHFDXnx7QnhK
VGFyTG9JQ3FHZmpFb2ZiO0gmJUx4eXZJdjlESgp6SUJHUyRKMTlNUnRCbEpndVZucl5BIU1faEto
I0hReVdqVT9BLSpIJioxRF48V0JXOGhNMHtoblpyeXJvcll8WnkKentFV0B1Q3dBPkBLUlRnaiNq
bUFeeHRCe1U8PjRBSSFkQ0VGVVM4Jis2bSooPlZQKTk2RSEoPlBPT1g9QylReSolCnpWYV9mdGMw
U0Q9OW51NkRXUFdLJG9kSDEwPipAWGJKNjZzNnYwUzh4JEpeNm1sKzRVZTkxRSRUIVRNQnlmTSpw
QQp6T00lSHRSYjczO0p2UkxXI0F6YHhjUXtKKkJKK0ZKTnBme3xDfmxlIStNS1FaPGFVUHBYSUVC
ZFZoUUM/Uj1jT0EKemB2RDJEbTJaS0xrUDZgQT4xRjZ8VXc8c1RxclNLQkhWbEE+JTRHYHdXN2t2
fSN4SW9fck0qZTJeY3AoITR3XjFVCnpgWFNGSzBEVnZvODNsIXp7KnB9KSl2b1VEei1QfVVyPjB0
Uz0tK1lRUXNWSmREcVc7I2lASG8yTkZaKUhwXyNrNgp6bktFNkx0YlNrNylgYyZeR2J0SndgWklr
K0ZmUCVXIW1VfUlkQVEjWShGVUBIbWxRalUqU3IrSVImKT41NjIjTD8Kejt2b3omWD0hM05nOypW
cWdtbSh6bk4+UTszbTJmSU8/QUQwbHVCZlBZblhLZFR6LTYwP191ZSFfbDhEQkQ9UkRCCnpVUzJu
UyRQWFBsYjkzTVcmPGVvUlZ5Uk54I2cqa3tJXmtQPjg+Njd9bFM0eXM4YE89PS13aXdUZkE0Zyg4
WjUpTAp6QDUkK1Z2VTUhdlZ7dkFuRT1OekZSI1R7U244eVp9cWtmdklvJTh6aj5xRTZ8OGEpWioy
SSh9KHcyXm1MWTU5THsKekZGITNsS1IxVWZWZSV6JXJCeilvSnxWJXgjM1haM0xZITkkQVZDWlpF
PU5yY1l0dD81aE93bW91RkJ0Z2RjY0N3CnpZaSZNZTZHRXZnej50TmQ8IURfKmYrOTBQe0BNS1Ru
d318PWlYVUtWLTZaVS0rKTBqOXlIRDFmcm1PWWRMTno9Rgp6SmJyPDdVWSpHb20wSjkwY3A8N2w8
VCFUaG43NzFyN1o+M1dJWHsqVT5YTTVDNWhjWjheUmBZUloranloQVVVRiUKenItTyFJaUdZYjwm
IW5ZJkw4RkA7Q2BIWVlteUBIfD9YQm5mcWExZWJjJEc2Y0tSX2JUWiliUDZieXJwcmM+amolCnpX
MytfKXtRU3NCeChwM0VTU2Y0c14oQ2BxQiM/ezRFeDlrWSQpOUVZXzsmJEN1ZilBYmdZQyh+aGNO
Y1FVQGxePAp6NzhQTnNjXz03Ny0/KCtrY2xXPDI1QFdRQzk/KiNLJmgrJXJWUFRpMzRFJDc3UlZm
WX03QFV9KEokIWgqJEYzZigKenY0M25MRz5Sd0crPUs3aXVXQT9EWENHKChHWWpCKWB7cXE5d19v
Jj9POFJwNSpfbm49VCo4OGFUSmhzQnNsUHltCnpmISpAKz1URCRVQmF2fXtEQlZKKmpGSjdsY2VG
Zz9BfShJT3tBRlJoOFFRKVdpYlFaUVd5UURndytwOFZvRU58Mgp6JVRiWSRWfE1gMz5BMD5EODh+
bVEmdjs8THF0WnReZV4yNSFadiNTVXMycVE4ZkFXcW82SUxRIUxObW0pcTtCKHkKeiM8ckFMQSQ+
WXBxc1g1K0JNSFhqXztPeCl5N2s0Mko0NitMdnRVUj9NQE41Z25nKGtENUNzSn1aUG5BISltMSUy
CnozYCQtQmlxWTQxbTZnZVdWS0xIOyEhRjIxUEI0djtQTEY+RjZAd05heDV3ciR6MTFIaW9QfCVI
SiZTZXN3WTwhOAp6ST5GPkR3WmM7Jio2NUFRTGRUaF8rMmUqY3ZsIz8kNGdAVGU0ZGxKaDJ2KEg4
N3shXmImTWBET0VPPiFjSip+eDYKelpATXVLKjRXejFwalVzd3RIcygmaXZ1MldSVk9SYnRtKm8t
VzJqU1QqP2VRYSp7KHBAeE4ra35pYDFXKjJ3IVNPCnpjejhIMkMlMEhSd1doIXBkNnBuSnBAcGZi
YiY8REYkNj5JP2VnRlBsKm0xaFMhJHNkQjY3N29jX1o7Um90PysqTQp6X145UC02QWtTUi1hWW9X
aWs2OWdodTtKJV53fDByY19oQ1EwNFNQbztiaV5te0NxN0I9MEY8WnM0VkFIP1dtZVAKekUmWWs1
UkxfOz4wfFBlZjV+XnpWPVE+UEt0fiZeOGBSVmZRYEVuKGpgKWxzfm8zNT1sISY+cUJ6VT5lI3Q7
NDNUCno0QyhaITxsflRvXiNodXhPQnsqXnNhcmBuTSQ1OHshbmtSJkhTMjhSVFQ+NWBsTHlBY2Ew
V3RPKGJVIUwxcD1kRAp6KlpPcFZvUDJrdnJqcCVrb2xkYD48IVoqVTdhTSozdzszb1hfXns2JWBg
d241UEQpNCUkbk1EWnRUZDhvWD1gKHoKekUhfDB3KDBHaHcpTj5ZZHtkTiZhS2BueUcyIztOckt7
Tk59JWFELXZnYyRjIzs+QGt7cTd+dm4yNFo8U0BibjwrCnpDP356THAxOD08OzNqZldCe24xRE4w
ZWg5X3RlajthVXZIRHd0aT4/emRFP1A5RmliNXI2RXJ6N148d1M/QlhVZAp6d0Z1PSNvQkc+KjN9
UzNTR1BAWURvV0skPEBIQ2BlbE5sPXV7WG19ZHt7M1B7aDU/RXgrKUMmeGN2Vns0aDs3K3UKemA8
K3l8bGxFYmllPWl9N2Ffdnl1T3o5MVBEUlhvMy1RTHNGKTRCbXE9XjxVZyZkYlRsZFI1WHlfXkI1
ek9eKH1ICnojbGBpTyV3N0skNFk0cig9dlRWUCVGZURePG92I3JBJiY1RlBGVnw8WitVb21iMVhW
ejlre3ItWnVhRWJGeSRsXgp6ND9wNzBCPyF4TFF2UnAmJTx6TUU5LVF4Jl42Smo5MjZrQHx3Vkts
dGZUSH5aNVFtWlJvV2YxUTReJHFXKmZGdVgKekk2PWpzXkVOWHhnNVI5ZD9mOVBAbmgraHhlMEFa
ZGtqdXskeEwwTX5Cdytyfk9qV2VCNHZ+PylQKT5ySD1JdCUxCnpxWjhAcmA0UFR6ZCU3TygtU2RD
fFpvfCh7UTMxPyR6PVMmVUZMe1E0JWA3eUMtYCQ0O1g7e3kyemM0bTI7V0FYUQp6Y2FpajIkenEk
ZmtCPCp6NU4rSm0yTS0/UFliWXg+eV9TeXtzZ0xSSj80K1RsVyk3QGNUVklERmVIQ1NgciQ7QTEK
ekk/SENMTGpDRyhaIStiN3BxSVNSNEMpMnwkUkdMbShEMmBBZDNIalVnQHQ5YDtXSFBBUzAqIy1k
d1AzQSpmaSZVCnomNkx6ZjNGblloO3opP0BzSGRwRWctOHRjZXFLQitGfGgrYEZLQ0NHWFAmPm18
RWtsQzghWVB1IXpmb0VEIXJ1UQp6WWo1cXhtMGV0WmZmVDFoaVgjSUJ7c3xrTU9hZDA7KVpgPX1P
U0g/aGtpXjM/JVB7byZLeyl7V3ElSz9fbFlrckkKenZBT09qQGZuekRhJU0oPklFPiQxNGNKLXpf
a3RubjdqJT5WMj0wdF5uV3orKF4jbj1+WWZ2PyRseX5vVkJweUN+CnpFTl5DKHEoJWVQMjdwfCZs
IVN4P3NpdSEqV24mKXN4dygrezkqXztyJXlAdjRBfSV2SHNQOFJObmtxfjxJZSs/dQp6eT11Qzto
WiNSTEhZIWF4b2o/QnY8MHNoclUwcTBGMEFZZlpRYihMcVE2WHBpMVpYKWkwRlprQXtDTlRgbSNy
eVQKekJ4T1J0PlZ2Xzk9MDVLWXtkIW5Kc1NJfVU7dioheGJ9NHo3bnJea1d3dzkzQSlUQ0x6ZHQ/
ZlYhKkFtRGw8WiFPCnpJekQmUz5GYWB1KEJEQm8pKVFRV3pycVh5MTJyfFpnKyYmNXhiP1dNSiNm
Pig5VF9OeXg3cEBKWmRmUkJnenlxXwp6NCg3UD5tQX1QRGBhQHJMR1ByKE56Rj1pRjROS1EkZWJw
Z0E4VnJQempCRlAwJEkhJENyc1MpWGwqemZfOHBNaV8Keld4K2Q3dzVSdnlTalMqRittQUg+WChP
fiFmPzZeJUdWPTJMZ1k0fD0qWVdYJGU4cT01VE9kNllmSEZ8JnghUnpvCnpMOXMkZEtJNFNrZ1F7
dV5vU250LWdjeTJwY00pRlJLciRYTTJKNGRicFVMVVBYQ1RAalRtPVdEeDJOYSgjMDE8aQp6IWVZ
ak9RQiZ2SWsyaiVtNiNuY29DdzJIaHhEUnt3Q3pmZFM5dG8xVXFOJi1MVzMzazt7YzVvVkR9PGVt
am9fQXcKelo8U1BuakZGYT5jSSgheXtDWj4+RGs/NmJ4fiNyVntfXkdXPmlKNn5CcUtFeiRPQ00+
YHZUfmpaaGp9OyhARF9wCnpGRGZrJlJwaipWRUY5N0Z6aHZTKns9V3Eze3VoNHY9YV8mN3ZNcVNe
dmEycEZkfnpnJSlMaXZwZXVyJDVEbmE3fgp6Nmd6YmFDV0RWYFApfD9LXl5mLWZhTn1SVVI7RG56
SlRkYTEzbWhEKzlvfnR5dUNDPX1DTEl4eyomfSFfSz0lRygKekg8bG5AKkBOX3pneiNra2xSSzQ1
PExILVU1YHslWXNDfj1XZ2FrRHZIQDU/IWgtPVcySl5fcCNrYm55bTlVTj9ZCnpkN3RycFd0SmN+
cWEzR0IrMVQzVkpJK0wtPW5HWWk8PW1SbTNYP21IZkVpdmVUdk4yKGBedkthXjszdnIpWmg5KAp6
ZFcyT2JZU29rYj5lWl98Y1pkKnEhajkhUT07cjEmejdzNk1GSDkodU11d1JKRmBVK19zd0JzbUtI
ZEMrcWg3RygKemF8O1ItTGIqIWVNSkIxKnJqIXE5S3pCYiZtQklKTTk+MHF8aigzRyhvY3dETjVZ
Xlkkdz1HPnk5SS08JVNOSTF1CnpkKDdkM2h7TVQkcm5GKSZuVFFXWVp0QTZDO19iS1otdl5ObTRo
KHp7ZVhAfnApYSYhYDlDWEk0dFNuP1k1WVR2WAp6e1djeHpkbDxOUUx4VEJWQHRGNEg8O2MlPGI/
QEs1VSFOfFJjYFgtS3JjUkQ0PSlxY0hgNCloamZZeE0+QTIyWikKeiNyMyl6YWU0fjJGTFhWdVRJ
QkQoZUU5K3gxa0Y2NFgxSXM1aWNCSH1JWGtAQSpkbjglYDJFfTQrc1AjJDRLV3hxCno+Kj92bURf
QCNQR15MUHFnWHNRaVg9WjcwNW85VXohR29QNGEoa1klaFZ6PzBmZXdoazh3ZUNNeFVAJVNtVF40
VQp6U3lfY1lEcm9nSGF4KmpNK2Z1YzB1ITY5bS1rWjA+WD5vQldJRDNTUWNwSFI4OTB7LX5fUkIp
KjA8c3JgSXQ9fm0KekdkREwqV20pYHIwQzNFPkA3QjlWU1htIyVDTClMaColYFR2O243aUErUS09
QF80TEAtMnZGNHcmKkFkQXwwdCZkCnpMJGhec09yWUlPT3FfZGJzX1ElbnE8b3tfdVh5RjhtWXY4
QUFZT3t8MW5kR3g2SiU7V1R0VjtfYVNXKFpmTkooawp6cHZka2NWSjJkTGFleT4xWXQxUkd0Z1Q1
QXZPNnkrQl40djsodzIxYEgrKkJudWklfn11QEl0cj4oQH0yQFV1KD0KemlpPHZlZ29rSVlvSnch
NC1lWTRQUkFIamM4QyhNZCFPWTAkQU9sMFhhPytkUldLTytlUzFgRTwwYy1lJEkoZkc3CnpzaXst
b0RGOEEhMnByQVBmSjd1NFFEJEpfOz5hRzVHU0dgU2FtfkQ+Jk1QUSpSSVZTZHRme0JocFJDVTU4
ezU+fQp6T24lX05uN0ErUVZjcUE/UFF5WCFecENLQnl6YnZlMzF2RWR7Q1E5aXhGOCFseVg5RUpP
Tig4Vjw+Zz1pVV4pN3UKelUhcjZ+SUVJXn5hSUxSaG58eHd7aX4/MnxhN3M5cDZTTUNkKU0rM1Q1
SHZgflJUfHVZQ2RVc3orc0BZbzJGdVY4CnowazhrfD9PWGQqbXNFdXF2R2UhJGQ9MzQ+fDBRK05g
cDw1N3g4aChAdSM4JX0wfiM2ezVUWERUb3dtdlVzQTAyJgp6Sl49cXFPSDtGdnN2OTV0ITRUezkz
N3dFY3wydzw2WjxsJmE/Q2s4dU9eYCoxYDwwQGMpUHFiQ0l1PjR9XmRnQ2gKeiVxPEVDb3BzakxT
JDRkPVBTLXJaTyVhRnZGaU1+dTNERjAzZHJRMiQyQE15eEJQOFFvZXdCdkpeVF4wYW0+R2tFCnp3
dTdIYHhnWXozaC1oc3VPLTUteFlfSWg2YlREanZ7aUU3cDwmVVZFYkFDfSFQfjd4aSt4UnQ4a2Uz
SU0pRiE8dAp6e3Z9JEJHWkwhUykrTWVoYjctc05OQTJxfkB7dFhOblQqWDFPe201M1MoNTZURTZI
bEc0TEx6YS1AS3t6Qjd+bmAKemxzfXYpKWREaDxXMTdjP2QzKmcyP1hjKDFETHteY1dadUtvc1Qy
UnlvU3YyU3ltJSR0Zy00Zy00Zlk9cygrR1M9CnpRV0JCXjAyZUpTczcoPk9aMVA3bmE0PUtBdmU7
b1RSO1lPbEtPKzxaTFBFKVRIOEw9ZTlRR3Y2Wkx3flNhMS1+WAp6KFdXZEFVaU5VbyZwKzZnUk57
THs5ZkVeO3N1cT8lWSEmZzFXckhXQl4pY2R7QXZOcGs+cTVhWnY1Rl43b0NwWEEKekttdGNiVVM4
Q0JBI3MmZV5sQHVsPHFlM1Q1U21uOCVYSm53cnN3MT1wXmpoIUJGWlJBQDw/aik8OHlxVjB4P0hP
Cno5KjFzejN3OXFJYjJMVTh3d3tnLVElZyZCR0dhdDl2I2gzI1JrZ0hhT2wrNUR1WDl3e0Q8eHR7
MHU0Z1JmSHhRKAp6XztIOXdqWTJZMnc7LTc4Qz5iJFdwczcwXy1kMiY8d0p7YzJHOVdHTCklZl4w
dlpwKDBtY3wrbFZFPEFgVm9SZVQKeipJISVWRUxtJVUjcmc1JDVJWDs5am9iK2R4QW56I0VKWHd3
US1LTXFjN2E3bTYwZ2pEQm4zTFM7djN1TkgxcnRxCnpSNDQ8dzd0dXpAIyhJYng2Um8ocj4pRXFz
MFZKMW53WGFfN0wkZmlkNFpaJk04KDI0cklrWT1jST44VTM/JkBBegp6eGlgT3A3MmB+QSpselcy
KUpVb3RvPHBhQG1jV0tVcUR+JDBfQiRtKTIte2g+YUU4ZklHQkVWX15zSlRjV1daTE8KekU2eT51
dlpDaVRtUDdxUD8jSUA0RV5oQikxKzZ1fj9JJmxGbGZIQ2Bge2srdXBQQ2tPLWYpTzt7WlFwT2Yh
eWVTCnpGSSZzOz9yV0VoS1NPMUp0fUc9YilrbTlfbihGcW0oKnpYXz1obGlJQ1BuYFNmbnpveyp5
TFgtRF5II3w7fCFeZwp6Syh4UG5LfXx1UUtzcDAwMT99PzNqfnw+eDMod2pWJklNTVFxKV93b0Bz
VVhZOzV6eTUwVWxnPlckb0dPVX42bXAKekVIRSVOQzUwZkNLfCpvfVJEXnFmPmVNTVQpVEVSWSln
KUN2cVlGbkghT1ZpJEgxI2leenhYeDc2VzRWMXJwVWQkCnpZT25fKEpHaT5KTDdIaFQqKWprNXlj
dXZLYGY+PVQ5dFl+c2pUO0F1d18mTX5KdTFme0pAfXxSS097Wj5HTC19Mgp6dUg/N0c8PXJEcDV6
S0Q7PXFPOD04fkRHUkY4RSZuTDt1Wk8hKy1QMW4mRTB3fDZzPj10fDkpPExkP2opIUdYbSsKekF+
bUU3NW17UzFMWHB8dChiMXpOWis2NklrXitFMnBmdGE8eTAjWCZCLTQtel9gPH40bjYkS1hEMENP
fXt5SyUmCno3Y1UwbEwjfXFnNzJqTnwtd2I3dEZJaWgjZC1tKVomfmJvRTVGKjVnSGU8eT1zentU
YVdPTyt5akVtWUo1OT1XcAp6eGIqNE1yJH5lWTVfX1BqcXJlYy0leTlaKG5qcmZGaTQxI3BTdzxp
RVViSlhlJCExUG9VT1ZLUUZKOVRUWEFobCMKemxAOFZMZTQ8RHw2ejxMIzY5ejFOJF9MPm1IdV81
KjRGRFlsRDxXcFplZUtQKilLLTZtZVZ1PGFCXmE5dFg1JTY0CnppTGMqJkp7QTRUdWtPPGooRC1L
KVNDUDM4RFNxSmdpLWg8TjtaWGMjazNVMGUxJFNjOCQhI2J2bXQtd048UWl2KAp6P3V+PF9XWWEp
PktnKGNrWDRaKzExMHxBe3sqMjFwR0VCMDJIejNEM3I1MlJWTjxXKE8jN001Y2h9biV5ZlopdyoK
ejtHcXI8e0VVWEJfcU1OVUJsb2UyYTBnJV9hQENUPTBXJEc0RyZGVH1icyM5MTZhV0Z5TjwhNnc8
KUUjcDhUOTxRCnpEWlBuQkVYK1klRjY7PkdGQzs/ZzI/RSgxX0UpfiQ9IyFFWGFZLWVGbn54dFR1
YyQhaTtfej1+ZSpATUZgWElXZAp6SiV8Tio4a2l5R0ZkKkdVYWRxRSR5WFp+R24tS3lXZGJPKnBQ
Jj4reVl2fUlpYUsjcTR2OVZidyNSa1U+dHBoajAKeiMwKGRnQjIlRFE+Kn5KfVdwJWcwN2NWfFFx
VWh9djEtNCQ5OCh0Xns2UF5Ye0NBPzlCVC1kWHhQaU1iQVVecFBMCnpXQTdtZmEma0xoNVdvJntp
SGxGQFIpQVI9ezE8YmtmME87azA0IWwtd3JDIVJueEZ2U1R5UFA5d2JXVnYqYFJHJQp6Nk0zSERe
UkdUSExORUhWPyNyYFohM3A1TFJ6dGJMcG9sbiUyfFFAeig2aXBaaHB1Sj8jRFI8Vz88ezMtYzhV
NXMKelR0RU1JVTFGSGBmZjUrIz51MnBsIysmaWZESWZSOUBOZ0UmTjJoJEIkOzM7JW9iQWM4cW1X
RWVXbD5qZU1gS1Y8CnoqMC1fWVVjVXhAMGw5c18wQUdkYWVCWFR5Z28xZTZKcGVDb1RpKitAVjFF
c2pofUpNMkBMXiRQSj59flE1Jioyewp6LWA+KDk3ai03Y1U7Pn5TSDw+fmI8e29AcUVhSW05KUJQ
cHNuc097YjA1TytmKn5JK1Mka1prV2o+VVJHbEZ0Nj8Kej5ncDs0Z141ZEkycz8wZDJaJEEkSDhZ
YF9KNHBTdVYzNz5udV9IfTg9WlA1VCRfYXx5QHllJlA8JDg7YDIrM2NwCnpmcXtefVhPfSg2bD5i
ZG1TPDQmaytxeCVMM0MkNFNNKThQNFEmcHNKU2VZe2xrVWt6I15JIzgrMU93QHdKPG5Afgp6KFoh
TGB8RmAqSjN0amRqTjZzPEAlMTRVYDByI0NicWptZyVuVjhHUStIRyUlYk4jbm9gKHpMQDZYLWZg
LSpWO3EKelZSTTdVNWZhVlctfXdLNFliKWs3ZCZrfHYrRkY3NXJJZk9ZbGFwWEN2IXMkQXg1S1k4
TEtHSiNhentfWnF0V3pGCnpGezZVO0dLTVAqREwjQlZEaWc5NzBTRzdiXmpNZng2JkEmOSM9ZUVr
MkAqLUI1MGI9P0Z3KylHaWNRUTdBcV8kaQp6ZyhUcihRPWFmbEhVQUZEME8lNUlnbl5jSlZzejlJ
TG9SaU11QF89UzA5YyhmKGgwOHxOSjY1JkooamRDKVk4YE8KeiljXmtYYnlUdlBjUTN2ekw0aVI2
PEBCTXlLZEhmOCZffD9Sa1JxMkw5dld0cWtjTDBhX3pFSy1QJnZxJjhYNSpoCnpNbEtUUEE8bj9+
M2dXKGYxfkAyeUs0ekNoa2U4S3NgQlppeW9ZQHpJMTctKTU7X3RCWXAjUXlkYCptd0UpQlh8RQp6
U1MrNiUhYm1ePWxmVUtzT2tucVY8STl7SmYkbHFGS1RxSnczKUJOYF5XR3hSO058bDlnRERSbTV9
IVBvcGomViYKejt+PTthTDI7cSo+KkUraFBvTygoKGVXOSVwVH4hV2hsY0RYSkdmVnV8OCNiYVRR
JFo/Oz9RKDVeZCY3VSplY3VqCnpMNEttZCtgYEVRQ254Qys5RWU/JSljTCNFbFdXaCMkN2hkOzZX
WUBqaVkhNmpKeSF6LVdZcEF4VmBCOCtKXmt+Rgp6eXZ3UXFoZT4+TSU/X2dyWHp6c1JUKWI+WmxT
aGdwYmV5SXA8dmJtQ3olIyU9PzM1aEhIVkZ4d1QzTzdqdG1mbFEKekBqXm1FYFdZUHZxNGVmRWdp
fFJRKk18TjgoJSFqIUpGS2JZbEAqNnVnbWo4cz1RfEBieD9sSlhMaXFAOWFfWikxCnpMQzs1fUJx
NGMoN3x3TVJHJkhPUDlTKDU+cEhSMTIxIU9nfndKUiR0VlRtdEpfZU98O0tmZnF9PmV6IzdqJmNQ
KQp6aWhhbXxGJm4lK253eHI+Jkk8NHJ6aT1PVjNOVTBQaXJUa3R4cHtmSnl2cmFJJm1qTmpPP0NC
fSNVUSleUzQ8PEkKek5iKjVGeF9nJChWYEJ8LVR3Rnw/MG4lM2UjcTVEcSN9OGJKNXAjb0grMHhh
TzU5Kjd8YHpvenNiOHxETytHUyFQCnoqWDZmNTkzPkQ5S3YqRi12Qkc0TVVeSXtleyFjQV95TFk+
R0xUJDcoWnVHM2pIVlIxeE5rbFBjNVNDNU01ZXEqZgp6RUloN3wjS3lKfUdod3BaZGwwfjM+KW8/
VWYyMDd+eTtTVkwkWVNhY3Z9dChyYDZVayQ2QzZAMGFoLXJzQXZufSUKem9RK3EkcU5XQy11UmNO
UGwrNlQ1LUBxVWE4dHVyR2t3dyk2QF5YQVFqVDVyTCY9JTExJS1se1RCQWl0YE11PTxUCnpTVXg7
VD4kLUx+P0IyYjVncD5ke3l4OHsoZ2ZFK2xebX1lRWR8RVMlUSRXfTBZYXlVQmUtZlMyP0AjXyZl
fEsjZQp6JDlMfTd7MyZnVDlvPmUxfDg0Ql56a3hecFhFVVMhNlRkOUZ4PnBVejlXT19jUiNETCho
akYtMEpoTyRSZlhFOzsKenU8KWQxV1djbHJsfWB1PUlEJkJecmhzLXZBc049M3p3IzAqUnRSbmc2
YiZfWF5AelktUkE4dm03O048U0MjYWJpCnpVUStoMSVtNn5WbFhoKDJodWJQPGxEeD5RdCFJRVZI
cykkTGZxdDAqME1WaX1Qei1HX24mYjYheEYhVVhNUFklUwp6VksxTXszPER5XyVFLVZSIXhGJklq
P3JiRlJTK2RMcm9nJnJRTUEkbWtuVXUpKUlzRyhmQjYpU3ZlQVBuUEB4ZTYKel5yc2JvOGd9Wik1
Zz51JnhId04pTnZKcmhyTSZlYjJGQjNLej57SG8wXnh0aDRoV2V9Qlc2VXlnWXk5dmE/YDs5Cnpe
RWg8b0tMcGlxPU5jczA5PCU3O2NNPG8rZWdWP19FKyZsUDBlbEZ5aWBkYEZfdHM9VURZfW9TdkNY
N1JeNUtUNgp6ViFIY1RAV0J2OG5KSTQyIWBWR1NQfFItbiQ5YmQ+R3VxfUFMTF9IclBrcn5Vc2xN
TGRLIWQoZ0NLVk13SGcrKCoKeldGc0hNNWEwbFZYck5zc05hQ0pTY3xGXlRkLTk+KipNPkYpTyRn
UnN7e2YjKm90PWNTR2d1SHYkPSg3e2oqOE0lCnpSKD1NWjJ7fGxhIyY1UGxPUl92KFdNRD9Qd0ow
NmZiYWd8PkI3MmJtMVUjVXJaZntwbFFmKDR1SVY3bkI8ek5NTQp6MWlCclpzPiFja09IWXR7OFc4
NXw7TTgycnZvISgmQ1A0NGxlU35CJTFUeVF3QU5NdWJyWTkjMEYtNDRuI2EocnIKej5mJXBRP2R0
Mn1LJFlIbDd2YU9xJSo+KTlIK2xLSlptZSFscmgmY1kyT258VCU3SS1HWklCd2ghb3xzdEokdk1I
CnpiIypOQm8yKUUqak90eSNlalVaTjskaj5eR0w/O3U4N0xnS2QyNmA1MVpPJXtAKTdLaUAleWtX
NUkrQ2VBYzM5Xwp6elpFWl9veUFmXyFqS2xsY3x5VE5tM1VIUnt+K1RHb0ZVQThBUStFJFpgMzhB
eFJ+MWBWZzMtY0FhKzRnM2lwTzkKejBhYXlPNSZSaTRDX25xOS1gc1U1P0hYZEF6fEc9Vj9qUH45
eUJOajkjTllyd156Kn0hUDtDLWlgXn5sYXtQJlFmCnpXYHslYzBEO09ZRTBhfjwwRlQjei1UP3xC
TWdkNnlyUGo+Y3lafWx8TElQSEdKZFFeQ0k4Rz1lSW9UWmdwU08yOAp6ajJYbGZZaDlReFYpNXhg
QWx1Wnwtb0VzYDYrI35yM18+aT58MHdQdXJncEYxOXVCSjEje3o7fDA5fD80dTNndjwKejBGQWk0
dn1mI0B3YWI4emtyRn4ydHBoP2NRYkJuT2AqRSRRc1NBIV9gVmJLVDE5Ylk0P2V4Qn1mT3gycy1N
RzhCCnphWGV+cigkWnU7N3E7SExXN1VvWiN6dSlmQmBQR2UwKmlnM0lpZGIzPDlXZjY0K2hLXjJ9
WikmJH49QFhYR20wdwp6d35xN2lFdWpDKCM2TlMxb2FSI05EVnFOeDQybiVLT1VoNTxnU289NlVJ
fiohSWdebmh4MFJQVlZTfXg5cUFRUHkKekM5QVQpb2pRWE4yKXV3aFNTV1Rjc3NOMU12YT5ARXJt
cDAzK0VicDB7ZVhQNDJXQzZHQndpe3FNP3ckUl5IP3tzCnpjeHVJP010OT1tTmxiRGVrcXt8cGJG
Y3ExNXorSVl4Z0hgUzNOeWxVMGY7PSNVJGw0JmReJkAxYHBMPTIoOXE5bgp6IyRZaUVRKHxDd0o7
dztzQWdFJkomWWtOP3dsXz1zJWZ0b0xWI3R4MFJfXmo1P3pLemQoOChvWlU9WVZmaGhWaUIKeld5
bGhBcXhIPWRPakFGNF8lUUwhOHktZiZ0aUxKdXB2em1lXnNESEU7UTBhOzlVcyh+UE1qJDM/OV99
YFc9RUVICnpwN2g1OHl3UH47OypuQE1EKEBUUz1KNUckTCFFJlkyRWhwRzU4QVZfTUM3IVA4ViZ9
K21QVmZLRnd9KG1kdVpNUAp6Sk9MWCptQlNQX0xiQjA8SFdGQGBCS1hpeSZ4c3dacUomcChRX356
X3dsSDE0c1RJOHdgV3NYQHV0STxGalpsTUcKej0jTXFTd3dRWj1HRi1yezNjY0lWQEVmM3R2V2cw
QjtoUE5eMXB8bHFqQnBJb0w4eTNzTmApfUtHJlNYaG5nWTNmCnpzbjRhcFlfTV5ZPmpWbDlgTW55
V0ctI3hZU2ghSFEwSGstMjIlSjhSYSEwYWxEX296e2h5dDNSO05ZZShJeCpLIQp6UyVRdzJtdjxZ
VUBCYVAhdkUpYS0mRjE8WWx2SU1fZGNxNXcxODV8aWZuWHhHPzl0MGdPaXojREhGPCpDPD9RVD8K
ejtsJEU4dzFtKHo0bEklY05EcylzdEZaeTlnNlk0Nyo7eXd7OXFncj8mUjRgVFNqNGh+a3VvdGZX
YmoqcytBa3J0CnpIdjE5d1M1UiFDSyViS1ZjPjJnclJMd2heQGdBRWUwOz8rZzg1cWRPbzw+RjB4
d1F2fWdhfDtHclF0UUVYMWszawp6WUReV0ZuQF87bnlYb0o1QEZsWTJmKUk2YXJzMHR2QVZ1QTwm
MnZRPSpuME5eSFV+QDQrKEFsb2JMLTF6bF88TFYKeldTSWk3P19vJUwhMX45d0VTI0J3VTxzbkZx
T01OR3p6YER8eG5fRjQybzM7M3UkNWxCJFJVLT1DMm1rWjRoamFKCnpLLTdrMCtkYkdBSFFuNzJs
fn0/PTlAP3Y/SDRnWl5MZSFDbTJieH5NKHRUYHcqcWZiUVUwcGFneyFeI00xMEs5ZAp6T1dRfDYw
PkNyPjt8RyojajB0Kzd4Uy1zfCN+V0UlUDlhSk4hNHtKJFAta1UxaShXME5HPF5GKCErSF5Sejg0
djYKeitQPmRQbmtiWXMyUDlofTUjVkVHTzshK0ZGPkZheD5PSFFDdSZhenJIUjRZdzU/NUZiOHFt
UEdoVnUlJTZ4I2UkCnokIVlRa2ojR3JyfEM7OSZSYU5fdVN7ZXhPKEJjLTtPR1Z9cyEmTztlR1lx
NEhxYjVhIWhpfV9ANG9tSG17dHFuRAp6YXtZfHk7cERWdE5kbXNPIT85P1pfV1BrM0JCaXN2Jit3
SytCTDVURT02P31ZMTs0JmhmTj5YUz9ednZtUU4/fEgKemVSb1NkMWNiLVgjN2c2YlpEQCg7PW5e
aipkVkFORU1nZlV0Sk1idEJKZTMzOEhTazlnK1A7SW1KKVZrRDNvaS1YCnpjSTJkenFUKzBtRUdH
dUAqRjgyeUohPGA1Pm1nciM9QEtDdC1POypOXmVVOFcwbjR1QTBuJEtjXmJRPWppMmtCJgp6ez1g
ZEQtQmJxLTk1e0g4QUlsaHcyeDc+PFVwISVDWXojMlZnO1hraEU0QHAjNWQhclU3NUNGa1M4KV9w
byRyUmYKelctVV94TWNlOSRgK180SipqNEpoVF4wPT87YEMjOHdnV3k7TT13NDteIXBoUFc3KEc3
YDl9fWxKPTx7YmBnO3BKCnpJez82Z2sjQ3tudyVgeWNQUjtRe2VyWj59MU1BUWFGZEB8SFdgQSNx
dWMmMnNBY3VnMkckSSskP0E+JloyMUxTMAp6RGxhJHNUSUxOUVAtfW5NZjBfRSZ4I3xRRkEwTEwx
UFJ6WjRHUUglYFEmaFlPd2NqX2swO1NUcG1SZHBAbld9WUYKelhrSClneygmR0tqSE8rU2MjY1Uh
S2F3TnVmMD5+V0ZtR2QlYyZOJChaXitjaml0LVZUZyVoZ09tNV9mVU1kPVBCCnpTRD44NGNqVStt
dl9pO1dufFJtKldIeEdUdypNTCFgT3AjYS13ZFc7Slg3KD83NT17cnJAVEF5QHdBd1F1RUYwJgp6
S29EUT92Z0Ute3lKUGNEbiRHcD09Y2gyWDRvVEFtRFJNKnRyNU47cCEycUZmR045Q2ghXjVwak98
ZSZnPXh3Z0gKelZAP21OMDFtT0IhKnx1eTdzPCZKX3FMUFpnSis+KVZYRTtIaDd1fFIwfE95OFh6
Uz4+QX0pWCM4MD5pOCpwMFAkCnoxPCo7PGQ0LXBYaVdJRn5VNCtuVGJBa2VgaDNeMFYoO3RFQCUq
PWt3JnF0aGJ4U14mLW07KGdRTHw2cCtRPFdqUQp6SilPQXc4YytmPk5MPV8yOWZOUV5BTUItN0xw
JVlUNDdMZkp0RlRuZ3xGZnF2MWhDVSZoeCp+N0Fxb0ZxcFpzN08KemhMdU0yQkljaFRPVGE5ezVg
PnZBeVV7Tzc2bVdhfmpRMEVmIUB+cGB7Tlg7N3RjPWpFeyh3WFZZMVhRKjVIUng4CnowVXVaYD1O
Wkg/eEZkWld6VFljbW1meEJEUF9lNWpEKDlfUmE8Z0RkVWJLR3VFO0Y7WXctQFlWb0VSanVvZHQy
OQp6VCVlZyU4KXljSyV5PnZoX344KGxjJWFVRl9PX041TUVaPFBPcXZ9NE1leCg8MzdvSyp6VjhL
WWtBUlRaeF87Q1AKem1mUERDQTFQSUclPjlsWDN6QzdgMEUxRTI0SDNvUGFmI1dvUHc4ZTJgWCht
cmpnOUFzUGpQVWx1Pnwye2ZjP0Q0CnpGYklSRGx2Oyt6MDB+KDIwRzY9ZSthU2VfMnFHfjE9RFYp
RWxSb35lVypBPTNPYUdsMWFUJVZBalhqRlRkMD0hYAp6RX1TcHYjZnhpNTYlZXs5JXJ3RjVHejMp
c0ZePG9Fei1QZ3BPR0c1eyQ+aXtHeWNtWTslUkJKRTZvZ0QmRyZIRG4KellqRl5gVX0je2grSW9E
bncpWGF9dmpiYiFKTm8qZiRzfGJHNDB0RmN4aHE8eDQqZU9VVXIyU3B7clllJHkyTGM9CnotKUZ9
bWY/Xk59Q1hrdHhSZCR3UFV0Z24jUVV7PVVPVW5ofjN9YDktJjVxYGNKN0o8QCVxSTh1TG5kJmcr
IVVVYgp6dygoPGN7QSotQUlOSDZAQzVqTTFVeXRXKURVNmVpSSZHbG1fZDl4UylsTk8xXjRENFZA
VFZ8RGlOO0RYc3taflQKek0kKU5DPXRQe0paV3VsJER8MUAkQn55bVROaiU8UFFsaTZnKHU8RmU0
e0ZKTjMyQFRpc2NaJmFIcWg2PEM5bk15CnpuWkdzVkd5VF48SU89M25EJVpNTTYhZmw7NFZWZkNC
blZTZj4rN3ZNKEheNlZzVUBUS2JUNXpIVipnVklCYlB1ZQp6MUpJTH5DTENrT3RtfTV4cWVzaUNz
PzR4QkVWaEdaQXImcURHaj9mYktIXyVSV35WVX1eIUtFKiphanctZT1SUjMKemlhVHAobkpPV1dw
YE4wI3BPJl5KISRCVkY5U19pOUApOHNsZSZGUmJ3c3x4eUM0fiktRTVJQkUkMnk8XzxvV0BPCnpk
U05sSXpTI0pFVjk+JFJ4SlFJZ1o7PmBnRko3KG9xUWZ6ckNIK0pGP2NEcjQhOWp0QExgVl5WQkxY
Wj1eX1BlPAp6TEp+VSQyblo1fk5NKGBwVilkNlZSP3N2UjYhZFVCczIoNkd6bylHNmdzVWxkKzxm
V2J3Vn5XWWh6WFBLLWFROUAKelpoanV7OWdeNTYpK2hYKUM0MmA2MjBUd00tYCkmIzR3KFNGQW5r
dWRsblI3UTBxUHJNOCVXTnsqMV8reHYhRDM7CnpiRiM4ZF5jRCFYZUpVK0k9UnVmLWYtVmhQMHxS
Z2lpO0tFPUAoa1d5X3s8cX1wMUMxXkAkYWBiWFROXkxAan5MUwp6Xms9fX1iLUUoK0U4I3ZvcnZl
WStMQnNTPEVoa0pnIUUtdnFYV0Q/RC1NK09IPCZLST88M2s2UCZqbmsrJHVLI2wKejBCTk4yPjx+
MTdvUUM4ZjFoeXU8aHZDdURWdnh9KTQ4OHU7enx0fj9eTl5zMEQyZk9kUCRaPFN1Q0NReSROblBa
CnpzKlApemFlYV5BdjE5cDF2Q3MoN3N9XmtyZDd6MWZOQFlzUSZINj1OWndWVT0hUURPazsrTX1B
VUVMQH1XPkQzSAp6d2pVNkxwfHRoKHBLb2MtUzBoTlRJMHtWQ3d6ezJXVztSNitrUFQpLTtzc1F1
Y35kbWZrTnQxeXQtNkFgakA4KGgKejRNSHkwTDAmLU5afFNlfm9FNV9RYkEkdklVeSpDSCgkQj1z
UEJTQTRuQXg7T0Q9THAwdDF0NTk9VEwqUVJ7TT5CCnpWdChKcGdnQzE7JiUrRXZNV2xNUUtYPE9g
S2FLd0xUfHY+Q3Qrb14xPz07P1RAemRXV0g3UmRITkNQRTVDcXNBSwp6QXRTblhNNkFJfWh2TkQt
YzE1PUdsZjFqcmRjTkpFUDNJXnA+MmBeK3REdl5+QDs7Y0c9ITU5cD9MPWdEYD9uSCgKeitEMXVx
UnR9aSpLWSNocE1mbEgzX3xHbyombzIxU0Y4Q2taMSE5WE97RHgmVDUzSkQwaCVRTjl6S3x3eT9j
VjxmCkRtdkVpWAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNl
ZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDE5ZTNkMGZiZTdiZWEzMTNjOWUxY2JkZGZmMGFkMmM2NGYwZmUzMDcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDI0OAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MjQ4Ci0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjI0Ci0gICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHg1NAotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzV4NTMKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA3NzU6ICJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRlY29tcG9z
ZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQga2F0YWth
bmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDE4KSB3aWR0aCA3MjQ6ICJzYW1lIGFzIHRoZSBwcmVjb21wb3NlZCB2ZXJzaW9uLiBUaGlzIHRl
c3QgaXMgYSBwaXhlbC10ZXN0LCBhbmQgcGFzc2VzIHdoZW4gdGhlIHRleHQgaW4gdGhlIHR3byBo
ZWFkaW5nIGVsZW1lbnRzIGFyZSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGgg
NTc6ICJpZGVudGljYWwuIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAoMCw3Mykgc2l6ZSA3
ODR4MjgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTc1eDI2Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTc1OiAiXHh7MzBDRn1ceHszMDk5fVx4
ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwQ0Z9XHh7MzA5QX1ceHszMENBfVx4ezMwREV9Igot
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTkKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE3Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIGRlY29tcG9zZWQiCi0gICAgICBSZW5k
ZXJCbG9jayB7SDJ9IGF0ICgwLDE1OCkgc2l6ZSA3ODR4MjgKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTc1eDI2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTc1OiAiXHh7MzBEMH1ceHszMENBfVx4ezMwQ0F9XHh7MzA2OH1ceHszMEQxfVx4ezMw
Q0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjA1KSBzaXplIDc4NHgx
OQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjl4MTcKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjk6ICJUaGUgYWJvdmUgaXMgcHJlY29tcG9z
ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9lbmNvZGluZy9k
ZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5l
c2UtY2hhcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGEz
NWE0MmUwZTUwZWNmZWI2NzIzYWVhMjAzZDBjNjU3M2FlZjYxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHgyNjQKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI2NAot
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI0MAotICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NjAKLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzY2eDU5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNzY2OiAiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNv
ZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJh
Y3RlcnMgYXJlIHJlbmRlcmVkIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3
NjM6ICJ0aGUgc2FtZSBhcyB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEg
cGl4ZWwtdGVzdCwgYW5kIHBhc3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBl
bGVtZW50cyBhcmUiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDApIHdpZHRoIDYwOiAiaWRl
bnRpY2FsLiIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNzkpIHNpemUgNzg0eDMxCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2OHgyOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDE2ODogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENBfVx4
ezMwQ0F9XHh7MzA2OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwxMjkpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2NngxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDE2NjogIlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxvY2sg
e0gyfSBhdCAoMCwxNjkpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwxKSBzaXplIDE2OHgyOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDE2
ODogIlx4ezMwRDB9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4ezMw
REV9IgotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDIxOSkgc2l6ZSA3ODR4MjEKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTcyeDE5Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTcyOiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNw
YW4tZGlyZWN0aW9uLXJ0bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
Ymlnc3VyL3N2Zy9XM0MtSTE4Ti90c3Bhbi1kaXJlY3Rpb24tcnRsLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MzQyZWQxYzYyYWU0ZWNhOWUzNDExZTY2MTBmNTk4Y2U1NWExN2JkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4v
dHNwYW4tZGlyZWN0aW9uLXJ0bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMywyMjIp
IHNpemUgNjUxeDE0MworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkyLDEzMykgc2l6
ZSAyNzZ4MjEgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDE5MSwwKSBzaXplIDg1eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxl
IGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjgzLjY1LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMTQgd2lkdGggODQuMTUgUlRMOiAiXHh7NjQ2fVx4ezYzNH1ceHs2Mjd9XHh7NjM3fSBc
eHs2Mjd9XHh7NjQ0fVx4ezYyQX1ceHs2MkZ9XHh7NjQ4fVx4ezY0QX1ceHs2NDR9IFwiIgorICAg
ICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgxeDIxCisgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDE4MXgyMQorICAg
ICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTAzLjYwLDE1
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgOCB3aWR0aCA0NC45OCBSVEw6ICIsIFx4ezYy
N31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfSIKKyAgICAgICAgICAgIGNodW5r
IDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE0OC41OCwxNTAuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDEzNS4wNzogImRpclJUTCB1YkVtYmVkIgorICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMngyMQorICAgICAg
ICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDkyLjIxLDE1MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCAxMS4zOSBSVEw6ICJcIiEiCisgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDg3eDEzIGNvbnRhaW5zIDEgY2h1
bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
ODd4MTIKKyAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE4MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMTggd2lkdGggODYuMTg6ICJSZWZlcmVuY2UgZ3JhcGhpYzoi
CisgICAgICBSZW5kZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICgxMDAsMzAwKSBzaXplIDU4NHg2NQor
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE2LDU1Nykgc2l6ZSA3M3gxMgorICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMzNCkgc2l6ZSA0NHg4IGNvbnRhaW5zIDEgY2h1
bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
NDR4NworICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0aCA0My4wMzogIiRSZXZpc2lvbjogMS43ICQiCisg
ICAgUmVuZGVyU1ZHUmVjdCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4
LjAwXSBbaGVpZ2h0PTM1OC4wMF0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDAp
IHNpemUgODAweDM4CisgICAgICBSZW5kZXJTVkdSZWN0IHtyZWN0fSBhdCAoMCwwKSBzaXplIDgw
MHgzNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4LjAw
XSBbaGVpZ2h0PTIwLjAwXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwNiwwKSBz
aXplIDY4eDIzIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjh4MjMKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyMDYuNDYsMTguMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDUgd2lkdGggNjcuMDk6ICJEUkFGVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1iaWdzdXIvc3ZnL3RleHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTI1YWQyZDg2ZmE0MmM1YzQ4ZDE4MDBhZWJlZjI2N2Q0MTViYWU5Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL3Rl
eHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDE1Mywy
MjIpIHNpemUgNDYweDg1CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTUzLDIyMikg
c2l6ZSA0NjB4ODUKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg5MiwxMzMpIHNpemUg
Mjc2eDIxIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMjc2eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFu
Y2hvcikgdGV4dCBydW4gMSBhdCAoOTIuMjEsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCAxMCB3aWR0aCA1Ni4zNyBSVEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2
Mjd9XHh7NjMxfVwiISIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1
biAxIGF0ICgxNDguNTgsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCAx
MzUuMDc6ICJkaXJSVEwgdWJFbWJlZCIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9y
KSB0ZXh0IHJ1biAxIGF0ICgyODMuNjUsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
NCB3aWR0aCA4NC4xNSBSVEw6ICJceHs2NDZ9XHh7NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31c
eHs2NDR9XHh7NjJBfVx4ezYyRn1ceHs2NDh9XHh7NjRBfVx4ezY0NH0gXCIiCisgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoOTIsMTYzKSBzaXplIDI3NngyMSBjb250YWlucyAxIGNodW5r
KHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTkxLDApIHNpemUg
ODV4MjEKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgy
ODMuNjUsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4NC4xNSBSVEw6
ICJceHs2NDZ9XHh7NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31ceHs2NDR9XHh7NjJBfVx4ezYy
Rn1ceHs2NDh9XHh7NjRBfVx4ezY0NH0gXCIiCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bh
bn0gYXQgKDAsMCkgc2l6ZSAxODF4MjEKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDExLDApIHNpemUgMTgxeDIxCisgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxMDMuNjAsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCA4IHdpZHRoIDQ0Ljk4IFJUTDogIiwgXHh7NjI3fVx4ezYyRX1ceHs2MkF9XHh7NjI4fVx4
ezYyN31ceHs2MzF9IgorICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoMTQ4LjU4LDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGgg
MTM1LjA3OiAiZGlyUlRMIHViRW1iZWQiCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDEyeDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hv
cikgdGV4dCBydW4gMSBhdCAoOTIuMjEsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAy
IHdpZHRoIDExLjM5IFJUTDogIlwiISIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhw
ZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3Jt
YWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGEzODZmMzZmNWFjYzU1YjhiYWZkY2ZiOWY5MjI2MzMwZDc5Njk5N2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMzMyNjMKemNtZUZaUzZ0S0UpLWBPZTZh
fHFFcUVlKUhxQHpmMEFgKXNxZEkjeC1ZTjFGTWtxJHZSNStLcSRZXjRkSV9acDs9CnomP0ZGZ2BC
cHE8cFd9WXMtKkB4Z3lmQEY0NyF2Kn50SVJwKG19OUp2cnxKc0MqSiFTdElkZ19zTiU2X0VHaVQx
PAp6SWRrVG0/ditkNmxfWmIxRlRwPCMrfmpvSyUmYVpVPnxFVSkmaFUleW5GQClUQD4+WHMzWXJP
KzNSKmxnPHJtYFAKej1pP1JPNipVeldHM1BnVkRSPF9LJW8oTDhrRGs5ZXlQQTQyZm5JSz5sQX11
ZTgmbE9LUGgkOF8pVnRjSWt9OXQ1CnorMXV2UEZLVH5xdU5RcXx4XlJgYCt0aiZsWiVid1RAcmJD
Sig8RjZJX3VXKSl0TSQlMHlvM09CM2hJcz5HI0soLQp6YW5uT0tpQGtleT1FOXZiWFJwWWRJZHxo
Vl9fNm93aDFUV1Fme04kPF8yMGpMXlpNVEZ2eWJIblp9fElfR1opMGQKeiZzPFVyUEdAMkkmeGUy
aT90Rm1RZjhSclJ5QnBQNnE3TmpwWUw5PEU7Nkp+K2JqQUpPJjswakclZT8yUD8kOEclCnoxXm4/
MEBGVVI7Pl5+bFJyYE9+SHVaJFJ4KEE3dShfJmwrWWpOajN3ZmBEb0JkJkIlYHpyKGApcFlLUnJI
WSV8Wgp6ODlxYVpVN3A0eFE+cCM9N19aRXdSPWM8Y3l7cDBraDAtVGBPP0E2eVpAdT1OSi1hVDtm
bGpPUHVeTiNLN2VScWoKej9RTDM3bW48MGVPS3hZTFdAaTJxNHZHcHI3XmhZUHZmJl9xfDlFIz0x
djkzN299ISpNeHVwPy1gLXFsdiYoJio4Cnp3NlVhKlJUckNMVXl7UWtMT0goKyRJRUVlSkRPdiky
ZTYlOSYjaG5FbXYjd1Q0KG5NN2lMYUgjajlJMW1zdj9jKgp6Skt0WEN3JSFASDwwJjFwT2luQ3Jy
OW4tNHRyUll6eSpHcGcpV3Iqe0YqKFVEZFRfcjNqT0E5Qk5LZ0hBczdTez0KemZ9d3QrQHpoVVhL
dmZfeWpKcVplekZoNWBsPGZxMCtvaWZ2SzRLKW1mdmhWKnhhISZMJmZDI3slaEJ0eFJhaSM5Cnp1
andsfCgmPH4xS0haUDxNb01qVTNna0ZWSCFPfUFgeGxiY15WJHBHYmFRO2JlMyVLRzkmTCM/PHYo
cmJydXAxaQp6VFRGZGElZl9BU3AqZHdVPnx+andyO3JfXlVmQlVsSmtYWTdGaUJTVW9NJEEkem1S
WF4/amd4OEQ4cktTXjZ9UjkKej5wVGhtJDFCRSpvZFB8QWJLd0chZFMoJHFvcUFUTzdEV3ZRd3l0
Z1RvKFhBdzJrcD5nci11Q3VQRXloTjg/Ri0kCnptMnlxeVE9ZzYkNy0wOFRBUShHKiQ1VyMpb1ZJ
PypvdUIhTEJISzdVJWZ6M2AkN28pc3dJUHZEdkR1b2g4dFpLPQp6K0lMNDU2Umo5WkpKPUJrI2Nk
MXwjPFAyQFp6NWw0Wkl0UmlTRU50KGp3WjJLN3ZWVXk9IWExRyMqVnw1UWx+Ql8KelBrQnlIKXRf
IyFKN24zKEdvVV9nNUQ5ZD9rVUNodFNHd0o9QkVtMXUjZjxwPGw/fD52bWFfPU9zKGJxakcpKSZK
Cnoqc2lJdXZlYXRzYl9eb3J2JGdOJWEqb147b3g9TU8qMHVxYU1HPmNDSEluKUd5IWk7IVF6JUIy
VXkxdmtXV2hsYQp6YjhjJmZtbStUUiltKCZDUEooR0BwQ2hYaHxHMUY8alF7Q2orTCVNLVJBKDRa
ISFsMi1TUD1oOD48bEAzTT85JHgKektKU3VUY3ppdE5WdkYlc1RSfm15Jn5EfGwtPElobHA5K05Q
JldoaHkqPCg+VEtYO34lMitfcF4lVyVHSDI8enlvCno5Q1RFeW4meCtXXkJTOGx0akFVcFpuYFYz
eXFpRCord0hnTDNxTS1RUElXKS01fTZrQ2t+JSYjMFc7WnRaTWV1VAp6cVQ0Sk03a2hKZFlmJktE
azh5d0hCIVQ7JEtlUjJRJTRDJU5MXm55IUJAYFdAejFOMSokdWk/filNVXRTRStpOTkKemJzVmVG
KzdTXmJSMmc9UEE3UEAwakk1fSZwKlVTVGxgQjt4NzwyT2NfRnJsYmQ/QXgrOW0rTXsoUzA2T3BU
ZDV5Cnp8MWl+XigqUX1FWmskK0YodClzLXY8LS1+cCpHOXIkP0JtcmROczQxRXhiaFl3KjBTaSo5
VkppNDNSWilKWEpyPgp6MzRsWUl5bjx7KmNScmo4VSk8YEVfR35IQGU2cTQkeVd1Z2pRTWFZTzFy
eys4WT04OVIlTyt5XkJeJUhFaDReR2QKelFCOC0+LWJ9RkwkJldxLU1oQ3lXbmFpIy1mc3shbU8r
a3NeJGFkZzZJbT56PFNNISZlaGw1Uy1AYlJQZUwram88CnowJVBWZWlRcFUjYkMmJEw+b31UN2BZ
RTFnWVVKVVhnbTM3KSpGTGlHcV4yKWtUYCRYakE3JEtXPS1SZExZT3FPeAp6LXxScVl2emRIeEE+
UDt7OyppIzx0fW4mOG03MlQkdURhZkNTYnUyb0NUdiYxN2NWJnpLO0Y0TXB5NEVTeEdKelUKej5E
clRjbF9sWT8+N3dMUEViMmpTJUIqPylAeT4qMDRKSnE2R05hRXxQNU1gLSRHY3N6SSEyZ1JUJFBo
OWl3UzB0CnomY3llSU90TzgpWkV+d2tjclA9JmBwbDhXQnBYRUtvWiM5bThxczxjKEgkPG5VYlI/
KTt1YikwKkFAJjIjbGc/Ygp6NDtAaz0/Z3xTajQhaWI5P21tUiMzKyY1PkFuUCNrKXZyeWVyemdp
PG57QTl2YTM3cGZFOzhzJEh5R0pzKW0pQDIKekJkT3IwWFQoaGZSemlAZEZxfWJfSHxNbFQxQjM2
alc7fi1MWk0+bU5oJlFxaCpURz8jODZvVmxiZFVqT1JsITNTCnpndTRVPnMjKmhhMT95SnpJe2lK
bWtQfFopPVBkUSZ3P2l9QndrcDspa01VTSlJdWBUakdXfnBKalQhYXJWITt2fAp6Nn5+LUooWCpV
OUFLOHxuU0ZnWmdMNX5ONW5JIzJhOD0zcSlgYkx4ZDdHeCtiJHNYJGpqZzF+fSglayl9QSZwflUK
eiVYJFF9QHErdHVkVGBEMyppMkohWkR4PUhQak5HdVdwVEBHKVBqREg4aVAoNkA+Yz83Z3txaH5S
eWByLTIhdnIrCnpqcnA7TUIjMnx4X0R5Ql5TejBWVEZ0SCNURmFPb1Y9THZOTysxQGJCcHV0R1Z4
UHFQYDleR3pCeHsjZldDeTZfOwp6KEdpazlOYlR2ciQwZWVIdGxQOGJzTENeMXNgdCp2WDRLdXZy
ZFNqfilWV0RScUh1MSszJlUlYjVHIVZATXh5KE4Kejg7JDshRFBTdXw+RGdxKmxHI3oraGhXVVZX
WENENWxJQzh3VzFWREhwbSU/NmRWTUk+SyF2bHw/OHdlVlUxR0RqCnpgRWchcUZ2Q1JDI314bVF7
cT5LPlhIX2FqT35hWldZcGp5R3h5KGxedXowTDEtUURMKU9iPnJydkZsV34qJjQjLQp6PDd3TzBf
ZUYpSklEKiFiMGl+bkxDPlBtWVBNcTU7JXhnJGZWUzMrbCR+fUgtI2g4PClUKmx3NDl+T3FPcXdO
WXcKejlmKi1RLVg3ckkwaHVPc0dAVV54K0Q1T08pOyZ3Um5UMmJqbl5mNjh2bGp7KDg8K1BoMFYk
P3Q+I2lPd2gxc2dHCnpke313KT45P2VtdiokMH1TNjFvZktLRyVaViUjPV8tWWlYR0A4YFBeZGFK
Wm01TnR6KUA/JHt3ZFJRRFdGa2lSVAp6P1RVWm8tcE82XnA7S2IzbGUtUVpNaHtPSU8qZF8pYk0y
ZyZyXnRAaURVI2F7RHxXdGBkbEhobXlgI1NBQFVBRC0KejRgajB0aHBlaWBIYiNHbTspcnpmY0lO
bV9Va0pxKXFsUXIwZnFKJi1QKTBGM01kcGZWP2JgY3I1Mis7YXNQPlc9CnpfPntNNDN4JHJgZjwx
OXBHeHk2NmB5fFNaaHxyRipfZn4zUyh2b3R4VGIrSmMmaEZnd0FgKCU+WXw4Z2k3MjNOdgp6PUJS
WDkhZVd1QCFSaXxoJDVQQTN3aD8qdmNjaj84aEUxS3JJX301aWRacVI4cnMzTXFPKlNXYl9ebmg9
YlZ2aFkKek8oQU4yKUdXJXFveExDZG82NzlDVzxubTgrLT01YnVTdTs0aUxKQH1SWHA5OXojVTNe
UWI3P3xEM1kyWEw3Qn1WCnpESTM0NSVDMWBBKlY2d2J4MlI/Tk5fOHQ3UVEpP1B7PkY1RUFGLSg1
dk5heEpHWTBjb1h5SVd1WW1YWFFAdUZKNQp6Sm9eTEBMeUQyMlJGO2FwWlZoTlZQcHJeTEhDUDx1
TT8/cnxKPCtBKEwwNkpwayZYUn4qcW1aaClncyo2KFR1YGwKenNicVljUz1IRVhwPD5jUyNrMkVw
c2RoelpzcmZNPHNwUiZEIXhIaG5DKjstMGdgXzthYHZXTSYrO2tvWHRYbEVLCnpJWSVYcEY2fS1f
KCt3UHNWandyJXUpUHRhSmdFTWA8MjkoSms8VVlhKWc+K3NXQjFDak9CSD4oazM/Z2A3V1Y/VQp6
eGo1PXJ7U1crJV4hYkVzNjB2SmZIUjNucXAzKXFZdFUqO0Y7aVpjdGRRSUkhYV8jK0ppfDlRQHpo
ITVgeHFUTyYKekB9ISp7OzgmS3MmSzEwdyNqZnA0STV8Q1V0VSFDJjxwIzB6PzVzfnM9JGJYem0k
YjdLSDd0aV5JJFRKb00wPXIqCnple1lmRUJafWg5QGI4KDZqKTRuVlhnWXI+T2piK3sxQ0s4PSNt
MUxoYDFvZXUxPnglTChzNzBjeHRjWnt7YkppOwp6PCVGWlMyO0lRUVNRfj9Qcn5USiZtKTFSMGhy
d29DTDh+O1JMX002bnZmSmAtaDVsMnd6aD5nPyZGenspdnVGdiUKenFHYypHJX0/QFRRTntkYCZS
cCElWlZaRlRuT0VeSDJWQyMjcWU5ezN4fDEzRkFxIXZOUilWUC17X3RIIyl2Y2NWCnpHfmFgNXVx
UkZyciUhOTlefEdAQU87PnwmP2xObWxqeUpLfjkkNyokbndmLWtlNzJxMXc4MTllbGNAKDwrVkM1
SAp6QHRkcUQ8K0FseTN9fXhSVGxGdW9BXz8wPGYyM28xPTNtPUZOU1M0WWVzeWFwTl8jN0ZJPUlk
d0JPVmlfPWhaU3gKejhTQVdCVSh+XnRxb1MhVjZAfCY8O3FqTTVHUEpuaW9oTXY1PkUzRTx6ZT9i
dl8hSzFhRCVibUAhUlc4Y2JUNDFpCnotcDtzRzlFNUllSnZAQkhGRFNeTSZ0b01AS2NaKHZVd0tY
XlQ5djBzal83MHplTVYkUHZ9KWN3WHZ0KWYqTzw/QAp6RUhyfVVTK0lJZChFN0w/KHB8UD1rZTtx
NHFifFQ/ZmZUUWo3SlJAeT4zNnVjUkQ7Qy1CPHp3X3tjVlRsWT5WPTAKekoqR21jPFQ2IXZKS0pY
c0d+TVhIaHtjMmdEbDJEZy17X2Z7UjdNRWZvTmo5Z2omQE8kWllUU3BVbG57USVacH1NCnp5WndY
RE1Ea0RGK3U4Qmo4KW9+cGklRTdGX0M1e3liT1clc2JVZXVKQlRvVyQmM1k3VzhXU15wc1dpMGZ4
V0dXfAp6azNjcm1SSWtecGdhPCojalgzVV5KPzN0R3h+cEF1eiZpX0ZyTXx2cHtIZCkjPzkoRDxW
NlpzNmpASmgrLUl9M0YKelc1UXImS3t1emJHNDtJME1lMkM7a1pxXm4hRChAb1FOdDJ0b0QhITc0
MWYxX1RXKyt9S15Aaj5rNns/NS17XktjCnpjJnZNM1pvUW5rSFBVI1pKdi1UVVlhI303QjxET302
S28ka1RYVyYkTmF2UHRvTysrUXY/fVpOKHlgQGoldzZoaAp6YjVWUjEqUi02KGlZNE92YFd7JUh3
IW9EYlRiQzQ7T3BlKT1iQ3NjcDQyMz57a0xuXkRkUnpOalpUYjVUYGtQU3IKendsWDhSJjF7VnlR
YSptNlNvaTJ2X0x7LTE2SyVOYylXREw3Qnp5blI3R2lodzxAdjE4eVIyekdDQTlCfnMhOD0lCnpq
T3YrXi1iRjcrQEpfZ3xIS2VyTGNEZTgrOHAoXm5UZE9jfk1wMG9IRXFPM01NSnFJI0c7QFY4ZiVM
RWlXK0dPOQp6QlhzfGFuYDdgfCl2PCEkXmRwS196a1lzbWN1VWRGVWI3THtHUD1pbXZXTGt7dDZ7
antPRl9LZz9OMnp2NFIxJSsKemIqLSp3ZlVMd180ZUYwQj5LaCg7ZmZAfjZuaF58WE1VRFh7IWU+
dDxgc2ktPndud01tZ0AqUXsqaGgzdkxQeU9wCnpnRm8hbldgMUpANztNekpqbEspK3k+N0dtXnJf
V1hUWlNZPCQmIStleVQ+SD94Zy1taXFMcWtHQG9nRWxIMiokdwp6UkcwbWMlZjluWDclQ3x7Rihq
R0pPbnVtYmwxVHx4UExxek9Ibzhzc1diaWVGcjxnYCFIZT1ycTg7JDNfSnJkazUKejRoYjx9d29m
cHNjVzIjNioyX31hPEwwP0cwZUFjRWxYRVBHSXJzJW1TYTFrRURyZTRPSzlEQ2ZjdUJ1VTszS3t1
CnpkLV97SHBOMkhqfDViclBsemE8TXspbzFGU1JqdXdOMmt7RT9nRTdvM2ZJPShlYSNySi14VH5K
UiRHU2x3az4lQgp6KU1Lbmc/WlV2Tnorel52PDZmP01eWVNBa2l4QDJUcyRrTTVMT2xKb2RFXlk0
QEdWc0dwXj18VV81MTZYbSgtdFkKemdeQ2JSaDRoOGVBdCpZIz8rdT1FdSs1bnhKfDNyJjI1SSYq
ez1JRHFESjBvIyFZVHteY3haQkAqPnQmS1p9eGhvCnooeVNnZzNyRmkxc2dSYU5seE5aeitxTklJ
T205eH55KDJ4MiRefDNfT1BfcipHT0JMSD1gXiF3Y247MFRTTUJgYgp6PlgoZSRrZUNgVkBeK30/
T1dSPy09NndzJShaTGJzUndITVRMfUtpUVIpb1BnXkspKjN0VCZRQDwxKkQ7XnU1KF8KekM5T1Ep
U3lyQElWcXF2dUh8NDJFPThAZEs3VX0ya20tUmlYUklwNFlKdjJvTmV4QFcrZGxxc3ZTc2o2e2lQ
PXJvCnpsY3prTCZ9T21zP3BJbkdOe2QkLTM2N0FBa3kxcSREfm8tK2RFSG9edzVKPl5ATnVed2R5
OFUjaGFSJHxqYU5pagp6WWFDXkdMQTU8TmVLaHFrS0tyaTVNa2YqKlI0VT47PmFpPWFMXnApQyVj
PGlhWSNsQm9hbz9HQVgjQ1JjJj1eQW0KejxqV0BPPjAwSVZ4K0E5VG5IamVIS3I+RURyPDVrPXR0
RCU5WkJSYnNZNHE3bD9lTWFhRDlDSlJKQ1ZoWTRBUnNGCnpIfHlvNyo1YEpyc2YoQWEtRVg+WXFG
UWp9R2VOWUFTZ3JkeShsbjsmPW9FbUYrWHtiV1VSTDlkcW9sbUU3dkY4NQp6WU9MNGsodmpPZ2Em
KDI1PnpTRSRPX3MmUV9KPlhmZXc+N3VXPzA8K1B7VmlPTGt1X2VCKnI4XntTbHVZVXBHeHIKekNm
fHw/UFpUOFNZZlFBPTtmP3BRcXEteTIkZCYkPC1Bfkkmbz1LIyRzZiRkYk5+VnJSYSsrU1MxXnJL
clJKMkhpCnpTQShIT052enFNc35aaTZNRktlNClFMj9jREVQJDdPbVBlKlpEe0EwZ0dQMUd7PyVq
YmBZYFRpUVlxUGJBR3VsSAp6OT1weTBzPHk3QV9uN3hvJkxhUHBvQ0hOe0VrRXdhVFdmKlI2fkBf
LWIjc3ZxKCNsc1B3P0kxcC0zPik2VHE3VHoKel9AJjFZTzNNK1czJiZ5UUkzdUBKWWUjRH1PPU01
UkcpOChkaj5aQkY0MHtsWiZLUD0xem8rYj52fVJoamJaV2VRCnokMV9RSGc+YW1vSyR6UUF8SnRK
c2QtVFEmQEJXYTVZREkrfT9ZMj5ZRk5laGsrTW0+OFlqVUNfaWd6QEIybnxjYwp6Yll0QU07Nmox
Syg0bkt9ekt7VmdpazJ1c24mU1FsbTVhfFBkbU15ampFZil0VWhNVGUzbFhvaytiNGB3NXZ9RisK
ekhFbTMpalRLJntEc0p7RyowNWpyKHQ8fStTaTkzN3pHVChjZCRITDxzajtmVTJtQVR2R0ZmZXVm
Kz1oRTJuNUAhCnp0ZCRodSNMN142PXQxWVgmYVVmbXt0MENkTiRwRG5iam9MfERgZF5aVmBRfT9K
dFAoTmJOajAjUlc8KHJ6aXNGIwp6cloxRnBJTFZFX3lkIWN1b30obEZgI2RKb28zREImLVEhPzxi
Mzl9IWZ1cFkpYSYtWDlRZTNDI3hjdDN0WShYNSMKemZhfn1zXilNdldLR2otQ1YzU1ZGJkR5ayR1
Nz1gYyo/fGZoM2V3My15K3BifW5WbyRGO0dVVj9ETmtlNS00TGFNCnpNQGhQN3lraj1Hc2d1X3I2
O189V0JpY0xXM2Y+UkRRZF5CR0dmK308WmBuQmBpbXRLcHVLcDxIZHZNPzUrbloqUgp6XktLKk12
ak0pSiQhYUJ2NEtBVytnNFpXXmhOfiRvJVdVSlE7OWw0LWs/fk5PWiRtMldGPTUlMTlLUiMkKGRu
bnQKempZZUY/KDlHKH4oKXB8eWIhOElpcW5ESygoVUFIUUdjUzZwTGtyWWBhWmQqMVowVkxSKl80
SmZMWjc8OHNHJmJrCnphYVh0RGx0O25BKjhePEdWOXR0cT5tSG8+NztfTCphend4fVVlfHBTKkt3
RVF3M3dmM1J5NjczJlNPPExIVmZqWQp6TVBHKXhJRClsfXFsMlElWm1RaGwwSTtaZ0VgS3wkTCZ4
TkM/cnUwUFhCK0liVmtAck9CaXYpdWc+KEleSmlxZk8KellpSFYjVHFDV2BpM2pZVTR7T0VnWil6
PUZDbUx6YE1mJXVwU3d6M2JqPz9qR3ZhVnFeWkg/fHxoVEh2STwqQXprCnpxZlZCcEAhTCt4JDJq
PCp4VjNjbmFIX2Z7Smp7KH50UnJuI180V2BfUn00UWBFK0xzXkhwPW9lblE1YXNBNGR7NQp6Kntq
X1pITUB3cColMiRQIVVPRklHaFh5SGV2YUhTKkJPJVl4fUJaUG58PlhJPXlSeXpQMzhCKXYlN19z
OFhINHYKekdVWCMmUklzLW5Zfm58WkUzYWx5aFNJRFZNTEslPCEjbTV1aDBtPnA5Rzg2YjBnTTMj
bUVCI3N5P0p2YitUYXI8CnomamUhX1puMEBVbGZpblVVeiVPNkJ5YD1vYGg/MUN1NHlrNXgzKTBC
Yk4wayNqVmVhRmQyQT09bWhodE9SWEdYVQp6VGJRPEt6dGtkMzVgX2R1ZVRHWkswYGszQHtealcj
ZVJ3ek8rQD81REMoYE09USljXyExNiY5e0hoVm9pSWc5OTYKek1AWFYmQWN1Rk1DSnZ7bzd7ellX
LTBgcnI5TXI9TWBTR15BaFphNVZKUjgyeDd4aHFLdl5qfU9Kc256X14qPSZtCnpTUX5HU1l+Z2FW
Rj42O3xLVmlJI3psa2RIaTVyRDZnK1I7bTtfUXRrXjxUZndSaTAhdzhCbF9KNXl3Pk5FJThCKgp6
b1dpMGd1ZGcpQyh+R2tedHxvUjRiUXZTXyV7WUJqcVhiN3ZkS0NMZzdxQDFqXz5PJU5lKDZHQGMt
NURreylwVHIKekBPaDFSb2RkckVpOHYyMmBgOWdgWXhlI2BGS0BoLVE5NEoxSHJAVHwrX2JHTSZx
UV9NJk0oJXBVREVALWVEdmtCCnpEeEk0Sjc2WDBQKVJGfTklJENje15XJm1PPDNFc1klbW90fFcl
ZGhWP2kyLShIP0o5UHUmTW16Y2FjQm8zWm1Xawp6O1Q0KEI1QCV9QDZES183JCFQJShffkclfkox
ZWZWIVo8JilFdXRgZEBvQCl8ekVwX1hIJHJJbXVlfjJfdEBQam4KemZtZUZaX2RnRE4hKE9RSUd0
UikjSWdDK0pZaS14MDRPYGpKWisrIz4/Sz59KUFYSTkxKTlpfD5KRDtnPTRPdSRECnpJcXxRQ09Z
KUFVaDE3bHlKKkwtfWUyS305Wn5lNj1FeDMyKiVvfWMqR3Z+OWUteSZtd3swRWkleCVOaDA4SWhB
YAp6eVdzeCtBaVJVbVQ+Nm5WUyZuV0hadSNhZWJ2RUw3Kmx7Kj50eFQhe2BZNWstaD5HaHRxaD50
Y2l7b0Q1WE09bjAKelVwZDVMJEdeSWpKempsR3NsTmJRPHVzUztGJVpDR0pJZnx3a24mUHl7aDBg
dFd5UHQxOS1CPG1YSnl+enN+YXVzCno1PzdNZCZZVyp7c1JwRVUjRlc2ZFFHOVhmMUx5TGxFN3E9
fWd9bTkmQkpxalRlXmJGNUgtc3cyRU5MXzh0PTc9Mgp6KyNCUTFKSiVKPXs9cC1VM1ZsfUA4ajJq
T1dsdz9oN0hXISgqMXJ2KG4pcCF3WUEkVSl4NVF0QytZJW1eJURSc24Kem1jZnV2SEpVdk0rc2hx
dlYjPlAoT0omZyhQcVVAQTE5blgqN3lgT2pkKERWJTZ3O1dFc0NrLX54aFBnO3g9My1hCnozbnNz
dzNnfDU7PjBvISUqfHlCcHpIaUtkQTYyXiVfRXU9VlZkQDNTU0UtV0xobylCWkxvdXlmNFRWRnUq
YjFqQgp6ZW49LTdrWEI4RlpkeTQtIXdBbmspeHFSMWNkN0FNMnZTT0tsUDNFZW50SDtxKSZXQjFQ
KDtDSkw7aTNuPm42WDsKejY5dH5pe3cqcilHOT9qfGdqMG03ODBWNkZFYDVoMXZSa2ZYezRoS2FY
T0pqK3ZyVD5sOSZhQDRJKiNXNXBATFpVCno4cndDRVBPK1JNVUN8YnB6Z0o1ME0pe0g9SSp6SUZj
Km1ncElxZmE2STdmSnFeMDtJRVkjZEtuWlFybVV3ZkFhcQp6TTF6PmZjKzBsNm58PyZ4MipjRCQy
IWgqT3dEdypsd09QMmJifTVzZCMpPF5gKWZ7IUxmVlpxVTw8Jjl3NW9wKV8Kejd9YnhvX0N3a19M
WkZVbXRUbGVGdiRkX2gjR31mJmw2WWxmWDxzKGMhaEE1KEFpLWxiaytjY3NwT0BBY207MHtLCnpj
cChxfE1Ia0F8YmYyVUM+NHVrdXFOQkReSXlZVi1Eamw2KGEySlozVTRVdyFOUDFSNiRYaGlJIXtD
KX1kdE49SQp6OW8zcFBSXyVeaWEydmZmU1pqJSFnQiVHKVZrdVNSQCRSVD0lNUtXQSFLSHstZXhj
fHZTVjBtQDVARUV6LUxXVk4KekF1K24kaFAkQT1jSFUodilpVmplayM2ZlQ+MDA7TnpVb1BHNEdF
Sn4kQk9tS2QjJHVpZj50VGNLP2JJTT4pcDBSCnpidlJgK1BiKXpiUzdpI3xuOVU2NWpHJUFGVXQh
QXopTHAwWTJgdUU4QDl0RDtMRyhSXnIwWUMmeStwTGFvanpiJAp6KkV4UFl6Um9xam9fKUhJamQl
JkczRjdCJkphVGFiUTxGJDRlYmdKVkRTZmI8SXB1KWlwI1BpVXQmTTxOclp+JWMKekFgQVMrdVBF
YnxRZTQlfEpYd1hgVF9XYjZpeGUtYVVNKWRRKChLSjxBQSVsNyM5QGM7cTtzMy0/RXk2cnNOOyE2
Cnp4a3xUcmpHODZmY1NvPUUkSzl+MWJnXmZ1JCpAJHdtUEQ+aEk1aiVsVWptJlU7a2hYM2hBO1hn
YXk2OU14cmVZTAp6dm0/UVYtMmlmUi1UQDhpYHUpfD9vPSFsTCNAOHpSbF5HPzQ5Y348WDF9QVd4
biowQ2RJYHQjQGM/dTxWQC1KZiEKejNXZX1PX2NpPUlyK3E2K1pkKUFCJDdzfj40X3xzUXo5aDRk
JiZXV1dvTWFNMlpGbkA9NylXWEsmfGB4NW9Cb1M4Cno3aX4+JkFobmBsN1NHNW5DR35tJnVuQEZC
QkN+KT41SHtUdGtJbVVEd25DI3VpdHxXdi1Lbkh9cz1URmJvWmBXVgp6TSlGdX48RG5qV1VMeVBI
K0EjYkJSZ3M+d21hSU8qKCpFdV8/SG83KyN0YDtPckJWWHcjKUR2SkRRZkd1c31WTzMKeit4X2My
WCN5YVFgd0wzRCNueiN4O09vfiFYPnRAKldsJXFTYFBuPG8mPG01alVmbD5QI3p9RX49UGtJJTZs
JmxMCnprekxDIUg9PTBTTlljaFRAZyN2KzlMYUU3bDNjSUV2PEpyRitXVEBFa1VIdGxlQlUyMGRa
OTY5XiVoaiM5O1E3dQp6MmEtQkRNMSRRQXd8aXh3NkFKRCE0dEkjcDg8fmJNY2JiTkEjZFNZKHRZ
X3I8VD5vSj17SkJHPnE2ZlNuTCY5PiUKeks9S3FiZVpxT1gpeG1eUnlKXj5CKFl7ZVVRbXtiaks1
VlBIRHl4NnBidkFeUld5ZUk+ZW9tfnxZJmElMiYyTX40Cnp7Qlg1MjI1QG0+YF9pQnJVPUNQcG00
bHROPGs1NUxze3ZXJlFJYjF+X1VHQkZfaCFTJDRTdSRSKT1uPHtEN207TQp6ZG9qZUtxfio1M3to
Yz87MXd2X2J1PShoYSlSPnZ8QStuUEphdXBHY2t1c3Z4MzFvWnd7ISpIOFpUUyVuI21aNHcKel9S
TiZ7YjJIPnViQ0ZnV29tPW10Ync3JlopaDlkNmo/YjJHanZRN3YoOVhLPXB7VTg8TSg2cmEmJS1B
Um0zO2lvCnopeE4rdlp1SUklLV9abmQ5YTtPd1FacT88ayU/dUdmPm8ob0FAdU9NYilfQnhlZD5Y
SkR+PT49SyFtKzFXP18/Twp6bWVxR25TMS00O3w3KXdremN8K2R8NnFDI1R+cCltYXMlYSY/JTA9
MCNidmxydDBBVyRSQSFfWWRvZDNnWWJEI3AKenc5bDVCc3F4X1kyNEw/Mk1KIVY/fDUwVGFgJjRj
MEJaSyRfanhxbiFWKiVNVnRnWmU9OWUrQytvZko3PUIhTjExCnpxcnFjdWRvSz55KyF+ckdCTUMp
JUNaT2RBMWZlJn04bVlGTGVmWWFgJEdlVEVZNnNnR3Q/T3dFUn0tNyhoZnFTUAp6bWY8PnlVTGFY
PCZlOUpzXkVBUm5SeElLZCV7K0NTdyhLIy1ISzNfRl4hNXdHc0hDRnBRdD1YM2p1IVFCYElEM0YK
ejBDJX1+dGVRQk4mUWtobjB7Ui1RSCVvdHM4JC0+dXo7RmokbVNebjIoezFxXkYyN0VeUGBvPjxp
WE4rP2d9RnFsCnozak16Y1JAKF91e2BKKG5vaDB+WDhBcmJLajVwdXkzUl94YzdLRXpnXnxVdjJ5
USpUeVZ3V0Z3VEF2KHhhdDUkQQp6T00hRVM8YCZYTnpuVENReTYhQlcpV0ZiPVN0JH0/NHt2NFl1
LVNYPlVAeldTQW5uXlhXWmRYP1leWGNJRTFaOzQKejF7eThOQXVMSGg/Q2JIditeY3xZVVR2K00y
KD8lWm9Ben1XX1Z2OXchbEdoQmBMRXNLNGAqO0dLUkg7Ymc8OW1NCnp4RzBOTUtSQFdPSXI3eXpf
UyMpe0NAM30mOXkyRXdGXyQ7S3VgMjZPYn5YTkZHMWIjM0tGRz9vYEtIMXtNO0h6dAp6czlGRGI9
YkxqKXJ7d09XcXRWLWpHQ0w5ISlOXlhWWkFndDYrQ01edlUoZF9Vdks3NkJHNVRjMGE3cmJPX2ZW
WCsKemg9JmRAWGpvKlIheEtSQVRNR35CKiswblg+SmxEKGFoe1NuNHN6U3VjY0RGaEk9eyElIVQ1
XjBxYjhhKSkkUTVICnpWSj9xYzJXbjdEVzM1OWo9NnYhRGglfj5+ZjFxNiZ0aUskOHtyX0Q1TXNR
WT1MRmdYd0o9VGhmS1E9KnpMXiRWTgp6V1Nga29ITnt+VWxHTFNJNXFXVGtGOTxHZVp0VzsxRz1B
c25iIXJVIzdyNCh2Zj9HVkUpYEN7bShZbEN4KjtDUE0KejdaQlpiRXBGX2xeY3wkZjRNbHIpX15o
P0xvRzJwP1JpfkJeTnBob3tfPVRRaHpUQHo2ez52RHtZXmh0dkIoRS1FCnolcD9mYEJvc2QyKWdq
YUtkUilweXwzLV9TcUk8b1FTTDtBZy1idWlXbkYqcG8pM2xeeFNpc242M29WZW9qJSh7Kwp6TGEz
I0NDPmVRa2JKZ2FpUVBTTVd8M1RuOEcxSEJXVjwxdmFAIXBBbUw3MnZvXjc1QWdmXjBeNFNYJVd6
MyZDcVAKenVJcDBAWkxfO0lwZGlsWCo0OD4wUD54a2V5R0oyNWs/SGRQUyFvN3J1SDgmRWR1aCQk
ZUV4Rm91VVljUT4mOSs8CnphO2VUUThwQnNBJXdgemZRcnFVazVHKXFLPk9MJitTRWdHPlRScX5B
ezFTQ3J2YXFfJUVRIUdWKEFhbjgmMkJ1KAp6Slc+OWZ7I2FxQ1d1bkRvRko7PGczPjlgMmQ2LUVn
YVg4ZHJ7WFFVTiV8ZHtxO09wRDF3KkZebCtEWFFpRmE9K2sKellCVENgbl5we2l3dEoqY0lofnJJ
S1VmUDglNH56O2FnQ2hXYigyKFdjTENRMl93akYzakVxQTVEKXgqWlU1WTllCnpFOHpYTzxvP1Q8
UCFRZlQoYD1nalpZOSRDdHFyZj5gPVluRF9mISU7c0M1RzJzIXlvOSVWM2pnX2d4RXEqOWRiSQp6
ajR5KlBAd0pOUXMyS1RlNjslZDktflpUfHQob1JwJntsNl44PkgkeClONlY9RlgkKWIjJnF9I15v
X0ZpXz1lTXUKemRLcSZURWNPbnlgKiluYlhVMFJiRHJlYHh5MjhQX0hrcFl7VzQ2OV8yV34kMCpZ
fHNjVytQRVhEKkxpK2lRZlI3Cnp6bS0weUdZOyktMG9RNkY5WipabE1hY3ZPSWJ8dzNRRDNnMG9W
SDV1RHBvei15Y3ptRTJPbkNsbmN0empxJHZodAp6Zm8pSkRFMllfZWo2flR+WXQlSGVHVUhLdzND
fjwqKVRRPiNNVCgkWExmZWA3PW8/KU1Vel9zNipCLWw/PHNxdlYKelgjQGJWWF8je21qa30xSE51
VHpodGx7WUBWTD9edCoxJjJrK2xrJE8pTkNOTmhrRHchNnVRcCMjZHxvcGYmTW1DCno0MDFEYU0m
KDt1cEMrViZ6Rn5vZ25ma3M5a1lnbTwkJjlWYmRCUlU5SWZDN0VRLWY8JTt4bzJPSzw5Z3hLJFhJ
bwp6QFBZdmdIeEVqOyN7dEtnYHA3PWBmI3tyRTQwXyVhJFBmQztJYTlTOFdwemtiYz5TeW5RMWQt
Mk9WeU9sO3FCWX0KemIpQlBwRVVlKl8taXU4eV4takskU1dTJXg2JmZJOz8kRGVzV095aXZiZGpT
b3s0OU5INkZDWG0kQ3xaU00jPnUhCnpGP1Y1bjNgUmxtKVopVl4xYlReWWtoJHlrcUxtVUJFaWE5
UjtRO0hxUno2Ylc4U0tUMGNXZU1ic3RmMitJc3R1OAp6ZTx8dTklcT4qRHlJUVh6V2txUU0jWjR9
PGtAKEJqVGtvVzx1ZE1gIW5yQUxGVjU/UjN3Y2cmNGlDJX5Hc05hSlIKejIkQm54O01aZkVHcCUl
OHNmRkkmTHM0TXBUZmRNJkhjY0hxPChFOGB0ZHIoRUVaOXsmczVBITUhOGE2OVI3NVl8CnpyOypn
LUsqPjhFTWA7NTVmX3olV3A9RXJAYVYkZ2shQmtARHVVOz0+KDlLYGd3fHlRe1RRYHUhclM/JDBt
YXJmPgp6N0pJSkpiKipWal5vWnFuVz82RT5wO3g+MDxRUUpRe25HS0dyd2UrPElgc284UHA1cVJf
OWokIz5nUyFQKXVhWWAKeiZrLX0pMjMmWGxgKW47OSZ4WX1Zdi1JalgrdXFNQnsoU3MrQFpMTz5s
WiVsPlZpN3xaNnkzPFNmJSNTRlZrR1F1CnpXUEdhSHtQNmJnQzgjcnRyZW95VT17KTJ1SHEjQj5g
a281LTdSU0JaaDY5Xk43ZEF9a2U1bXtmdytjZiNQYylqOwp6PiRnQUA0MU0qQStRPEBKRUxuJjNX
c3JxRk0pTl4meE1hX0kkPEBjbF5PYV8wVTI+R3JgUClVS0t5KXg9Qig2VT0KeitpPHYhTl9tK2F4
elNATHckR35fV3IzPU9tKHtRRzFBS0tnamdiZUhDVVQkKUBrXn1CYSN1bGQ4ISp4d2l7QldLCnor
KnVXejY7JWBIJWFBXyFvR1RvVnk4QVBUSWozb0ZEKi1KUEUpQlc1R0I7MDglWT0mZU1TSFdQZEtB
JDBvNEJLfAp6KDNqNDh3QWxxLWRmJE1aMCh9fG80WC1gSCUwfiFfX0gqJEF4PSp3clUyP3JJKkBZ
czkmSX05ZipBRztPVS1RK0QKei1aRVp4U0NjK3Q4P2F0NjtuK1JlKktxfFR6QipjeG5ZbHdWUEFH
OT1OQj5ZOGFUTTBeZDhTVVJYNnVeKmkxZlZqCnolcUomazM/ZF5mPzhUeyNIUStaaEtVMWJhOTZ5
cEBae091K0B0PC1aYVd9PllaYWdYd3MrMlhoSXApMUQtcSl6cwp6NkJHV1ZhNS1iPl5MK2xOY08k
R0NwMlhndnB5OF8laXAlQVRKTlNNbHc8ZVFZbUFhO1FNZ14tcylMJXtgT3VqeHQKenJsTnV5U2x4
MWk9dVFvVStWXzg5K3FsTiN0RFJQXzwlYDJsT14+OWNXbFJrbnlKbzxpPlR5R0tENU1CY3YyNjhN
Cno7QDlpXl5ITVBZK1ltfFcqeXV6IzdGIXV2IzRPO2pVJXY7NUVnTUZ0TjVKQ09eKUc1JTNWO2gk
WEI9ZWxsUy0jbAp6RFNxKjFpampBWS03SVc8OClUZ1d5QH1NNzk2SFBhQXUtQlJITkl9dy1STCtw
Uj9hOXpray1Gd2grNjJEbU9zdG8KemJlcy1wMHZkckt3SXlKajckRTdgc1I/Tk5TfG9WamBRUV5o
QkRrTSpNfEloYzRZNGUkdmo8dUQ+Q1IpbypsfFJ7CnopfGlme0paWG0wYEBaSnpRWGtsOyZmeCFn
b3YwZGFqSzZ+UWxzY3ZoZlUjP0I5RDVoRCp+YmJpTSswQ1Nnb2h4RQp6PDd7fFpKSEEhQXd+V2Bg
clQyWHA4VFo9WndMPERLWlhNRnxse31FVkhvKE1gX05nTlVyJEtLPllGKWZfSWZKOyEKemVRRSst
WCo/ZXliZUMqRyhTeElEbDw3KGNlTXpqKGNBdFZ7RUd4NUJKa31sWUF7OCo7ajxGWGZOQHBRQFJy
YHl7Cno8UCZSNE1QbjghPGw9a313VUR8c2BiXjNReC05b0RHSUo0Y1J+c2N5YWkrZmdeM2RwVjR7
fnc7eVQjSXFBLS1wegp6YUVpdFB6aVNBSnpuV1k5OXd+b3tPc3o2RD10RlUldW4pKDBzNndFXiYl
VUxHd08yfCRhPHQmdTlLZFN5X2xWbSkKelZjclJ4Zm96aXJPbUhsYFQ0YDhneyRmYk5IXm5SdlhK
aURgdGtYU05qZT9yKVBBQz88TiFGRitENlZ9fEo1KnQ+CnprKHt3OEhsZHZ8JHtlRm1uLSZrYmVK
R0stYzdMfmQtRE0zTTJzdXxBXmg5dCZVcX5NSVJUMl9laV9MKCVEY3kxPAp6NkEkUmRTVF89aCEp
QzZEK2JqVHgrfHw2cFVofm87I25uYFZNUmdUYmMpT0dQRHFTSk1yaGRoaldpYHN1Rj4hJH0Kej1I
cllqR2olI2JyKmMjUDhMUWdRNEdBNiklZF84WkQzO0FsTmRVRS1OVWBpMHZjdXYjbiE0Mz4yVSYr
Ky1GUVJXCnoxPHMqcCZVbmpAdGpLRlJ2NTVaaXR0TlJEeyNGej50RGRkfkxNbj1uNUdKc2U7ailz
ZV41P2dnMCVPJDA5dSFBPgp6NzxZKGBAazJiOyp7KndGNF9DSzlVcDNMazEtb2JXSEw5ZXFqJjJx
MStWJS1WJDVBWmFJfVJUVWUxMmBra2c3M0wKemJndjlHY3NWZlFfPiEwMiR0ZTdRK31tUnQ5VlZI
SnxNY2N+Yz9KRXozJVQ2R3QrZWhKaEN8IUlAS1ApRks9VDNACnpSKSFid19aYTlwdEAqJjh0K25X
aWo+QFU5UzEkUVh7al9kOHA/dmghKmJJOCh1JShNRENZYzJKZVVscihfajRtdwp6bCliXzRqODlW
V0xwe3ZGRC1mVTtlMVlCb3F0ZHJrYSk3ejRNX1FVWG4oJG9kOT9QYDtjemU5RFVtX3l5SUEzWiEK
eiVGNk5Ra0JFe1F0OEFUUz17Vl5ZZThEUFpeIXAkT3ItaV9YWXprJHplbz47OFY/RWdKWmZJbk1M
Tj1TQz8xb05QCno4cWF5O2xpTDh4KmlhaW00c2BGYyhvM3gqWTZTUGUjPjclNkxea3dxMmlKWW84
eVFlN25XeHhQTTE3VUsoaGdMRAp6djlUJCZrVHsqVkdubS17bHl8Rjc5ZS1XdlokIz56VytiYGxH
eDtsX1RqeE42JFk4eikxUCpueVo7I31MLStAPGIKeiorMj1SU3VIbT9GMUJHQnlfSnRjJXJtUWEp
RW9eZ1ZVRWd7Sm53TEU8YWlJNCZkdXEtKU99T3hHQW8kQldAP2M2CnpVZUtER0VaU1IkJVopcG14
TWI+O0pOTnUqYSU4ZlVReHZFMWpAKDl+VFQtISRWKDx7bStwWThDMnQ1LTJFVF5ENgp6JTxqJXZf
V3wyP19sUlMkd25aRSg9cG8lcUMpWD82cFRyOGZqRD9oKkh3QjNlO0JUUSorWWAhfGRSNVFxZXxR
d2UKenlHJGtLYVE8X1A7UDtDey13KmVnZEt1MVRMJSFLK29SajEjWVExMWZtY3RVX0U7SkpCekZ9
TD9TMUVlST5sdUI4CnpCJnArUl9UbVJsKV5nVE9aaVJyU0g8ckNGbHhoRDNGPnFLfG9hc089PE94
d2o0YCpLWnhZZ3JVKj1Zdk9feTdEQAp6R0l1IWojNEJWZE9UTGZ+dCE9MD9UI3crRD9eemBLT2Q9
QlJxJVQlQ0BaQDJ6JSpnJUVBJXBzNzxnY0h6eGsqYkQKelJpcWFRUms5PWNRMW8xWGBQelJhejw/
SDJ8Tk4yfiU/KzB4Qm9NZyZRUzRzT2U9cWFre0Y0PmsyP3xEK3EyWSV3CnopOz4lVD4zczRTNkQo
KFpDJW49MFBkI3BgIXNrekNHckZwVSFSYmB4VEdMOzVZKytxZm9GYnhCc2tRZz1tP2twWQp6Yj5t
JHJ0VFk7OTM7M3I3SVo1WDhBbDs0SGxqMzQ7ZVg4MCV7aFZ0R2pKez1rQiRHZzMzMCp2OXJ6fTVz
PiM7bEoKemg8MV4paUk0Uktkfk9tYm1waVFFLVJiQHU/NDRmRzMoRU17O1VlZilpTEpwd00odHgk
QFE1a05zd3ZVMHczU3NCCnpLVWRZMGchRXVHQmo/T3Rmdmo1RFJ9PzhVdFZgVklFY25ndnBSfShz
SW9zc3JDdzdrfSkpdUZ4ZiV0SWswenpjfAp6ZT08b3tFRDB+KD5TeD9qaCFoME0jJmx8N2AtRWF+
PjEyVChpMjtLMGFJdXs9TyVVKXBpM1ZyfkFqbEV7R1QwT1gKej4pMklUaU1GKiZGdUNPVjQ7NW9+
SkE/UEMzOEJMO1k9YTBrQEJSRzk1e1BDNWRaWjJ1XnZ0OD5JQFFKMz1LSzhzCnphYmw8dTk/cztA
QDdfdm5sfkJFeWd2Zzt9Xz1nKCV2K0xEYzl0TEByWDk0UmFXUCVLIUlSY2MmTSpAaSM1b0JCcwp6
UC1LbnsodWtZWSFgcihRUHxtK0EjST1HaT5DY1ozY1NTJWFnJilYLXFZU0x7RkxpfHJiWCVfaiYy
YzY/MWFNNUsKejc2S0FVe3FffHwkQzkrdk1PJno7Rj1kcmc5dE55VjtGfTQwdWEoRC0wYV8rdkBz
OygqZUwmUD5oeyZkQmQwKUgrCnpia3ZLYmVyRVQ3aio8OGNQfHRvO1YmTVotVThUfjtYMVY4MSFD
bnZJcGROYWorKVpYY2NiST4qOSp+MEpLe0Fxbgp6Y2FvUTZBeSpUT1VTYU9MQm0lPGk3WGpZZTJL
SWNFe3k/aGo1enswVEUkTjAlUHxCNHd8OFpqayE0RWAkd0xrazsKejAwP3JHV1hDRkxNdW1qYWlN
Q2hfYVJrNWh8NUpgYE8/QHM8X0d7SmBxSHw4U3RmX3xoUUppSyMmSFA9VE1ld0wmCnpJekJ5fXs7
JEpyJS1zNCk2KEYoYEtvNCpASE1xcD4oV093OXF+TEI7ZT5yYSpPRCs7bjtVLVU2Q3lZbSg4amxU
fgp6SS01d1A/VHglSiVzfVdpeT1PcWpeeHRDeThWfFNjSm5jQWg2K2llUGtEITNVenQxQVI3Jnk+
Q2tMNjFBTThsZV8KelZ+XjQmY3szS3tCdUA2YFgwbkEod3p8Yzhkfm9mbzFZcyFPaEBvbyl3WnlC
SiQlaVJfdE0+byh3XkxPPHpxfHNgCnp1VFFqc2tOSlFPPm11bEB0NTNUdUJebWs9c0NQIWN5PnQp
YnQ7YXl5Kio2WjBaWD99UTRvLUYtKjZhRTspMEJGNAp6ZSM1M0pLMWQlXnZ6U0hxQH5eWXlYZSEy
X2Q7ZEk3RyM4WXE/QGFyaikqRXl3cXQ9VVIqSn5VWCp6ditZRmlBbUIKem5fTV5JPn5SMiZRe1Iq
VDktfHQ0V3YkbHZYdE9RKDslKGkoMChHZFVAMXd6e15LPzh7RXhqPlNUUGZnWjkrMX58CnpGU1Ix
YjRAalhzOTJkOT4teDVUZ05xfXszUXVgRTcpVElkeWd6K1Ira0xFNCZje3dybXNiMDRKe2hKRE9I
PllOJQp6Uis/fUEhPH1HRjFVQXFVKjlTJDdDdGYzWUJWO3UoOGRCQk9WOXB8aGNMc1BsM0xqPi0m
bkxZb1YkI3JgIVkoRXwKemNfZnFCK0R0OVA4RlgqMmpQJGdgcX5pJG0+RVV7OVBobyFjUF5ufH0h
dER8OWpIYDwtSyFuXk4zaSF0PFdxbHlTCnpsdXNAei0hNVhRdXVEWFBRZWU8fWkxV0NlWjQrYk53
c29GVnE4QUB6eS0pfmZwTWgrNXBpcTMrcV5QaGFsOTZ0JQp6ZWB5Yn1qWlE+TFNeciRCSyl9bGZ6
P3RSaHVpNUBZdkd0TncwajBjcEAoVjFDaXFBQTQoWGpAQD9zTyYoZSFhY1IKejYtJlE9dSEwbTJR
RnktNTJJUlVjOE9vUXJ3dncwYiVVK0AmYE51M1FRPU4wQ3krZmJMQGEzUDZuaEtHYnhseXFHCnpO
ZV80S2p+RVlaOFFqMkAoWT5JN3txcjB3WVhXYkQqS185PnkrNG9XfEd4RXFYVzsqRDIzb1AyKW9Y
dXNmPmVVRQp6Qjs9e1ZKV1liSiMxZzNRZytacFV5S0YxLT85VXgkRXFSVzlfJmpjSkUtSU5ee295
eD4tQVVKMkhWYE5uN2U4c0sKel5BUmpCZFZjIzBVREt5MG8meHJ4VXpQYnkteX0ycDFDMmMma2c+
bW0wUz1AeWh9T35DR1RBfWNeI0BhTV5LK1lWCnokJVJjMl43diRmTnJXMHRQclMzO2wzSD48bDNm
VjtGTHFmTHpUbXw/RUY+VFQzPFF5T0p7JUY+LWQjPkVBSiNgNQp6THFWWGw0MUpLcG1id2oydWkz
JXdoVmdaTzVVNyVjTWhyX20mXylgaV5RNkBMJjc0NCR1VT5ESGxpMkQ1KClYSG4KemA3PEJ0OF5F
YGNzeVN7SiZLQ3AmSyZFcEAkSm43MjxaV2VffE1VNXszclhubnhObnlrNlNRQHBMeHZ6aFN9dyV1
CnoyPHNSKzJVZGVmV08lUllUMFF2dWwmYTlzXkshUGkyb2E7TT1ffXlieVgjWjZJY1Y8TSluezl0
cE8lMn5UQTtMKAp6S1RIJkdlTyYtaSpiXzNKRTNnamVzNWp7T3V5WmBWQFpWR1doRms0MyMjSUsw
YWpnWERsPExvezZ4OXxIRz9rc3kKelJ3Klg4cD5CUTNLZXpFbHU1OXY9YlQoZGl0Vk51bU9TfCVC
KmZ8bEU2TSRgV1JtT0olMkQjbHtGTSUzPmtLayhJCnolNUc7Iz96SHcoKSpmTXkha1U5e3hpUC0x
JD5OSmdgeTYwJDdsR0AtejF8QSZTPGJURl4mUUpIUkRYPTVsYEw9Swp6T2YoYkZBST5GemVZMilM
QW59ZmBqY3k8PGlOSmwreGVzYkNFQHd1MFk+NXoqPmZgbjdafnxMQEcwaU1lKU5vdlQKekh0eTtL
KExUODw/O3xiQDc8dXZIMjN5WkhqKUU4SigjTEtpZCt8KUtudXRaSjgxbFVPaz9+UkNwOT9GLUpN
ZG5DCno1P01fZSgjUH1SO1phZnRLa19QOTBjYUJmY0IzMz4mfWQ4TXh6KCs9NHwqUkM+U0NEdEJC
WGY/JDA2dGM4eUlgewp6RkpPZ2I8aW57PDBOTkgzYz02WDZEP3tzcUN7SktHWCVHY3lzTyMpeXgp
K3ZrbjVDeTRgUFpTPlB8KWJ9YDZ7ZzcKenlFZCR8bGMzY1RvVSRuSjxNPnctWF8zTV8wMDRxZjYx
ZXY7a2N6dzU1ZTJnfXdVezhzKGdwRUF7KiFqYUV5c1EoCnpSeV44K1E3QypaUWhjMl4qfEZ2ZT9k
PEpxSzQ5QFhmZV9TbUBHdlhnbVM0PVZAel9KOz5+VClBcXN6akxwIW1pXwp6cFI5TWRBfitUQyFa
WFJJSndjMF5jP15OLU97KSs/WFN2ZEVtdVJhRjIoQj5kdTZ5SWFNRiMhKWojTyQ/UnIrfGwKemUy
YlVjP35mKG5tWFYzK1UyKnF0WElGY25WUShmfjRjZiF3P190MXtMNE1kR1M8R1J+SnA5eiFsP1JC
cFR2JFFOCnotVjZ1MnNsJCRBbXorJiR6bDE9bTl+OCZyI0pvOXduUHZGYk9OXmNAYjgkPndzeGM8
X2JvRXozR2xAV2N5S1RqaAp6eyRvKmkyckdPUHZqPFNmQE1BV0FwMU5PO08mZlBjaW5RXm93SHBv
VU1mNkZaZF9ke3hraWlLMFplVmxTS1U0Tm8Kel8qRT9iV0w3al8hNkc3Sjk7Nz4hXzQtfE9eVW05
e19JSyk4Nll7aFVnRWA/a2BabjJwLTx7OT9IflczSXlPQ0ZXCnp4bW94d0gwb1hDQEpuOSohLT9y
bWtpQ252bWJOSmxLP34xfmdCTjNXOTNnXlVaWkpHTm9ZOW5JSm1JS3pGcyFLOwp6ZkNDVDRXYzQp
dygkZEMyNTdWfmt0S1o0SylmUkMwKWlPeU88YTVKbjdJblA5Kld1O1NeVFIpeF5xNnE/WkFxJHUK
emBYQSNSOE4kOG49TGIyYGN9fSFiYW09fGVwXmo2fndBM1JmMDNUWXIqOTFoNElAKEcqNzQlLU93
cHVlOUFHcWx3Cno9JiEoR1c1WDhMdWpRK2AoZDlPdjc3eGtvKzklbEtubzs2KlppJFUyYzt2fmFL
WSo4diZiX0N8KUdYd1gyVjd3ZAp6d0dGXnokXiZlI0VVQ042PmVIbFY7Vk9acTxxV1VPdENxZSh1
IWB1VShGSFQ7TXpHaGxSbH5DKjFFJXtkOXl9aW0Kek1QVlhJVCslI0hzNlF4ayRTMTVsNG1nWkVX
Y05KIzxTMUoqdGs5KkdBZn5oJUxaVGk8VURoKzdtZ0h7aEgzeUQpCnpaYDRuMFUmfXU0ZDVhTm1v
d3U3Q1VKSyVmP1NBUGNSbnkmJTU2Qn5Ve3xNPF5zLU0+eEtBMSZHUiNiZFJnX1BAcQp6bkd0WTZn
NSVyRGIkOT87PHctNCsjKitqcWlzaVM5bHlxRExpPGMjU3tkSW5eVXhta2dPSX1kdGokd1R9Mzc/
QjMKelM3QEgtOEV0NmtMZmR4VihYfW91T15zK3pMaXNVNERrbXZyaHBldz9HKDU9amVKJlhGU2lQ
UUEtJUAxbGxORytHCnpRfkxDJWg7a2xtNSY8Mmt5TFJDYzhffjM7Jil9aEV0NCZofWUlUFNycUJi
KGI+b0g1MzR+fTIrPll3TWw7e3VqMQp6dmYhclhBLV9YI3wxSDExaWtRIUtHWShBP2MjcjM1eVRG
T3tyVHdke09USWkwKEtQMmlQJGVrKUFsdH1QSUhPWk0KeiMlPGJ4SzN6WGdnWXojK1Y7e3xBNFU9
RzlXQEJIeEhzPm9gbD5icD9ZZDErdFhpISh9Nz9JUjRtMnZANz9DNll7CnohXmZkSXM7KnM0KGgy
NXghKUxtVTw0K2Jae0lQd3J1WU5rRHF0fF4zRHo1eE9uSmdueHUxJX4/P3pPayZuPylkbgp6PTRo
bHo1cD8/WGleOSF6PGUhXkU7JXhCVGh8NFkwS3NJaUBrSHZwJj5nZmQwKnp2WiRIUGd1VFpPfDE9
MVU9ODUKelBWdFI4ZF9IRUBoTTg+KlZaIVFPJWpfUUpicU5lVlNEIWw3Y1cyQnxOP3JSUk9fdWAz
M0Z3RiU7WE1RfFdWaHQ1CnpWZGpFWVkmVlR2ZnI7QiVjRCN7YD4tJGl3JlFSU0FoQ2p4O2I+JXN+
T3UrKy1SbHtAbD9tZHBfSk96OGFPNl5rRQp6O0smS050KVJDaiRjQTF7bjdJIzN2V0JBJWF1VTlH
MDxUJjJUcjRwZEV9O2UlMV4mNHltdTd5NkdLclY+UWlBZXEKenE+MHVWTz80dnFYKiNzJDJOUn0y
TVBVMGElUnFhP1QxeDV8XmlQTkFmUz1EMmJwM2ZmTkl2ey18QUF1fGstRXw2CnpEQkczJD9UPWRF
dnBacDZnTF59MTRTNXEremRJfmktP0ZkKU07cXkmcE5Fe314OWt1THRlKnwjRiNKYCZHbWQhSwp6
X0BUdGJ3QE15V0RWczU9dG1hVl9EPV53aGdJTkN9WSRXSVRKbkEqSFhjU0xrdD08THA+Q35kJT5K
eC1JJXFtYFMKejJtUCF+ZW9Lazk9SmUjUyk8fXJEIVhxITkrSD14KiUyPHFVPjVvR0pPX1EtWHww
RWdSeztUKVdKQUVVT2BhYXtFCnoqVko2M3p8TSNBcz9gK243eU5iKkNKI1ItZmx7Tnx0Pit1JVFI
KzJ6cGpFJGJtYWVIemR3dSt2bW1wIVlmV01sKAp6RHBGaCpZT25UV194ZVJec3t7NjtLQShPWTFo
K05RYE5zUTU7bGphUXNYdXJSbmNhSiF2aDRmdHB3S2NLeGxaI3wKenlYRG9EPT1SclJwaj9sak56
aEpOeSFfKlZRUHJGbTEkRlYpaCZiZHZeKzcwLXpMOW9EM1JyKERTQl5sZlpvfVpVCnolIz1DeFpO
PUgraXhIKDdMUnM1NlZsZ0ltMmYjQyVSaFE7KzFBYSYmVjNmeTJ8Nm0mNHRVdmwzUGo1c3tlPzVF
Vgp6bkxlNU9VJDQqUlh2Jjc8ZkEkNnotRWdSNiRMTGc3TD1jSGgofDdxQSVPOXNXNmk/VDRFd3Ul
JnUoR28raFdrdFAKekEtYn5wK2FyfXUjLS1ue2FoVEoxQEpuJDZDdXBUam5pdD5yJTQqU2VkSFBF
V2JEPyh7TW03MU5OdzF8fHtkeiVaCnotdShWJWpeX3AlX058KWFrTXc9PD5NZmMoc2ZueiRIbVI1
cVdTWnRYQlVnMnJzbHpfaXtvMikldSlfPnc+V3xwVgp6aDBpVFM0aDBCWU87YSRicnpgI0FpZmNU
d190d2dpQWFRNDdOSmhmOUVPRzR2QmVXN1V3ISZgOXk+JX1QfERlSF4KekdjTT40cFY0ZUdQI01u
T1pDU3JKPnZmQiF6M1NkUERjIUB+UVJzeHFtJUBFZz57XzFaRH15Z2oqZX09JHJ6Tm1zCnpGKHUr
dkl7TmM+U2ZhZkQqZG0zcHBEbDwjMFF1NFFucnBoUkFkVGR6QD9KOTZIMDM2NjY+aExacGcjMH08
Pjt+Xwp6cXxaclNIbT5YJlp4WTErejYoR2MwS2pCfFV0PXVAdD10cUw3ODxxbVhIRVJzPlZ+el9g
NnBaSStaWC03MHlydV4KejVII0A5YG1gPlN7dEZ7QmRqSH5vPUY1eGZPYE0+Tm1vRGBPPXpxYiUq
KD0qcj1kJEJ3Kjd5V311PkYkKGNuJSE7CnpZQXM8ZXw5ckV8byVeclBsSik7WmBrJWlfVTw/SWch
UX12Mm58SkJ7OCNhSyVeMipnMHVMQV5zJF5OMFhKYWJOcwp6YFNzY1U9WEY+OW19RWV9SnFDfHJC
MGw8S3pKTFoqM3cmT1hnNkkxYCQmP1NeUUh0bEt8OTdaPSZoYEtNUyhUOWAKens9biNlKUU3PzBt
K3xHQU4+JT9wJmA+MTkpZXxvPzAzcWZVRDI2Xj1yNkp3fGptWlNTSkBVfXg8ZX4lQUdgTF9tCno7
KHpaWDhQRUdxfEw8PjJOYXwzK3VfbF82eGV8USZMYThPK0t9cTBOM0w7bExGYFJuKz9gc21+bEJx
dm1IViNsRAp6PEBQRTBKQzRYeS1zZ3BBN1g1dmxMNnY7dGNRfk5zRVApYzRfeHhvTkhfZVVlQj9i
Ym1tcTApbW9nJmpkYTxrKlUKenIjJH1xVlRxdGI5T3VmX0pWeWQ5SFh1LXtsYDUwSzZsKF8ydiFL
YGxWWHNtfS03fW1oZDBqVnV7XzRNMT5rVkE+CnpiTUZ+fnB3ekJhO2RVT09LM3dKfnA5S0VYSDd+
YEk/P2NgbzBRa0FxYkRBN2tXfDRPd1hCaHooNkBKcHN0QFFDMwp6cihtNlJJQTFGLXoqOyV0SVNY
YXx1clViPmpHQE00UThOb2lrS3JHKkkjc0duYHFgM1MtPiprOGE4elk1PjBhbWoKekR6bnhCaVcp
fmpQN0p0I2c3LUlOTW88KzFxSVk+Y2ljWWxPQFlQSjk8PiooRk1TeW5ydD5DYTZKP3IjOVRXOHJH
CnpBUmU5Wngtal4jYWtHYFNpJT9BaFBoWE0jampyPmVwdW1IUW1HKCYwUnhmOVNiclM1cT4hK1g9
YGQhKEI2N0NIUQp6MDhqJHZ3SVkkKWRtJXQ1MkxaRGBOSEQzWjQrQ0h7PipmdUw7IWMzXyZEfFAr
QGk0aT4lYSRRREM7K25vO0VqalAKekcrPmskTEZGSm9wZGhQKDtVflBpRy1YQCplPiZ8JmVTSnEw
Tkk9YUtMb0kwaUFyWkp1SkhlM2JadEkhZjZuVWNWCnpZejcwMHghKyFVbzlGVT4+cyhXIXZ2NmJ4
S3Q2TzRYTiFYci05XkF0S302SzExUjFMVTVUXzs/YHxZPTZpPl9EQQp6Qj59c0FDbnJjST5PO0Mt
KkZMbn1pKSp8cSV4IVk9TkF0cj8/YzVIXmphajdvO29TZT41UHh5TTshUHJGYFFXcDUKemY7YXlB
STZUfXVqSF5QP2V2WkdgeEZZNldsbXZnVnQyfilfaF98MyNNUkQ+ZGpJfHZ3X2lPNn16fURVXnpG
fk9YCnppbmNrIztTNmgoXnZOcXorVnYyamp+QFpTRDdfRShrfGxFX3BmdVgpSnRzOSlKVjZFeU56
SyZeXkIqK3tYNypyRQp6U3VAO1JPXk1VckVBZGpee1ZndU02ZEFATD5jT3Bgd2hwU2Fnd2E7TkhI
bUZTTXNjVEJDPmlPMzROJSY7RlViYE0KejFJY3FVJCV1PUkhLWtmcm9zbnJvLXVGNnh6KGNuS2c/
YC1qK0pwJH4qU0VfdCN7UzFiVip2az8qfnpjfk5iR0QxCnpvYXJSUnVERE1rd1YhMU9FcmktJSR+
YDE0RHl2VjZuYHlqKz5kZ3dhVWZvKllYPkRjaGw+VG9mZEJZOXBZY2VuRwp6UWQ+fEl7P3E/IzFr
ZzM+Y2JXX0dPPHhHJFdXPDElVX49WDs/RXkjMlRGTHItdE9GSG8jQSpDTW1UUTtuKWhTUi0KekZF
QE5nMWsyYWNWX1NNRDU1Y1Y+JjF6M3wjJDlOfSViR35VNjl7KWo7QlBPRjB9eUZ0MW44Zm4mYzdZ
Ukg1VTJICno1OSl2MHRXfkM0aFQ7IXs4VTA0QmpsdzRoRXNSS3ZLWCZiZFIwSEtCXjI0Rj9iNVBh
RzMhMExPISNgY1YjaHc3Zgp6eTEzWUtZWEtfeFhmXypZNC1jeERUISRhSlNgZnNDdzZYMk8yMk59
OTtCdU5hMCQ/Zjl2NThSPWNFO0ZqejUjUEsKelRuQSN2SStDcWtnNWg1ZD0hYnQ7NXhfPHc3TGdm
RCpkY0hRP29IOGQrX0dsaTNKKlR1Tk90eUxESllHIStxMnohCnpJPEN8VCg0RSFibUVqTHU2WGRm
akhOaTgycUcpbUhhMjQ1YlB+TzdnQlope2kyN2t0RndTRVkpRW8/WnpFYHErMgp6PnhoSFhZZHc9
ZGlqPkFzYzwzRmRGV2xrLWYlbmh4S1J2TW93QDB8aVcoZnZ4dGBUbUYwRWBuVmZ0UXIjK2A+WSQK
eitsfWpMeH0+U1BnbkpDS2FTVGB2WUdufk9uakR0Z3o+RCkpe3QxXzw8NHhfbikyPERtPTVDXmxa
Xz8pOEl7bC00CnpTaXx8fHlYYypXaj5IfCpRO2whSHMlQGEwMShfKDM0VnNoKTFkZmVYQV9qP3ZC
SmhTbSlNI0pZcUpfMElhYVlzUgp6T2haUmRwMTRMPml7SDs8ayhGZlFDdEgyVloqfDMqSklxajko
KGNecGJfKGM9JGgkcmg0NHdyeGFUbm00TWNrfGIKemskdzw9PVk2bjxuQWBOQm5WOXVAMExgaE14
fT5URmotZlR5ZDFoYjstXiY9WjxwPDxwbE1LfUN7bj4yd29kMjRBCnp1YV5PVGtjTFNZPFdEODB2
d1pTMjNIXzU9ckdCWmFZQyokVXpzaEk8azdWfjNMTEAhIVE5K2UkUy16Ji1sSkg9Vgp6THBfTERM
ZEU+YldmPm9YSUFFMilqRkdJRkRQTFZMR1doTiVsdFIqJSZWUF80b0lsQjklenskbmpTPWxGK2dI
IVcKeiQ2eXFUOzNrRWE8bnNmJlpWVXQ4eCtDfnpHZmtjbj5WX0xhKCZtTTE4JlhEK1o2TiEhUThR
cSoqQDQ8bmZ6d35rCno5XjA0ckBERkdOcHliRTFjaSgrZUh9cjU3REppKmdQZXpneTRHS1NLJW1p
cjNLcl84VGtIc35AalgxdWE5V3J4Rwp6VWtYbGlPfDxLQkZJSHZUP1d5ZUIhUU1DfkNkd1U0WW0j
N0xgUjgrbnZJejZ7MGdeMV4jJTZAZTdCfiM2ZjkjfCEKemlkJT02YTUyJVg4JFhsTlhuKTJ+bylO
JE9AZjcmYEooY3BEaT5rQD43dWVUXkw0UWB7XmxgbX1PRE11YmlDLTVtCnpETkFlfEVrbklyVTFt
Mkt8SkM1QnNpdntPYWw+YnFRQGVldXV9TXEkYzQhOzY2aS10SlIhcHNTR2pKSHMtODNfNwp6WmU5
NkRTcjxtZUNobUl6NjBXTCFSRGMwZkpCaG44cGheNmhFOGdnWkltVn5FQDVicXhoQlcpN1lwblcm
bkc+dnEKel9ONE5KcmNUdk1rZWdqaWdNVUBNNnpKcllIRCRGUW5GVGoqVCt2dilrOW9yM0lBLSMh
eSpGSyFUd0k1I3hIWmZHCnpnOVoxcnMxYlAzV15UQ15oKGskYFlEUjJuVTglfU9qZG5ANV5yPXNM
NUl4Q25vejAySW4pTVJ4ZVVJdiY8SkcmTAp6aDZkRWxIQ0R8JTt+NUxAVz5iN0FxbHImX3Y1eFpy
cVR1PFd4OS0hdjtJMDV3Sn4+bjMqayY1P2tTUUNmelIraEMKelpPdmI5NHQoMzhzVUdAYkFNMSpN
Z19MXzEqViQyVWgrayRjcldJeEpjJEh3NUxENmA+am9XcWd8Ny04ZTxEdU81CnpJNC0xPXQlaHVB
dnQkVmU9fiF6QHdpSDR0SElwU0I0a2pkYGo7KjRwUCNEWURsNyNGVExQKypxamN1fGZ5Rl9KYwp6
cTMtdV9URUBOU3pGem1BXkxwS1RVKGJLTSU+M3FnOT4zQE57Qz9sfT1rcG9VcnotRk8+TW5Sdz42
QmAyK3FRI0wKejJAez02dmt0K2lXfHVWOVMhZDdLJU5+Km1MVlZkRGlrI2BedUxyWS0/b2MybFdA
WityYWdNVWhTZ0FsK1pgQl8kCno5bm5uNm1EQUhaRkNDanp2Kz5sN2pZY2RRSnZtaUBMR3FvNClt
N1NgQHhTcWEqP01+UnY8fmtxcXdkaT9AbStsZQp6bnxiaSVySj8+aSlHYncjWCZedGV2a0hpeTlD
TzJxTyt+SVY9NTRGRDI7WjteZGN2OG4wfWVGKl9VPnM4UnFFQUoKejEmRVc7cllyRm9ucz5fQ1op
SUZ2PHhzcmh0XzI9RVVfVztQbHlJem54XkVqXmxpMnI7eHBpJjQ/ZypKTGtadVglCnpqVEpgUlUj
cVk4bXtmdCs7bmZCPCEjUnJvamhGPUxwPnFmRj0qbz1CYj1WSlIteGRTSSp3NHxpcjZ5KjZ5bS0y
TQp6MktsajUxTj5qPUd1UEhHK3E7LS1eSWw9WiVJbVh5bW9kanglMyNaPnspKDxYIX16NHQ9SDRi
e24mIShzPnlBMjUKenZgJnFue0FDfTk2QEBKZyQjRVNZe1c2YCloNyZOeyslc1hCVyFvMStCQWtR
aE5xVUJYOWAzaSZ7UCRnNV5SJjdCCnpWdWFtM3UlS3lVNldDZEVRJFZvfVJ5aUZ6aXIkdFghRUtF
fXJPUEpPNDh5OyZ0Z0o2NiVSKlRlJUNiPEZnfGFNXgp6V3VZdCFXbXpjOExSbDhkdlgtJGRsd1or
cElESnJsXjxQTl57fVg8N0FjQUUqTkUhRHVmTUJLck9UNll3KkZJZCQKemMkS0FRU0NfcmpuVjlw
WUlSRjxUcF4wQlRHdX5GZUJtYnJFbmF0dWpgNiEzSE5QZkd0Pjt9WEowOCVIcyFXJjhwCno4SWdq
ZWM8Nm5CZD1YMjsxOTFQb3VfK1NXTT9rQzs1MStEakZmaFdLJDthSj9OVnFAanlfTlJVXipMTyZf
KygkRgp6a3shIWY4ekc/TXJOSDh2aUBvazZremoyb1g5R2c1U3YoU1o1Z31HcSgzNGhJZmJuPlVj
SnFyKjdLVVdjKz5iby0KemA9ZStyUjs5c1A4ViEmPy1YcmMqQmVCOyEpX3F0bUhTT1ZiY014UmpU
QGhSVHZybURRU3xgMn0+azdfNV4xSXVLCnpBQ1JjLThCSD8rMWpNP2tpeVpHQ0ZOWEh1bExDQyRG
UDtpaSl9Zj5DZzIwTlE8eipXI3FIRFkxTlpJfEN2NUQhcQp6UU18IVBfRkA0TFE4c3xLZUpuNjAj
KjBiXmZ8SXA/alU1TFBtOVNvcyswSkw+aFVCWUFgZyh3JEQ5LVdlTzJHOG4KemV9eDN8O3opPks/
cGdmalJGYjYjXjBtP3dMdXRhT0pENFQ5Yz9wV1U1R0Q3eT97PGp8YD1feWlLdktlK0FQfEhnCnpR
I2lVITBmSFgjS1NSWDhXI3lxejt8NkJUTEd4YkUma2hQYkUtaklXbT0xfUxNI1BTYUNtZUR+QT9H
MnJSO2RUPwp6S0UjdnJUdVlFWU1peUdZX3RScEB7JiUtcGUwbUsxRmtDMEpaaihMJlBITEYlXkV5
ayY/YEtKdnJVPVRQekUlTUYKejZPOW01WEE1ZHFVSWlxS25qUzk2XmNDKWJofilANHVqLTg7RkNr
b3VkVmpsbTNjQGoqb2sxeGxLTWx1QU14PEtvCnpRTzJFZW4tRnprMGZhT00pSCM1aDZnaHtSM2Vo
SGh1aVRMTVhiUHY9VFdrJi1Pd19pWDhgUEZYSDcmVkckdGdzOQp6aXpvdyEwZ2ZwXiEjfSNrOzYy
MVZ7Z31WRll1PH0lYUozLSRkazlqTy0+TUsqWlYxV0xPZF57XyVUaDM7N1BLaU8KekJycm9KP008
IURRaEBPOzV6Sj5FUnBzfEohV2gteE02eUhqd0xgMjBobG53NSFIRD40dktQckFvYDl9QHU0Nygq
CnpFWH5nWShFeEFIK2UkdHJFRDtHUnlwWFNwUShwUldXX0laJDJ6d0ZBYnk+eTZjWj1wT2tvI2RO
Qng1QUl3VFkqPgp6JHV7TXhZLSpDcnA3Rz1haCtFRmo1NElXK1lhSWxVNDNYJFM+dTQmaileOVpj
ZEZKcHYmPiQwcXZfZmZIMn1Ce0kKeiZ8XiQ+RThVQHFGQkhYZF5yUmRAdHVTYG5CQ2NpVUw7RH5C
WFgzUTNfblhAWD8wRjhSU3NiWXUwMlpvP3M2VWYjCnpQKE1NNlNjdilATyptVzIrOEh7Xyt1SWAh
T2t9QlVIfjEoYCNhUm11IzhvRkpkblBZVHMwbWtWK2FgMF5MISRSJgp6R2ArSX49YTIwZG5SJEBj
M2l7fT9BaUYpUjBNbSpMO15HIXM2JE45IyZYfnx8ZzUrfCVtWDVId09ZOUR4ME1kR2YKekJDQGxo
WmtLT0IpdSh6fVlRYj4pNiN9P3dUIzhxWSN+JWh+ak5IdW1GU29UZklibTghZENgOTM1Ym4ofTRF
TFYxCnpJI1hkQGs4NCpYQWg+TD9YKyRlNVhySlhuaD9Naj1rWGJNaStlTGZqPk5IRkcoKGtgezdu
eFcxNXkqfVV0djtRYQp6Pk1oMmRaRzxeeG5idG9qSG9GOzJOeUFXJG9Wfno1ayFoNyZHeiVWeWpa
UEtvXmdHbCU+bUdUS01EKllyNGdqNEkKekc3aGZlb1A4aUo2YzxLMmFrLUp5d1VxVSVmOHVPJFpw
ZGU3Zmh8cThkTW9hTWo5dn4+b1FNQSloMEU2P1pQXlM5CnohamBqaERSTEE/eGxuYWA5N1NVNHBH
OD1ROVh9WWlgO1lFRW1EZ3psMHRFdCtwe35LJWtVUFMhY3RMVG5YNntOcAp6YW5lSFJQfmR6TT1L
JDY1P25zPGhaPSFIe3h2RkJ1UD82bGRjKGQ9cHZFQW9DNUF+JkdtOTEkeXJEPnBmRGBSKUYKenli
ZyFiT05OI3dVUzJzKzBSYENvc2F5fHRCKSNyZT1YYXBLbT5iVzNEZXklXnhhbn5PeyNBblJpK0Re
UUsrJH5lCnpwa0Z3SDwwJT9SQHBqSDtfRT8kdzd1UzdOKTU9fkAyVHVzM0olcV93TUN4ZmJfZWZN
T3FuTFp8SUNBSkRJTDl4Xwp6dztKRWN7QT9XIWheemNeY2w0RFhoPktpT19ZSEEqdHA+ISFeYksq
SFFDJiMtZncoJWQrRD5qTGM7TH5fe0FDUkIKenBhY3h4dm5pPUNIYyVoKCZeVWRLVE4mNkBHPUNx
PnomfmcjdT5qTlNzOVNCRXNtczV+TFhEciNWcW9gLWV9Qj1RCnpSJEwpPlZ0QSFeKnBucTUjK0xI
c081cWpIJShlNmxgRjYyZWl8IT8/RHllQFdGNHBKeEJDKnxlTWkpQlNIfUNGTgp6ZUF5T2RjPmlf
XiVMOVFkU0E5KGZUMDI8dU8peWRrYCV8fnUrNjIySHFEKzNwLSRUM2ZfNyQofUpAVU16YGtsNXoK
em5SdFJOaTJSJXx3WWh1YXtxfldaNVhwVmkhc0pDZXMqfE9NWlFLVUE3QX4ybygtJi1MPGpxeTQ3
M0l+YkJZZmpYCno5IWRoKGdEPiQ8Z0lGfHc8O3dCckw0VjEmalEpfnUyfE5EPC13SWdsa1VSezB0
SzYkS25WeFRIe05QKSVXJXtHOAp6LXwqSjFlfi03ZVcrLW5tJWF2JWh5JXk8S2NSNk1PZV9+QVVX
MD1+TXJBSW5ncGZZJjEmei0wXm19KU5NRiZhO1oKemg1eHw7SiR0YT4laTdfbCk2Tz9PUilkO2Ja
KUZtP3J9NUM/JSF1ZT9iflJ5YU1SOHRWVVpnSGxZKU5zNnREZ0ZTCnp4WSZPcEYxY2xoRTVMdmYr
eVpGYHY5d0okMllwczthX2xGUmQ+alR1QDYtPTJMY2E9cVQxRitPZGZ3cWtUNVNpPgp6d0VKUUN6
MkpCYWU9Kmt2RlV0VmxON09jYDE1ckIpMjdgJlhsSkBqeHJgYVBiYzlIRzJPOzheYk5ORXNhKXxZ
N0UKenVPWWVfIXZFaXQlK21eMTVeKnhMeGJ7SG5TcWtPX00pZ0l7a2hZWVQ/V3t6NG1HJDw2a0pZ
K3IyTz85PUNBT3hrCnpDOHtCRG1QQX5qUVp9YURQUmpSMSVuOzVxKkMtNzRGZlNDSng0a3chJkg4
b3BpR0lDPjt2NFV0dHZUdDYqU0d4RAp6P2NsXk14b1h7MVp7MHhMQ21QVmZDZ3FYKmI2cShEcmNi
WXJXJGQmWGR4MG1QZ2h2JDt6JHN0Slo3a0JCckkhe0AKem50JmBhTGF1YUlgQ3Z7aHo0VVZ9KlFs
dEZEJUZyMD8jZj5OZHxhPHpXTVlUVmozfEQzP0kzcV5iSVYoY3dyUUBZCnooTTcwIWcqKCUtMk5H
XyZuZ2oqVGI/UThwXiFTd2pOal82OGc7JUY9eE4qZXIhWW5zVV5rTzUjSkd9T0F1V1BeQAp6RXtl
Y1EqMT94U2JraDZeZUZLTjwtdHRLc1JiQm5sM29RO189KGE1Nz5eaUFPWjA4R0BmM0U3RT9QRkg0
VXRpZHEKekJRUHY/eHp4WXF4IX5zYU5kY1U9ZE9NcmZ2QyllVXpKNjd8e3E9YTJ6d2dvS0VqUSpf
Tk8yMzNuYm0+dk13V2dECnpSMHMhVTheZWltNjZMfSVfPXpIJmBMdm5xZTNrRSRAX1A7SXI1OzY7
Ymtqa3goTXlhJTFhQkE1Rng2OGBmN0V0Vgp6STJfOER7TyhKWntqcExUNFA7aWl3QSQzfCR9dlIp
RnRYZjt4fFZzTlE/UFAhQm1UKCNxXm5iUGc+Q3tuKlZFWiQKemxHbHxvcXtOcmYkKXlvUlVsY2Fj
YGEpRFgreHo4UVkhVlUrP19DVStFdWNGclo+JH4rVlZtKl8lVEV1K1QrUlhrCno+dj8+c1JfTW99
IUdnbUs7ZE9kRXRMb15NdkRpQm9Ge0tQK3krZUFGYll5U0tHYX4/TlcpR0FNUz9DI0JQWlNJPQp6
RkxUT3kpejluQzsxZFFFazdgdXVCVHUpZTtUcjlRMFNldGQyQ0xFXjdsailiVCRtKEJzTHprKDR+
UHh0I2JBS3EKemB0V1cjWCVGXkpBXjw7JWlQSWY2YGNvK1U2JFk1Wmw/KlBrPFZrRDdsfVd0TFdX
RFNaaWIyRVpHV0F+NmpzQ2M3CnpCO2QrT0FLNTVRZjZhWitPVXVCRlVScCtVKjF+PUx6ZzdAQHpJ
SiNEd1pKI05aREVfOTUpZlJRIVgoYmlROFFvQwp6eG8hKkFuXyZlYl5KKj5+Ujs0V3wlMiYzMnw5
IzZfPjZoTUByYyNCTHspKVdKQylBck1uNUBCdnkheXwjXilhR0AKenB3fFNRQytOTXloP1dBaEpm
ZT5iXmYzeUgzQTdaVHIyczdqWGVtSFQwbEh+SXd1PE9SNjVVKip0QWhYRXt6PTIzCnFjcChPYzZ9
R3pqX25NJXNwfSlVZiMtdVk0QHF0QmhQOCN9bzQ3IV43YCFue0xgfkN3QVhvWHx8CgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2Vk
LXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJkNjcwZmI2OGIyYjdk
NzkyYTMyZTg0Y2M4OGZlOTA0ODg2NjhhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9lbmNvZGluZy9k
ZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDIyICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjYw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNjAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMzYKLSAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDc2Nng1NAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc2
NjogIlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24g
b2Ygdm9pY2VkIGphcGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSBy
ZW5kZXJlZCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNzYzOiAidGhlIHNh
bWUgYXMgdGhlIHByZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVsLXRlc3Qs
IGFuZCBwYXNzZXMgd2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVudHMgYXJl
IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA2MDogImlkZW50aWNhbC4iCi0g
ICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgzNAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6ZSAxNjh4MjgKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwzKSB3aWR0aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENBfVx4ezMw
Njh9XHh7MzBDRn1ceHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMTI2KSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxNjZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjY6
ICJUaGUgYWJvdmUgaXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAs
MTY0KSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6
ZSAxNjh4MjgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0aCAxNjg6ICJceHszMEQw
fVx4ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMTcpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE3MngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE3MjogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQt
amFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zh
c3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4YTU5NzMwNGFiOGFiOTVhM2ZjNTA4
YjNmNTRmNTMxMGQyNWYzOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxp
c2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2NgotICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjY2Ci0gICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjQyCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwwKSBzaXplIDc4NHg1NAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA3NzV4NTQKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NzU6ICJUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNl
ZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQg
dGhlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3MjQ6ICJzYW1lIGFzIHRo
ZSBwcmVjb21wb3NlZCB2ZXJzaW9uLiBUaGlzIHRlc3QgaXMgYSBwaXhlbC10ZXN0LCBhbmQgcGFz
c2VzIHdoZW4gdGhlIHRleHQgaW4gdGhlIHR3byBoZWFkaW5nIGVsZW1lbnRzIGFyZSIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc6ICJpZGVudGljYWwuIgotICAgICAgUmVu
ZGVyQmxvY2sge0gyfSBhdCAoMCw3Mykgc2l6ZSA3ODR4MzcKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgMTY4eDI4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkg
d2lkdGggMTY4OiAiXHh7MzBDRn1ceHszMDk5fVx4ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMw
Q0Z9XHh7MzA5QX1ceHszMENBfVx4ezMwREV9IgotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDEyOSkgc2l6ZSA3ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTY0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY0OiAiVGhlIGFi
b3ZlIGlzIGRlY29tcG9zZWQiCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDE2Nykgc2l6
ZSA3ODR4MzcKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTY4eDI4
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTY4OiAiXHh7MzBEMH1ceHszMENB
fVx4ezMwQ0F9XHh7MzA2OH1ceHszMEQxfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMjIzKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNjl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxNjk6ICJUaGUgYWJvdmUgaXMgcHJlY29tcG9zZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFw
YW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQxZGJmNzA1M2Q4NmZiYzgwYmM1
YTg3MmE1ZTFmN2VlYjNjOGQ3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rl
bm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjEgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzgK
LSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDIzOAotICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDIxNAotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNzg0eDM5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzg0
OiAiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBv
ZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJl
bmRlcmVkIHRoZSBzYW1lIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3MTc6
ICJhcyB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwg
YW5kIHBhc3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUg
aWRlbnRpY2FsLiIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNTkpIHNpemUgNzg0eDI4
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2NHgyNgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2NDogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENB
fVx4ezMwQ0F9XHh7MzA2OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMDYpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE1OXgxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE1OTogIlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxv
Y2sge0gyfSBhdCAoMCwxNDYpIHNpemUgNzg0eDI4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE2NHgyNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDE2NDogIlx4ezMwRDB9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4
ezMwREV9IgotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5Mykgc2l6ZSA3ODR4MjEKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE5Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVub3Jt
YWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNo
YXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ2ZDQ5MDBj
MGI1MmE2ODhhYzIxZGM4ZjFhMTQyYThhNDYwNTY0Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvZmFzdC9lbmNv
ZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAot
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MjQ4Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNDgKLSAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMjQKLSAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDc3NXg1MwotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDc3NTogIlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZl
cnNpb24gb2Ygdm9pY2VkIGphcGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJz
IGFyZSByZW5kZXJlZCB0aGUiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDcy
NDogInNhbWUgYXMgdGhlIHByZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVs
LXRlc3QsIGFuZCBwYXNzZXMgd2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVu
dHMgYXJlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA1NzogImlkZW50aWNh
bC4iCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgyOAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4MjYKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENB
fVx4ezMwNjh9XHh7MzBDRn1ceHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMTIwKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNjR4MTcKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxNjQ6ICJUaGUgYWJvdmUgaXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0g
YXQgKDAsMTU4KSBzaXplIDc4NHgyOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxNjh4MjYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjg6ICJc
eHszMEQwfVx4ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIK
LSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMDUpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2OXgxNwotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDE2OTogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406333</attachid>
            <date>2020-08-10 15:20:49 -0700</date>
            <delta_ts>2020-08-10 21:06:16 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215059-20200810152048.patch</filename>
            <type>text/plain</type>
            <size>103263</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmEzZGYzZDQ0NzU0NmRjYTczYTNmNGEwMjRlNzc2NTg0ZGI0MjA4
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDliODQ4
MTBhNDMyM2ExY2NjYzI4MjQ5YjRjNWZhYTk3ZDJjN2M0YzAuLjhlZjdhODE2ZGI0OTEzN2YwYjY5
OTA3MTU2ZDEzMjNkOGE5YjJmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAyMC0w
OC0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIFVwZGF0ZXMgZXhpc3RpbmcgdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmNoYXJhY3RlclJhbmdlQ29kZVBhdGgp
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZVNs
b3dDYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVy
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZv
bnRUcmFuc2Zvcm1zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFw
cGx5Rm9udFRyYW5zZm9ybXMpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6Y29t
bWl0Q3VycmVudEZvbnRSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlSW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpGb250OjphcHBseVRyYW5zZm9ybXMgY29uc3QpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyBjb25zdCk6CisKIDIwMjAt
MDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaGFwaW5nIGNhbiBiZSBwZXJmb3JtZWQgb24gZ2x5cGhJRHMgZnJvbSB0aGUgd3JvbmcgZm9u
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMzhjNjdiNWVkMDJjNzQxYzNlMzU4ZDdiZWMzYjNhYjhl
MjNmZjhjOC4uYWJiNWU2OGQ1MmY4NWExZmUyOGEwNzMxYzQ4Zjc4NDZjZGQyYjEwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJv
bSBDVEZvbnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBo
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUw
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHBhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOC0wNyAgSm9obiBXaWxhbmRlciAgPHdp
bGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBlcmltZW50YWw6IENhcCB0aGUgZXhwaXJ5
IG9mIHBlcnNpc3RlbnQgY29va2llcyBzZXQgaW4gM3JkLXBhcnR5IENOQU1FIGNsb2FrZWQgSFRU
UCByZXNwb25zZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGVhYTgyODVkZjExODBjMjE5YTNkZWJh
ZDE3NjEyOWY0NzI3ZGFiZjIuLmFkZTQyZGQxMzlmM2E5ZjRhYWY0NzM4MmU1YjBkNjRjYmY2ODFh
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1Vc2UuaApAQCAtMzAyLDUgKzMwMiw1IEBACiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDExMDAwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRSQU5TRk9STUdMWVBI
U1dJVEhMQU5HVUFHRSAxCisjZGVmaW5lIFVTRV9DVEZPTlRTSEFQRUdMWVBIUyAxCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4
IDdkMjE0ZWRhOWY1MTc0NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQuLjM0MmQ1OTFlMDVhYmQw
YTQyMDFkYzAzNjI2N2QwMzVhNjFhNDViOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApAQCAtNDYsNiArNDYsMTIgQEAgdHlwZWRlZiBDRl9P
UFRJT05TKHVpbnQzMl90LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKSB7CiAgICAga0NURm9udFRy
YW5zZm9ybUFwcGx5UG9zaXRpb25pbmcgPSAoMSA8PCAxKQogfTsKIAordHlwZWRlZiBDRl9PUFRJ
T05TKENGT3B0aW9uRmxhZ3MsIENURm9udFNoYXBlT3B0aW9ucykgeworICAgIGtDVEZvbnRTaGFw
ZVdpdGhLZXJuaW5nID0gKDEgPDwgMCksCisgICAga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21w
b3NpdGlvbiA9ICgxIDw8IDEpLAorICAgIGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0ID0gKDEgPDwg
MiksCit9OworCiB0eXBlZGVmIENGX09QVElPTlModWludDMyX3QsIENURm9udERlc2NyaXB0b3JP
cHRpb25zKSB7CiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25TeXN0ZW1VSUZvbnQgPSAxIDw8
IDEsCiAgICAga0NURm9udERlc2NyaXB0b3JPcHRpb25QcmVmZXJBcHBsZVN5c3RlbUZvbnQgPSBr
Q1RGb250T3B0aW9uc1ByZWZlclN5c3RlbUZvbnQKQEAgLTkyLDcgKzk4LDcgQEAgZXh0ZXJuIGNv
bnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NGYW1pbHlNb25vc3BhY2U7CiBleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NURm9udENTU0ZhbWlseVN5c3RlbVVJOwogCiBib29sIENURm9udFRyYW5z
Zm9ybUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1td
LCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKTsKLUNHU2l6ZSBDVEZvbnRU
cmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBDR0dseXBoW10sIENHU2l6ZVtd
LCBDRkluZGV4IGNvdW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zLCBDRlN0cmluZ1JlZiBsYW5n
dWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXplKiopKTsKK0NH
U2l6ZSBDVEZvbnRTaGFwZUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6
ZSBhZHZhbmNlc1tdLCBDR1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBpbmRleGVzW10sIGNvbnN0
IFVuaUNoYXIgY2hhcnNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hhcGVPcHRpb25zLCBDRlN0
cmluZ1JlZiBsYW5ndWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dT
aXplKiosIENHUG9pbnQqKiwgQ0ZJbmRleCoqKSk7CiAKIENHU2l6ZSBDVFJ1bkdldEluaXRpYWxB
ZHZhbmNlKENUUnVuUmVmKTsKIENUTGluZVJlZiBDVExpbmVDcmVhdGVXaXRoVW5pQ2hhclByb3Zp
ZGVyKENUVW5pQ2hhclByb3ZpZGVyQ2FsbGJhY2ssIENUVW5pQ2hhckRpc3Bvc2VDYWxsYmFjaywg
dm9pZCogcmVmQ29uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAK
aW5kZXggOWFlNjkwNjhmM2ViZmZmYTljOGU0MDU4ZDUxYTgzNGQ4ZGEwN2YwMi4uNmVmOTc4OTI3
YzMwMjQ5MTI3ZGY1Y2JkNGU5YTU1YTg3OGQ0NDljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA1LCAyMDA4LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292CiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC01MTIsNyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OmNyZWF0ZVNjYWxl
ZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2EKIH0KIAog
I2lmICFQTEFURk9STShDT0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVm
ZmVyJiwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdAordm9p
ZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQs
IGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9u
KSBjb25zdAogewogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmgKaW5kZXggZWFmOWRhYzQyMGFhZmUwMmJjYWY3MDdiN2VkY2I0ZGRlMzNkOTRiNy4uOGVjMzM4
MGQ3YjdlNDVjMGQxMWU3YzhjNGVmNzIxZjY5ZWIyNWYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgaW50ZXJuYWwgZm9udCBpbXBsZW1lbnRhdGlvbi4KICAqCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDgsIDIwMTAsIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBNb2JpbGUsIElu
Yy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC0yMDcsNyArMjA3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICBib29sIGNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiwg
c2l6ZV90KSBjb25zdDsKLSAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVu
c2lnbmVkIGJlZ2lubmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNT
aGFwaW5nLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0OworICAgIHZvaWQgYXBwbHlU
cmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5z
aWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1
aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBU
ZXh0RGlyZWN0aW9uKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBTQ1JJUFRfRk9O
VFBST1BFUlRJRVMqIHNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXggODRmNmI4MGIx
YWYyZTI3NDE4NzUwMDQ2MGE4OTBiMDNmM2FiNzRkOS4uY2Q2ZGVkYjM2NzQ5MWVlOTgxZTJhOWFl
M2Y5ZWNiNjM2YTY3ODIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcApAQCAtNDI2LDcgKzQyNiw3IEBAIGZsb2F0IEZvbnRDYXNjYWRl
Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFj
a0ZvbnRzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZmxvYXQgRm9udENhc2NhZGU6OndpZHRo
Rm9yU2ltcGxlVGV4dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CitmbG9hdCBGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGly
ZWN0aW9uKSBjb25zdAogewogICAgIGlmICh0ZXh0LmlzTnVsbCgpIHx8IHRleHQuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gMDsKQEAgLTQ0NSw3ICs0NDUsNyBAQCBmbG9hdCBGb250Q2FzY2Fk
ZTo6d2lkdGhGb3JTaW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29uc3QKICAgICAgICAgZ2x5
cGhCdWZmZXIuYWRkKGdseXBoLCBmb250LCBnbHlwaFdpZHRoLCBpKTsKICAgICB9CiAKLSAgICBm
b250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgZW5hYmxlS2VybmluZygpLCByZXF1
aXJlc1NoYXBpbmcoKSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSk7CisgICAg
Zm9udC5hcHBseVRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwg
cmVxdWlyZXNTaGFwaW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRl
eHQsIHRleHREaXJlY3Rpb24pOwogICAgIC8vIFRoaXMgaXMgbmVlZGVkIG9ubHkgdG8gbWF0Y2gg
dGhlIHJlc3VsdCBvZiB0aGUgc2xvdyBwYXRoLgogICAgIC8vIFNhbWUgZ2x5cGggd2lkdGhzIGJ1
dCBkaWZmZXJlbnQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBjYW4gcHJvZHVjZSBkaWZmZXJl
bnQgcnVuIHdpZHRoLgogICAgIGZsb2F0IHJ1bldpZHRoRGlmZmVyZW5jZVdpdGhUcmFuc2Zvcm1B
cHBsaWVkID0gLXJ1bldpZHRoOwpAQCAtNzQ4LDYgKzc0OCwxMSBAQCBGb250Q2FzY2FkZTo6Q29k
ZVBhdGggRm9udENhc2NhZGU6OmNoYXJhY3RlclJhbmdlQ29kZVBhdGgoY29uc3QgVUNoYXIqIGNo
YXJhY3RlcgogICAgICAgICBpZiAoYyA8PSAweDMwMkYpCiAgICAgICAgICAgICByZXR1cm4gQ29t
cGxleDsKIAorICAgICAgICBpZiAoYyA8IDB4MzA5OSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICBpZiAoYyA8IDB4MzA5RCkKKyAgICAgICAgICAgIHJldHVybiBDb21wbGV4OyAvLyBL
QVRBS0FOQS1ISVJBR0FOQSAoU0VNSS0pVk9JQ0VEIFNPVU5EIE1BUktTIHJlcXVpcmUgY2hhcmFj
dGVyIGNvbXBvc2l0aW9uCisKICAgICAgICAgaWYgKGMgPCAweEE2N0MpIC8vIFUrQTY3QyB0aHJv
dWdoIFUrQTY3RCBDb21iaW5pbmcgbWFya3MgZm9yIG9sZCBDeXJpbGxpYwogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIGlmIChjIDw9IDB4QTY3RCkKQEAgLTEzOTEsNiArMTM5Niw4IEBA
IEdseXBoQnVmZmVyIEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4m
IHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5
cGhCdWZmZXIncyBjdXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVyLnNldElu
aXRpYWxBZHZhbmNlKEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAgLy8gVGhl
IGdseXBoIGJ1ZmZlciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAvLyBidXQg
d2UgbmVlZCB0byByZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgogICAgIGlmIChy
dW4ucnRsKCkpCiAgICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZmZXIuc2l6
ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmgKaW5kZXggOWFkM2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1NGFiYy4uMzg3Mzk5
ZjE0NTQzZDZhMDE0NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVi
bGljOgogCiAgICAgZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiwgdW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgZmxvYXQqIG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9hdCogb3V0V2lk
dGhBZnRlclJhbmdlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgZmxvYXQg
d2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0aEZvclNpbXBs
ZVRleHQoU3RyaW5nVmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZvclNpbXBsZVRl
eHQoU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSKSBj
b25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5b3V0RGVsZXRl
cj4gY3JlYXRlTGF5b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNvbGxhcHNlV2hp
dGVTcGFjZSkgY29uc3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlvdXQmLCB1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0Zv
bnRzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcAppbmRleCA0Y2I5
MDkzYmYxYjFkZDc1MTE4OTJjZWY2MTA1ZGQzNTMxYWZhNzRlLi41YWVlNGNjNDJhYzJkNzQ3MmRl
Nzk5ZWIxNjE5ZGUwYmNiMTEyZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5jcHAKQEAgLTM3LDE5ICszNyw3IEBAIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6
U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyCiAKIGJvb2wg
U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nhc2UoVUNoYXIzMiYg
Y2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKIHsKLSAgICBpZiAoY2hhcmFjdGVy
IDw9IDB4MzBGRSkgewotICAgICAgICAvLyBEZWFsIHdpdGggSGlyYWdhbmEgYW5kIEthdGFrYW5h
IHZvaWNlZCBhbmQgc2VtaS12b2ljZWQgc3lsbGFibGVzLgotICAgICAgICAvLyBOb3JtYWxpemUg
aW50byBjb21wb3NlZCBmb3JtLCBhbmQgdGhlbiBsb29rIGZvciBnbHlwaCB3aXRoIGJhc2UgKyBj
b21iaW5lZCBtYXJrLgotICAgICAgICAvLyBDaGVjayBhYm92ZSBmb3IgY2hhcmFjdGVyIHJhbmdl
IHRvIG1pbmltaXplIHBlcmZvcm1hbmNlIGltcGFjdC4KLSAgICAgICAgaWYgKFVDaGFyMzIgbm9y
bWFsaXplZCA9IG5vcm1hbGl6ZVZvaWNpbmdNYXJrcygpKSB7Ci0gICAgICAgICAgICBjaGFyYWN0
ZXIgPSBub3JtYWxpemVkOwotICAgICAgICAgICAgY2x1c3Rlckxlbmd0aCA9IDI7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYgKCFVMTZfSVNfU1VSUk9H
QVRFKGNoYXJhY3RlcikpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIEFTU0VSVChVMTZfSVNf
U1VSUk9HQVRFKGNoYXJhY3RlcikpOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBw
YWlyLCBtYWtlIHN1cmUgaXQgc3RhcnRzIHdpdGggdGhlIGhpZ2ggcGFydC4KICAgICBpZiAoIVUx
Nl9JU19TVVJST0dBVEVfTEVBRChjaGFyYWN0ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRl
cmF0b3IuaAppbmRleCA0NzBkMTRhZjI1ZGM0YjQ2MDU5MzdkNDUyNWFmNTJmNWExMTZhMGFkLi4z
NTRmYzk5ZTEwMjVkY2ZiMzZjNmEzNTU0NDc5NjFiYzI5MGQyZGJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNo
YXJhY3RlciA9ICptX2NoYXJhY3RlcnM7CiAgICAgICAgIGNsdXN0ZXJMZW5ndGggPSAxOwogCi0g
ICAgICAgIGlmIChjaGFyYWN0ZXIgPCBIaXJhZ2FuYUxldHRlclNtYWxsQSkKKyAgICAgICAgaWYg
KCFVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3RlcikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgICAgICByZXR1cm4gY29uc3VtZVNsb3dDYXNlKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0
aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCmluZGV4IGQ3Njg5NWY0NTMwZTkxMTE5ODg3Nzc4N2YwOTYzOGNkMzJiYjliYTIuLmUw
MThlNjJkZGE0YzBjMGI3Nzg3ODdhNDkxYzE3ZTU4ZTJjZGZmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC03OCwyNCAr
NzgsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVw
b2ludCkKICAgICByZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2RlcG9pbnQgPD0gMHhF
NTM3OwogfQogCi1pbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zKGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBo
Q291bnQsIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBl
CitpbmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNv
bnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVu
c2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKIHsK
LSAgICBpZiAoZ2x5cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlz
U29mdEJhbmtFbW9qaShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgQVNTRVJUKGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA8PSBtX3J1bi5sZW5ndGgoKSk7CisgICAgaWYgKGdseXBoQnVmZmVyLnNpemUo
KSA9PSAobGFzdEdseXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggJiYgaXNT
b2Z0QmFua0Vtb2ppKG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXggLSAxXSkpCiAg
ICAgICAgIHJldHVybiBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmIChtX3J1bi5sZW5n
dGgoKSA8PSAxKQogICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5vbmU7CiAgICAgcmV0
dXJuIFRyYW5zZm9ybXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBmbG9hdCBXaWR0aEl0
ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9v
bCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYgZm9udCwgVUNoYXIz
MiBwcmV2aW91c0NoYXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNl
JiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6
YXBwbHlGb250VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxh
c3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVyc1Ry
ZWF0ZWRBc1NwYWNlKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIsIHNo
b3VsZEFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2
aW91c0NoYXJhY3RlcikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpOwor
ICAgIEFTU0VSVF9VTlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91bGRBcHBseUZvbnRU
cmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rlcklu
ZGV4KSAhPSBXaWR0aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7CiAKICAgICBhdXRv
IGdseXBoQnVmZmVyU2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAgICBpZiAoIWZvcmNlICYm
IGdseXBoQnVmZmVyU2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAgICAgbGFzdEds
eXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZl
clNpemUgPD0gbGFzdEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAK
ICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMo
MCk7CiAgICAgZmxvYXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTAzLDE3ICsxMDIsMTUgQEAgaW5s
aW5lIGZsb2F0IFdpZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIm
IGdseXBoQnVmZmVyLCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGggKz0gYWR2YW5jZXNbaV0u
d2lkdGgoKTsKIAogICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBnbHlwaEJ1ZmZlclNpemUp
OwotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENv
dW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAgICBmb250LmFwcGx5
VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxlS2VybmluZywg
bV9yZXF1aXJlc1NoYXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2Fs
ZSgpKTsKKyAgICBmb250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291
bnQsIG1fY3VycmVudENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNT
aGFwaW5nLCBtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwgbV9ydW4u
dGV4dCgpLCBtX3J1bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhC
dWZmZXIuc2l6ZSgpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkg
PCBnbHlwaEJ1ZmZlclNpemU7ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9yaWdpbiogb3JpZ2lucyA9
IGdseXBoQnVmZmVyLm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBo
Q291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBhZHZhbmNlc1tpXS5z
ZXRIZWlnaHQoLWFkdmFuY2VzW2ldLmhlaWdodCgpKTsKLQotICAgIGlmICghbHRyKQotICAgICAg
ICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBs
YXN0R2x5cGhDb3VudCk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3JpZ2luc1tpXS55KCkp
OworICAgIH0KIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5
cGhCdWZmZXJTaXplOyArK2kpIHsKICAgICAgICAgYXV0byBjaGFyYWN0ZXJJbmRleCA9IGdseXBo
QnVmZmVyLnN0cmluZ09mZnNldEF0KGkpOwpAQCAtMTMzLDcgKzEzMCw2IEBAIGlubGluZSBmbG9h
dCBXaWR0aEl0ZXJhdG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlciwgYm9vbCBsCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBn
bHlwaEJ1ZmZlclNpemU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZhbmNlc1tpXS53
aWR0aCgpOwogCi0gICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CiAgICAgcmV0
dXJuIGFmdGVyV2lkdGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTY2LDExICsxNjIsMTIgQEAg
c3RhdGljIGlubGluZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9v
bCBpZGVvZ3JhcGgsIGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5k
TGVmdCwgZXhwYW5kUmlnaHQpOwogfQogCi12b2lkIFdpZHRoSXRlcmF0b3I6OmNvbW1pdEN1cnJl
bnRGb250UmFuZ2UoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhD
b3VudCwgY29uc3QgRm9udCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgY29uc3Qg
Rm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9hdCB3aWR0aE9mQ3VycmVu
dEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFz
U3BhY2UpCit2b2lkIFdpZHRoSXRlcmF0b3I6OmNvbW1pdEN1cnJlbnRGb250UmFuZ2UoR2x5cGhC
dWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3Vy
cmVudENoYXJhY3RlckluZGV4LCBjb25zdCBGb250JiBmb250LCBjb25zdCBGb250JiBwcmltYXJ5
Rm9udCwgVUNoYXIzMiBjaGFyYWN0ZXIsIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlLCBD
aGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UmIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSkKIHsKLSAg
ICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1
ZmZlciwgbGFzdEdseXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICBhdXRvIHRyYW5z
Zm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEds
eXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgaWYgKHRyYW5zZm9ybXNUeXBl
ICE9IFRyYW5zZm9ybXNUeXBlOjpOb25lKQotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBw
bHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50
LCBmb250LCBwcmV2aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5
cGU6OkZvcmNlZCwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgbV9ydW5XaWR0
aFNvRmFyICs9IGFwcGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50
LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGZvbnQsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9y
bXNUeXBlOjpGb3JjZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAgbV9jdXJyZW50
Q2hhcmFjdGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAKICAgICBpZiAod2lkdGhP
ZkN1cnJlbnRGb250UmFuZ2UgJiYgbV9mYWxsYmFja0ZvbnRzICYmICZmb250ICE9ICZwcmltYXJ5
Rm9udCkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2VzIGEgbGl0dGxlIGV4dHJhIHdvcmsg
dGhhdCBjb3VsZCBiZSBhdm9pZGVkIGlmCkBAIC0xODgsNyArMTg1LDcgQEAgdm9pZCBXaWR0aEl0
ZXJhdG9yOjpjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwg
dW5zaWduZWQgbGEKIHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9p
ZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0
b3IsIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29yZSBsb2dpYyBo
ZXJlIG5lZWRzIHRvIG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgp
CisgICAgLy8gVGhlIGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250Q2FzY2FkZTo6
d2lkdGhGb3JTaW1wbGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJv
b2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250Lndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IApAQCAtMjA0LDggKzIwMSw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJ
bnRlcm5hbChUZXh0SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3Qg
Rm9udCogbGFzdEZvbnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlw
aENvdW50ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0
ZXIgPSAwOwotICAgIFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVk
IGNsdXN0ZXJMZW5ndGggPSAwOwogICAgIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0
ZXJzVHJlYXRlZEFzU3BhY2U7CiAgICAgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgPSAw
OwpAQCAtMjE4LDE0ICsyMTUsMTUgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAg
Ly8gZG9lc24ndCBzdXBwb3J0IHRoZSBjb2RlIHBvaW50LiBXZSBzaG91bGQgaWdub3JlIHRoZW0g
YXQgdGhpcyBwb2ludCB0byBlbnN1cmUgdGhleSBhcmUgbm90IGRpc3BsYXllZC4KICAgICAgICAg
aWYgKCFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAgICAgdGV4dEl0ZXJh
dG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVy
SW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXgg
PSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYg
Z2x5cGhEYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7
CiAgICAgICAgIEdseXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWds
eXBoICYmICFjaGFyYWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAgICAgdGV4dEl0
ZXJhdG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFj
dGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQogICAgICAgICBjb25zdCBGb250KiBmb250ID0gZ2x5cGhEYXRhLmZv
bnQgPyBnbHlwaERhdGEuZm9udCA6ICZtX2ZvbnQucHJpbWFyeUZvbnQoKTsKQEAgLTI0Myw4ICsy
NDEsNyBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0
ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGZvbnQgIT0gbGFzdEZvbnREYXRhKSB7Ci0gICAgICAgICAgICBjb21taXRDdXJyZW50Rm9udFJh
bmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgKmxhc3RGb250RGF0YSwgcHJldmlvdXND
aGFyYWN0ZXIsIHByaW1hcnlGb250LCBjaGFyYWN0ZXIsIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdl
LCBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFj
dGVySW5kZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CisgICAgICAgICAgICBjb21taXRDdXJy
ZW50Rm9udFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3Rl
ckluZGV4LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3Vy
cmVudEZvbnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKICAgICAgICAgICAgIGxh
c3RHbHlwaENvdW50ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogICAgICAgICAgICAgbGFzdEZvbnRE
YXRhID0gZm9udDsKICAgICAgICAgICAgIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlID0gd2lkdGg7
CkBAIC0yODksNiArMjg2LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUlu
dGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT56ZXJvV2lkdGhT
cGFjZUdseXBoKCksICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZm9udC0+c3Bh
Y2VHbHlwaCgpLCAqZm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJh
Y3RlckluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291
bnQgPSBnbHlwaEJ1ZmZlci5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fY3VycmVudENoYXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbHlwaEJ1ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9ydHVu
aXR5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0zMTQsNyArMzEzLDcg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBh
bnNpb24gPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUg
PSBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwg
cHJldmlvdXNDaGFyYWN0ZXIpOworICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxk
QXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1z
VHlwZTo6Tm9uZSAmJiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAg
ICAgICAgICAgIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBlbmQoCiAg
ICAgICAgICAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4LApAQCAtMzMyLDIzICszMzEsMjIg
QEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRv
ciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lz
ICYmICFGb250Q2FzY2FkZTo6Y2FuUmVjZWl2ZVRleHRFbXBoYXNpcyhjaGFyYWN0ZXIpKQogICAg
ICAgICAgICAgZ2x5cGggPSAwOwogCisgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgKmZv
bnQsIHdpZHRoLCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpOworCiAgICAgICAgIC8vIEFkdmFuY2Ug
cGFzdCB0aGUgY2hhcmFjdGVyIHdlIGp1c3QgZGVhbHQgd2l0aC4KICAgICAgICAgdGV4dEl0ZXJh
dG9yLmFkdmFuY2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKIAogICAgICAgICBtX3J1bldpZHRoU29G
YXIgKz0gd2lkdGg7CiAKLSAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAqZm9udCwgd2lk
dGgsIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCk7Ci0KICAgICAgICAgaWYgKG1fYWNjb3VudEZvckds
eXBoQm91bmRzKSB7CiAgICAgICAgICAgICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gc3RkOjpt
YXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CiAgICAgICAgICAgICBt
X21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJvdW5kaW5nQm94WSwg
Ym91bmRzLnkoKSk7CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92ZXJmbG93ID0gc3RkOjptYXg8
ZmxvYXQ+KDAsIGJvdW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAgICAgIH0KLSAgICAgICAgcHJl
dmlvdXNDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCi0gICAgY29tbWl0Q3VycmVudEZv
bnRSYW5nZShnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZp
b3VzQ2hhcmFjdGVyLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRS
YW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJ
bmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKyAgICBjb21taXRDdXJyZW50Rm9u
dFJhbmdlKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4
LCAqbGFzdEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZv
bnRSYW5nZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKIAogICAgIGlmIChsZWZ0b3Zlckp1
c3RpZmljYXRpb25XaWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXgg
MTc5OGIxYmJjYzhmYWE4NTY0NWY1MDkwNjhiOGE0MDE1NmQ4YTA1OS4uZjQ1ZDZkMmFkMGQ1Yzcz
MTgyOGRlMTc4YzEwMDA3ODBhYzdhNmNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaApAQCAtNjAsOSArNjAsOSBAQCBwcml2YXRlOgog
ICAgIGlubGluZSB2b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZl
ciYpOwogCiAgICAgZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90
Rm9yY2VkIH07Ci0gICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhj
b25zdCBHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZp
b3VzQ2hhcmFjdGVyKSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBo
QnVmZmVyJiwgYm9vbCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYs
IFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVk
QXNTcGFjZSYpOwotICAgIHZvaWQgY29tbWl0Q3VycmVudEZvbnRSYW5nZShHbHlwaEJ1ZmZlciYs
IHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0No
YXJhY3RlciwgY29uc3QgRm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9h
dCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7Cisg
ICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1
ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVy
SW5kZXgpIGNvbnN0OworICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXIm
LCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4
LCBjb25zdCBGb250JiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7Cisg
ICAgdm9pZCBjb21taXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFz
dEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCYs
IGNvbnN0IEZvbnQmIHByaW1hcnlGb250LCBVQ2hhcjMyIGNoYXJhY3RlciwgZmxvYXQgd2lkdGhP
ZkN1cnJlbnRGb250UmFuZ2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogCiAgICAgY29u
c3QgRm9udENhc2NhZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpp
bmRleCA2NWI1ZTE2NDBhZGI3Mjg3OGUzM2U4ZDg5ZGY4ZjRmOTVmOWYxMjhkLi45M2ZiMDAwNGUy
ZDA0YWE3NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NDQsMjggKzU0NCw3
OCBAQCBSZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250KGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVybiBjcmVhdGVEZXJpdmF0aXZl
Rm9udChzY2FsZWRGb250LmdldCgpLCBzaXplLCBtX3BsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigp
LCBmb250VHJhaXRzLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1E
YXRhLnN5bnRoZXRpY09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1z
KEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wg
ZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxv
Y2FsZSkgY29uc3QKK3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlw
aEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5n
U3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNv
bnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRl
eHREaXJlY3Rpb24pIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZl
ciBpbml0aWFsIGFkdmFuY2UuCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7Ci0g
ICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RG
b250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5
U2hhcGluZzsKLSNpZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQotICAg
IGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50
ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlcikgeworCisgICAgLy8gRklYTUU6IEltcGxl
bWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYgVVNFKENURk9OVFNIQVBFR0xZ
UEhTKQorICAgIGF1dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0ds
eXBoc1BvaW50ZXIsIENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2ludCoqIG5ld09m
ZnNldHNQb2ludGVyLCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKICAgICAgICAgcmFu
Z2UubG9jYXRpb24gPSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwgc3RhdGljX2Nh
c3Q8Q0ZJbmRleD4oMCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZlci5zaXplKCkp
KTsKICAgICAgICAgaWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAgICAgICAgICAgIHJhbmdlLmxl
bmd0aCA9IHN0ZDo6bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsKICAgICAgICAg
ICAgIHJhbmdlLmxvY2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5ndGg7Ci0gICAg
ICAgICAgICBnbHlwaEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlv
biwgcmFuZ2UubGVuZ3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5p
bmdHbHlwaEluZGV4ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CiAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nSW5kZXggKyBy
YW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAgICAgICAgKm5ld0dseXBoc1Bv
aW50ZXIgPSBnbHlwaEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpOwotICAgICAgICAqbmV3
QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpOwor
ICAgICAgICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJbmRleCArIHJh
bmdlLmxvY2F0aW9uLCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpuZXdHbHlwaHNQ
b2ludGVyID0gZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAgICAg
ICAqbmV3QWR2YW5jZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nR2x5
cGhJbmRleCk7CisgICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9yaWdp
bnMoYmVnaW5uaW5nR2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9pbnRlciA9IGds
eXBoQnVmZmVyLm9mZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKICAgICB9Owot
ICAgIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRlcnByZXRfY2Fz
dDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkpLCBnbHlwaEJ1
ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxlQ29jb2E6OmNhbm9u
aWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8gc3Vic3RyaW5nID0gdGV4dC5z
dWJzdHJpbmcoYmVnaW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFy
YWN0ZXJzID0gc3Vic3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAgIGF1dG8gbG9j
YWxlU3RyaW5nID0gTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21T
dHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOworICAgIENURm9udFNoYXBl
T3B0aW9ucyBvcHRpb25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbgorICAg
ICAgICB8IChlbmFibGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0aEtlcm5pbmcgOiAwKQorICAg
ICAgICB8ICh0ZXh0RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OlJUTCA/IGtDVEZvbnRTaGFw
ZVJpZ2h0VG9MZWZ0IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhC
dWZmZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1
ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gLT0gYmVnaW5uaW5n
U3RyaW5nSW5kZXg7CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAgICAgbV9wbGF0Zm9y
bURhdGEuY3RGb250KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlw
aEluZGV4KSwKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5h
ZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8
Q0dQb2ludCo+KGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLAorICAg
ICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCksCisg
ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29udmVydGVkQ2hhcmFj
dGVycy5nZXQoKSksCisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBo
SW5kZXgsCisgICAgICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmluZy5nZXQoKSwKKyAg
ICAgICAgaGFuZGxlcik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZm
ZXIuc2l6ZSgpIC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZl
ci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gKz0gYmVnaW5uaW5nU3Ry
aW5nSW5kZXg7CisKICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5nU3RyaW5nSW5k
ZXgpOwogICAgIFVOVVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5zZm9ybUdseXBo
cyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0lu
ZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdp
bm5pbmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9u
cyk7CisgICAgVU5VU0VEX1BBUkFNKHRleHQpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5
cGhzKCkgb3BlcmF0ZXMgaW4gdmlzdWFsIG9yZGVyLCBidXQgV2lkdGhJdGVyYXRvciBpdGVyYXRl
cyBpbiBsb2dpY2FsIG9yZGVyLgorICAgIC8vIFRlbXBvcmFyaWx5IHB1dCB1cyBpbiB2aXN1YWwg
b3JkZXIganVzdCBmb3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBsb2dpY2FsIG9y
ZGVyIHdoZW4KKyAgICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRvbid0IGhhdmUg
YSBnbG9iYWwgdmlldyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBqdXN0IG9wZXJh
dGluZyBvbiBhIHNpbmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJhdG9yIGVuY291
bnRlcnMgdGhlIGNodW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYWlu
dGFpbiB0aGF0IGludmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2FzY2FkZTo6bGF5
b3V0U2ltcGxlVGV4dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRvIHB1dCB0aGUg
ZW50aXJlIHRoaW5nCisgICAgLy8gaW4gdmlzdWFsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVj
YXVzZSBpdCBoYXMgYSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24g
dGhlIG90aGVyIGhhbmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGlu
IGxvZ2ljYWwgb3JkZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwg
d2hpY2ggbWVhbnMgdGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBu
ZWVkcyB0byBleGVjdXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5n
IHVzZWQuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMKQorICAg
ICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBoQnVmZmVy
LnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOworCisgICAgQ1RGb250VHJhbnNmb3JtT3B0
aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3Np
dGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKKyAgICBDVEZvbnRU
cmFuc2Zvcm1HbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBo
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1
ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAt
IGJlZ2lubmluZ0dseXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCisKKyAgICAvLyBTZWUgdGhl
IGNvbW1lbnQgYWJvdmUgaW4gdGhpcyBmdW5jdGlvbiB3aGVyZSB0aGUgb3RoZXIgY2FsbCB0byBy
ZXZlcnNlKCkgaXMuCisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRM
KQorICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBo
QnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOwogfQogCiBzdGF0aWMgaW50IGV4
dHJhY3ROdW1iZXIoQ0ZOdW1iZXJSZWYgbnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQu
Y3BwCmluZGV4IDMyNTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEwY2FiZDI0MTdkYTQuLmZmNmZj
OGQ4MzI5ZDQ0ZmZhOTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFD
b3JlVGV4dC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4g
Rm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAg
ICB2YWx1ZXNbMF0gPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQg
PSAxOwogCi0jaWYgVVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNpZiBV
U0UoQ1RGT05UU0hBUEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2NhbGVT
dHJpbmc7CiAgICAgaWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0cmlu
ZyA9IGxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3YjhkYTYxMDZm
MjllMDU2YTRkMWJkOGVjNDZkNDRkMWIzY2ZmOGEuLmQ4MDZmZjkwZWM5YzNlZmUwYTU1MmU2ZmNh
ZjMwNmQ4ZGZkODAxYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wOC0xMCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWln
cmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENURm9udFNo
YXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
ICogZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVj
dGVkLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxp
c2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sLgorICAgICAgICAqIGZhc3QvZW5jb2Rpbmcv
ZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sOiBVcGRhdGUgdG8gYmUgYSBy
ZWZ0ZXN0LgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdp
ZHRoLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbDogVXBkYXRlIHRvIGJlIG1vcmUgcm9idXN0LgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2Ut
Y2hhcnMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0
L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFs
aXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThOL3RzcGFuLWRpcmVjdGlvbi1ydGwt
ZXhwZWN0ZWQudHh0OiBBZGRlZCBCaWcgU3VyIC1leHBlY3RlZCByZXN1bHQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBlY3RlZC50eHQ6IERp
dHRvLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12
b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hh
cnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZW5jb2RpbmcvZGVub3Jt
YWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBh
bmVzZS1jaGFycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjAtMDgtMTAgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFwaW5nIGNhbiBi
ZSBwZXJmb3JtZWQgb24gZ2x5cGhJRHMgZnJvbSB0aGUgd3JvbmcgZm9udApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNo
YXJzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNl
ZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmYzMDBm
N2JkNzRhM2NmZmM5M2UxM2IzMDk4MDJlZThkYWZlYzEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJz
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICIt
Ly9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3ho
dG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iPgorPGhlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYt
OCIgLz4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBv
c2VkIHVuaWNvZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdhbmEgYW5kIGthdGFr
YW5hIGNoYXJhY3RlcnMgYXJlIHJlbmRlcmVkIHRoZSBzYW1lIGFzIHRoZSBwcmVjb21wb3NlZCB2
ZXJzaW9uLgorPGgyIHN0eWxlPSJmb250LWZhbWlseTogJ0hpcmFnaW5vIE1pbmNobyBQcm9OJzsi
PuODkOODiuODiuOBqOODkeODiuODnjwvaDI+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVz
ZS1jaGFycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9p
Y2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKaW5kZXggOTM3OTFlZWViZTk5NGEzYzM4YWY4NTZhMDYy
MmRmNDZlMmIyODljMy4uZjVkYTExNTUxYjRhZWQ3M2VkMTkxMTk5MmVmZTMyOWY5MmUyOTZmYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2Vk
LWphcGFuZXNlLWNoYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5v
cm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKQEAgLTQsMTIgKzQsOCBAQAogPG1l
dGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
VVRGLTgiIC8+CiA8L2hlYWQ+CiA8Ym9keT4KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZGVj
b21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9pY2VkIGphcGFuZXNlIGhpcmFnYW5hIGFuZCBr
YXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJlZCB0aGUgc2FtZSBhcyB0aGUgcHJlY29tcG9z
ZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwgYW5kIHBhc3NlcyB3aGVuIHRo
ZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUgaWRlbnRpY2FsLgotPGgyPuOD
j+OCmeODiuODiuOBqOODj+OCmuODiuODnjwvaDI+Ci08cD5UaGUgYWJvdmUgaXMgZGVjb21wb3Nl
ZDwvcD4KLQotPGgyPuODkOODiuODiuOBqOODkeODiuODnjwvaDI+Ci08cD5UaGUgYWJvdmUgaXMg
cHJlY29tcG9zZWQ8L3A+CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRlY29tcG9zZWQgdW5p
Y29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQga2F0YWthbmEgY2hh
cmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIHNhbWUgYXMgdGhlIHByZWNvbXBvc2VkIHZlcnNpb24u
Cis8aDIgc3R5bGU9ImZvbnQtZmFtaWx5OiAnSGlyYWdpbm8gTWluY2hvIFByb04nOyI+44OP44KZ
44OK44OK44Go44OP44Ka44OK44OePC9oMj4KIAogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJl
ZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKaW5kZXggOTg0NzEyNjdlZTdhM2NlMTY5YjgwYTY2
MmE2ZGVlM2FiMjZmZTI4NC4uOWZiN2ViYTBmZDc2YzJjMGFhZGMzMWYyMDQyZTAyNzQyODAzZjYx
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVm
ZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCkBAIC0xMSw3ICsxMSw3
IEBACiA8dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAgICAg
ICAgPHRkPgotICAgICAgICAgICAgPGRpdj5leHRyYW9yZGluYXI8c3Bhbj4tPC9zcGFuPjxicj5p
bHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmEtPGJyPnJpbHk8L2Rpdj4KICAg
ICAgICAgPC90ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8
L3RyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1t
aW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKaW5kZXggZGU4YjFjYWE1YzJhY2I1MjA2MGRkMDc4N2E5
NjIyYWY5YmYyMmQ2ZC4uYTY1MDM4NWJjYTljMDU2Mzc3NzdmMjJhOTg4NWFkNzQwYzU3ZTI0NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJy
ZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29mdC1oeXBoZW4tbWlu
LXByZWZlcnJlZC13aWR0aC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8dGFibGUgY2VsbHNwYWNp
bmc9MCBjZWxscGFkZGluZz0wPgogICAgIDx0cj4KICAgICAgICAgPHRkPgotICAgICAgICAgICAg
PGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7Ij5leHRyYW9yZGluYXImc2h5O2ls
eTwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC1oeXBoZW5zOiBtYW51YWw7
Ij5leHRyYW9yZGluYSZzaHk7cmlseTwvZGl2PgogICAgICAgICA8L3RkPgogICAgICAgICA8dGQg
c3R5bGU9IndpZHRoOiAxMDAlIj48L3RkPgogICAgIDwvdHI+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFu
ZXNlLWNoYXJzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzUyMWQzZGI3MmM1NzQxNmM3ZTEyOTQ0NTE1
MTZhZTlkYzkzNDJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDIxNzYxCnpjbWVJ
YWNSMUk1LSNATy1oRWg+dk01SDB2R2h+JCM4SlhFcXd5ZG5rdFdjNFhXVW5HMkUwSH4ta2Q/aD5X
TXlWIwp6V2MoaFZ1SXMka2VjaXZ+YCNyd0xlZ0FjUiZmXz5NPE1WbHMqWCNMd3Rtb1REQHZfdzMt
R19EKTVmU2FaQnotfWQKemkwRj9hTF99TFBoX35WXjJQcURvIzI9XlpCe2wyfk9wT2Y4P0hud0w0
RVQ3M18+MlZqeGVkNUB4VlpURmc/Tmt2CnpqMTBKcDFnPi1HcFhNP1l7QXwoYmZuVkM4RkRyRntY
cGB7WWk9dT07QkJDUWltb0EpQmImOHpxeT92SXZ5LSQzRAp6ZUN6ZHsrbz98ZnA/e0ZkYVIwZlI+
VElwfmlxXmVKSXNPTWZidk5uOWNhP1ZxZjQ3YFNPLXk4MEQ9QFgoZTxMR1gKenBJXmN9azJ5X3Bl
QE9uODFFLUJuOShuZShjRTxtPGB8VVktPDdiejZuN2Z1SChnbFNeP1ppZkZ0RXl+eGomSnBpCnpD
Qn5yOyV+bFI3NWwpMD9fRXFUKTY4dzNgcX5xRWEhb1Q7PnZKdCk+ZWNmfEF7YGtPYUBze3ZVcn43
KjszNGhrVgp6RWhTdXIwaC1lcWdueD07QH0razU3QzBXPD9Idn52bXpsfDF2Zz0zcitNYkR0aVNG
KWhPR2BeI1Uwc0dOYCppb2UKeiZCKHx8T19nViskUyl8RWV8RSpPQUB4amE+YSsycTJZPGdkSGE3
T3srdm1ebjtHe3VoIUtQTDxOcF8mbzIyWnlgCnpxdS1vPmtpWUpPcjRaaGJKR3lSZDh0Sz1KakUm
UHcwenlMNlJhTjxKJndYPjRYZDczbnQqYElURypNOWhjN3NCYwp6I0A3RFYmI0NQc2x4KHtCMztS
Yko0c05OYnNjQkVxQiZWYVJSYWZpWDt2ZEUxdX5vY2x6ZEpHS2hrRWhOd2VfWGAKent0U2M0I3lG
YHU5fFBreiZKYDw3QHZfPUVSe1kxX0tTPW5NOSQkRChTYVhDa1E8dGlheGlJfndoZD8xYGd3RURt
CnppPCQ8IypRVUMySUZCRGMmY2JxSWJ6d1psVzg/T0BiRVZBKzstYzxyUEV0fnBrJiUmIWlPaSY9
cSFxcWxWUFY/WQp6N0dGQ0djYT9hMyZoVS1pQmVhYEBnalU0cXQobjk0YXJ3YDhReXJPaHdqODlV
N1BSVVM8bl49ezVWPSpJeFR+a04KekQpaHRKK00+QyZ3YTJmaW9jMSlgZzReQFA5diZXYzVAQkkp
cUhRKTcreDVnKCRCeEEtbzd2N2p4UyMkJEU1YmxuCnpsWmg/VXhvPk4mVz4oIyZuISh5ZUApZVJZ
OVAjUU9iSVpZUmMxfW9uPjFRfX5XdGxBKTFXMTF5OU9TdnQhWXVLKgp6O3BPPXAla0l9RjJZKmc9
M2t3VjlXd3tNfXhjbGJLOCF4WUkpOHBaYSEoVnhZRUBrQGBFQD5TaG4/M21FKkZkc0wKeiYmaz5J
KGlQaFp6b2tvRXheemlhX0VCYzBVNDY4dSVnOyUoJWdwbUNNem9famVhQF8+UEYtVEEycSN8KTtJ
KHItCnpiTE5hSE9IZ1ZteVpAOyQmayg5fGdDQ1IpQHpEZU8yaSFVaE50UFFibztyQXotQDAzKm9f
QDhlcyVwWERySn5jMQp6IVNhNmhVeXNRU1AqSUozYCkwcXN4PTJGQihiM3NpN3RhNVA+fVplLUZB
cTw2TGAxbmhlKG4qIS1nZzEoS0FqU0cKekgkX0ZvaXgoXkc+UDFacTQyfWd6ZX5Be0k3I3dfZV5R
IzBFNjs8emR0VG5BR2VCYFZ3RU41XyFSOCNeSjU9T3NPCnoxQDdFS3tVTVo1UzBqZiNvMCFqQUF8
TlA4bDk9WDx6M0pKckxgJmAmISM5VmtnOS19Xl5ZaFA7bEtOdnwyP2AzMQp6P1IlKVNyU25ZdURG
RmNpYXE8NEA+TmxAbVU2PmJLWUdoXys3UEp9TUNhR2psYFEkTEtAZ0J4K0VsRGJsKD4qX3kKem1K
Km17anNgcnU1Wmxxd2spM19vY31JUHVrbG5ZPjBTTzgqOUlVS1ozXiVWfGYycW97Y2krQygyfE1L
bG43VjdQCnoqOU5BbGReZWYre3s1Yig9bGFeKG1sJCE2aThnakJzKnVGUUx8JjZHJngzPF5ZfT1O
byVIbmZEfE44YSl4SzBCRAp6RlpsMX5gRnJqPENSZytNXjl1JHFGUndqeGY/Uy1PPkd9RUxXYmR3
KFp0ZTl3c1N5MktDVnREN0VwRHB8Umk4Z0UKelNCaGBvV0JHVCFESjt9c18yXmFZVHVsPnAmVWNg
dHI1KlIqP3kpKzRRZHFjUFdxdmR7Z2xxazk8S0ErY00wdnNTCno5UDU1RCRMWXY/dik9YWI9dl8o
TDhrO3cxYmx4dz4+Ql9JUkVCRFUjYiN4PktvamcxYCkpOzVzWilzdCVrNnZXPwp6QmROSFB2LTY/
V1FAdiRjTnIhfGx0U1NVRXI1ZCNqOUtIU1ByPUA3cEF3VDBVTjV+Qk5aMHpHfiM5d05xOztoeloK
ekI2ZnJqcnx1Tzk9QEFoVFMmK05ORilTYSF4VEJ5VklDU0d3PCZnSDk+bDhjdGB1ZSFKeHdVcWxs
bmRvRHModm1YCnphb1YhS3hYNUYzVn03SkFqIy04eTxtQWJkRjMhJSU2Yj8oJXkxMDl8alpJQldk
M0t9MCFORTd3PmcoI0pQYFkkPAp6ZEtBUmg3WTBmX2dJTHVzTj1vV3Q5bn1RMFUlaCZqb3QtX3Vf
NUI7dWl7MUdTNkt9NzcrYFc1dWIjLTswJVM9JlMKemdnflp8dzk8MWNaSHhXRTlKK0BOQUNfO3wk
fSg7MkR7XjVGYWt7MmoocVgmWVViNWtVb2lzTiQ9U0BPJklxSi1uCnpvWTsmbEd7VylZYnByaSNY
WTl3NFIxJk91XldQaVNnJWBYMUl3WDd1RDw3K2RvcjZRblc1WDItKzE4ZHZRaSYmdwp6Tys+X1ha
VFNhLWB8e1VIMjlMPzxZNUdIbFIhMVZOVSV6QEs3amUzLXVkZilUSDlvJCl6VFd6S09PbUZoWDJH
b34KelRSU15oSWt7S2JDVm98ZFdxIUJjSW1vMkdkfDZzcUlnMFdXJi18dlNORURhdF87SWg7I0ow
QSFmTVpmUFlzPGRFCnorWUBjNl56YChiWW9wQHRuY2daNVU3STlNVVNBb0ZwYEBnb0RPIXFfYz0+
YG4wO193eEllfl8/K1ZDQkk/K0pzcgp6YF5NVkolYTw8P18qXmk1a3VfJWA3bkN9cU1MbHM5Mk5D
QmxjR1N5dHNuLXp+SCY3O2l1eFdwVnFSIyFVdGlVdXkKej0zQ1B9Tm1xTzlefnt9X1VSaGxpe2E5
fCkkfEphaWQ3cFZ3K3dHRUBVKy1CKFElSWcqViE5bTRfNFB9WHUoITlqCnorcG5MIVo/QWpxaXFp
Sz5zWSoyNnArSCZ3dTlvTll0TX1BQXVkN0FGZyo+bWQydFRwbmR2YTFXPWItMkJtRSZvbQp6QXxT
OSU5eDhqQS0xdVE+VEUrP0VvN0YhU2dSOHdZWDtXVWtJPSpVaTxIajJldyR9Xl5AJHJxMUJ5UWN4
RSt9dkAKekYqenh6I0x2JmFHfUdVe3g0XlJkdn5UUHk8cz9PQjV5eHBkTmhPd2A+ZWtsOThxTn5L
bChlK2lxfVEpMitTKlBGCnozckIzMnhWZiF3dHBEb2RGfD5IWmVzQUBDeldlJVdaTFFwQD1KYXxL
dVN8SilgR09+b1VrRyhXamdSR3NLPzJffgp6PjNDJlVSI3UtMjV9UzQ/PjxkeyNWdXlsKWZ7cTRe
KXJScGRsd3VrOVQhXmklbWhwYH1kaEEmMWl+YHA2K3xRcUMKekY7bylMPWd3YEJSSndjakY3OCNG
emxvOTJFXm1uPilvTXg9TT16UnIhLT9tVjteTn1Zb3t+eH1TZ35WIWdXSUl0CnoqTTN4Yj8ke2c0
a2JJSkdPSXdKfGppP1ZGSzFAZktMZUorTVd7e2tDUyhfIXVlWkVkMFVxdmFaQndENFMmNT5XIQp6
VlNhdm83dnRse2tNcXloYj9nXj94al8wfT07UyZZI3JNNkdMKnxjZEI7Rmt+cnNIXiRPY31FNCtE
LVFPanNBSn0Kem5MZzI4a3QtfWdRQmwxKXtxQ3wxOV4+JkxJUVRfQnFIZWx0WWBBQlBnU1BMZUxv
fkRSXkhINnoqbV9adCpPSlc3Cnp4c3Ruc3VYfnF+eCNaP0FydDw0UDRUZkFmV25+aTY8UWZYTTxC
Vyt6KHpzODV2WilUKzQ2WTlGKFFBSER7XmQocgp6VC1eRElZaUd+aWt6PE13eG9zO1VBel5ReUM0
RjIhYEtwZGlpWW0qYU1+YFoldEJEeTtwRlNOUUFGcmdPTTMrb08Kek50dkNLXlQ2QT9hbnMoJENY
Q2wpcFowd30lVz9tPXhGdnhuNzFBXl9EPl9pKyZsMDBYbSlIemx5bUlBPWpaS0VjCnolS19AciNM
SCZFQXw0eHNTb3QldCY3YSkoK305Vj9eS2BAdkthO0lxeUxSbmA0aEpVLU9IPTsmaFFgSnBySmck
JQp6M3x3NFhCcHl6R0F8QHFHcHA5cXQ8JGdVKSVzVyFtYzhaK1BHZSpvPjFudXFaWiElbUA8elpE
ejNGUnxXMjRGeXUKekVaSkN7RnNjYypOZzVqLUsxZjU4V1dzV18mPyV0aWwpPEVNV3htZHR2Sihf
VGlWUS13VUxrPjJ2K3JMPUtTZ0VRCnpMNlpGNyhhQFc2cXBoYTtJPG93P1p7T1o4O2stMVI4aWUo
YEBjdyokczckPGF6d3c3NjZga0Y3ez5DajtPPEtsdgp6d1YlOTlkdj15NEk/e1BJYzNlJkBSamJ1
SW4pfVZUVyFzMkctQHUtKVA0Q20zUjBjTUp0Q2d0UzglO354KkRwdGwKemJlNEUqYzY0Wm5pPGJa
cVdkdkU2bmpZfkk2Y1h4MDU5e2NkPzhyRkEjQnw/ZkAlM3ZhM0YxbEBBKTQrY0B+YE4zCnpBc284
VHE+bUZDVjc4dn4wZVd1ejNvPGU/YzZPUVpDckRqJURsVkgqQ01HOHpeQWJGQiN5MDcqO0d1PGM9
SH0rQgp6RiQ8TlczK0RfUFkxNy08KVVyZUtrSld+cilKfEJ8WnhOKkNGVml3JngqU1BPTyliNllq
fj8ydl5vTERTcTZiVTMKelVBMF90T34telltKCZsIUxqdTFIemtlO25tey1DamwlfVFnQmAkK3tL
SWBwVXI/MXtyczVQMyglQzxpeko1akoyCnpYbSNTdzdgPVV+KVItSD8pQCMlakRKUz5QU2U0PGli
TEgxMkpfOCFoKVkqM3pzQjd5d2MzRygyd2hPTX5hOG50Owp6eXtTTFFjOUJBSWA/aFY5ZU1RM2p7
MEBWa2Q7c1Y9aWB8M2BzPkl3QCQqPkcxVHdQdHw1fnJ1ODxjVXdRdkpUQmoKejRmJEV9cEZhSWdh
Jn5Fe0toR31WQCNESThNbH5GSSNkM05WaENgXyVKYT57ZHNTRUM2V1lRfmNgcVhocy1wYjAjCno+
KkBGSkh4dntVSlAqPUhvb0F5WW1wRjlqKDNzLVZibmh7KmdeQmloRk48O2llTUxuQCE/cj5PYT1y
VlhKYkJWcQp6SHhKQ183ZDEjU1JII3E4KTB6TDlVfEllRmFgS159cHsyPnJgQzh1azI5SUFBQHYk
MzhyZTk5Kz1BfklsPCRDR1UKei1LZn5sXzRBZTg/Yk1gYHVhcjNEdSMxT1Vfe3BgU1hBMC1QXyNS
fmFJbyYla0Z6X0BZTFlETmtRV1RGeU4xfn1rCnolQGRBKWNkYkg4RjVJa29KaGE8Yj52bWpVWGZF
SFVfSzE1S01hSXFFPlRsbkBkdmBmVE9yRl4wKX4kV0piflVjWAp6aUF5e1QzT2N4K098Z0lmKktn
bWwlLWNDVVRVKVIyZEVkWGtrNTJJQiROUEpBaWh0aEVVPkRzI1J4flRjO0QpbD4KemNZRX0zKy1t
djdCVj9iNFpDOTAjN2dhVXJIQ3tXNTEkMm5sKmVAPF9OTHxtWkpwU21Bc294Pn4+ZEghfmJANEtR
CnpASnteQVpLYUREam5MaVFvc3A1emc0O25WbHZeU0R2ZXxmSis9RWhhSiQ9TDlpej1VelU4XlAy
cjJaaFErTlgqTgp6K3d7TSNzST10bi16JXlzR0JCOztyJmpaOz0lK2ZuQ2x2ZSUqVD9gfXNWPGNK
KndMZCQwY2QlNmwkanx8U34zcncKeldfaFF5b3pGJkdHcnVPS1I4bT1pc1Y5emBhTiEqM0lPS1ZR
dU0/YDxZc3opbVo2UTU9UTZEWV8zN0I7OW5ZZUxuCnp2SW51UT1he1o5bTJBcSgka15Wej5HVkEq
cClFeUlNT2omYlZIND1TVDtKeHhnJHQrPWs3KSZCPEtte0tyYjskOQp6ZXR9bkAwfUJmWnh+YDVW
OzRJZ0ZFJEowR0pMdjF7SjJeUT9OX3dsIWhVbUY+YzZQM3liOHBWcWlgJmBTZSR1eHcKekg2NnA+
SF9KI2swVVBPc1peYEI0OHl+RHdsJDRhakJgUGoxWmZ0Qzw3aFVRQjY2eFQxI1ZuSjxVT305MklW
eUl1Cnp1O2xJQXI/SDdCbl8zemckNHtRKld2YnslVXp9Kj85Wl4oUUFEeDtLYigkUmprWVFxQytV
O0cmUy1kUXZGdGNYfAp6YHExbD9sb1QrNkN4P1leZVRmdkJBRmE+SCQ+fWR9PFhtY2UhVGYhKUd4
T0wqS2N9aHA/WktSU15tS0dge1h8WCsKelZAaioqYkV0LUJfTDtfWUA5XlZVVy03OT5INGhsdnJI
T3FXSnhXZWFDZlQhUjQ9SmYkITdXUXkqUj5idEpYPi1eCnpjcTxJKXUyK1p2aTtxdkZtcihCWiNf
OGF1TXZKLVNNP2BlcntiVDJ0PjRObENUcHYpaCVhPD5NaUdgRXIjPmFkQQp6NX5MT2AlV25nemF7
OGZQY1AjKGx4YU1KY2BwZi1BJC07X1NFNDs2KCtaPEN9c1Y5UDtLV0RwSTcpdGd8enVjRVYKek0r
fkdvbnojZzhtfTJZfjwpPHl1YDczcitYPXYybnY7cTI2QW1UN0xHZDZ4YmFAJUMwcjg8YX16eF5r
QHM1ODFSCnohJGsqUV9JS2VLPU04NUtHdVNoQ1AhVjk+STMqV0xjJE1jX24peFJtc3BUaVVZdWs8
dkooOXBXRExxaigoQW5icQp6IURqME9yKit2TD9oYnl0d3craHxsPUI3XylWLUpqWWxndWxsOUgw
SHlROy0yMlplOz55bm1uTS1fcHwzUXticWUKejtMeXR3dUJEfGwtSUk1fGY4Nlk7bilYRld1NTcp
MGlydGQ4Wnw1bHxlTnpzUUokdUw/cTI7LVo1anV2SClYcXZACnp6Yz9qcj9lMnojWWgyeylLb3R5
YjNyWT9TaSY0VWtlNEUpWj5gZExuNkMrNnBEbVY3LS1NaEhCU1RUfVA7WVIwbwp6X197b3B5fVox
OWc8NmFGIU5waEEwbE9TSnxJKCUrWlo/cX5LNkN0bCZzZTJqSSk2NmQ+V0YoTFEpK1k4ektscHYK
elBWKTJkc2o5Q0pzV1JqVjFCOXt5VVZUSyN1RnF6bllHXj1XYGdMeWlhTnBBcnttPDRWYT9HX3Eq
Nisja2k1Z3tUCnphVzVBcU5wMm59YjxARCs+OFhqeHdCUU5tNzkzdTdtZ1NjfEU5Iz97UHVlVDVz
TXI4RCkjdFg8RC19ZzdeN1dPbgp6OFR3Yzh1anZBO1JLaVpPRDMzMU82JjRhZ01OOHs0S08oO3Yw
N1VNNWA/ZWMpa1V0bWVvc3Z3QiFtN2h9bV9sa0cKelc1X1k3dW10KTROKUlfSjVFMzJUbSMkWSo8
ZyUyZWsjUjR6bVJ5TU8hTT8rOTBBRDlOX0VTPGExeStJRFhsUUFACnoqKSp2bWRMakZESD5He3Yj
fE5hY0B5WmVwS2Budmg3I3o7Yjl4bmpXczB1c0AzYilgJl4oRjhPcXFlclR8NnlTQAp6Ty0oYVBP
SHRTNVMtZWlwc1lgOTRyfjBifGxSe0dSbnhNckQlIzJeay04bkpjVFklayNFczk7T0d9QEdrekxO
ZF4KekomPlFIPEMwVnFOZXRIKCE1Z05neGdNTHZAJG8wdCpXRyhOaHM0d2k+QFNQYWtRWncmLXM/
QXtAMHhWO3lWfmZYCnpwaXApJkJ7bnR8TjBZOWRHcCUmOHNUWFN+VHtEd09QJXQte3cpKGVATGg4
U1RtelRGYV5LKHMyR3cmOXNkYXAraAp6OFdQUnFROCZgQTdNJjNoRFAmYjFZKEYyN3RvdXJxRCZG
ZS1WMzxnRSE0PU1CYEhTWDFafXJ9cnI3bnV5akhhTDIKek9YPkU5cm1FYG1qczYkZ3dYUihvJGg4
QHdtcEsxZEM0X3FiZyQ2d25od0BxPlcmQFJxaWhARjllVzdgJSglO2VFCno5IWdhcz8tc3g2UGhQ
K0YoPElPS3hmTz5LQDdoSHA+WU5xNSklRWU2NzVYbG5zaVY0QyVzPGBAaFBoVFJoZm4hdQp6UX41
MjY+UzwtPk9pKnN+T2RzUjhyPTI2QD4/ZUx5PG1TTHgwNkdiWXZiZjlOWjAycm15ZktBMzZjclVF
dlYtREwKemRHbC1lSUVGX1RqelN6KndmPU07d3wwfVhHMCNONSV3OWphJXdAXkpMNlRoTDJAJlRr
KWxEclk4cH1ZPlNealBZCnpPSFRTamIpRHZBJD90KGc8Q1NnSk04X1liezMzTjxkVEglPjstNiYr
WT81QEh5bDJwPVAlNktFJT5lKTJ4JH1XYQp6IXNYc1B5VVBDbG17P3w/M3I3JDU9bz1WeGNYZkB+
YW9MVTNmPlNqJDl6UmdrblE1WXtxZUlEfEdkNElGK1p0P1QKelNoMX5UKnQpTVU1NnQ0bGl4Ky09
ZXh1UFlQc29sXj9CPXskeFpHYEJ2UmA2d2ExZ0N3UHFxc3g5bDleQEQzR3NBCnplQUI/ZGZNJXhn
ZWhJKzJRJGFGK1l+NzBRMkw9VEVAYl81emAwPUFCX2hsdWUjdmVuSzUjaXc/cU19ZC1NNlBgeAp6
Qkc4T2RBTSVzVHpLNFd3T0A/d0M1SHNwcl5rSnQ3eDAxe0xhbE14SlB1YXV3aHghVCs1Nns/NlJO
WCZ6P3lJZS0Kek5scl4rQD96Nj9kc2c3Wl5aO3teT2RWZiFPJTEwYD9sbHZXZ2ZEc21FQntXbmtj
elJ0MnorVEkod0Q1QntfVUlMCnpZUjJAb1Q9KF5TVzJUO2pLIy03V3R7WWQ8NkI4VFdOSVYkcVc0
PDJ0Xk0tfHJNNWEkIVNzQVQ+NmAySWkyalUpRQp6ZkhXfjl4KFlSKURPdERTd05GRkRyajFpXjg9
MmBJWTJSOyQtUEFjUlNiU3E0RzhaKVpUKWdzcmlUaXRMUHJFTVAKelQ+SnEtenFhTm9BJHw3ajJr
O3gzKGNgK3gkd0N+UUpGbHZWYyQkUCtwNHFpK3Q3cW5Wej04eHYydiFRbT1zbFpWCnp0ITFKIysz
SVEybGZ6O2NyMk9lY0tASiVLQXg1QWVoX0I2aFBJRlN5eD1OWks8WFlKcSZWRDc4UzNfSWR5ayln
dwp6eT1ieE8hfE1MOHMzdjZ9S1QxNzViZFopZEF8az5DJTdueWNsTmgmPT5GSHZfcyVRTmtue0Z1
SlVRZlMlZTMwPF4KemJANXlePnJQVm8kO3J2SlotRU1jIUoqSGRITU8rPyk4XnMrRz5JcExLN1hF
Tio4Q2IwanBNQ2JKOWd9LUhzbmJpCnp1fExNa15nPDBoS31xU2xuVkZlXiFUQytTbXY3KEJGOD4k
O0dtM0hoc2l+dHdyel9gQzBObkwhej5+RGt7bnIkbAp6NiU/OV4lRjFURiVmUTxCb1ZqJDVieWh+
a3VVS0ExangrUUlrKFMtcjwpMXpRWnIhTVFiXj5EQkxWYitlXjRBQn0KeiNWYUczXjx1KE1WNHhZ
VUUtbU4hOW5qe247SElnM3orRiNKMD1jPHVBVVo8N0djNFJBWDQ+IX5HJkl6X0ojQkhPCnpLWmND
UV9TPEtgaEl7VFF3MkowODBncUZIP3gmfkUwUCRSUFVvakdgYHR8RXEhbUMkPlVgVG0rY31EfEdo
YmtWWQp6N3RaOzwlKTQ9Q2RScyY3cl5OQUItUjhhRF5MZHxFNmUqU1FQNFE+UUAyWD9rS316cTZF
MG1qP3lYQjdeM2poXn4KemlETXc+eiZVPVNtK1F4VjJ5V2YrRHsqdl5IWnN9eUR3OXFkKl5+NGA+
bkF6Yip3e3s9eyl5SE47T08tZndQfDYmCnpVZ0JYdkt8eUB7Rm9WYjFqfXtlJCN1R3Z1R0NFaUg2
e2F9dHNPUmFuQUxRdn54V3FZVFhFPnxGbF9ycyZkLUNJUQp6d05ZZGQtMj5CZC0tOXUoYjUpTnhp
djxsVHtHTEM1Sn5uM0IrWiRBPm9AS1FxdT5WRDtheDJ8aFNDXkpTeVRGcn4KelJFMiVue1M4JUx6
VDkkam9TQj9fPD8mPGBNQHUxamtjejZnZSE0clN6Tz9rTkl+QCY4U1pKdVVjd2QlVEFpJmhCCnps
cSlnZ19VK3IxbFQ/ezBubzRIaENAMU9ZPlh4anskXlB+QlM5TiMwYloxKkc0REJMa0kpMzZycXJa
eFpPMVZDXwp6cT5AaDgtYVVKQ2E7eSVvMyRuN3hHRTt5bSo0PEd+MCRXbFB4R1hSS0k1cE1zKX4o
YUpJbU5+OW47WXhEV2VNcVoKeiokVkpFYS1SJE09a0gxWWlaPUFJTG9aNDdoTE8+VTBPXyZzNVBa
SHY1MDVfdldHcERDNSFEMUR4VlkhViRiYyhCCnpUU3ojPyZSKkJ0OTJtPGlgYlheVFlPIyZ3cD52
KSkjKk5FQWNYdGFqRjxxUUVHSzlQN15+K3Y9bEhiNmdqd2FFXgp6Q0Mtbk5TPjlxXnI1OT17MVBn
IUB0ZGxgI2NXUzl4a18/OHpqeU80JGBsMi0yRXVMPE1CRVJUSFMtTH1TWTcofmoKenA2RmJ2dDRg
T09VUl8hayFWPHV4WSEpfW96MHUwRD08aC1NcDRzTk0oQ29YeGFxJHw4OHY5dG0rTWlOUUIpJVc+
Cno4WnZqQUB2ellKUj1xYSlkNThgSXZ5cTkoKG97fT1RPkM4c2M+TCRqKHkwcjNpZW8hPmhwejNZ
eUxHek4pNEZUYgp6Yyh5M1dgUUJVaTMpRXl9TSpeI3U2cnYtYUp8JStgc0NSJHlwUzZVQilad3dR
PCQ9O2FSeF9aekZ9e0xUbEFFaU0KenEpR2BmSHo7Vm9nb1RCTGpJOFc/bWhUc2g8P2ZJYGFlZVkr
cDlGRXBFcT9DQDUxTk9JM0pZNnk7KHlkYjZvMW4pCnolNWAqZk1yeTw2MGVZKjQ9TlFsNVpgaz9B
QUFiem4tZDBpeVh4bDhPa3dVZmhqaW9tRHspRSZaZGJCPTlvdGVWOQp6eEhVVypJUUNLPyg/SlJm
S1lHenN7UE5YbzMhMEVFM3YrWTZldHM9PjtUJV5CS08zRTtxb2NFemBlNjhkKjkjeFEKejlkU1Mj
LTw4PlRFcENVTlZtUzVhTnlaRHU0QGBBdG9AOFUyMVR3KnJkbFlAdXcyZEhvZmVET05nMnwlQ1A1
SkkwCnpYcCZtJjkySGRPSCshLXhneF9sQHgjRjQkNzNXbkUlZFZfOVomK35aREVBT3pNQEMyZThO
QGVXeUtKdTFkKVV3Twp6LUI5QkJJZWV8bHdeQStDPTFrYlkqTSltRzEqeiFOOFJNUWNNcC1iYFVS
QCtwcUxBRFM9NV5ERlJ+fm1DdSkzKnsKej5sYWFGLVFaYF5UKVgmcXN3bGBabXRIRGBWZ0p2R184
R3xnQVZ+Zz9BMX1fJjdkVDkpc2ktdFIrPCMxMlNzQ1U1CnpKTng1WTtvX0dzP34pQ28+bGhHVG5T
a2JAcTExSS17UT99d3h3NVR5YmhrPDw8VSozKnVvK2BiKT95SDkta0YtMwp6SV99Wkxray04T2Fz
MWBgPzYwU254a2ZiQSl1bzdTP0NvM25kcGBNKTwzQH5jaERhWWp1diQjWEBraW4mLXcoa2YKeiMp
RCF9KUduND83SlB6JjdtSHFXakdTYVZlJm9vdFBZP0hsZl8qcEg4KG5+VV5MVnFRd3ppaHooM1pI
PiZvKmZ7CnpucTAmRnh9YX5KPUhZb34tQ3FwJjFUblE0NX5LKHFDXnx7QnhKVGFyTG9JQ3FHZmpF
b2ZiO0gmJUx4eXZJdjlESgp6SUJHUyRKMTlNUnRCbEpndVZucl5BIU1faEtoI0hReVdqVT9BLSpI
JioxRF48V0JXOGhNMHtoblpyeXJvcll8WnkKentFV0B1Q3dBPkBLUlRnaiNqbUFeeHRCe1U8PjRB
SSFkQ0VGVVM4Jis2bSooPlZQKTk2RSEoPlBPT1g9QylReSolCnpWYV9mdGMwU0Q9OW51NkRXUFdL
JG9kSDEwPipAWGJKNjZzNnYwUzh4JEpeNm1sKzRVZTkxRSRUIVRNQnlmTSpwQQp6T00lSHRSYjcz
O0p2UkxXI0F6YHhjUXtKKkJKK0ZKTnBme3xDfmxlIStNS1FaPGFVUHBYSUVCZFZoUUM/Uj1jT0EK
emB2RDJEbTJaS0xrUDZgQT4xRjZ8VXc8c1RxclNLQkhWbEE+JTRHYHdXN2t2fSN4SW9fck0qZTJe
Y3AoITR3XjFVCnpgWFNGSzBEVnZvODNsIXp7KnB9KSl2b1VEei1QfVVyPjB0Uz0tK1lRUXNWSmRE
cVc7I2lASG8yTkZaKUhwXyNrNgp6bktFNkx0YlNrNylgYyZeR2J0SndgWklrK0ZmUCVXIW1VfUlk
QVEjWShGVUBIbWxRalUqU3IrSVImKT41NjIjTD8Kejt2b3omWD0hM05nOypWcWdtbSh6bk4+UTsz
bTJmSU8/QUQwbHVCZlBZblhLZFR6LTYwP191ZSFfbDhEQkQ9UkRCCnpVUzJuUyRQWFBsYjkzTVcm
PGVvUlZ5Uk54I2cqa3tJXmtQPjg+Njd9bFM0eXM4YE89PS13aXdUZkE0Zyg4WjUpTAp6QDUkK1Z2
VTUhdlZ7dkFuRT1OekZSI1R7U244eVp9cWtmdklvJTh6aj5xRTZ8OGEpWioySSh9KHcyXm1MWTU5
THsKekZGITNsS1IxVWZWZSV6JXJCeilvSnxWJXgjM1haM0xZITkkQVZDWlpFPU5yY1l0dD81aE93
bW91RkJ0Z2RjY0N3CnpZaSZNZTZHRXZnej50TmQ8IURfKmYrOTBQe0BNS1Rud318PWlYVUtWLTZa
VS0rKTBqOXlIRDFmcm1PWWRMTno9Rgp6SmJyPDdVWSpHb20wSjkwY3A8N2w8VCFUaG43NzFyN1o+
M1dJWHsqVT5YTTVDNWhjWjheUmBZUloranloQVVVRiUKenItTyFJaUdZYjwmIW5ZJkw4RkA7Q2BI
WVlteUBIfD9YQm5mcWExZWJjJEc2Y0tSX2JUWiliUDZieXJwcmM+amolCnpXMytfKXtRU3NCeChw
M0VTU2Y0c14oQ2BxQiM/ezRFeDlrWSQpOUVZXzsmJEN1ZilBYmdZQyh+aGNOY1FVQGxePAp6NzhQ
TnNjXz03Ny0/KCtrY2xXPDI1QFdRQzk/KiNLJmgrJXJWUFRpMzRFJDc3UlZmWX03QFV9KEokIWgq
JEYzZigKenY0M25MRz5Sd0crPUs3aXVXQT9EWENHKChHWWpCKWB7cXE5d19vJj9POFJwNSpfbm49
VCo4OGFUSmhzQnNsUHltCnpmISpAKz1URCRVQmF2fXtEQlZKKmpGSjdsY2VGZz9BfShJT3tBRlJo
OFFRKVdpYlFaUVd5UURndytwOFZvRU58Mgp6JVRiWSRWfE1gMz5BMD5EODh+bVEmdjs8THF0WnRe
ZV4yNSFadiNTVXMycVE4ZkFXcW82SUxRIUxObW0pcTtCKHkKeiM8ckFMQSQ+WXBxc1g1K0JNSFhq
XztPeCl5N2s0Mko0NitMdnRVUj9NQE41Z25nKGtENUNzSn1aUG5BISltMSUyCnozYCQtQmlxWTQx
bTZnZVdWS0xIOyEhRjIxUEI0djtQTEY+RjZAd05heDV3ciR6MTFIaW9QfCVISiZTZXN3WTwhOAp6
ST5GPkR3WmM7Jio2NUFRTGRUaF8rMmUqY3ZsIz8kNGdAVGU0ZGxKaDJ2KEg4N3shXmImTWBET0VP
PiFjSip+eDYKelpATXVLKjRXejFwalVzd3RIcygmaXZ1MldSVk9SYnRtKm8tVzJqU1QqP2VRYSp7
KHBAeE4ra35pYDFXKjJ3IVNPCnpjejhIMkMlMEhSd1doIXBkNnBuSnBAcGZiYiY8REYkNj5JP2Vn
RlBsKm0xaFMhJHNkQjY3N29jX1o7Um90PysqTQp6X145UC02QWtTUi1hWW9XaWs2OWdodTtKJV53
fDByY19oQ1EwNFNQbztiaV5te0NxN0I9MEY8WnM0VkFIP1dtZVAKekUmWWs1UkxfOz4wfFBlZjV+
XnpWPVE+UEt0fiZeOGBSVmZRYEVuKGpgKWxzfm8zNT1sISY+cUJ6VT5lI3Q7NDNUCno0QyhaITxs
flRvXiNodXhPQnsqXnNhcmBuTSQ1OHshbmtSJkhTMjhSVFQ+NWBsTHlBY2EwV3RPKGJVIUwxcD1k
RAp6KlpPcFZvUDJrdnJqcCVrb2xkYD48IVoqVTdhTSozdzszb1hfXns2JWBgd241UEQpNCUkbk1E
WnRUZDhvWD1gKHoKekUhfDB3KDBHaHcpTj5ZZHtkTiZhS2BueUcyIztOckt7Tk59JWFELXZnYyRj
Izs+QGt7cTd+dm4yNFo8U0BibjwrCnpDP356THAxOD08OzNqZldCe24xRE4wZWg5X3RlajthVXZI
RHd0aT4/emRFP1A5RmliNXI2RXJ6N148d1M/QlhVZAp6d0Z1PSNvQkc+KjN9UzNTR1BAWURvV0sk
PEBIQ2BlbE5sPXV7WG19ZHt7M1B7aDU/RXgrKUMmeGN2Vns0aDs3K3UKemA8K3l8bGxFYmllPWl9
N2Ffdnl1T3o5MVBEUlhvMy1RTHNGKTRCbXE9XjxVZyZkYlRsZFI1WHlfXkI1ek9eKH1ICnojbGBp
TyV3N0skNFk0cig9dlRWUCVGZURePG92I3JBJiY1RlBGVnw8WitVb21iMVhWejlre3ItWnVhRWJG
eSRsXgp6ND9wNzBCPyF4TFF2UnAmJTx6TUU5LVF4Jl42Smo5MjZrQHx3VktsdGZUSH5aNVFtWlJv
V2YxUTReJHFXKmZGdVgKekk2PWpzXkVOWHhnNVI5ZD9mOVBAbmgraHhlMEFaZGtqdXskeEwwTX5C
dytyfk9qV2VCNHZ+PylQKT5ySD1JdCUxCnpxWjhAcmA0UFR6ZCU3TygtU2RDfFpvfCh7UTMxPyR6
PVMmVUZMe1E0JWA3eUMtYCQ0O1g7e3kyemM0bTI7V0FYUQp6Y2FpajIkenEkZmtCPCp6NU4rSm0y
TS0/UFliWXg+eV9TeXtzZ0xSSj80K1RsVyk3QGNUVklERmVIQ1NgciQ7QTEKekk/SENMTGpDRyha
IStiN3BxSVNSNEMpMnwkUkdMbShEMmBBZDNIalVnQHQ5YDtXSFBBUzAqIy1kd1AzQSpmaSZVCnom
Nkx6ZjNGblloO3opP0BzSGRwRWctOHRjZXFLQitGfGgrYEZLQ0NHWFAmPm18RWtsQzghWVB1IXpm
b0VEIXJ1UQp6WWo1cXhtMGV0WmZmVDFoaVgjSUJ7c3xrTU9hZDA7KVpgPX1PU0g/aGtpXjM/JVB7
byZLeyl7V3ElSz9fbFlrckkKenZBT09qQGZuekRhJU0oPklFPiQxNGNKLXpfa3RubjdqJT5WMj0w
dF5uV3orKF4jbj1+WWZ2PyRseX5vVkJweUN+CnpFTl5DKHEoJWVQMjdwfCZsIVN4P3NpdSEqV24m
KXN4dygrezkqXztyJXlAdjRBfSV2SHNQOFJObmtxfjxJZSs/dQp6eT11QztoWiNSTEhZIWF4b2o/
QnY8MHNoclUwcTBGMEFZZlpRYihMcVE2WHBpMVpYKWkwRlprQXtDTlRgbSNyeVQKekJ4T1J0PlZ2
Xzk9MDVLWXtkIW5Kc1NJfVU7dioheGJ9NHo3bnJea1d3dzkzQSlUQ0x6ZHQ/ZlYhKkFtRGw8WiFP
CnpJekQmUz5GYWB1KEJEQm8pKVFRV3pycVh5MTJyfFpnKyYmNXhiP1dNSiNmPig5VF9OeXg3cEBK
WmRmUkJnenlxXwp6NCg3UD5tQX1QRGBhQHJMR1ByKE56Rj1pRjROS1EkZWJwZ0E4VnJQempCRlAw
JEkhJENyc1MpWGwqemZfOHBNaV8Keld4K2Q3dzVSdnlTalMqRittQUg+WChPfiFmPzZeJUdWPTJM
Z1k0fD0qWVdYJGU4cT01VE9kNllmSEZ8JnghUnpvCnpMOXMkZEtJNFNrZ1F7dV5vU250LWdjeTJw
Y00pRlJLciRYTTJKNGRicFVMVVBYQ1RAalRtPVdEeDJOYSgjMDE8aQp6IWVZak9RQiZ2SWsyaiVt
NiNuY29DdzJIaHhEUnt3Q3pmZFM5dG8xVXFOJi1MVzMzazt7YzVvVkR9PGVtam9fQXcKelo8U1Bu
akZGYT5jSSgheXtDWj4+RGs/NmJ4fiNyVntfXkdXPmlKNn5CcUtFeiRPQ00+YHZUfmpaaGp9OyhA
RF9wCnpGRGZrJlJwaipWRUY5N0Z6aHZTKns9V3Eze3VoNHY9YV8mN3ZNcVNedmEycEZkfnpnJSlM
aXZwZXVyJDVEbmE3fgp6Nmd6YmFDV0RWYFApfD9LXl5mLWZhTn1SVVI7RG56SlRkYTEzbWhEKzlv
fnR5dUNDPX1DTEl4eyomfSFfSz0lRygKekg8bG5AKkBOX3pneiNra2xSSzQ1PExILVU1YHslWXND
fj1XZ2FrRHZIQDU/IWgtPVcySl5fcCNrYm55bTlVTj9ZCnpkN3RycFd0SmN+cWEzR0IrMVQzVkpJ
K0wtPW5HWWk8PW1SbTNYP21IZkVpdmVUdk4yKGBedkthXjszdnIpWmg5KAp6ZFcyT2JZU29rYj5l
Wl98Y1pkKnEhajkhUT07cjEmejdzNk1GSDkodU11d1JKRmBVK19zd0JzbUtIZEMrcWg3RygKemF8
O1ItTGIqIWVNSkIxKnJqIXE5S3pCYiZtQklKTTk+MHF8aigzRyhvY3dETjVZXlkkdz1HPnk5SS08
JVNOSTF1CnpkKDdkM2h7TVQkcm5GKSZuVFFXWVp0QTZDO19iS1otdl5ObTRoKHp7ZVhAfnApYSYh
YDlDWEk0dFNuP1k1WVR2WAp6e1djeHpkbDxOUUx4VEJWQHRGNEg8O2MlPGI/QEs1VSFOfFJjYFgt
S3JjUkQ0PSlxY0hgNCloamZZeE0+QTIyWikKeiNyMyl6YWU0fjJGTFhWdVRJQkQoZUU5K3gxa0Y2
NFgxSXM1aWNCSH1JWGtAQSpkbjglYDJFfTQrc1AjJDRLV3hxCno+Kj92bURfQCNQR15MUHFnWHNR
aVg9WjcwNW85VXohR29QNGEoa1klaFZ6PzBmZXdoazh3ZUNNeFVAJVNtVF40VQp6U3lfY1lEcm9n
SGF4KmpNK2Z1YzB1ITY5bS1rWjA+WD5vQldJRDNTUWNwSFI4OTB7LX5fUkIpKjA8c3JgSXQ9fm0K
ekdkREwqV20pYHIwQzNFPkA3QjlWU1htIyVDTClMaColYFR2O243aUErUS09QF80TEAtMnZGNHcm
KkFkQXwwdCZkCnpMJGhec09yWUlPT3FfZGJzX1ElbnE8b3tfdVh5RjhtWXY4QUFZT3t8MW5kR3g2
SiU7V1R0VjtfYVNXKFpmTkooawp6cHZka2NWSjJkTGFleT4xWXQxUkd0Z1Q1QXZPNnkrQl40djso
dzIxYEgrKkJudWklfn11QEl0cj4oQH0yQFV1KD0KemlpPHZlZ29rSVlvSnchNC1lWTRQUkFIamM4
QyhNZCFPWTAkQU9sMFhhPytkUldLTytlUzFgRTwwYy1lJEkoZkc3CnpzaXstb0RGOEEhMnByQVBm
Sjd1NFFEJEpfOz5hRzVHU0dgU2FtfkQ+Jk1QUSpSSVZTZHRme0JocFJDVTU4ezU+fQp6T24lX05u
N0ErUVZjcUE/UFF5WCFecENLQnl6YnZlMzF2RWR7Q1E5aXhGOCFseVg5RUpPTig4Vjw+Zz1pVV4p
N3UKelUhcjZ+SUVJXn5hSUxSaG58eHd7aX4/MnxhN3M5cDZTTUNkKU0rM1Q1SHZgflJUfHVZQ2RV
c3orc0BZbzJGdVY4CnowazhrfD9PWGQqbXNFdXF2R2UhJGQ9MzQ+fDBRK05gcDw1N3g4aChAdSM4
JX0wfiM2ezVUWERUb3dtdlVzQTAyJgp6Sl49cXFPSDtGdnN2OTV0ITRUezkzN3dFY3wydzw2Wjxs
JmE/Q2s4dU9eYCoxYDwwQGMpUHFiQ0l1PjR9XmRnQ2gKeiVxPEVDb3BzakxTJDRkPVBTLXJaTyVh
RnZGaU1+dTNERjAzZHJRMiQyQE15eEJQOFFvZXdCdkpeVF4wYW0+R2tFCnp3dTdIYHhnWXozaC1o
c3VPLTUteFlfSWg2YlREanZ7aUU3cDwmVVZFYkFDfSFQfjd4aSt4UnQ4a2UzSU0pRiE8dAp6e3Z9
JEJHWkwhUykrTWVoYjctc05OQTJxfkB7dFhOblQqWDFPe201M1MoNTZURTZIbEc0TEx6YS1AS3t6
Qjd+bmAKemxzfXYpKWREaDxXMTdjP2QzKmcyP1hjKDFETHteY1dadUtvc1QyUnlvU3YyU3ltJSR0
Zy00Zy00Zlk9cygrR1M9CnpRV0JCXjAyZUpTczcoPk9aMVA3bmE0PUtBdmU7b1RSO1lPbEtPKzxa
TFBFKVRIOEw9ZTlRR3Y2Wkx3flNhMS1+WAp6KFdXZEFVaU5VbyZwKzZnUk57THs5ZkVeO3N1cT8l
WSEmZzFXckhXQl4pY2R7QXZOcGs+cTVhWnY1Rl43b0NwWEEKekttdGNiVVM4Q0JBI3MmZV5sQHVs
PHFlM1Q1U21uOCVYSm53cnN3MT1wXmpoIUJGWlJBQDw/aik8OHlxVjB4P0hPCno5KjFzejN3OXFJ
YjJMVTh3d3tnLVElZyZCR0dhdDl2I2gzI1JrZ0hhT2wrNUR1WDl3e0Q8eHR7MHU0Z1JmSHhRKAp6
XztIOXdqWTJZMnc7LTc4Qz5iJFdwczcwXy1kMiY8d0p7YzJHOVdHTCklZl4wdlpwKDBtY3wrbFZF
PEFgVm9SZVQKeipJISVWRUxtJVUjcmc1JDVJWDs5am9iK2R4QW56I0VKWHd3US1LTXFjN2E3bTYw
Z2pEQm4zTFM7djN1TkgxcnRxCnpSNDQ8dzd0dXpAIyhJYng2Um8ocj4pRXFzMFZKMW53WGFfN0wk
ZmlkNFpaJk04KDI0cklrWT1jST44VTM/JkBBegp6eGlgT3A3MmB+QSpselcyKUpVb3RvPHBhQG1j
V0tVcUR+JDBfQiRtKTIte2g+YUU4ZklHQkVWX15zSlRjV1daTE8KekU2eT51dlpDaVRtUDdxUD8j
SUA0RV5oQikxKzZ1fj9JJmxGbGZIQ2Bge2srdXBQQ2tPLWYpTzt7WlFwT2YheWVTCnpGSSZzOz9y
V0VoS1NPMUp0fUc9YilrbTlfbihGcW0oKnpYXz1obGlJQ1BuYFNmbnpveyp5TFgtRF5II3w7fCFe
Zwp6Syh4UG5LfXx1UUtzcDAwMT99PzNqfnw+eDMod2pWJklNTVFxKV93b0BzVVhZOzV6eTUwVWxn
Plckb0dPVX42bXAKekVIRSVOQzUwZkNLfCpvfVJEXnFmPmVNTVQpVEVSWSlnKUN2cVlGbkghT1Zp
JEgxI2leenhYeDc2VzRWMXJwVWQkCnpZT25fKEpHaT5KTDdIaFQqKWprNXljdXZLYGY+PVQ5dFl+
c2pUO0F1d18mTX5KdTFme0pAfXxSS097Wj5HTC19Mgp6dUg/N0c8PXJEcDV6S0Q7PXFPOD04fkRH
UkY4RSZuTDt1Wk8hKy1QMW4mRTB3fDZzPj10fDkpPExkP2opIUdYbSsKekF+bUU3NW17UzFMWHB8
dChiMXpOWis2NklrXitFMnBmdGE8eTAjWCZCLTQtel9gPH40bjYkS1hEMENPfXt5SyUmCno3Y1Uw
bEwjfXFnNzJqTnwtd2I3dEZJaWgjZC1tKVomfmJvRTVGKjVnSGU8eT1zentUYVdPTyt5akVtWUo1
OT1XcAp6eGIqNE1yJH5lWTVfX1BqcXJlYy0leTlaKG5qcmZGaTQxI3BTdzxpRVViSlhlJCExUG9V
T1ZLUUZKOVRUWEFobCMKemxAOFZMZTQ8RHw2ejxMIzY5ejFOJF9MPm1IdV81KjRGRFlsRDxXcFpl
ZUtQKilLLTZtZVZ1PGFCXmE5dFg1JTY0CnppTGMqJkp7QTRUdWtPPGooRC1LKVNDUDM4RFNxSmdp
LWg8TjtaWGMjazNVMGUxJFNjOCQhI2J2bXQtd048UWl2KAp6P3V+PF9XWWEpPktnKGNrWDRaKzEx
MHxBe3sqMjFwR0VCMDJIejNEM3I1MlJWTjxXKE8jN001Y2h9biV5ZlopdyoKejtHcXI8e0VVWEJf
cU1OVUJsb2UyYTBnJV9hQENUPTBXJEc0RyZGVH1icyM5MTZhV0Z5TjwhNnc8KUUjcDhUOTxRCnpE
WlBuQkVYK1klRjY7PkdGQzs/ZzI/RSgxX0UpfiQ9IyFFWGFZLWVGbn54dFR1YyQhaTtfej1+ZSpA
TUZgWElXZAp6SiV8Tio4a2l5R0ZkKkdVYWRxRSR5WFp+R24tS3lXZGJPKnBQJj4reVl2fUlpYUsj
cTR2OVZidyNSa1U+dHBoajAKeiMwKGRnQjIlRFE+Kn5KfVdwJWcwN2NWfFFxVWh9djEtNCQ5OCh0
Xns2UF5Ye0NBPzlCVC1kWHhQaU1iQVVecFBMCnpXQTdtZmEma0xoNVdvJntpSGxGQFIpQVI9ezE8
YmtmME87azA0IWwtd3JDIVJueEZ2U1R5UFA5d2JXVnYqYFJHJQp6Nk0zSEReUkdUSExORUhWPyNy
YFohM3A1TFJ6dGJMcG9sbiUyfFFAeig2aXBaaHB1Sj8jRFI8Vz88ezMtYzhVNXMKelR0RU1JVTFG
SGBmZjUrIz51MnBsIysmaWZESWZSOUBOZ0UmTjJoJEIkOzM7JW9iQWM4cW1XRWVXbD5qZU1gS1Y8
CnoqMC1fWVVjVXhAMGw5c18wQUdkYWVCWFR5Z28xZTZKcGVDb1RpKitAVjFFc2pofUpNMkBMXiRQ
Sj59flE1Jioyewp6LWA+KDk3ai03Y1U7Pn5TSDw+fmI8e29AcUVhSW05KUJQcHNuc097YjA1Tytm
Kn5JK1Mka1prV2o+VVJHbEZ0Nj8Kej5ncDs0Z141ZEkycz8wZDJaJEEkSDhZYF9KNHBTdVYzNz5u
dV9IfTg9WlA1VCRfYXx5QHllJlA8JDg7YDIrM2NwCnpmcXtefVhPfSg2bD5iZG1TPDQmaytxeCVM
M0MkNFNNKThQNFEmcHNKU2VZe2xrVWt6I15JIzgrMU93QHdKPG5Afgp6KFohTGB8RmAqSjN0amRq
TjZzPEAlMTRVYDByI0NicWptZyVuVjhHUStIRyUlYk4jbm9gKHpMQDZYLWZgLSpWO3EKelZSTTdV
NWZhVlctfXdLNFliKWs3ZCZrfHYrRkY3NXJJZk9ZbGFwWEN2IXMkQXg1S1k4TEtHSiNhentfWnF0
V3pGCnpGezZVO0dLTVAqREwjQlZEaWc5NzBTRzdiXmpNZng2JkEmOSM9ZUVrMkAqLUI1MGI9P0Z3
KylHaWNRUTdBcV8kaQp6ZyhUcihRPWFmbEhVQUZEME8lNUlnbl5jSlZzejlJTG9SaU11QF89UzA5
YyhmKGgwOHxOSjY1JkooamRDKVk4YE8KeiljXmtYYnlUdlBjUTN2ekw0aVI2PEBCTXlLZEhmOCZf
fD9Sa1JxMkw5dld0cWtjTDBhX3pFSy1QJnZxJjhYNSpoCnpNbEtUUEE8bj9+M2dXKGYxfkAyeUs0
ekNoa2U4S3NgQlppeW9ZQHpJMTctKTU7X3RCWXAjUXlkYCptd0UpQlh8RQp6U1MrNiUhYm1ePWxm
VUtzT2tucVY8STl7SmYkbHFGS1RxSnczKUJOYF5XR3hSO058bDlnRERSbTV9IVBvcGomViYKejt+
PTthTDI7cSo+KkUraFBvTygoKGVXOSVwVH4hV2hsY0RYSkdmVnV8OCNiYVRRJFo/Oz9RKDVeZCY3
VSplY3VqCnpMNEttZCtgYEVRQ254Qys5RWU/JSljTCNFbFdXaCMkN2hkOzZXWUBqaVkhNmpKeSF6
LVdZcEF4VmBCOCtKXmt+Rgp6eXZ3UXFoZT4+TSU/X2dyWHp6c1JUKWI+WmxTaGdwYmV5SXA8dmJt
Q3olIyU9PzM1aEhIVkZ4d1QzTzdqdG1mbFEKekBqXm1FYFdZUHZxNGVmRWdpfFJRKk18TjgoJSFq
IUpGS2JZbEAqNnVnbWo4cz1RfEBieD9sSlhMaXFAOWFfWikxCnpMQzs1fUJxNGMoN3x3TVJHJkhP
UDlTKDU+cEhSMTIxIU9nfndKUiR0VlRtdEpfZU98O0tmZnF9PmV6IzdqJmNQKQp6aWhhbXxGJm4l
K253eHI+Jkk8NHJ6aT1PVjNOVTBQaXJUa3R4cHtmSnl2cmFJJm1qTmpPP0NCfSNVUSleUzQ8PEkK
ek5iKjVGeF9nJChWYEJ8LVR3Rnw/MG4lM2UjcTVEcSN9OGJKNXAjb0grMHhhTzU5Kjd8YHpvenNi
OHxETytHUyFQCnoqWDZmNTkzPkQ5S3YqRi12Qkc0TVVeSXtleyFjQV95TFk+R0xUJDcoWnVHM2pI
VlIxeE5rbFBjNVNDNU01ZXEqZgp6RUloN3wjS3lKfUdod3BaZGwwfjM+KW8/VWYyMDd+eTtTVkwk
WVNhY3Z9dChyYDZVayQ2QzZAMGFoLXJzQXZufSUKem9RK3EkcU5XQy11UmNOUGwrNlQ1LUBxVWE4
dHVyR2t3dyk2QF5YQVFqVDVyTCY9JTExJS1se1RCQWl0YE11PTxUCnpTVXg7VD4kLUx+P0IyYjVn
cD5ke3l4OHsoZ2ZFK2xebX1lRWR8RVMlUSRXfTBZYXlVQmUtZlMyP0AjXyZlfEsjZQp6JDlMfTd7
MyZnVDlvPmUxfDg0Ql56a3hecFhFVVMhNlRkOUZ4PnBVejlXT19jUiNETChoakYtMEpoTyRSZlhF
OzsKenU8KWQxV1djbHJsfWB1PUlEJkJecmhzLXZBc049M3p3IzAqUnRSbmc2YiZfWF5AelktUkE4
dm03O048U0MjYWJpCnpVUStoMSVtNn5WbFhoKDJodWJQPGxEeD5RdCFJRVZIcykkTGZxdDAqME1W
aX1Qei1HX24mYjYheEYhVVhNUFklUwp6VksxTXszPER5XyVFLVZSIXhGJklqP3JiRlJTK2RMcm9n
JnJRTUEkbWtuVXUpKUlzRyhmQjYpU3ZlQVBuUEB4ZTYKel5yc2JvOGd9Wik1Zz51JnhId04pTnZK
cmhyTSZlYjJGQjNLej57SG8wXnh0aDRoV2V9Qlc2VXlnWXk5dmE/YDs5CnpeRWg8b0tMcGlxPU5j
czA5PCU3O2NNPG8rZWdWP19FKyZsUDBlbEZ5aWBkYEZfdHM9VURZfW9TdkNYN1JeNUtUNgp6ViFI
Y1RAV0J2OG5KSTQyIWBWR1NQfFItbiQ5YmQ+R3VxfUFMTF9IclBrcn5Vc2xNTGRLIWQoZ0NLVk13
SGcrKCoKeldGc0hNNWEwbFZYck5zc05hQ0pTY3xGXlRkLTk+KipNPkYpTyRnUnN7e2YjKm90PWNT
R2d1SHYkPSg3e2oqOE0lCnpSKD1NWjJ7fGxhIyY1UGxPUl92KFdNRD9Qd0owNmZiYWd8PkI3MmJt
MVUjVXJaZntwbFFmKDR1SVY3bkI8ek5NTQp6MWlCclpzPiFja09IWXR7OFc4NXw7TTgycnZvISgm
Q1A0NGxlU35CJTFUeVF3QU5NdWJyWTkjMEYtNDRuI2EocnIKej5mJXBRP2R0Mn1LJFlIbDd2YU9x
JSo+KTlIK2xLSlptZSFscmgmY1kyT258VCU3SS1HWklCd2ghb3xzdEokdk1ICnpiIypOQm8yKUUq
ak90eSNlalVaTjskaj5eR0w/O3U4N0xnS2QyNmA1MVpPJXtAKTdLaUAleWtXNUkrQ2VBYzM5Xwp6
elpFWl9veUFmXyFqS2xsY3x5VE5tM1VIUnt+K1RHb0ZVQThBUStFJFpgMzhBeFJ+MWBWZzMtY0Fh
KzRnM2lwTzkKejBhYXlPNSZSaTRDX25xOS1gc1U1P0hYZEF6fEc9Vj9qUH45eUJOajkjTllyd156
Kn0hUDtDLWlgXn5sYXtQJlFmCnpXYHslYzBEO09ZRTBhfjwwRlQjei1UP3xCTWdkNnlyUGo+Y3la
fWx8TElQSEdKZFFeQ0k4Rz1lSW9UWmdwU08yOAp6ajJYbGZZaDlReFYpNXhgQWx1Wnwtb0VzYDYr
I35yM18+aT58MHdQdXJncEYxOXVCSjEje3o7fDA5fD80dTNndjwKejBGQWk0dn1mI0B3YWI4emty
Rn4ydHBoP2NRYkJuT2AqRSRRc1NBIV9gVmJLVDE5Ylk0P2V4Qn1mT3gycy1NRzhCCnphWGV+cigk
WnU7N3E7SExXN1VvWiN6dSlmQmBQR2UwKmlnM0lpZGIzPDlXZjY0K2hLXjJ9WikmJH49QFhYR20w
dwp6d35xN2lFdWpDKCM2TlMxb2FSI05EVnFOeDQybiVLT1VoNTxnU289NlVJfiohSWdebmh4MFJQ
VlZTfXg5cUFRUHkKekM5QVQpb2pRWE4yKXV3aFNTV1Rjc3NOMU12YT5ARXJtcDAzK0VicDB7ZVhQ
NDJXQzZHQndpe3FNP3ckUl5IP3tzCnpjeHVJP010OT1tTmxiRGVrcXt8cGJGY3ExNXorSVl4Z0hg
UzNOeWxVMGY7PSNVJGw0JmReJkAxYHBMPTIoOXE5bgp6IyRZaUVRKHxDd0o7dztzQWdFJkomWWtO
P3dsXz1zJWZ0b0xWI3R4MFJfXmo1P3pLemQoOChvWlU9WVZmaGhWaUIKeld5bGhBcXhIPWRPakFG
NF8lUUwhOHktZiZ0aUxKdXB2em1lXnNESEU7UTBhOzlVcyh+UE1qJDM/OV99YFc9RUVICnpwN2g1
OHl3UH47OypuQE1EKEBUUz1KNUckTCFFJlkyRWhwRzU4QVZfTUM3IVA4ViZ9K21QVmZLRnd9KG1k
dVpNUAp6Sk9MWCptQlNQX0xiQjA8SFdGQGBCS1hpeSZ4c3dacUomcChRX356X3dsSDE0c1RJOHdg
V3NYQHV0STxGalpsTUcKej0jTXFTd3dRWj1HRi1yezNjY0lWQEVmM3R2V2cwQjtoUE5eMXB8bHFq
QnBJb0w4eTNzTmApfUtHJlNYaG5nWTNmCnpzbjRhcFlfTV5ZPmpWbDlgTW55V0ctI3hZU2ghSFEw
SGstMjIlSjhSYSEwYWxEX296e2h5dDNSO05ZZShJeCpLIQp6UyVRdzJtdjxZVUBCYVAhdkUpYS0m
RjE8WWx2SU1fZGNxNXcxODV8aWZuWHhHPzl0MGdPaXojREhGPCpDPD9RVD8KejtsJEU4dzFtKHo0
bEklY05EcylzdEZaeTlnNlk0Nyo7eXd7OXFncj8mUjRgVFNqNGh+a3VvdGZXYmoqcytBa3J0CnpI
djE5d1M1UiFDSyViS1ZjPjJnclJMd2heQGdBRWUwOz8rZzg1cWRPbzw+RjB4d1F2fWdhfDtHclF0
UUVYMWszawp6WUReV0ZuQF87bnlYb0o1QEZsWTJmKUk2YXJzMHR2QVZ1QTwmMnZRPSpuME5eSFV+
QDQrKEFsb2JMLTF6bF88TFYKeldTSWk3P19vJUwhMX45d0VTI0J3VTxzbkZxT01OR3p6YER8eG5f
RjQybzM7M3UkNWxCJFJVLT1DMm1rWjRoamFKCnpLLTdrMCtkYkdBSFFuNzJsfn0/PTlAP3Y/SDRn
Wl5MZSFDbTJieH5NKHRUYHcqcWZiUVUwcGFneyFeI00xMEs5ZAp6T1dRfDYwPkNyPjt8RyojajB0
Kzd4Uy1zfCN+V0UlUDlhSk4hNHtKJFAta1UxaShXME5HPF5GKCErSF5Sejg0djYKeitQPmRQbmti
WXMyUDlofTUjVkVHTzshK0ZGPkZheD5PSFFDdSZhenJIUjRZdzU/NUZiOHFtUEdoVnUlJTZ4I2Uk
CnokIVlRa2ojR3JyfEM7OSZSYU5fdVN7ZXhPKEJjLTtPR1Z9cyEmTztlR1lxNEhxYjVhIWhpfV9A
NG9tSG17dHFuRAp6YXtZfHk7cERWdE5kbXNPIT85P1pfV1BrM0JCaXN2Jit3SytCTDVURT02P31Z
MTs0JmhmTj5YUz9ednZtUU4/fEgKemVSb1NkMWNiLVgjN2c2YlpEQCg7PW5eaipkVkFORU1nZlV0
Sk1idEJKZTMzOEhTazlnK1A7SW1KKVZrRDNvaS1YCnpjSTJkenFUKzBtRUdHdUAqRjgyeUohPGA1
Pm1nciM9QEtDdC1POypOXmVVOFcwbjR1QTBuJEtjXmJRPWppMmtCJgp6ez1gZEQtQmJxLTk1e0g4
QUlsaHcyeDc+PFVwISVDWXojMlZnO1hraEU0QHAjNWQhclU3NUNGa1M4KV9wbyRyUmYKelctVV94
TWNlOSRgK180SipqNEpoVF4wPT87YEMjOHdnV3k7TT13NDteIXBoUFc3KEc3YDl9fWxKPTx7YmBn
O3BKCnpJez82Z2sjQ3tudyVgeWNQUjtRe2VyWj59MU1BUWFGZEB8SFdgQSNxdWMmMnNBY3VnMkck
SSskP0E+JloyMUxTMAp6RGxhJHNUSUxOUVAtfW5NZjBfRSZ4I3xRRkEwTEwxUFJ6WjRHUUglYFEm
aFlPd2NqX2swO1NUcG1SZHBAbld9WUYKelhrSClneygmR0tqSE8rU2MjY1UhS2F3TnVmMD5+V0Zt
R2QlYyZOJChaXitjaml0LVZUZyVoZ09tNV9mVU1kPVBCCnpTRD44NGNqVSttdl9pO1dufFJtKldI
eEdUdypNTCFgT3AjYS13ZFc7Slg3KD83NT17cnJAVEF5QHdBd1F1RUYwJgp6S29EUT92Z0Ute3lK
UGNEbiRHcD09Y2gyWDRvVEFtRFJNKnRyNU47cCEycUZmR045Q2ghXjVwak98ZSZnPXh3Z0gKelZA
P21OMDFtT0IhKnx1eTdzPCZKX3FMUFpnSis+KVZYRTtIaDd1fFIwfE95OFh6Uz4+QX0pWCM4MD5p
OCpwMFAkCnoxPCo7PGQ0LXBYaVdJRn5VNCtuVGJBa2VgaDNeMFYoO3RFQCUqPWt3JnF0aGJ4U14m
LW07KGdRTHw2cCtRPFdqUQp6SilPQXc4YytmPk5MPV8yOWZOUV5BTUItN0xwJVlUNDdMZkp0RlRu
Z3xGZnF2MWhDVSZoeCp+N0Fxb0ZxcFpzN08KemhMdU0yQkljaFRPVGE5ezVgPnZBeVV7Tzc2bVdh
fmpRMEVmIUB+cGB7Tlg7N3RjPWpFeyh3WFZZMVhRKjVIUng4CnowVXVaYD1OWkg/eEZkWld6VFlj
bW1meEJEUF9lNWpEKDlfUmE8Z0RkVWJLR3VFO0Y7WXctQFlWb0VSanVvZHQyOQp6VCVlZyU4KXlj
SyV5PnZoX344KGxjJWFVRl9PX041TUVaPFBPcXZ9NE1leCg8MzdvSyp6VjhLWWtBUlRaeF87Q1AK
em1mUERDQTFQSUclPjlsWDN6QzdgMEUxRTI0SDNvUGFmI1dvUHc4ZTJgWChtcmpnOUFzUGpQVWx1
Pnwye2ZjP0Q0CnpGYklSRGx2Oyt6MDB+KDIwRzY9ZSthU2VfMnFHfjE9RFYpRWxSb35lVypBPTNP
YUdsMWFUJVZBalhqRlRkMD0hYAp6RX1TcHYjZnhpNTYlZXs5JXJ3RjVHejMpc0ZePG9Fei1QZ3BP
R0c1eyQ+aXtHeWNtWTslUkJKRTZvZ0QmRyZIRG4KellqRl5gVX0je2grSW9EbncpWGF9dmpiYiFK
Tm8qZiRzfGJHNDB0RmN4aHE8eDQqZU9VVXIyU3B7clllJHkyTGM9CnotKUZ9bWY/Xk59Q1hrdHhS
ZCR3UFV0Z24jUVV7PVVPVW5ofjN9YDktJjVxYGNKN0o8QCVxSTh1TG5kJmcrIVVVYgp6dygoPGN7
QSotQUlOSDZAQzVqTTFVeXRXKURVNmVpSSZHbG1fZDl4UylsTk8xXjRENFZAVFZ8RGlOO0RYc3ta
flQKek0kKU5DPXRQe0paV3VsJER8MUAkQn55bVROaiU8UFFsaTZnKHU8RmU0e0ZKTjMyQFRpc2Na
JmFIcWg2PEM5bk15CnpuWkdzVkd5VF48SU89M25EJVpNTTYhZmw7NFZWZkNCblZTZj4rN3ZNKEhe
NlZzVUBUS2JUNXpIVipnVklCYlB1ZQp6MUpJTH5DTENrT3RtfTV4cWVzaUNzPzR4QkVWaEdaQXIm
cURHaj9mYktIXyVSV35WVX1eIUtFKiphanctZT1SUjMKemlhVHAobkpPV1dwYE4wI3BPJl5KISRC
VkY5U19pOUApOHNsZSZGUmJ3c3x4eUM0fiktRTVJQkUkMnk8XzxvV0BPCnpkU05sSXpTI0pFVjk+
JFJ4SlFJZ1o7PmBnRko3KG9xUWZ6ckNIK0pGP2NEcjQhOWp0QExgVl5WQkxYWj1eX1BlPAp6TEp+
VSQyblo1fk5NKGBwVilkNlZSP3N2UjYhZFVCczIoNkd6bylHNmdzVWxkKzxmV2J3Vn5XWWh6WFBL
LWFROUAKelpoanV7OWdeNTYpK2hYKUM0MmA2MjBUd00tYCkmIzR3KFNGQW5rdWRsblI3UTBxUHJN
OCVXTnsqMV8reHYhRDM7CnpiRiM4ZF5jRCFYZUpVK0k9UnVmLWYtVmhQMHxSZ2lpO0tFPUAoa1d5
X3s8cX1wMUMxXkAkYWBiWFROXkxAan5MUwp6Xms9fX1iLUUoK0U4I3ZvcnZlWStMQnNTPEVoa0pn
IUUtdnFYV0Q/RC1NK09IPCZLST88M2s2UCZqbmsrJHVLI2wKejBCTk4yPjx+MTdvUUM4ZjFoeXU8
aHZDdURWdnh9KTQ4OHU7enx0fj9eTl5zMEQyZk9kUCRaPFN1Q0NReSROblBaCnpzKlApemFlYV5B
djE5cDF2Q3MoN3N9XmtyZDd6MWZOQFlzUSZINj1OWndWVT0hUURPazsrTX1BVUVMQH1XPkQzSAp6
d2pVNkxwfHRoKHBLb2MtUzBoTlRJMHtWQ3d6ezJXVztSNitrUFQpLTtzc1F1Y35kbWZrTnQxeXQt
NkFgakA4KGgKejRNSHkwTDAmLU5afFNlfm9FNV9RYkEkdklVeSpDSCgkQj1zUEJTQTRuQXg7T0Q9
THAwdDF0NTk9VEwqUVJ7TT5CCnpWdChKcGdnQzE7JiUrRXZNV2xNUUtYPE9gS2FLd0xUfHY+Q3Qr
b14xPz07P1RAemRXV0g3UmRITkNQRTVDcXNBSwp6QXRTblhNNkFJfWh2TkQtYzE1PUdsZjFqcmRj
TkpFUDNJXnA+MmBeK3REdl5+QDs7Y0c9ITU5cD9MPWdEYD9uSCgKeitEMXVxUnR9aSpLWSNocE1m
bEgzX3xHbyombzIxU0Y4Q2taMSE5WE97RHgmVDUzSkQwaCVRTjl6S3x3eT9jVjxmCkRtdkVpWAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9y
bWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1j
aGFycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZTNkMGZi
ZTdiZWEzMTNjOWUxY2JkZGZmMGFkMmM2NGYwZmUzMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZW5j
b2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDI0OAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjQ4Ci0gICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjI0Ci0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHg1NAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzV4NTMKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA3NzU6ICJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2
ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVy
cyBhcmUgcmVuZGVyZWQgdGhlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3
MjQ6ICJzYW1lIGFzIHRoZSBwcmVjb21wb3NlZCB2ZXJzaW9uLiBUaGlzIHRlc3QgaXMgYSBwaXhl
bC10ZXN0LCBhbmQgcGFzc2VzIHdoZW4gdGhlIHRleHQgaW4gdGhlIHR3byBoZWFkaW5nIGVsZW1l
bnRzIGFyZSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc6ICJpZGVudGlj
YWwuIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAoMCw3Mykgc2l6ZSA3ODR4MjgKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTc1eDI2Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTc1OiAiXHh7MzBDRn1ceHszMDk5fVx4ezMwQ0F9XHh7MzBD
QX1ceHszMDY4fVx4ezMwQ0Z9XHh7MzA5QX1ceHszMENBfVx4ezMwREV9IgotICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTY0eDE3Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMTY0OiAiVGhlIGFib3ZlIGlzIGRlY29tcG9zZWQiCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9
IGF0ICgwLDE1OCkgc2l6ZSA3ODR4MjgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTc1eDI2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTc1OiAi
XHh7MzBEMH1ceHszMENBfVx4ezMwQ0F9XHh7MzA2OH1ceHszMEQxfVx4ezMwQ0F9XHh7MzBERX0i
Ci0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjA1KSBzaXplIDc4NHgxOQotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjl4MTcKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxNjk6ICJUaGUgYWJvdmUgaXMgcHJlY29tcG9zZWQiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGEzNWE0MmUwZTUwZWNm
ZWI2NzIzYWVhMjAzZDBjNjU3M2FlZjYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2VuY29kaW5nL2Rl
bm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjIgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNjQK
LSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI2NAotICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI0MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NjAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNzY2eDU5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzY2
OiAiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBv
ZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJl
bmRlcmVkIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3NjM6ICJ0aGUgc2Ft
ZSBhcyB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwg
YW5kIHBhc3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUi
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDApIHdpZHRoIDYwOiAiaWRlbnRpY2FsLiIKLSAg
ICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNzkpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2OHgyOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDEpIHdpZHRoIDE2ODogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENBfVx4ezMwQ0F9XHh7MzA2
OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwxMjkpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDE2NngxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2Njog
IlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAoMCwx
NjkpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDE2OHgyOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDE2ODogIlx4ezMwRDB9
XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4ezMwREV9IgotICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDIxOSkgc2l6ZSA3ODR4MjEKLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTcyeDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTcyOiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNwYW4tZGlyZWN0aW9u
LXJ0bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL3N2Zy9X
M0MtSTE4Ti90c3Bhbi1kaXJlY3Rpb24tcnRsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzQy
ZWQxYzYyYWU0ZWNhOWUzNDExZTY2MTBmNTk4Y2U1NWExN2JkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNwYW4tZGlyZWN0
aW9uLXJ0bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMywyMjIpIHNpemUgNjUxeDE0
MworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkyLDEzMykgc2l6ZSAyNzZ4MjEgY29u
dGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDE5MSwwKSBzaXplIDg1eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4
dCBydW4gMSBhdCAoMjgzLjY1LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lk
dGggODQuMTUgUlRMOiAiXHh7NjQ2fVx4ezYzNH1ceHs2Mjd9XHh7NjM3fSBceHs2Mjd9XHh7NjQ0
fVx4ezYyQX1ceHs2MkZ9XHh7NjQ4fVx4ezY0QX1ceHs2NDR9IFwiIgorICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgxeDIxCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDE4MXgyMQorICAgICAgICAgICAgY2h1
bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTAzLjYwLDE1MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgOCB3aWR0aCA0NC45OCBSVEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7
NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfSIKKyAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBh
bmNob3IpIHRleHQgcnVuIDEgYXQgKDE0OC41OCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDE0IHdpZHRoIDEzNS4wNzogImRpclJUTCB1YkVtYmVkIgorICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMngyMQorICAgICAgICAgIGNodW5rIDEg
KG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDkyLjIxLDE1MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMiB3aWR0aCAxMS4zOSBSVEw6ICJcIiEiCisgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDg3eDEzIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODd4MTIKKyAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMTggd2lkdGggODYuMTg6ICJSZWZlcmVuY2UgZ3JhcGhpYzoiCisgICAgICBSZW5k
ZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICgxMDAsMzAwKSBzaXplIDU4NHg2NQorICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE2LDU1Nykgc2l6ZSA3M3gxMgorICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDEwLDMzNCkgc2l6ZSA0NHg4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDR4NworICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAxNiB3aWR0aCA0My4wMzogIiRSZXZpc2lvbjogMS43ICQiCisgICAgUmVuZGVyU1ZH
UmVjdCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4LjAwXSBbaGVpZ2h0
PTM1OC4wMF0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgODAweDM4
CisgICAgICBSZW5kZXJTVkdSZWN0IHtyZWN0fSBhdCAoMCwwKSBzaXplIDgwMHgzNiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4LjAwXSBbaGVpZ2h0PTIw
LjAwXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwNiwwKSBzaXplIDY4eDIzIGNv
bnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjh4MjMKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgyMDYuNDYsMTguMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDUgd2lkdGgg
NjcuMDk6ICJEUkFGVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdz
dXIvc3ZnL3RleHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTI1YWQyZDg2ZmE0MmM1YzQ4ZDE4MDBhZWJlZjI2N2Q0MTViYWU5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL3RleHQvYmlkaS10c3Bh
bnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDE1MywyMjIpIHNpemUgNDYw
eDg1CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTUzLDIyMikgc2l6ZSA0NjB4ODUK
KyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg5MiwxMzMpIHNpemUgMjc2eDIxIGNvbnRh
aW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMjc2eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoOTIuMjEsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMCB3aWR0aCA1
Ni4zNyBSVEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfVwi
ISIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNDgu
NTgsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCAxMzUuMDc6ICJkaXJS
VEwgdWJFbWJlZCIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgyODMuNjUsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4NC4x
NSBSVEw6ICJceHs2NDZ9XHh7NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31ceHs2NDR9XHh7NjJB
fVx4ezYyRn1ceHs2NDh9XHh7NjRBfVx4ezY0NH0gXCIiCisgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoOTIsMTYzKSBzaXplIDI3NngyMSBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTkxLDApIHNpemUgODV4MjEKKyAgICAg
ICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyODMuNjUsMTgwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4NC4xNSBSVEw6ICJceHs2NDZ9XHh7
NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31ceHs2NDR9XHh7NjJBfVx4ezYyRn1ceHs2NDh9XHh7
NjRBfVx4ezY0NH0gXCIiCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkg
c2l6ZSAxODF4MjEKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEx
LDApIHNpemUgMTgxeDIxCisgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgxMDMuNjAsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA4IHdpZHRo
IDQ0Ljk4IFJUTDogIiwgXHh7NjI3fVx4ezYyRX1ceHs2MkF9XHh7NjI4fVx4ezYyN31ceHs2MzF9
IgorICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTQ4
LjU4LDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGggMTM1LjA3OiAiZGly
UlRMIHViRW1iZWQiCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEyeDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoOTIuMjEsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyIHdpZHRoIDExLjM5
IFJUTDogIlwiISIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNl
ZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGEzODZmMzZmNWFjYzU1YjhiYWZkY2ZiOWY5MjI2MzMwZDc5Njk5N2IuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgMzMyNjMKemNtZUZaUzZ0S0UpLWBPZTZhfHFFcUVlKUhxQHpm
MEFgKXNxZEkjeC1ZTjFGTWtxJHZSNStLcSRZXjRkSV9acDs9CnomP0ZGZ2BCcHE8cFd9WXMtKkB4
Z3lmQEY0NyF2Kn50SVJwKG19OUp2cnxKc0MqSiFTdElkZ19zTiU2X0VHaVQxPAp6SWRrVG0/ditk
NmxfWmIxRlRwPCMrfmpvSyUmYVpVPnxFVSkmaFUleW5GQClUQD4+WHMzWXJPKzNSKmxnPHJtYFAK
ej1pP1JPNipVeldHM1BnVkRSPF9LJW8oTDhrRGs5ZXlQQTQyZm5JSz5sQX11ZTgmbE9LUGgkOF8p
VnRjSWt9OXQ1CnorMXV2UEZLVH5xdU5RcXx4XlJgYCt0aiZsWiVid1RAcmJDSig8RjZJX3VXKSl0
TSQlMHlvM09CM2hJcz5HI0soLQp6YW5uT0tpQGtleT1FOXZiWFJwWWRJZHxoVl9fNm93aDFUV1Fm
e04kPF8yMGpMXlpNVEZ2eWJIblp9fElfR1opMGQKeiZzPFVyUEdAMkkmeGUyaT90Rm1RZjhSclJ5
QnBQNnE3TmpwWUw5PEU7Nkp+K2JqQUpPJjswakclZT8yUD8kOEclCnoxXm4/MEBGVVI7Pl5+bFJy
YE9+SHVaJFJ4KEE3dShfJmwrWWpOajN3ZmBEb0JkJkIlYHpyKGApcFlLUnJIWSV8Wgp6ODlxYVpV
N3A0eFE+cCM9N19aRXdSPWM8Y3l7cDBraDAtVGBPP0E2eVpAdT1OSi1hVDtmbGpPUHVeTiNLN2VS
cWoKej9RTDM3bW48MGVPS3hZTFdAaTJxNHZHcHI3XmhZUHZmJl9xfDlFIz0xdjkzN299ISpNeHVw
Py1gLXFsdiYoJio4Cnp3NlVhKlJUckNMVXl7UWtMT0goKyRJRUVlSkRPdikyZTYlOSYjaG5FbXYj
d1Q0KG5NN2lMYUgjajlJMW1zdj9jKgp6Skt0WEN3JSFASDwwJjFwT2luQ3JyOW4tNHRyUll6eSpH
cGcpV3Iqe0YqKFVEZFRfcjNqT0E5Qk5LZ0hBczdTez0KemZ9d3QrQHpoVVhLdmZfeWpKcVplekZo
NWBsPGZxMCtvaWZ2SzRLKW1mdmhWKnhhISZMJmZDI3slaEJ0eFJhaSM5Cnp1andsfCgmPH4xS0ha
UDxNb01qVTNna0ZWSCFPfUFgeGxiY15WJHBHYmFRO2JlMyVLRzkmTCM/PHYocmJydXAxaQp6VFRG
ZGElZl9BU3AqZHdVPnx+andyO3JfXlVmQlVsSmtYWTdGaUJTVW9NJEEkem1SWF4/amd4OEQ4cktT
XjZ9UjkKej5wVGhtJDFCRSpvZFB8QWJLd0chZFMoJHFvcUFUTzdEV3ZRd3l0Z1RvKFhBdzJrcD5n
ci11Q3VQRXloTjg/Ri0kCnptMnlxeVE9ZzYkNy0wOFRBUShHKiQ1VyMpb1ZJPypvdUIhTEJISzdV
JWZ6M2AkN28pc3dJUHZEdkR1b2g4dFpLPQp6K0lMNDU2Umo5WkpKPUJrI2NkMXwjPFAyQFp6NWw0
Wkl0UmlTRU50KGp3WjJLN3ZWVXk9IWExRyMqVnw1UWx+Ql8KelBrQnlIKXRfIyFKN24zKEdvVV9n
NUQ5ZD9rVUNodFNHd0o9QkVtMXUjZjxwPGw/fD52bWFfPU9zKGJxakcpKSZKCnoqc2lJdXZlYXRz
Yl9eb3J2JGdOJWEqb147b3g9TU8qMHVxYU1HPmNDSEluKUd5IWk7IVF6JUIyVXkxdmtXV2hsYQp6
YjhjJmZtbStUUiltKCZDUEooR0BwQ2hYaHxHMUY8alF7Q2orTCVNLVJBKDRaISFsMi1TUD1oOD48
bEAzTT85JHgKektKU3VUY3ppdE5WdkYlc1RSfm15Jn5EfGwtPElobHA5K05QJldoaHkqPCg+VEtY
O34lMitfcF4lVyVHSDI8enlvCno5Q1RFeW4meCtXXkJTOGx0akFVcFpuYFYzeXFpRCord0hnTDNx
TS1RUElXKS01fTZrQ2t+JSYjMFc7WnRaTWV1VAp6cVQ0Sk03a2hKZFlmJktEazh5d0hCIVQ7JEtl
UjJRJTRDJU5MXm55IUJAYFdAejFOMSokdWk/filNVXRTRStpOTkKemJzVmVGKzdTXmJSMmc9UEE3
UEAwakk1fSZwKlVTVGxgQjt4NzwyT2NfRnJsYmQ/QXgrOW0rTXsoUzA2T3BUZDV5Cnp8MWl+Xigq
UX1FWmskK0YodClzLXY8LS1+cCpHOXIkP0JtcmROczQxRXhiaFl3KjBTaSo5VkppNDNSWilKWEpy
Pgp6MzRsWUl5bjx7KmNScmo4VSk8YEVfR35IQGU2cTQkeVd1Z2pRTWFZTzFyeys4WT04OVIlTyt5
XkJeJUhFaDReR2QKelFCOC0+LWJ9RkwkJldxLU1oQ3lXbmFpIy1mc3shbU8ra3NeJGFkZzZJbT56
PFNNISZlaGw1Uy1AYlJQZUwram88CnowJVBWZWlRcFUjYkMmJEw+b31UN2BZRTFnWVVKVVhnbTM3
KSpGTGlHcV4yKWtUYCRYakE3JEtXPS1SZExZT3FPeAp6LXxScVl2emRIeEE+UDt7OyppIzx0fW4m
OG03MlQkdURhZkNTYnUyb0NUdiYxN2NWJnpLO0Y0TXB5NEVTeEdKelUKej5EclRjbF9sWT8+N3dM
UEViMmpTJUIqPylAeT4qMDRKSnE2R05hRXxQNU1gLSRHY3N6SSEyZ1JUJFBoOWl3UzB0CnomY3ll
SU90TzgpWkV+d2tjclA9JmBwbDhXQnBYRUtvWiM5bThxczxjKEgkPG5VYlI/KTt1YikwKkFAJjIj
bGc/Ygp6NDtAaz0/Z3xTajQhaWI5P21tUiMzKyY1PkFuUCNrKXZyeWVyemdpPG57QTl2YTM3cGZF
OzhzJEh5R0pzKW0pQDIKekJkT3IwWFQoaGZSemlAZEZxfWJfSHxNbFQxQjM2alc7fi1MWk0+bU5o
JlFxaCpURz8jODZvVmxiZFVqT1JsITNTCnpndTRVPnMjKmhhMT95SnpJe2lKbWtQfFopPVBkUSZ3
P2l9QndrcDspa01VTSlJdWBUakdXfnBKalQhYXJWITt2fAp6Nn5+LUooWCpVOUFLOHxuU0ZnWmdM
NX5ONW5JIzJhOD0zcSlgYkx4ZDdHeCtiJHNYJGpqZzF+fSglayl9QSZwflUKeiVYJFF9QHErdHVk
VGBEMyppMkohWkR4PUhQak5HdVdwVEBHKVBqREg4aVAoNkA+Yz83Z3txaH5SeWByLTIhdnIrCnpq
cnA7TUIjMnx4X0R5Ql5TejBWVEZ0SCNURmFPb1Y9THZOTysxQGJCcHV0R1Z4UHFQYDleR3pCeHsj
ZldDeTZfOwp6KEdpazlOYlR2ciQwZWVIdGxQOGJzTENeMXNgdCp2WDRLdXZyZFNqfilWV0RScUh1
MSszJlUlYjVHIVZATXh5KE4Kejg7JDshRFBTdXw+RGdxKmxHI3oraGhXVVZXWENENWxJQzh3VzFW
REhwbSU/NmRWTUk+SyF2bHw/OHdlVlUxR0RqCnpgRWchcUZ2Q1JDI314bVF7cT5LPlhIX2FqT35h
WldZcGp5R3h5KGxedXowTDEtUURMKU9iPnJydkZsV34qJjQjLQp6PDd3TzBfZUYpSklEKiFiMGl+
bkxDPlBtWVBNcTU7JXhnJGZWUzMrbCR+fUgtI2g4PClUKmx3NDl+T3FPcXdOWXcKejlmKi1RLVg3
ckkwaHVPc0dAVV54K0Q1T08pOyZ3Um5UMmJqbl5mNjh2bGp7KDg8K1BoMFYkP3Q+I2lPd2gxc2dH
Cnpke313KT45P2VtdiokMH1TNjFvZktLRyVaViUjPV8tWWlYR0A4YFBeZGFKWm01TnR6KUA/JHt3
ZFJRRFdGa2lSVAp6P1RVWm8tcE82XnA7S2IzbGUtUVpNaHtPSU8qZF8pYk0yZyZyXnRAaURVI2F7
RHxXdGBkbEhobXlgI1NBQFVBRC0KejRgajB0aHBlaWBIYiNHbTspcnpmY0lObV9Va0pxKXFsUXIw
ZnFKJi1QKTBGM01kcGZWP2JgY3I1Mis7YXNQPlc9CnpfPntNNDN4JHJgZjwxOXBHeHk2NmB5fFNa
aHxyRipfZn4zUyh2b3R4VGIrSmMmaEZnd0FgKCU+WXw4Z2k3MjNOdgp6PUJSWDkhZVd1QCFSaXxo
JDVQQTN3aD8qdmNjaj84aEUxS3JJX301aWRacVI4cnMzTXFPKlNXYl9ebmg9YlZ2aFkKek8oQU4y
KUdXJXFveExDZG82NzlDVzxubTgrLT01YnVTdTs0aUxKQH1SWHA5OXojVTNeUWI3P3xEM1kyWEw3
Qn1WCnpESTM0NSVDMWBBKlY2d2J4MlI/Tk5fOHQ3UVEpP1B7PkY1RUFGLSg1dk5heEpHWTBjb1h5
SVd1WW1YWFFAdUZKNQp6Sm9eTEBMeUQyMlJGO2FwWlZoTlZQcHJeTEhDUDx1TT8/cnxKPCtBKEww
NkpwayZYUn4qcW1aaClncyo2KFR1YGwKenNicVljUz1IRVhwPD5jUyNrMkVwc2RoelpzcmZNPHNw
UiZEIXhIaG5DKjstMGdgXzthYHZXTSYrO2tvWHRYbEVLCnpJWSVYcEY2fS1fKCt3UHNWandyJXUp
UHRhSmdFTWA8MjkoSms8VVlhKWc+K3NXQjFDak9CSD4oazM/Z2A3V1Y/VQp6eGo1PXJ7U1crJV4h
YkVzNjB2SmZIUjNucXAzKXFZdFUqO0Y7aVpjdGRRSUkhYV8jK0ppfDlRQHpoITVgeHFUTyYKekB9
ISp7OzgmS3MmSzEwdyNqZnA0STV8Q1V0VSFDJjxwIzB6PzVzfnM9JGJYem0kYjdLSDd0aV5JJFRK
b00wPXIqCnple1lmRUJafWg5QGI4KDZqKTRuVlhnWXI+T2piK3sxQ0s4PSNtMUxoYDFvZXUxPngl
TChzNzBjeHRjWnt7YkppOwp6PCVGWlMyO0lRUVNRfj9Qcn5USiZtKTFSMGhyd29DTDh+O1JMX002
bnZmSmAtaDVsMnd6aD5nPyZGenspdnVGdiUKenFHYypHJX0/QFRRTntkYCZScCElWlZaRlRuT0Ve
SDJWQyMjcWU5ezN4fDEzRkFxIXZOUilWUC17X3RIIyl2Y2NWCnpHfmFgNXVxUkZyciUhOTlefEdA
QU87PnwmP2xObWxqeUpLfjkkNyokbndmLWtlNzJxMXc4MTllbGNAKDwrVkM1SAp6QHRkcUQ8K0Fs
eTN9fXhSVGxGdW9BXz8wPGYyM28xPTNtPUZOU1M0WWVzeWFwTl8jN0ZJPUlkd0JPVmlfPWhaU3gK
ejhTQVdCVSh+XnRxb1MhVjZAfCY8O3FqTTVHUEpuaW9oTXY1PkUzRTx6ZT9idl8hSzFhRCVibUAh
Ulc4Y2JUNDFpCnotcDtzRzlFNUllSnZAQkhGRFNeTSZ0b01AS2NaKHZVd0tYXlQ5djBzal83MHpl
TVYkUHZ9KWN3WHZ0KWYqTzw/QAp6RUhyfVVTK0lJZChFN0w/KHB8UD1rZTtxNHFifFQ/ZmZUUWo3
SlJAeT4zNnVjUkQ7Qy1CPHp3X3tjVlRsWT5WPTAKekoqR21jPFQ2IXZKS0pYc0d+TVhIaHtjMmdE
bDJEZy17X2Z7UjdNRWZvTmo5Z2omQE8kWllUU3BVbG57USVacH1NCnp5WndYRE1Ea0RGK3U4Qmo4
KW9+cGklRTdGX0M1e3liT1clc2JVZXVKQlRvVyQmM1k3VzhXU15wc1dpMGZ4V0dXfAp6azNjcm1S
SWtecGdhPCojalgzVV5KPzN0R3h+cEF1eiZpX0ZyTXx2cHtIZCkjPzkoRDxWNlpzNmpASmgrLUl9
M0YKelc1UXImS3t1emJHNDtJME1lMkM7a1pxXm4hRChAb1FOdDJ0b0QhITc0MWYxX1RXKyt9S15A
aj5rNns/NS17XktjCnpjJnZNM1pvUW5rSFBVI1pKdi1UVVlhI303QjxET302S28ka1RYVyYkTmF2
UHRvTysrUXY/fVpOKHlgQGoldzZoaAp6YjVWUjEqUi02KGlZNE92YFd7JUh3IW9EYlRiQzQ7T3Bl
KT1iQ3NjcDQyMz57a0xuXkRkUnpOalpUYjVUYGtQU3IKendsWDhSJjF7VnlRYSptNlNvaTJ2X0x7
LTE2SyVOYylXREw3Qnp5blI3R2lodzxAdjE4eVIyekdDQTlCfnMhOD0lCnpqT3YrXi1iRjcrQEpf
Z3xIS2VyTGNEZTgrOHAoXm5UZE9jfk1wMG9IRXFPM01NSnFJI0c7QFY4ZiVMRWlXK0dPOQp6Qlhz
fGFuYDdgfCl2PCEkXmRwS196a1lzbWN1VWRGVWI3THtHUD1pbXZXTGt7dDZ7antPRl9LZz9OMnp2
NFIxJSsKemIqLSp3ZlVMd180ZUYwQj5LaCg7ZmZAfjZuaF58WE1VRFh7IWU+dDxgc2ktPndud01t
Z0AqUXsqaGgzdkxQeU9wCnpnRm8hbldgMUpANztNekpqbEspK3k+N0dtXnJfV1hUWlNZPCQmIStl
eVQ+SD94Zy1taXFMcWtHQG9nRWxIMiokdwp6UkcwbWMlZjluWDclQ3x7RihqR0pPbnVtYmwxVHx4
UExxek9Ibzhzc1diaWVGcjxnYCFIZT1ycTg7JDNfSnJkazUKejRoYjx9d29mcHNjVzIjNioyX31h
PEwwP0cwZUFjRWxYRVBHSXJzJW1TYTFrRURyZTRPSzlEQ2ZjdUJ1VTszS3t1CnpkLV97SHBOMkhq
fDViclBsemE8TXspbzFGU1JqdXdOMmt7RT9nRTdvM2ZJPShlYSNySi14VH5KUiRHU2x3az4lQgp6
KU1Lbmc/WlV2Tnorel52PDZmP01eWVNBa2l4QDJUcyRrTTVMT2xKb2RFXlk0QEdWc0dwXj18VV81
MTZYbSgtdFkKemdeQ2JSaDRoOGVBdCpZIz8rdT1FdSs1bnhKfDNyJjI1SSYqez1JRHFESjBvIyFZ
VHteY3haQkAqPnQmS1p9eGhvCnooeVNnZzNyRmkxc2dSYU5seE5aeitxTklJT205eH55KDJ4MiRe
fDNfT1BfcipHT0JMSD1gXiF3Y247MFRTTUJgYgp6PlgoZSRrZUNgVkBeK30/T1dSPy09NndzJSha
TGJzUndITVRMfUtpUVIpb1BnXkspKjN0VCZRQDwxKkQ7XnU1KF8KekM5T1EpU3lyQElWcXF2dUh8
NDJFPThAZEs3VX0ya20tUmlYUklwNFlKdjJvTmV4QFcrZGxxc3ZTc2o2e2lQPXJvCnpsY3prTCZ9
T21zP3BJbkdOe2QkLTM2N0FBa3kxcSREfm8tK2RFSG9edzVKPl5ATnVed2R5OFUjaGFSJHxqYU5p
agp6WWFDXkdMQTU8TmVLaHFrS0tyaTVNa2YqKlI0VT47PmFpPWFMXnApQyVjPGlhWSNsQm9hbz9H
QVgjQ1JjJj1eQW0KejxqV0BPPjAwSVZ4K0E5VG5IamVIS3I+RURyPDVrPXR0RCU5WkJSYnNZNHE3
bD9lTWFhRDlDSlJKQ1ZoWTRBUnNGCnpIfHlvNyo1YEpyc2YoQWEtRVg+WXFGUWp9R2VOWUFTZ3Jk
eShsbjsmPW9FbUYrWHtiV1VSTDlkcW9sbUU3dkY4NQp6WU9MNGsodmpPZ2EmKDI1PnpTRSRPX3Mm
UV9KPlhmZXc+N3VXPzA8K1B7VmlPTGt1X2VCKnI4XntTbHVZVXBHeHIKekNmfHw/UFpUOFNZZlFB
PTtmP3BRcXEteTIkZCYkPC1Bfkkmbz1LIyRzZiRkYk5+VnJSYSsrU1MxXnJLclJKMkhpCnpTQShI
T052enFNc35aaTZNRktlNClFMj9jREVQJDdPbVBlKlpEe0EwZ0dQMUd7PyVqYmBZYFRpUVlxUGJB
R3VsSAp6OT1weTBzPHk3QV9uN3hvJkxhUHBvQ0hOe0VrRXdhVFdmKlI2fkBfLWIjc3ZxKCNsc1B3
P0kxcC0zPik2VHE3VHoKel9AJjFZTzNNK1czJiZ5UUkzdUBKWWUjRH1PPU01UkcpOChkaj5aQkY0
MHtsWiZLUD0xem8rYj52fVJoamJaV2VRCnokMV9RSGc+YW1vSyR6UUF8SnRKc2QtVFEmQEJXYTVZ
REkrfT9ZMj5ZRk5laGsrTW0+OFlqVUNfaWd6QEIybnxjYwp6Yll0QU07NmoxSyg0bkt9ekt7Vmdp
azJ1c24mU1FsbTVhfFBkbU15ampFZil0VWhNVGUzbFhvaytiNGB3NXZ9RisKekhFbTMpalRLJntE
c0p7RyowNWpyKHQ8fStTaTkzN3pHVChjZCRITDxzajtmVTJtQVR2R0ZmZXVmKz1oRTJuNUAhCnp0
ZCRodSNMN142PXQxWVgmYVVmbXt0MENkTiRwRG5iam9MfERgZF5aVmBRfT9KdFAoTmJOajAjUlc8
KHJ6aXNGIwp6cloxRnBJTFZFX3lkIWN1b30obEZgI2RKb28zREImLVEhPzxiMzl9IWZ1cFkpYSYt
WDlRZTNDI3hjdDN0WShYNSMKemZhfn1zXilNdldLR2otQ1YzU1ZGJkR5ayR1Nz1gYyo/fGZoM2V3
My15K3BifW5WbyRGO0dVVj9ETmtlNS00TGFNCnpNQGhQN3lraj1Hc2d1X3I2O189V0JpY0xXM2Y+
UkRRZF5CR0dmK308WmBuQmBpbXRLcHVLcDxIZHZNPzUrbloqUgp6XktLKk12ak0pSiQhYUJ2NEtB
VytnNFpXXmhOfiRvJVdVSlE7OWw0LWs/fk5PWiRtMldGPTUlMTlLUiMkKGRubnQKempZZUY/KDlH
KH4oKXB8eWIhOElpcW5ESygoVUFIUUdjUzZwTGtyWWBhWmQqMVowVkxSKl80SmZMWjc8OHNHJmJr
CnphYVh0RGx0O25BKjhePEdWOXR0cT5tSG8+NztfTCphend4fVVlfHBTKkt3RVF3M3dmM1J5Njcz
JlNPPExIVmZqWQp6TVBHKXhJRClsfXFsMlElWm1RaGwwSTtaZ0VgS3wkTCZ4TkM/cnUwUFhCK0li
VmtAck9CaXYpdWc+KEleSmlxZk8KellpSFYjVHFDV2BpM2pZVTR7T0VnWil6PUZDbUx6YE1mJXVw
U3d6M2JqPz9qR3ZhVnFeWkg/fHxoVEh2STwqQXprCnpxZlZCcEAhTCt4JDJqPCp4VjNjbmFIX2Z7
Smp7KH50UnJuI180V2BfUn00UWBFK0xzXkhwPW9lblE1YXNBNGR7NQp6KntqX1pITUB3cColMiRQ
IVVPRklHaFh5SGV2YUhTKkJPJVl4fUJaUG58PlhJPXlSeXpQMzhCKXYlN19zOFhINHYKekdVWCMm
UklzLW5Zfm58WkUzYWx5aFNJRFZNTEslPCEjbTV1aDBtPnA5Rzg2YjBnTTMjbUVCI3N5P0p2YitU
YXI8CnomamUhX1puMEBVbGZpblVVeiVPNkJ5YD1vYGg/MUN1NHlrNXgzKTBCYk4wayNqVmVhRmQy
QT09bWhodE9SWEdYVQp6VGJRPEt6dGtkMzVgX2R1ZVRHWkswYGszQHtealcjZVJ3ek8rQD81REMo
YE09USljXyExNiY5e0hoVm9pSWc5OTYKek1AWFYmQWN1Rk1DSnZ7bzd7ellXLTBgcnI5TXI9TWBT
R15BaFphNVZKUjgyeDd4aHFLdl5qfU9Kc256X14qPSZtCnpTUX5HU1l+Z2FWRj42O3xLVmlJI3ps
a2RIaTVyRDZnK1I7bTtfUXRrXjxUZndSaTAhdzhCbF9KNXl3Pk5FJThCKgp6b1dpMGd1ZGcpQyh+
R2tedHxvUjRiUXZTXyV7WUJqcVhiN3ZkS0NMZzdxQDFqXz5PJU5lKDZHQGMtNURreylwVHIKekBP
aDFSb2RkckVpOHYyMmBgOWdgWXhlI2BGS0BoLVE5NEoxSHJAVHwrX2JHTSZxUV9NJk0oJXBVREVA
LWVEdmtCCnpEeEk0Sjc2WDBQKVJGfTklJENje15XJm1PPDNFc1klbW90fFclZGhWP2kyLShIP0o5
UHUmTW16Y2FjQm8zWm1Xawp6O1Q0KEI1QCV9QDZES183JCFQJShffkclfkoxZWZWIVo8JilFdXRg
ZEBvQCl8ekVwX1hIJHJJbXVlfjJfdEBQam4KemZtZUZaX2RnRE4hKE9RSUd0UikjSWdDK0pZaS14
MDRPYGpKWisrIz4/Sz59KUFYSTkxKTlpfD5KRDtnPTRPdSRECnpJcXxRQ09ZKUFVaDE3bHlKKkwt
fWUyS305Wn5lNj1FeDMyKiVvfWMqR3Z+OWUteSZtd3swRWkleCVOaDA4SWhBYAp6eVdzeCtBaVJV
bVQ+Nm5WUyZuV0hadSNhZWJ2RUw3Kmx7Kj50eFQhe2BZNWstaD5HaHRxaD50Y2l7b0Q1WE09bjAK
elVwZDVMJEdeSWpKempsR3NsTmJRPHVzUztGJVpDR0pJZnx3a24mUHl7aDBgdFd5UHQxOS1CPG1Y
Snl+enN+YXVzCno1PzdNZCZZVyp7c1JwRVUjRlc2ZFFHOVhmMUx5TGxFN3E9fWd9bTkmQkpxalRl
XmJGNUgtc3cyRU5MXzh0PTc9Mgp6KyNCUTFKSiVKPXs9cC1VM1ZsfUA4ajJqT1dsdz9oN0hXISgq
MXJ2KG4pcCF3WUEkVSl4NVF0QytZJW1eJURSc24Kem1jZnV2SEpVdk0rc2hxdlYjPlAoT0omZyhQ
cVVAQTE5blgqN3lgT2pkKERWJTZ3O1dFc0NrLX54aFBnO3g9My1hCnozbnNzdzNnfDU7PjBvISUq
fHlCcHpIaUtkQTYyXiVfRXU9VlZkQDNTU0UtV0xobylCWkxvdXlmNFRWRnUqYjFqQgp6ZW49LTdr
WEI4RlpkeTQtIXdBbmspeHFSMWNkN0FNMnZTT0tsUDNFZW50SDtxKSZXQjFQKDtDSkw7aTNuPm42
WDsKejY5dH5pe3cqcilHOT9qfGdqMG03ODBWNkZFYDVoMXZSa2ZYezRoS2FYT0pqK3ZyVD5sOSZh
QDRJKiNXNXBATFpVCno4cndDRVBPK1JNVUN8YnB6Z0o1ME0pe0g9SSp6SUZjKm1ncElxZmE2STdm
SnFeMDtJRVkjZEtuWlFybVV3ZkFhcQp6TTF6PmZjKzBsNm58PyZ4MipjRCQyIWgqT3dEdypsd09Q
MmJifTVzZCMpPF5gKWZ7IUxmVlpxVTw8Jjl3NW9wKV8Kejd9YnhvX0N3a19MWkZVbXRUbGVGdiRk
X2gjR31mJmw2WWxmWDxzKGMhaEE1KEFpLWxiaytjY3NwT0BBY207MHtLCnpjcChxfE1Ia0F8YmYy
VUM+NHVrdXFOQkReSXlZVi1Eamw2KGEySlozVTRVdyFOUDFSNiRYaGlJIXtDKX1kdE49SQp6OW8z
cFBSXyVeaWEydmZmU1pqJSFnQiVHKVZrdVNSQCRSVD0lNUtXQSFLSHstZXhjfHZTVjBtQDVARUV6
LUxXVk4KekF1K24kaFAkQT1jSFUodilpVmplayM2ZlQ+MDA7TnpVb1BHNEdFSn4kQk9tS2QjJHVp
Zj50VGNLP2JJTT4pcDBSCnpidlJgK1BiKXpiUzdpI3xuOVU2NWpHJUFGVXQhQXopTHAwWTJgdUU4
QDl0RDtMRyhSXnIwWUMmeStwTGFvanpiJAp6KkV4UFl6Um9xam9fKUhJamQlJkczRjdCJkphVGFi
UTxGJDRlYmdKVkRTZmI8SXB1KWlwI1BpVXQmTTxOclp+JWMKekFgQVMrdVBFYnxRZTQlfEpYd1hg
VF9XYjZpeGUtYVVNKWRRKChLSjxBQSVsNyM5QGM7cTtzMy0/RXk2cnNOOyE2Cnp4a3xUcmpHODZm
Y1NvPUUkSzl+MWJnXmZ1JCpAJHdtUEQ+aEk1aiVsVWptJlU7a2hYM2hBO1hnYXk2OU14cmVZTAp6
dm0/UVYtMmlmUi1UQDhpYHUpfD9vPSFsTCNAOHpSbF5HPzQ5Y348WDF9QVd4biowQ2RJYHQjQGM/
dTxWQC1KZiEKejNXZX1PX2NpPUlyK3E2K1pkKUFCJDdzfj40X3xzUXo5aDRkJiZXV1dvTWFNMlpG
bkA9NylXWEsmfGB4NW9Cb1M4Cno3aX4+JkFobmBsN1NHNW5DR35tJnVuQEZCQkN+KT41SHtUdGtJ
bVVEd25DI3VpdHxXdi1Lbkh9cz1URmJvWmBXVgp6TSlGdX48RG5qV1VMeVBIK0EjYkJSZ3M+d21h
SU8qKCpFdV8/SG83KyN0YDtPckJWWHcjKUR2SkRRZkd1c31WTzMKeit4X2MyWCN5YVFgd0wzRCNu
eiN4O09vfiFYPnRAKldsJXFTYFBuPG8mPG01alVmbD5QI3p9RX49UGtJJTZsJmxMCnprekxDIUg9
PTBTTlljaFRAZyN2KzlMYUU3bDNjSUV2PEpyRitXVEBFa1VIdGxlQlUyMGRaOTY5XiVoaiM5O1E3
dQp6MmEtQkRNMSRRQXd8aXh3NkFKRCE0dEkjcDg8fmJNY2JiTkEjZFNZKHRZX3I8VD5vSj17SkJH
PnE2ZlNuTCY5PiUKeks9S3FiZVpxT1gpeG1eUnlKXj5CKFl7ZVVRbXtiaks1VlBIRHl4NnBidkFe
Uld5ZUk+ZW9tfnxZJmElMiYyTX40Cnp7Qlg1MjI1QG0+YF9pQnJVPUNQcG00bHROPGs1NUxze3ZX
JlFJYjF+X1VHQkZfaCFTJDRTdSRSKT1uPHtEN207TQp6ZG9qZUtxfio1M3toYz87MXd2X2J1PSho
YSlSPnZ8QStuUEphdXBHY2t1c3Z4MzFvWnd7ISpIOFpUUyVuI21aNHcKel9STiZ7YjJIPnViQ0Zn
V29tPW10Ync3JlopaDlkNmo/YjJHanZRN3YoOVhLPXB7VTg8TSg2cmEmJS1BUm0zO2lvCnopeE4r
dlp1SUklLV9abmQ5YTtPd1FacT88ayU/dUdmPm8ob0FAdU9NYilfQnhlZD5YSkR+PT49SyFtKzFX
P18/Twp6bWVxR25TMS00O3w3KXdremN8K2R8NnFDI1R+cCltYXMlYSY/JTA9MCNidmxydDBBVyRS
QSFfWWRvZDNnWWJEI3AKenc5bDVCc3F4X1kyNEw/Mk1KIVY/fDUwVGFgJjRjMEJaSyRfanhxbiFW
KiVNVnRnWmU9OWUrQytvZko3PUIhTjExCnpxcnFjdWRvSz55KyF+ckdCTUMpJUNaT2RBMWZlJn04
bVlGTGVmWWFgJEdlVEVZNnNnR3Q/T3dFUn0tNyhoZnFTUAp6bWY8PnlVTGFYPCZlOUpzXkVBUm5S
eElLZCV7K0NTdyhLIy1ISzNfRl4hNXdHc0hDRnBRdD1YM2p1IVFCYElEM0YKejBDJX1+dGVRQk4m
UWtobjB7Ui1RSCVvdHM4JC0+dXo7RmokbVNebjIoezFxXkYyN0VeUGBvPjxpWE4rP2d9RnFsCnoz
ak16Y1JAKF91e2BKKG5vaDB+WDhBcmJLajVwdXkzUl94YzdLRXpnXnxVdjJ5USpUeVZ3V0Z3VEF2
KHhhdDUkQQp6T00hRVM8YCZYTnpuVENReTYhQlcpV0ZiPVN0JH0/NHt2NFl1LVNYPlVAeldTQW5u
XlhXWmRYP1leWGNJRTFaOzQKejF7eThOQXVMSGg/Q2JIditeY3xZVVR2K00yKD8lWm9Ben1XX1Z2
OXchbEdoQmBMRXNLNGAqO0dLUkg7Ymc8OW1NCnp4RzBOTUtSQFdPSXI3eXpfUyMpe0NAM30mOXky
RXdGXyQ7S3VgMjZPYn5YTkZHMWIjM0tGRz9vYEtIMXtNO0h6dAp6czlGRGI9YkxqKXJ7d09XcXRW
LWpHQ0w5ISlOXlhWWkFndDYrQ01edlUoZF9Vdks3NkJHNVRjMGE3cmJPX2ZWWCsKemg9JmRAWGpv
KlIheEtSQVRNR35CKiswblg+SmxEKGFoe1NuNHN6U3VjY0RGaEk9eyElIVQ1XjBxYjhhKSkkUTVI
CnpWSj9xYzJXbjdEVzM1OWo9NnYhRGglfj5+ZjFxNiZ0aUskOHtyX0Q1TXNRWT1MRmdYd0o9VGhm
S1E9KnpMXiRWTgp6V1Nga29ITnt+VWxHTFNJNXFXVGtGOTxHZVp0VzsxRz1Bc25iIXJVIzdyNCh2
Zj9HVkUpYEN7bShZbEN4KjtDUE0KejdaQlpiRXBGX2xeY3wkZjRNbHIpX15oP0xvRzJwP1JpfkJe
TnBob3tfPVRRaHpUQHo2ez52RHtZXmh0dkIoRS1FCnolcD9mYEJvc2QyKWdqYUtkUilweXwzLV9T
cUk8b1FTTDtBZy1idWlXbkYqcG8pM2xeeFNpc242M29WZW9qJSh7Kwp6TGEzI0NDPmVRa2JKZ2Fp
UVBTTVd8M1RuOEcxSEJXVjwxdmFAIXBBbUw3MnZvXjc1QWdmXjBeNFNYJVd6MyZDcVAKenVJcDBA
WkxfO0lwZGlsWCo0OD4wUD54a2V5R0oyNWs/SGRQUyFvN3J1SDgmRWR1aCQkZUV4Rm91VVljUT4m
OSs8CnphO2VUUThwQnNBJXdgemZRcnFVazVHKXFLPk9MJitTRWdHPlRScX5BezFTQ3J2YXFfJUVR
IUdWKEFhbjgmMkJ1KAp6Slc+OWZ7I2FxQ1d1bkRvRko7PGczPjlgMmQ2LUVnYVg4ZHJ7WFFVTiV8
ZHtxO09wRDF3KkZebCtEWFFpRmE9K2sKellCVENgbl5we2l3dEoqY0lofnJJS1VmUDglNH56O2Fn
Q2hXYigyKFdjTENRMl93akYzakVxQTVEKXgqWlU1WTllCnpFOHpYTzxvP1Q8UCFRZlQoYD1nalpZ
OSRDdHFyZj5gPVluRF9mISU7c0M1RzJzIXlvOSVWM2pnX2d4RXEqOWRiSQp6ajR5KlBAd0pOUXMy
S1RlNjslZDktflpUfHQob1JwJntsNl44PkgkeClONlY9RlgkKWIjJnF9I15vX0ZpXz1lTXUKemRL
cSZURWNPbnlgKiluYlhVMFJiRHJlYHh5MjhQX0hrcFl7VzQ2OV8yV34kMCpZfHNjVytQRVhEKkxp
K2lRZlI3Cnp6bS0weUdZOyktMG9RNkY5WipabE1hY3ZPSWJ8dzNRRDNnMG9WSDV1RHBvei15Y3pt
RTJPbkNsbmN0empxJHZodAp6Zm8pSkRFMllfZWo2flR+WXQlSGVHVUhLdzNDfjwqKVRRPiNNVCgk
WExmZWA3PW8/KU1Vel9zNipCLWw/PHNxdlYKelgjQGJWWF8je21qa30xSE51VHpodGx7WUBWTD9e
dCoxJjJrK2xrJE8pTkNOTmhrRHchNnVRcCMjZHxvcGYmTW1DCno0MDFEYU0mKDt1cEMrViZ6Rn5v
Z25ma3M5a1lnbTwkJjlWYmRCUlU5SWZDN0VRLWY8JTt4bzJPSzw5Z3hLJFhJbwp6QFBZdmdIeEVq
OyN7dEtnYHA3PWBmI3tyRTQwXyVhJFBmQztJYTlTOFdwemtiYz5TeW5RMWQtMk9WeU9sO3FCWX0K
emIpQlBwRVVlKl8taXU4eV4takskU1dTJXg2JmZJOz8kRGVzV095aXZiZGpTb3s0OU5INkZDWG0k
Q3xaU00jPnUhCnpGP1Y1bjNgUmxtKVopVl4xYlReWWtoJHlrcUxtVUJFaWE5UjtRO0hxUno2Ylc4
U0tUMGNXZU1ic3RmMitJc3R1OAp6ZTx8dTklcT4qRHlJUVh6V2txUU0jWjR9PGtAKEJqVGtvVzx1
ZE1gIW5yQUxGVjU/UjN3Y2cmNGlDJX5Hc05hSlIKejIkQm54O01aZkVHcCUlOHNmRkkmTHM0TXBU
ZmRNJkhjY0hxPChFOGB0ZHIoRUVaOXsmczVBITUhOGE2OVI3NVl8CnpyOypnLUsqPjhFTWA7NTVm
X3olV3A9RXJAYVYkZ2shQmtARHVVOz0+KDlLYGd3fHlRe1RRYHUhclM/JDBtYXJmPgp6N0pJSkpi
KipWal5vWnFuVz82RT5wO3g+MDxRUUpRe25HS0dyd2UrPElgc284UHA1cVJfOWokIz5nUyFQKXVh
WWAKeiZrLX0pMjMmWGxgKW47OSZ4WX1Zdi1JalgrdXFNQnsoU3MrQFpMTz5sWiVsPlZpN3xaNnkz
PFNmJSNTRlZrR1F1CnpXUEdhSHtQNmJnQzgjcnRyZW95VT17KTJ1SHEjQj5ga281LTdSU0JaaDY5
Xk43ZEF9a2U1bXtmdytjZiNQYylqOwp6PiRnQUA0MU0qQStRPEBKRUxuJjNXc3JxRk0pTl4meE1h
X0kkPEBjbF5PYV8wVTI+R3JgUClVS0t5KXg9Qig2VT0KeitpPHYhTl9tK2F4elNATHckR35fV3Iz
PU9tKHtRRzFBS0tnamdiZUhDVVQkKUBrXn1CYSN1bGQ4ISp4d2l7QldLCnorKnVXejY7JWBIJWFB
XyFvR1RvVnk4QVBUSWozb0ZEKi1KUEUpQlc1R0I7MDglWT0mZU1TSFdQZEtBJDBvNEJLfAp6KDNq
NDh3QWxxLWRmJE1aMCh9fG80WC1gSCUwfiFfX0gqJEF4PSp3clUyP3JJKkBZczkmSX05ZipBRztP
VS1RK0QKei1aRVp4U0NjK3Q4P2F0NjtuK1JlKktxfFR6QipjeG5ZbHdWUEFHOT1OQj5ZOGFUTTBe
ZDhTVVJYNnVeKmkxZlZqCnolcUomazM/ZF5mPzhUeyNIUStaaEtVMWJhOTZ5cEBae091K0B0PC1a
YVd9PllaYWdYd3MrMlhoSXApMUQtcSl6cwp6NkJHV1ZhNS1iPl5MK2xOY08kR0NwMlhndnB5OF8l
aXAlQVRKTlNNbHc8ZVFZbUFhO1FNZ14tcylMJXtgT3VqeHQKenJsTnV5U2x4MWk9dVFvVStWXzg5
K3FsTiN0RFJQXzwlYDJsT14+OWNXbFJrbnlKbzxpPlR5R0tENU1CY3YyNjhNCno7QDlpXl5ITVBZ
K1ltfFcqeXV6IzdGIXV2IzRPO2pVJXY7NUVnTUZ0TjVKQ09eKUc1JTNWO2gkWEI9ZWxsUy0jbAp6
RFNxKjFpampBWS03SVc8OClUZ1d5QH1NNzk2SFBhQXUtQlJITkl9dy1STCtwUj9hOXpray1Gd2gr
NjJEbU9zdG8KemJlcy1wMHZkckt3SXlKajckRTdgc1I/Tk5TfG9WamBRUV5oQkRrTSpNfEloYzRZ
NGUkdmo8dUQ+Q1IpbypsfFJ7CnopfGlme0paWG0wYEBaSnpRWGtsOyZmeCFnb3YwZGFqSzZ+UWxz
Y3ZoZlUjP0I5RDVoRCp+YmJpTSswQ1Nnb2h4RQp6PDd7fFpKSEEhQXd+V2BgclQyWHA4VFo9WndM
PERLWlhNRnxse31FVkhvKE1gX05nTlVyJEtLPllGKWZfSWZKOyEKemVRRSstWCo/ZXliZUMqRyhT
eElEbDw3KGNlTXpqKGNBdFZ7RUd4NUJKa31sWUF7OCo7ajxGWGZOQHBRQFJyYHl7Cno8UCZSNE1Q
bjghPGw9a313VUR8c2BiXjNReC05b0RHSUo0Y1J+c2N5YWkrZmdeM2RwVjR7fnc7eVQjSXFBLS1w
egp6YUVpdFB6aVNBSnpuV1k5OXd+b3tPc3o2RD10RlUldW4pKDBzNndFXiYlVUxHd08yfCRhPHQm
dTlLZFN5X2xWbSkKelZjclJ4Zm96aXJPbUhsYFQ0YDhneyRmYk5IXm5SdlhKaURgdGtYU05qZT9y
KVBBQz88TiFGRitENlZ9fEo1KnQ+CnprKHt3OEhsZHZ8JHtlRm1uLSZrYmVKR0stYzdMfmQtRE0z
TTJzdXxBXmg5dCZVcX5NSVJUMl9laV9MKCVEY3kxPAp6NkEkUmRTVF89aCEpQzZEK2JqVHgrfHw2
cFVofm87I25uYFZNUmdUYmMpT0dQRHFTSk1yaGRoaldpYHN1Rj4hJH0Kej1IcllqR2olI2JyKmMj
UDhMUWdRNEdBNiklZF84WkQzO0FsTmRVRS1OVWBpMHZjdXYjbiE0Mz4yVSYrKy1GUVJXCnoxPHMq
cCZVbmpAdGpLRlJ2NTVaaXR0TlJEeyNGej50RGRkfkxNbj1uNUdKc2U7ailzZV41P2dnMCVPJDA5
dSFBPgp6NzxZKGBAazJiOyp7KndGNF9DSzlVcDNMazEtb2JXSEw5ZXFqJjJxMStWJS1WJDVBWmFJ
fVJUVWUxMmBra2c3M0wKemJndjlHY3NWZlFfPiEwMiR0ZTdRK31tUnQ5VlZISnxNY2N+Yz9KRXoz
JVQ2R3QrZWhKaEN8IUlAS1ApRks9VDNACnpSKSFid19aYTlwdEAqJjh0K25XaWo+QFU5UzEkUVh7
al9kOHA/dmghKmJJOCh1JShNRENZYzJKZVVscihfajRtdwp6bCliXzRqODlWV0xwe3ZGRC1mVTtl
MVlCb3F0ZHJrYSk3ejRNX1FVWG4oJG9kOT9QYDtjemU5RFVtX3l5SUEzWiEKeiVGNk5Ra0JFe1F0
OEFUUz17Vl5ZZThEUFpeIXAkT3ItaV9YWXprJHplbz47OFY/RWdKWmZJbk1MTj1TQz8xb05QCno4
cWF5O2xpTDh4KmlhaW00c2BGYyhvM3gqWTZTUGUjPjclNkxea3dxMmlKWW84eVFlN25XeHhQTTE3
VUsoaGdMRAp6djlUJCZrVHsqVkdubS17bHl8Rjc5ZS1XdlokIz56VytiYGxHeDtsX1RqeE42JFk4
eikxUCpueVo7I31MLStAPGIKeiorMj1SU3VIbT9GMUJHQnlfSnRjJXJtUWEpRW9eZ1ZVRWd7Sm53
TEU8YWlJNCZkdXEtKU99T3hHQW8kQldAP2M2CnpVZUtER0VaU1IkJVopcG14TWI+O0pOTnUqYSU4
ZlVReHZFMWpAKDl+VFQtISRWKDx7bStwWThDMnQ1LTJFVF5ENgp6JTxqJXZfV3wyP19sUlMkd25a
RSg9cG8lcUMpWD82cFRyOGZqRD9oKkh3QjNlO0JUUSorWWAhfGRSNVFxZXxRd2UKenlHJGtLYVE8
X1A7UDtDey13KmVnZEt1MVRMJSFLK29SajEjWVExMWZtY3RVX0U7SkpCekZ9TD9TMUVlST5sdUI4
CnpCJnArUl9UbVJsKV5nVE9aaVJyU0g8ckNGbHhoRDNGPnFLfG9hc089PE94d2o0YCpLWnhZZ3JV
Kj1Zdk9feTdEQAp6R0l1IWojNEJWZE9UTGZ+dCE9MD9UI3crRD9eemBLT2Q9QlJxJVQlQ0BaQDJ6
JSpnJUVBJXBzNzxnY0h6eGsqYkQKelJpcWFRUms5PWNRMW8xWGBQelJhejw/SDJ8Tk4yfiU/KzB4
Qm9NZyZRUzRzT2U9cWFre0Y0PmsyP3xEK3EyWSV3CnopOz4lVD4zczRTNkQoKFpDJW49MFBkI3Bg
IXNrekNHckZwVSFSYmB4VEdMOzVZKytxZm9GYnhCc2tRZz1tP2twWQp6Yj5tJHJ0VFk7OTM7M3I3
SVo1WDhBbDs0SGxqMzQ7ZVg4MCV7aFZ0R2pKez1rQiRHZzMzMCp2OXJ6fTVzPiM7bEoKemg8MV4p
aUk0Uktkfk9tYm1waVFFLVJiQHU/NDRmRzMoRU17O1VlZilpTEpwd00odHgkQFE1a05zd3ZVMHcz
U3NCCnpLVWRZMGchRXVHQmo/T3Rmdmo1RFJ9PzhVdFZgVklFY25ndnBSfShzSW9zc3JDdzdrfSkp
dUZ4ZiV0SWswenpjfAp6ZT08b3tFRDB+KD5TeD9qaCFoME0jJmx8N2AtRWF+PjEyVChpMjtLMGFJ
dXs9TyVVKXBpM1ZyfkFqbEV7R1QwT1gKej4pMklUaU1GKiZGdUNPVjQ7NW9+SkE/UEMzOEJMO1k9
YTBrQEJSRzk1e1BDNWRaWjJ1XnZ0OD5JQFFKMz1LSzhzCnphYmw8dTk/cztAQDdfdm5sfkJFeWd2
Zzt9Xz1nKCV2K0xEYzl0TEByWDk0UmFXUCVLIUlSY2MmTSpAaSM1b0JCcwp6UC1LbnsodWtZWSFg
cihRUHxtK0EjST1HaT5DY1ozY1NTJWFnJilYLXFZU0x7RkxpfHJiWCVfaiYyYzY/MWFNNUsKejc2
S0FVe3FffHwkQzkrdk1PJno7Rj1kcmc5dE55VjtGfTQwdWEoRC0wYV8rdkBzOygqZUwmUD5oeyZk
QmQwKUgrCnpia3ZLYmVyRVQ3aio8OGNQfHRvO1YmTVotVThUfjtYMVY4MSFDbnZJcGROYWorKVpY
Y2NiST4qOSp+MEpLe0Fxbgp6Y2FvUTZBeSpUT1VTYU9MQm0lPGk3WGpZZTJLSWNFe3k/aGo1ensw
VEUkTjAlUHxCNHd8OFpqayE0RWAkd0xrazsKejAwP3JHV1hDRkxNdW1qYWlNQ2hfYVJrNWh8NUpg
YE8/QHM8X0d7SmBxSHw4U3RmX3xoUUppSyMmSFA9VE1ld0wmCnpJekJ5fXs7JEpyJS1zNCk2KEYo
YEtvNCpASE1xcD4oV093OXF+TEI7ZT5yYSpPRCs7bjtVLVU2Q3lZbSg4amxUfgp6SS01d1A/VHgl
SiVzfVdpeT1PcWpeeHRDeThWfFNjSm5jQWg2K2llUGtEITNVenQxQVI3Jnk+Q2tMNjFBTThsZV8K
elZ+XjQmY3szS3tCdUA2YFgwbkEod3p8Yzhkfm9mbzFZcyFPaEBvbyl3WnlCSiQlaVJfdE0+byh3
XkxPPHpxfHNgCnp1VFFqc2tOSlFPPm11bEB0NTNUdUJebWs9c0NQIWN5PnQpYnQ7YXl5Kio2WjBa
WD99UTRvLUYtKjZhRTspMEJGNAp6ZSM1M0pLMWQlXnZ6U0hxQH5eWXlYZSEyX2Q7ZEk3RyM4WXE/
QGFyaikqRXl3cXQ9VVIqSn5VWCp6ditZRmlBbUIKem5fTV5JPn5SMiZRe1IqVDktfHQ0V3YkbHZY
dE9RKDslKGkoMChHZFVAMXd6e15LPzh7RXhqPlNUUGZnWjkrMX58CnpGU1IxYjRAalhzOTJkOT4t
eDVUZ05xfXszUXVgRTcpVElkeWd6K1Ira0xFNCZje3dybXNiMDRKe2hKRE9IPllOJQp6Uis/fUEh
PH1HRjFVQXFVKjlTJDdDdGYzWUJWO3UoOGRCQk9WOXB8aGNMc1BsM0xqPi0mbkxZb1YkI3JgIVko
RXwKemNfZnFCK0R0OVA4RlgqMmpQJGdgcX5pJG0+RVV7OVBobyFjUF5ufH0hdER8OWpIYDwtSyFu
Xk4zaSF0PFdxbHlTCnpsdXNAei0hNVhRdXVEWFBRZWU8fWkxV0NlWjQrYk53c29GVnE4QUB6eS0p
fmZwTWgrNXBpcTMrcV5QaGFsOTZ0JQp6ZWB5Yn1qWlE+TFNeciRCSyl9bGZ6P3RSaHVpNUBZdkd0
TncwajBjcEAoVjFDaXFBQTQoWGpAQD9zTyYoZSFhY1IKejYtJlE9dSEwbTJRRnktNTJJUlVjOE9v
UXJ3dncwYiVVK0AmYE51M1FRPU4wQ3krZmJMQGEzUDZuaEtHYnhseXFHCnpOZV80S2p+RVlaOFFq
MkAoWT5JN3txcjB3WVhXYkQqS185PnkrNG9XfEd4RXFYVzsqRDIzb1AyKW9YdXNmPmVVRQp6Qjs9
e1ZKV1liSiMxZzNRZytacFV5S0YxLT85VXgkRXFSVzlfJmpjSkUtSU5ee295eD4tQVVKMkhWYE5u
N2U4c0sKel5BUmpCZFZjIzBVREt5MG8meHJ4VXpQYnkteX0ycDFDMmMma2c+bW0wUz1AeWh9T35D
R1RBfWNeI0BhTV5LK1lWCnokJVJjMl43diRmTnJXMHRQclMzO2wzSD48bDNmVjtGTHFmTHpUbXw/
RUY+VFQzPFF5T0p7JUY+LWQjPkVBSiNgNQp6THFWWGw0MUpLcG1id2oydWkzJXdoVmdaTzVVNyVj
TWhyX20mXylgaV5RNkBMJjc0NCR1VT5ESGxpMkQ1KClYSG4KemA3PEJ0OF5FYGNzeVN7SiZLQ3Am
SyZFcEAkSm43MjxaV2VffE1VNXszclhubnhObnlrNlNRQHBMeHZ6aFN9dyV1CnoyPHNSKzJVZGVm
V08lUllUMFF2dWwmYTlzXkshUGkyb2E7TT1ffXlieVgjWjZJY1Y8TSluezl0cE8lMn5UQTtMKAp6
S1RIJkdlTyYtaSpiXzNKRTNnamVzNWp7T3V5WmBWQFpWR1doRms0MyMjSUswYWpnWERsPExvezZ4
OXxIRz9rc3kKelJ3Klg4cD5CUTNLZXpFbHU1OXY9YlQoZGl0Vk51bU9TfCVCKmZ8bEU2TSRgV1Jt
T0olMkQjbHtGTSUzPmtLayhJCnolNUc7Iz96SHcoKSpmTXkha1U5e3hpUC0xJD5OSmdgeTYwJDds
R0AtejF8QSZTPGJURl4mUUpIUkRYPTVsYEw9Swp6T2YoYkZBST5GemVZMilMQW59ZmBqY3k8PGlO
SmwreGVzYkNFQHd1MFk+NXoqPmZgbjdafnxMQEcwaU1lKU5vdlQKekh0eTtLKExUODw/O3xiQDc8
dXZIMjN5WkhqKUU4SigjTEtpZCt8KUtudXRaSjgxbFVPaz9+UkNwOT9GLUpNZG5DCno1P01fZSgj
UH1SO1phZnRLa19QOTBjYUJmY0IzMz4mfWQ4TXh6KCs9NHwqUkM+U0NEdEJCWGY/JDA2dGM4eUlg
ewp6RkpPZ2I8aW57PDBOTkgzYz02WDZEP3tzcUN7SktHWCVHY3lzTyMpeXgpK3ZrbjVDeTRgUFpT
PlB8KWJ9YDZ7ZzcKenlFZCR8bGMzY1RvVSRuSjxNPnctWF8zTV8wMDRxZjYxZXY7a2N6dzU1ZTJn
fXdVezhzKGdwRUF7KiFqYUV5c1EoCnpSeV44K1E3QypaUWhjMl4qfEZ2ZT9kPEpxSzQ5QFhmZV9T
bUBHdlhnbVM0PVZAel9KOz5+VClBcXN6akxwIW1pXwp6cFI5TWRBfitUQyFaWFJJSndjMF5jP15O
LU97KSs/WFN2ZEVtdVJhRjIoQj5kdTZ5SWFNRiMhKWojTyQ/UnIrfGwKemUyYlVjP35mKG5tWFYz
K1UyKnF0WElGY25WUShmfjRjZiF3P190MXtMNE1kR1M8R1J+SnA5eiFsP1JCcFR2JFFOCnotVjZ1
MnNsJCRBbXorJiR6bDE9bTl+OCZyI0pvOXduUHZGYk9OXmNAYjgkPndzeGM8X2JvRXozR2xAV2N5
S1RqaAp6eyRvKmkyckdPUHZqPFNmQE1BV0FwMU5PO08mZlBjaW5RXm93SHBvVU1mNkZaZF9ke3hr
aWlLMFplVmxTS1U0Tm8Kel8qRT9iV0w3al8hNkc3Sjk7Nz4hXzQtfE9eVW05e19JSyk4Nll7aFVn
RWA/a2BabjJwLTx7OT9IflczSXlPQ0ZXCnp4bW94d0gwb1hDQEpuOSohLT9ybWtpQ252bWJOSmxL
P34xfmdCTjNXOTNnXlVaWkpHTm9ZOW5JSm1JS3pGcyFLOwp6ZkNDVDRXYzQpdygkZEMyNTdWfmt0
S1o0SylmUkMwKWlPeU88YTVKbjdJblA5Kld1O1NeVFIpeF5xNnE/WkFxJHUKemBYQSNSOE4kOG49
TGIyYGN9fSFiYW09fGVwXmo2fndBM1JmMDNUWXIqOTFoNElAKEcqNzQlLU93cHVlOUFHcWx3Cno9
JiEoR1c1WDhMdWpRK2AoZDlPdjc3eGtvKzklbEtubzs2KlppJFUyYzt2fmFLWSo4diZiX0N8KUdY
d1gyVjd3ZAp6d0dGXnokXiZlI0VVQ042PmVIbFY7Vk9acTxxV1VPdENxZSh1IWB1VShGSFQ7TXpH
aGxSbH5DKjFFJXtkOXl9aW0Kek1QVlhJVCslI0hzNlF4ayRTMTVsNG1nWkVXY05KIzxTMUoqdGs5
KkdBZn5oJUxaVGk8VURoKzdtZ0h7aEgzeUQpCnpaYDRuMFUmfXU0ZDVhTm1vd3U3Q1VKSyVmP1NB
UGNSbnkmJTU2Qn5Ve3xNPF5zLU0+eEtBMSZHUiNiZFJnX1BAcQp6bkd0WTZnNSVyRGIkOT87PHct
NCsjKitqcWlzaVM5bHlxRExpPGMjU3tkSW5eVXhta2dPSX1kdGokd1R9Mzc/QjMKelM3QEgtOEV0
NmtMZmR4VihYfW91T15zK3pMaXNVNERrbXZyaHBldz9HKDU9amVKJlhGU2lQUUEtJUAxbGxORytH
CnpRfkxDJWg7a2xtNSY8Mmt5TFJDYzhffjM7Jil9aEV0NCZofWUlUFNycUJiKGI+b0g1MzR+fTIr
Pll3TWw7e3VqMQp6dmYhclhBLV9YI3wxSDExaWtRIUtHWShBP2MjcjM1eVRGT3tyVHdke09USWkw
KEtQMmlQJGVrKUFsdH1QSUhPWk0KeiMlPGJ4SzN6WGdnWXojK1Y7e3xBNFU9RzlXQEJIeEhzPm9g
bD5icD9ZZDErdFhpISh9Nz9JUjRtMnZANz9DNll7CnohXmZkSXM7KnM0KGgyNXghKUxtVTw0K2Ja
e0lQd3J1WU5rRHF0fF4zRHo1eE9uSmdueHUxJX4/P3pPayZuPylkbgp6PTRobHo1cD8/WGleOSF6
PGUhXkU7JXhCVGh8NFkwS3NJaUBrSHZwJj5nZmQwKnp2WiRIUGd1VFpPfDE9MVU9ODUKelBWdFI4
ZF9IRUBoTTg+KlZaIVFPJWpfUUpicU5lVlNEIWw3Y1cyQnxOP3JSUk9fdWAzM0Z3RiU7WE1RfFdW
aHQ1CnpWZGpFWVkmVlR2ZnI7QiVjRCN7YD4tJGl3JlFSU0FoQ2p4O2I+JXN+T3UrKy1SbHtAbD9t
ZHBfSk96OGFPNl5rRQp6O0smS050KVJDaiRjQTF7bjdJIzN2V0JBJWF1VTlHMDxUJjJUcjRwZEV9
O2UlMV4mNHltdTd5NkdLclY+UWlBZXEKenE+MHVWTz80dnFYKiNzJDJOUn0yTVBVMGElUnFhP1Qx
eDV8XmlQTkFmUz1EMmJwM2ZmTkl2ey18QUF1fGstRXw2CnpEQkczJD9UPWRFdnBacDZnTF59MTRT
NXEremRJfmktP0ZkKU07cXkmcE5Fe314OWt1THRlKnwjRiNKYCZHbWQhSwp6X0BUdGJ3QE15V0RW
czU9dG1hVl9EPV53aGdJTkN9WSRXSVRKbkEqSFhjU0xrdD08THA+Q35kJT5KeC1JJXFtYFMKejJt
UCF+ZW9Lazk9SmUjUyk8fXJEIVhxITkrSD14KiUyPHFVPjVvR0pPX1EtWHwwRWdSeztUKVdKQUVV
T2BhYXtFCnoqVko2M3p8TSNBcz9gK243eU5iKkNKI1ItZmx7Tnx0Pit1JVFIKzJ6cGpFJGJtYWVI
emR3dSt2bW1wIVlmV01sKAp6RHBGaCpZT25UV194ZVJec3t7NjtLQShPWTFoK05RYE5zUTU7bGph
UXNYdXJSbmNhSiF2aDRmdHB3S2NLeGxaI3wKenlYRG9EPT1SclJwaj9sak56aEpOeSFfKlZRUHJG
bTEkRlYpaCZiZHZeKzcwLXpMOW9EM1JyKERTQl5sZlpvfVpVCnolIz1DeFpOPUgraXhIKDdMUnM1
NlZsZ0ltMmYjQyVSaFE7KzFBYSYmVjNmeTJ8Nm0mNHRVdmwzUGo1c3tlPzVFVgp6bkxlNU9VJDQq
Ulh2Jjc8ZkEkNnotRWdSNiRMTGc3TD1jSGgofDdxQSVPOXNXNmk/VDRFd3UlJnUoR28raFdrdFAK
ekEtYn5wK2FyfXUjLS1ue2FoVEoxQEpuJDZDdXBUam5pdD5yJTQqU2VkSFBFV2JEPyh7TW03MU5O
dzF8fHtkeiVaCnotdShWJWpeX3AlX058KWFrTXc9PD5NZmMoc2ZueiRIbVI1cVdTWnRYQlVnMnJz
bHpfaXtvMikldSlfPnc+V3xwVgp6aDBpVFM0aDBCWU87YSRicnpgI0FpZmNUd190d2dpQWFRNDdO
SmhmOUVPRzR2QmVXN1V3ISZgOXk+JX1QfERlSF4KekdjTT40cFY0ZUdQI01uT1pDU3JKPnZmQiF6
M1NkUERjIUB+UVJzeHFtJUBFZz57XzFaRH15Z2oqZX09JHJ6Tm1zCnpGKHUrdkl7TmM+U2ZhZkQq
ZG0zcHBEbDwjMFF1NFFucnBoUkFkVGR6QD9KOTZIMDM2NjY+aExacGcjMH08Pjt+Xwp6cXxaclNI
bT5YJlp4WTErejYoR2MwS2pCfFV0PXVAdD10cUw3ODxxbVhIRVJzPlZ+el9gNnBaSStaWC03MHly
dV4KejVII0A5YG1gPlN7dEZ7QmRqSH5vPUY1eGZPYE0+Tm1vRGBPPXpxYiUqKD0qcj1kJEJ3Kjd5
V311PkYkKGNuJSE7CnpZQXM8ZXw5ckV8byVeclBsSik7WmBrJWlfVTw/SWchUX12Mm58SkJ7OCNh
SyVeMipnMHVMQV5zJF5OMFhKYWJOcwp6YFNzY1U9WEY+OW19RWV9SnFDfHJCMGw8S3pKTFoqM3cm
T1hnNkkxYCQmP1NeUUh0bEt8OTdaPSZoYEtNUyhUOWAKens9biNlKUU3PzBtK3xHQU4+JT9wJmA+
MTkpZXxvPzAzcWZVRDI2Xj1yNkp3fGptWlNTSkBVfXg8ZX4lQUdgTF9tCno7KHpaWDhQRUdxfEw8
PjJOYXwzK3VfbF82eGV8USZMYThPK0t9cTBOM0w7bExGYFJuKz9gc21+bEJxdm1IViNsRAp6PEBQ
RTBKQzRYeS1zZ3BBN1g1dmxMNnY7dGNRfk5zRVApYzRfeHhvTkhfZVVlQj9iYm1tcTApbW9nJmpk
YTxrKlUKenIjJH1xVlRxdGI5T3VmX0pWeWQ5SFh1LXtsYDUwSzZsKF8ydiFLYGxWWHNtfS03fW1o
ZDBqVnV7XzRNMT5rVkE+CnpiTUZ+fnB3ekJhO2RVT09LM3dKfnA5S0VYSDd+YEk/P2NgbzBRa0Fx
YkRBN2tXfDRPd1hCaHooNkBKcHN0QFFDMwp6cihtNlJJQTFGLXoqOyV0SVNYYXx1clViPmpHQE00
UThOb2lrS3JHKkkjc0duYHFgM1MtPiprOGE4elk1PjBhbWoKekR6bnhCaVcpfmpQN0p0I2c3LUlO
TW88KzFxSVk+Y2ljWWxPQFlQSjk8PiooRk1TeW5ydD5DYTZKP3IjOVRXOHJHCnpBUmU5Wngtal4j
YWtHYFNpJT9BaFBoWE0jampyPmVwdW1IUW1HKCYwUnhmOVNiclM1cT4hK1g9YGQhKEI2N0NIUQp6
MDhqJHZ3SVkkKWRtJXQ1MkxaRGBOSEQzWjQrQ0h7PipmdUw7IWMzXyZEfFArQGk0aT4lYSRRREM7
K25vO0VqalAKekcrPmskTEZGSm9wZGhQKDtVflBpRy1YQCplPiZ8JmVTSnEwTkk9YUtMb0kwaUFy
Wkp1SkhlM2JadEkhZjZuVWNWCnpZejcwMHghKyFVbzlGVT4+cyhXIXZ2NmJ4S3Q2TzRYTiFYci05
XkF0S302SzExUjFMVTVUXzs/YHxZPTZpPl9EQQp6Qj59c0FDbnJjST5PO0MtKkZMbn1pKSp8cSV4
IVk9TkF0cj8/YzVIXmphajdvO29TZT41UHh5TTshUHJGYFFXcDUKemY7YXlBSTZUfXVqSF5QP2V2
WkdgeEZZNldsbXZnVnQyfilfaF98MyNNUkQ+ZGpJfHZ3X2lPNn16fURVXnpGfk9YCnppbmNrIztT
NmgoXnZOcXorVnYyamp+QFpTRDdfRShrfGxFX3BmdVgpSnRzOSlKVjZFeU56SyZeXkIqK3tYNypy
RQp6U3VAO1JPXk1VckVBZGpee1ZndU02ZEFATD5jT3Bgd2hwU2Fnd2E7TkhIbUZTTXNjVEJDPmlP
MzROJSY7RlViYE0KejFJY3FVJCV1PUkhLWtmcm9zbnJvLXVGNnh6KGNuS2c/YC1qK0pwJH4qU0Vf
dCN7UzFiVip2az8qfnpjfk5iR0QxCnpvYXJSUnVERE1rd1YhMU9FcmktJSR+YDE0RHl2VjZuYHlq
Kz5kZ3dhVWZvKllYPkRjaGw+VG9mZEJZOXBZY2VuRwp6UWQ+fEl7P3E/IzFrZzM+Y2JXX0dPPHhH
JFdXPDElVX49WDs/RXkjMlRGTHItdE9GSG8jQSpDTW1UUTtuKWhTUi0KekZFQE5nMWsyYWNWX1NN
RDU1Y1Y+JjF6M3wjJDlOfSViR35VNjl7KWo7QlBPRjB9eUZ0MW44Zm4mYzdZUkg1VTJICno1OSl2
MHRXfkM0aFQ7IXs4VTA0QmpsdzRoRXNSS3ZLWCZiZFIwSEtCXjI0Rj9iNVBhRzMhMExPISNgY1Yj
aHc3Zgp6eTEzWUtZWEtfeFhmXypZNC1jeERUISRhSlNgZnNDdzZYMk8yMk59OTtCdU5hMCQ/Zjl2
NThSPWNFO0ZqejUjUEsKelRuQSN2SStDcWtnNWg1ZD0hYnQ7NXhfPHc3TGdmRCpkY0hRP29IOGQr
X0dsaTNKKlR1Tk90eUxESllHIStxMnohCnpJPEN8VCg0RSFibUVqTHU2WGRmakhOaTgycUcpbUhh
MjQ1YlB+TzdnQlope2kyN2t0RndTRVkpRW8/WnpFYHErMgp6PnhoSFhZZHc9ZGlqPkFzYzwzRmRG
V2xrLWYlbmh4S1J2TW93QDB8aVcoZnZ4dGBUbUYwRWBuVmZ0UXIjK2A+WSQKeitsfWpMeH0+U1Bn
bkpDS2FTVGB2WUdufk9uakR0Z3o+RCkpe3QxXzw8NHhfbikyPERtPTVDXmxaXz8pOEl7bC00CnpT
aXx8fHlYYypXaj5IfCpRO2whSHMlQGEwMShfKDM0VnNoKTFkZmVYQV9qP3ZCSmhTbSlNI0pZcUpf
MElhYVlzUgp6T2haUmRwMTRMPml7SDs8ayhGZlFDdEgyVloqfDMqSklxajkoKGNecGJfKGM9JGgk
cmg0NHdyeGFUbm00TWNrfGIKemskdzw9PVk2bjxuQWBOQm5WOXVAMExgaE14fT5URmotZlR5ZDFo
YjstXiY9WjxwPDxwbE1LfUN7bj4yd29kMjRBCnp1YV5PVGtjTFNZPFdEODB2d1pTMjNIXzU9ckdC
WmFZQyokVXpzaEk8azdWfjNMTEAhIVE5K2UkUy16Ji1sSkg9Vgp6THBfTERMZEU+YldmPm9YSUFF
MilqRkdJRkRQTFZMR1doTiVsdFIqJSZWUF80b0lsQjklenskbmpTPWxGK2dIIVcKeiQ2eXFUOzNr
RWE8bnNmJlpWVXQ4eCtDfnpHZmtjbj5WX0xhKCZtTTE4JlhEK1o2TiEhUThRcSoqQDQ8bmZ6d35r
Cno5XjA0ckBERkdOcHliRTFjaSgrZUh9cjU3REppKmdQZXpneTRHS1NLJW1pcjNLcl84VGtIc35A
algxdWE5V3J4Rwp6VWtYbGlPfDxLQkZJSHZUP1d5ZUIhUU1DfkNkd1U0WW0jN0xgUjgrbnZJejZ7
MGdeMV4jJTZAZTdCfiM2ZjkjfCEKemlkJT02YTUyJVg4JFhsTlhuKTJ+bylOJE9AZjcmYEooY3BE
aT5rQD43dWVUXkw0UWB7XmxgbX1PRE11YmlDLTVtCnpETkFlfEVrbklyVTFtMkt8SkM1QnNpdntP
YWw+YnFRQGVldXV9TXEkYzQhOzY2aS10SlIhcHNTR2pKSHMtODNfNwp6WmU5NkRTcjxtZUNobUl6
NjBXTCFSRGMwZkpCaG44cGheNmhFOGdnWkltVn5FQDVicXhoQlcpN1lwblcmbkc+dnEKel9ONE5K
cmNUdk1rZWdqaWdNVUBNNnpKcllIRCRGUW5GVGoqVCt2dilrOW9yM0lBLSMheSpGSyFUd0k1I3hI
WmZHCnpnOVoxcnMxYlAzV15UQ15oKGskYFlEUjJuVTglfU9qZG5ANV5yPXNMNUl4Q25vejAySW4p
TVJ4ZVVJdiY8SkcmTAp6aDZkRWxIQ0R8JTt+NUxAVz5iN0FxbHImX3Y1eFpycVR1PFd4OS0hdjtJ
MDV3Sn4+bjMqayY1P2tTUUNmelIraEMKelpPdmI5NHQoMzhzVUdAYkFNMSpNZ19MXzEqViQyVWgr
ayRjcldJeEpjJEh3NUxENmA+am9XcWd8Ny04ZTxEdU81CnpJNC0xPXQlaHVBdnQkVmU9fiF6QHdp
SDR0SElwU0I0a2pkYGo7KjRwUCNEWURsNyNGVExQKypxamN1fGZ5Rl9KYwp6cTMtdV9URUBOU3pG
em1BXkxwS1RVKGJLTSU+M3FnOT4zQE57Qz9sfT1rcG9VcnotRk8+TW5Sdz42QmAyK3FRI0wKejJA
ez02dmt0K2lXfHVWOVMhZDdLJU5+Km1MVlZkRGlrI2BedUxyWS0/b2MybFdAWityYWdNVWhTZ0Fs
K1pgQl8kCno5bm5uNm1EQUhaRkNDanp2Kz5sN2pZY2RRSnZtaUBMR3FvNCltN1NgQHhTcWEqP01+
UnY8fmtxcXdkaT9AbStsZQp6bnxiaSVySj8+aSlHYncjWCZedGV2a0hpeTlDTzJxTyt+SVY9NTRG
RDI7WjteZGN2OG4wfWVGKl9VPnM4UnFFQUoKejEmRVc7cllyRm9ucz5fQ1opSUZ2PHhzcmh0XzI9
RVVfVztQbHlJem54XkVqXmxpMnI7eHBpJjQ/ZypKTGtadVglCnpqVEpgUlUjcVk4bXtmdCs7bmZC
PCEjUnJvamhGPUxwPnFmRj0qbz1CYj1WSlIteGRTSSp3NHxpcjZ5KjZ5bS0yTQp6MktsajUxTj5q
PUd1UEhHK3E7LS1eSWw9WiVJbVh5bW9kanglMyNaPnspKDxYIX16NHQ9SDRie24mIShzPnlBMjUK
enZgJnFue0FDfTk2QEBKZyQjRVNZe1c2YCloNyZOeyslc1hCVyFvMStCQWtRaE5xVUJYOWAzaSZ7
UCRnNV5SJjdCCnpWdWFtM3UlS3lVNldDZEVRJFZvfVJ5aUZ6aXIkdFghRUtFfXJPUEpPNDh5OyZ0
Z0o2NiVSKlRlJUNiPEZnfGFNXgp6V3VZdCFXbXpjOExSbDhkdlgtJGRsd1orcElESnJsXjxQTl57
fVg8N0FjQUUqTkUhRHVmTUJLck9UNll3KkZJZCQKemMkS0FRU0NfcmpuVjlwWUlSRjxUcF4wQlRH
dX5GZUJtYnJFbmF0dWpgNiEzSE5QZkd0Pjt9WEowOCVIcyFXJjhwCno4SWdqZWM8Nm5CZD1YMjsx
OTFQb3VfK1NXTT9rQzs1MStEakZmaFdLJDthSj9OVnFAanlfTlJVXipMTyZfKygkRgp6a3shIWY4
ekc/TXJOSDh2aUBvazZremoyb1g5R2c1U3YoU1o1Z31HcSgzNGhJZmJuPlVjSnFyKjdLVVdjKz5i
by0KemA9ZStyUjs5c1A4ViEmPy1YcmMqQmVCOyEpX3F0bUhTT1ZiY014UmpUQGhSVHZybURRU3xg
Mn0+azdfNV4xSXVLCnpBQ1JjLThCSD8rMWpNP2tpeVpHQ0ZOWEh1bExDQyRGUDtpaSl9Zj5DZzIw
TlE8eipXI3FIRFkxTlpJfEN2NUQhcQp6UU18IVBfRkA0TFE4c3xLZUpuNjAjKjBiXmZ8SXA/alU1
TFBtOVNvcyswSkw+aFVCWUFgZyh3JEQ5LVdlTzJHOG4KemV9eDN8O3opPks/cGdmalJGYjYjXjBt
P3dMdXRhT0pENFQ5Yz9wV1U1R0Q3eT97PGp8YD1feWlLdktlK0FQfEhnCnpRI2lVITBmSFgjS1NS
WDhXI3lxejt8NkJUTEd4YkUma2hQYkUtaklXbT0xfUxNI1BTYUNtZUR+QT9HMnJSO2RUPwp6S0Uj
dnJUdVlFWU1peUdZX3RScEB7JiUtcGUwbUsxRmtDMEpaaihMJlBITEYlXkV5ayY/YEtKdnJVPVRQ
ekUlTUYKejZPOW01WEE1ZHFVSWlxS25qUzk2XmNDKWJofilANHVqLTg7RkNrb3VkVmpsbTNjQGoq
b2sxeGxLTWx1QU14PEtvCnpRTzJFZW4tRnprMGZhT00pSCM1aDZnaHtSM2VoSGh1aVRMTVhiUHY9
VFdrJi1Pd19pWDhgUEZYSDcmVkckdGdzOQp6aXpvdyEwZ2ZwXiEjfSNrOzYyMVZ7Z31WRll1PH0l
YUozLSRkazlqTy0+TUsqWlYxV0xPZF57XyVUaDM7N1BLaU8KekJycm9KP008IURRaEBPOzV6Sj5F
UnBzfEohV2gteE02eUhqd0xgMjBobG53NSFIRD40dktQckFvYDl9QHU0NygqCnpFWH5nWShFeEFI
K2UkdHJFRDtHUnlwWFNwUShwUldXX0laJDJ6d0ZBYnk+eTZjWj1wT2tvI2ROQng1QUl3VFkqPgp6
JHV7TXhZLSpDcnA3Rz1haCtFRmo1NElXK1lhSWxVNDNYJFM+dTQmaileOVpjZEZKcHYmPiQwcXZf
ZmZIMn1Ce0kKeiZ8XiQ+RThVQHFGQkhYZF5yUmRAdHVTYG5CQ2NpVUw7RH5CWFgzUTNfblhAWD8w
RjhSU3NiWXUwMlpvP3M2VWYjCnpQKE1NNlNjdilATyptVzIrOEh7Xyt1SWAhT2t9QlVIfjEoYCNh
Um11IzhvRkpkblBZVHMwbWtWK2FgMF5MISRSJgp6R2ArSX49YTIwZG5SJEBjM2l7fT9BaUYpUjBN
bSpMO15HIXM2JE45IyZYfnx8ZzUrfCVtWDVId09ZOUR4ME1kR2YKekJDQGxoWmtLT0IpdSh6fVlR
Yj4pNiN9P3dUIzhxWSN+JWh+ak5IdW1GU29UZklibTghZENgOTM1Ym4ofTRFTFYxCnpJI1hkQGs4
NCpYQWg+TD9YKyRlNVhySlhuaD9Naj1rWGJNaStlTGZqPk5IRkcoKGtgezdueFcxNXkqfVV0djtR
YQp6Pk1oMmRaRzxeeG5idG9qSG9GOzJOeUFXJG9Wfno1ayFoNyZHeiVWeWpaUEtvXmdHbCU+bUdU
S01EKllyNGdqNEkKekc3aGZlb1A4aUo2YzxLMmFrLUp5d1VxVSVmOHVPJFpwZGU3Zmh8cThkTW9h
TWo5dn4+b1FNQSloMEU2P1pQXlM5CnohamBqaERSTEE/eGxuYWA5N1NVNHBHOD1ROVh9WWlgO1lF
RW1EZ3psMHRFdCtwe35LJWtVUFMhY3RMVG5YNntOcAp6YW5lSFJQfmR6TT1LJDY1P25zPGhaPSFI
e3h2RkJ1UD82bGRjKGQ9cHZFQW9DNUF+JkdtOTEkeXJEPnBmRGBSKUYKenliZyFiT05OI3dVUzJz
KzBSYENvc2F5fHRCKSNyZT1YYXBLbT5iVzNEZXklXnhhbn5PeyNBblJpK0ReUUsrJH5lCnpwa0Z3
SDwwJT9SQHBqSDtfRT8kdzd1UzdOKTU9fkAyVHVzM0olcV93TUN4ZmJfZWZNT3FuTFp8SUNBSkRJ
TDl4Xwp6dztKRWN7QT9XIWheemNeY2w0RFhoPktpT19ZSEEqdHA+ISFeYksqSFFDJiMtZncoJWQr
RD5qTGM7TH5fe0FDUkIKenBhY3h4dm5pPUNIYyVoKCZeVWRLVE4mNkBHPUNxPnomfmcjdT5qTlNz
OVNCRXNtczV+TFhEciNWcW9gLWV9Qj1RCnpSJEwpPlZ0QSFeKnBucTUjK0xIc081cWpIJShlNmxg
RjYyZWl8IT8/RHllQFdGNHBKeEJDKnxlTWkpQlNIfUNGTgp6ZUF5T2RjPmlfXiVMOVFkU0E5KGZU
MDI8dU8peWRrYCV8fnUrNjIySHFEKzNwLSRUM2ZfNyQofUpAVU16YGtsNXoKem5SdFJOaTJSJXx3
WWh1YXtxfldaNVhwVmkhc0pDZXMqfE9NWlFLVUE3QX4ybygtJi1MPGpxeTQ3M0l+YkJZZmpYCno5
IWRoKGdEPiQ8Z0lGfHc8O3dCckw0VjEmalEpfnUyfE5EPC13SWdsa1VSezB0SzYkS25WeFRIe05Q
KSVXJXtHOAp6LXwqSjFlfi03ZVcrLW5tJWF2JWh5JXk8S2NSNk1PZV9+QVVXMD1+TXJBSW5ncGZZ
JjEmei0wXm19KU5NRiZhO1oKemg1eHw7SiR0YT4laTdfbCk2Tz9PUilkO2JaKUZtP3J9NUM/JSF1
ZT9iflJ5YU1SOHRWVVpnSGxZKU5zNnREZ0ZTCnp4WSZPcEYxY2xoRTVMdmYreVpGYHY5d0okMllw
czthX2xGUmQ+alR1QDYtPTJMY2E9cVQxRitPZGZ3cWtUNVNpPgp6d0VKUUN6MkpCYWU9Kmt2RlV0
VmxON09jYDE1ckIpMjdgJlhsSkBqeHJgYVBiYzlIRzJPOzheYk5ORXNhKXxZN0UKenVPWWVfIXZF
aXQlK21eMTVeKnhMeGJ7SG5TcWtPX00pZ0l7a2hZWVQ/V3t6NG1HJDw2a0pZK3IyTz85PUNBT3hr
CnpDOHtCRG1QQX5qUVp9YURQUmpSMSVuOzVxKkMtNzRGZlNDSng0a3chJkg4b3BpR0lDPjt2NFV0
dHZUdDYqU0d4RAp6P2NsXk14b1h7MVp7MHhMQ21QVmZDZ3FYKmI2cShEcmNiWXJXJGQmWGR4MG1Q
Z2h2JDt6JHN0Slo3a0JCckkhe0AKem50JmBhTGF1YUlgQ3Z7aHo0VVZ9KlFsdEZEJUZyMD8jZj5O
ZHxhPHpXTVlUVmozfEQzP0kzcV5iSVYoY3dyUUBZCnooTTcwIWcqKCUtMk5HXyZuZ2oqVGI/UThw
XiFTd2pOal82OGc7JUY9eE4qZXIhWW5zVV5rTzUjSkd9T0F1V1BeQAp6RXtlY1EqMT94U2JraDZe
ZUZLTjwtdHRLc1JiQm5sM29RO189KGE1Nz5eaUFPWjA4R0BmM0U3RT9QRkg0VXRpZHEKekJRUHY/
eHp4WXF4IX5zYU5kY1U9ZE9NcmZ2QyllVXpKNjd8e3E9YTJ6d2dvS0VqUSpfTk8yMzNuYm0+dk13
V2dECnpSMHMhVTheZWltNjZMfSVfPXpIJmBMdm5xZTNrRSRAX1A7SXI1OzY7Ymtqa3goTXlhJTFh
QkE1Rng2OGBmN0V0Vgp6STJfOER7TyhKWntqcExUNFA7aWl3QSQzfCR9dlIpRnRYZjt4fFZzTlE/
UFAhQm1UKCNxXm5iUGc+Q3tuKlZFWiQKemxHbHxvcXtOcmYkKXlvUlVsY2FjYGEpRFgreHo4UVkh
VlUrP19DVStFdWNGclo+JH4rVlZtKl8lVEV1K1QrUlhrCno+dj8+c1JfTW99IUdnbUs7ZE9kRXRM
b15NdkRpQm9Ge0tQK3krZUFGYll5U0tHYX4/TlcpR0FNUz9DI0JQWlNJPQp6RkxUT3kpejluQzsx
ZFFFazdgdXVCVHUpZTtUcjlRMFNldGQyQ0xFXjdsailiVCRtKEJzTHprKDR+UHh0I2JBS3EKemB0
V1cjWCVGXkpBXjw7JWlQSWY2YGNvK1U2JFk1Wmw/KlBrPFZrRDdsfVd0TFdXRFNaaWIyRVpHV0F+
NmpzQ2M3CnpCO2QrT0FLNTVRZjZhWitPVXVCRlVScCtVKjF+PUx6ZzdAQHpJSiNEd1pKI05aREVf
OTUpZlJRIVgoYmlROFFvQwp6eG8hKkFuXyZlYl5KKj5+Ujs0V3wlMiYzMnw5IzZfPjZoTUByYyNC
THspKVdKQylBck1uNUBCdnkheXwjXilhR0AKenB3fFNRQytOTXloP1dBaEpmZT5iXmYzeUgzQTda
VHIyczdqWGVtSFQwbEh+SXd1PE9SNjVVKip0QWhYRXt6PTIzCnFjcChPYzZ9R3pqX25NJXNwfSlV
ZiMtdVk0QHF0QmhQOCN9bzQ3IV43YCFue0xgfkN3QVhvWHx8CgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBh
bmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9l
bmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJkNjcwZmI2OGIyYjdkNzkyYTMyZTg0Y2M4
OGZlOTA0ODg2NjhhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjYwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNjAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgyMzYKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDc2Nng1NAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc2NjogIlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9pY2VkIGph
cGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJlZCIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNzYzOiAidGhlIHNhbWUgYXMgdGhlIHBy
ZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVsLXRlc3QsIGFuZCBwYXNzZXMg
d2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVudHMgYXJlIgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA2MDogImlkZW50aWNhbC4iCi0gICAgICBSZW5kZXJC
bG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMykgc2l6ZSAxNjh4MjgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0
aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBDRn1c
eHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTI2
KSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
NjZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjY6ICJUaGUgYWJvdmUg
aXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMTY0KSBzaXplIDc4
NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6ZSAxNjh4MjgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0aCAxNjg6ICJceHszMEQwfVx4ezMwQ0F9XHh7
MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwyMTcpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE3MngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE3
MjogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hh
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZW5jb2Rpbmcv
ZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4YTU5NzMwNGFiOGFiOTVhM2ZjNTA4YjNmNTRmNTMxMGQy
NWYzOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1q
YXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2NgotICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjY2Ci0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MjQyCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDc4NHg1NAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzV4NTQK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NzU6ICJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBo
aXJhZ2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3MjQ6ICJzYW1lIGFzIHRoZSBwcmVjb21wb3Nl
ZCB2ZXJzaW9uLiBUaGlzIHRlc3QgaXMgYSBwaXhlbC10ZXN0LCBhbmQgcGFzc2VzIHdoZW4gdGhl
IHRleHQgaW4gdGhlIHR3byBoZWFkaW5nIGVsZW1lbnRzIGFyZSIKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwzNikgd2lkdGggNTc6ICJpZGVudGljYWwuIgotICAgICAgUmVuZGVyQmxvY2sge0gy
fSBhdCAoMCw3Mykgc2l6ZSA3ODR4MzcKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDUpIHNpemUgMTY4eDI4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTY4OiAi
XHh7MzBDRn1ceHszMDk5fVx4ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwQ0Z9XHh7MzA5QX1c
eHszMENBfVx4ezMwREV9IgotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEyOSkgc2l6ZSA3
ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIGRlY29t
cG9zZWQiCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDE2Nykgc2l6ZSA3ODR4MzcKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTY4eDI4Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTY4OiAiXHh7MzBEMH1ceHszMENBfVx4ezMwQ0F9XHh7
MzA2OH1ceHszMEQxfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMjIzKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNjl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjk6ICJUaGUg
YWJvdmUgaXMgcHJlY29tcG9zZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9lbmNvZGlu
Zy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQxZGJmNzA1M2Q4NmZiYzgwYmM1YTg3MmE1ZTFmN2Vl
YjNjOGQ3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12
b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjEg
KzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzgKLSAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDIzOAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDIxNAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSA3ODR4NDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
Nzg0eDM5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzg0OiAiVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFw
YW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJlbmRlcmVkIHRoZSBz
YW1lIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3MTc6ICJhcyB0aGUgcHJl
Y29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwgYW5kIHBhc3NlcyB3
aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUgaWRlbnRpY2FsLiIK
LSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNTkpIHNpemUgNzg0eDI4Ci0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2NHgyNgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDE2NDogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENBfVx4ezMwQ0F9XHh7
MzA2OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwxMDYpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE1OXgxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1
OTogIlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAo
MCwxNDYpIHNpemUgNzg0eDI4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDE2NHgyNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2NDogIlx4ezMw
RDB9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4ezMwREV9IgotICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5Mykgc2l6ZSA3ODR4MjEKLSAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNl
ZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
ZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ2ZDQ5MDBjMGI1MmE2ODhhYzIx
ZGM4ZjFhMTQyYThhNDYwNTY0Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvZmFzdC9lbmNvZGluZy9kZW5vcm1h
bGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIyICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjQ4Ci0gIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNDgKLSAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMjQKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDc3NXg1MwotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc3NTogIlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9p
Y2VkIGphcGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJl
ZCB0aGUiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDcyNDogInNhbWUgYXMg
dGhlIHByZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVsLXRlc3QsIGFuZCBw
YXNzZXMgd2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVudHMgYXJlIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA1NzogImlkZW50aWNhbC4iCi0gICAgICBS
ZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgyOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4MjYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7
MzBDRn1ceHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMTIwKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNjR4MTcKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjQ6ICJUaGUg
YWJvdmUgaXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMTU4KSBz
aXplIDc4NHgyOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4
MjYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjg6ICJceHszMEQwfVx4ezMw
Q0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwyMDUpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDE2OXgxNwotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDE2OTogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406358</attachid>
            <date>2020-08-10 21:05:42 -0700</date>
            <delta_ts>2020-08-10 21:05:42 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215059-20200810210541.patch</filename>
            <type>text/plain</type>
            <size>109704</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0ZTRlYWQxNWM1ZWNlYjM4OWQ5ZGZk
ZjFhYzUxYTA5ODZkODVmYzYuLmEzZGYzZDQ0NzU0NmRjYTczYTNmNGEwMjRlNzc2NTg0ZGI0MjA4
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZv
bnRUcmFuc2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVVzZS5oOiBSZW5hbWUgQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFIHRvIENURk9O
VFNIQVBFR0xZUEhTLAorICAgICAgICBiZWNhdXNlIHRoYXQncyB0aGUgbmV3IGZ1bmN0aW9uLgor
CiAyMDIwLTA4LTA5ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxv
YWQgZ3JhcGhpY3MgZHJpdmVycyBpbiBNYWMgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgzNGZl
MTVjZDkwYWE5Zjc2ZGM5ODliY2I0YTZhN2UwMDU4ZjEwNmEuLmMxODJiZGM1MzNmZTY1ODM4YWU3
ODM5NzY5MGRiNmEyZGZlYTUxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAyMC0w
OC0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgp
IHRvIENURm9udFNoYXBlR2x5cGhzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTA1OQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ3NjkKKyAgICAgICAgYW5kIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyMDguCisKKyAgICAgICAgVGhlIHNvbHV0aW9u
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzY5IHJlcXVp
cmVzIGFwcGx5aW5nCisgICAgICAgIGxldHRlci1zcGFjaW5nIGFmdGVyIHRleHQgc2hhcGluZy4g
VG9kYXksIHdlIGFwcGx5IGxldHRlci1zcGFjaW5nIGJlZm9yZSB0ZXh0IHNoYXBpbmcKKyAgICAg
ICAgd2hpY2ggaXMgd3JvbmcuIEhvd2V2ZXIsIGlmIHdlIHdhbnQgdG8gYXBwbHkgbGV0dGVyLXNw
YWNpbmcgYWZ0ZXIgdGV4dCBzaGFwaW5nLCB3ZSBuZWVkCisgICAgICAgIHRvIHVzZSBDVEZvbnRT
aGFwZUdseXBocygpLCB3aGljaCByZXR1cm5zIHRoZSBnbHlwaCAtPiBzdHJpbmcgbWFwcGluZywg
d2hpY2ggYWxsb3dzIHVzCisgICAgICAgIHRvIGRldGVybWluZSB3aGljaCBnbHlwaHMgdG8gYWRk
IGxldHRlci1zcGFjaW5nIHRvLgorCisgICAgICAgIFVwZGF0ZXMgZXhpc3RpbmcgdGVzdHMuCisK
KyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5k
LW1hcmtzLTEuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2Fu
YS12b2ljZWQtc291bmQtbWFya3MtMi5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmFwcGx5VHJhbnNmb3JtcyBjb25z
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlOjp3aWR0aEZvclNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENh
c2NhZGU6OmNoYXJhY3RlclJhbmdlQ29kZVBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENh
c2NhZGU6OmxheW91dFNpbXBsZVRleHQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZVNsb3dDYXNlKTogTm93IHRoYXQgd2UncmUgdXNp
bmcKKyAgICAgICAgQ1RGb250U2hhcGVHbHlwaHMoKSwgdGhlIHNoYXBpbmcgcm91dGluZSBjYW4g
YW5kIGRvZXMgbG9vayBhdCB0aGUgdW5kZXJseWluZyBjaGFyYWN0ZXIKKyAgICAgICAgc3RyaW5n
IHRvIHBlcmZvcm0gY2hhcmFjdGVyIGNvbXBvc2l0aW9uLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGds
eXBoIGJ1ZmZlciBuZWVkcyB0bworICAgICAgICBtYXRjaCBleGFjdGx5IHdoYXQgaXMgaW4gdGhl
IHN0cmluZy4gV2UgY2FuJ3QgZG8gYW55IHNoZW5hbmlnYW5zIHdoZXJlIHdlIHByZXRlbmQgdGhl
CisgICAgICAgIHN0cmluZyBoYXMgY2hhcmFjdGVycyB0aGF0IGFyZW4ndCBhY3R1YWxseSB0aGVy
ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRl
cmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
cjo6Y29uc3VtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFu
c2Zvcm1zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRlcmF0b3I6OmFwcGx5Rm9u
dFRyYW5zZm9ybXMpOiBSZXZlcnNpbmcgdGhlIGdseXBoIGJ1ZmZlciBmb3IgcnRsCisgICAgICAg
IGNvbnRlbnQgbmVlZHMgdG8gYmUgZG9uZSBpbnNpZGUgcGxhdGZvcm0tc3BlY2lmaWMgY29kZSwg
YmVjYXVzZSBpdHMgYmVoYXZpb3IgZGVwZW5kcyBvbgorICAgICAgICB3aGljaCBwbGF0Zm9ybSBz
aGFwaW5nIHJvdXRpbmUgaXMgYmVpbmcgdXNlZC4KKyAgICAgICAgKFdlYkNvcmU6OldpZHRoSXRl
cmF0b3I6OmNvbW1pdEN1cnJlbnRGb250UmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZUludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aEl0ZXJhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENv
Y29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6YXBwbHlUcmFuc2Zvcm1zIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMgY29uc3Qp
OgorCiAyMDIwLTA4LTEwICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW9iaWxlU2FmYXJpIGNyYXNoZXMgYXQgV2ViQ29yZTogLVtXZWJBVlBsYXllckNvbnRyb2xs
ZXIgc2Vla1RvVGltZTp0b2xlcmFuY2VCZWZvcmU6dG9sZXJhbmNlQWZ0ZXI6XQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKaW5kZXggMzhjNjdiNWVkMDJjNzQxYzNlMzU4ZDdiZWMzYjNhYjhlMjNmZjhjOC4uYWJi
NWU2OGQ1MmY4NWExZmUyOGEwNzMxYzQ4Zjc4NDZjZGQyYjEwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgZnJvbSBDVEZvbnRUcmFu
c2Zvcm1HbHlwaHNXaXRoTGFuZ3VhZ2UoKSB0byBDVEZvbnRTaGFwZUdseXBocygpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29y
ZVRleHRTUEkuaDoKKwogMjAyMC0wOC0wNyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBFeHBlcmltZW50YWw6IENhcCB0aGUgZXhwaXJ5IG9mIHBlcnNpc3Rl
bnQgY29va2llcyBzZXQgaW4gM3JkLXBhcnR5IENOQU1FIGNsb2FrZWQgSFRUUCByZXNwb25zZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGVhYTgyODVkZjExODBjMjE5YTNkZWJhZDE3NjEyOWY0NzI3
ZGFiZjIuLmFkZTQyZGQxMzlmM2E5ZjRhYWY0NzM4MmU1YjBkNjRjYmY2ODFhMDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1Vc2UuaApAQCAtMzAyLDUgKzMwMiw1IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IDExMDAwMCkKLSNkZWZpbmUgVVNFX0NURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFH
RSAxCisjZGVmaW5lIFVTRV9DVEZPTlRTSEFQRUdMWVBIUyAxCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IDdkMjE0ZWRhOWY1
MTc0NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQuLjM0MmQ1OTFlMDVhYmQwYTQyMDFkYzAzNjI2
N2QwMzVhNjFhNDViOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2Ev
Q29yZVRleHRTUEkuaApAQCAtNDYsNiArNDYsMTIgQEAgdHlwZWRlZiBDRl9PUFRJT05TKHVpbnQz
Ml90LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKSB7CiAgICAga0NURm9udFRyYW5zZm9ybUFwcGx5
UG9zaXRpb25pbmcgPSAoMSA8PCAxKQogfTsKIAordHlwZWRlZiBDRl9PUFRJT05TKENGT3B0aW9u
RmxhZ3MsIENURm9udFNoYXBlT3B0aW9ucykgeworICAgIGtDVEZvbnRTaGFwZVdpdGhLZXJuaW5n
ID0gKDEgPDwgMCksCisgICAga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbiA9ICgx
IDw8IDEpLAorICAgIGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0ID0gKDEgPDwgMiksCit9OworCiB0
eXBlZGVmIENGX09QVElPTlModWludDMyX3QsIENURm9udERlc2NyaXB0b3JPcHRpb25zKSB7CiAg
ICAga0NURm9udERlc2NyaXB0b3JPcHRpb25TeXN0ZW1VSUZvbnQgPSAxIDw8IDEsCiAgICAga0NU
Rm9udERlc2NyaXB0b3JPcHRpb25QcmVmZXJBcHBsZVN5c3RlbUZvbnQgPSBrQ1RGb250T3B0aW9u
c1ByZWZlclN5c3RlbUZvbnQKQEAgLTkyLDcgKzk4LDcgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVEZvbnRDU1NGYW1pbHlNb25vc3BhY2U7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NURm9udENTU0ZhbWlseVN5c3RlbVVJOwogCiBib29sIENURm9udFRyYW5zZm9ybUdseXBocyhD
VEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1tdLCBDRkluZGV4IGNv
dW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zKTsKLUNHU2l6ZSBDVEZvbnRUcmFuc2Zvcm1HbHlw
aHNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBDR0dseXBoW10sIENHU2l6ZVtdLCBDRkluZGV4IGNv
dW50LCBDVEZvbnRUcmFuc2Zvcm1PcHRpb25zLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgdm9pZCAo
XmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXplKiopKTsKK0NHU2l6ZSBDVEZvbnRT
aGFwZUdseXBocyhDVEZvbnRSZWYsIENHR2x5cGggZ2x5cGhzW10sIENHU2l6ZSBhZHZhbmNlc1td
LCBDR1BvaW50IG9yaWdpbnNbXSwgQ0ZJbmRleCBpbmRleGVzW10sIGNvbnN0IFVuaUNoYXIgY2hh
cnNbXSwgQ0ZJbmRleCBjb3VudCwgQ1RGb250U2hhcGVPcHRpb25zLCBDRlN0cmluZ1JlZiBsYW5n
dWFnZSwgdm9pZCAoXmhhbmRsZXIpKENGUmFuZ2UsIENHR2x5cGgqKiwgQ0dTaXplKiosIENHUG9p
bnQqKiwgQ0ZJbmRleCoqKSk7CiAKIENHU2l6ZSBDVFJ1bkdldEluaXRpYWxBZHZhbmNlKENUUnVu
UmVmKTsKIENUTGluZVJlZiBDVExpbmVDcmVhdGVXaXRoVW5pQ2hhclByb3ZpZGVyKENUVW5pQ2hh
clByb3ZpZGVyQ2FsbGJhY2ssIENUVW5pQ2hhckRpc3Bvc2VDYWxsYmFjaywgdm9pZCogcmVmQ29u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKaW5kZXggOWFlNjkw
NjhmM2ViZmZmYTljOGU0MDU4ZDUxYTgzNGQ4ZGEwN2YwMi4uNmVmOTc4OTI3YzMwMjQ5MTI3ZGY1
Y2JkNGU5YTU1YTg3OGQ0NDljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA4
LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292CiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01
MTIsNyArNTEyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OmNyZWF0ZVNjYWxlZEZvbnQoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2EKIH0KIAogI2lmICFQTEFURk9S
TShDT0NPQSkKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgdW5zaWdu
ZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdAordm9pZCBGb250OjphcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQsIGJvb2wsIGJvb2ws
IGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9uKSBjb25zdAogewog
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXggZWFm
OWRhYzQyMGFhZmUwMmJjYWY3MDdiN2VkY2I0ZGRlMzNkOTRiNy4uOGVjMzM4MGQ3YjdlNDVjMGQx
MWU3YzhjNGVmNzIxZjY5ZWIyNWYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
aW50ZXJuYWwgZm9udCBpbXBsZW1lbnRhdGlvbi4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDgsIDIwMTAsIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBNb2JpbGUsIEluYy4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCkBAIC0yMDcsNyArMjA3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGNhblJl
bmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiwgc2l6ZV90KSBjb25z
dDsKLSAgICB2b2lkIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGJlZ2lu
bmluZ0luZGV4LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nLCBjb25z
dCBBdG9tU3RyaW5nJiBsb2NhbGUpIGNvbnN0OworICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm1zKEds
eXBoQnVmZmVyJiwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5u
aW5nU3RyaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcs
IGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9u
KSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBTQ1JJUFRfRk9OVFBST1BFUlRJRVMq
IHNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKaW5kZXggODRmNmI4MGIxYWYyZTI3NDE4NzUw
MDQ2MGE4OTBiMDNmM2FiNzRkOS4uY2Q2ZGVkYjM2NzQ5MWVlOTgxZTJhOWFlM2Y5ZWNiNjM2YTY3
ODIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlLmNwcApAQCAtNDI2LDcgKzQyNiw3IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aChjb25z
dCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotZmxvYXQgRm9udENhc2NhZGU6OndpZHRoRm9yU2ltcGxlVGV4
dChTdHJpbmdWaWV3IHRleHQpIGNvbnN0CitmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1w
bGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uKSBjb25z
dAogewogICAgIGlmICh0ZXh0LmlzTnVsbCgpIHx8IHRleHQuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gMDsKQEAgLTQ0NSw3ICs0NDUsNyBAQCBmbG9hdCBGb250Q2FzY2FkZTo6d2lkdGhGb3JT
aW1wbGVUZXh0KFN0cmluZ1ZpZXcgdGV4dCkgY29uc3QKICAgICAgICAgZ2x5cGhCdWZmZXIuYWRk
KGdseXBoLCBmb250LCBnbHlwaFdpZHRoLCBpKTsKICAgICB9CiAKLSAgICBmb250LmFwcGx5VHJh
bnNmb3JtcyhnbHlwaEJ1ZmZlciwgMCwgZW5hYmxlS2VybmluZygpLCByZXF1aXJlc1NoYXBpbmco
KSwgZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSk7CisgICAgZm9udC5hcHBseVRy
YW5zZm9ybXMoZ2x5cGhCdWZmZXIsIDAsIDAsIGVuYWJsZUtlcm5pbmcoKSwgcmVxdWlyZXNTaGFw
aW5nKCksIGZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkTG9jYWxlKCksIHRleHQsIHRleHREaXJl
Y3Rpb24pOwogICAgIC8vIFRoaXMgaXMgbmVlZGVkIG9ubHkgdG8gbWF0Y2ggdGhlIHJlc3VsdCBv
ZiB0aGUgc2xvdyBwYXRoLgogICAgIC8vIFNhbWUgZ2x5cGggd2lkdGhzIGJ1dCBkaWZmZXJlbnQg
ZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBjYW4gcHJvZHVjZSBkaWZmZXJlbnQgcnVuIHdpZHRo
LgogICAgIGZsb2F0IHJ1bldpZHRoRGlmZmVyZW5jZVdpdGhUcmFuc2Zvcm1BcHBsaWVkID0gLXJ1
bldpZHRoOwpAQCAtNzQ4LDYgKzc0OCwxMSBAQCBGb250Q2FzY2FkZTo6Q29kZVBhdGggRm9udENh
c2NhZGU6OmNoYXJhY3RlclJhbmdlQ29kZVBhdGgoY29uc3QgVUNoYXIqIGNoYXJhY3RlcgogICAg
ICAgICBpZiAoYyA8PSAweDMwMkYpCiAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDsKIAorICAg
ICAgICBpZiAoYyA8IDB4MzA5OSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAo
YyA8IDB4MzA5RCkKKyAgICAgICAgICAgIHJldHVybiBDb21wbGV4OyAvLyBLQVRBS0FOQS1ISVJB
R0FOQSAoU0VNSS0pVk9JQ0VEIFNPVU5EIE1BUktTIHJlcXVpcmUgY2hhcmFjdGVyIGNvbXBvc2l0
aW9uCisKICAgICAgICAgaWYgKGMgPCAweEE2N0MpIC8vIFUrQTY3QyB0aHJvdWdoIFUrQTY3RCBD
b21iaW5pbmcgbWFya3MgZm9yIG9sZCBDeXJpbGxpYwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIGlmIChjIDw9IDB4QTY3RCkKQEAgLTEzOTEsNiArMTM5Niw4IEBAIEdseXBoQnVmZmVy
IEZvbnRDYXNjYWRlOjpsYXlvdXRTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgdW5zaWdu
ZWQgZnJvbSwgdW5zCiAgICAgLy8gRklYTUU6IERlYWwgd2l0aCB0aGUgR2x5cGhCdWZmZXIncyBj
dXJyZW50IGluaXRpYWxBZHZhbmNlLgogICAgIGdseXBoQnVmZmVyLnNldEluaXRpYWxBZHZhbmNl
KEZsb2F0U2l6ZShpbml0aWFsQWR2YW5jZSwgMCkpOwogCisgICAgLy8gVGhlIGdseXBoIGJ1ZmZl
ciBpcyBjdXJyZW50bHkgaW4gbG9naWNhbCBvcmRlciwKKyAgICAvLyBidXQgd2UgbmVlZCB0byBy
ZXR1cm4gdGhlIHJlc3VsdHMgaW4gdmlzdWFsIG9yZGVyLgogICAgIGlmIChydW4ucnRsKCkpCiAg
ICAgICAgIGdseXBoQnVmZmVyLnJldmVyc2UoMCwgZ2x5cGhCdWZmZXIuc2l6ZSgpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXggOWFk
M2FlNGJlZjEyMWQ2ZDAxN2YyYjcyNTQ1ZGJjZDYxZDI1NGFiYy4uMzg3Mzk5ZjE0NTQzZDZhMDE0
NGRkYzlkODUzYzE5ZjE5NDQxMWVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5oCkBAIC0xMTYsNyArMTE2LDcgQEAgcHVibGljOgogCiAgICAg
ZmxvYXQgd2lkdGhPZlRleHRSYW5nZShjb25zdCBUZXh0UnVuJiwgdW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgdG8sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzID0gMCwgZmxvYXQq
IG91dFdpZHRoQmVmb3JlUmFuZ2UgPSBudWxscHRyLCBmbG9hdCogb3V0V2lkdGhBZnRlclJhbmdl
ID0gbnVsbHB0cikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgZmxvYXQgd2lkdGgoY29uc3Qg
VGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhP
dmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICBmbG9hdCB3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5n
VmlldyB0ZXh0KSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZvclNpbXBsZVRleHQoU3RyaW5nVmll
dyB0ZXh0LCBUZXh0RGlyZWN0aW9uID0gVGV4dERpcmVjdGlvbjo6TFRSKSBjb25zdDsKIAogICAg
IHN0ZDo6dW5pcXVlX3B0cjxUZXh0TGF5b3V0LCBUZXh0TGF5b3V0RGVsZXRlcj4gY3JlYXRlTGF5
b3V0KFJlbmRlclRleHQmLCBmbG9hdCB4UG9zLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkgY29u
c3Q7CiAgICAgc3RhdGljIGZsb2F0IHdpZHRoKFRleHRMYXlvdXQmLCB1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCBsZW4sIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0ZvbnRzID0gMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcAppbmRleCA0Y2I5MDkzYmYxYjFkZDc1
MTE4OTJjZWY2MTA1ZGQzNTMxYWZhNzRlLi41YWVlNGNjNDJhYzJkNzQ3MmRlNzk5ZWIxNjE5ZGUw
YmNiMTEyZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKQEAgLTM3
LDE5ICszNyw3IEBAIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyCiAKIGJvb2wgU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nhc2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1
bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKIHsKLSAgICBpZiAoY2hhcmFjdGVyIDw9IDB4MzBGRSkg
ewotICAgICAgICAvLyBEZWFsIHdpdGggSGlyYWdhbmEgYW5kIEthdGFrYW5hIHZvaWNlZCBhbmQg
c2VtaS12b2ljZWQgc3lsbGFibGVzLgotICAgICAgICAvLyBOb3JtYWxpemUgaW50byBjb21wb3Nl
ZCBmb3JtLCBhbmQgdGhlbiBsb29rIGZvciBnbHlwaCB3aXRoIGJhc2UgKyBjb21iaW5lZCBtYXJr
LgotICAgICAgICAvLyBDaGVjayBhYm92ZSBmb3IgY2hhcmFjdGVyIHJhbmdlIHRvIG1pbmltaXpl
IHBlcmZvcm1hbmNlIGltcGFjdC4KLSAgICAgICAgaWYgKFVDaGFyMzIgbm9ybWFsaXplZCA9IG5v
cm1hbGl6ZVZvaWNpbmdNYXJrcygpKSB7Ci0gICAgICAgICAgICBjaGFyYWN0ZXIgPSBub3JtYWxp
emVkOwotICAgICAgICAgICAgY2x1c3Rlckxlbmd0aCA9IDI7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFKGNoYXJhY3Rl
cikpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIEFTU0VSVChVMTZfSVNfU1VSUk9HQVRFKGNo
YXJhY3RlcikpOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBwYWlyLCBtYWtlIHN1
cmUgaXQgc3RhcnRzIHdpdGggdGhlIGhpZ2ggcGFydC4KICAgICBpZiAoIVUxNl9JU19TVVJST0dB
VEVfTEVBRChjaGFyYWN0ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAppbmRl
eCA0NzBkMTRhZjI1ZGM0YjQ2MDU5MzdkNDUyNWFmNTJmNWExMTZhMGFkLi4zNTRmYzk5ZTEwMjVk
Y2ZiMzZjNmEzNTU0NDc5NjFiYzI5MGQyZGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRl
cmF0b3IuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNoYXJhY3RlciA9ICpt
X2NoYXJhY3RlcnM7CiAgICAgICAgIGNsdXN0ZXJMZW5ndGggPSAxOwogCi0gICAgICAgIGlmIChj
aGFyYWN0ZXIgPCBIaXJhZ2FuYUxldHRlclNtYWxsQSkKKyAgICAgICAgaWYgKCFVMTZfSVNfU1VS
Uk9HQVRFKGNoYXJhY3RlcikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICBy
ZXR1cm4gY29uc3VtZVNsb3dDYXNlKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCmluZGV4
IGQ3Njg5NWY0NTMwZTkxMTE5ODg3Nzc4N2YwOTYzOGNkMzJiYjliYTIuLmUwMThlNjJkZGE0YzBj
MGI3Nzg3ODdhNDkxYzE3ZTU4ZTJjZGZmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC03OCwyNCArNzgsMjMgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzU29mdEJhbmtFbW9qaShVQ2hhcjMyIGNvZGVwb2ludCkKICAgICBy
ZXR1cm4gY29kZXBvaW50ID49IDB4RTAwMSAmJiBjb2RlcG9pbnQgPD0gMHhFNTM3OwogfQogCi1p
bmxpbmUgYXV0byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0
IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIFVDaGFy
MzIgcHJldmlvdXNDaGFyYWN0ZXIpIGNvbnN0IC0+IFRyYW5zZm9ybXNUeXBlCitpbmxpbmUgYXV0
byBXaWR0aEl0ZXJhdG9yOjpzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGNvbnN0IEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQsIHVuc2lnbmVkIGN1cnJl
bnRDaGFyYWN0ZXJJbmRleCkgY29uc3QgLT4gVHJhbnNmb3Jtc1R5cGUKIHsKLSAgICBpZiAoZ2x5
cGhCdWZmZXIuc2l6ZSgpID09IChsYXN0R2x5cGhDb3VudCArIDEpICYmIGlzU29mdEJhbmtFbW9q
aShwcmV2aW91c0NoYXJhY3RlcikpCisgICAgQVNTRVJUKGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA8
PSBtX3J1bi5sZW5ndGgoKSk7CisgICAgaWYgKGdseXBoQnVmZmVyLnNpemUoKSA9PSAobGFzdEds
eXBoQ291bnQgKyAxKSAmJiBjdXJyZW50Q2hhcmFjdGVySW5kZXggJiYgaXNTb2Z0QmFua0Vtb2pp
KG1fcnVuLnRleHQoKVtjdXJyZW50Q2hhcmFjdGVySW5kZXggLSAxXSkpCiAgICAgICAgIHJldHVy
biBUcmFuc2Zvcm1zVHlwZTo6Rm9yY2VkOwogICAgIGlmIChtX3J1bi5sZW5ndGgoKSA8PSAxKQog
ICAgICAgICByZXR1cm4gVHJhbnNmb3Jtc1R5cGU6Ok5vbmU7CiAgICAgcmV0dXJuIFRyYW5zZm9y
bXNUeXBlOjpOb3RGb3JjZWQ7CiB9CiAKLWlubGluZSBmbG9hdCBXaWR0aEl0ZXJhdG9yOjphcHBs
eUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBsdHIsIHVuc2ln
bmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0No
YXJhY3RlciwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJz
VHJlYXRlZEFzU3BhY2UpCitpbmxpbmUgZmxvYXQgV2lkdGhJdGVyYXRvcjo6YXBwbHlGb250VHJh
bnNmb3JtcyhHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50
LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wg
Zm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNl
KQogewotICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNDaGFyYWN0ZXIsIHNob3VsZEFwcGx5Rm9u
dFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBwcmV2aW91c0NoYXJhY3Rl
cikgIT0gV2lkdGhJdGVyYXRvcjo6VHJhbnNmb3Jtc1R5cGU6Ok5vbmUpOworICAgIEFTU0VSVF9V
TlVTRUQoY3VycmVudENoYXJhY3RlckluZGV4LCBzaG91bGRBcHBseUZvbnRUcmFuc2Zvcm1zKGds
eXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4KSAhPSBXaWR0
aEl0ZXJhdG9yOjpUcmFuc2Zvcm1zVHlwZTo6Tm9uZSk7CiAKICAgICBhdXRvIGdseXBoQnVmZmVy
U2l6ZSA9IGdseXBoQnVmZmVyLnNpemUoKTsKLSAgICBpZiAoIWZvcmNlICYmIGdseXBoQnVmZmVy
U2l6ZSA8PSBsYXN0R2x5cGhDb3VudCArIDEpIHsKLSAgICAgICAgbGFzdEdseXBoQ291bnQgPSBn
bHlwaEJ1ZmZlclNpemU7CisgICAgaWYgKCFmb3JjZSAmJiBnbHlwaEJ1ZmZlclNpemUgPD0gbGFz
dEdseXBoQ291bnQgKyAxKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBHbHlwaEJ1
ZmZlckFkdmFuY2UqIGFkdmFuY2VzID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoMCk7CiAgICAgZmxv
YXQgYmVmb3JlV2lkdGggPSAwOwpAQCAtMTAzLDE3ICsxMDIsMTUgQEAgaW5saW5lIGZsb2F0IFdp
ZHRoSXRlcmF0b3I6OmFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
LCBib29sIGwKICAgICAgICAgYmVmb3JlV2lkdGggKz0gYWR2YW5jZXNbaV0ud2lkdGgoKTsKIAog
ICAgIEFTU0VSVChsYXN0R2x5cGhDb3VudCA8PSBnbHlwaEJ1ZmZlclNpemUpOwotICAgIGlmICgh
bHRyKQotICAgICAgICBnbHlwaEJ1ZmZlci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1
ZmZlclNpemUgLSBsYXN0R2x5cGhDb3VudCk7CiAKLSAgICBmb250LmFwcGx5VHJhbnNmb3Jtcyhn
bHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fZW5hYmxlS2VybmluZywgbV9yZXF1aXJlc1No
YXBpbmcsIG1fZm9udC5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZExvY2FsZSgpKTsKKyAgICBm
b250LmFwcGx5VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIG1fY3VycmVu
dENoYXJhY3RlckluZGV4LCBtX2VuYWJsZUtlcm5pbmcsIG1fcmVxdWlyZXNTaGFwaW5nLCBtX2Zv
bnQuZm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRMb2NhbGUoKSwgbV9ydW4udGV4dCgpLCBtX3J1
bi5kaXJlY3Rpb24oKSk7CiAgICAgZ2x5cGhCdWZmZXJTaXplID0gZ2x5cGhCdWZmZXIuc2l6ZSgp
OwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZl
clNpemU7ICsraSkKKyAgICBHbHlwaEJ1ZmZlck9yaWdpbiogb3JpZ2lucyA9IGdseXBoQnVmZmVy
Lm9yaWdpbnMoMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBn
bHlwaEJ1ZmZlclNpemU7ICsraSkgewogICAgICAgICBhZHZhbmNlc1tpXS5zZXRIZWlnaHQoLWFk
dmFuY2VzW2ldLmhlaWdodCgpKTsKLQotICAgIGlmICghbHRyKQotICAgICAgICBnbHlwaEJ1ZmZl
ci5yZXZlcnNlKGxhc3RHbHlwaENvdW50LCBnbHlwaEJ1ZmZlclNpemUgLSBsYXN0R2x5cGhDb3Vu
dCk7CisgICAgICAgIG9yaWdpbnNbaV0uc2V0WSgtb3JpZ2luc1tpXS55KCkpOworICAgIH0KIAog
ICAgIGZvciAodW5zaWduZWQgaSA9IGxhc3RHbHlwaENvdW50OyBpIDwgZ2x5cGhCdWZmZXJTaXpl
OyArK2kpIHsKICAgICAgICAgYXV0byBjaGFyYWN0ZXJJbmRleCA9IGdseXBoQnVmZmVyLnN0cmlu
Z09mZnNldEF0KGkpOwpAQCAtMTMzLDcgKzEzMCw2IEBAIGlubGluZSBmbG9hdCBXaWR0aEl0ZXJh
dG9yOjphcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgYm9vbCBs
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGFzdEdseXBoQ291bnQ7IGkgPCBnbHlwaEJ1ZmZlclNp
emU7ICsraSkKICAgICAgICAgYWZ0ZXJXaWR0aCArPSBhZHZhbmNlc1tpXS53aWR0aCgpOwogCi0g
ICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1ZmZlclNpemU7CiAgICAgcmV0dXJuIGFmdGVyV2lk
dGggLSBiZWZvcmVXaWR0aDsKIH0KIApAQCAtMTY2LDExICsxNjIsMTIgQEAgc3RhdGljIGlubGlu
ZSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gZXhwYW5zaW9uTG9jYXRpb24oYm9vbCBpZGVvZ3JhcGgs
IGJvb2wgdHJlYXQKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZXhwYW5kTGVmdCwgZXhwYW5k
UmlnaHQpOwogfQogCi12b2lkIFdpZHRoSXRlcmF0b3I6OmNvbW1pdEN1cnJlbnRGb250UmFuZ2Uo
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgY29uc3Qg
Rm9udCYgZm9udCwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgY29uc3QgRm9udCYgcHJpbWFy
eUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9hdCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwg
Q2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJiBjaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UpCit2b2lk
IFdpZHRoSXRlcmF0b3I6OmNvbW1pdEN1cnJlbnRGb250UmFuZ2UoR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyLCB1bnNpZ25lZCBsYXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3Rl
ckluZGV4LCBjb25zdCBGb250JiBmb250LCBjb25zdCBGb250JiBwcmltYXJ5Rm9udCwgVUNoYXIz
MiBjaGFyYWN0ZXIsIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlLCBDaGFyYWN0ZXJzVHJl
YXRlZEFzU3BhY2UmIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSkKIHsKLSAgICBhdXRvIHRyYW5z
Zm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEds
eXBoQ291bnQsIHByZXZpb3VzQ2hhcmFjdGVyKTsKKyAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0g
c2hvdWxkQXBwbHlGb250VHJhbnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1
cnJlbnRDaGFyYWN0ZXJJbmRleCk7CiAgICAgaWYgKHRyYW5zZm9ybXNUeXBlICE9IFRyYW5zZm9y
bXNUeXBlOjpOb25lKQotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYXBwbHlGb250VHJhbnNm
b3JtcyhnbHlwaEJ1ZmZlciwgbV9ydW4ubHRyKCksIGxhc3RHbHlwaENvdW50LCBmb250LCBwcmV2
aW91c0NoYXJhY3RlciwgdHJhbnNmb3Jtc1R5cGUgPT0gVHJhbnNmb3Jtc1R5cGU6OkZvcmNlZCwg
Y2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFw
cGx5Rm9udFRyYW5zZm9ybXMoZ2x5cGhCdWZmZXIsIGxhc3RHbHlwaENvdW50LCBjdXJyZW50Q2hh
cmFjdGVySW5kZXgsIGZvbnQsIHRyYW5zZm9ybXNUeXBlID09IFRyYW5zZm9ybXNUeXBlOjpGb3Jj
ZWQsIGNoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSk7CisgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5k
ZXggPSBjdXJyZW50Q2hhcmFjdGVySW5kZXg7CiAKICAgICBpZiAod2lkdGhPZkN1cnJlbnRGb250
UmFuZ2UgJiYgbV9mYWxsYmFja0ZvbnRzICYmICZmb250ICE9ICZwcmltYXJ5Rm9udCkgewogICAg
ICAgICAvLyBGSVhNRTogVGhpcyBkb2VzIGEgbGl0dGxlIGV4dHJhIHdvcmsgdGhhdCBjb3VsZCBi
ZSBhdm9pZGVkIGlmCkBAIC0xODgsNyArMTg1LDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjpjb21t
aXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgbGEK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUZXh0SXRlcmF0b3I+CiBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJh
dG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVm
ZmVyJiBnbHlwaEJ1ZmZlcikKIHsKLSAgICAvLyBUaGUgY29yZSBsb2dpYyBoZXJlIG5lZWRzIHRv
IG1hdGNoIFNpbXBsZUxpbmVMYXlvdXQ6OndpZHRoRm9yU2ltcGxlVGV4dCgpCisgICAgLy8gVGhl
IGNvcmUgbG9naWMgaGVyZSBuZWVkcyB0byBtYXRjaCBGb250Q2FzY2FkZTo6d2lkdGhGb3JTaW1w
bGVUZXh0KCkKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFT
cGFjaW5nID0gKG1fZm9udC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250LndvcmRTcGFjaW5nKCkg
fHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIApAQCAtMjA0LDgg
KzIwMSw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0
SXRlcmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgY29uc3QgRm9udCogbGFzdEZv
bnREYXRhID0gJnByaW1hcnlGb250OwogICAgIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50ID0gZ2x5
cGhCdWZmZXIuc2l6ZSgpOwogCisgICAgYXV0byBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0
SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgVUNoYXIzMiBjaGFyYWN0ZXIgPSAwOwotICAg
IFVDaGFyMzIgcHJldmlvdXNDaGFyYWN0ZXIgPSAwOwogICAgIHVuc2lnbmVkIGNsdXN0ZXJMZW5n
dGggPSAwOwogICAgIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSBjaGFyYWN0ZXJzVHJlYXRlZEFz
U3BhY2U7CiAgICAgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250UmFuZ2UgPSAwOwpAQCAtMjE4LDE0
ICsyMTUsMTUgQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRl
eHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgLy8gZG9lc24ndCBz
dXBwb3J0IHRoZSBjb2RlIHBvaW50LiBXZSBzaG91bGQgaWdub3JlIHRoZW0gYXQgdGhpcyBwb2lu
dCB0byBlbnN1cmUgdGhleSBhcmUgbm90IGRpc3BsYXllZC4KICAgICAgICAgaWYgKCFjaGFyYWN0
ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAgICAgdGV4dEl0ZXJhdG9yLmFkdmFuY2Uo
YWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0
SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
fQogI2VuZGlmCi0gICAgICAgIGludCBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0
b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgIGNvbnN0IEdseXBoRGF0YSYgZ2x5cGhEYXRhID0g
bV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIHJ0bCk7CiAgICAgICAgIEds
eXBoIGdseXBoID0gZ2x5cGhEYXRhLmdseXBoOwogICAgICAgICBpZiAoIWdseXBoICYmICFjaGFy
YWN0ZXJNdXN0RHJhd1NvbWV0aGluZykgewogICAgICAgICAgICAgdGV4dEl0ZXJhdG9yLmFkdmFu
Y2UoYWR2YW5jZUxlbmd0aCk7CisgICAgICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0
ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQogICAgICAgICBjb25zdCBGb250KiBmb250ID0gZ2x5cGhEYXRhLmZvbnQgPyBnbHlwaERh
dGEuZm9udCA6ICZtX2ZvbnQucHJpbWFyeUZvbnQoKTsKQEAgLTI0Myw4ICsyNDEsNyBAQCBpbmxp
bmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0
SXRlcmF0b3IsIEdseXBoQnVmZgogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvbnQgIT0gbGFz
dEZvbnREYXRhKSB7Ci0gICAgICAgICAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBoQnVm
ZmVyLCBsYXN0R2x5cGhDb3VudCwgKmxhc3RGb250RGF0YSwgcHJldmlvdXNDaGFyYWN0ZXIsIHBy
aW1hcnlGb250LCBjaGFyYWN0ZXIsIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlLCBjaGFyYWN0ZXJz
VHJlYXRlZEFzU3BhY2UpOwotICAgICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySW5kZXggPSBj
dXJyZW50Q2hhcmFjdGVySW5kZXg7CisgICAgICAgICAgICBjb21taXRDdXJyZW50Rm9udFJhbmdl
KGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCAqbGFz
dEZvbnREYXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5n
ZSwgY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKICAgICAgICAgICAgIGxhc3RHbHlwaENvdW50
ID0gZ2x5cGhCdWZmZXIuc2l6ZSgpOwogICAgICAgICAgICAgbGFzdEZvbnREYXRhID0gZm9udDsK
ICAgICAgICAgICAgIHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlID0gd2lkdGg7CkBAIC0yODksNiAr
Mjg2LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJ
dGVyYXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdseXBoQnVmZmVyLmFkZChmb250LT56ZXJvV2lkdGhTcGFjZUdseXBoKCks
ICpmb250LCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5LCBjdXJyZW50Q2hhcmFjdGVySW5kZXgp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5hZGQoZm9udC0+c3BhY2VHbHlwaCgpLCAq
Zm9udCwgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSwgY3VycmVudENoYXJhY3RlckluZGV4KTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdseXBoQ291bnQgPSBnbHlwaEJ1
ZmZlci5zaXplKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudENo
YXJhY3RlckluZGV4ID0gY3VycmVudENoYXJhY3RlckluZGV4OwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1
ZmZlci5leHBhbmRMYXN0QWR2YW5jZShtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0zMTQsNyArMzEzLDcgQEAgaW5saW5lIHZv
aWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJh
dG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxz
ZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gdHJhbnNmb3Jtc1R5cGUgPSBzaG91bGRBcHBs
eUZvbnRUcmFuc2Zvcm1zKGdseXBoQnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgcHJldmlvdXNDaGFy
YWN0ZXIpOworICAgICAgICBhdXRvIHRyYW5zZm9ybXNUeXBlID0gc2hvdWxkQXBwbHlGb250VHJh
bnNmb3JtcyhnbHlwaEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsIGN1cnJlbnRDaGFyYWN0ZXJJbmRl
eCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1zVHlwZSAhPSBUcmFuc2Zvcm1zVHlwZTo6Tm9uZSAm
JiBGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIGNo
YXJhY3RlcnNUcmVhdGVkQXNTcGFjZS5jb25zdHJ1Y3RBbmRBcHBlbmQoCiAgICAgICAgICAgICAg
ICAgY3VycmVudENoYXJhY3RlckluZGV4LApAQCAtMzMyLDIzICszMzEsMjIgQEAgaW5saW5lIHZv
aWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJh
dG9yLCBHbHlwaEJ1ZmYKICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzICYmICFGb250Q2Fz
Y2FkZTo6Y2FuUmVjZWl2ZVRleHRFbXBoYXNpcyhjaGFyYWN0ZXIpKQogICAgICAgICAgICAgZ2x5
cGggPSAwOwogCisgICAgICAgIGdseXBoQnVmZmVyLmFkZChnbHlwaCwgKmZvbnQsIHdpZHRoLCBj
dXJyZW50Q2hhcmFjdGVySW5kZXgpOworCiAgICAgICAgIC8vIEFkdmFuY2UgcGFzdCB0aGUgY2hh
cmFjdGVyIHdlIGp1c3QgZGVhbHQgd2l0aC4KICAgICAgICAgdGV4dEl0ZXJhdG9yLmFkdmFuY2Uo
YWR2YW5jZUxlbmd0aCk7CisgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVy
YXRvci5jdXJyZW50SW5kZXgoKTsKIAogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGg7
CiAKLSAgICAgICAgZ2x5cGhCdWZmZXIuYWRkKGdseXBoLCAqZm9udCwgd2lkdGgsIGN1cnJlbnRD
aGFyYWN0ZXJJbmRleCk7Ci0KICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7
CiAgICAgICAgICAgICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptYXgobV9tYXhHbHlw
aEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CiAgICAgICAgICAgICBtX21pbkdseXBoQm91
bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLnkoKSk7
CiAgICAgICAgICAgICBtX2xhc3RHbHlwaE92ZXJmbG93ID0gc3RkOjptYXg8ZmxvYXQ+KDAsIGJv
dW5kcy5tYXhYKCkgLSB3aWR0aCk7CiAgICAgICAgIH0KLSAgICAgICAgcHJldmlvdXNDaGFyYWN0
ZXIgPSBjaGFyYWN0ZXI7CiAgICAgfQogCi0gICAgY29tbWl0Q3VycmVudEZvbnRSYW5nZShnbHlw
aEJ1ZmZlciwgbGFzdEdseXBoQ291bnQsICpsYXN0Rm9udERhdGEsIHByZXZpb3VzQ2hhcmFjdGVy
LCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hhcmFj
dGVyc1RyZWF0ZWRBc1NwYWNlKTsKLSAgICBtX2N1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJ
dGVyYXRvci5jdXJyZW50SW5kZXgoKTsKKyAgICBjb21taXRDdXJyZW50Rm9udFJhbmdlKGdseXBo
QnVmZmVyLCBsYXN0R2x5cGhDb3VudCwgY3VycmVudENoYXJhY3RlckluZGV4LCAqbGFzdEZvbnRE
YXRhLCBwcmltYXJ5Rm9udCwgY2hhcmFjdGVyLCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSwgY2hh
cmFjdGVyc1RyZWF0ZWRBc1NwYWNlKTsKIAogICAgIGlmIChsZWZ0b3Zlckp1c3RpZmljYXRpb25X
aWR0aCkgewogICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgKaW5kZXggMTc5OGIxYmJjYzhm
YWE4NTY0NWY1MDkwNjhiOGE0MDE1NmQ4YTA1OS4uZjQ1ZDZkMmFkMGQ1YzczMTgyOGRlMTc4YzEw
MDA3ODBhYzdhNmNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvV2lkdGhJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1dpZHRoSXRlcmF0b3IuaApAQCAtNjAsOSArNjAsOSBAQCBwcml2YXRlOgogICAgIGlubGluZSB2
b2lkIGFkdmFuY2VJbnRlcm5hbChUZXh0SXRlcmF0b3ImLCBHbHlwaEJ1ZmZlciYpOwogCiAgICAg
ZW51bSBjbGFzcyBUcmFuc2Zvcm1zVHlwZSB7IE5vbmUsIEZvcmNlZCwgTm90Rm9yY2VkIH07Ci0g
ICAgVHJhbnNmb3Jtc1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1
ZmZlciYsIHVuc2lnbmVkIGxhc3RHbHlwaENvdW50LCBVQ2hhcjMyIHByZXZpb3VzQ2hhcmFjdGVy
KSBjb25zdDsKLSAgICBmbG9hdCBhcHBseUZvbnRUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiwgYm9v
bCBsdHIsIHVuc2lnbmVkJiBsYXN0R2x5cGhDb3VudCwgY29uc3QgRm9udCYsIFVDaGFyMzIgcHJl
dmlvdXNDaGFyYWN0ZXIsIGJvb2wgZm9yY2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwot
ICAgIHZvaWQgY29tbWl0Q3VycmVudEZvbnRSYW5nZShHbHlwaEJ1ZmZlciYsIHVuc2lnbmVkIGxh
c3RHbHlwaENvdW50LCBjb25zdCBGb250JiwgVUNoYXIzMiBwcmV2aW91c0NoYXJhY3RlciwgY29u
c3QgRm9udCYgcHJpbWFyeUZvbnQsIFVDaGFyMzIgY2hhcmFjdGVyLCBmbG9hdCB3aWR0aE9mQ3Vy
cmVudEZvbnRSYW5nZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CisgICAgVHJhbnNmb3Jt
c1R5cGUgc2hvdWxkQXBwbHlGb250VHJhbnNmb3Jtcyhjb25zdCBHbHlwaEJ1ZmZlciYsIHVuc2ln
bmVkIGxhc3RHbHlwaENvdW50LCB1bnNpZ25lZCBjdXJyZW50Q2hhcmFjdGVySW5kZXgpIGNvbnN0
OworICAgIGZsb2F0IGFwcGx5Rm9udFRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCBs
YXN0R2x5cGhDb3VudCwgdW5zaWduZWQgY3VycmVudENoYXJhY3RlckluZGV4LCBjb25zdCBGb250
JiwgYm9vbCBmb3JjZSwgQ2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlJik7CisgICAgdm9pZCBjb21t
aXRDdXJyZW50Rm9udFJhbmdlKEdseXBoQnVmZmVyJiwgdW5zaWduZWQgbGFzdEdseXBoQ291bnQs
IHVuc2lnbmVkIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCwgY29uc3QgRm9udCYsIGNvbnN0IEZvbnQm
IHByaW1hcnlGb250LCBVQ2hhcjMyIGNoYXJhY3RlciwgZmxvYXQgd2lkdGhPZkN1cnJlbnRGb250
UmFuZ2UsIENoYXJhY3RlcnNUcmVhdGVkQXNTcGFjZSYpOwogCiAgICAgY29uc3QgRm9udENhc2Nh
ZGUmIG1fZm9udDsKICAgICBjb25zdCBUZXh0UnVuJiBtX3J1bjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCA2NWI1ZTE2
NDBhZGI3Mjg3OGUzM2U4ZDg5ZGY4ZjRmOTVmOWYxMjhkLi45M2ZiMDAwNGUyZDA0YWE3NTkzM2Ex
YmQxY2I3YmM4YjgxN2Y1Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NDQsMjggKzU0NCw3OCBAQCBSZWZQdHI8
Rm9udD4gRm9udDo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGZsb2F0IHNjYWxlRgogICAgIHJldHVybiBjcmVhdGVEZXJpdmF0aXZlRm9udChzY2FsZWRG
b250LmdldCgpLCBzaXplLCBtX3BsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpLCBmb250VHJhaXRz
LCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRp
Y09ibGlxdWUoKSk7CiB9CiAKLXZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVy
JiBnbHlwaEJ1ZmZlciwgdW5zaWduZWQgYmVnaW5uaW5nSW5kZXgsIGJvb2wgZW5hYmxlS2Vybmlu
ZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSkgY29uc3QK
K3ZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgdW5z
aWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5nSW5kZXgs
IGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0b21TdHJp
bmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24p
IGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1ZmZlciBpbml0aWFsIGFk
dmFuY2UuCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7Ci0gICAgQ1RGb250VHJh
bnNmb3JtT3B0aW9ucyBvcHRpb25zID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3Jt
QXBwbHlQb3NpdGlvbmluZyA6IDApIHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKLSNp
ZiBVU0UoQ1RGT05UVFJBTlNGT1JNR0xZUEhTV0lUSExBTkdVQUdFKQotICAgIGF1dG8gaGFuZGxl
ciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIsIENHU2l6ZSoq
IG5ld0FkdmFuY2VzUG9pbnRlcikgeworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBHbHlwaEJ1
ZmZlciBpbml0aWFsIGFkdmFuY2UuCisjaWYgVVNFKENURk9OVFNIQVBFR0xZUEhTKQorICAgIGF1
dG8gaGFuZGxlciA9IF4oQ0ZSYW5nZSByYW5nZSwgQ0dHbHlwaCoqIG5ld0dseXBoc1BvaW50ZXIs
IENHU2l6ZSoqIG5ld0FkdmFuY2VzUG9pbnRlciwgQ0dQb2ludCoqIG5ld09mZnNldHNQb2ludGVy
LCBDRkluZGV4KiogbmV3SW5kaWNlc1BvaW50ZXIpIHsKICAgICAgICAgcmFuZ2UubG9jYXRpb24g
PSBzdGQ6Om1pbihzdGQ6Om1heChyYW5nZS5sb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q0ZJbmRleD4o
MCkpLCBzdGF0aWNfY2FzdDxDRkluZGV4PihnbHlwaEJ1ZmZlci5zaXplKCkpKTsKICAgICAgICAg
aWYgKHJhbmdlLmxlbmd0aCA8IDApIHsKICAgICAgICAgICAgIHJhbmdlLmxlbmd0aCA9IHN0ZDo6
bWluKHJhbmdlLmxvY2F0aW9uLCAtcmFuZ2UubGVuZ3RoKTsKICAgICAgICAgICAgIHJhbmdlLmxv
Y2F0aW9uID0gcmFuZ2UubG9jYXRpb24gLSByYW5nZS5sZW5ndGg7Ci0gICAgICAgICAgICBnbHlw
aEJ1ZmZlci5yZW1vdmUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlvbiwgcmFuZ2UubGVu
Z3RoKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLnJlbW92ZShiZWdpbm5pbmdHbHlwaEluZGV4
ICsgcmFuZ2UubG9jYXRpb24sIHJhbmdlLmxlbmd0aCk7CiAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgZ2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nSW5kZXggKyByYW5nZS5sb2NhdGlv
biwgcmFuZ2UubGVuZ3RoLCB0aGlzKTsKLSAgICAgICAgKm5ld0dseXBoc1BvaW50ZXIgPSBnbHlw
aEJ1ZmZlci5nbHlwaHMoYmVnaW5uaW5nSW5kZXgpOwotICAgICAgICAqbmV3QWR2YW5jZXNQb2lu
dGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nSW5kZXgpOworICAgICAgICAgICAg
Z2x5cGhCdWZmZXIubWFrZUhvbGUoYmVnaW5uaW5nR2x5cGhJbmRleCArIHJhbmdlLmxvY2F0aW9u
LCByYW5nZS5sZW5ndGgsIHRoaXMpOworCisgICAgICAgICpuZXdHbHlwaHNQb2ludGVyID0gZ2x5
cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0dseXBoSW5kZXgpOworICAgICAgICAqbmV3QWR2YW5j
ZXNQb2ludGVyID0gZ2x5cGhCdWZmZXIuYWR2YW5jZXMoYmVnaW5uaW5nR2x5cGhJbmRleCk7Cisg
ICAgICAgICpuZXdPZmZzZXRzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5n
R2x5cGhJbmRleCk7CisgICAgICAgICpuZXdJbmRpY2VzUG9pbnRlciA9IGdseXBoQnVmZmVyLm9m
ZnNldHNJblN0cmluZyhiZWdpbm5pbmdHbHlwaEluZGV4KTsKICAgICB9OwotICAgIENURm9udFRy
YW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZShtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgZ2x5cGhC
dWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihn
bHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkpLCBnbHlwaEJ1ZmZlci5zaXplKCkg
LSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucywgTG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdl
SWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxlKS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdl
dCgpLCBoYW5kbGVyKTsKKworICAgIGF1dG8gc3Vic3RyaW5nID0gdGV4dC5zdWJzdHJpbmcoYmVn
aW5uaW5nU3RyaW5nSW5kZXgpOworICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gc3Vi
c3RyaW5nLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAgIGF1dG8gbG9jYWxlU3RyaW5nID0g
TG9jYWxlQ29jb2E6OmNhbm9uaWNhbExhbmd1YWdlSWRlbnRpZmllckZyb21TdHJpbmcobG9jYWxl
KS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOworICAgIENURm9udFNoYXBlT3B0aW9ucyBvcHRp
b25zID0ga0NURm9udFNoYXBlV2l0aENsdXN0ZXJDb21wb3NpdGlvbgorICAgICAgICB8IChlbmFi
bGVLZXJuaW5nID8ga0NURm9udFNoYXBlV2l0aEtlcm5pbmcgOiAwKQorICAgICAgICB8ICh0ZXh0
RGlyZWN0aW9uID09IFRleHREaXJlY3Rpb246OlJUTCA/IGtDVEZvbnRTaGFwZVJpZ2h0VG9MZWZ0
IDogMCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgp
IC0gYmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRz
SW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gLT0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7
CisKKyAgICBDVEZvbnRTaGFwZUdseXBocygKKyAgICAgICAgbV9wbGF0Zm9ybURhdGEuY3RGb250
KCksCisgICAgICAgIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdHbHlwaEluZGV4KSwKKyAg
ICAgICAgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdp
bm5pbmdHbHlwaEluZGV4KSksCisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Q0dQb2ludCo+KGds
eXBoQnVmZmVyLm9yaWdpbnMoYmVnaW5uaW5nR2x5cGhJbmRleCkpLAorICAgICAgICBnbHlwaEJ1
ZmZlci5vZmZzZXRzSW5TdHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleCksCisgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHVwY29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSks
CisgICAgICAgIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0dseXBoSW5kZXgsCisgICAg
ICAgIG9wdGlvbnMsCisgICAgICAgIGxvY2FsZVN0cmluZy5nZXQoKSwKKyAgICAgICAgaGFuZGxl
cik7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC0g
YmVnaW5uaW5nR2x5cGhJbmRleDsgKytpKQorICAgICAgICBnbHlwaEJ1ZmZlci5vZmZzZXRzSW5T
dHJpbmcoYmVnaW5uaW5nR2x5cGhJbmRleClbaV0gKz0gYmVnaW5uaW5nU3RyaW5nSW5kZXg7CisK
ICNlbHNlCisKKyAgICBVTlVTRURfUEFSQU0oYmVnaW5uaW5nU3RyaW5nSW5kZXgpOwogICAgIFVO
VVNFRF9QQVJBTShsb2NhbGUpOwotICAgIENURm9udFRyYW5zZm9ybUdseXBocyhtX3BsYXRmb3Jt
RGF0YS5jdEZvbnQoKSwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGJlZ2lubmluZ0luZGV4KSwgcmVpbnRl
cnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNlcyhiZWdpbm5pbmdJbmRleCkp
LCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdJbmRleCwgb3B0aW9ucyk7CisgICAgVU5V
U0VEX1BBUkFNKHRleHQpOworCisgICAgLy8gQ1RGb250VHJhbnNmb3JtR2x5cGhzKCkgb3BlcmF0
ZXMgaW4gdmlzdWFsIG9yZGVyLCBidXQgV2lkdGhJdGVyYXRvciBpdGVyYXRlcyBpbiBsb2dpY2Fs
IG9yZGVyLgorICAgIC8vIFRlbXBvcmFyaWx5IHB1dCB1cyBpbiB2aXN1YWwgb3JkZXIganVzdCBm
b3IgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIGJhY2sgaW50byBsb2dpY2FsIG9yZGVyIHdoZW4KKyAg
ICAvLyB0aGUgY2FsbCBpcyBkb25lLgorICAgIC8vIFdlIGRvbid0IGhhdmUgYSBnbG9iYWwgdmll
dyBvZiB0aGUgZW50aXJlIEdseXBoQnVmZmVyOyB3ZSdyZSBqdXN0IG9wZXJhdGluZyBvbiBhIHNp
bmdsZSBjaHVuayBvZiBpdC4KKyAgICAvLyBXaWR0aEl0ZXJhdG9yIGVuY291bnRlcnMgdGhlIGNo
dW5rcyBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYWludGFpbiB0aGF0IGlu
dmFyaWFudC4KKyAgICAvLyBFdmVudHVhbGx5LCBGb250Q2FzY2FkZTo6bGF5b3V0U2ltcGxlVGV4
dCgpIHdpbGwgcmV2ZXJzZSB0aGUgd2hvbGUgYnVmZmVyIHRvIHB1dCB0aGUgZW50aXJlIHRoaW5n
CisgICAgLy8gaW4gdmlzdWFsIG9yZGVyLCBidXQgdGhhdCdzIG9rYXkgYmVjYXVzZSBpdCBoYXMg
YSB2aWV3IG9mIHRoZSBlbnRpcmUgR2x5cGhCdWZmZXIuCisgICAgLy8gT24gdGhlIG90aGVyIGhh
bmQsIENURm9udFNoYXBlR2x5cGhzKCkgYWNjZXB0cyB0aGUgYnVmZmVyIGluIGxvZ2ljYWwgb3Jk
ZXIgYnV0IHJldHVybnMgaXQgaW4gcGh5c2ljYWwKKyAgICAvLyBvcmRlciwgd2hpY2ggbWVhbnMg
dGhlIHNlY29uZCByZXZlcnNlKCkgaW4gdGhpcyBmdW5jdGlvbiBzdGlsbCBuZWVkcyB0byBleGVj
dXRlIHdoZW4KKyAgICAvLyBDVEZvbnRTaGFwZUdseXBocygpIGlzIGJlaW5nIHVzZWQuCisgICAg
aWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMKQorICAgICAgICBnbHlwaEJ1
ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBoQnVmZmVyLnNpemUoKSAtIGJl
Z2lubmluZ0dseXBoSW5kZXgpOworCisgICAgQ1RGb250VHJhbnNmb3JtT3B0aW9ucyBvcHRpb25z
ID0gKGVuYWJsZUtlcm5pbmcgPyBrQ1RGb250VHJhbnNmb3JtQXBwbHlQb3NpdGlvbmluZyA6IDAp
IHwga0NURm9udFRyYW5zZm9ybUFwcGx5U2hhcGluZzsKKyAgICBDVEZvbnRUcmFuc2Zvcm1HbHlw
aHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGdseXBoQnVmZmVyLmdseXBocyhiZWdpbm5pbmdH
bHlwaEluZGV4KSwgcmVpbnRlcnByZXRfY2FzdDxDR1NpemUqPihnbHlwaEJ1ZmZlci5hZHZhbmNl
cyhiZWdpbm5pbmdHbHlwaEluZGV4KSksIGdseXBoQnVmZmVyLnNpemUoKSAtIGJlZ2lubmluZ0ds
eXBoSW5kZXgsIG9wdGlvbnMpOwogI2VuZGlmCisKKyAgICAvLyBTZWUgdGhlIGNvbW1lbnQgYWJv
dmUgaW4gdGhpcyBmdW5jdGlvbiB3aGVyZSB0aGUgb3RoZXIgY2FsbCB0byByZXZlcnNlKCkgaXMu
CisgICAgaWYgKHRleHREaXJlY3Rpb24gPT0gVGV4dERpcmVjdGlvbjo6UlRMKQorICAgICAgICBn
bHlwaEJ1ZmZlci5yZXZlcnNlKGJlZ2lubmluZ0dseXBoSW5kZXgsIGdseXBoQnVmZmVyLnNpemUo
KSAtIGJlZ2lubmluZ0dseXBoSW5kZXgpOwogfQogCiBzdGF0aWMgaW50IGV4dHJhY3ROdW1iZXIo
Q0ZOdW1iZXJSZWYgbnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCmluZGV4IDMy
NTc5ZGEwNjE3YTkwNDQxNTRjNTVmYzRmODEwY2FiZDI0MTdkYTQuLmZmNmZjOGQ4MzI5ZDQ0ZmZh
OTEyZGI3YTA2ZTAzZDk5NDFiNjQ2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAK
QEAgLTQxLDcgKzQxLDcgQEAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gRm9udDo6Z2V0Q0ZT
dHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE8KICAgICB2YWx1ZXNbMF0g
PSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBzaXplX3QgY291bnQgPSAxOwogCi0jaWYg
VVNFKENURk9OVFRSQU5TRk9STUdMWVBIU1dJVEhMQU5HVUFHRSkKKyNpZiBVU0UoQ1RGT05UU0hB
UEVHTFlQSFMpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsb2NhbGVTdHJpbmc7CiAgICAg
aWYgKCFsb2NhbGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIGxvY2FsZVN0cmluZyA9IGxvY2FsZS5z
dHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3YjhkYTYxMDZmMjllMDU2YTRkMWJk
OGVjNDZkNDRkMWIzY2ZmOGEuLjNlYTlkNWU2NDczY2RjMTIxMmY0ZWY1NjRhNDJhZjVlNDQ5MWY5
MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0wOC0xMCAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENU
Rm9udFRyYW5zZm9ybUdseXBoc1dpdGhMYW5ndWFnZSgpIHRvIENURm9udFNoYXBlR2x5cGhzKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTA1OQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogZmFzdC9lbmNv
ZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1q
YXBhbmVzZS1jaGFycy5odG1sLgorICAgICAgICAqIGZhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2Vk
LXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sOiBVcGRhdGUgdG8gYmUgYSByZWZ0ZXN0LgorICAg
ICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5kLW1hcmtzLTEt
ZXhwZWN0ZWQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtZXhwZWN0ZWQuaHRt
bC4KKyAgICAgICAgTWFrZSB0aGUgdGVzdCBtb3JlIHJvYnVzdC4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0xLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9r
YW5hLXZvaWNlZC1zb3VuZC1tYXJrcy5odG1sLgorICAgICAgICBNYWtlIHRoZSB0ZXN0IG1vcmUg
cm9idXN0LgorICAgICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNv
dW5kLW1hcmtzLTItZXhwZWN0ZWQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvYmxpbmsvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3Mt
ZXhwZWN0ZWQuaHRtbC4KKyAgICAgICAgTWFrZSB0aGUgdGVzdCBtb3JlIHJvYnVzdC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0yLmh0
bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9mYXN0L3RleHQvaW50
ZXJuYXRpb25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy1leHBlY3RlZC5odG1sLgorICAgICAg
ICBNYWtlIHRoZSB0ZXN0IG1vcmUgcm9idXN0LgorICAgICAgICAqIGZhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90
ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbDogVXBkYXRlIHRvIGJlIG1v
cmUgcm9idXN0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFs
aXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5l
c2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9m
YXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL1czQy1JMThO
L3RzcGFuLWRpcmVjdGlvbi1ydGwtZXhwZWN0ZWQudHh0OiBBZGRlZCBCaWcgU3VyIC1leHBlY3Rl
ZCByZXN1bHQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRz
cGFucy1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nOiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNl
ZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2Ut
Y2hhcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJv
L2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVu
b3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisK
IDIwMjAtMDgtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTaGFwaW5nIGNhbiBiZSBwZXJmb3JtZWQgb24gZ2x5cGhJRHMgZnJvbSB0aGUgd3Jv
bmcgZm9udApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlz
ZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZmYzMDBmN2JkNzRhM2NmZmM5M2UxM2IzMDk4MDJlZThkYWZlYzEzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0
dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0i
ZW4iPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFwYW5l
c2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJlbmRlcmVkIHRoZSBzYW1l
IGFzIHRoZSBwcmVjb21wb3NlZCB2ZXJzaW9uLgorPGgyIHN0eWxlPSJmb250LWZhbWlseTogJ0hp
cmFnaW5vIE1pbmNobyBQcm9OJzsiPuODkOODiuODiuOBqOODkeODiuODnjwvaDI+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZGVub3Jt
YWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNv
ZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKaW5kZXggOTM3OTFl
ZWViZTk5NGEzYzM4YWY4NTZhMDYyMmRmNDZlMmIyODljMy4uZjVkYTExNTUxYjRhZWQ3M2VkMTkx
MTk5MmVmZTMyOWY5MmUyOTZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGlu
Zy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLmh0bWwK
QEAgLTQsMTIgKzQsOCBAQAogPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CiA8L2hlYWQ+CiA8Ym9keT4KLVRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9pY2VkIGph
cGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJlZCB0aGUg
c2FtZSBhcyB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVz
dCwgYW5kIHBhc3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBh
cmUgaWRlbnRpY2FsLgotPGgyPuODj+OCmeODiuODiuOBqOODj+OCmuODiuODnjwvaDI+Ci08cD5U
aGUgYWJvdmUgaXMgZGVjb21wb3NlZDwvcD4KLQotPGgyPuODkOODiuODiuOBqOODkeODiuODnjwv
aDI+Ci08cD5UaGUgYWJvdmUgaXMgcHJlY29tcG9zZWQ8L3A+CitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJh
Z2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIHNhbWUgYXMgdGhl
IHByZWNvbXBvc2VkIHZlcnNpb24uCis8aDIgc3R5bGU9ImZvbnQtZmFtaWx5OiAnSGlyYWdpbm8g
TWluY2hvIFByb04nOyI+44OP44KZ44OK44OK44Go44OP44Ka44OK44OePC9oMj4KIAogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtMS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtMS1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAxMzRmYTkxMDFmNDNjMDFlN2IzYWU1ODVjODFhYmIyMDVmNjdi
ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25h
bC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0xLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c3R5bGU+CisudGVz
dCB7CisgIGJvcmRlcjpzb2xpZCAxcHg7CisgIGRpc3BsYXk6aW5saW5lLWJsb2NrOworICBmb250
LWZhbWlseToiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvIiwiTVMgR290aGljIjsKKyAgZm9udC1z
aXplOjI1cHg7Cit9Cis8L3N0eWxlPgorPGRpdj4KKzxwPlRlc3QgcGFzc2VzIGlmIHR3byBibG9j
a3MgYXJlIGlkZW50aWNhbC4KKzxkaXYgY2xhc3M9dGVzdD4KKzxkaXY+44Gw44GzPC9kaXY+Cis8
ZGl2PuOBseOBtDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPXRlc3Q+Cis8ZGl2PuOBsOOBszwv
ZGl2PgorPGRpdj7jgbHjgbQ8L2Rpdj4KKzwvZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0x
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9rYW5hLXZvaWNlZC1z
b3VuZC1tYXJrcy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFhNjYzODkyNDNhMjBhNzg3MjkxODEzMmM0
MDdkNTI1ZDRkZGM1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5kLW1hcmtzLTEuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzdHlsZT4KKy50
ZXN0IHsKKyAgYm9yZGVyOnNvbGlkIDFweDsKKyAgZGlzcGxheTppbmxpbmUtYmxvY2s7CisgIGZv
bnQtZmFtaWx5OiJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm8iLCJNUyBHb3RoaWMiOworICBmb250
LXNpemU6MjVweDsKK30KKzwvc3R5bGU+Cis8ZGl2PgorPHA+VGVzdCBwYXNzZXMgaWYgdHdvIGJs
b2NrcyBhcmUgaWRlbnRpY2FsLgorPGRpdiBjbGFzcz10ZXN0PgorPGRpdj7jga8mI3gzMDk5O+OB
siYjeDMwOTk7PC9kaXY+Cis8ZGl2PuOBryYjeDMwOUE744GyJiN4MzA5QTs8L2Rpdj4KKzwvZGl2
PgorPGRpdiBjbGFzcz10ZXN0PgorPGRpdj7jgbDjgbM8L2Rpdj4KKzxkaXY+44Gx44G0PC9kaXY+
Cis8L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtMi1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyZmU2ZWE4ZDVmYjY4YWNiZTJhNTUxYWRkNDIzZDJk
YTc2OTFmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCAr
MSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c3R5bGU+
CisudGVzdCB7CisgIGJvcmRlcjpzb2xpZCAxcHg7CisgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwor
ICBmb250LWZhbWlseToiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvIiwiTVMgR290aGljIjsKKyAg
Zm9udC1zaXplOjI1cHg7Cit9Cis8L3N0eWxlPgorPGRpdj4KKzxwPlRlc3QgcGFzc2VzIGlmIHR3
byBibG9ja3MgYXJlIGlkZW50aWNhbC4KKzxkaXYgY2xhc3M9dGVzdD4KKzxkaXY+44G244G544G8
PC9kaXY+Cis8ZGl2PuOBt+OBuuOBvTwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPXRlc3Q+Cis8
ZGl2PuOBtuOBueOBvDwvZGl2PgorPGRpdj7jgbfjgbrjgb08L2Rpdj4KKzwvZGl2PgorPC9kaXY+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9rYW5hLXZv
aWNlZC1zb3VuZC1tYXJrcy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9rYW5hLXZvaWNlZC1zb3VuZC1tYXJrcy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDcxOWJkZDYx
ZGM5ZTFhMWRkNmU5Y2Y5NjQxMjQ0NTZhNTU3MDZiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5kLW1hcmtzLTIu
aHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxzdHlsZT4KKy50ZXN0IHsKKyAgYm9yZGVyOnNvbGlkIDFweDsKKyAgZGlzcGxheTpp
bmxpbmUtYmxvY2s7CisgIGZvbnQtZmFtaWx5OiJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm8iLCJN
UyBHb3RoaWMiOworICBmb250LXNpemU6MjVweDsKK30KKzwvc3R5bGU+Cis8ZGl2PgorPHA+VGVz
dCBwYXNzZXMgaWYgdHdvIGJsb2NrcyBhcmUgaWRlbnRpY2FsLgorPGRpdiBjbGFzcz10ZXN0Pgor
PGRpdj7jgbUmI3gzMDk5O+OBuCYjeDMwOTk744G7JiN4MzA5OTs8L2Rpdj4KKzxkaXY+44G1JiN4
MzA5QTvjgbgmI3gzMDlBO+OBuyYjeDMwOUE7PC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9dGVz
dD4KKzxkaXY+44G244G544G8PC9kaXY+Cis8ZGl2PuOBt+OBuuOBvTwvZGl2PgorPC9kaXY+Cis8
L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4t
cHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc29m
dC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC1leHBlY3RlZC5odG1sCmluZGV4IDk4NDcxMjY3
ZWU3YTNjZTE2OWI4MGE2NjJhNmRlZTNhYjI2ZmUyODQuLjlmYjdlYmEwZmQ3NmMyYzBhYWRjMzFm
MjA0MmUwMjc0MjgwM2Y2MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0
LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGgtZXhwZWN0ZWQuaHRt
bApAQCAtMTEsNyArMTEsNyBAQAogPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4K
ICAgICA8dHI+CiAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxkaXY+ZXh0cmFvcmRpbmFyPHNw
YW4+LTwvc3Bhbj48YnI+aWx5PC9kaXY+CisgICAgICAgICAgICA8ZGl2PmV4dHJhb3JkaW5hLTxi
cj5yaWx5PC9kaXY+CiAgICAgICAgIDwvdGQ+CiAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEw
MCUiPjwvdGQ+CiAgICAgPC90cj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
b2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvc29mdC1oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sCmluZGV4IGRlOGIxY2FhNWMy
YWNiNTIwNjBkZDA3ODdhOTYyMmFmOWJmMjJkNmQuLmE2NTAzODViY2E5YzA1NjM3Nzc3ZjIyYTk4
ODVhZDc0MGM1N2UyNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zb2Z0LWh5
cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3NvZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbApAQCAtMTEsNyArMTEsNyBAQAog
PHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4KICAgICA8dHI+CiAgICAgICAgIDx0
ZD4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtaHlwaGVuczogbWFudWFsOyI+ZXh0
cmFvcmRpbmFyJnNoeTtpbHk8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQt
aHlwaGVuczogbWFudWFsOyI+ZXh0cmFvcmRpbmEmc2h5O3JpbHk8L2Rpdj4KICAgICAgICAgPC90
ZD4KICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PC90ZD4KICAgICA8L3RyPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL2JsaW5rL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5kLW1h
cmtzLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyYjhlNTk4
NmQ5YWU2Mzk0M2JmMzdmYjZkZjQ4NmVmNjdjMjU2Y2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwva2FuYS12b2ljZWQtc291bmQtbWFya3MtZXhwZWN0ZWQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hh
cnNldD0idXRmLTgiPgotPHN0eWxlPgotLnRlc3QgewotICBib3JkZXI6c29saWQgMXB4OwotICBk
aXNwbGF5OmlubGluZS1ibG9jazsKLSAgZm9udC1mYW1pbHk6IkhpcmFnaW5vIEtha3UgR290aGlj
IFBybyIsIk1TIEdvdGhpYyI7Ci0gIGZvbnQtc2l6ZToyNXB4OwotfQotPC9zdHlsZT4KLTxkaXY+
Ci08cD5UZXN0IHBhc3NlcyBpZiB0d28gYmxvY2tzIGFyZSBpZGVudGljYWwuCi08ZGl2IGNsYXNz
PXRlc3Q+Ci08ZGl2PuOBsOOBs+OBtuOBueOBvDwvZGl2PgotPGRpdj7jgbHjgbTjgbfjgbrjgb08
L2Rpdj4KLTwvZGl2PgotPGRpdiBjbGFzcz10ZXN0PgotPGRpdj7jgbDjgbPjgbbjgbnjgbw8L2Rp
dj4KLTxkaXY+44Gx44G044G344G644G9PC9kaXY+Ci08L2Rpdj4KLTwvZGl2PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2Fu
YS12b2ljZWQtc291bmQtbWFya3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL2thbmEtdm9pY2VkLXNvdW5kLW1hcmtzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzY2QxYzRjMWEwYTRiNmEwM2QwZWFiMDcxOWEwYTU0
Y2UyMGVjNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwva2FuYS12
b2ljZWQtc291bmQtbWFya3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHN0eWxlPgotLnRlc3Qgewot
ICBib3JkZXI6c29saWQgMXB4OwotICBkaXNwbGF5OmlubGluZS1ibG9jazsKLSAgZm9udC1mYW1p
bHk6IkhpcmFnaW5vIEtha3UgR290aGljIFBybyIsIk1TIEdvdGhpYyI7Ci0gIGZvbnQtc2l6ZToy
NXB4OwotfQotPC9zdHlsZT4KLTxkaXY+Ci08cD5UZXN0IHBhc3NlcyBpZiB0d28gYmxvY2tzIGFy
ZSBpZGVudGljYWwuCi08ZGl2IGNsYXNzPXRlc3Q+Ci08ZGl2PuOBryYjeDMwOTk744GyJiN4MzA5
OTvjgbUmI3gzMDk5O+OBuCYjeDMwOTk744G7JiN4MzA5OTs8L2Rpdj4KLTxkaXY+44GvJiN4MzA5
QTvjgbImI3gzMDlBO+OBtSYjeDMwOUE744G4JiN4MzA5QTvjgbsmI3gzMDlBOzwvZGl2PgotPC9k
aXY+Ci08ZGl2IGNsYXNzPXRlc3Q+Ci08ZGl2PuOBsOOBs+OBtuOBueOBvDwvZGl2PgotPGRpdj7j
gbHjgbTjgbfjgbrjgb08L2Rpdj4KLTwvZGl2PgotPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFu
ZXNlLWNoYXJzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzUyMWQzZGI3MmM1NzQxNmM3ZTEyOTQ0NTE1
MTZhZTlkYzkzNDJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDIxNzYxCnpjbWVJ
YWNSMUk1LSNATy1oRWg+dk01SDB2R2h+JCM4SlhFcXd5ZG5rdFdjNFhXVW5HMkUwSH4ta2Q/aD5X
TXlWIwp6V2MoaFZ1SXMka2VjaXZ+YCNyd0xlZ0FjUiZmXz5NPE1WbHMqWCNMd3Rtb1REQHZfdzMt
R19EKTVmU2FaQnotfWQKemkwRj9hTF99TFBoX35WXjJQcURvIzI9XlpCe2wyfk9wT2Y4P0hud0w0
RVQ3M18+MlZqeGVkNUB4VlpURmc/Tmt2CnpqMTBKcDFnPi1HcFhNP1l7QXwoYmZuVkM4RkRyRntY
cGB7WWk9dT07QkJDUWltb0EpQmImOHpxeT92SXZ5LSQzRAp6ZUN6ZHsrbz98ZnA/e0ZkYVIwZlI+
VElwfmlxXmVKSXNPTWZidk5uOWNhP1ZxZjQ3YFNPLXk4MEQ9QFgoZTxMR1gKenBJXmN9azJ5X3Bl
QE9uODFFLUJuOShuZShjRTxtPGB8VVktPDdiejZuN2Z1SChnbFNeP1ppZkZ0RXl+eGomSnBpCnpD
Qn5yOyV+bFI3NWwpMD9fRXFUKTY4dzNgcX5xRWEhb1Q7PnZKdCk+ZWNmfEF7YGtPYUBze3ZVcn43
KjszNGhrVgp6RWhTdXIwaC1lcWdueD07QH0razU3QzBXPD9Idn52bXpsfDF2Zz0zcitNYkR0aVNG
KWhPR2BeI1Uwc0dOYCppb2UKeiZCKHx8T19nViskUyl8RWV8RSpPQUB4amE+YSsycTJZPGdkSGE3
T3srdm1ebjtHe3VoIUtQTDxOcF8mbzIyWnlgCnpxdS1vPmtpWUpPcjRaaGJKR3lSZDh0Sz1KakUm
UHcwenlMNlJhTjxKJndYPjRYZDczbnQqYElURypNOWhjN3NCYwp6I0A3RFYmI0NQc2x4KHtCMztS
Yko0c05OYnNjQkVxQiZWYVJSYWZpWDt2ZEUxdX5vY2x6ZEpHS2hrRWhOd2VfWGAKent0U2M0I3lG
YHU5fFBreiZKYDw3QHZfPUVSe1kxX0tTPW5NOSQkRChTYVhDa1E8dGlheGlJfndoZD8xYGd3RURt
CnppPCQ8IypRVUMySUZCRGMmY2JxSWJ6d1psVzg/T0BiRVZBKzstYzxyUEV0fnBrJiUmIWlPaSY9
cSFxcWxWUFY/WQp6N0dGQ0djYT9hMyZoVS1pQmVhYEBnalU0cXQobjk0YXJ3YDhReXJPaHdqODlV
N1BSVVM8bl49ezVWPSpJeFR+a04KekQpaHRKK00+QyZ3YTJmaW9jMSlgZzReQFA5diZXYzVAQkkp
cUhRKTcreDVnKCRCeEEtbzd2N2p4UyMkJEU1YmxuCnpsWmg/VXhvPk4mVz4oIyZuISh5ZUApZVJZ
OVAjUU9iSVpZUmMxfW9uPjFRfX5XdGxBKTFXMTF5OU9TdnQhWXVLKgp6O3BPPXAla0l9RjJZKmc9
M2t3VjlXd3tNfXhjbGJLOCF4WUkpOHBaYSEoVnhZRUBrQGBFQD5TaG4/M21FKkZkc0wKeiYmaz5J
KGlQaFp6b2tvRXheemlhX0VCYzBVNDY4dSVnOyUoJWdwbUNNem9famVhQF8+UEYtVEEycSN8KTtJ
KHItCnpiTE5hSE9IZ1ZteVpAOyQmayg5fGdDQ1IpQHpEZU8yaSFVaE50UFFibztyQXotQDAzKm9f
QDhlcyVwWERySn5jMQp6IVNhNmhVeXNRU1AqSUozYCkwcXN4PTJGQihiM3NpN3RhNVA+fVplLUZB
cTw2TGAxbmhlKG4qIS1nZzEoS0FqU0cKekgkX0ZvaXgoXkc+UDFacTQyfWd6ZX5Be0k3I3dfZV5R
IzBFNjs8emR0VG5BR2VCYFZ3RU41XyFSOCNeSjU9T3NPCnoxQDdFS3tVTVo1UzBqZiNvMCFqQUF8
TlA4bDk9WDx6M0pKckxgJmAmISM5VmtnOS19Xl5ZaFA7bEtOdnwyP2AzMQp6P1IlKVNyU25ZdURG
RmNpYXE8NEA+TmxAbVU2PmJLWUdoXys3UEp9TUNhR2psYFEkTEtAZ0J4K0VsRGJsKD4qX3kKem1K
Km17anNgcnU1Wmxxd2spM19vY31JUHVrbG5ZPjBTTzgqOUlVS1ozXiVWfGYycW97Y2krQygyfE1L
bG43VjdQCnoqOU5BbGReZWYre3s1Yig9bGFeKG1sJCE2aThnakJzKnVGUUx8JjZHJngzPF5ZfT1O
byVIbmZEfE44YSl4SzBCRAp6RlpsMX5gRnJqPENSZytNXjl1JHFGUndqeGY/Uy1PPkd9RUxXYmR3
KFp0ZTl3c1N5MktDVnREN0VwRHB8Umk4Z0UKelNCaGBvV0JHVCFESjt9c18yXmFZVHVsPnAmVWNg
dHI1KlIqP3kpKzRRZHFjUFdxdmR7Z2xxazk8S0ErY00wdnNTCno5UDU1RCRMWXY/dik9YWI9dl8o
TDhrO3cxYmx4dz4+Ql9JUkVCRFUjYiN4PktvamcxYCkpOzVzWilzdCVrNnZXPwp6QmROSFB2LTY/
V1FAdiRjTnIhfGx0U1NVRXI1ZCNqOUtIU1ByPUA3cEF3VDBVTjV+Qk5aMHpHfiM5d05xOztoeloK
ekI2ZnJqcnx1Tzk9QEFoVFMmK05ORilTYSF4VEJ5VklDU0d3PCZnSDk+bDhjdGB1ZSFKeHdVcWxs
bmRvRHModm1YCnphb1YhS3hYNUYzVn03SkFqIy04eTxtQWJkRjMhJSU2Yj8oJXkxMDl8alpJQldk
M0t9MCFORTd3PmcoI0pQYFkkPAp6ZEtBUmg3WTBmX2dJTHVzTj1vV3Q5bn1RMFUlaCZqb3QtX3Vf
NUI7dWl7MUdTNkt9NzcrYFc1dWIjLTswJVM9JlMKemdnflp8dzk8MWNaSHhXRTlKK0BOQUNfO3wk
fSg7MkR7XjVGYWt7MmoocVgmWVViNWtVb2lzTiQ9U0BPJklxSi1uCnpvWTsmbEd7VylZYnByaSNY
WTl3NFIxJk91XldQaVNnJWBYMUl3WDd1RDw3K2RvcjZRblc1WDItKzE4ZHZRaSYmdwp6Tys+X1ha
VFNhLWB8e1VIMjlMPzxZNUdIbFIhMVZOVSV6QEs3amUzLXVkZilUSDlvJCl6VFd6S09PbUZoWDJH
b34KelRSU15oSWt7S2JDVm98ZFdxIUJjSW1vMkdkfDZzcUlnMFdXJi18dlNORURhdF87SWg7I0ow
QSFmTVpmUFlzPGRFCnorWUBjNl56YChiWW9wQHRuY2daNVU3STlNVVNBb0ZwYEBnb0RPIXFfYz0+
YG4wO193eEllfl8/K1ZDQkk/K0pzcgp6YF5NVkolYTw8P18qXmk1a3VfJWA3bkN9cU1MbHM5Mk5D
QmxjR1N5dHNuLXp+SCY3O2l1eFdwVnFSIyFVdGlVdXkKej0zQ1B9Tm1xTzlefnt9X1VSaGxpe2E5
fCkkfEphaWQ3cFZ3K3dHRUBVKy1CKFElSWcqViE5bTRfNFB9WHUoITlqCnorcG5MIVo/QWpxaXFp
Sz5zWSoyNnArSCZ3dTlvTll0TX1BQXVkN0FGZyo+bWQydFRwbmR2YTFXPWItMkJtRSZvbQp6QXxT
OSU5eDhqQS0xdVE+VEUrP0VvN0YhU2dSOHdZWDtXVWtJPSpVaTxIajJldyR9Xl5AJHJxMUJ5UWN4
RSt9dkAKekYqenh6I0x2JmFHfUdVe3g0XlJkdn5UUHk8cz9PQjV5eHBkTmhPd2A+ZWtsOThxTn5L
bChlK2lxfVEpMitTKlBGCnozckIzMnhWZiF3dHBEb2RGfD5IWmVzQUBDeldlJVdaTFFwQD1KYXxL
dVN8SilgR09+b1VrRyhXamdSR3NLPzJffgp6PjNDJlVSI3UtMjV9UzQ/PjxkeyNWdXlsKWZ7cTRe
KXJScGRsd3VrOVQhXmklbWhwYH1kaEEmMWl+YHA2K3xRcUMKekY7bylMPWd3YEJSSndjakY3OCNG
emxvOTJFXm1uPilvTXg9TT16UnIhLT9tVjteTn1Zb3t+eH1TZ35WIWdXSUl0CnoqTTN4Yj8ke2c0
a2JJSkdPSXdKfGppP1ZGSzFAZktMZUorTVd7e2tDUyhfIXVlWkVkMFVxdmFaQndENFMmNT5XIQp6
VlNhdm83dnRse2tNcXloYj9nXj94al8wfT07UyZZI3JNNkdMKnxjZEI7Rmt+cnNIXiRPY31FNCtE
LVFPanNBSn0Kem5MZzI4a3QtfWdRQmwxKXtxQ3wxOV4+JkxJUVRfQnFIZWx0WWBBQlBnU1BMZUxv
fkRSXkhINnoqbV9adCpPSlc3Cnp4c3Ruc3VYfnF+eCNaP0FydDw0UDRUZkFmV25+aTY8UWZYTTxC
Vyt6KHpzODV2WilUKzQ2WTlGKFFBSER7XmQocgp6VC1eRElZaUd+aWt6PE13eG9zO1VBel5ReUM0
RjIhYEtwZGlpWW0qYU1+YFoldEJEeTtwRlNOUUFGcmdPTTMrb08Kek50dkNLXlQ2QT9hbnMoJENY
Q2wpcFowd30lVz9tPXhGdnhuNzFBXl9EPl9pKyZsMDBYbSlIemx5bUlBPWpaS0VjCnolS19AciNM
SCZFQXw0eHNTb3QldCY3YSkoK305Vj9eS2BAdkthO0lxeUxSbmA0aEpVLU9IPTsmaFFgSnBySmck
JQp6M3x3NFhCcHl6R0F8QHFHcHA5cXQ8JGdVKSVzVyFtYzhaK1BHZSpvPjFudXFaWiElbUA8elpE
ejNGUnxXMjRGeXUKekVaSkN7RnNjYypOZzVqLUsxZjU4V1dzV18mPyV0aWwpPEVNV3htZHR2Sihf
VGlWUS13VUxrPjJ2K3JMPUtTZ0VRCnpMNlpGNyhhQFc2cXBoYTtJPG93P1p7T1o4O2stMVI4aWUo
YEBjdyokczckPGF6d3c3NjZga0Y3ez5DajtPPEtsdgp6d1YlOTlkdj15NEk/e1BJYzNlJkBSamJ1
SW4pfVZUVyFzMkctQHUtKVA0Q20zUjBjTUp0Q2d0UzglO354KkRwdGwKemJlNEUqYzY0Wm5pPGJa
cVdkdkU2bmpZfkk2Y1h4MDU5e2NkPzhyRkEjQnw/ZkAlM3ZhM0YxbEBBKTQrY0B+YE4zCnpBc284
VHE+bUZDVjc4dn4wZVd1ejNvPGU/YzZPUVpDckRqJURsVkgqQ01HOHpeQWJGQiN5MDcqO0d1PGM9
SH0rQgp6RiQ8TlczK0RfUFkxNy08KVVyZUtrSld+cilKfEJ8WnhOKkNGVml3JngqU1BPTyliNllq
fj8ydl5vTERTcTZiVTMKelVBMF90T34telltKCZsIUxqdTFIemtlO25tey1DamwlfVFnQmAkK3tL
SWBwVXI/MXtyczVQMyglQzxpeko1akoyCnpYbSNTdzdgPVV+KVItSD8pQCMlakRKUz5QU2U0PGli
TEgxMkpfOCFoKVkqM3pzQjd5d2MzRygyd2hPTX5hOG50Owp6eXtTTFFjOUJBSWA/aFY5ZU1RM2p7
MEBWa2Q7c1Y9aWB8M2BzPkl3QCQqPkcxVHdQdHw1fnJ1ODxjVXdRdkpUQmoKejRmJEV9cEZhSWdh
Jn5Fe0toR31WQCNESThNbH5GSSNkM05WaENgXyVKYT57ZHNTRUM2V1lRfmNgcVhocy1wYjAjCno+
KkBGSkh4dntVSlAqPUhvb0F5WW1wRjlqKDNzLVZibmh7KmdeQmloRk48O2llTUxuQCE/cj5PYT1y
VlhKYkJWcQp6SHhKQ183ZDEjU1JII3E4KTB6TDlVfEllRmFgS159cHsyPnJgQzh1azI5SUFBQHYk
MzhyZTk5Kz1BfklsPCRDR1UKei1LZn5sXzRBZTg/Yk1gYHVhcjNEdSMxT1Vfe3BgU1hBMC1QXyNS
fmFJbyYla0Z6X0BZTFlETmtRV1RGeU4xfn1rCnolQGRBKWNkYkg4RjVJa29KaGE8Yj52bWpVWGZF
SFVfSzE1S01hSXFFPlRsbkBkdmBmVE9yRl4wKX4kV0piflVjWAp6aUF5e1QzT2N4K098Z0lmKktn
bWwlLWNDVVRVKVIyZEVkWGtrNTJJQiROUEpBaWh0aEVVPkRzI1J4flRjO0QpbD4KemNZRX0zKy1t
djdCVj9iNFpDOTAjN2dhVXJIQ3tXNTEkMm5sKmVAPF9OTHxtWkpwU21Bc294Pn4+ZEghfmJANEtR
CnpASnteQVpLYUREam5MaVFvc3A1emc0O25WbHZeU0R2ZXxmSis9RWhhSiQ9TDlpej1VelU4XlAy
cjJaaFErTlgqTgp6K3d7TSNzST10bi16JXlzR0JCOztyJmpaOz0lK2ZuQ2x2ZSUqVD9gfXNWPGNK
KndMZCQwY2QlNmwkanx8U34zcncKeldfaFF5b3pGJkdHcnVPS1I4bT1pc1Y5emBhTiEqM0lPS1ZR
dU0/YDxZc3opbVo2UTU9UTZEWV8zN0I7OW5ZZUxuCnp2SW51UT1he1o5bTJBcSgka15Wej5HVkEq
cClFeUlNT2omYlZIND1TVDtKeHhnJHQrPWs3KSZCPEtte0tyYjskOQp6ZXR9bkAwfUJmWnh+YDVW
OzRJZ0ZFJEowR0pMdjF7SjJeUT9OX3dsIWhVbUY+YzZQM3liOHBWcWlgJmBTZSR1eHcKekg2NnA+
SF9KI2swVVBPc1peYEI0OHl+RHdsJDRhakJgUGoxWmZ0Qzw3aFVRQjY2eFQxI1ZuSjxVT305MklW
eUl1Cnp1O2xJQXI/SDdCbl8zemckNHtRKld2YnslVXp9Kj85Wl4oUUFEeDtLYigkUmprWVFxQytV
O0cmUy1kUXZGdGNYfAp6YHExbD9sb1QrNkN4P1leZVRmdkJBRmE+SCQ+fWR9PFhtY2UhVGYhKUd4
T0wqS2N9aHA/WktSU15tS0dge1h8WCsKelZAaioqYkV0LUJfTDtfWUA5XlZVVy03OT5INGhsdnJI
T3FXSnhXZWFDZlQhUjQ9SmYkITdXUXkqUj5idEpYPi1eCnpjcTxJKXUyK1p2aTtxdkZtcihCWiNf
OGF1TXZKLVNNP2BlcntiVDJ0PjRObENUcHYpaCVhPD5NaUdgRXIjPmFkQQp6NX5MT2AlV25nemF7
OGZQY1AjKGx4YU1KY2BwZi1BJC07X1NFNDs2KCtaPEN9c1Y5UDtLV0RwSTcpdGd8enVjRVYKek0r
fkdvbnojZzhtfTJZfjwpPHl1YDczcitYPXYybnY7cTI2QW1UN0xHZDZ4YmFAJUMwcjg8YX16eF5r
QHM1ODFSCnohJGsqUV9JS2VLPU04NUtHdVNoQ1AhVjk+STMqV0xjJE1jX24peFJtc3BUaVVZdWs8
dkooOXBXRExxaigoQW5icQp6IURqME9yKit2TD9oYnl0d3craHxsPUI3XylWLUpqWWxndWxsOUgw
SHlROy0yMlplOz55bm1uTS1fcHwzUXticWUKejtMeXR3dUJEfGwtSUk1fGY4Nlk7bilYRld1NTcp
MGlydGQ4Wnw1bHxlTnpzUUokdUw/cTI7LVo1anV2SClYcXZACnp6Yz9qcj9lMnojWWgyeylLb3R5
YjNyWT9TaSY0VWtlNEUpWj5gZExuNkMrNnBEbVY3LS1NaEhCU1RUfVA7WVIwbwp6X197b3B5fVox
OWc8NmFGIU5waEEwbE9TSnxJKCUrWlo/cX5LNkN0bCZzZTJqSSk2NmQ+V0YoTFEpK1k4ektscHYK
elBWKTJkc2o5Q0pzV1JqVjFCOXt5VVZUSyN1RnF6bllHXj1XYGdMeWlhTnBBcnttPDRWYT9HX3Eq
Nisja2k1Z3tUCnphVzVBcU5wMm59YjxARCs+OFhqeHdCUU5tNzkzdTdtZ1NjfEU5Iz97UHVlVDVz
TXI4RCkjdFg8RC19ZzdeN1dPbgp6OFR3Yzh1anZBO1JLaVpPRDMzMU82JjRhZ01OOHs0S08oO3Yw
N1VNNWA/ZWMpa1V0bWVvc3Z3QiFtN2h9bV9sa0cKelc1X1k3dW10KTROKUlfSjVFMzJUbSMkWSo8
ZyUyZWsjUjR6bVJ5TU8hTT8rOTBBRDlOX0VTPGExeStJRFhsUUFACnoqKSp2bWRMakZESD5He3Yj
fE5hY0B5WmVwS2Budmg3I3o7Yjl4bmpXczB1c0AzYilgJl4oRjhPcXFlclR8NnlTQAp6Ty0oYVBP
SHRTNVMtZWlwc1lgOTRyfjBifGxSe0dSbnhNckQlIzJeay04bkpjVFklayNFczk7T0d9QEdrekxO
ZF4KekomPlFIPEMwVnFOZXRIKCE1Z05neGdNTHZAJG8wdCpXRyhOaHM0d2k+QFNQYWtRWncmLXM/
QXtAMHhWO3lWfmZYCnpwaXApJkJ7bnR8TjBZOWRHcCUmOHNUWFN+VHtEd09QJXQte3cpKGVATGg4
U1RtelRGYV5LKHMyR3cmOXNkYXAraAp6OFdQUnFROCZgQTdNJjNoRFAmYjFZKEYyN3RvdXJxRCZG
ZS1WMzxnRSE0PU1CYEhTWDFafXJ9cnI3bnV5akhhTDIKek9YPkU5cm1FYG1qczYkZ3dYUihvJGg4
QHdtcEsxZEM0X3FiZyQ2d25od0BxPlcmQFJxaWhARjllVzdgJSglO2VFCno5IWdhcz8tc3g2UGhQ
K0YoPElPS3hmTz5LQDdoSHA+WU5xNSklRWU2NzVYbG5zaVY0QyVzPGBAaFBoVFJoZm4hdQp6UX41
MjY+UzwtPk9pKnN+T2RzUjhyPTI2QD4/ZUx5PG1TTHgwNkdiWXZiZjlOWjAycm15ZktBMzZjclVF
dlYtREwKemRHbC1lSUVGX1RqelN6KndmPU07d3wwfVhHMCNONSV3OWphJXdAXkpMNlRoTDJAJlRr
KWxEclk4cH1ZPlNealBZCnpPSFRTamIpRHZBJD90KGc8Q1NnSk04X1liezMzTjxkVEglPjstNiYr
WT81QEh5bDJwPVAlNktFJT5lKTJ4JH1XYQp6IXNYc1B5VVBDbG17P3w/M3I3JDU9bz1WeGNYZkB+
YW9MVTNmPlNqJDl6UmdrblE1WXtxZUlEfEdkNElGK1p0P1QKelNoMX5UKnQpTVU1NnQ0bGl4Ky09
ZXh1UFlQc29sXj9CPXskeFpHYEJ2UmA2d2ExZ0N3UHFxc3g5bDleQEQzR3NBCnplQUI/ZGZNJXhn
ZWhJKzJRJGFGK1l+NzBRMkw9VEVAYl81emAwPUFCX2hsdWUjdmVuSzUjaXc/cU19ZC1NNlBgeAp6
Qkc4T2RBTSVzVHpLNFd3T0A/d0M1SHNwcl5rSnQ3eDAxe0xhbE14SlB1YXV3aHghVCs1Nns/NlJO
WCZ6P3lJZS0Kek5scl4rQD96Nj9kc2c3Wl5aO3teT2RWZiFPJTEwYD9sbHZXZ2ZEc21FQntXbmtj
elJ0MnorVEkod0Q1QntfVUlMCnpZUjJAb1Q9KF5TVzJUO2pLIy03V3R7WWQ8NkI4VFdOSVYkcVc0
PDJ0Xk0tfHJNNWEkIVNzQVQ+NmAySWkyalUpRQp6ZkhXfjl4KFlSKURPdERTd05GRkRyajFpXjg9
MmBJWTJSOyQtUEFjUlNiU3E0RzhaKVpUKWdzcmlUaXRMUHJFTVAKelQ+SnEtenFhTm9BJHw3ajJr
O3gzKGNgK3gkd0N+UUpGbHZWYyQkUCtwNHFpK3Q3cW5Wej04eHYydiFRbT1zbFpWCnp0ITFKIysz
SVEybGZ6O2NyMk9lY0tASiVLQXg1QWVoX0I2aFBJRlN5eD1OWks8WFlKcSZWRDc4UzNfSWR5ayln
dwp6eT1ieE8hfE1MOHMzdjZ9S1QxNzViZFopZEF8az5DJTdueWNsTmgmPT5GSHZfcyVRTmtue0Z1
SlVRZlMlZTMwPF4KemJANXlePnJQVm8kO3J2SlotRU1jIUoqSGRITU8rPyk4XnMrRz5JcExLN1hF
Tio4Q2IwanBNQ2JKOWd9LUhzbmJpCnp1fExNa15nPDBoS31xU2xuVkZlXiFUQytTbXY3KEJGOD4k
O0dtM0hoc2l+dHdyel9gQzBObkwhej5+RGt7bnIkbAp6NiU/OV4lRjFURiVmUTxCb1ZqJDVieWh+
a3VVS0ExangrUUlrKFMtcjwpMXpRWnIhTVFiXj5EQkxWYitlXjRBQn0KeiNWYUczXjx1KE1WNHhZ
VUUtbU4hOW5qe247SElnM3orRiNKMD1jPHVBVVo8N0djNFJBWDQ+IX5HJkl6X0ojQkhPCnpLWmND
UV9TPEtgaEl7VFF3MkowODBncUZIP3gmfkUwUCRSUFVvakdgYHR8RXEhbUMkPlVgVG0rY31EfEdo
YmtWWQp6N3RaOzwlKTQ9Q2RScyY3cl5OQUItUjhhRF5MZHxFNmUqU1FQNFE+UUAyWD9rS316cTZF
MG1qP3lYQjdeM2poXn4KemlETXc+eiZVPVNtK1F4VjJ5V2YrRHsqdl5IWnN9eUR3OXFkKl5+NGA+
bkF6Yip3e3s9eyl5SE47T08tZndQfDYmCnpVZ0JYdkt8eUB7Rm9WYjFqfXtlJCN1R3Z1R0NFaUg2
e2F9dHNPUmFuQUxRdn54V3FZVFhFPnxGbF9ycyZkLUNJUQp6d05ZZGQtMj5CZC0tOXUoYjUpTnhp
djxsVHtHTEM1Sn5uM0IrWiRBPm9AS1FxdT5WRDtheDJ8aFNDXkpTeVRGcn4KelJFMiVue1M4JUx6
VDkkam9TQj9fPD8mPGBNQHUxamtjejZnZSE0clN6Tz9rTkl+QCY4U1pKdVVjd2QlVEFpJmhCCnps
cSlnZ19VK3IxbFQ/ezBubzRIaENAMU9ZPlh4anskXlB+QlM5TiMwYloxKkc0REJMa0kpMzZycXJa
eFpPMVZDXwp6cT5AaDgtYVVKQ2E7eSVvMyRuN3hHRTt5bSo0PEd+MCRXbFB4R1hSS0k1cE1zKX4o
YUpJbU5+OW47WXhEV2VNcVoKeiokVkpFYS1SJE09a0gxWWlaPUFJTG9aNDdoTE8+VTBPXyZzNVBa
SHY1MDVfdldHcERDNSFEMUR4VlkhViRiYyhCCnpUU3ojPyZSKkJ0OTJtPGlgYlheVFlPIyZ3cD52
KSkjKk5FQWNYdGFqRjxxUUVHSzlQN15+K3Y9bEhiNmdqd2FFXgp6Q0Mtbk5TPjlxXnI1OT17MVBn
IUB0ZGxgI2NXUzl4a18/OHpqeU80JGBsMi0yRXVMPE1CRVJUSFMtTH1TWTcofmoKenA2RmJ2dDRg
T09VUl8hayFWPHV4WSEpfW96MHUwRD08aC1NcDRzTk0oQ29YeGFxJHw4OHY5dG0rTWlOUUIpJVc+
Cno4WnZqQUB2ellKUj1xYSlkNThgSXZ5cTkoKG97fT1RPkM4c2M+TCRqKHkwcjNpZW8hPmhwejNZ
eUxHek4pNEZUYgp6Yyh5M1dgUUJVaTMpRXl9TSpeI3U2cnYtYUp8JStgc0NSJHlwUzZVQilad3dR
PCQ9O2FSeF9aekZ9e0xUbEFFaU0KenEpR2BmSHo7Vm9nb1RCTGpJOFc/bWhUc2g8P2ZJYGFlZVkr
cDlGRXBFcT9DQDUxTk9JM0pZNnk7KHlkYjZvMW4pCnolNWAqZk1yeTw2MGVZKjQ9TlFsNVpgaz9B
QUFiem4tZDBpeVh4bDhPa3dVZmhqaW9tRHspRSZaZGJCPTlvdGVWOQp6eEhVVypJUUNLPyg/SlJm
S1lHenN7UE5YbzMhMEVFM3YrWTZldHM9PjtUJV5CS08zRTtxb2NFemBlNjhkKjkjeFEKejlkU1Mj
LTw4PlRFcENVTlZtUzVhTnlaRHU0QGBBdG9AOFUyMVR3KnJkbFlAdXcyZEhvZmVET05nMnwlQ1A1
SkkwCnpYcCZtJjkySGRPSCshLXhneF9sQHgjRjQkNzNXbkUlZFZfOVomK35aREVBT3pNQEMyZThO
QGVXeUtKdTFkKVV3Twp6LUI5QkJJZWV8bHdeQStDPTFrYlkqTSltRzEqeiFOOFJNUWNNcC1iYFVS
QCtwcUxBRFM9NV5ERlJ+fm1DdSkzKnsKej5sYWFGLVFaYF5UKVgmcXN3bGBabXRIRGBWZ0p2R184
R3xnQVZ+Zz9BMX1fJjdkVDkpc2ktdFIrPCMxMlNzQ1U1CnpKTng1WTtvX0dzP34pQ28+bGhHVG5T
a2JAcTExSS17UT99d3h3NVR5YmhrPDw8VSozKnVvK2BiKT95SDkta0YtMwp6SV99Wkxray04T2Fz
MWBgPzYwU254a2ZiQSl1bzdTP0NvM25kcGBNKTwzQH5jaERhWWp1diQjWEBraW4mLXcoa2YKeiMp
RCF9KUduND83SlB6JjdtSHFXakdTYVZlJm9vdFBZP0hsZl8qcEg4KG5+VV5MVnFRd3ppaHooM1pI
PiZvKmZ7CnpucTAmRnh9YX5KPUhZb34tQ3FwJjFUblE0NX5LKHFDXnx7QnhKVGFyTG9JQ3FHZmpF
b2ZiO0gmJUx4eXZJdjlESgp6SUJHUyRKMTlNUnRCbEpndVZucl5BIU1faEtoI0hReVdqVT9BLSpI
JioxRF48V0JXOGhNMHtoblpyeXJvcll8WnkKentFV0B1Q3dBPkBLUlRnaiNqbUFeeHRCe1U8PjRB
SSFkQ0VGVVM4Jis2bSooPlZQKTk2RSEoPlBPT1g9QylReSolCnpWYV9mdGMwU0Q9OW51NkRXUFdL
JG9kSDEwPipAWGJKNjZzNnYwUzh4JEpeNm1sKzRVZTkxRSRUIVRNQnlmTSpwQQp6T00lSHRSYjcz
O0p2UkxXI0F6YHhjUXtKKkJKK0ZKTnBme3xDfmxlIStNS1FaPGFVUHBYSUVCZFZoUUM/Uj1jT0EK
emB2RDJEbTJaS0xrUDZgQT4xRjZ8VXc8c1RxclNLQkhWbEE+JTRHYHdXN2t2fSN4SW9fck0qZTJe
Y3AoITR3XjFVCnpgWFNGSzBEVnZvODNsIXp7KnB9KSl2b1VEei1QfVVyPjB0Uz0tK1lRUXNWSmRE
cVc7I2lASG8yTkZaKUhwXyNrNgp6bktFNkx0YlNrNylgYyZeR2J0SndgWklrK0ZmUCVXIW1VfUlk
QVEjWShGVUBIbWxRalUqU3IrSVImKT41NjIjTD8Kejt2b3omWD0hM05nOypWcWdtbSh6bk4+UTsz
bTJmSU8/QUQwbHVCZlBZblhLZFR6LTYwP191ZSFfbDhEQkQ9UkRCCnpVUzJuUyRQWFBsYjkzTVcm
PGVvUlZ5Uk54I2cqa3tJXmtQPjg+Njd9bFM0eXM4YE89PS13aXdUZkE0Zyg4WjUpTAp6QDUkK1Z2
VTUhdlZ7dkFuRT1OekZSI1R7U244eVp9cWtmdklvJTh6aj5xRTZ8OGEpWioySSh9KHcyXm1MWTU5
THsKekZGITNsS1IxVWZWZSV6JXJCeilvSnxWJXgjM1haM0xZITkkQVZDWlpFPU5yY1l0dD81aE93
bW91RkJ0Z2RjY0N3CnpZaSZNZTZHRXZnej50TmQ8IURfKmYrOTBQe0BNS1Rud318PWlYVUtWLTZa
VS0rKTBqOXlIRDFmcm1PWWRMTno9Rgp6SmJyPDdVWSpHb20wSjkwY3A8N2w8VCFUaG43NzFyN1o+
M1dJWHsqVT5YTTVDNWhjWjheUmBZUloranloQVVVRiUKenItTyFJaUdZYjwmIW5ZJkw4RkA7Q2BI
WVlteUBIfD9YQm5mcWExZWJjJEc2Y0tSX2JUWiliUDZieXJwcmM+amolCnpXMytfKXtRU3NCeChw
M0VTU2Y0c14oQ2BxQiM/ezRFeDlrWSQpOUVZXzsmJEN1ZilBYmdZQyh+aGNOY1FVQGxePAp6NzhQ
TnNjXz03Ny0/KCtrY2xXPDI1QFdRQzk/KiNLJmgrJXJWUFRpMzRFJDc3UlZmWX03QFV9KEokIWgq
JEYzZigKenY0M25MRz5Sd0crPUs3aXVXQT9EWENHKChHWWpCKWB7cXE5d19vJj9POFJwNSpfbm49
VCo4OGFUSmhzQnNsUHltCnpmISpAKz1URCRVQmF2fXtEQlZKKmpGSjdsY2VGZz9BfShJT3tBRlJo
OFFRKVdpYlFaUVd5UURndytwOFZvRU58Mgp6JVRiWSRWfE1gMz5BMD5EODh+bVEmdjs8THF0WnRe
ZV4yNSFadiNTVXMycVE4ZkFXcW82SUxRIUxObW0pcTtCKHkKeiM8ckFMQSQ+WXBxc1g1K0JNSFhq
XztPeCl5N2s0Mko0NitMdnRVUj9NQE41Z25nKGtENUNzSn1aUG5BISltMSUyCnozYCQtQmlxWTQx
bTZnZVdWS0xIOyEhRjIxUEI0djtQTEY+RjZAd05heDV3ciR6MTFIaW9QfCVISiZTZXN3WTwhOAp6
ST5GPkR3WmM7Jio2NUFRTGRUaF8rMmUqY3ZsIz8kNGdAVGU0ZGxKaDJ2KEg4N3shXmImTWBET0VP
PiFjSip+eDYKelpATXVLKjRXejFwalVzd3RIcygmaXZ1MldSVk9SYnRtKm8tVzJqU1QqP2VRYSp7
KHBAeE4ra35pYDFXKjJ3IVNPCnpjejhIMkMlMEhSd1doIXBkNnBuSnBAcGZiYiY8REYkNj5JP2Vn
RlBsKm0xaFMhJHNkQjY3N29jX1o7Um90PysqTQp6X145UC02QWtTUi1hWW9XaWs2OWdodTtKJV53
fDByY19oQ1EwNFNQbztiaV5te0NxN0I9MEY8WnM0VkFIP1dtZVAKekUmWWs1UkxfOz4wfFBlZjV+
XnpWPVE+UEt0fiZeOGBSVmZRYEVuKGpgKWxzfm8zNT1sISY+cUJ6VT5lI3Q7NDNUCno0QyhaITxs
flRvXiNodXhPQnsqXnNhcmBuTSQ1OHshbmtSJkhTMjhSVFQ+NWBsTHlBY2EwV3RPKGJVIUwxcD1k
RAp6KlpPcFZvUDJrdnJqcCVrb2xkYD48IVoqVTdhTSozdzszb1hfXns2JWBgd241UEQpNCUkbk1E
WnRUZDhvWD1gKHoKekUhfDB3KDBHaHcpTj5ZZHtkTiZhS2BueUcyIztOckt7Tk59JWFELXZnYyRj
Izs+QGt7cTd+dm4yNFo8U0BibjwrCnpDP356THAxOD08OzNqZldCe24xRE4wZWg5X3RlajthVXZI
RHd0aT4/emRFP1A5RmliNXI2RXJ6N148d1M/QlhVZAp6d0Z1PSNvQkc+KjN9UzNTR1BAWURvV0sk
PEBIQ2BlbE5sPXV7WG19ZHt7M1B7aDU/RXgrKUMmeGN2Vns0aDs3K3UKemA8K3l8bGxFYmllPWl9
N2Ffdnl1T3o5MVBEUlhvMy1RTHNGKTRCbXE9XjxVZyZkYlRsZFI1WHlfXkI1ek9eKH1ICnojbGBp
TyV3N0skNFk0cig9dlRWUCVGZURePG92I3JBJiY1RlBGVnw8WitVb21iMVhWejlre3ItWnVhRWJG
eSRsXgp6ND9wNzBCPyF4TFF2UnAmJTx6TUU5LVF4Jl42Smo5MjZrQHx3VktsdGZUSH5aNVFtWlJv
V2YxUTReJHFXKmZGdVgKekk2PWpzXkVOWHhnNVI5ZD9mOVBAbmgraHhlMEFaZGtqdXskeEwwTX5C
dytyfk9qV2VCNHZ+PylQKT5ySD1JdCUxCnpxWjhAcmA0UFR6ZCU3TygtU2RDfFpvfCh7UTMxPyR6
PVMmVUZMe1E0JWA3eUMtYCQ0O1g7e3kyemM0bTI7V0FYUQp6Y2FpajIkenEkZmtCPCp6NU4rSm0y
TS0/UFliWXg+eV9TeXtzZ0xSSj80K1RsVyk3QGNUVklERmVIQ1NgciQ7QTEKekk/SENMTGpDRyha
IStiN3BxSVNSNEMpMnwkUkdMbShEMmBBZDNIalVnQHQ5YDtXSFBBUzAqIy1kd1AzQSpmaSZVCnom
Nkx6ZjNGblloO3opP0BzSGRwRWctOHRjZXFLQitGfGgrYEZLQ0NHWFAmPm18RWtsQzghWVB1IXpm
b0VEIXJ1UQp6WWo1cXhtMGV0WmZmVDFoaVgjSUJ7c3xrTU9hZDA7KVpgPX1PU0g/aGtpXjM/JVB7
byZLeyl7V3ElSz9fbFlrckkKenZBT09qQGZuekRhJU0oPklFPiQxNGNKLXpfa3RubjdqJT5WMj0w
dF5uV3orKF4jbj1+WWZ2PyRseX5vVkJweUN+CnpFTl5DKHEoJWVQMjdwfCZsIVN4P3NpdSEqV24m
KXN4dygrezkqXztyJXlAdjRBfSV2SHNQOFJObmtxfjxJZSs/dQp6eT11QztoWiNSTEhZIWF4b2o/
QnY8MHNoclUwcTBGMEFZZlpRYihMcVE2WHBpMVpYKWkwRlprQXtDTlRgbSNyeVQKekJ4T1J0PlZ2
Xzk9MDVLWXtkIW5Kc1NJfVU7dioheGJ9NHo3bnJea1d3dzkzQSlUQ0x6ZHQ/ZlYhKkFtRGw8WiFP
CnpJekQmUz5GYWB1KEJEQm8pKVFRV3pycVh5MTJyfFpnKyYmNXhiP1dNSiNmPig5VF9OeXg3cEBK
WmRmUkJnenlxXwp6NCg3UD5tQX1QRGBhQHJMR1ByKE56Rj1pRjROS1EkZWJwZ0E4VnJQempCRlAw
JEkhJENyc1MpWGwqemZfOHBNaV8Keld4K2Q3dzVSdnlTalMqRittQUg+WChPfiFmPzZeJUdWPTJM
Z1k0fD0qWVdYJGU4cT01VE9kNllmSEZ8JnghUnpvCnpMOXMkZEtJNFNrZ1F7dV5vU250LWdjeTJw
Y00pRlJLciRYTTJKNGRicFVMVVBYQ1RAalRtPVdEeDJOYSgjMDE8aQp6IWVZak9RQiZ2SWsyaiVt
NiNuY29DdzJIaHhEUnt3Q3pmZFM5dG8xVXFOJi1MVzMzazt7YzVvVkR9PGVtam9fQXcKelo8U1Bu
akZGYT5jSSgheXtDWj4+RGs/NmJ4fiNyVntfXkdXPmlKNn5CcUtFeiRPQ00+YHZUfmpaaGp9OyhA
RF9wCnpGRGZrJlJwaipWRUY5N0Z6aHZTKns9V3Eze3VoNHY9YV8mN3ZNcVNedmEycEZkfnpnJSlM
aXZwZXVyJDVEbmE3fgp6Nmd6YmFDV0RWYFApfD9LXl5mLWZhTn1SVVI7RG56SlRkYTEzbWhEKzlv
fnR5dUNDPX1DTEl4eyomfSFfSz0lRygKekg8bG5AKkBOX3pneiNra2xSSzQ1PExILVU1YHslWXND
fj1XZ2FrRHZIQDU/IWgtPVcySl5fcCNrYm55bTlVTj9ZCnpkN3RycFd0SmN+cWEzR0IrMVQzVkpJ
K0wtPW5HWWk8PW1SbTNYP21IZkVpdmVUdk4yKGBedkthXjszdnIpWmg5KAp6ZFcyT2JZU29rYj5l
Wl98Y1pkKnEhajkhUT07cjEmejdzNk1GSDkodU11d1JKRmBVK19zd0JzbUtIZEMrcWg3RygKemF8
O1ItTGIqIWVNSkIxKnJqIXE5S3pCYiZtQklKTTk+MHF8aigzRyhvY3dETjVZXlkkdz1HPnk5SS08
JVNOSTF1CnpkKDdkM2h7TVQkcm5GKSZuVFFXWVp0QTZDO19iS1otdl5ObTRoKHp7ZVhAfnApYSYh
YDlDWEk0dFNuP1k1WVR2WAp6e1djeHpkbDxOUUx4VEJWQHRGNEg8O2MlPGI/QEs1VSFOfFJjYFgt
S3JjUkQ0PSlxY0hgNCloamZZeE0+QTIyWikKeiNyMyl6YWU0fjJGTFhWdVRJQkQoZUU5K3gxa0Y2
NFgxSXM1aWNCSH1JWGtAQSpkbjglYDJFfTQrc1AjJDRLV3hxCno+Kj92bURfQCNQR15MUHFnWHNR
aVg9WjcwNW85VXohR29QNGEoa1klaFZ6PzBmZXdoazh3ZUNNeFVAJVNtVF40VQp6U3lfY1lEcm9n
SGF4KmpNK2Z1YzB1ITY5bS1rWjA+WD5vQldJRDNTUWNwSFI4OTB7LX5fUkIpKjA8c3JgSXQ9fm0K
ekdkREwqV20pYHIwQzNFPkA3QjlWU1htIyVDTClMaColYFR2O243aUErUS09QF80TEAtMnZGNHcm
KkFkQXwwdCZkCnpMJGhec09yWUlPT3FfZGJzX1ElbnE8b3tfdVh5RjhtWXY4QUFZT3t8MW5kR3g2
SiU7V1R0VjtfYVNXKFpmTkooawp6cHZka2NWSjJkTGFleT4xWXQxUkd0Z1Q1QXZPNnkrQl40djso
dzIxYEgrKkJudWklfn11QEl0cj4oQH0yQFV1KD0KemlpPHZlZ29rSVlvSnchNC1lWTRQUkFIamM4
QyhNZCFPWTAkQU9sMFhhPytkUldLTytlUzFgRTwwYy1lJEkoZkc3CnpzaXstb0RGOEEhMnByQVBm
Sjd1NFFEJEpfOz5hRzVHU0dgU2FtfkQ+Jk1QUSpSSVZTZHRme0JocFJDVTU4ezU+fQp6T24lX05u
N0ErUVZjcUE/UFF5WCFecENLQnl6YnZlMzF2RWR7Q1E5aXhGOCFseVg5RUpPTig4Vjw+Zz1pVV4p
N3UKelUhcjZ+SUVJXn5hSUxSaG58eHd7aX4/MnxhN3M5cDZTTUNkKU0rM1Q1SHZgflJUfHVZQ2RV
c3orc0BZbzJGdVY4CnowazhrfD9PWGQqbXNFdXF2R2UhJGQ9MzQ+fDBRK05gcDw1N3g4aChAdSM4
JX0wfiM2ezVUWERUb3dtdlVzQTAyJgp6Sl49cXFPSDtGdnN2OTV0ITRUezkzN3dFY3wydzw2Wjxs
JmE/Q2s4dU9eYCoxYDwwQGMpUHFiQ0l1PjR9XmRnQ2gKeiVxPEVDb3BzakxTJDRkPVBTLXJaTyVh
RnZGaU1+dTNERjAzZHJRMiQyQE15eEJQOFFvZXdCdkpeVF4wYW0+R2tFCnp3dTdIYHhnWXozaC1o
c3VPLTUteFlfSWg2YlREanZ7aUU3cDwmVVZFYkFDfSFQfjd4aSt4UnQ4a2UzSU0pRiE8dAp6e3Z9
JEJHWkwhUykrTWVoYjctc05OQTJxfkB7dFhOblQqWDFPe201M1MoNTZURTZIbEc0TEx6YS1AS3t6
Qjd+bmAKemxzfXYpKWREaDxXMTdjP2QzKmcyP1hjKDFETHteY1dadUtvc1QyUnlvU3YyU3ltJSR0
Zy00Zy00Zlk9cygrR1M9CnpRV0JCXjAyZUpTczcoPk9aMVA3bmE0PUtBdmU7b1RSO1lPbEtPKzxa
TFBFKVRIOEw9ZTlRR3Y2Wkx3flNhMS1+WAp6KFdXZEFVaU5VbyZwKzZnUk57THs5ZkVeO3N1cT8l
WSEmZzFXckhXQl4pY2R7QXZOcGs+cTVhWnY1Rl43b0NwWEEKekttdGNiVVM4Q0JBI3MmZV5sQHVs
PHFlM1Q1U21uOCVYSm53cnN3MT1wXmpoIUJGWlJBQDw/aik8OHlxVjB4P0hPCno5KjFzejN3OXFJ
YjJMVTh3d3tnLVElZyZCR0dhdDl2I2gzI1JrZ0hhT2wrNUR1WDl3e0Q8eHR7MHU0Z1JmSHhRKAp6
XztIOXdqWTJZMnc7LTc4Qz5iJFdwczcwXy1kMiY8d0p7YzJHOVdHTCklZl4wdlpwKDBtY3wrbFZF
PEFgVm9SZVQKeipJISVWRUxtJVUjcmc1JDVJWDs5am9iK2R4QW56I0VKWHd3US1LTXFjN2E3bTYw
Z2pEQm4zTFM7djN1TkgxcnRxCnpSNDQ8dzd0dXpAIyhJYng2Um8ocj4pRXFzMFZKMW53WGFfN0wk
ZmlkNFpaJk04KDI0cklrWT1jST44VTM/JkBBegp6eGlgT3A3MmB+QSpselcyKUpVb3RvPHBhQG1j
V0tVcUR+JDBfQiRtKTIte2g+YUU4ZklHQkVWX15zSlRjV1daTE8KekU2eT51dlpDaVRtUDdxUD8j
SUA0RV5oQikxKzZ1fj9JJmxGbGZIQ2Bge2srdXBQQ2tPLWYpTzt7WlFwT2YheWVTCnpGSSZzOz9y
V0VoS1NPMUp0fUc9YilrbTlfbihGcW0oKnpYXz1obGlJQ1BuYFNmbnpveyp5TFgtRF5II3w7fCFe
Zwp6Syh4UG5LfXx1UUtzcDAwMT99PzNqfnw+eDMod2pWJklNTVFxKV93b0BzVVhZOzV6eTUwVWxn
Plckb0dPVX42bXAKekVIRSVOQzUwZkNLfCpvfVJEXnFmPmVNTVQpVEVSWSlnKUN2cVlGbkghT1Zp
JEgxI2leenhYeDc2VzRWMXJwVWQkCnpZT25fKEpHaT5KTDdIaFQqKWprNXljdXZLYGY+PVQ5dFl+
c2pUO0F1d18mTX5KdTFme0pAfXxSS097Wj5HTC19Mgp6dUg/N0c8PXJEcDV6S0Q7PXFPOD04fkRH
UkY4RSZuTDt1Wk8hKy1QMW4mRTB3fDZzPj10fDkpPExkP2opIUdYbSsKekF+bUU3NW17UzFMWHB8
dChiMXpOWis2NklrXitFMnBmdGE8eTAjWCZCLTQtel9gPH40bjYkS1hEMENPfXt5SyUmCno3Y1Uw
bEwjfXFnNzJqTnwtd2I3dEZJaWgjZC1tKVomfmJvRTVGKjVnSGU8eT1zentUYVdPTyt5akVtWUo1
OT1XcAp6eGIqNE1yJH5lWTVfX1BqcXJlYy0leTlaKG5qcmZGaTQxI3BTdzxpRVViSlhlJCExUG9V
T1ZLUUZKOVRUWEFobCMKemxAOFZMZTQ8RHw2ejxMIzY5ejFOJF9MPm1IdV81KjRGRFlsRDxXcFpl
ZUtQKilLLTZtZVZ1PGFCXmE5dFg1JTY0CnppTGMqJkp7QTRUdWtPPGooRC1LKVNDUDM4RFNxSmdp
LWg8TjtaWGMjazNVMGUxJFNjOCQhI2J2bXQtd048UWl2KAp6P3V+PF9XWWEpPktnKGNrWDRaKzEx
MHxBe3sqMjFwR0VCMDJIejNEM3I1MlJWTjxXKE8jN001Y2h9biV5ZlopdyoKejtHcXI8e0VVWEJf
cU1OVUJsb2UyYTBnJV9hQENUPTBXJEc0RyZGVH1icyM5MTZhV0Z5TjwhNnc8KUUjcDhUOTxRCnpE
WlBuQkVYK1klRjY7PkdGQzs/ZzI/RSgxX0UpfiQ9IyFFWGFZLWVGbn54dFR1YyQhaTtfej1+ZSpA
TUZgWElXZAp6SiV8Tio4a2l5R0ZkKkdVYWRxRSR5WFp+R24tS3lXZGJPKnBQJj4reVl2fUlpYUsj
cTR2OVZidyNSa1U+dHBoajAKeiMwKGRnQjIlRFE+Kn5KfVdwJWcwN2NWfFFxVWh9djEtNCQ5OCh0
Xns2UF5Ye0NBPzlCVC1kWHhQaU1iQVVecFBMCnpXQTdtZmEma0xoNVdvJntpSGxGQFIpQVI9ezE8
YmtmME87azA0IWwtd3JDIVJueEZ2U1R5UFA5d2JXVnYqYFJHJQp6Nk0zSEReUkdUSExORUhWPyNy
YFohM3A1TFJ6dGJMcG9sbiUyfFFAeig2aXBaaHB1Sj8jRFI8Vz88ezMtYzhVNXMKelR0RU1JVTFG
SGBmZjUrIz51MnBsIysmaWZESWZSOUBOZ0UmTjJoJEIkOzM7JW9iQWM4cW1XRWVXbD5qZU1gS1Y8
CnoqMC1fWVVjVXhAMGw5c18wQUdkYWVCWFR5Z28xZTZKcGVDb1RpKitAVjFFc2pofUpNMkBMXiRQ
Sj59flE1Jioyewp6LWA+KDk3ai03Y1U7Pn5TSDw+fmI8e29AcUVhSW05KUJQcHNuc097YjA1Tytm
Kn5JK1Mka1prV2o+VVJHbEZ0Nj8Kej5ncDs0Z141ZEkycz8wZDJaJEEkSDhZYF9KNHBTdVYzNz5u
dV9IfTg9WlA1VCRfYXx5QHllJlA8JDg7YDIrM2NwCnpmcXtefVhPfSg2bD5iZG1TPDQmaytxeCVM
M0MkNFNNKThQNFEmcHNKU2VZe2xrVWt6I15JIzgrMU93QHdKPG5Afgp6KFohTGB8RmAqSjN0amRq
TjZzPEAlMTRVYDByI0NicWptZyVuVjhHUStIRyUlYk4jbm9gKHpMQDZYLWZgLSpWO3EKelZSTTdV
NWZhVlctfXdLNFliKWs3ZCZrfHYrRkY3NXJJZk9ZbGFwWEN2IXMkQXg1S1k4TEtHSiNhentfWnF0
V3pGCnpGezZVO0dLTVAqREwjQlZEaWc5NzBTRzdiXmpNZng2JkEmOSM9ZUVrMkAqLUI1MGI9P0Z3
KylHaWNRUTdBcV8kaQp6ZyhUcihRPWFmbEhVQUZEME8lNUlnbl5jSlZzejlJTG9SaU11QF89UzA5
YyhmKGgwOHxOSjY1JkooamRDKVk4YE8KeiljXmtYYnlUdlBjUTN2ekw0aVI2PEBCTXlLZEhmOCZf
fD9Sa1JxMkw5dld0cWtjTDBhX3pFSy1QJnZxJjhYNSpoCnpNbEtUUEE8bj9+M2dXKGYxfkAyeUs0
ekNoa2U4S3NgQlppeW9ZQHpJMTctKTU7X3RCWXAjUXlkYCptd0UpQlh8RQp6U1MrNiUhYm1ePWxm
VUtzT2tucVY8STl7SmYkbHFGS1RxSnczKUJOYF5XR3hSO058bDlnRERSbTV9IVBvcGomViYKejt+
PTthTDI7cSo+KkUraFBvTygoKGVXOSVwVH4hV2hsY0RYSkdmVnV8OCNiYVRRJFo/Oz9RKDVeZCY3
VSplY3VqCnpMNEttZCtgYEVRQ254Qys5RWU/JSljTCNFbFdXaCMkN2hkOzZXWUBqaVkhNmpKeSF6
LVdZcEF4VmBCOCtKXmt+Rgp6eXZ3UXFoZT4+TSU/X2dyWHp6c1JUKWI+WmxTaGdwYmV5SXA8dmJt
Q3olIyU9PzM1aEhIVkZ4d1QzTzdqdG1mbFEKekBqXm1FYFdZUHZxNGVmRWdpfFJRKk18TjgoJSFq
IUpGS2JZbEAqNnVnbWo4cz1RfEBieD9sSlhMaXFAOWFfWikxCnpMQzs1fUJxNGMoN3x3TVJHJkhP
UDlTKDU+cEhSMTIxIU9nfndKUiR0VlRtdEpfZU98O0tmZnF9PmV6IzdqJmNQKQp6aWhhbXxGJm4l
K253eHI+Jkk8NHJ6aT1PVjNOVTBQaXJUa3R4cHtmSnl2cmFJJm1qTmpPP0NCfSNVUSleUzQ8PEkK
ek5iKjVGeF9nJChWYEJ8LVR3Rnw/MG4lM2UjcTVEcSN9OGJKNXAjb0grMHhhTzU5Kjd8YHpvenNi
OHxETytHUyFQCnoqWDZmNTkzPkQ5S3YqRi12Qkc0TVVeSXtleyFjQV95TFk+R0xUJDcoWnVHM2pI
VlIxeE5rbFBjNVNDNU01ZXEqZgp6RUloN3wjS3lKfUdod3BaZGwwfjM+KW8/VWYyMDd+eTtTVkwk
WVNhY3Z9dChyYDZVayQ2QzZAMGFoLXJzQXZufSUKem9RK3EkcU5XQy11UmNOUGwrNlQ1LUBxVWE4
dHVyR2t3dyk2QF5YQVFqVDVyTCY9JTExJS1se1RCQWl0YE11PTxUCnpTVXg7VD4kLUx+P0IyYjVn
cD5ke3l4OHsoZ2ZFK2xebX1lRWR8RVMlUSRXfTBZYXlVQmUtZlMyP0AjXyZlfEsjZQp6JDlMfTd7
MyZnVDlvPmUxfDg0Ql56a3hecFhFVVMhNlRkOUZ4PnBVejlXT19jUiNETChoakYtMEpoTyRSZlhF
OzsKenU8KWQxV1djbHJsfWB1PUlEJkJecmhzLXZBc049M3p3IzAqUnRSbmc2YiZfWF5AelktUkE4
dm03O048U0MjYWJpCnpVUStoMSVtNn5WbFhoKDJodWJQPGxEeD5RdCFJRVZIcykkTGZxdDAqME1W
aX1Qei1HX24mYjYheEYhVVhNUFklUwp6VksxTXszPER5XyVFLVZSIXhGJklqP3JiRlJTK2RMcm9n
JnJRTUEkbWtuVXUpKUlzRyhmQjYpU3ZlQVBuUEB4ZTYKel5yc2JvOGd9Wik1Zz51JnhId04pTnZK
cmhyTSZlYjJGQjNLej57SG8wXnh0aDRoV2V9Qlc2VXlnWXk5dmE/YDs5CnpeRWg8b0tMcGlxPU5j
czA5PCU3O2NNPG8rZWdWP19FKyZsUDBlbEZ5aWBkYEZfdHM9VURZfW9TdkNYN1JeNUtUNgp6ViFI
Y1RAV0J2OG5KSTQyIWBWR1NQfFItbiQ5YmQ+R3VxfUFMTF9IclBrcn5Vc2xNTGRLIWQoZ0NLVk13
SGcrKCoKeldGc0hNNWEwbFZYck5zc05hQ0pTY3xGXlRkLTk+KipNPkYpTyRnUnN7e2YjKm90PWNT
R2d1SHYkPSg3e2oqOE0lCnpSKD1NWjJ7fGxhIyY1UGxPUl92KFdNRD9Qd0owNmZiYWd8PkI3MmJt
MVUjVXJaZntwbFFmKDR1SVY3bkI8ek5NTQp6MWlCclpzPiFja09IWXR7OFc4NXw7TTgycnZvISgm
Q1A0NGxlU35CJTFUeVF3QU5NdWJyWTkjMEYtNDRuI2EocnIKej5mJXBRP2R0Mn1LJFlIbDd2YU9x
JSo+KTlIK2xLSlptZSFscmgmY1kyT258VCU3SS1HWklCd2ghb3xzdEokdk1ICnpiIypOQm8yKUUq
ak90eSNlalVaTjskaj5eR0w/O3U4N0xnS2QyNmA1MVpPJXtAKTdLaUAleWtXNUkrQ2VBYzM5Xwp6
elpFWl9veUFmXyFqS2xsY3x5VE5tM1VIUnt+K1RHb0ZVQThBUStFJFpgMzhBeFJ+MWBWZzMtY0Fh
KzRnM2lwTzkKejBhYXlPNSZSaTRDX25xOS1gc1U1P0hYZEF6fEc9Vj9qUH45eUJOajkjTllyd156
Kn0hUDtDLWlgXn5sYXtQJlFmCnpXYHslYzBEO09ZRTBhfjwwRlQjei1UP3xCTWdkNnlyUGo+Y3la
fWx8TElQSEdKZFFeQ0k4Rz1lSW9UWmdwU08yOAp6ajJYbGZZaDlReFYpNXhgQWx1Wnwtb0VzYDYr
I35yM18+aT58MHdQdXJncEYxOXVCSjEje3o7fDA5fD80dTNndjwKejBGQWk0dn1mI0B3YWI4emty
Rn4ydHBoP2NRYkJuT2AqRSRRc1NBIV9gVmJLVDE5Ylk0P2V4Qn1mT3gycy1NRzhCCnphWGV+cigk
WnU7N3E7SExXN1VvWiN6dSlmQmBQR2UwKmlnM0lpZGIzPDlXZjY0K2hLXjJ9WikmJH49QFhYR20w
dwp6d35xN2lFdWpDKCM2TlMxb2FSI05EVnFOeDQybiVLT1VoNTxnU289NlVJfiohSWdebmh4MFJQ
VlZTfXg5cUFRUHkKekM5QVQpb2pRWE4yKXV3aFNTV1Rjc3NOMU12YT5ARXJtcDAzK0VicDB7ZVhQ
NDJXQzZHQndpe3FNP3ckUl5IP3tzCnpjeHVJP010OT1tTmxiRGVrcXt8cGJGY3ExNXorSVl4Z0hg
UzNOeWxVMGY7PSNVJGw0JmReJkAxYHBMPTIoOXE5bgp6IyRZaUVRKHxDd0o7dztzQWdFJkomWWtO
P3dsXz1zJWZ0b0xWI3R4MFJfXmo1P3pLemQoOChvWlU9WVZmaGhWaUIKeld5bGhBcXhIPWRPakFG
NF8lUUwhOHktZiZ0aUxKdXB2em1lXnNESEU7UTBhOzlVcyh+UE1qJDM/OV99YFc9RUVICnpwN2g1
OHl3UH47OypuQE1EKEBUUz1KNUckTCFFJlkyRWhwRzU4QVZfTUM3IVA4ViZ9K21QVmZLRnd9KG1k
dVpNUAp6Sk9MWCptQlNQX0xiQjA8SFdGQGBCS1hpeSZ4c3dacUomcChRX356X3dsSDE0c1RJOHdg
V3NYQHV0STxGalpsTUcKej0jTXFTd3dRWj1HRi1yezNjY0lWQEVmM3R2V2cwQjtoUE5eMXB8bHFq
QnBJb0w4eTNzTmApfUtHJlNYaG5nWTNmCnpzbjRhcFlfTV5ZPmpWbDlgTW55V0ctI3hZU2ghSFEw
SGstMjIlSjhSYSEwYWxEX296e2h5dDNSO05ZZShJeCpLIQp6UyVRdzJtdjxZVUBCYVAhdkUpYS0m
RjE8WWx2SU1fZGNxNXcxODV8aWZuWHhHPzl0MGdPaXojREhGPCpDPD9RVD8KejtsJEU4dzFtKHo0
bEklY05EcylzdEZaeTlnNlk0Nyo7eXd7OXFncj8mUjRgVFNqNGh+a3VvdGZXYmoqcytBa3J0CnpI
djE5d1M1UiFDSyViS1ZjPjJnclJMd2heQGdBRWUwOz8rZzg1cWRPbzw+RjB4d1F2fWdhfDtHclF0
UUVYMWszawp6WUReV0ZuQF87bnlYb0o1QEZsWTJmKUk2YXJzMHR2QVZ1QTwmMnZRPSpuME5eSFV+
QDQrKEFsb2JMLTF6bF88TFYKeldTSWk3P19vJUwhMX45d0VTI0J3VTxzbkZxT01OR3p6YER8eG5f
RjQybzM7M3UkNWxCJFJVLT1DMm1rWjRoamFKCnpLLTdrMCtkYkdBSFFuNzJsfn0/PTlAP3Y/SDRn
Wl5MZSFDbTJieH5NKHRUYHcqcWZiUVUwcGFneyFeI00xMEs5ZAp6T1dRfDYwPkNyPjt8RyojajB0
Kzd4Uy1zfCN+V0UlUDlhSk4hNHtKJFAta1UxaShXME5HPF5GKCErSF5Sejg0djYKeitQPmRQbmti
WXMyUDlofTUjVkVHTzshK0ZGPkZheD5PSFFDdSZhenJIUjRZdzU/NUZiOHFtUEdoVnUlJTZ4I2Uk
CnokIVlRa2ojR3JyfEM7OSZSYU5fdVN7ZXhPKEJjLTtPR1Z9cyEmTztlR1lxNEhxYjVhIWhpfV9A
NG9tSG17dHFuRAp6YXtZfHk7cERWdE5kbXNPIT85P1pfV1BrM0JCaXN2Jit3SytCTDVURT02P31Z
MTs0JmhmTj5YUz9ednZtUU4/fEgKemVSb1NkMWNiLVgjN2c2YlpEQCg7PW5eaipkVkFORU1nZlV0
Sk1idEJKZTMzOEhTazlnK1A7SW1KKVZrRDNvaS1YCnpjSTJkenFUKzBtRUdHdUAqRjgyeUohPGA1
Pm1nciM9QEtDdC1POypOXmVVOFcwbjR1QTBuJEtjXmJRPWppMmtCJgp6ez1gZEQtQmJxLTk1e0g4
QUlsaHcyeDc+PFVwISVDWXojMlZnO1hraEU0QHAjNWQhclU3NUNGa1M4KV9wbyRyUmYKelctVV94
TWNlOSRgK180SipqNEpoVF4wPT87YEMjOHdnV3k7TT13NDteIXBoUFc3KEc3YDl9fWxKPTx7YmBn
O3BKCnpJez82Z2sjQ3tudyVgeWNQUjtRe2VyWj59MU1BUWFGZEB8SFdgQSNxdWMmMnNBY3VnMkck
SSskP0E+JloyMUxTMAp6RGxhJHNUSUxOUVAtfW5NZjBfRSZ4I3xRRkEwTEwxUFJ6WjRHUUglYFEm
aFlPd2NqX2swO1NUcG1SZHBAbld9WUYKelhrSClneygmR0tqSE8rU2MjY1UhS2F3TnVmMD5+V0Zt
R2QlYyZOJChaXitjaml0LVZUZyVoZ09tNV9mVU1kPVBCCnpTRD44NGNqVSttdl9pO1dufFJtKldI
eEdUdypNTCFgT3AjYS13ZFc7Slg3KD83NT17cnJAVEF5QHdBd1F1RUYwJgp6S29EUT92Z0Ute3lK
UGNEbiRHcD09Y2gyWDRvVEFtRFJNKnRyNU47cCEycUZmR045Q2ghXjVwak98ZSZnPXh3Z0gKelZA
P21OMDFtT0IhKnx1eTdzPCZKX3FMUFpnSis+KVZYRTtIaDd1fFIwfE95OFh6Uz4+QX0pWCM4MD5p
OCpwMFAkCnoxPCo7PGQ0LXBYaVdJRn5VNCtuVGJBa2VgaDNeMFYoO3RFQCUqPWt3JnF0aGJ4U14m
LW07KGdRTHw2cCtRPFdqUQp6SilPQXc4YytmPk5MPV8yOWZOUV5BTUItN0xwJVlUNDdMZkp0RlRu
Z3xGZnF2MWhDVSZoeCp+N0Fxb0ZxcFpzN08KemhMdU0yQkljaFRPVGE5ezVgPnZBeVV7Tzc2bVdh
fmpRMEVmIUB+cGB7Tlg7N3RjPWpFeyh3WFZZMVhRKjVIUng4CnowVXVaYD1OWkg/eEZkWld6VFlj
bW1meEJEUF9lNWpEKDlfUmE8Z0RkVWJLR3VFO0Y7WXctQFlWb0VSanVvZHQyOQp6VCVlZyU4KXlj
SyV5PnZoX344KGxjJWFVRl9PX041TUVaPFBPcXZ9NE1leCg8MzdvSyp6VjhLWWtBUlRaeF87Q1AK
em1mUERDQTFQSUclPjlsWDN6QzdgMEUxRTI0SDNvUGFmI1dvUHc4ZTJgWChtcmpnOUFzUGpQVWx1
Pnwye2ZjP0Q0CnpGYklSRGx2Oyt6MDB+KDIwRzY9ZSthU2VfMnFHfjE9RFYpRWxSb35lVypBPTNP
YUdsMWFUJVZBalhqRlRkMD0hYAp6RX1TcHYjZnhpNTYlZXs5JXJ3RjVHejMpc0ZePG9Fei1QZ3BP
R0c1eyQ+aXtHeWNtWTslUkJKRTZvZ0QmRyZIRG4KellqRl5gVX0je2grSW9EbncpWGF9dmpiYiFK
Tm8qZiRzfGJHNDB0RmN4aHE8eDQqZU9VVXIyU3B7clllJHkyTGM9CnotKUZ9bWY/Xk59Q1hrdHhS
ZCR3UFV0Z24jUVV7PVVPVW5ofjN9YDktJjVxYGNKN0o8QCVxSTh1TG5kJmcrIVVVYgp6dygoPGN7
QSotQUlOSDZAQzVqTTFVeXRXKURVNmVpSSZHbG1fZDl4UylsTk8xXjRENFZAVFZ8RGlOO0RYc3ta
flQKek0kKU5DPXRQe0paV3VsJER8MUAkQn55bVROaiU8UFFsaTZnKHU8RmU0e0ZKTjMyQFRpc2Na
JmFIcWg2PEM5bk15CnpuWkdzVkd5VF48SU89M25EJVpNTTYhZmw7NFZWZkNCblZTZj4rN3ZNKEhe
NlZzVUBUS2JUNXpIVipnVklCYlB1ZQp6MUpJTH5DTENrT3RtfTV4cWVzaUNzPzR4QkVWaEdaQXIm
cURHaj9mYktIXyVSV35WVX1eIUtFKiphanctZT1SUjMKemlhVHAobkpPV1dwYE4wI3BPJl5KISRC
VkY5U19pOUApOHNsZSZGUmJ3c3x4eUM0fiktRTVJQkUkMnk8XzxvV0BPCnpkU05sSXpTI0pFVjk+
JFJ4SlFJZ1o7PmBnRko3KG9xUWZ6ckNIK0pGP2NEcjQhOWp0QExgVl5WQkxYWj1eX1BlPAp6TEp+
VSQyblo1fk5NKGBwVilkNlZSP3N2UjYhZFVCczIoNkd6bylHNmdzVWxkKzxmV2J3Vn5XWWh6WFBL
LWFROUAKelpoanV7OWdeNTYpK2hYKUM0MmA2MjBUd00tYCkmIzR3KFNGQW5rdWRsblI3UTBxUHJN
OCVXTnsqMV8reHYhRDM7CnpiRiM4ZF5jRCFYZUpVK0k9UnVmLWYtVmhQMHxSZ2lpO0tFPUAoa1d5
X3s8cX1wMUMxXkAkYWBiWFROXkxAan5MUwp6Xms9fX1iLUUoK0U4I3ZvcnZlWStMQnNTPEVoa0pn
IUUtdnFYV0Q/RC1NK09IPCZLST88M2s2UCZqbmsrJHVLI2wKejBCTk4yPjx+MTdvUUM4ZjFoeXU8
aHZDdURWdnh9KTQ4OHU7enx0fj9eTl5zMEQyZk9kUCRaPFN1Q0NReSROblBaCnpzKlApemFlYV5B
djE5cDF2Q3MoN3N9XmtyZDd6MWZOQFlzUSZINj1OWndWVT0hUURPazsrTX1BVUVMQH1XPkQzSAp6
d2pVNkxwfHRoKHBLb2MtUzBoTlRJMHtWQ3d6ezJXVztSNitrUFQpLTtzc1F1Y35kbWZrTnQxeXQt
NkFgakA4KGgKejRNSHkwTDAmLU5afFNlfm9FNV9RYkEkdklVeSpDSCgkQj1zUEJTQTRuQXg7T0Q9
THAwdDF0NTk9VEwqUVJ7TT5CCnpWdChKcGdnQzE7JiUrRXZNV2xNUUtYPE9gS2FLd0xUfHY+Q3Qr
b14xPz07P1RAemRXV0g3UmRITkNQRTVDcXNBSwp6QXRTblhNNkFJfWh2TkQtYzE1PUdsZjFqcmRj
TkpFUDNJXnA+MmBeK3REdl5+QDs7Y0c9ITU5cD9MPWdEYD9uSCgKeitEMXVxUnR9aSpLWSNocE1m
bEgzX3xHbyombzIxU0Y4Q2taMSE5WE97RHgmVDUzSkQwaCVRTjl6S3x3eT9jVjxmCkRtdkVpWAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2VuY29kaW5nL2Rlbm9y
bWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1j
aGFycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZTNkMGZi
ZTdiZWEzMTNjOWUxY2JkZGZmMGFkMmM2NGYwZmUzMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZW5j
b2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDI0OAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjQ4Ci0gICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjI0Ci0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHg1NAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzV4NTMKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA3NzU6ICJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2
ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBoaXJhZ2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVy
cyBhcmUgcmVuZGVyZWQgdGhlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3
MjQ6ICJzYW1lIGFzIHRoZSBwcmVjb21wb3NlZCB2ZXJzaW9uLiBUaGlzIHRlc3QgaXMgYSBwaXhl
bC10ZXN0LCBhbmQgcGFzc2VzIHdoZW4gdGhlIHRleHQgaW4gdGhlIHR3byBoZWFkaW5nIGVsZW1l
bnRzIGFyZSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc6ICJpZGVudGlj
YWwuIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAoMCw3Mykgc2l6ZSA3ODR4MjgKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTc1eDI2Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTc1OiAiXHh7MzBDRn1ceHszMDk5fVx4ezMwQ0F9XHh7MzBD
QX1ceHszMDY4fVx4ezMwQ0Z9XHh7MzA5QX1ceHszMENBfVx4ezMwREV9IgotICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTY0eDE3Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMTY0OiAiVGhlIGFib3ZlIGlzIGRlY29tcG9zZWQiCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9
IGF0ICgwLDE1OCkgc2l6ZSA3ODR4MjgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTc1eDI2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTc1OiAi
XHh7MzBEMH1ceHszMENBfVx4ezMwQ0F9XHh7MzA2OH1ceHszMEQxfVx4ezMwQ0F9XHh7MzBERX0i
Ci0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjA1KSBzaXplIDc4NHgxOQotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjl4MTcKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxNjk6ICJUaGUgYWJvdmUgaXMgcHJlY29tcG9zZWQiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGEzNWE0MmUwZTUwZWNm
ZWI2NzIzYWVhMjAzZDBjNjU3M2FlZjYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2VuY29kaW5nL2Rl
bm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjIgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNjQK
LSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI2NAotICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI0MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4NjAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNzY2eDU5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzY2
OiAiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBv
ZiB2b2ljZWQgamFwYW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJl
bmRlcmVkIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3NjM6ICJ0aGUgc2Ft
ZSBhcyB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwg
YW5kIHBhc3NlcyB3aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUi
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDApIHdpZHRoIDYwOiAiaWRlbnRpY2FsLiIKLSAg
ICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNzkpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2OHgyOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDEpIHdpZHRoIDE2ODogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENBfVx4ezMwQ0F9XHh7MzA2
OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwxMjkpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDE2NngxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2Njog
IlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAoMCwx
NjkpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDE2OHgyOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDE2ODogIlx4ezMwRDB9
XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4ezMwREV9IgotICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDIxOSkgc2l6ZSA3ODR4MjEKLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTcyeDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMTcyOiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNwYW4tZGlyZWN0aW9u
LXJ0bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL3N2Zy9X
M0MtSTE4Ti90c3Bhbi1kaXJlY3Rpb24tcnRsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzQy
ZWQxYzYyYWU0ZWNhOWUzNDExZTY2MTBmNTk4Y2U1NWExN2JkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9zdmcvVzNDLUkxOE4vdHNwYW4tZGlyZWN0
aW9uLXJ0bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMywyMjIpIHNpemUgNjUxeDE0
MworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkyLDEzMykgc2l6ZSAyNzZ4MjEgY29u
dGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDE5MSwwKSBzaXplIDg1eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4
dCBydW4gMSBhdCAoMjgzLjY1LDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lk
dGggODQuMTUgUlRMOiAiXHh7NjQ2fVx4ezYzNH1ceHs2Mjd9XHh7NjM3fSBceHs2Mjd9XHh7NjQ0
fVx4ezYyQX1ceHs2MkZ9XHh7NjQ4fVx4ezY0QX1ceHs2NDR9IFwiIgorICAgICAgICBSZW5kZXJT
VkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTgxeDIxCisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDE4MXgyMQorICAgICAgICAgICAgY2h1
bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTAzLjYwLDE1MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgOCB3aWR0aCA0NC45OCBSVEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7
NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfSIKKyAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBh
bmNob3IpIHRleHQgcnVuIDEgYXQgKDE0OC41OCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDE0IHdpZHRoIDEzNS4wNzogImRpclJUTCB1YkVtYmVkIgorICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMngyMQorICAgICAgICAgIGNodW5rIDEg
KG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDkyLjIxLDE1MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMiB3aWR0aCAxMS4zOSBSVEw6ICJcIiEiCisgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDg3eDEzIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODd4MTIKKyAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMTggd2lkdGggODYuMTg6ICJSZWZlcmVuY2UgZ3JhcGhpYzoiCisgICAgICBSZW5k
ZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICgxMDAsMzAwKSBzaXplIDU4NHg2NQorICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE2LDU1Nykgc2l6ZSA3M3gxMgorICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDEwLDMzNCkgc2l6ZSA0NHg4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDR4NworICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAxNiB3aWR0aCA0My4wMzogIiRSZXZpc2lvbjogMS43ICQiCisgICAgUmVuZGVyU1ZH
UmVjdCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4LjAwXSBbaGVpZ2h0
PTM1OC4wMF0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgODAweDM4
CisgICAgICBSZW5kZXJTVkdSZWN0IHtyZWN0fSBhdCAoMCwwKSBzaXplIDgwMHgzNiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGMDAwMF19XSBbeD0xLjAwXSBbeT0xLjAwXSBbd2lkdGg9NDc4LjAwXSBbaGVpZ2h0PTIw
LjAwXQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwNiwwKSBzaXplIDY4eDIzIGNv
bnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjh4MjMKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgyMDYuNDYsMTguMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDUgd2lkdGgg
NjcuMDk6ICJEUkFGVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdz
dXIvc3ZnL3RleHQvYmlkaS10c3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWJpZ3N1ci9zdmcvdGV4dC9iaWRpLXRzcGFucy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTI1YWQyZDg2ZmE0MmM1YzQ4ZDE4MDBhZWJlZjI2N2Q0MTViYWU5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvc3ZnL3RleHQvYmlkaS10c3Bh
bnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDE1MywyMjIpIHNpemUgNDYw
eDg1CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTUzLDIyMikgc2l6ZSA0NjB4ODUK
KyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg5MiwxMzMpIHNpemUgMjc2eDIxIGNvbnRh
aW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMjc2eDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoOTIuMjEsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMCB3aWR0aCA1
Ni4zNyBSVEw6ICIsIFx4ezYyN31ceHs2MkV9XHh7NjJBfVx4ezYyOH1ceHs2Mjd9XHh7NjMxfVwi
ISIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNDgu
NTgsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCAxMzUuMDc6ICJkaXJS
VEwgdWJFbWJlZCIKKyAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgyODMuNjUsMTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4NC4x
NSBSVEw6ICJceHs2NDZ9XHh7NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31ceHs2NDR9XHh7NjJB
fVx4ezYyRn1ceHs2NDh9XHh7NjRBfVx4ezY0NH0gXCIiCisgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoOTIsMTYzKSBzaXplIDI3NngyMSBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMTkxLDApIHNpemUgODV4MjEKKyAgICAg
ICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyODMuNjUsMTgwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4NC4xNSBSVEw6ICJceHs2NDZ9XHh7
NjM0fVx4ezYyN31ceHs2Mzd9IFx4ezYyN31ceHs2NDR9XHh7NjJBfVx4ezYyRn1ceHs2NDh9XHh7
NjRBfVx4ezY0NH0gXCIiCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkg
c2l6ZSAxODF4MjEKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEx
LDApIHNpemUgMTgxeDIxCisgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgxMDMuNjAsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA4IHdpZHRo
IDQ0Ljk4IFJUTDogIiwgXHh7NjI3fVx4ezYyRX1ceHs2MkF9XHh7NjI4fVx4ezYyN31ceHs2MzF9
IgorICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTQ4
LjU4LDE4MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lkdGggMTM1LjA3OiAiZGly
UlRMIHViRW1iZWQiCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEyeDIxCisgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoOTIuMjEsMTgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyIHdpZHRoIDExLjM5
IFJUTDogIlwiISIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Vu
Y29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQucG5nIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNl
ZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGEzODZmMzZmNWFjYzU1YjhiYWZkY2ZiOWY5MjI2MzMwZDc5Njk5N2IuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgMzMyNjMKemNtZUZaUzZ0S0UpLWBPZTZhfHFFcUVlKUhxQHpm
MEFgKXNxZEkjeC1ZTjFGTWtxJHZSNStLcSRZXjRkSV9acDs9CnomP0ZGZ2BCcHE8cFd9WXMtKkB4
Z3lmQEY0NyF2Kn50SVJwKG19OUp2cnxKc0MqSiFTdElkZ19zTiU2X0VHaVQxPAp6SWRrVG0/ditk
NmxfWmIxRlRwPCMrfmpvSyUmYVpVPnxFVSkmaFUleW5GQClUQD4+WHMzWXJPKzNSKmxnPHJtYFAK
ej1pP1JPNipVeldHM1BnVkRSPF9LJW8oTDhrRGs5ZXlQQTQyZm5JSz5sQX11ZTgmbE9LUGgkOF8p
VnRjSWt9OXQ1CnorMXV2UEZLVH5xdU5RcXx4XlJgYCt0aiZsWiVid1RAcmJDSig8RjZJX3VXKSl0
TSQlMHlvM09CM2hJcz5HI0soLQp6YW5uT0tpQGtleT1FOXZiWFJwWWRJZHxoVl9fNm93aDFUV1Fm
e04kPF8yMGpMXlpNVEZ2eWJIblp9fElfR1opMGQKeiZzPFVyUEdAMkkmeGUyaT90Rm1RZjhSclJ5
QnBQNnE3TmpwWUw5PEU7Nkp+K2JqQUpPJjswakclZT8yUD8kOEclCnoxXm4/MEBGVVI7Pl5+bFJy
YE9+SHVaJFJ4KEE3dShfJmwrWWpOajN3ZmBEb0JkJkIlYHpyKGApcFlLUnJIWSV8Wgp6ODlxYVpV
N3A0eFE+cCM9N19aRXdSPWM8Y3l7cDBraDAtVGBPP0E2eVpAdT1OSi1hVDtmbGpPUHVeTiNLN2VS
cWoKej9RTDM3bW48MGVPS3hZTFdAaTJxNHZHcHI3XmhZUHZmJl9xfDlFIz0xdjkzN299ISpNeHVw
Py1gLXFsdiYoJio4Cnp3NlVhKlJUckNMVXl7UWtMT0goKyRJRUVlSkRPdikyZTYlOSYjaG5FbXYj
d1Q0KG5NN2lMYUgjajlJMW1zdj9jKgp6Skt0WEN3JSFASDwwJjFwT2luQ3JyOW4tNHRyUll6eSpH
cGcpV3Iqe0YqKFVEZFRfcjNqT0E5Qk5LZ0hBczdTez0KemZ9d3QrQHpoVVhLdmZfeWpKcVplekZo
NWBsPGZxMCtvaWZ2SzRLKW1mdmhWKnhhISZMJmZDI3slaEJ0eFJhaSM5Cnp1andsfCgmPH4xS0ha
UDxNb01qVTNna0ZWSCFPfUFgeGxiY15WJHBHYmFRO2JlMyVLRzkmTCM/PHYocmJydXAxaQp6VFRG
ZGElZl9BU3AqZHdVPnx+andyO3JfXlVmQlVsSmtYWTdGaUJTVW9NJEEkem1SWF4/amd4OEQ4cktT
XjZ9UjkKej5wVGhtJDFCRSpvZFB8QWJLd0chZFMoJHFvcUFUTzdEV3ZRd3l0Z1RvKFhBdzJrcD5n
ci11Q3VQRXloTjg/Ri0kCnptMnlxeVE9ZzYkNy0wOFRBUShHKiQ1VyMpb1ZJPypvdUIhTEJISzdV
JWZ6M2AkN28pc3dJUHZEdkR1b2g4dFpLPQp6K0lMNDU2Umo5WkpKPUJrI2NkMXwjPFAyQFp6NWw0
Wkl0UmlTRU50KGp3WjJLN3ZWVXk9IWExRyMqVnw1UWx+Ql8KelBrQnlIKXRfIyFKN24zKEdvVV9n
NUQ5ZD9rVUNodFNHd0o9QkVtMXUjZjxwPGw/fD52bWFfPU9zKGJxakcpKSZKCnoqc2lJdXZlYXRz
Yl9eb3J2JGdOJWEqb147b3g9TU8qMHVxYU1HPmNDSEluKUd5IWk7IVF6JUIyVXkxdmtXV2hsYQp6
YjhjJmZtbStUUiltKCZDUEooR0BwQ2hYaHxHMUY8alF7Q2orTCVNLVJBKDRaISFsMi1TUD1oOD48
bEAzTT85JHgKektKU3VUY3ppdE5WdkYlc1RSfm15Jn5EfGwtPElobHA5K05QJldoaHkqPCg+VEtY
O34lMitfcF4lVyVHSDI8enlvCno5Q1RFeW4meCtXXkJTOGx0akFVcFpuYFYzeXFpRCord0hnTDNx
TS1RUElXKS01fTZrQ2t+JSYjMFc7WnRaTWV1VAp6cVQ0Sk03a2hKZFlmJktEazh5d0hCIVQ7JEtl
UjJRJTRDJU5MXm55IUJAYFdAejFOMSokdWk/filNVXRTRStpOTkKemJzVmVGKzdTXmJSMmc9UEE3
UEAwakk1fSZwKlVTVGxgQjt4NzwyT2NfRnJsYmQ/QXgrOW0rTXsoUzA2T3BUZDV5Cnp8MWl+Xigq
UX1FWmskK0YodClzLXY8LS1+cCpHOXIkP0JtcmROczQxRXhiaFl3KjBTaSo5VkppNDNSWilKWEpy
Pgp6MzRsWUl5bjx7KmNScmo4VSk8YEVfR35IQGU2cTQkeVd1Z2pRTWFZTzFyeys4WT04OVIlTyt5
XkJeJUhFaDReR2QKelFCOC0+LWJ9RkwkJldxLU1oQ3lXbmFpIy1mc3shbU8ra3NeJGFkZzZJbT56
PFNNISZlaGw1Uy1AYlJQZUwram88CnowJVBWZWlRcFUjYkMmJEw+b31UN2BZRTFnWVVKVVhnbTM3
KSpGTGlHcV4yKWtUYCRYakE3JEtXPS1SZExZT3FPeAp6LXxScVl2emRIeEE+UDt7OyppIzx0fW4m
OG03MlQkdURhZkNTYnUyb0NUdiYxN2NWJnpLO0Y0TXB5NEVTeEdKelUKej5EclRjbF9sWT8+N3dM
UEViMmpTJUIqPylAeT4qMDRKSnE2R05hRXxQNU1gLSRHY3N6SSEyZ1JUJFBoOWl3UzB0CnomY3ll
SU90TzgpWkV+d2tjclA9JmBwbDhXQnBYRUtvWiM5bThxczxjKEgkPG5VYlI/KTt1YikwKkFAJjIj
bGc/Ygp6NDtAaz0/Z3xTajQhaWI5P21tUiMzKyY1PkFuUCNrKXZyeWVyemdpPG57QTl2YTM3cGZF
OzhzJEh5R0pzKW0pQDIKekJkT3IwWFQoaGZSemlAZEZxfWJfSHxNbFQxQjM2alc7fi1MWk0+bU5o
JlFxaCpURz8jODZvVmxiZFVqT1JsITNTCnpndTRVPnMjKmhhMT95SnpJe2lKbWtQfFopPVBkUSZ3
P2l9QndrcDspa01VTSlJdWBUakdXfnBKalQhYXJWITt2fAp6Nn5+LUooWCpVOUFLOHxuU0ZnWmdM
NX5ONW5JIzJhOD0zcSlgYkx4ZDdHeCtiJHNYJGpqZzF+fSglayl9QSZwflUKeiVYJFF9QHErdHVk
VGBEMyppMkohWkR4PUhQak5HdVdwVEBHKVBqREg4aVAoNkA+Yz83Z3txaH5SeWByLTIhdnIrCnpq
cnA7TUIjMnx4X0R5Ql5TejBWVEZ0SCNURmFPb1Y9THZOTysxQGJCcHV0R1Z4UHFQYDleR3pCeHsj
ZldDeTZfOwp6KEdpazlOYlR2ciQwZWVIdGxQOGJzTENeMXNgdCp2WDRLdXZyZFNqfilWV0RScUh1
MSszJlUlYjVHIVZATXh5KE4Kejg7JDshRFBTdXw+RGdxKmxHI3oraGhXVVZXWENENWxJQzh3VzFW
REhwbSU/NmRWTUk+SyF2bHw/OHdlVlUxR0RqCnpgRWchcUZ2Q1JDI314bVF7cT5LPlhIX2FqT35h
WldZcGp5R3h5KGxedXowTDEtUURMKU9iPnJydkZsV34qJjQjLQp6PDd3TzBfZUYpSklEKiFiMGl+
bkxDPlBtWVBNcTU7JXhnJGZWUzMrbCR+fUgtI2g4PClUKmx3NDl+T3FPcXdOWXcKejlmKi1RLVg3
ckkwaHVPc0dAVV54K0Q1T08pOyZ3Um5UMmJqbl5mNjh2bGp7KDg8K1BoMFYkP3Q+I2lPd2gxc2dH
Cnpke313KT45P2VtdiokMH1TNjFvZktLRyVaViUjPV8tWWlYR0A4YFBeZGFKWm01TnR6KUA/JHt3
ZFJRRFdGa2lSVAp6P1RVWm8tcE82XnA7S2IzbGUtUVpNaHtPSU8qZF8pYk0yZyZyXnRAaURVI2F7
RHxXdGBkbEhobXlgI1NBQFVBRC0KejRgajB0aHBlaWBIYiNHbTspcnpmY0lObV9Va0pxKXFsUXIw
ZnFKJi1QKTBGM01kcGZWP2JgY3I1Mis7YXNQPlc9CnpfPntNNDN4JHJgZjwxOXBHeHk2NmB5fFNa
aHxyRipfZn4zUyh2b3R4VGIrSmMmaEZnd0FgKCU+WXw4Z2k3MjNOdgp6PUJSWDkhZVd1QCFSaXxo
JDVQQTN3aD8qdmNjaj84aEUxS3JJX301aWRacVI4cnMzTXFPKlNXYl9ebmg9YlZ2aFkKek8oQU4y
KUdXJXFveExDZG82NzlDVzxubTgrLT01YnVTdTs0aUxKQH1SWHA5OXojVTNeUWI3P3xEM1kyWEw3
Qn1WCnpESTM0NSVDMWBBKlY2d2J4MlI/Tk5fOHQ3UVEpP1B7PkY1RUFGLSg1dk5heEpHWTBjb1h5
SVd1WW1YWFFAdUZKNQp6Sm9eTEBMeUQyMlJGO2FwWlZoTlZQcHJeTEhDUDx1TT8/cnxKPCtBKEww
NkpwayZYUn4qcW1aaClncyo2KFR1YGwKenNicVljUz1IRVhwPD5jUyNrMkVwc2RoelpzcmZNPHNw
UiZEIXhIaG5DKjstMGdgXzthYHZXTSYrO2tvWHRYbEVLCnpJWSVYcEY2fS1fKCt3UHNWandyJXUp
UHRhSmdFTWA8MjkoSms8VVlhKWc+K3NXQjFDak9CSD4oazM/Z2A3V1Y/VQp6eGo1PXJ7U1crJV4h
YkVzNjB2SmZIUjNucXAzKXFZdFUqO0Y7aVpjdGRRSUkhYV8jK0ppfDlRQHpoITVgeHFUTyYKekB9
ISp7OzgmS3MmSzEwdyNqZnA0STV8Q1V0VSFDJjxwIzB6PzVzfnM9JGJYem0kYjdLSDd0aV5JJFRK
b00wPXIqCnple1lmRUJafWg5QGI4KDZqKTRuVlhnWXI+T2piK3sxQ0s4PSNtMUxoYDFvZXUxPngl
TChzNzBjeHRjWnt7YkppOwp6PCVGWlMyO0lRUVNRfj9Qcn5USiZtKTFSMGhyd29DTDh+O1JMX002
bnZmSmAtaDVsMnd6aD5nPyZGenspdnVGdiUKenFHYypHJX0/QFRRTntkYCZScCElWlZaRlRuT0Ve
SDJWQyMjcWU5ezN4fDEzRkFxIXZOUilWUC17X3RIIyl2Y2NWCnpHfmFgNXVxUkZyciUhOTlefEdA
QU87PnwmP2xObWxqeUpLfjkkNyokbndmLWtlNzJxMXc4MTllbGNAKDwrVkM1SAp6QHRkcUQ8K0Fs
eTN9fXhSVGxGdW9BXz8wPGYyM28xPTNtPUZOU1M0WWVzeWFwTl8jN0ZJPUlkd0JPVmlfPWhaU3gK
ejhTQVdCVSh+XnRxb1MhVjZAfCY8O3FqTTVHUEpuaW9oTXY1PkUzRTx6ZT9idl8hSzFhRCVibUAh
Ulc4Y2JUNDFpCnotcDtzRzlFNUllSnZAQkhGRFNeTSZ0b01AS2NaKHZVd0tYXlQ5djBzal83MHpl
TVYkUHZ9KWN3WHZ0KWYqTzw/QAp6RUhyfVVTK0lJZChFN0w/KHB8UD1rZTtxNHFifFQ/ZmZUUWo3
SlJAeT4zNnVjUkQ7Qy1CPHp3X3tjVlRsWT5WPTAKekoqR21jPFQ2IXZKS0pYc0d+TVhIaHtjMmdE
bDJEZy17X2Z7UjdNRWZvTmo5Z2omQE8kWllUU3BVbG57USVacH1NCnp5WndYRE1Ea0RGK3U4Qmo4
KW9+cGklRTdGX0M1e3liT1clc2JVZXVKQlRvVyQmM1k3VzhXU15wc1dpMGZ4V0dXfAp6azNjcm1S
SWtecGdhPCojalgzVV5KPzN0R3h+cEF1eiZpX0ZyTXx2cHtIZCkjPzkoRDxWNlpzNmpASmgrLUl9
M0YKelc1UXImS3t1emJHNDtJME1lMkM7a1pxXm4hRChAb1FOdDJ0b0QhITc0MWYxX1RXKyt9S15A
aj5rNns/NS17XktjCnpjJnZNM1pvUW5rSFBVI1pKdi1UVVlhI303QjxET302S28ka1RYVyYkTmF2
UHRvTysrUXY/fVpOKHlgQGoldzZoaAp6YjVWUjEqUi02KGlZNE92YFd7JUh3IW9EYlRiQzQ7T3Bl
KT1iQ3NjcDQyMz57a0xuXkRkUnpOalpUYjVUYGtQU3IKendsWDhSJjF7VnlRYSptNlNvaTJ2X0x7
LTE2SyVOYylXREw3Qnp5blI3R2lodzxAdjE4eVIyekdDQTlCfnMhOD0lCnpqT3YrXi1iRjcrQEpf
Z3xIS2VyTGNEZTgrOHAoXm5UZE9jfk1wMG9IRXFPM01NSnFJI0c7QFY4ZiVMRWlXK0dPOQp6Qlhz
fGFuYDdgfCl2PCEkXmRwS196a1lzbWN1VWRGVWI3THtHUD1pbXZXTGt7dDZ7antPRl9LZz9OMnp2
NFIxJSsKemIqLSp3ZlVMd180ZUYwQj5LaCg7ZmZAfjZuaF58WE1VRFh7IWU+dDxgc2ktPndud01t
Z0AqUXsqaGgzdkxQeU9wCnpnRm8hbldgMUpANztNekpqbEspK3k+N0dtXnJfV1hUWlNZPCQmIStl
eVQ+SD94Zy1taXFMcWtHQG9nRWxIMiokdwp6UkcwbWMlZjluWDclQ3x7RihqR0pPbnVtYmwxVHx4
UExxek9Ibzhzc1diaWVGcjxnYCFIZT1ycTg7JDNfSnJkazUKejRoYjx9d29mcHNjVzIjNioyX31h
PEwwP0cwZUFjRWxYRVBHSXJzJW1TYTFrRURyZTRPSzlEQ2ZjdUJ1VTszS3t1CnpkLV97SHBOMkhq
fDViclBsemE8TXspbzFGU1JqdXdOMmt7RT9nRTdvM2ZJPShlYSNySi14VH5KUiRHU2x3az4lQgp6
KU1Lbmc/WlV2Tnorel52PDZmP01eWVNBa2l4QDJUcyRrTTVMT2xKb2RFXlk0QEdWc0dwXj18VV81
MTZYbSgtdFkKemdeQ2JSaDRoOGVBdCpZIz8rdT1FdSs1bnhKfDNyJjI1SSYqez1JRHFESjBvIyFZ
VHteY3haQkAqPnQmS1p9eGhvCnooeVNnZzNyRmkxc2dSYU5seE5aeitxTklJT205eH55KDJ4MiRe
fDNfT1BfcipHT0JMSD1gXiF3Y247MFRTTUJgYgp6PlgoZSRrZUNgVkBeK30/T1dSPy09NndzJSha
TGJzUndITVRMfUtpUVIpb1BnXkspKjN0VCZRQDwxKkQ7XnU1KF8KekM5T1EpU3lyQElWcXF2dUh8
NDJFPThAZEs3VX0ya20tUmlYUklwNFlKdjJvTmV4QFcrZGxxc3ZTc2o2e2lQPXJvCnpsY3prTCZ9
T21zP3BJbkdOe2QkLTM2N0FBa3kxcSREfm8tK2RFSG9edzVKPl5ATnVed2R5OFUjaGFSJHxqYU5p
agp6WWFDXkdMQTU8TmVLaHFrS0tyaTVNa2YqKlI0VT47PmFpPWFMXnApQyVjPGlhWSNsQm9hbz9H
QVgjQ1JjJj1eQW0KejxqV0BPPjAwSVZ4K0E5VG5IamVIS3I+RURyPDVrPXR0RCU5WkJSYnNZNHE3
bD9lTWFhRDlDSlJKQ1ZoWTRBUnNGCnpIfHlvNyo1YEpyc2YoQWEtRVg+WXFGUWp9R2VOWUFTZ3Jk
eShsbjsmPW9FbUYrWHtiV1VSTDlkcW9sbUU3dkY4NQp6WU9MNGsodmpPZ2EmKDI1PnpTRSRPX3Mm
UV9KPlhmZXc+N3VXPzA8K1B7VmlPTGt1X2VCKnI4XntTbHVZVXBHeHIKekNmfHw/UFpUOFNZZlFB
PTtmP3BRcXEteTIkZCYkPC1Bfkkmbz1LIyRzZiRkYk5+VnJSYSsrU1MxXnJLclJKMkhpCnpTQShI
T052enFNc35aaTZNRktlNClFMj9jREVQJDdPbVBlKlpEe0EwZ0dQMUd7PyVqYmBZYFRpUVlxUGJB
R3VsSAp6OT1weTBzPHk3QV9uN3hvJkxhUHBvQ0hOe0VrRXdhVFdmKlI2fkBfLWIjc3ZxKCNsc1B3
P0kxcC0zPik2VHE3VHoKel9AJjFZTzNNK1czJiZ5UUkzdUBKWWUjRH1PPU01UkcpOChkaj5aQkY0
MHtsWiZLUD0xem8rYj52fVJoamJaV2VRCnokMV9RSGc+YW1vSyR6UUF8SnRKc2QtVFEmQEJXYTVZ
REkrfT9ZMj5ZRk5laGsrTW0+OFlqVUNfaWd6QEIybnxjYwp6Yll0QU07NmoxSyg0bkt9ekt7Vmdp
azJ1c24mU1FsbTVhfFBkbU15ampFZil0VWhNVGUzbFhvaytiNGB3NXZ9RisKekhFbTMpalRLJntE
c0p7RyowNWpyKHQ8fStTaTkzN3pHVChjZCRITDxzajtmVTJtQVR2R0ZmZXVmKz1oRTJuNUAhCnp0
ZCRodSNMN142PXQxWVgmYVVmbXt0MENkTiRwRG5iam9MfERgZF5aVmBRfT9KdFAoTmJOajAjUlc8
KHJ6aXNGIwp6cloxRnBJTFZFX3lkIWN1b30obEZgI2RKb28zREImLVEhPzxiMzl9IWZ1cFkpYSYt
WDlRZTNDI3hjdDN0WShYNSMKemZhfn1zXilNdldLR2otQ1YzU1ZGJkR5ayR1Nz1gYyo/fGZoM2V3
My15K3BifW5WbyRGO0dVVj9ETmtlNS00TGFNCnpNQGhQN3lraj1Hc2d1X3I2O189V0JpY0xXM2Y+
UkRRZF5CR0dmK308WmBuQmBpbXRLcHVLcDxIZHZNPzUrbloqUgp6XktLKk12ak0pSiQhYUJ2NEtB
VytnNFpXXmhOfiRvJVdVSlE7OWw0LWs/fk5PWiRtMldGPTUlMTlLUiMkKGRubnQKempZZUY/KDlH
KH4oKXB8eWIhOElpcW5ESygoVUFIUUdjUzZwTGtyWWBhWmQqMVowVkxSKl80SmZMWjc8OHNHJmJr
CnphYVh0RGx0O25BKjhePEdWOXR0cT5tSG8+NztfTCphend4fVVlfHBTKkt3RVF3M3dmM1J5Njcz
JlNPPExIVmZqWQp6TVBHKXhJRClsfXFsMlElWm1RaGwwSTtaZ0VgS3wkTCZ4TkM/cnUwUFhCK0li
VmtAck9CaXYpdWc+KEleSmlxZk8KellpSFYjVHFDV2BpM2pZVTR7T0VnWil6PUZDbUx6YE1mJXVw
U3d6M2JqPz9qR3ZhVnFeWkg/fHxoVEh2STwqQXprCnpxZlZCcEAhTCt4JDJqPCp4VjNjbmFIX2Z7
Smp7KH50UnJuI180V2BfUn00UWBFK0xzXkhwPW9lblE1YXNBNGR7NQp6KntqX1pITUB3cColMiRQ
IVVPRklHaFh5SGV2YUhTKkJPJVl4fUJaUG58PlhJPXlSeXpQMzhCKXYlN19zOFhINHYKekdVWCMm
UklzLW5Zfm58WkUzYWx5aFNJRFZNTEslPCEjbTV1aDBtPnA5Rzg2YjBnTTMjbUVCI3N5P0p2YitU
YXI8CnomamUhX1puMEBVbGZpblVVeiVPNkJ5YD1vYGg/MUN1NHlrNXgzKTBCYk4wayNqVmVhRmQy
QT09bWhodE9SWEdYVQp6VGJRPEt6dGtkMzVgX2R1ZVRHWkswYGszQHtealcjZVJ3ek8rQD81REMo
YE09USljXyExNiY5e0hoVm9pSWc5OTYKek1AWFYmQWN1Rk1DSnZ7bzd7ellXLTBgcnI5TXI9TWBT
R15BaFphNVZKUjgyeDd4aHFLdl5qfU9Kc256X14qPSZtCnpTUX5HU1l+Z2FWRj42O3xLVmlJI3ps
a2RIaTVyRDZnK1I7bTtfUXRrXjxUZndSaTAhdzhCbF9KNXl3Pk5FJThCKgp6b1dpMGd1ZGcpQyh+
R2tedHxvUjRiUXZTXyV7WUJqcVhiN3ZkS0NMZzdxQDFqXz5PJU5lKDZHQGMtNURreylwVHIKekBP
aDFSb2RkckVpOHYyMmBgOWdgWXhlI2BGS0BoLVE5NEoxSHJAVHwrX2JHTSZxUV9NJk0oJXBVREVA
LWVEdmtCCnpEeEk0Sjc2WDBQKVJGfTklJENje15XJm1PPDNFc1klbW90fFclZGhWP2kyLShIP0o5
UHUmTW16Y2FjQm8zWm1Xawp6O1Q0KEI1QCV9QDZES183JCFQJShffkclfkoxZWZWIVo8JilFdXRg
ZEBvQCl8ekVwX1hIJHJJbXVlfjJfdEBQam4KemZtZUZaX2RnRE4hKE9RSUd0UikjSWdDK0pZaS14
MDRPYGpKWisrIz4/Sz59KUFYSTkxKTlpfD5KRDtnPTRPdSRECnpJcXxRQ09ZKUFVaDE3bHlKKkwt
fWUyS305Wn5lNj1FeDMyKiVvfWMqR3Z+OWUteSZtd3swRWkleCVOaDA4SWhBYAp6eVdzeCtBaVJV
bVQ+Nm5WUyZuV0hadSNhZWJ2RUw3Kmx7Kj50eFQhe2BZNWstaD5HaHRxaD50Y2l7b0Q1WE09bjAK
elVwZDVMJEdeSWpKempsR3NsTmJRPHVzUztGJVpDR0pJZnx3a24mUHl7aDBgdFd5UHQxOS1CPG1Y
Snl+enN+YXVzCno1PzdNZCZZVyp7c1JwRVUjRlc2ZFFHOVhmMUx5TGxFN3E9fWd9bTkmQkpxalRl
XmJGNUgtc3cyRU5MXzh0PTc9Mgp6KyNCUTFKSiVKPXs9cC1VM1ZsfUA4ajJqT1dsdz9oN0hXISgq
MXJ2KG4pcCF3WUEkVSl4NVF0QytZJW1eJURSc24Kem1jZnV2SEpVdk0rc2hxdlYjPlAoT0omZyhQ
cVVAQTE5blgqN3lgT2pkKERWJTZ3O1dFc0NrLX54aFBnO3g9My1hCnozbnNzdzNnfDU7PjBvISUq
fHlCcHpIaUtkQTYyXiVfRXU9VlZkQDNTU0UtV0xobylCWkxvdXlmNFRWRnUqYjFqQgp6ZW49LTdr
WEI4RlpkeTQtIXdBbmspeHFSMWNkN0FNMnZTT0tsUDNFZW50SDtxKSZXQjFQKDtDSkw7aTNuPm42
WDsKejY5dH5pe3cqcilHOT9qfGdqMG03ODBWNkZFYDVoMXZSa2ZYezRoS2FYT0pqK3ZyVD5sOSZh
QDRJKiNXNXBATFpVCno4cndDRVBPK1JNVUN8YnB6Z0o1ME0pe0g9SSp6SUZjKm1ncElxZmE2STdm
SnFeMDtJRVkjZEtuWlFybVV3ZkFhcQp6TTF6PmZjKzBsNm58PyZ4MipjRCQyIWgqT3dEdypsd09Q
MmJifTVzZCMpPF5gKWZ7IUxmVlpxVTw8Jjl3NW9wKV8Kejd9YnhvX0N3a19MWkZVbXRUbGVGdiRk
X2gjR31mJmw2WWxmWDxzKGMhaEE1KEFpLWxiaytjY3NwT0BBY207MHtLCnpjcChxfE1Ia0F8YmYy
VUM+NHVrdXFOQkReSXlZVi1Eamw2KGEySlozVTRVdyFOUDFSNiRYaGlJIXtDKX1kdE49SQp6OW8z
cFBSXyVeaWEydmZmU1pqJSFnQiVHKVZrdVNSQCRSVD0lNUtXQSFLSHstZXhjfHZTVjBtQDVARUV6
LUxXVk4KekF1K24kaFAkQT1jSFUodilpVmplayM2ZlQ+MDA7TnpVb1BHNEdFSn4kQk9tS2QjJHVp
Zj50VGNLP2JJTT4pcDBSCnpidlJgK1BiKXpiUzdpI3xuOVU2NWpHJUFGVXQhQXopTHAwWTJgdUU4
QDl0RDtMRyhSXnIwWUMmeStwTGFvanpiJAp6KkV4UFl6Um9xam9fKUhJamQlJkczRjdCJkphVGFi
UTxGJDRlYmdKVkRTZmI8SXB1KWlwI1BpVXQmTTxOclp+JWMKekFgQVMrdVBFYnxRZTQlfEpYd1hg
VF9XYjZpeGUtYVVNKWRRKChLSjxBQSVsNyM5QGM7cTtzMy0/RXk2cnNOOyE2Cnp4a3xUcmpHODZm
Y1NvPUUkSzl+MWJnXmZ1JCpAJHdtUEQ+aEk1aiVsVWptJlU7a2hYM2hBO1hnYXk2OU14cmVZTAp6
dm0/UVYtMmlmUi1UQDhpYHUpfD9vPSFsTCNAOHpSbF5HPzQ5Y348WDF9QVd4biowQ2RJYHQjQGM/
dTxWQC1KZiEKejNXZX1PX2NpPUlyK3E2K1pkKUFCJDdzfj40X3xzUXo5aDRkJiZXV1dvTWFNMlpG
bkA9NylXWEsmfGB4NW9Cb1M4Cno3aX4+JkFobmBsN1NHNW5DR35tJnVuQEZCQkN+KT41SHtUdGtJ
bVVEd25DI3VpdHxXdi1Lbkh9cz1URmJvWmBXVgp6TSlGdX48RG5qV1VMeVBIK0EjYkJSZ3M+d21h
SU8qKCpFdV8/SG83KyN0YDtPckJWWHcjKUR2SkRRZkd1c31WTzMKeit4X2MyWCN5YVFgd0wzRCNu
eiN4O09vfiFYPnRAKldsJXFTYFBuPG8mPG01alVmbD5QI3p9RX49UGtJJTZsJmxMCnprekxDIUg9
PTBTTlljaFRAZyN2KzlMYUU3bDNjSUV2PEpyRitXVEBFa1VIdGxlQlUyMGRaOTY5XiVoaiM5O1E3
dQp6MmEtQkRNMSRRQXd8aXh3NkFKRCE0dEkjcDg8fmJNY2JiTkEjZFNZKHRZX3I8VD5vSj17SkJH
PnE2ZlNuTCY5PiUKeks9S3FiZVpxT1gpeG1eUnlKXj5CKFl7ZVVRbXtiaks1VlBIRHl4NnBidkFe
Uld5ZUk+ZW9tfnxZJmElMiYyTX40Cnp7Qlg1MjI1QG0+YF9pQnJVPUNQcG00bHROPGs1NUxze3ZX
JlFJYjF+X1VHQkZfaCFTJDRTdSRSKT1uPHtEN207TQp6ZG9qZUtxfio1M3toYz87MXd2X2J1PSho
YSlSPnZ8QStuUEphdXBHY2t1c3Z4MzFvWnd7ISpIOFpUUyVuI21aNHcKel9STiZ7YjJIPnViQ0Zn
V29tPW10Ync3JlopaDlkNmo/YjJHanZRN3YoOVhLPXB7VTg8TSg2cmEmJS1BUm0zO2lvCnopeE4r
dlp1SUklLV9abmQ5YTtPd1FacT88ayU/dUdmPm8ob0FAdU9NYilfQnhlZD5YSkR+PT49SyFtKzFX
P18/Twp6bWVxR25TMS00O3w3KXdremN8K2R8NnFDI1R+cCltYXMlYSY/JTA9MCNidmxydDBBVyRS
QSFfWWRvZDNnWWJEI3AKenc5bDVCc3F4X1kyNEw/Mk1KIVY/fDUwVGFgJjRjMEJaSyRfanhxbiFW
KiVNVnRnWmU9OWUrQytvZko3PUIhTjExCnpxcnFjdWRvSz55KyF+ckdCTUMpJUNaT2RBMWZlJn04
bVlGTGVmWWFgJEdlVEVZNnNnR3Q/T3dFUn0tNyhoZnFTUAp6bWY8PnlVTGFYPCZlOUpzXkVBUm5S
eElLZCV7K0NTdyhLIy1ISzNfRl4hNXdHc0hDRnBRdD1YM2p1IVFCYElEM0YKejBDJX1+dGVRQk4m
UWtobjB7Ui1RSCVvdHM4JC0+dXo7RmokbVNebjIoezFxXkYyN0VeUGBvPjxpWE4rP2d9RnFsCnoz
ak16Y1JAKF91e2BKKG5vaDB+WDhBcmJLajVwdXkzUl94YzdLRXpnXnxVdjJ5USpUeVZ3V0Z3VEF2
KHhhdDUkQQp6T00hRVM8YCZYTnpuVENReTYhQlcpV0ZiPVN0JH0/NHt2NFl1LVNYPlVAeldTQW5u
XlhXWmRYP1leWGNJRTFaOzQKejF7eThOQXVMSGg/Q2JIditeY3xZVVR2K00yKD8lWm9Ben1XX1Z2
OXchbEdoQmBMRXNLNGAqO0dLUkg7Ymc8OW1NCnp4RzBOTUtSQFdPSXI3eXpfUyMpe0NAM30mOXky
RXdGXyQ7S3VgMjZPYn5YTkZHMWIjM0tGRz9vYEtIMXtNO0h6dAp6czlGRGI9YkxqKXJ7d09XcXRW
LWpHQ0w5ISlOXlhWWkFndDYrQ01edlUoZF9Vdks3NkJHNVRjMGE3cmJPX2ZWWCsKemg9JmRAWGpv
KlIheEtSQVRNR35CKiswblg+SmxEKGFoe1NuNHN6U3VjY0RGaEk9eyElIVQ1XjBxYjhhKSkkUTVI
CnpWSj9xYzJXbjdEVzM1OWo9NnYhRGglfj5+ZjFxNiZ0aUskOHtyX0Q1TXNRWT1MRmdYd0o9VGhm
S1E9KnpMXiRWTgp6V1Nga29ITnt+VWxHTFNJNXFXVGtGOTxHZVp0VzsxRz1Bc25iIXJVIzdyNCh2
Zj9HVkUpYEN7bShZbEN4KjtDUE0KejdaQlpiRXBGX2xeY3wkZjRNbHIpX15oP0xvRzJwP1JpfkJe
TnBob3tfPVRRaHpUQHo2ez52RHtZXmh0dkIoRS1FCnolcD9mYEJvc2QyKWdqYUtkUilweXwzLV9T
cUk8b1FTTDtBZy1idWlXbkYqcG8pM2xeeFNpc242M29WZW9qJSh7Kwp6TGEzI0NDPmVRa2JKZ2Fp
UVBTTVd8M1RuOEcxSEJXVjwxdmFAIXBBbUw3MnZvXjc1QWdmXjBeNFNYJVd6MyZDcVAKenVJcDBA
WkxfO0lwZGlsWCo0OD4wUD54a2V5R0oyNWs/SGRQUyFvN3J1SDgmRWR1aCQkZUV4Rm91VVljUT4m
OSs8CnphO2VUUThwQnNBJXdgemZRcnFVazVHKXFLPk9MJitTRWdHPlRScX5BezFTQ3J2YXFfJUVR
IUdWKEFhbjgmMkJ1KAp6Slc+OWZ7I2FxQ1d1bkRvRko7PGczPjlgMmQ2LUVnYVg4ZHJ7WFFVTiV8
ZHtxO09wRDF3KkZebCtEWFFpRmE9K2sKellCVENgbl5we2l3dEoqY0lofnJJS1VmUDglNH56O2Fn
Q2hXYigyKFdjTENRMl93akYzakVxQTVEKXgqWlU1WTllCnpFOHpYTzxvP1Q8UCFRZlQoYD1nalpZ
OSRDdHFyZj5gPVluRF9mISU7c0M1RzJzIXlvOSVWM2pnX2d4RXEqOWRiSQp6ajR5KlBAd0pOUXMy
S1RlNjslZDktflpUfHQob1JwJntsNl44PkgkeClONlY9RlgkKWIjJnF9I15vX0ZpXz1lTXUKemRL
cSZURWNPbnlgKiluYlhVMFJiRHJlYHh5MjhQX0hrcFl7VzQ2OV8yV34kMCpZfHNjVytQRVhEKkxp
K2lRZlI3Cnp6bS0weUdZOyktMG9RNkY5WipabE1hY3ZPSWJ8dzNRRDNnMG9WSDV1RHBvei15Y3pt
RTJPbkNsbmN0empxJHZodAp6Zm8pSkRFMllfZWo2flR+WXQlSGVHVUhLdzNDfjwqKVRRPiNNVCgk
WExmZWA3PW8/KU1Vel9zNipCLWw/PHNxdlYKelgjQGJWWF8je21qa30xSE51VHpodGx7WUBWTD9e
dCoxJjJrK2xrJE8pTkNOTmhrRHchNnVRcCMjZHxvcGYmTW1DCno0MDFEYU0mKDt1cEMrViZ6Rn5v
Z25ma3M5a1lnbTwkJjlWYmRCUlU5SWZDN0VRLWY8JTt4bzJPSzw5Z3hLJFhJbwp6QFBZdmdIeEVq
OyN7dEtnYHA3PWBmI3tyRTQwXyVhJFBmQztJYTlTOFdwemtiYz5TeW5RMWQtMk9WeU9sO3FCWX0K
emIpQlBwRVVlKl8taXU4eV4takskU1dTJXg2JmZJOz8kRGVzV095aXZiZGpTb3s0OU5INkZDWG0k
Q3xaU00jPnUhCnpGP1Y1bjNgUmxtKVopVl4xYlReWWtoJHlrcUxtVUJFaWE5UjtRO0hxUno2Ylc4
U0tUMGNXZU1ic3RmMitJc3R1OAp6ZTx8dTklcT4qRHlJUVh6V2txUU0jWjR9PGtAKEJqVGtvVzx1
ZE1gIW5yQUxGVjU/UjN3Y2cmNGlDJX5Hc05hSlIKejIkQm54O01aZkVHcCUlOHNmRkkmTHM0TXBU
ZmRNJkhjY0hxPChFOGB0ZHIoRUVaOXsmczVBITUhOGE2OVI3NVl8CnpyOypnLUsqPjhFTWA7NTVm
X3olV3A9RXJAYVYkZ2shQmtARHVVOz0+KDlLYGd3fHlRe1RRYHUhclM/JDBtYXJmPgp6N0pJSkpi
KipWal5vWnFuVz82RT5wO3g+MDxRUUpRe25HS0dyd2UrPElgc284UHA1cVJfOWokIz5nUyFQKXVh
WWAKeiZrLX0pMjMmWGxgKW47OSZ4WX1Zdi1JalgrdXFNQnsoU3MrQFpMTz5sWiVsPlZpN3xaNnkz
PFNmJSNTRlZrR1F1CnpXUEdhSHtQNmJnQzgjcnRyZW95VT17KTJ1SHEjQj5ga281LTdSU0JaaDY5
Xk43ZEF9a2U1bXtmdytjZiNQYylqOwp6PiRnQUA0MU0qQStRPEBKRUxuJjNXc3JxRk0pTl4meE1h
X0kkPEBjbF5PYV8wVTI+R3JgUClVS0t5KXg9Qig2VT0KeitpPHYhTl9tK2F4elNATHckR35fV3Iz
PU9tKHtRRzFBS0tnamdiZUhDVVQkKUBrXn1CYSN1bGQ4ISp4d2l7QldLCnorKnVXejY7JWBIJWFB
XyFvR1RvVnk4QVBUSWozb0ZEKi1KUEUpQlc1R0I7MDglWT0mZU1TSFdQZEtBJDBvNEJLfAp6KDNq
NDh3QWxxLWRmJE1aMCh9fG80WC1gSCUwfiFfX0gqJEF4PSp3clUyP3JJKkBZczkmSX05ZipBRztP
VS1RK0QKei1aRVp4U0NjK3Q4P2F0NjtuK1JlKktxfFR6QipjeG5ZbHdWUEFHOT1OQj5ZOGFUTTBe
ZDhTVVJYNnVeKmkxZlZqCnolcUomazM/ZF5mPzhUeyNIUStaaEtVMWJhOTZ5cEBae091K0B0PC1a
YVd9PllaYWdYd3MrMlhoSXApMUQtcSl6cwp6NkJHV1ZhNS1iPl5MK2xOY08kR0NwMlhndnB5OF8l
aXAlQVRKTlNNbHc8ZVFZbUFhO1FNZ14tcylMJXtgT3VqeHQKenJsTnV5U2x4MWk9dVFvVStWXzg5
K3FsTiN0RFJQXzwlYDJsT14+OWNXbFJrbnlKbzxpPlR5R0tENU1CY3YyNjhNCno7QDlpXl5ITVBZ
K1ltfFcqeXV6IzdGIXV2IzRPO2pVJXY7NUVnTUZ0TjVKQ09eKUc1JTNWO2gkWEI9ZWxsUy0jbAp6
RFNxKjFpampBWS03SVc8OClUZ1d5QH1NNzk2SFBhQXUtQlJITkl9dy1STCtwUj9hOXpray1Gd2gr
NjJEbU9zdG8KemJlcy1wMHZkckt3SXlKajckRTdgc1I/Tk5TfG9WamBRUV5oQkRrTSpNfEloYzRZ
NGUkdmo8dUQ+Q1IpbypsfFJ7CnopfGlme0paWG0wYEBaSnpRWGtsOyZmeCFnb3YwZGFqSzZ+UWxz
Y3ZoZlUjP0I5RDVoRCp+YmJpTSswQ1Nnb2h4RQp6PDd7fFpKSEEhQXd+V2BgclQyWHA4VFo9WndM
PERLWlhNRnxse31FVkhvKE1gX05nTlVyJEtLPllGKWZfSWZKOyEKemVRRSstWCo/ZXliZUMqRyhT
eElEbDw3KGNlTXpqKGNBdFZ7RUd4NUJKa31sWUF7OCo7ajxGWGZOQHBRQFJyYHl7Cno8UCZSNE1Q
bjghPGw9a313VUR8c2BiXjNReC05b0RHSUo0Y1J+c2N5YWkrZmdeM2RwVjR7fnc7eVQjSXFBLS1w
egp6YUVpdFB6aVNBSnpuV1k5OXd+b3tPc3o2RD10RlUldW4pKDBzNndFXiYlVUxHd08yfCRhPHQm
dTlLZFN5X2xWbSkKelZjclJ4Zm96aXJPbUhsYFQ0YDhneyRmYk5IXm5SdlhKaURgdGtYU05qZT9y
KVBBQz88TiFGRitENlZ9fEo1KnQ+CnprKHt3OEhsZHZ8JHtlRm1uLSZrYmVKR0stYzdMfmQtRE0z
TTJzdXxBXmg5dCZVcX5NSVJUMl9laV9MKCVEY3kxPAp6NkEkUmRTVF89aCEpQzZEK2JqVHgrfHw2
cFVofm87I25uYFZNUmdUYmMpT0dQRHFTSk1yaGRoaldpYHN1Rj4hJH0Kej1IcllqR2olI2JyKmMj
UDhMUWdRNEdBNiklZF84WkQzO0FsTmRVRS1OVWBpMHZjdXYjbiE0Mz4yVSYrKy1GUVJXCnoxPHMq
cCZVbmpAdGpLRlJ2NTVaaXR0TlJEeyNGej50RGRkfkxNbj1uNUdKc2U7ailzZV41P2dnMCVPJDA5
dSFBPgp6NzxZKGBAazJiOyp7KndGNF9DSzlVcDNMazEtb2JXSEw5ZXFqJjJxMStWJS1WJDVBWmFJ
fVJUVWUxMmBra2c3M0wKemJndjlHY3NWZlFfPiEwMiR0ZTdRK31tUnQ5VlZISnxNY2N+Yz9KRXoz
JVQ2R3QrZWhKaEN8IUlAS1ApRks9VDNACnpSKSFid19aYTlwdEAqJjh0K25XaWo+QFU5UzEkUVh7
al9kOHA/dmghKmJJOCh1JShNRENZYzJKZVVscihfajRtdwp6bCliXzRqODlWV0xwe3ZGRC1mVTtl
MVlCb3F0ZHJrYSk3ejRNX1FVWG4oJG9kOT9QYDtjemU5RFVtX3l5SUEzWiEKeiVGNk5Ra0JFe1F0
OEFUUz17Vl5ZZThEUFpeIXAkT3ItaV9YWXprJHplbz47OFY/RWdKWmZJbk1MTj1TQz8xb05QCno4
cWF5O2xpTDh4KmlhaW00c2BGYyhvM3gqWTZTUGUjPjclNkxea3dxMmlKWW84eVFlN25XeHhQTTE3
VUsoaGdMRAp6djlUJCZrVHsqVkdubS17bHl8Rjc5ZS1XdlokIz56VytiYGxHeDtsX1RqeE42JFk4
eikxUCpueVo7I31MLStAPGIKeiorMj1SU3VIbT9GMUJHQnlfSnRjJXJtUWEpRW9eZ1ZVRWd7Sm53
TEU8YWlJNCZkdXEtKU99T3hHQW8kQldAP2M2CnpVZUtER0VaU1IkJVopcG14TWI+O0pOTnUqYSU4
ZlVReHZFMWpAKDl+VFQtISRWKDx7bStwWThDMnQ1LTJFVF5ENgp6JTxqJXZfV3wyP19sUlMkd25a
RSg9cG8lcUMpWD82cFRyOGZqRD9oKkh3QjNlO0JUUSorWWAhfGRSNVFxZXxRd2UKenlHJGtLYVE8
X1A7UDtDey13KmVnZEt1MVRMJSFLK29SajEjWVExMWZtY3RVX0U7SkpCekZ9TD9TMUVlST5sdUI4
CnpCJnArUl9UbVJsKV5nVE9aaVJyU0g8ckNGbHhoRDNGPnFLfG9hc089PE94d2o0YCpLWnhZZ3JV
Kj1Zdk9feTdEQAp6R0l1IWojNEJWZE9UTGZ+dCE9MD9UI3crRD9eemBLT2Q9QlJxJVQlQ0BaQDJ6
JSpnJUVBJXBzNzxnY0h6eGsqYkQKelJpcWFRUms5PWNRMW8xWGBQelJhejw/SDJ8Tk4yfiU/KzB4
Qm9NZyZRUzRzT2U9cWFre0Y0PmsyP3xEK3EyWSV3CnopOz4lVD4zczRTNkQoKFpDJW49MFBkI3Bg
IXNrekNHckZwVSFSYmB4VEdMOzVZKytxZm9GYnhCc2tRZz1tP2twWQp6Yj5tJHJ0VFk7OTM7M3I3
SVo1WDhBbDs0SGxqMzQ7ZVg4MCV7aFZ0R2pKez1rQiRHZzMzMCp2OXJ6fTVzPiM7bEoKemg8MV4p
aUk0Uktkfk9tYm1waVFFLVJiQHU/NDRmRzMoRU17O1VlZilpTEpwd00odHgkQFE1a05zd3ZVMHcz
U3NCCnpLVWRZMGchRXVHQmo/T3Rmdmo1RFJ9PzhVdFZgVklFY25ndnBSfShzSW9zc3JDdzdrfSkp
dUZ4ZiV0SWswenpjfAp6ZT08b3tFRDB+KD5TeD9qaCFoME0jJmx8N2AtRWF+PjEyVChpMjtLMGFJ
dXs9TyVVKXBpM1ZyfkFqbEV7R1QwT1gKej4pMklUaU1GKiZGdUNPVjQ7NW9+SkE/UEMzOEJMO1k9
YTBrQEJSRzk1e1BDNWRaWjJ1XnZ0OD5JQFFKMz1LSzhzCnphYmw8dTk/cztAQDdfdm5sfkJFeWd2
Zzt9Xz1nKCV2K0xEYzl0TEByWDk0UmFXUCVLIUlSY2MmTSpAaSM1b0JCcwp6UC1LbnsodWtZWSFg
cihRUHxtK0EjST1HaT5DY1ozY1NTJWFnJilYLXFZU0x7RkxpfHJiWCVfaiYyYzY/MWFNNUsKejc2
S0FVe3FffHwkQzkrdk1PJno7Rj1kcmc5dE55VjtGfTQwdWEoRC0wYV8rdkBzOygqZUwmUD5oeyZk
QmQwKUgrCnpia3ZLYmVyRVQ3aio8OGNQfHRvO1YmTVotVThUfjtYMVY4MSFDbnZJcGROYWorKVpY
Y2NiST4qOSp+MEpLe0Fxbgp6Y2FvUTZBeSpUT1VTYU9MQm0lPGk3WGpZZTJLSWNFe3k/aGo1ensw
VEUkTjAlUHxCNHd8OFpqayE0RWAkd0xrazsKejAwP3JHV1hDRkxNdW1qYWlNQ2hfYVJrNWh8NUpg
YE8/QHM8X0d7SmBxSHw4U3RmX3xoUUppSyMmSFA9VE1ld0wmCnpJekJ5fXs7JEpyJS1zNCk2KEYo
YEtvNCpASE1xcD4oV093OXF+TEI7ZT5yYSpPRCs7bjtVLVU2Q3lZbSg4amxUfgp6SS01d1A/VHgl
SiVzfVdpeT1PcWpeeHRDeThWfFNjSm5jQWg2K2llUGtEITNVenQxQVI3Jnk+Q2tMNjFBTThsZV8K
elZ+XjQmY3szS3tCdUA2YFgwbkEod3p8Yzhkfm9mbzFZcyFPaEBvbyl3WnlCSiQlaVJfdE0+byh3
XkxPPHpxfHNgCnp1VFFqc2tOSlFPPm11bEB0NTNUdUJebWs9c0NQIWN5PnQpYnQ7YXl5Kio2WjBa
WD99UTRvLUYtKjZhRTspMEJGNAp6ZSM1M0pLMWQlXnZ6U0hxQH5eWXlYZSEyX2Q7ZEk3RyM4WXE/
QGFyaikqRXl3cXQ9VVIqSn5VWCp6ditZRmlBbUIKem5fTV5JPn5SMiZRe1IqVDktfHQ0V3YkbHZY
dE9RKDslKGkoMChHZFVAMXd6e15LPzh7RXhqPlNUUGZnWjkrMX58CnpGU1IxYjRAalhzOTJkOT4t
eDVUZ05xfXszUXVgRTcpVElkeWd6K1Ira0xFNCZje3dybXNiMDRKe2hKRE9IPllOJQp6Uis/fUEh
PH1HRjFVQXFVKjlTJDdDdGYzWUJWO3UoOGRCQk9WOXB8aGNMc1BsM0xqPi0mbkxZb1YkI3JgIVko
RXwKemNfZnFCK0R0OVA4RlgqMmpQJGdgcX5pJG0+RVV7OVBobyFjUF5ufH0hdER8OWpIYDwtSyFu
Xk4zaSF0PFdxbHlTCnpsdXNAei0hNVhRdXVEWFBRZWU8fWkxV0NlWjQrYk53c29GVnE4QUB6eS0p
fmZwTWgrNXBpcTMrcV5QaGFsOTZ0JQp6ZWB5Yn1qWlE+TFNeciRCSyl9bGZ6P3RSaHVpNUBZdkd0
TncwajBjcEAoVjFDaXFBQTQoWGpAQD9zTyYoZSFhY1IKejYtJlE9dSEwbTJRRnktNTJJUlVjOE9v
UXJ3dncwYiVVK0AmYE51M1FRPU4wQ3krZmJMQGEzUDZuaEtHYnhseXFHCnpOZV80S2p+RVlaOFFq
MkAoWT5JN3txcjB3WVhXYkQqS185PnkrNG9XfEd4RXFYVzsqRDIzb1AyKW9YdXNmPmVVRQp6Qjs9
e1ZKV1liSiMxZzNRZytacFV5S0YxLT85VXgkRXFSVzlfJmpjSkUtSU5ee295eD4tQVVKMkhWYE5u
N2U4c0sKel5BUmpCZFZjIzBVREt5MG8meHJ4VXpQYnkteX0ycDFDMmMma2c+bW0wUz1AeWh9T35D
R1RBfWNeI0BhTV5LK1lWCnokJVJjMl43diRmTnJXMHRQclMzO2wzSD48bDNmVjtGTHFmTHpUbXw/
RUY+VFQzPFF5T0p7JUY+LWQjPkVBSiNgNQp6THFWWGw0MUpLcG1id2oydWkzJXdoVmdaTzVVNyVj
TWhyX20mXylgaV5RNkBMJjc0NCR1VT5ESGxpMkQ1KClYSG4KemA3PEJ0OF5FYGNzeVN7SiZLQ3Am
SyZFcEAkSm43MjxaV2VffE1VNXszclhubnhObnlrNlNRQHBMeHZ6aFN9dyV1CnoyPHNSKzJVZGVm
V08lUllUMFF2dWwmYTlzXkshUGkyb2E7TT1ffXlieVgjWjZJY1Y8TSluezl0cE8lMn5UQTtMKAp6
S1RIJkdlTyYtaSpiXzNKRTNnamVzNWp7T3V5WmBWQFpWR1doRms0MyMjSUswYWpnWERsPExvezZ4
OXxIRz9rc3kKelJ3Klg4cD5CUTNLZXpFbHU1OXY9YlQoZGl0Vk51bU9TfCVCKmZ8bEU2TSRgV1Jt
T0olMkQjbHtGTSUzPmtLayhJCnolNUc7Iz96SHcoKSpmTXkha1U5e3hpUC0xJD5OSmdgeTYwJDds
R0AtejF8QSZTPGJURl4mUUpIUkRYPTVsYEw9Swp6T2YoYkZBST5GemVZMilMQW59ZmBqY3k8PGlO
SmwreGVzYkNFQHd1MFk+NXoqPmZgbjdafnxMQEcwaU1lKU5vdlQKekh0eTtLKExUODw/O3xiQDc8
dXZIMjN5WkhqKUU4SigjTEtpZCt8KUtudXRaSjgxbFVPaz9+UkNwOT9GLUpNZG5DCno1P01fZSgj
UH1SO1phZnRLa19QOTBjYUJmY0IzMz4mfWQ4TXh6KCs9NHwqUkM+U0NEdEJCWGY/JDA2dGM4eUlg
ewp6RkpPZ2I8aW57PDBOTkgzYz02WDZEP3tzcUN7SktHWCVHY3lzTyMpeXgpK3ZrbjVDeTRgUFpT
PlB8KWJ9YDZ7ZzcKenlFZCR8bGMzY1RvVSRuSjxNPnctWF8zTV8wMDRxZjYxZXY7a2N6dzU1ZTJn
fXdVezhzKGdwRUF7KiFqYUV5c1EoCnpSeV44K1E3QypaUWhjMl4qfEZ2ZT9kPEpxSzQ5QFhmZV9T
bUBHdlhnbVM0PVZAel9KOz5+VClBcXN6akxwIW1pXwp6cFI5TWRBfitUQyFaWFJJSndjMF5jP15O
LU97KSs/WFN2ZEVtdVJhRjIoQj5kdTZ5SWFNRiMhKWojTyQ/UnIrfGwKemUyYlVjP35mKG5tWFYz
K1UyKnF0WElGY25WUShmfjRjZiF3P190MXtMNE1kR1M8R1J+SnA5eiFsP1JCcFR2JFFOCnotVjZ1
MnNsJCRBbXorJiR6bDE9bTl+OCZyI0pvOXduUHZGYk9OXmNAYjgkPndzeGM8X2JvRXozR2xAV2N5
S1RqaAp6eyRvKmkyckdPUHZqPFNmQE1BV0FwMU5PO08mZlBjaW5RXm93SHBvVU1mNkZaZF9ke3hr
aWlLMFplVmxTS1U0Tm8Kel8qRT9iV0w3al8hNkc3Sjk7Nz4hXzQtfE9eVW05e19JSyk4Nll7aFVn
RWA/a2BabjJwLTx7OT9IflczSXlPQ0ZXCnp4bW94d0gwb1hDQEpuOSohLT9ybWtpQ252bWJOSmxL
P34xfmdCTjNXOTNnXlVaWkpHTm9ZOW5JSm1JS3pGcyFLOwp6ZkNDVDRXYzQpdygkZEMyNTdWfmt0
S1o0SylmUkMwKWlPeU88YTVKbjdJblA5Kld1O1NeVFIpeF5xNnE/WkFxJHUKemBYQSNSOE4kOG49
TGIyYGN9fSFiYW09fGVwXmo2fndBM1JmMDNUWXIqOTFoNElAKEcqNzQlLU93cHVlOUFHcWx3Cno9
JiEoR1c1WDhMdWpRK2AoZDlPdjc3eGtvKzklbEtubzs2KlppJFUyYzt2fmFLWSo4diZiX0N8KUdY
d1gyVjd3ZAp6d0dGXnokXiZlI0VVQ042PmVIbFY7Vk9acTxxV1VPdENxZSh1IWB1VShGSFQ7TXpH
aGxSbH5DKjFFJXtkOXl9aW0Kek1QVlhJVCslI0hzNlF4ayRTMTVsNG1nWkVXY05KIzxTMUoqdGs5
KkdBZn5oJUxaVGk8VURoKzdtZ0h7aEgzeUQpCnpaYDRuMFUmfXU0ZDVhTm1vd3U3Q1VKSyVmP1NB
UGNSbnkmJTU2Qn5Ve3xNPF5zLU0+eEtBMSZHUiNiZFJnX1BAcQp6bkd0WTZnNSVyRGIkOT87PHct
NCsjKitqcWlzaVM5bHlxRExpPGMjU3tkSW5eVXhta2dPSX1kdGokd1R9Mzc/QjMKelM3QEgtOEV0
NmtMZmR4VihYfW91T15zK3pMaXNVNERrbXZyaHBldz9HKDU9amVKJlhGU2lQUUEtJUAxbGxORytH
CnpRfkxDJWg7a2xtNSY8Mmt5TFJDYzhffjM7Jil9aEV0NCZofWUlUFNycUJiKGI+b0g1MzR+fTIr
Pll3TWw7e3VqMQp6dmYhclhBLV9YI3wxSDExaWtRIUtHWShBP2MjcjM1eVRGT3tyVHdke09USWkw
KEtQMmlQJGVrKUFsdH1QSUhPWk0KeiMlPGJ4SzN6WGdnWXojK1Y7e3xBNFU9RzlXQEJIeEhzPm9g
bD5icD9ZZDErdFhpISh9Nz9JUjRtMnZANz9DNll7CnohXmZkSXM7KnM0KGgyNXghKUxtVTw0K2Ja
e0lQd3J1WU5rRHF0fF4zRHo1eE9uSmdueHUxJX4/P3pPayZuPylkbgp6PTRobHo1cD8/WGleOSF6
PGUhXkU7JXhCVGh8NFkwS3NJaUBrSHZwJj5nZmQwKnp2WiRIUGd1VFpPfDE9MVU9ODUKelBWdFI4
ZF9IRUBoTTg+KlZaIVFPJWpfUUpicU5lVlNEIWw3Y1cyQnxOP3JSUk9fdWAzM0Z3RiU7WE1RfFdW
aHQ1CnpWZGpFWVkmVlR2ZnI7QiVjRCN7YD4tJGl3JlFSU0FoQ2p4O2I+JXN+T3UrKy1SbHtAbD9t
ZHBfSk96OGFPNl5rRQp6O0smS050KVJDaiRjQTF7bjdJIzN2V0JBJWF1VTlHMDxUJjJUcjRwZEV9
O2UlMV4mNHltdTd5NkdLclY+UWlBZXEKenE+MHVWTz80dnFYKiNzJDJOUn0yTVBVMGElUnFhP1Qx
eDV8XmlQTkFmUz1EMmJwM2ZmTkl2ey18QUF1fGstRXw2CnpEQkczJD9UPWRFdnBacDZnTF59MTRT
NXEremRJfmktP0ZkKU07cXkmcE5Fe314OWt1THRlKnwjRiNKYCZHbWQhSwp6X0BUdGJ3QE15V0RW
czU9dG1hVl9EPV53aGdJTkN9WSRXSVRKbkEqSFhjU0xrdD08THA+Q35kJT5KeC1JJXFtYFMKejJt
UCF+ZW9Lazk9SmUjUyk8fXJEIVhxITkrSD14KiUyPHFVPjVvR0pPX1EtWHwwRWdSeztUKVdKQUVV
T2BhYXtFCnoqVko2M3p8TSNBcz9gK243eU5iKkNKI1ItZmx7Tnx0Pit1JVFIKzJ6cGpFJGJtYWVI
emR3dSt2bW1wIVlmV01sKAp6RHBGaCpZT25UV194ZVJec3t7NjtLQShPWTFoK05RYE5zUTU7bGph
UXNYdXJSbmNhSiF2aDRmdHB3S2NLeGxaI3wKenlYRG9EPT1SclJwaj9sak56aEpOeSFfKlZRUHJG
bTEkRlYpaCZiZHZeKzcwLXpMOW9EM1JyKERTQl5sZlpvfVpVCnolIz1DeFpOPUgraXhIKDdMUnM1
NlZsZ0ltMmYjQyVSaFE7KzFBYSYmVjNmeTJ8Nm0mNHRVdmwzUGo1c3tlPzVFVgp6bkxlNU9VJDQq
Ulh2Jjc8ZkEkNnotRWdSNiRMTGc3TD1jSGgofDdxQSVPOXNXNmk/VDRFd3UlJnUoR28raFdrdFAK
ekEtYn5wK2FyfXUjLS1ue2FoVEoxQEpuJDZDdXBUam5pdD5yJTQqU2VkSFBFV2JEPyh7TW03MU5O
dzF8fHtkeiVaCnotdShWJWpeX3AlX058KWFrTXc9PD5NZmMoc2ZueiRIbVI1cVdTWnRYQlVnMnJz
bHpfaXtvMikldSlfPnc+V3xwVgp6aDBpVFM0aDBCWU87YSRicnpgI0FpZmNUd190d2dpQWFRNDdO
SmhmOUVPRzR2QmVXN1V3ISZgOXk+JX1QfERlSF4KekdjTT40cFY0ZUdQI01uT1pDU3JKPnZmQiF6
M1NkUERjIUB+UVJzeHFtJUBFZz57XzFaRH15Z2oqZX09JHJ6Tm1zCnpGKHUrdkl7TmM+U2ZhZkQq
ZG0zcHBEbDwjMFF1NFFucnBoUkFkVGR6QD9KOTZIMDM2NjY+aExacGcjMH08Pjt+Xwp6cXxaclNI
bT5YJlp4WTErejYoR2MwS2pCfFV0PXVAdD10cUw3ODxxbVhIRVJzPlZ+el9gNnBaSStaWC03MHly
dV4KejVII0A5YG1gPlN7dEZ7QmRqSH5vPUY1eGZPYE0+Tm1vRGBPPXpxYiUqKD0qcj1kJEJ3Kjd5
V311PkYkKGNuJSE7CnpZQXM8ZXw5ckV8byVeclBsSik7WmBrJWlfVTw/SWchUX12Mm58SkJ7OCNh
SyVeMipnMHVMQV5zJF5OMFhKYWJOcwp6YFNzY1U9WEY+OW19RWV9SnFDfHJCMGw8S3pKTFoqM3cm
T1hnNkkxYCQmP1NeUUh0bEt8OTdaPSZoYEtNUyhUOWAKens9biNlKUU3PzBtK3xHQU4+JT9wJmA+
MTkpZXxvPzAzcWZVRDI2Xj1yNkp3fGptWlNTSkBVfXg8ZX4lQUdgTF9tCno7KHpaWDhQRUdxfEw8
PjJOYXwzK3VfbF82eGV8USZMYThPK0t9cTBOM0w7bExGYFJuKz9gc21+bEJxdm1IViNsRAp6PEBQ
RTBKQzRYeS1zZ3BBN1g1dmxMNnY7dGNRfk5zRVApYzRfeHhvTkhfZVVlQj9iYm1tcTApbW9nJmpk
YTxrKlUKenIjJH1xVlRxdGI5T3VmX0pWeWQ5SFh1LXtsYDUwSzZsKF8ydiFLYGxWWHNtfS03fW1o
ZDBqVnV7XzRNMT5rVkE+CnpiTUZ+fnB3ekJhO2RVT09LM3dKfnA5S0VYSDd+YEk/P2NgbzBRa0Fx
YkRBN2tXfDRPd1hCaHooNkBKcHN0QFFDMwp6cihtNlJJQTFGLXoqOyV0SVNYYXx1clViPmpHQE00
UThOb2lrS3JHKkkjc0duYHFgM1MtPiprOGE4elk1PjBhbWoKekR6bnhCaVcpfmpQN0p0I2c3LUlO
TW88KzFxSVk+Y2ljWWxPQFlQSjk8PiooRk1TeW5ydD5DYTZKP3IjOVRXOHJHCnpBUmU5Wngtal4j
YWtHYFNpJT9BaFBoWE0jampyPmVwdW1IUW1HKCYwUnhmOVNiclM1cT4hK1g9YGQhKEI2N0NIUQp6
MDhqJHZ3SVkkKWRtJXQ1MkxaRGBOSEQzWjQrQ0h7PipmdUw7IWMzXyZEfFArQGk0aT4lYSRRREM7
K25vO0VqalAKekcrPmskTEZGSm9wZGhQKDtVflBpRy1YQCplPiZ8JmVTSnEwTkk9YUtMb0kwaUFy
Wkp1SkhlM2JadEkhZjZuVWNWCnpZejcwMHghKyFVbzlGVT4+cyhXIXZ2NmJ4S3Q2TzRYTiFYci05
XkF0S302SzExUjFMVTVUXzs/YHxZPTZpPl9EQQp6Qj59c0FDbnJjST5PO0MtKkZMbn1pKSp8cSV4
IVk9TkF0cj8/YzVIXmphajdvO29TZT41UHh5TTshUHJGYFFXcDUKemY7YXlBSTZUfXVqSF5QP2V2
WkdgeEZZNldsbXZnVnQyfilfaF98MyNNUkQ+ZGpJfHZ3X2lPNn16fURVXnpGfk9YCnppbmNrIztT
NmgoXnZOcXorVnYyamp+QFpTRDdfRShrfGxFX3BmdVgpSnRzOSlKVjZFeU56SyZeXkIqK3tYNypy
RQp6U3VAO1JPXk1VckVBZGpee1ZndU02ZEFATD5jT3Bgd2hwU2Fnd2E7TkhIbUZTTXNjVEJDPmlP
MzROJSY7RlViYE0KejFJY3FVJCV1PUkhLWtmcm9zbnJvLXVGNnh6KGNuS2c/YC1qK0pwJH4qU0Vf
dCN7UzFiVip2az8qfnpjfk5iR0QxCnpvYXJSUnVERE1rd1YhMU9FcmktJSR+YDE0RHl2VjZuYHlq
Kz5kZ3dhVWZvKllYPkRjaGw+VG9mZEJZOXBZY2VuRwp6UWQ+fEl7P3E/IzFrZzM+Y2JXX0dPPHhH
JFdXPDElVX49WDs/RXkjMlRGTHItdE9GSG8jQSpDTW1UUTtuKWhTUi0KekZFQE5nMWsyYWNWX1NN
RDU1Y1Y+JjF6M3wjJDlOfSViR35VNjl7KWo7QlBPRjB9eUZ0MW44Zm4mYzdZUkg1VTJICno1OSl2
MHRXfkM0aFQ7IXs4VTA0QmpsdzRoRXNSS3ZLWCZiZFIwSEtCXjI0Rj9iNVBhRzMhMExPISNgY1Yj
aHc3Zgp6eTEzWUtZWEtfeFhmXypZNC1jeERUISRhSlNgZnNDdzZYMk8yMk59OTtCdU5hMCQ/Zjl2
NThSPWNFO0ZqejUjUEsKelRuQSN2SStDcWtnNWg1ZD0hYnQ7NXhfPHc3TGdmRCpkY0hRP29IOGQr
X0dsaTNKKlR1Tk90eUxESllHIStxMnohCnpJPEN8VCg0RSFibUVqTHU2WGRmakhOaTgycUcpbUhh
MjQ1YlB+TzdnQlope2kyN2t0RndTRVkpRW8/WnpFYHErMgp6PnhoSFhZZHc9ZGlqPkFzYzwzRmRG
V2xrLWYlbmh4S1J2TW93QDB8aVcoZnZ4dGBUbUYwRWBuVmZ0UXIjK2A+WSQKeitsfWpMeH0+U1Bn
bkpDS2FTVGB2WUdufk9uakR0Z3o+RCkpe3QxXzw8NHhfbikyPERtPTVDXmxaXz8pOEl7bC00CnpT
aXx8fHlYYypXaj5IfCpRO2whSHMlQGEwMShfKDM0VnNoKTFkZmVYQV9qP3ZCSmhTbSlNI0pZcUpf
MElhYVlzUgp6T2haUmRwMTRMPml7SDs8ayhGZlFDdEgyVloqfDMqSklxajkoKGNecGJfKGM9JGgk
cmg0NHdyeGFUbm00TWNrfGIKemskdzw9PVk2bjxuQWBOQm5WOXVAMExgaE14fT5URmotZlR5ZDFo
YjstXiY9WjxwPDxwbE1LfUN7bj4yd29kMjRBCnp1YV5PVGtjTFNZPFdEODB2d1pTMjNIXzU9ckdC
WmFZQyokVXpzaEk8azdWfjNMTEAhIVE5K2UkUy16Ji1sSkg9Vgp6THBfTERMZEU+YldmPm9YSUFF
MilqRkdJRkRQTFZMR1doTiVsdFIqJSZWUF80b0lsQjklenskbmpTPWxGK2dIIVcKeiQ2eXFUOzNr
RWE8bnNmJlpWVXQ4eCtDfnpHZmtjbj5WX0xhKCZtTTE4JlhEK1o2TiEhUThRcSoqQDQ8bmZ6d35r
Cno5XjA0ckBERkdOcHliRTFjaSgrZUh9cjU3REppKmdQZXpneTRHS1NLJW1pcjNLcl84VGtIc35A
algxdWE5V3J4Rwp6VWtYbGlPfDxLQkZJSHZUP1d5ZUIhUU1DfkNkd1U0WW0jN0xgUjgrbnZJejZ7
MGdeMV4jJTZAZTdCfiM2ZjkjfCEKemlkJT02YTUyJVg4JFhsTlhuKTJ+bylOJE9AZjcmYEooY3BE
aT5rQD43dWVUXkw0UWB7XmxgbX1PRE11YmlDLTVtCnpETkFlfEVrbklyVTFtMkt8SkM1QnNpdntP
YWw+YnFRQGVldXV9TXEkYzQhOzY2aS10SlIhcHNTR2pKSHMtODNfNwp6WmU5NkRTcjxtZUNobUl6
NjBXTCFSRGMwZkpCaG44cGheNmhFOGdnWkltVn5FQDVicXhoQlcpN1lwblcmbkc+dnEKel9ONE5K
cmNUdk1rZWdqaWdNVUBNNnpKcllIRCRGUW5GVGoqVCt2dilrOW9yM0lBLSMheSpGSyFUd0k1I3hI
WmZHCnpnOVoxcnMxYlAzV15UQ15oKGskYFlEUjJuVTglfU9qZG5ANV5yPXNMNUl4Q25vejAySW4p
TVJ4ZVVJdiY8SkcmTAp6aDZkRWxIQ0R8JTt+NUxAVz5iN0FxbHImX3Y1eFpycVR1PFd4OS0hdjtJ
MDV3Sn4+bjMqayY1P2tTUUNmelIraEMKelpPdmI5NHQoMzhzVUdAYkFNMSpNZ19MXzEqViQyVWgr
ayRjcldJeEpjJEh3NUxENmA+am9XcWd8Ny04ZTxEdU81CnpJNC0xPXQlaHVBdnQkVmU9fiF6QHdp
SDR0SElwU0I0a2pkYGo7KjRwUCNEWURsNyNGVExQKypxamN1fGZ5Rl9KYwp6cTMtdV9URUBOU3pG
em1BXkxwS1RVKGJLTSU+M3FnOT4zQE57Qz9sfT1rcG9VcnotRk8+TW5Sdz42QmAyK3FRI0wKejJA
ez02dmt0K2lXfHVWOVMhZDdLJU5+Km1MVlZkRGlrI2BedUxyWS0/b2MybFdAWityYWdNVWhTZ0Fs
K1pgQl8kCno5bm5uNm1EQUhaRkNDanp2Kz5sN2pZY2RRSnZtaUBMR3FvNCltN1NgQHhTcWEqP01+
UnY8fmtxcXdkaT9AbStsZQp6bnxiaSVySj8+aSlHYncjWCZedGV2a0hpeTlDTzJxTyt+SVY9NTRG
RDI7WjteZGN2OG4wfWVGKl9VPnM4UnFFQUoKejEmRVc7cllyRm9ucz5fQ1opSUZ2PHhzcmh0XzI9
RVVfVztQbHlJem54XkVqXmxpMnI7eHBpJjQ/ZypKTGtadVglCnpqVEpgUlUjcVk4bXtmdCs7bmZC
PCEjUnJvamhGPUxwPnFmRj0qbz1CYj1WSlIteGRTSSp3NHxpcjZ5KjZ5bS0yTQp6MktsajUxTj5q
PUd1UEhHK3E7LS1eSWw9WiVJbVh5bW9kanglMyNaPnspKDxYIX16NHQ9SDRie24mIShzPnlBMjUK
enZgJnFue0FDfTk2QEBKZyQjRVNZe1c2YCloNyZOeyslc1hCVyFvMStCQWtRaE5xVUJYOWAzaSZ7
UCRnNV5SJjdCCnpWdWFtM3UlS3lVNldDZEVRJFZvfVJ5aUZ6aXIkdFghRUtFfXJPUEpPNDh5OyZ0
Z0o2NiVSKlRlJUNiPEZnfGFNXgp6V3VZdCFXbXpjOExSbDhkdlgtJGRsd1orcElESnJsXjxQTl57
fVg8N0FjQUUqTkUhRHVmTUJLck9UNll3KkZJZCQKemMkS0FRU0NfcmpuVjlwWUlSRjxUcF4wQlRH
dX5GZUJtYnJFbmF0dWpgNiEzSE5QZkd0Pjt9WEowOCVIcyFXJjhwCno4SWdqZWM8Nm5CZD1YMjsx
OTFQb3VfK1NXTT9rQzs1MStEakZmaFdLJDthSj9OVnFAanlfTlJVXipMTyZfKygkRgp6a3shIWY4
ekc/TXJOSDh2aUBvazZremoyb1g5R2c1U3YoU1o1Z31HcSgzNGhJZmJuPlVjSnFyKjdLVVdjKz5i
by0KemA9ZStyUjs5c1A4ViEmPy1YcmMqQmVCOyEpX3F0bUhTT1ZiY014UmpUQGhSVHZybURRU3xg
Mn0+azdfNV4xSXVLCnpBQ1JjLThCSD8rMWpNP2tpeVpHQ0ZOWEh1bExDQyRGUDtpaSl9Zj5DZzIw
TlE8eipXI3FIRFkxTlpJfEN2NUQhcQp6UU18IVBfRkA0TFE4c3xLZUpuNjAjKjBiXmZ8SXA/alU1
TFBtOVNvcyswSkw+aFVCWUFgZyh3JEQ5LVdlTzJHOG4KemV9eDN8O3opPks/cGdmalJGYjYjXjBt
P3dMdXRhT0pENFQ5Yz9wV1U1R0Q3eT97PGp8YD1feWlLdktlK0FQfEhnCnpRI2lVITBmSFgjS1NS
WDhXI3lxejt8NkJUTEd4YkUma2hQYkUtaklXbT0xfUxNI1BTYUNtZUR+QT9HMnJSO2RUPwp6S0Uj
dnJUdVlFWU1peUdZX3RScEB7JiUtcGUwbUsxRmtDMEpaaihMJlBITEYlXkV5ayY/YEtKdnJVPVRQ
ekUlTUYKejZPOW01WEE1ZHFVSWlxS25qUzk2XmNDKWJofilANHVqLTg7RkNrb3VkVmpsbTNjQGoq
b2sxeGxLTWx1QU14PEtvCnpRTzJFZW4tRnprMGZhT00pSCM1aDZnaHtSM2VoSGh1aVRMTVhiUHY9
VFdrJi1Pd19pWDhgUEZYSDcmVkckdGdzOQp6aXpvdyEwZ2ZwXiEjfSNrOzYyMVZ7Z31WRll1PH0l
YUozLSRkazlqTy0+TUsqWlYxV0xPZF57XyVUaDM7N1BLaU8KekJycm9KP008IURRaEBPOzV6Sj5F
UnBzfEohV2gteE02eUhqd0xgMjBobG53NSFIRD40dktQckFvYDl9QHU0NygqCnpFWH5nWShFeEFI
K2UkdHJFRDtHUnlwWFNwUShwUldXX0laJDJ6d0ZBYnk+eTZjWj1wT2tvI2ROQng1QUl3VFkqPgp6
JHV7TXhZLSpDcnA3Rz1haCtFRmo1NElXK1lhSWxVNDNYJFM+dTQmaileOVpjZEZKcHYmPiQwcXZf
ZmZIMn1Ce0kKeiZ8XiQ+RThVQHFGQkhYZF5yUmRAdHVTYG5CQ2NpVUw7RH5CWFgzUTNfblhAWD8w
RjhSU3NiWXUwMlpvP3M2VWYjCnpQKE1NNlNjdilATyptVzIrOEh7Xyt1SWAhT2t9QlVIfjEoYCNh
Um11IzhvRkpkblBZVHMwbWtWK2FgMF5MISRSJgp6R2ArSX49YTIwZG5SJEBjM2l7fT9BaUYpUjBN
bSpMO15HIXM2JE45IyZYfnx8ZzUrfCVtWDVId09ZOUR4ME1kR2YKekJDQGxoWmtLT0IpdSh6fVlR
Yj4pNiN9P3dUIzhxWSN+JWh+ak5IdW1GU29UZklibTghZENgOTM1Ym4ofTRFTFYxCnpJI1hkQGs4
NCpYQWg+TD9YKyRlNVhySlhuaD9Naj1rWGJNaStlTGZqPk5IRkcoKGtgezdueFcxNXkqfVV0djtR
YQp6Pk1oMmRaRzxeeG5idG9qSG9GOzJOeUFXJG9Wfno1ayFoNyZHeiVWeWpaUEtvXmdHbCU+bUdU
S01EKllyNGdqNEkKekc3aGZlb1A4aUo2YzxLMmFrLUp5d1VxVSVmOHVPJFpwZGU3Zmh8cThkTW9h
TWo5dn4+b1FNQSloMEU2P1pQXlM5CnohamBqaERSTEE/eGxuYWA5N1NVNHBHOD1ROVh9WWlgO1lF
RW1EZ3psMHRFdCtwe35LJWtVUFMhY3RMVG5YNntOcAp6YW5lSFJQfmR6TT1LJDY1P25zPGhaPSFI
e3h2RkJ1UD82bGRjKGQ9cHZFQW9DNUF+JkdtOTEkeXJEPnBmRGBSKUYKenliZyFiT05OI3dVUzJz
KzBSYENvc2F5fHRCKSNyZT1YYXBLbT5iVzNEZXklXnhhbn5PeyNBblJpK0ReUUsrJH5lCnpwa0Z3
SDwwJT9SQHBqSDtfRT8kdzd1UzdOKTU9fkAyVHVzM0olcV93TUN4ZmJfZWZNT3FuTFp8SUNBSkRJ
TDl4Xwp6dztKRWN7QT9XIWheemNeY2w0RFhoPktpT19ZSEEqdHA+ISFeYksqSFFDJiMtZncoJWQr
RD5qTGM7TH5fe0FDUkIKenBhY3h4dm5pPUNIYyVoKCZeVWRLVE4mNkBHPUNxPnomfmcjdT5qTlNz
OVNCRXNtczV+TFhEciNWcW9gLWV9Qj1RCnpSJEwpPlZ0QSFeKnBucTUjK0xIc081cWpIJShlNmxg
RjYyZWl8IT8/RHllQFdGNHBKeEJDKnxlTWkpQlNIfUNGTgp6ZUF5T2RjPmlfXiVMOVFkU0E5KGZU
MDI8dU8peWRrYCV8fnUrNjIySHFEKzNwLSRUM2ZfNyQofUpAVU16YGtsNXoKem5SdFJOaTJSJXx3
WWh1YXtxfldaNVhwVmkhc0pDZXMqfE9NWlFLVUE3QX4ybygtJi1MPGpxeTQ3M0l+YkJZZmpYCno5
IWRoKGdEPiQ8Z0lGfHc8O3dCckw0VjEmalEpfnUyfE5EPC13SWdsa1VSezB0SzYkS25WeFRIe05Q
KSVXJXtHOAp6LXwqSjFlfi03ZVcrLW5tJWF2JWh5JXk8S2NSNk1PZV9+QVVXMD1+TXJBSW5ncGZZ
JjEmei0wXm19KU5NRiZhO1oKemg1eHw7SiR0YT4laTdfbCk2Tz9PUilkO2JaKUZtP3J9NUM/JSF1
ZT9iflJ5YU1SOHRWVVpnSGxZKU5zNnREZ0ZTCnp4WSZPcEYxY2xoRTVMdmYreVpGYHY5d0okMllw
czthX2xGUmQ+alR1QDYtPTJMY2E9cVQxRitPZGZ3cWtUNVNpPgp6d0VKUUN6MkpCYWU9Kmt2RlV0
VmxON09jYDE1ckIpMjdgJlhsSkBqeHJgYVBiYzlIRzJPOzheYk5ORXNhKXxZN0UKenVPWWVfIXZF
aXQlK21eMTVeKnhMeGJ7SG5TcWtPX00pZ0l7a2hZWVQ/V3t6NG1HJDw2a0pZK3IyTz85PUNBT3hr
CnpDOHtCRG1QQX5qUVp9YURQUmpSMSVuOzVxKkMtNzRGZlNDSng0a3chJkg4b3BpR0lDPjt2NFV0
dHZUdDYqU0d4RAp6P2NsXk14b1h7MVp7MHhMQ21QVmZDZ3FYKmI2cShEcmNiWXJXJGQmWGR4MG1Q
Z2h2JDt6JHN0Slo3a0JCckkhe0AKem50JmBhTGF1YUlgQ3Z7aHo0VVZ9KlFsdEZEJUZyMD8jZj5O
ZHxhPHpXTVlUVmozfEQzP0kzcV5iSVYoY3dyUUBZCnooTTcwIWcqKCUtMk5HXyZuZ2oqVGI/UThw
XiFTd2pOal82OGc7JUY9eE4qZXIhWW5zVV5rTzUjSkd9T0F1V1BeQAp6RXtlY1EqMT94U2JraDZe
ZUZLTjwtdHRLc1JiQm5sM29RO189KGE1Nz5eaUFPWjA4R0BmM0U3RT9QRkg0VXRpZHEKekJRUHY/
eHp4WXF4IX5zYU5kY1U9ZE9NcmZ2QyllVXpKNjd8e3E9YTJ6d2dvS0VqUSpfTk8yMzNuYm0+dk13
V2dECnpSMHMhVTheZWltNjZMfSVfPXpIJmBMdm5xZTNrRSRAX1A7SXI1OzY7Ymtqa3goTXlhJTFh
QkE1Rng2OGBmN0V0Vgp6STJfOER7TyhKWntqcExUNFA7aWl3QSQzfCR9dlIpRnRYZjt4fFZzTlE/
UFAhQm1UKCNxXm5iUGc+Q3tuKlZFWiQKemxHbHxvcXtOcmYkKXlvUlVsY2FjYGEpRFgreHo4UVkh
VlUrP19DVStFdWNGclo+JH4rVlZtKl8lVEV1K1QrUlhrCno+dj8+c1JfTW99IUdnbUs7ZE9kRXRM
b15NdkRpQm9Ge0tQK3krZUFGYll5U0tHYX4/TlcpR0FNUz9DI0JQWlNJPQp6RkxUT3kpejluQzsx
ZFFFazdgdXVCVHUpZTtUcjlRMFNldGQyQ0xFXjdsailiVCRtKEJzTHprKDR+UHh0I2JBS3EKemB0
V1cjWCVGXkpBXjw7JWlQSWY2YGNvK1U2JFk1Wmw/KlBrPFZrRDdsfVd0TFdXRFNaaWIyRVpHV0F+
NmpzQ2M3CnpCO2QrT0FLNTVRZjZhWitPVXVCRlVScCtVKjF+PUx6ZzdAQHpJSiNEd1pKI05aREVf
OTUpZlJRIVgoYmlROFFvQwp6eG8hKkFuXyZlYl5KKj5+Ujs0V3wlMiYzMnw5IzZfPjZoTUByYyNC
THspKVdKQylBck1uNUBCdnkheXwjXilhR0AKenB3fFNRQytOTXloP1dBaEpmZT5iXmYzeUgzQTda
VHIyczdqWGVtSFQwbEh+SXd1PE9SNjVVKip0QWhYRXt6PTIzCnFjcChPYzZ9R3pqX25NJXNwfSlV
ZiMtdVk0QHF0QmhQOCN9bzQ3IV43YCFue0xgfkN3QVhvWHx8CgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBh
bmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9l
bmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJkNjcwZmI2OGIyYjdkNzkyYTMyZTg0Y2M4
OGZlOTA0ODg2NjhhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQt
dm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIy
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjYwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNjAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgyMzYKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDc2Nng1NAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc2NjogIlRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9pY2VkIGph
cGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJlZCIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNzYzOiAidGhlIHNhbWUgYXMgdGhlIHBy
ZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVsLXRlc3QsIGFuZCBwYXNzZXMg
d2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVudHMgYXJlIgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA2MDogImlkZW50aWNhbC4iCi0gICAgICBSZW5kZXJC
bG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMykgc2l6ZSAxNjh4MjgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0
aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBDRn1c
eHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTI2
KSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
NjZ4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjY6ICJUaGUgYWJvdmUg
aXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMTY0KSBzaXplIDc4
NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMykgc2l6ZSAxNjh4MjgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzKSB3aWR0aCAxNjg6ICJceHszMEQwfVx4ezMwQ0F9XHh7
MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwyMTcpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE3MngxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE3
MjogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hh
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZW5jb2Rpbmcv
ZGVub3JtYWxpc2VkLXZvaWNlZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4YTU5NzMwNGFiOGFiOTVhM2ZjNTA4YjNmNTRmNTMxMGQy
NWYzOTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNlZC1q
YXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2NgotICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjY2Ci0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MjQyCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDc4NHg1NAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzV4NTQK
LSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NzU6ICJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIGRlY29tcG9zZWQgdW5pY29kZSB2ZXJzaW9uIG9mIHZvaWNlZCBqYXBhbmVzZSBo
aXJhZ2FuYSBhbmQga2F0YWthbmEgY2hhcmFjdGVycyBhcmUgcmVuZGVyZWQgdGhlIgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA3MjQ6ICJzYW1lIGFzIHRoZSBwcmVjb21wb3Nl
ZCB2ZXJzaW9uLiBUaGlzIHRlc3QgaXMgYSBwaXhlbC10ZXN0LCBhbmQgcGFzc2VzIHdoZW4gdGhl
IHRleHQgaW4gdGhlIHR3byBoZWFkaW5nIGVsZW1lbnRzIGFyZSIKLSAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwzNikgd2lkdGggNTc6ICJpZGVudGljYWwuIgotICAgICAgUmVuZGVyQmxvY2sge0gy
fSBhdCAoMCw3Mykgc2l6ZSA3ODR4MzcKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDUpIHNpemUgMTY4eDI4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTY4OiAi
XHh7MzBDRn1ceHszMDk5fVx4ezMwQ0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwQ0Z9XHh7MzA5QX1c
eHszMENBfVx4ezMwREV9IgotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEyOSkgc2l6ZSA3
ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE4Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIGRlY29t
cG9zZWQiCi0gICAgICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDE2Nykgc2l6ZSA3ODR4MzcKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTY4eDI4Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTY4OiAiXHh7MzBEMH1ceHszMENBfVx4ezMwQ0F9XHh7
MzA2OH1ceHszMEQxfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMjIzKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNjl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjk6ICJUaGUg
YWJvdmUgaXMgcHJlY29tcG9zZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12b2ljZWQtamFwYW5lc2UtY2hhcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9lbmNvZGlu
Zy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQxZGJmNzA1M2Q4NmZiYzgwYmM1YTg3MmE1ZTFmN2Vl
YjNjOGQ3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2VuY29kaW5nL2Rlbm9ybWFsaXNlZC12
b2ljZWQtamFwYW5lc2UtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjEg
KzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzgKLSAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDIzOAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDIxNAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSA3ODR4NDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
Nzg0eDM5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzg0OiAiVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBkZWNvbXBvc2VkIHVuaWNvZGUgdmVyc2lvbiBvZiB2b2ljZWQgamFw
YW5lc2UgaGlyYWdhbmEgYW5kIGthdGFrYW5hIGNoYXJhY3RlcnMgYXJlIHJlbmRlcmVkIHRoZSBz
YW1lIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA3MTc6ICJhcyB0aGUgcHJl
Y29tcG9zZWQgdmVyc2lvbi4gVGhpcyB0ZXN0IGlzIGEgcGl4ZWwtdGVzdCwgYW5kIHBhc3NlcyB3
aGVuIHRoZSB0ZXh0IGluIHRoZSB0d28gaGVhZGluZyBlbGVtZW50cyBhcmUgaWRlbnRpY2FsLiIK
LSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsNTkpIHNpemUgNzg0eDI4Ci0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2NHgyNgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDE2NDogIlx4ezMwQ0Z9XHh7MzA5OX1ceHszMENBfVx4ezMwQ0F9XHh7
MzA2OH1ceHszMENGfVx4ezMwOUF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwxMDYpIHNpemUgNzg0eDIxCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE1OXgxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1
OTogIlRoZSBhYm92ZSBpcyBkZWNvbXBvc2VkIgotICAgICAgUmVuZGVyQmxvY2sge0gyfSBhdCAo
MCwxNDYpIHNpemUgNzg0eDI4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDE2NHgyNgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2NDogIlx4ezMw
RDB9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7MzBEMX1ceHszMENBfVx4ezMwREV9IgotICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5Mykgc2l6ZSA3ODR4MjEKLSAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTY0eDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTY0OiAiVGhlIGFib3ZlIGlzIHByZWNvbXBvc2VkIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2Zhc3QvZW5jb2RpbmcvZGVub3JtYWxpc2VkLXZvaWNl
ZC1qYXBhbmVzZS1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
ZmFzdC9lbmNvZGluZy9kZW5vcm1hbGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ2ZDQ5MDBjMGI1MmE2ODhhYzIx
ZGM4ZjFhMTQyYThhNDYwNTY0Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvZmFzdC9lbmNvZGluZy9kZW5vcm1h
bGlzZWQtdm9pY2VkLWphcGFuZXNlLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIyICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjQ4Ci0gIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNDgKLSAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMjQKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDc3NXg1MwotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc3NTogIlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZGVjb21wb3NlZCB1bmljb2RlIHZlcnNpb24gb2Ygdm9p
Y2VkIGphcGFuZXNlIGhpcmFnYW5hIGFuZCBrYXRha2FuYSBjaGFyYWN0ZXJzIGFyZSByZW5kZXJl
ZCB0aGUiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDcyNDogInNhbWUgYXMg
dGhlIHByZWNvbXBvc2VkIHZlcnNpb24uIFRoaXMgdGVzdCBpcyBhIHBpeGVsLXRlc3QsIGFuZCBw
YXNzZXMgd2hlbiB0aGUgdGV4dCBpbiB0aGUgdHdvIGhlYWRpbmcgZWxlbWVudHMgYXJlIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA1NzogImlkZW50aWNhbC4iCi0gICAgICBS
ZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDczKSBzaXplIDc4NHgyOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4MjYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxNjg6ICJceHszMENGfVx4ezMwOTl9XHh7MzBDQX1ceHszMENBfVx4ezMwNjh9XHh7
MzBDRn1ceHszMDlBfVx4ezMwQ0F9XHh7MzBERX0iCi0gICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMTIwKSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNjR4MTcKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjQ6ICJUaGUg
YWJvdmUgaXMgZGVjb21wb3NlZCIKLSAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMTU4KSBz
aXplIDc4NHgyOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4
MjYKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjg6ICJceHszMEQwfVx4ezMw
Q0F9XHh7MzBDQX1ceHszMDY4fVx4ezMwRDF9XHh7MzBDQX1ceHszMERFfSIKLSAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwyMDUpIHNpemUgNzg0eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDE2OXgxNwotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDE2OTogIlRoZSBhYm92ZSBpcyBwcmVjb21wb3NlZCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>