<?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>125614</bug_id>
          
          <creation_ts>2013-12-11 19:25:03 -0800</creation_ts>
          <short_desc>Set m_pos as private in InlineIterator, and use getter and setter functions</short_desc>
          <delta_ts>2013-12-25 23:28:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959022</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-11 19:25:03 -0800</bug_when>
    <thetext>InlineIterator has been exported m_pos as public directly though it is member variable. This patch set it as private, and add getter/setter functions for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959023</commentid>
    <comment_count>1</comment_count>
      <attachid>219032</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-11 19:26:57 -0800</bug_when>
    <thetext>Created attachment 219032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959039</commentid>
    <comment_count>2</comment_count>
      <attachid>219032</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-11 20:47:53 -0800</bug_when>
    <thetext>Comment on attachment 219032
Patch

Attachment 219032 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/47008284

New failing tests:
accessibility/anchor-linked-anonymous-block-crash.html
canvas/philip/tests/2d.composite.canvas.destination-in.html
canvas/philip/tests/2d.composite.canvas.source-out.html
accessibility/aria-hidden-negates-no-visibility.html
compositing/direct-image-compositing.html
accessibility/aria-checkbox-checked.html
canvas/philip/tests/2d.composite.canvas.copy.html
accessibility/alt-tag-on-image-with-nonimage-role.html
canvas/philip/tests/2d.composite.canvas.source-in.html
accessibility/accessibility-node-reparent.html
canvas/philip/tests/2d.composite.canvas.destination-out.html
accessibility/aria-labeled-with-hidden-node.html
compositing/layers-inside-overflow-scroll.html
accessibility/accessibility-object-detached.html
canvas/philip/tests/2d.composite.canvas.source-atop.html
accessibility/aria-activedescendant-crash.html
accessibility/aria-disabled-propagated-to-children.html
accessibility/aria-hidden-updates-alldescendants.html
accessibility/aria-describedby-on-input.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
canvas/philip/tests/2d.composite.canvas.destination-atop.html
canvas/philip/tests/2d.composite.canvas.destination-over.html
accessibility/aria-invalid.html
accessibility/aria-fallback-roles.html
canvas/philip/tests/2d.composite.canvas.lighter.html
canvas/philip/tests/2d.composite.canvas.xor.html
canvas/philip/tests/2d.composite.canvas.source-over.html
accessibility/adjacent-continuations-cause-assertion-failure.html
canvas/philip/tests/2d.clearRect+fillRect.basic.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959040</commentid>
    <comment_count>3</comment_count>
      <attachid>219039</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-11 20:47:56 -0800</bug_when>
    <thetext>Created attachment 219039
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-12  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959058</commentid>
    <comment_count>4</comment_count>
      <attachid>219043</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-11 22:33:25 -0800</bug_when>
    <thetext>Created attachment 219043
Patch for ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959392</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-12 16:16:35 -0800</bug_when>
    <thetext>CC&apos;ing Kling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962887</commentid>
    <comment_count>6</comment_count>
      <attachid>220007</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-25 15:42:49 -0800</bug_when>
    <thetext>Created attachment 220007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962923</commentid>
    <comment_count>7</comment_count>
      <attachid>220007</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-25 16:43:18 -0800</bug_when>
    <thetext>Comment on attachment 220007
Patch

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

This is a good iterative improvement.

But manipulating offsets using +/- 1 looks suspicious. Won&apos;t this break on Unicode characters that don&apos;t fit in 16 bits?

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:924
&gt; +                unsigned currentPosition = m_startOfIgnoredSpaces.offset();
&gt; +                m_startOfIgnoredSpaces.setOffset(--currentPosition);

I don&apos;t think that the name currentPosition is helpful or even correct.

Can we write it like this?

    m_startOfIgnoredSpaces.setOffset(m_startOfIgnoredSpaces.offset() - 1);

But then again, this is an iterator, it should know how to iterate. Maybe the right answer is to add a fastDecrementInTextNode() function (there is already fastIncrementInTextNode()), and use that?

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:1085
&gt; +                unsigned currentPosition = endpoint.offset();
&gt; +                endpoint.setOffset(--currentPosition);

Same comment about bad name and iteration that should be encapsulated.

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:1135
&gt; +        unsigned currentPosition = m_lineBreak.offset();
&gt; +        m_lineBreak.setOffset(--currentPosition);

Same comment about bad name and iteration that should be encapsulated.

&gt; Source/WebCore/rendering/line/TrailingObjects.cpp:46
&gt; +            unsigned currentPosition = lineMidpointState.midpoints[trailingSpaceMidpoint].offset();
&gt; +            lineMidpointState.midpoints[trailingSpaceMidpoint].setOffset(--currentPosition);

Same comment about bad name and iteration that should be encapsulated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962926</commentid>
    <comment_count>8</comment_count>
      <attachid>220015</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-25 17:58:48 -0800</bug_when>
    <thetext>Created attachment 220015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962927</commentid>
    <comment_count>9</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-25 18:00:51 -0800</bug_when>
    <thetext>(In reply to comment #7)

&gt; But then again, this is an iterator, it should know how to iterate. Maybe the right answer is to add a fastDecrementInTextNode() function (there is already fastIncrementInTextNode()), and use that?

Let me think about this on new bug. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962948</commentid>
    <comment_count>10</comment_count>
      <attachid>220015</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-25 19:43:49 -0800</bug_when>
    <thetext>Comment on attachment 220015
Patch

Rejecting attachment 220015 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 220015, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/6126968416239616</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962949</commentid>
    <comment_count>11</comment_count>
      <attachid>220015</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-25 19:50:03 -0800</bug_when>
    <thetext>Comment on attachment 220015
Patch

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

Nice cleanup!

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:2059
&gt; +    bool appliedStartWidth = resolver.position().offset() &gt; 0;

Since offset() is unsigned, we don&apos;t need to compare it against 0.
i.e. &quot;bool appliedStartWidth = resolver.position().offset();&quot;
to follow our style guide https://www.webkit.org/coding/coding-style.html#zero-comparison

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:855
&gt; +                if (!stoppedIgnoringSpaces &amp;&amp; m_current.offset() &gt; 0)

Ditto about comparing against 0.  Perhaps it&apos;s better to add a helper function like m_current.isAtStart()?

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:909
&gt; +        if (isSVGText &amp;&amp; m_current.offset() &gt; 0) {

Ditto.

&gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:1130
&gt; +    if (m_lineBreak.offset() &gt; 0) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962951</commentid>
    <comment_count>12</comment_count>
      <attachid>220020</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-25 20:16:52 -0800</bug_when>
    <thetext>Created attachment 220020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962952</commentid>
    <comment_count>13</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-12-25 20:18:32 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 220015 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=220015&amp;action=review
&gt; 
&gt; Nice cleanup!
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:2059
&gt; &gt; +    bool appliedStartWidth = resolver.position().offset() &gt; 0;
&gt; 
&gt; Since offset() is unsigned, we don&apos;t need to compare it against 0.
&gt; i.e. &quot;bool appliedStartWidth = resolver.position().offset();&quot;
&gt; to follow our style guide https://www.webkit.org/coding/coding-style.html#zero-comparison
&gt; 
&gt; &gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:855
&gt; &gt; +                if (!stoppedIgnoringSpaces &amp;&amp; m_current.offset() &gt; 0)
&gt; 
&gt; Ditto about comparing against 0.  Perhaps it&apos;s better to add a helper function like m_current.isAtStart()?
&gt; 
&gt; &gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:909
&gt; &gt; +        if (isSVGText &amp;&amp; m_current.offset() &gt; 0) {
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/rendering/line/BreakingContextInlineHeaders.h:1130
&gt; &gt; +    if (m_lineBreak.offset() &gt; 0) {
&gt; 
&gt; Ditto.

Nice detection ! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962968</commentid>
    <comment_count>14</comment_count>
      <attachid>220020</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-25 23:28:33 -0800</bug_when>
    <thetext>Comment on attachment 220020
Patch

Clearing flags on attachment: 220020

Committed r161085: &lt;http://trac.webkit.org/changeset/161085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962969</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-25 23:28:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219032</attachid>
            <date>2013-12-11 19:26:57 -0800</date>
            <delta_ts>2013-12-11 22:33:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125614-20131212122655.patch</filename>
            <type>text/plain</type>
            <size>35651</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZkYzI3YzhkODE3MTk0
ZmM3ZDk4OGQ0Y2EyMGY4MjZlZGQxYTRiOS4uNGVhYzI4N2IwYzhhNDRlMTJiMDZmMmJhNjEwYjE0
YjY5NDM2NmVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgU2V0IG1fcG9z
IGFzIHByaXZhdGUgaW4gSW5saW5lSXRlcmF0b3IsIGFuZCB1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIg
ZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5saW5lSXRlcmF0b3IgaGFzIGJlZW4gZXhwb3J0ZWQgbV9wb3MgYXMgcHVibGljIGRpcmVj
dGx5IHRob3VnaCBpdCBpcyBtZW1iZXIgdmFyaWFibGUuCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0
IGl0IGFzIHByaXZhdGUsIGFuZCBhZGQgZ2V0dGVyL3NldHRlciBmdW5jdGlvbnMgZm9yIGl0Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAq
IHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRl
cmF0b3I6OnNldE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJl
c29sdmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5z
Rm9yT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJ
blJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWF0Y2hlZEVuZExp
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOgor
ICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIpOgorICAgICAgICAo
V2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVGbG9hdCk6CisgICAgICAgIChXZWJDb3Jl
OjppdGVyYXRvcklzQmV5b25kRW5kT2ZSZW5kZXJDb21iaW5lVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRzTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNaWRwb2lu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94
ZXMpOgorCiAyMDEzLTEyLTExICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGVmaW5lIG1faGFzQmFkUGFyZW50IGluIElubGluZUJveCBpZiBkZWZpbmVkKEFE
RFJFU1NfU0FOSVRJWkVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3Iu
aAppbmRleCBhYTg1ZjU3ZTkwOThmMWZiNjFhZmE2MzJkYTJlYWYwMjhmNjIzNDA0Li5iNWYyYTFl
OTQ2ZjIwOGU1NThjNzg5MzIyYzg4YmVlMjc4ZDEyOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lSXRlcmF0b3IuaApAQCAtNjksNiArNjksNyBAQCBwdWJsaWM6CiAgICAgUmVu
ZGVyT2JqZWN0KiByZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXI7IH0KICAgICB2
b2lkIHNldFJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIHsgbV9yZW5kZXJlciA9IHJl
bmRlcmVyOyB9CiAgICAgdW5zaWduZWQgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9wb3M7IH0K
KyAgICB2b2lkIHNldE9mZnNldCh1bnNpZ25lZCBwb3NpdGlvbikgeyBtX3BvcyA9IHBvc2l0aW9u
OyB9CiAgICAgUmVuZGVyRWxlbWVudCogcm9vdCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdDsgfQog
ICAgIGludCBuZXh0QnJlYWthYmxlUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX25leHRCcmVh
a2FibGVQb3NpdGlvbjsgfQogICAgIHZvaWQgc2V0TmV4dEJyZWFrYWJsZVBvc2l0aW9uKGludCBw
b3NpdGlvbikgeyBtX25leHRCcmVha2FibGVQb3NpdGlvbiA9IHBvc2l0aW9uOyB9CkBAIC05OCwy
MCArOTksMTcgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7CiAKICAg
ICBpbnQgbV9uZXh0QnJlYWthYmxlUG9zaXRpb247Ci0KLS8vIEZJWE1FOiBUaGVzZSBzaG91bGQg
YmUgcHJpdmF0ZS4KLXB1YmxpYzoKICAgICB1bnNpZ25lZCBtX3BvczsKIH07CiAKIGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgSW5saW5lSXRlcmF0b3ImIGl0MSwgY29uc3QgSW5saW5lSXRl
cmF0b3ImIGl0MikKIHsKLSAgICByZXR1cm4gaXQxLm1fcG9zID09IGl0Mi5tX3BvcyAmJiBpdDEu
cmVuZGVyZXIoKSA9PSBpdDIucmVuZGVyZXIoKTsKKyAgICByZXR1cm4gaXQxLm9mZnNldCgpID09
IGl0Mi5vZmZzZXQoKSAmJiBpdDEucmVuZGVyZXIoKSA9PSBpdDIucmVuZGVyZXIoKTsKIH0KIAog
aW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBJbmxpbmVJdGVyYXRvciYgaXQxLCBjb25zdCBJ
bmxpbmVJdGVyYXRvciYgaXQyKQogewotICAgIHJldHVybiBpdDEubV9wb3MgIT0gaXQyLm1fcG9z
IHx8IGl0MS5yZW5kZXJlcigpICE9IGl0Mi5yZW5kZXJlcigpOworICAgIHJldHVybiBpdDEub2Zm
c2V0KCkgIT0gaXQyLm9mZnNldCgpIHx8IGl0MS5yZW5kZXJlcigpICE9IGl0Mi5yZW5kZXJlcigp
OwogfQogCiBzdGF0aWMgaW5saW5lIFVDaGFyRGlyZWN0aW9uIGVtYmVkQ2hhckZyb21EaXJlY3Rp
b24oVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24sIEVVbmljb2RlQmlkaSB1bmljb2RlQmlkaSkKQEAg
LTUxOCw3ICs1MTYsNyBAQCBpbmxpbmUgdm9pZCBJbmxpbmVCaWRpUmVzb2x2ZXI6OmFwcGVuZFJ1
bigpCiAgICAgICAgIC8vIEluaXRpYWxpemUgb3VyIHN0YXRlIGRlcGVuZGluZyBvbiBpZiB3ZSdy
ZSBzdGFydGluZyBpbiB0aGUgbWlkZGxlIG9mIHN1Y2ggYW4gaW5saW5lLgogICAgICAgICAvLyBG
SVhNRTogQ291bGQgdGhpcyBpbml0aWFsaXplIGZyb20gdGhpcy0+aW5Jc29sYXRlKCkgaW5zdGVh
ZCBvZiB3YWxraW5nIHVwIHRoZSByZW5kZXIgdHJlZT8KICAgICAgICAgSXNvbGF0ZVRyYWNrZXIg
aXNvbGF0ZVRyYWNrZXIobnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKG1fc29yKSk7Ci0gICAgICAg
IGludCBzdGFydCA9IG1fc29yLm1fcG9zOworICAgICAgICBpbnQgc3RhcnQgPSBtX3Nvci5vZmZz
ZXQoKTsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmogPSBtX3Nvci5yZW5kZXJlcigpOwogICAg
ICAgICB3aGlsZSAob2JqICYmIG9iaiAhPSBtX2Vvci5yZW5kZXJlcigpICYmIG9iaiAhPSBlbmRP
ZkxpbmUucmVuZGVyZXIoKSkgewogICAgICAgICAgICAgaWYgKGlzb2xhdGVUcmFja2VyLmluSXNv
bGF0ZSgpKQpAQCAtNTMwLDEwICs1MjgsMTAgQEAgaW5saW5lIHZvaWQgSW5saW5lQmlkaVJlc29s
dmVyOjphcHBlbmRSdW4oKQogICAgICAgICAgICAgb2JqID0gYmlkaU5leHRTa2lwcGluZ0VtcHR5
SW5saW5lcygqbV9zb3Iucm9vdCgpLCBvYmosICZpc29sYXRlVHJhY2tlcik7CiAgICAgICAgIH0K
ICAgICAgICAgaWYgKG9iaikgewotICAgICAgICAgICAgdW5zaWduZWQgcG9zID0gb2JqID09IG1f
ZW9yLnJlbmRlcmVyKCkgPyBtX2Vvci5tX3BvcyA6IFVJTlRfTUFYOwotICAgICAgICAgICAgaWYg
KG9iaiA9PSBlbmRPZkxpbmUucmVuZGVyZXIoKSAmJiBlbmRPZkxpbmUubV9wb3MgPD0gcG9zKSB7
CisgICAgICAgICAgICB1bnNpZ25lZCBwb3MgPSBvYmogPT0gbV9lb3IucmVuZGVyZXIoKSA/IG1f
ZW9yLm9mZnNldCgpIDogVUlOVF9NQVg7CisgICAgICAgICAgICBpZiAob2JqID09IGVuZE9mTGlu
ZS5yZW5kZXJlcigpICYmIGVuZE9mTGluZS5vZmZzZXQoKSA8PSBwb3MpIHsKICAgICAgICAgICAg
ICAgICBtX3JlYWNoZWRFbmRPZkxpbmUgPSB0cnVlOwotICAgICAgICAgICAgICAgIHBvcyA9IGVu
ZE9mTGluZS5tX3BvczsKKyAgICAgICAgICAgICAgICBwb3MgPSBlbmRPZkxpbmUub2Zmc2V0KCk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBJdCdzIE9LIHRvIGFkZCBydW5zIGZvciB6
ZXJvLWxlbmd0aCBSZW5kZXJPYmplY3RzLCBqdXN0IGRvbid0IG1ha2UgdGhlIHJ1biBsYXJnZXIg
dGhhbiBpdCBzaG91bGQgYmUKICAgICAgICAgICAgIGludCBlbmQgPSBvYmotPmxlbmd0aCgpID8g
cG9zICsgMSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCmluZGV4IGRiNTA4OWU1ZGU2N2UyNWNkNDI5NjdlNTkzOWNjMzc3Mzc5
YjdkOGQuLmQ3ZmRjMGE0OTg4ZjEzYmQzNzQ4NjRlYjJiZDk1NzdiNjYzN2I3ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBA
IC05Myw3ICs5Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5zRm9yT2JqZWN0
KEJpZGlSdW5MaXN0PEJpZGlSdW4+JiBydW5zLCBpbnQgc3RhcnQsCiAgICAgICAgIC8vIFRoaXMg
aXMgYSBuZXcgc3RhcnQgcG9pbnQuIFN0b3AgaWdub3Jpbmcgb2JqZWN0cyBhbmQKICAgICAgICAg
Ly8gYWRqdXN0IG91ciBzdGFydC4KICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUuYmV0d2Vlbk1p
ZHBvaW50cyA9IGZhbHNlOwotICAgICAgICBzdGFydCA9IG5leHRNaWRwb2ludC5tX3BvczsKKyAg
ICAgICAgc3RhcnQgPSBuZXh0TWlkcG9pbnQub2Zmc2V0KCk7CiAgICAgICAgIGxpbmVNaWRwb2lu
dFN0YXRlLmN1cnJlbnRNaWRwb2ludCsrOwogICAgICAgICBpZiAoc3RhcnQgPCBlbmQpCiAgICAg
ICAgICAgICByZXR1cm4gYXBwZW5kUnVuc0Zvck9iamVjdChydW5zLCBzdGFydCwgZW5kLCBvYmos
IHJlc29sdmVyKTsKQEAgLTEwNSwxMyArMTA1LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojph
cHBlbmRSdW5zRm9yT2JqZWN0KEJpZGlSdW5MaXN0PEJpZGlSdW4+JiBydW5zLCBpbnQgc3RhcnQs
CiAKICAgICAgICAgLy8gQW4gZW5kIG1pZHBvaW50IGhhcyBiZWVuIGVuY291bnRlcmVkIHdpdGhp
biBvdXIgb2JqZWN0LiAgV2UKICAgICAgICAgLy8gbmVlZCB0byBnbyBhaGVhZCBhbmQgYXBwZW5k
IGEgcnVuIHdpdGggb3VyIGVuZHBvaW50LgotICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50Pihu
ZXh0TWlkcG9pbnQubV9wb3MgKyAxKSA8PSBlbmQpIHsKKyAgICAgICAgaWYgKHN0YXRpY19jYXN0
PGludD4obmV4dE1pZHBvaW50Lm9mZnNldCgpICsgMSkgPD0gZW5kKSB7CiAgICAgICAgICAgICBs
aW5lTWlkcG9pbnRTdGF0ZS5iZXR3ZWVuTWlkcG9pbnRzID0gdHJ1ZTsKICAgICAgICAgICAgIGxp
bmVNaWRwb2ludFN0YXRlLmN1cnJlbnRNaWRwb2ludCsrOwotICAgICAgICAgICAgaWYgKG5leHRN
aWRwb2ludC5tX3BvcyAhPSBVSU5UX01BWCkgeyAvLyBVSU5UX01BWCBtZWFucyBzdG9wIGF0IHRo
ZSBvYmplY3QgYW5kIGRvbid0IGluY2x1ZGUgYW55IG9mIGl0LgotICAgICAgICAgICAgICAgIGlm
IChzdGF0aWNfY2FzdDxpbnQ+KG5leHRNaWRwb2ludC5tX3BvcyArIDEpID4gc3RhcnQpCi0gICAg
ICAgICAgICAgICAgICAgIHJ1bnMuYWRkUnVuKGNyZWF0ZVJ1bihzdGFydCwgbmV4dE1pZHBvaW50
Lm1fcG9zICsgMSwgb2JqLCByZXNvbHZlcikpOwotICAgICAgICAgICAgICAgIHJldHVybiBhcHBl
bmRSdW5zRm9yT2JqZWN0KHJ1bnMsIG5leHRNaWRwb2ludC5tX3BvcyArIDEsIGVuZCwgb2JqLCBy
ZXNvbHZlcik7CisgICAgICAgICAgICBpZiAobmV4dE1pZHBvaW50Lm9mZnNldCgpICE9IFVJTlRf
TUFYKSB7IC8vIFVJTlRfTUFYIG1lYW5zIHN0b3AgYXQgdGhlIG9iamVjdCBhbmQgZG9uJ3QgaW5j
bHVkZSBhbnkgb2YgaXQuCisgICAgICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0PGludD4obmV4
dE1pZHBvaW50Lm9mZnNldCgpICsgMSkgPiBzdGFydCkKKyAgICAgICAgICAgICAgICAgICAgcnVu
cy5hZGRSdW4oY3JlYXRlUnVuKHN0YXJ0LCBuZXh0TWlkcG9pbnQub2Zmc2V0KCkgKyAxLCBvYmos
IHJlc29sdmVyKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFJ1bnNGb3JPYmplY3Qo
cnVucywgbmV4dE1pZHBvaW50Lm9mZnNldCgpICsgMSwgZW5kLCBvYmosIHJlc29sdmVyKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgIHJ1bnMuYWRkUnVuKGNyZWF0
ZVJ1bihzdGFydCwgZW5kLCBvYmosIHJlc29sdmVyKSk7CkBAIC05NTMsNyArOTUzLDcgQEAgc3Rh
dGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZShjb25zdCBSZW5kZXJCbG9j
a0Zsb3cqIGJsb2NrLCBJbmxpbmUKICAgICAgICAgSW5saW5lSXRlcmF0b3Igc2VnbWVudEVuZChp
dGVyYXRvci5yb290LCBpdGVyYXRvci5vYmplY3QsIGl0ZXJhdG9yLm9mZnNldCk7CiAgICAgICAg
IGlmIChpKSB7CiAgICAgICAgICAgICBBU1NFUlQoc2VnbWVudFN0YXJ0LnJlbmRlcmVyKCkpOwot
ICAgICAgICAgICAgQmlkaVJ1biogc2VnbWVudE1hcmtlciA9IGNyZWF0ZVJ1bihzZWdtZW50U3Rh
cnQubV9wb3MsIHNlZ21lbnRTdGFydC5tX3Bvcywgc2VnbWVudFN0YXJ0LnJlbmRlcmVyKCksIHRv
cFJlc29sdmVyKTsKKyAgICAgICAgICAgIEJpZGlSdW4qIHNlZ21lbnRNYXJrZXIgPSBjcmVhdGVS
dW4oc2VnbWVudFN0YXJ0Lm9mZnNldCgpLCBzZWdtZW50U3RhcnQub2Zmc2V0KCksIHNlZ21lbnRT
dGFydC5yZW5kZXJlcigpLCB0b3BSZXNvbHZlcik7CiAgICAgICAgICAgICBzZWdtZW50TWFya2Vy
LT5tX3N0YXJ0c1NlZ21lbnQgPSB0cnVlOwogICAgICAgICAgICAgYmlkaVJ1bnMuYWRkUnVuKHNl
Z21lbnRNYXJrZXIpOwogICAgICAgICAgICAgLy8gRG8gbm90IGNvbGxhcHNlIG1pZHBvaW50cyBi
ZXR3ZWVuIHNlZ21lbnRzCkBAIC0xMzUxLDcgKzEzNTEsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0
ZSwgSQogICAgICAgICAvLyBUaGlzIGlzIGEgc2hvcnQtY3V0IGZvciBlbXB0eSBsaW5lcy4KICAg
ICAgICAgaWYgKGxheW91dFN0YXRlLmxpbmVJbmZvKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAg
ICBpZiAobGFzdFJvb3RCb3goKSkKLSAgICAgICAgICAgICAgICBsYXN0Um9vdEJveCgpLT5zZXRM
aW5lQnJlYWtJbmZvKGVuZC5yZW5kZXJlcigpLCBlbmQubV9wb3MsIHJlc29sdmVyLnN0YXR1cygp
KTsKKyAgICAgICAgICAgICAgICBsYXN0Um9vdEJveCgpLT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5y
ZW5kZXJlcigpLCBlbmQub2Zmc2V0KCksIHJlc29sdmVyLnN0YXR1cygpKTsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIFZpc3VhbERpcmVjdGlvbk92ZXJyaWRlIG92ZXJyaWRlID0gKHN0
eWxlVG9Vc2UucnRsT3JkZXJpbmcoKSA9PSBWaXN1YWxPcmRlciA/IChzdHlsZVRvVXNlLmRpcmVj
dGlvbigpID09IExUUiA/IFZpc3VhbExlZnRUb1JpZ2h0T3ZlcnJpZGUgOiBWaXN1YWxSaWdodFRv
TGVmdE92ZXJyaWRlKSA6IE5vVmlzdWFsT3ZlcnJpZGUpOwogCkBAIC0xMzg0LDcgKzEzODQsNyBA
QCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UoTGluZUxh
eW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgSQogICAgICAgICAgICAgcmVzb2x2ZXIubWFya0N1cnJl
bnRSdW5FbXB0eSgpOyAvLyBGSVhNRTogVGhpcyBjYW4gcHJvYmFibHkgYmUgcmVwbGFjZWQgYnkg
YW4gQVNTRVJUIChvciBqdXN0IHJlbW92ZWQpLgogCiAgICAgICAgICAgICBpZiAobGluZUJveCkg
ewotICAgICAgICAgICAgICAgIGxpbmVCb3gtPnNldExpbmVCcmVha0luZm8oZW5kLnJlbmRlcmVy
KCksIGVuZC5tX3BvcywgcmVzb2x2ZXIuc3RhdHVzKCkpOworICAgICAgICAgICAgICAgIGxpbmVC
b3gtPnNldExpbmVCcmVha0luZm8oZW5kLnJlbmRlcmVyKCksIGVuZC5vZmZzZXQoKSwgcmVzb2x2
ZXIuc3RhdHVzKCkpOwogICAgICAgICAgICAgICAgIGlmIChsYXlvdXRTdGF0ZS51c2VzUmVwYWlu
dEJvdW5kcygpKQogICAgICAgICAgICAgICAgICAgICBsYXlvdXRTdGF0ZS51cGRhdGVSZXBhaW50
UmFuZ2VGcm9tQm94KGxpbmVCb3gpOwogCkBAIC0xOTYyLDcgKzE5NjIsNyBAQCBib29sIFJlbmRl
ckJsb2NrRmxvdzo6bWF0Y2hlZEVuZExpbmUoTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwg
Y29uc3QgSW5saW5lQgogICAgIFJvb3RJbmxpbmVCb3gqIG9yaWdpbmFsRW5kTGluZSA9IGxheW91
dFN0YXRlLmVuZExpbmUoKTsKICAgICBSb290SW5saW5lQm94KiBsaW5lID0gb3JpZ2luYWxFbmRM
aW5lOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtTGluZXMgJiYgbGluZTsgaSsrLCBsaW5l
ID0gbGluZS0+bmV4dFJvb3RCb3goKSkgewotICAgICAgICBpZiAobGluZS0+bGluZUJyZWFrT2Jq
KCkgPT0gcmVzb2x2ZXIucG9zaXRpb24oKS5yZW5kZXJlcigpICYmIGxpbmUtPmxpbmVCcmVha1Bv
cygpID09IHJlc29sdmVyLnBvc2l0aW9uKCkubV9wb3MpIHsKKyAgICAgICAgaWYgKGxpbmUtPmxp
bmVCcmVha09iaigpID09IHJlc29sdmVyLnBvc2l0aW9uKCkucmVuZGVyZXIoKSAmJiBsaW5lLT5s
aW5lQnJlYWtQb3MoKSA9PSByZXNvbHZlci5wb3NpdGlvbigpLm9mZnNldCgpKSB7CiAgICAgICAg
ICAgICAvLyBXZSBoYXZlIGEgbWF0Y2guCiAgICAgICAgICAgICBpZiAobGluZS0+bGluZUJyZWFr
QmlkaVN0YXR1cygpICE9IHJlc29sdmVyLnN0YXR1cygpKQogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsgLy8gLi4uYnV0IHRoZSBiaWRpIHN0YXRlIGRvZXNuJ3QgbWF0Y2guCkBAIC0yMDU2
LDcgKzIwNTYsNyBAQCBJbmxpbmVJdGVyYXRvciBMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRCcmVh
ayhJbmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sdmVyLCBMaW5lSQogCiAgICAgQVNTRVJUKHJlc29s
dmVyLnBvc2l0aW9uKCkucm9vdCgpID09ICZtX2Jsb2NrKTsKIAotICAgIGJvb2wgYXBwbGllZFN0
YXJ0V2lkdGggPSByZXNvbHZlci5wb3NpdGlvbigpLm1fcG9zID4gMDsKKyAgICBib29sIGFwcGxp
ZWRTdGFydFdpZHRoID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vZmZzZXQoKSA+IDA7CiAKICAgICBM
aW5lV2lkdGggd2lkdGgobV9ibG9jaywgbGluZUluZm8uaXNGaXJzdExpbmUoKSwgcmVxdWlyZXNJ
bmRlbnQobGluZUluZm8uaXNGaXJzdExpbmUoKSwgbGluZUluZm8ucHJldmlvdXNMaW5lQnJva2VD
bGVhbmx5KCksIG1fYmxvY2suc3R5bGUoKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5k
ZXggOTE2MGI3NTM0YjRjYTJhZDRmODBkMjVjYzRmYWFkOTRiYzYxNjBmMi4uOGNiMDk5MjE3MzIw
ZGNjZThhZTNhMzQ3NWU5MmFkNWU1NjVkNzhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaApA
QCAtMjYwLDcgKzI2MCw3IEBAIGlubGluZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIo
RUNsZWFyJiBjbGVhcikKICAgICAgICAgLy8gY29sbGFwc2VkIGF3YXkgc28gdGhhdCBpdCBkb2Vz
bid0IHB1c2ggdGhlIHRleHQgb3V0IGZyb20gdGhlIGNvbnRhaW5lcidzIHJpZ2h0LWhhbmQgZWRn
ZS4KICAgICAgICAgLy8gRklYTUU6IERvIHRoaXMgcmVnYXJkbGVzcyBvZiB0aGUgY29udGFpbmVy
J3MgYWxpZ25tZW50IC0gd2lsbCByZXF1aXJlIHJlYmFzZWxpbmluZyBhIGxvdCBvZiB0ZXN0IHJl
c3VsdHMuCiAgICAgICAgIGVsc2UgaWYgKG1faWdub3JpbmdTcGFjZXMgJiYgKG1fYmxvY2tTdHls
ZS50ZXh0QWxpZ24oKSA9PSBSSUdIVCB8fCBtX2Jsb2NrU3R5bGUudGV4dEFsaWduKCkgPT0gV0VC
S0lUX1JJR0hUKSkKLSAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5n
U3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQu
bV9wb3MpKTsKKyAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3Bh
Y2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zm
c2V0KCkpKTsKIAogICAgICAgICBpZiAoIW1fbGluZUluZm8uaXNFbXB0eSgpKQogICAgICAgICAg
ICAgY2xlYXIgPSBtX2N1cnJlbnRTdHlsZS0+Y2xlYXIoKTsKQEAgLTM1NCw3ICszNTQsNyBAQCBp
bmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUZsb2F0KCkKICAgICBpZiAobV9mbG9h
dHNGaXRPbkxpbmUgJiYgbV93aWR0aC5maXRzT25MaW5lRXhjbHVkaW5nVHJhaWxpbmdXaGl0ZXNw
YWNlKG1fYmxvY2subG9naWNhbFdpZHRoRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpKSkgewogICAg
ICAgICBtX2xpbmVCcmVha2VyLnBvc2l0aW9uTmV3RmxvYXRPbkxpbmUoZmxvYXRpbmdPYmplY3Qs
IG1fbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSwgbV9saW5lSW5mbywgbV93aWR0aCk7CiAgICAg
ICAgIGlmIChtX2xpbmVCcmVhay5yZW5kZXJlcigpID09IG1fY3VycmVudC5yZW5kZXJlcigpKSB7
Ci0gICAgICAgICAgICBBU1NFUlQoIW1fbGluZUJyZWFrLm1fcG9zKTsKKyAgICAgICAgICAgIEFT
U0VSVCghbV9saW5lQnJlYWsub2Zmc2V0KCkpOwogICAgICAgICAgICAgbV9saW5lQnJlYWsuaW5j
cmVtZW50KCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UKQEAgLTUxNCw3ICs1MTQsNyBAQCBpbmxp
bmUgdm9pZCB1cGRhdGVTZWdtZW50c0ZvclNoYXBlcyhSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBj
b25zdCBGbG9hdGluZ09iamVjdAogCiBpbmxpbmUgYm9vbCBpdGVyYXRvcklzQmV5b25kRW5kT2ZS
ZW5kZXJDb21iaW5lVGV4dChjb25zdCBJbmxpbmVJdGVyYXRvciYgaXRlciwgUmVuZGVyQ29tYmlu
ZVRleHQmIHJlbmRlcmVyKQogewotICAgIHJldHVybiBpdGVyLnJlbmRlcmVyKCkgPT0gJnJlbmRl
cmVyICYmIGl0ZXIubV9wb3MgPj0gcmVuZGVyZXIudGV4dExlbmd0aCgpOworICAgIHJldHVybiBp
dGVyLnJlbmRlcmVyKCkgPT0gJnJlbmRlcmVyICYmIGl0ZXIub2Zmc2V0KCkgPj0gcmVuZGVyZXIu
dGV4dExlbmd0aCgpOwogfQogCiBpbmxpbmUgdm9pZCBuZXh0Q2hhcmFjdGVyKFVDaGFyJiBjdXJy
ZW50Q2hhcmFjdGVyLCBVQ2hhciYgbGFzdENoYXJhY3RlciwgVUNoYXImIHNlY29uZFRvTGFzdENo
YXJhY3RlcikKQEAgLTU2Miw5ICs1NjIsOSBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IHRleHRXaWR0
aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbgogLy8g
QWRkaW5nIGEgcGFpciBvZiBtaWRwb2ludHMgYmVmb3JlIGEgY2hhcmFjdGVyIHdpbGwgc3BsaXQg
aXQgb3V0IGludG8gYSBuZXcgbGluZSBib3guCiBpbmxpbmUgdm9pZCBlbnN1cmVDaGFyYWN0ZXJH
ZXRzTGluZUJveChMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0
ZXJhdG9yJiB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yKQogewotICAgIElubGluZUl0ZXJhdG9yIG1p
ZHBvaW50KDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFw
aFNlcGFyYXRvci5tX3Bvcyk7Ci0gICAgbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1Nw
YWNlcyhJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLnJlbmRlcmVyKCks
IHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MgLSAxKSk7Ci0gICAgbGluZU1pZHBvaW50U3Rh
dGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBh
cmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX3BvcykpOworICAgIElu
bGluZUl0ZXJhdG9yIG1pZHBvaW50KDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIo
KSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5vZmZzZXQoKSk7CisgICAgbGluZU1pZHBvaW50U3Rh
dGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdyYXBoU2Vw
YXJhdG9yLnJlbmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iub2Zmc2V0KCkgLSAxKSk7
CisgICAgbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9y
KDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFy
YXRvci5vZmZzZXQoKSkpOwogfQogCiBpbmxpbmUgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJU
ZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlk
ZW50aWZpZXIsIHVuc2lnbmVkIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCBpbnQgY29uc2Vj
dXRpdmVIeXBoZW5hdGVkTGluZXNMaW1pdCwgaW50IG1pbmltdW1QcmVmaXhMaW1pdCwgaW50IG1p
bmltdW1TdWZmaXhMaW1pdCwgdW5zaWduZWQgbGFzdFNwYWNlLCB1bnNpZ25lZCBwb3MsIGZsb2F0
IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFw
c2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBs
aW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQpAQCAtNjM3LDcg
KzYzNyw3IEBAIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNv
bnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluCiAKIGlubGluZSBib29sIEJyZWFraW5n
Q29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBi
b29sJiBoeXBoZW5hdGVkLCAgdW5zaWduZWQmIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzKQog
ewotICAgIGlmICghbV9jdXJyZW50Lm1fcG9zKQorICAgIGlmICghbV9jdXJyZW50Lm9mZnNldCgp
KQogICAgICAgICBtX2FwcGxpZWRTdGFydFdpZHRoID0gZmFsc2U7CiAKICAgICBSZW5kZXJUZXh0
KiByZW5kZXJUZXh0ID0gdG9SZW5kZXJUZXh0KG1fY3VycmVudC5yZW5kZXJlcigpKTsKQEAgLTY2
Nyw3ICs2NjcsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29y
ZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgIGJvb2wgaXNGaXhlZFBp
dGNoID0gZm9udC5pc0ZpeGVkUGl0Y2goKTsKICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxl
Lmh5cGhlbnMoKSA9PSBIeXBoZW5zQXV0byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUoc3R5bGUu
bG9jYWxlKCkpOwogCi0gICAgdW5zaWduZWQgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOwor
ICAgIHVuc2lnbmVkIGxhc3RTcGFjZSA9IG1fY3VycmVudC5vZmZzZXQoKTsKICAgICBmbG9hdCB3
b3JkU3BhY2luZyA9IG1fY3VycmVudFN0eWxlLT53b3JkU3BhY2luZygpOwogICAgIGZsb2F0IGxh
c3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKICAgICBmbG9hdCB3b3JkU3BhY2luZ0ZvcldvcmRNZWFz
dXJlbWVudCA9IDA7CkBAIC03MDgsNyArNzA4LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250
ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wK
IAogICAgIFVDaGFyIGxhc3RDaGFyYWN0ZXIgPSBtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFr
SXRlcmF0b3IubGFzdENoYXJhY3RlcigpOwogICAgIFVDaGFyIHNlY29uZFRvTGFzdENoYXJhY3Rl
ciA9IG1fcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5zZWNvbmRUb0xhc3RDaGFy
YWN0ZXIoKTsKLSAgICBmb3IgKDsgbV9jdXJyZW50Lm1fcG9zIDwgcmVuZGVyVGV4dC0+dGV4dExl
bmd0aCgpOyBtX2N1cnJlbnQuZmFzdEluY3JlbWVudEluVGV4dE5vZGUoKSkgeworICAgIGZvciAo
OyBtX2N1cnJlbnQub2Zmc2V0KCkgPCByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCk7IG1fY3VycmVu
dC5mYXN0SW5jcmVtZW50SW5UZXh0Tm9kZSgpKSB7CiAgICAgICAgIGJvb2wgcHJldmlvdXNDaGFy
YWN0ZXJJc1NwYWNlID0gbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKICAgICAgICAgYm9vbCBw
cmV2aW91c0NoYXJhY3RlcklzV1MgPSBtX2N1cnJlbnRDaGFyYWN0ZXJJc1dTOwogICAgICAgICBV
Q2hhciBjID0gbV9jdXJyZW50LmN1cnJlbnQoKTsKQEAgLTcyOCwxMyArNzI4LDEzIEBAIGlubGlu
ZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3Jk
TWVhc3VyZW1lbnRzLCBib29sCiAKICAgICAgICAgaWYgKChicmVha0FsbCB8fCBicmVha1dvcmRz
KSAmJiAhbWlkV29yZEJyZWFrICYmICghbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSB8fCBzdHls
ZS53aGl0ZVNwYWNlKCkgIT0gUFJFX1dSQVApKSB7CiAgICAgICAgICAgICB3cmFwVyArPSBjaGFy
V2lkdGg7Ci0gICAgICAgICAgICBib29sIG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFp
ciA9IFUxNl9JU19MRUFEKGMpICYmIG1fY3VycmVudC5tX3BvcyArIDEgPCByZW5kZXJUZXh0LT50
ZXh0TGVuZ3RoKCkgJiYgVTE2X0lTX1RSQUlMKCgqcmVuZGVyVGV4dClbbV9jdXJyZW50Lm1fcG9z
ICsgMV0pOwotICAgICAgICAgICAgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1f
Y3VycmVudC5tX3BvcywgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID8gMiA6IDEs
IGZvbnQsIG1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSArIHdyYXBXLCBpc0ZpeGVkUGl0Y2gsIG1f
Y29sbGFwc2VXaGl0ZVNwYWNlLCBmYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKKyAgICAgICAg
ICAgIGJvb2wgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID0gVTE2X0lTX0xFQUQo
YykgJiYgbV9jdXJyZW50Lm9mZnNldCgpICsgMSA8IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAm
JiBVMTZfSVNfVFJBSUwoKCpyZW5kZXJUZXh0KVttX2N1cnJlbnQub2Zmc2V0KCkgKyAxXSk7Cisg
ICAgICAgICAgICBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm9m
ZnNldCgpLCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZm9udCwg
bV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcsIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBz
ZVdoaXRlU3BhY2UsIGZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOwogICAgICAgICAgICAgbWlk
V29yZEJyZWFrID0gbV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcgKyBjaGFyV2lkdGgg
PiBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpbnQgbmV4
dEJyZWFrYWJsZVBvc2l0aW9uID0gbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpOwot
ICAgICAgICBib29sIGJldHdlZW5Xb3JkcyA9IGMgPT0gJ1xuJyB8fCAobV9jdXJyV1MgIT0gUFJF
ICYmICFtX2F0U3RhcnQgJiYgaXNCcmVha2FibGUobV9yZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVh
a0l0ZXJhdG9yLCBtX2N1cnJlbnQubV9wb3MsIG5leHRCcmVha2FibGVQb3NpdGlvbiwgYnJlYWtO
QlNQKQorICAgICAgICBib29sIGJldHdlZW5Xb3JkcyA9IGMgPT0gJ1xuJyB8fCAobV9jdXJyV1Mg
IT0gUFJFICYmICFtX2F0U3RhcnQgJiYgaXNCcmVha2FibGUobV9yZW5kZXJUZXh0SW5mby5tX2xp
bmVCcmVha0l0ZXJhdG9yLCBtX2N1cnJlbnQub2Zmc2V0KCksIG5leHRCcmVha2FibGVQb3NpdGlv
biwgYnJlYWtOQlNQKQogICAgICAgICAgICAgJiYgKHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5z
Tm9uZSB8fCAobV9jdXJyZW50LnByZXZpb3VzSW5TYW1lTm9kZSgpICE9IHNvZnRIeXBoZW4pKSk7
CiAgICAgICAgIG1fY3VycmVudC5zZXROZXh0QnJlYWthYmxlUG9zaXRpb24obmV4dEJyZWFrYWJs
ZVBvc2l0aW9uKTsKIApAQCAtNzQ3LDggKzc0Nyw4IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29u
dGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29s
CiAgICAgICAgICAgICAgICAgICAgIC8vIG5ldyBwb2ludC4KICAgICAgICAgICAgICAgICAgICAg
bV9pZ25vcmluZ1NwYWNlcyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB3b3JkU3BhY2lu
Z0ZvcldvcmRNZWFzdXJlbWVudCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGxhc3RTcGFjZSA9
IG1fY3VycmVudC5tX3BvczsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55
IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KLSAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9p
bnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJl
bmRlcmVyKCksIG1fY3VycmVudC5tX3BvcykpOworICAgICAgICAgICAgICAgICAgICBsYXN0U3Bh
Y2UgPSBtX2N1cnJlbnQub2Zmc2V0KCk7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRk
IGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCisgICAgICAgICAgICAgICAgICAgIG1fbGlu
ZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3Vy
cmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCkpKTsKICAgICAgICAgICAgICAgICAg
ICAgc3RvcHBlZElnbm9yaW5nU3BhY2VzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAvLyBKdXN0IGtlZXAgaWdub3JpbmcgdGhlc2Ugc3BhY2Vz
LgpAQCAtNzYxLDE0ICs3NjEsMTQgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5k
bGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAg
ICAgIFdvcmRNZWFzdXJlbWVudCYgd29yZE1lYXN1cmVtZW50ID0gd29yZE1lYXN1cmVtZW50cy5s
YXN0KCk7CiAKICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciA9IHJlbmRlclRl
eHQ7Ci0gICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm1f
cG9zOworICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fY3VycmVudC5v
ZmZzZXQoKTsKICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5zdGFydE9mZnNldCA9IGxhc3RT
cGFjZTsKIAogICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRlbXBXaWR0aDsKICAgICAgICAg
ICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGMgPT0gJyAnKQotICAgICAgICAgICAg
ICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNl
LCBtX2N1cnJlbnQubV9wb3MgKyAxIC0gbGFzdFNwYWNlLCBmb250LCBtX3dpZHRoLmN1cnJlbnRX
aWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1l
bnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoOwor
ICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4
dCwgbGFzdFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCkgKyAxIC0gbGFzdFNwYWNlLCBmb250LCBt
X3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNl
LCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkgLSB3b3JkVHJhaWxp
bmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFkZGl0aW9u
YWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNlLCBtX2N1cnJlbnQu
bV9wb3MgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQ
aXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRz
LCB0ZXh0TGF5b3V0KTsKKyAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVGVtcFdpZHRoID0gdGV4
dFdpZHRoKHJlbmRlclRleHQsIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm9mZnNldCgpIC0gbGFzdFNw
YWNlLCBmb250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFw
c2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7
CiAKICAgICAgICAgICAgIGlmICh3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5pc0VtcHR5
KCkgJiYgIWZhbGxiYWNrRm9udHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHdvcmRNZWFz
dXJlbWVudC5mYWxsYmFja0ZvbnRzLnN3YXAoZmFsbGJhY2tGb250cyk7CkBAIC04MDAsNyArODAw
LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJl
bWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgICAgICAvLyBhcyBjYW5k
aWRhdGUgd2lkdGggZm9yIHRoaXMgbGluZS4KICAgICAgICAgICAgICAgICBib29sIGxpbmVXYXNU
b29XaWRlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYgKG1fd2lkdGguZml0c09uTGluZSgp
ICYmIG1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgbV9jdXJyZW50U3R5bGUtPmJyZWFrT25s
eUFmdGVyV2hpdGVTcGFjZSgpICYmICFtaWRXb3JkQnJlYWspIHsKLSAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1fY3VycmVudC5tX3Bv
cywgMSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxh
cHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQp
ICsgKGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDApOworICAgICAgICAgICAgICAg
ICAgICBmbG9hdCBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm9m
ZnNldCgpLCAxLCBmb250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1f
Y29sbGFwc2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExh
eW91dCkgKyAoYXBwbHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMCk7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIENoZWNrIGlmIGxpbmUgaXMgdG9vIGJpZyBldmVuIHdpdGhvdXQgdGhlIGV4
dHJhIHNwYWNlCiAgICAgICAgICAgICAgICAgICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUu
IElmIGl0IGlzIG5vdCwgZG8gbm90aGluZy4KICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhl
IGxpbmUgbmVlZHMgdGhlIGV4dHJhIHdoaXRlc3BhY2UgdG8gYmUgdG9vIGxvbmcsCkBAIC04MDgs
MzAgKzgwOCwzMCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29y
ZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgICAg
ICAvLyBhZGRpdGlvbmFsIHdoaXRlc3BhY2UuCiAgICAgICAgICAgICAgICAgICAgIGlmICghbV93
aWR0aC5maXRzT25MaW5lSW5jbHVkaW5nRXh0cmFXaWR0aChjaGFyV2lkdGgpKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lV2FzVG9vV2lkZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVu
dC5tX3BvcywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9j
dXJyZW50Lm9mZnNldCgpLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgbV9saW5lQnJlYWtlci5za2lwVHJhaWxpbmdXaGl0ZXNwYWNl
KG1fbGluZUJyZWFrLCBtX2xpbmVJbmZvKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAobGluZVdhc1Rvb1dpZGUgfHwgIW1fd2lk
dGguZml0c09uTGluZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjYW5IeXBoZW5hdGUg
JiYgIW1fd2lkdGguZml0c09uTGluZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0cnlI
eXBoZW5hdGluZyhyZW5kZXJUZXh0LCBmb250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVI
eXBoZW5hdGVkTGluZXMsIG1fYmxvY2tTdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5
bGUuaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIo
KSwgbGFzdFNwYWNlLCBtX2N1cnJlbnQubV9wb3MsIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBh
ZGRpdGlvbmFsVGVtcFdpZHRoLCBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRj
aCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVh
aywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlw
aGVuYXRlZCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0cnlIeXBoZW5hdGluZyhyZW5kZXJU
ZXh0LCBmb250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIG1f
YmxvY2tTdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1p
dEJlZm9yZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwgbGFzdFNwYWNlLCBtX2N1
cnJlbnQub2Zmc2V0KCksIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRpdGlvbmFsVGVtcFdp
ZHRoLCBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdo
aXRlU3BhY2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywgbV9jdXJyZW50Lm5l
eHRCcmVha2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWtlci5tX2h5cGhlbmF0ZWQpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2F0RW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFr
LmF0VGV4dFBhcmFncmFwaFNlcGFyYXRvcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQubV9wb3MgPiAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50
Lm9mZnNldCgpID4gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnN1cmVDaGFyYWN0
ZXJHZXRzTGluZUJveChtX2xpbmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpbmVJbmZvLnNldFByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSh0cnVlKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2xpbmVC
cmVhay5tX3BvczsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRP
ZmZzZXQgPSBtX2xpbmVCcmVhay5vZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsucmVuZGVyZXIoKSAmJiBtX2xpbmVCcmVh
ay5tX3BvcyAmJiBtX2xpbmVCcmVhay5yZW5kZXJlcigpLT5pc1RleHQoKSAmJiB0b1JlbmRlclRl
eHQobV9saW5lQnJlYWsucmVuZGVyZXIoKSktPnRleHRMZW5ndGgoKSAmJiB0b1JlbmRlclRleHQo
bV9saW5lQnJlYWsucmVuZGVyZXIoKSktPmNoYXJhY3RlckF0KG1fbGluZUJyZWFrLm1fcG9zIC0g
MSkgPT0gc29mdEh5cGhlbiAmJiBzdHlsZS5oeXBoZW5zKCkgIT0gSHlwaGVuc05vbmUpCisgICAg
ICAgICAgICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5yZW5kZXJlcigpICYmIG1fbGluZUJyZWFr
Lm9mZnNldCgpICYmIG1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzVGV4dCgpICYmIHRvUmVuZGVy
VGV4dChtX2xpbmVCcmVhay5yZW5kZXJlcigpKS0+dGV4dExlbmd0aCgpICYmIHRvUmVuZGVyVGV4
dChtX2xpbmVCcmVhay5yZW5kZXJlcigpKS0+Y2hhcmFjdGVyQXQobV9saW5lQnJlYWsub2Zmc2V0
KCkgLSAxKSA9PSBzb2Z0SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGh5cGhlbmF0ZWQgPSB0cnVlOwotICAgICAgICAgICAg
ICAgICAgICBpZiAobV9saW5lQnJlYWsubV9wb3MgJiYgbV9saW5lQnJlYWsubV9wb3MgIT0gKHVu
c2lnbmVkKXdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgJiYgIXdvcmRNZWFzdXJlbWVudC53aWR0
aCkgeworICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsub2Zmc2V0KCkgJiYgbV9s
aW5lQnJlYWsub2Zmc2V0KCkgIT0gKHVuc2lnbmVkKXdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQg
JiYgIXdvcmRNZWFzdXJlbWVudC53aWR0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGNoYXJXaWR0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVu
dC5lbmRPZmZzZXQgPSBtX2xpbmVCcmVhay5tX3BvczsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9saW5lQnJlYWsub2Zmc2V0KCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LndpZHRoID0gY2hhcldp
ZHRoOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CkBA
IC04NTIsOSArODUyLDkgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0
KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgaWYgKGMgPT0gJ1xuJyAmJiBtX3ByZXNlcnZlc05ld2xpbmUpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQubV9w
b3MgPiAwKQorICAgICAgICAgICAgICAgIGlmICghc3RvcHBlZElnbm9yaW5nU3BhY2VzICYmIG1f
Y3VycmVudC5vZmZzZXQoKSA+IDApCiAgICAgICAgICAgICAgICAgICAgIGVuc3VyZUNoYXJhY3Rl
ckdldHNMaW5lQm94KG1fbGluZU1pZHBvaW50U3RhdGUsIG1fY3VycmVudCk7Ci0gICAgICAgICAg
ICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQu
bV9wb3MsIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAg
ICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zm
c2V0KCksIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAgICAg
ICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7CiAgICAgICAgICAgICAgICAgbV9saW5lSW5mby5z
ZXRQcmV2aW91c0xpbmVCcm9rZUNsZWFubHkodHJ1ZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CkBAIC04NjMsNyArODYzLDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0Ojpo
YW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAg
ICAgICAgIGlmIChtX2F1dG9XcmFwICYmIGJldHdlZW5Xb3JkcykgewogICAgICAgICAgICAgICAg
IG1fd2lkdGguY29tbWl0KCk7CiAgICAgICAgICAgICAgICAgd3JhcFcgPSAwOwotICAgICAgICAg
ICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50
Lm1fcG9zLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAgICAgICAg
ICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm9m
ZnNldCgpLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAgICAgICAgICAg
ICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQgbm90IHdyYXAgaW4gdGhlIG1pZGRsZSBv
ZiBhIHdvcmQgb25jZSBpdCBoYXMgaGFkIGFuCiAgICAgICAgICAgICAgICAgLy8gb3Bwb3J0dW5p
dHkgdG8gYnJlYWsgYWZ0ZXIgYSB3b3JkLgogICAgICAgICAgICAgICAgIGJyZWFrV29yZHMgPSBm
YWxzZTsKQEAgLTg3MiwxNCArODcyLDE0IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6
aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAg
ICAgICAgICBpZiAobWlkV29yZEJyZWFrICYmICFVMTZfSVNfVFJBSUwoYykgJiYgIShVX0dFVF9H
Q19NQVNLKGMpICYgVV9HQ19NX01BU0spKSB7CiAgICAgICAgICAgICAgICAgLy8gUmVtZW1iZXIg
dGhpcyBhcyBhIGJyZWFrYWJsZSBwb3NpdGlvbiBpbiBjYXNlCiAgICAgICAgICAgICAgICAgLy8g
YWRkaW5nIHRoZSBlbmQgd2lkdGggZm9yY2VzIGEgYnJlYWsuCi0gICAgICAgICAgICAgICAgbV9s
aW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MsIG1f
Y3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9saW5l
QnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCksIG1f
Y3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAgICAgICAgbWlkV29y
ZEJyZWFrICY9IChicmVha1dvcmRzIHx8IGJyZWFrQWxsKTsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgaWYgKGJldHdlZW5Xb3JkcykgewogICAgICAgICAgICAgICAgIGxhc3RTcGFjZVdv
cmRTcGFjaW5nID0gYXBwbHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMDsKICAgICAgICAg
ICAgICAgICB3b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVudCA9IChhcHBseVdvcmRTcGFjaW5n
ICYmIHdvcmRNZWFzdXJlbWVudC53aWR0aCkgPyB3b3JkU3BhY2luZyA6IDA7Ci0gICAgICAgICAg
ICAgICAgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOworICAgICAgICAgICAgICAgIGxhc3RT
cGFjZSA9IG1fY3VycmVudC5vZmZzZXQoKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
aWYgKCFtX2lnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVudFN0eWxlLT5jb2xsYXBzZVdoaXRlU3Bh
Y2UoKSkgewpAQCAtOTAyLDM0ICs5MDIsMzUgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAg
ICAgICAgICAgIG1faWdub3JpbmdTcGFjZXMgPSBmYWxzZTsKICAgICAgICAgICAgIGxhc3RTcGFj
ZVdvcmRTcGFjaW5nID0gYXBwbHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMDsKICAgICAg
ICAgICAgIHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50ID0gKGFwcGx5V29yZFNwYWNpbmcg
JiYgd29yZE1lYXN1cmVtZW50cy5sYXN0KCkud2lkdGgpID8gd29yZFNwYWNpbmcgOiAwOwotICAg
ICAgICAgICAgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOyAvLyBlLmcuLCAiRm9vICAgIGdv
byIsIGRvbid0IGFkZCBpbiBhbnkgb2YgdGhlIGlnbm9yZWQgc3BhY2VzLgotICAgICAgICAgICAg
bV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwg
bV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcykpOworICAgICAgICAgICAgbGFz
dFNwYWNlID0gbV9jdXJyZW50Lm9mZnNldCgpOyAvLyBlLmcuLCAiRm9vICAgIGdvbyIsIGRvbid0
IGFkZCBpbiBhbnkgb2YgdGhlIGlnbm9yZWQgc3BhY2VzLgorICAgICAgICAgICAgbV9saW5lTWlk
cG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50
LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSkpOwogICAgICAgICB9CiAjaWYgRU5BQkxF
KFNWRykKLSAgICAgICAgaWYgKGlzU1ZHVGV4dCAmJiBtX2N1cnJlbnQubV9wb3MgPiAwKSB7Cisg
ICAgICAgIGlmIChpc1NWR1RleHQgJiYgbV9jdXJyZW50Lm9mZnNldCgpID4gMCkgewogICAgICAg
ICAgICAgLy8gRm9yY2UgY3JlYXRpb24gb2YgbmV3IElubGluZUJveGVzIGZvciBlYWNoIGFic29s
dXRlIHBvc2l0aW9uZWQgY2hhcmFjdGVyICh0aG9zZSB0aGF0IHN0YXJ0IG5ldyB0ZXh0IGNodW5r
cykuCi0gICAgICAgICAgICBpZiAodG9SZW5kZXJTVkdJbmxpbmVUZXh0KHJlbmRlclRleHQpLT5j
aGFyYWN0ZXJTdGFydHNOZXdUZXh0Q2h1bmsobV9jdXJyZW50Lm1fcG9zKSkKKyAgICAgICAgICAg
IGlmICh0b1JlbmRlclNWR0lubGluZVRleHQocmVuZGVyVGV4dCktPmNoYXJhY3RlclN0YXJ0c05l
d1RleHRDaHVuayhtX2N1cnJlbnQub2Zmc2V0KCkpKQogICAgICAgICAgICAgICAgIGVuc3VyZUNo
YXJhY3RlckdldHNMaW5lQm94KG1fbGluZU1pZHBvaW50U3RhdGUsIG1fY3VycmVudCk7CiAgICAg
ICAgIH0KICNlbmRpZgogCiAgICAgICAgIGlmIChtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYm
ICFwcmV2aW91c0NoYXJhY3RlcklzU3BhY2UpIHsKICAgICAgICAgICAgIG1fc3RhcnRPZklnbm9y
ZWRTcGFjZXMuc2V0UmVuZGVyZXIobV9jdXJyZW50LnJlbmRlcmVyKCkpOwotICAgICAgICAgICAg
bV9zdGFydE9mSWdub3JlZFNwYWNlcy5tX3BvcyA9IG1fY3VycmVudC5tX3BvczsKKyAgICAgICAg
ICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMuc2V0T2Zmc2V0KG1fY3VycmVudC5vZmZzZXQoKSk7
CiAgICAgICAgICAgICAvLyBTcGFjZXMgYWZ0ZXIgcmlnaHQtYWxpZ25lZCB0ZXh0IGFuZCBiZWZv
cmUgYSBsaW5lLWJyZWFrIGdldCBjb2xsYXBzZWQgYXdheSBjb21wbGV0ZWx5IHNvIHRoYXQgdGhl
IHRyYWlsaW5nCiAgICAgICAgICAgICAvLyBzcGFjZSBkb2Vzbid0IHNlZW0gdG8gcHVzaCB0aGUg
dGV4dCBvdXQgZnJvbSB0aGUgcmlnaHQtaGFuZCBlZGdlLgogICAgICAgICAgICAgLy8gRklYTUU6
IERvIHRoaXMgcmVnYXJkbGVzcyBvZiB0aGUgY29udGFpbmVyJ3MgYWxpZ25tZW50IC0gd2lsbCBy
ZXF1aXJlIHJlYmFzZWxpbmluZyBhIGxvdCBvZiB0ZXN0IHJlc3VsdHMuCiAgICAgICAgICAgICBp
ZiAobV9uZXh0T2JqZWN0ICYmIG1fbmV4dE9iamVjdC0+aXNCUigpICYmIChtX2Jsb2NrU3R5bGUu
dGV4dEFsaWduKCkgPT0gUklHSFQgfHwgbV9ibG9ja1N0eWxlLnRleHRBbGlnbigpID09IFdFQktJ
VF9SSUdIVCkpIHsKLSAgICAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLm1fcG9z
LS07CisgICAgICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudFBvc2l0aW9uID0gbV9zdGFydE9m
SWdub3JlZFNwYWNlcy5vZmZzZXQoKTsKKyAgICAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVk
U3BhY2VzLnNldE9mZnNldChjdXJyZW50UG9zaXRpb24tLSk7CiAgICAgICAgICAgICAgICAgLy8g
SWYgdGhlcmUncyBqdXN0IGEgc2luZ2xlIHRyYWlsaW5nIHNwYWNlIHN0YXJ0IGlnbm9yaW5nIGl0
IG5vdyBzbyBpdCBjb2xsYXBzZXMgYXdheS4KLSAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50
Lm1fcG9zID09IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAtIDEpCisgICAgICAgICAgICAgICAg
aWYgKG1fY3VycmVudC5vZmZzZXQoKSA9PSByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCkgLSAxKQog
ICAgICAgICAgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFj
ZXMobV9zdGFydE9mSWdub3JlZFNwYWNlcyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoIW1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgcHJldmlvdXNDaGFyYWN0
ZXJJc1dTKSB7CiAgICAgICAgICAgICBpZiAobV9hdXRvV3JhcCAmJiBtX2N1cnJlbnRTdHlsZS0+
YnJlYWtPbmx5QWZ0ZXJXaGl0ZVNwYWNlKCkpCi0gICAgICAgICAgICAgICAgbV9saW5lQnJlYWsu
bW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MsIG1fY3VycmVudC5u
ZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92
ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCksIG1fY3VycmVudC5u
ZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9jb2xs
YXBzZVdoaXRlU3BhY2UgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiAhbV9pZ25vcmlu
Z1NwYWNlcykKQEAgLTk0OCw5ICs5NDksOSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6
OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAg
IHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciA9IHJlbmRlclRleHQ7CiAKICAgICAvLyBJTVBPUlRB
TlQ6IGN1cnJlbnQubV9wb3MgaXMgPiBsZW5ndGggaGVyZSEKLSAgICBmbG9hdCBhZGRpdGlvbmFs
VGVtcFdpZHRoID0gbV9pZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgocmVuZGVyVGV4dCwg
bGFzdFNwYWNlLCBtX2N1cnJlbnQubV9wb3MgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3Vy
cmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFz
dXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKKyAgICBmbG9hdCBhZGRpdGlvbmFs
VGVtcFdpZHRoID0gbV9pZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgocmVuZGVyVGV4dCwg
bGFzdFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCkgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGgu
Y3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRN
ZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKICAgICB3b3JkTWVhc3VyZW1l
bnQuc3RhcnRPZmZzZXQgPSBsYXN0U3BhY2U7Ci0gICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNl
dCA9IG1fY3VycmVudC5tX3BvczsKKyAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9j
dXJyZW50Lm9mZnNldCgpOwogICAgIHdvcmRNZWFzdXJlbWVudC53aWR0aCA9IG1faWdub3JpbmdT
cGFjZXMgPyAwIDogYWRkaXRpb25hbFRlbXBXaWR0aCArIHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1
cmVtZW50OwogICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggKz0gbGFzdFNwYWNlV29yZFNwYWNpbmc7
CiAKQEAgLTk2OCw3ICs5NjksNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRs
ZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogCiAgICAgaWYg
KCFtX3dpZHRoLmZpdHNPbkxpbmUoKSkgewogICAgICAgICBpZiAoY2FuSHlwaGVuYXRlKQotICAg
ICAgICAgICAgdHJ5SHlwaGVuYXRpbmcocmVuZGVyVGV4dCwgZm9udCwgc3R5bGUubG9jYWxlKCks
IGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCBtX2Jsb2NrU3R5bGUuaHlwaGVuYXRpb25MaW1p
dExpbmVzKCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRCZWZvcmUoKSwgc3R5bGUuaHlwaGVuYXRp
b25MaW1pdEFmdGVyKCksIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm1fcG9zLCBtX3dpZHRoLmN1cnJl
bnRXaWR0aCgpIC0gYWRkaXRpb25hbFRlbXBXaWR0aCwgbV93aWR0aC5hdmFpbGFibGVXaWR0aCgp
LCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCBsYXN0U3BhY2VXb3JkU3BhY2lu
ZywgbV9saW5lQnJlYWssIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSwgbV9saW5l
QnJlYWtlci5tX2h5cGhlbmF0ZWQpOworICAgICAgICAgICAgdHJ5SHlwaGVuYXRpbmcocmVuZGVy
VGV4dCwgZm9udCwgc3R5bGUubG9jYWxlKCksIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCBt
X2Jsb2NrU3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCksIHN0eWxlLmh5cGhlbmF0aW9uTGlt
aXRCZWZvcmUoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEFmdGVyKCksIGxhc3RTcGFjZSwgbV9j
dXJyZW50Lm9mZnNldCgpLCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpIC0gYWRkaXRpb25hbFRlbXBX
aWR0aCwgbV93aWR0aC5hdmFpbGFibGVXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VX
aGl0ZVNwYWNlLCBsYXN0U3BhY2VXb3JkU3BhY2luZywgbV9saW5lQnJlYWssIG1fY3VycmVudC5u
ZXh0QnJlYWthYmxlUG9zaXRpb24oKSwgbV9saW5lQnJlYWtlci5tX2h5cGhlbmF0ZWQpOwogCiAg
ICAgICAgIGlmICghaHlwaGVuYXRlZCAmJiBtX2xpbmVCcmVhay5wcmV2aW91c0luU2FtZU5vZGUo
KSA9PSBzb2Z0SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkgewogICAg
ICAgICAgICAgaHlwaGVuYXRlZCA9IHRydWU7CkBAIC0xMDc5LDggKzEwODAsMTAgQEAgaW5saW5l
IHZvaWQgY2hlY2tNaWRwb2ludHMoTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2ludFN0YXRl
LCBJbmxpbmVJdGVyYXRvciYKICAgICAgICAgaWYgKGN1cnJwb2ludCA9PSBsQnJlYWspIHsKICAg
ICAgICAgICAgIC8vIFdlIGhpdCB0aGUgbGluZSBicmVhayBiZWZvcmUgdGhlIHN0YXJ0IHBvaW50
LiBTaGF2ZSBvZmYgdGhlIHN0YXJ0IHBvaW50LgogICAgICAgICAgICAgbGluZU1pZHBvaW50U3Rh
dGUubnVtTWlkcG9pbnRzLS07Ci0gICAgICAgICAgICBpZiAoZW5kcG9pbnQucmVuZGVyZXIoKS0+
c3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSAmJiBlbmRwb2ludC5yZW5kZXJlcigpLT5pc1Rl
eHQoKSkKLSAgICAgICAgICAgICAgICBlbmRwb2ludC5tX3Bvcy0tOworICAgICAgICAgICAgaWYg
KGVuZHBvaW50LnJlbmRlcmVyKCktPnN0eWxlKCkuY29sbGFwc2VXaGl0ZVNwYWNlKCkgJiYgZW5k
cG9pbnQucmVuZGVyZXIoKS0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBj
dXJyZW50UG9zaXRpb24gPSBlbmRwb2ludC5vZmZzZXQoKTsKKyAgICAgICAgICAgICAgICBlbmRw
b2ludC5zZXRPZmZzZXQoY3VycmVudFBvc2l0aW9uLS0pOworICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgfQogfQpAQCAtMTA5NywxOSArMTEwMCwxOSBAQCBJbmxpbmVJdGVyYXRvciBCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZUVuZE9mTGluZSgpCiAgICAgICAgIGlmIChtX2xpbmVCcmVhayA9
PSBtX3Jlc29sdmVyLnBvc2l0aW9uKCkpIHsKICAgICAgICAgICAgIGlmICghbV9saW5lQnJlYWsu
cmVuZGVyZXIoKSB8fCAhbV9saW5lQnJlYWsucmVuZGVyZXIoKS0+aXNCUigpKSB7CiAgICAgICAg
ICAgICAgICAgLy8gd2UganVzdCBhZGQgYXMgbXVjaCBhcyBwb3NzaWJsZQotICAgICAgICAgICAg
ICAgIGlmIChtX2Jsb2NrU3R5bGUud2hpdGVTcGFjZSgpID09IFBSRSAmJiAhbV9jdXJyZW50Lm1f
cG9zKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fYmxvY2tTdHlsZS53aGl0ZVNwYWNlKCkgPT0g
UFJFICYmICFtX2N1cnJlbnQub2Zmc2V0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgbV9saW5l
QnJlYWsubW92ZVRvKG1fbGFzdE9iamVjdCwgbV9sYXN0T2JqZWN0LT5pc1RleHQoKSA/IG1fbGFz
dE9iamVjdC0+bGVuZ3RoKCkgOiAwKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1fbGlu
ZUJyZWFrLnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgZXZlciBi
cmVhayBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBpZiB3ZSBjYW4gaGVscCBpdC4KICAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlcmUncyBubyByb29tIGF0IGFsbC4gV2UganVzdCBoYXZlIHRvIGJl
IG9uIHRoaXMgbGluZSwKICAgICAgICAgICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggd2UnbGwg
c3BpbGwgb3V0LgotICAgICAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJy
ZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bvcyk7CisgICAgICAgICAgICAgICAgICAgIG1f
bGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm9mZnNldCgp
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBtYWtl
IHN1cmUgd2UgY29uc3VtZSBhdCBsZWFzdCBvbmUgY2hhci9vYmplY3QuCiAgICAgICAgICAgICBp
ZiAobV9saW5lQnJlYWsgPT0gbV9yZXNvbHZlci5wb3NpdGlvbigpKQogICAgICAgICAgICAgICAg
IG1fbGluZUJyZWFrLmluY3JlbWVudCgpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX2N1cnJlbnQu
bV9wb3MgJiYgIW1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSAmJiBtX3dpZHRoLnVuY29tbWl0dGVk
V2lkdGgoKSAmJiAhbV9oYWRVbmNvbW1pdHRlZFdpZHRoQmVmb3JlQ3VycmVudCkgeworICAgICAg
ICB9IGVsc2UgaWYgKCFtX2N1cnJlbnQub2Zmc2V0KCkgJiYgIW1fd2lkdGguY29tbWl0dGVkV2lk
dGgoKSAmJiBtX3dpZHRoLnVuY29tbWl0dGVkV2lkdGgoKSAmJiAhbV9oYWRVbmNvbW1pdHRlZFdp
ZHRoQmVmb3JlQ3VycmVudCkgewogICAgICAgICAgICAgLy8gRG8gbm90IHB1c2ggdGhlIGN1cnJl
bnQgb2JqZWN0IHRvIHRoZSBuZXh0IGxpbmUsIHdoZW4gdGhpcyBsaW5lIGhhcyBzb21lIGNvbnRl
bnQsIGJ1dCBpdCBpcyBzdGlsbCBjb25zaWRlcmVkIGVtcHR5LgogICAgICAgICAgICAgLy8gRW1w
dHkgaW5saW5lIGVsZW1lbnRzIGxpa2UgPHNwYW4+PC9zcGFuPiBjYW4gcHJvZHVjZSBzdWNoIGxp
bmVzIGFuZCBub3cgd2UganVzdCBpZ25vcmUgdGhlc2UgYnJlYWsgb3Bwb3J0dW5pdGllcwogICAg
ICAgICAgICAgLy8gYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSwgaWYgbm8gd2lkdGggaGFzIGJlZW4g
Y29tbWl0dGVkIHlldC4KQEAgLTExMjcsOCArMTEzMCw5IEBAIElubGluZUl0ZXJhdG9yIEJyZWFr
aW5nQ29udGV4dDo6aGFuZGxlRW5kT2ZMaW5lKCkKICAgICAvLyBvZiB0aGUgb2JqZWN0LiBEbyB0
aGlzIGFkanVzdG1lbnQgdG8gbWFrZSBpdCBwb2ludCB0byB0aGUgc3RhcnQKICAgICAvLyBvZiB0
aGUgbmV4dCBvYmplY3QgaW5zdGVhZCB0byBhdm9pZCBjb25mdXNpbmcgdGhlIHJlc3Qgb2YgdGhl
CiAgICAgLy8gY29kZS4KLSAgICBpZiAobV9saW5lQnJlYWsubV9wb3MgPiAwKSB7Ci0gICAgICAg
IG1fbGluZUJyZWFrLm1fcG9zLS07CisgICAgaWYgKG1fbGluZUJyZWFrLm9mZnNldCgpID4gMCkg
eworICAgICAgICB1bnNpZ25lZCBjdXJyZW50UG9zaXRpb24gPSBtX2xpbmVCcmVhay5vZmZzZXQo
KTsKKyAgICAgICAgbV9saW5lQnJlYWsuc2V0T2Zmc2V0KGN1cnJlbnRQb3NpdGlvbi0tKTsKICAg
ICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9UcmFpbGluZ09iamVjdHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcAppbmRleCBhNmNlODRhN2Fj
MWE1MDljMmY2N2QxYTdhZmMxM2RmZDRhYzE0ZTY1Li5lODE1ZjI3M2IwOWVkMTA4YTlmZjY5YWU1
OTA5NjBhMzU3OWQ5MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9UcmFpbGluZ09iamVjdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5l
L1RyYWlsaW5nT2JqZWN0cy5jcHAKQEAgLTQxLDggKzQxLDEwIEBAIHZvaWQgVHJhaWxpbmdPYmpl
Y3RzOjp1cGRhdGVNaWRwb2ludHNGb3JUcmFpbGluZ0JveGVzKExpbmVNaWRwb2ludFN0YXRlJiBs
aW5lTWlkCiAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlTWlkcG9pbnQgPSBsaW5lTWlkcG9pbnRT
dGF0ZS5udW1NaWRwb2ludHMgLSAxOwogICAgICAgICBmb3IgKCA7IHRyYWlsaW5nU3BhY2VNaWRw
b2ludCA+IDAgJiYgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRw
b2ludF0ucmVuZGVyZXIoKSAhPSBtX3doaXRlc3BhY2U7IC0tdHJhaWxpbmdTcGFjZU1pZHBvaW50
KSB7IH0KICAgICAgICAgQVNTRVJUKHRyYWlsaW5nU3BhY2VNaWRwb2ludCA+PSAwKTsKLSAgICAg
ICAgaWYgKGNvbGxhcHNlRmlyc3RTcGFjZSA9PSBDb2xsYXBzZUZpcnN0U3BhY2UpCi0gICAgICAg
ICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50XS5t
X3Bvcy0tOworICAgICAgICBpZiAoY29sbGFwc2VGaXJzdFNwYWNlID09IENvbGxhcHNlRmlyc3RT
cGFjZSkgeworICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudFBvc2l0aW9uID0gbGluZU1pZHBv
aW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRwb2ludF0ub2Zmc2V0KCk7CisgICAg
ICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50
XS5zZXRPZmZzZXQoY3VycmVudFBvc2l0aW9uLS0pOworICAgICAgICB9CiAKICAgICAgICAgLy8g
Tm93IG1ha2Ugc3VyZSBldmVyeSBzaW5nbGUgdHJhaWxpbmdQb3NpdGlvbmVkQm94IGZvbGxvd2lu
ZyB0aGUgdHJhaWxpbmdTcGFjZU1pZHBvaW50IHByb3Blcmx5IHN0b3BzIGFuZCBzdGFydHMKICAg
ICAgICAgLy8gaWdub3Jpbmcgc3BhY2VzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>219039</attachid>
            <date>2013-12-11 20:47:56 -0800</date>
            <delta_ts>2013-12-11 20:47:56 -0800</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>184069</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
sfmN3S5UAcXpDY2p5yF2GUPoro94xim4QaEBkXrrrZLo2Q4RvRBzxA9hct5DmEHxPLtoDgeku01V
pYirEfrg2DwE78MUVc2MtC6rGo/b191LWZfpKvkGUEsDBBQAAgAIAL2ki0O15y4vwwAAACMBAAA4
ABwAYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LW9iamVjdC1kZXRhY2hlZC1leHBlY3RlZC50
eHRVVAkAA6U9qVKlPalSdXgLAAEE9QEAAAQUAAAAVY/BUsMwDETv/oolZ4Y/4FAgN5hkSH7ASRRi
cK1OJE/qv69SWma46LB62l31SxAoieLof0ggeSXo4hWHcSSRMIQYtDTDN40q8LadSP240IRtoWQs
IfG0H1HBiUNSKMNc79yTc00y46vfIwpnbCFGCBG8zTVYLs+o2kPXVTga5b/IyJlj5M2ChoKqr7se
r81H+173dWWebsdB55MVo+klq3L65Eh4eP5T324Vrvr+6Jrp9+5WZ84xltavYin3vfsX5dwFUEsD
BBQAAgAIAL2ki0OVGzKuygcAAOQYAAA8ABwAYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LW9i
amVjdC1kZXRhY2hlZC1wcmV0dHktZGlmZi5odG1sVVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAA
AK1ZbW/bNhD+nl9BJNgCDJFsx3YX262HNnEwYC8tlmD7OFASZbGhRI2kErvb/vuOb7IkS0mGbcVq
iTyS9/Lcc0f1baZytj55mxGcwE9OFEZxhoUk6t15pdLg6hyGpdozsj5ZMlo8XKDlI5VUkQT9eYLg
P0V2KkhIzAVWlBdLVPCCrMxUxEVCRBBxpXi+RJNyhxJ4Jsnq5O8Tu53bJOaMiyU6G08XZi68pYzc
0DR18xGOH7aCV0USeNH0Sv9pHmRPkJzRBJ0lSWLnUl6oIMU5ZfslynnBZYljp2COxZaCyhOSo7Ed
KjkYZ+wQhIFFj8QolE06mk6n0579JS5kIImgaWNS0i/EnNE8NGAkVUs0Dud+PKGyZBg2UThiJIgJ
Y3biiSYqgw3G46+cjjhJaLGtV1v9XHj0UztCTmVaZKCYqsUz/khEx6r5fL4acjgh1hWhjsuPcJZ0
i1PGMZgi6DZT7ehpqWtwAaZFfRQH91MFZo5fMNtZGZh9W556ysC6wMRRw+1J4PKg2R2JdfwGgWMW
t2HThYzDrfc7gGpc7uwJm10JIYb9wTRygUL907VwUD1JExLt9d/IqPqB8fjhExYqBFOXKRVSBXFG
WTLoWH3cHay/eG4zQXII7cUL57kzvPtpAfAhQaRFWrCbe9QBWhSNMQswo1vID8V7zBJEo/17XCSM
eHe4fbQL9XtGbEAPeI4rIXVotNrdLMQRRKfyEYMza+DYBDLqPadFC+fHcNgKsl91gBnOX4qXdTEK
FX/RzWEqeN5xtuNIfYb2+s9VHhEBaCJNdNlRr/gxlTrULhYtEvTp0keFPpNns1kn946jX3OM3mhu
U8CmQU36DgcOnn0Qseq24DR1hNUw3JjYSzi2UAy65RmSKoXOTq2mc6BnE4cab0grV2FRYLPVTIE/
zSvYIQh+CPSAVYjmeEtakVmiy9rhEcPai1owBmoAHUAV94S6dh+icjVbDHJvStIDAWhYwY51iWxk
c8/SJE3aSyHYclh8QRar5+p6vZNjmaYeLiuGS3aSHG2AEsKGV5DFi9qMvkF3VVlyoaDaCodkcGqe
k0JJ9M0IzsOVyrj1t63IuqEB1CvAaewjZRYYmYEeoJbRymCAhBH2dPbGA1vTDWbs2mvQK31pa1mO
d0GnvOfQG7ihy3Fdd7pHg9+fPafO7DqlW8f06RnyktiyGTyR6IGqQAmddtYTVnEUXspVw4yZM/pM
Kqwq+aGKoIbX9TDU2dOrjl6iOGcRFu15f3TKiMnQw0TOv9SjNTlNbR67Xko/+m5BPw+3hUPM8Ww7
d4BFSnfE7uP4eNw2KcSmB7FpdlzFnyhwgehArd7zS0CLhOyApJ4x7VAIGyr02eXIqFXerhyLFVpN
l7C9pQnOi/juRUXfHBSdWBD7ImTfjLLuua5g7rVWuO7MWkfTVODcatjJk3Yb0ciR6wGmPfbNHnpN
/uRqPWHQOELP/IrC9GZxe4CXq8kDk8YR7bm6jUyO2+N2c+z2sO47xvBgS5B4nrXHvPek4K874+bs
va+RnXvJm289oR2r+UySNG48Mse2l29ybsEFDK8GWMbZr1sw2Xe4tcPn9bhPhOGIsCVOIcMujpbb
cbOJKcgFmHqK/kKnq5O6EDfKd3c1w9Ch8zRQ+5L0bnU6qJET7FxzM8IMQdbNKNbN6ECNOsuJlL7x
GPRzX1ga2XFniPo1pRBKDDREj5RX8roegWb2CymuG8Wyr877lqNbYprFRXM5oNYgwXO7e3dIdCQy
9TXwVdo4aECPQ5TOiVa5cG3fQNPXrLNRBVlVNHnH1/eEPi5THjsf8kppvmimX8QqU0ncFOAlBV2g
gk28Ic1iaXaBHuY+I/akkau0W9Bf26A4UjAXWWkHNYkeKdacrH5ymABlI8GfIODQCWQY1rqmiKpQ
N0G1HbO56+LrVsS9e3bQjaz+f9wuov6zTrfHz2kCtyxrmA6Q9JfvnooCfRiX+BF8Dx4gnbrSvOkd
lbpgEk5ty3T4+OGrf08Mzm5ubhopfXZ1e3M7v+3lJ2gu+1G82Wz6tF6SvASGagXftWkdyRAeQdNW
5m8WV+Mrx1sxI1j8btoDfxXQI+balGmRtyP35e2tjAUtIaYifneaKVXK5WiEP+NduOV8C4tKKjV0
zdiI0UiOPv9REbEfTcJZeOleQmgtw8/ydA37mv3WqL1zzBMS6BiSJ5D7DiKtg/ludtVYAkq5j4UR
T/bwA/kAemMp3537m4D+ZphN1qNfIZ7AWaMbrPBo89vd6DcS/UCV+/lQUZaMfoG6iyUZAVLAnYEi
wLBwfa+YkiMcx4BuGlEGNaH9FvDoM9RruBIoHGckCaCVqTAL1U6BgpO2Xo3PQufHM+a6PjSur/EI
ENeZ1xcY1P7244SAVQovZW7+h3bifP11EclyBb4EoXVLFLK8KTjplYFKfb5GbgoCAQr5n6ZyDVyd
r920k/3XpssMrhQvW/+i5ZNXGH05bPR9RvUFRypgqQcigdwEsTT3vomKjwYUEoHOyCMD2B6uNZpC
C4C3ftgD6dDCMCvs6uXCrl//m8GXrzB4Omzw/6vM9BXKzIaV+ViAw42fLxBkKVQSxqA2EWjHdIMB
8eAp+vqPiqvVp/d3d/YJuW4F1qRc99kQimjvxO43d/fo+uNPn37c3G/sUPhfcN35MdQEPGD+ceMf
UEsDBBQAAgAIAL2ki0PLUixh9AAAAPoBAABHABwAYWNjZXNzaWJpbGl0eS9hZGphY2VudC1jb250
aW51YXRpb25zLWNhdXNlLWFzc2VydGlvbi1mYWlsdXJlLWFjdHVhbC50eHRVVAkAA6Y9qVKmPalS
dXgLAAEE9QEAAAQUAAAArZHBTsMwEETv+xWjnBEfwC1CEReqViSCXp1kk1q4dmWvlbhfzxYJFXqB
Az5Y1u7bGWt2pUJnUONHhAnCSWhj3hkpR4YcjMBg5D7PMClxFNgEHwQS7Txz5BHLgT2G4JPEPIj1
s44xzDBwSra3zkpRmhlTiNrS+ZOZ+Z5o69XlE7tDCRmLdQ5JQaN3tJwuP6p2ddtWOCqlU0pOwbmw
qG9fUHVN2+Fxu9k9N11TqSbV+5fg+AH1/o37OrLR16txWUsEPdd+K0bs0PEqV2S9YZ5iyKcbhd9V
yh+czv/i9H1tl6C+Ap2yc2VnYtKcNHDdDBP9CIvoA1BLAwQUAAIACAC9pItDMsnsxNsAAACwAQAA
RQAcAGFjY2Vzc2liaWxpdHkvYWRqYWNlbnQtY29udGludWF0aW9ucy1jYXVzZS1hc3NlcnRpb24t
ZmFpbHVyZS1kaWZmLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAADFjrFOxDAMhvc8hfeS
i1iYK8RNiAUkbnaTv71ASE6xI9p7elJg4QlYbMm/P/uz1pJ7Lal9QNwDK7vj6cWdMD1G/W33Labg
npHAApd4K02tQtRWSEsqjr2HSJxiiro5Dm/skdX6kjXmxhpLFuu5CSyLoO4DO3NMrcJivcArwkFX
NcMw/LMOe22cvmXGkeztzR0NexlHQ6uhzdirGa5k6JgDlZn2z4ae+B0knSc9sxJTwNQW+jlPUSgX
Ja1xWVAR6POMTN1HtDbfpZaOgf54922A5lJ71PkLLzgYMl9QSwMEFAACAAgAvaSLQ0bklW/zAAAA
+QEAAEkAHABhY2Nlc3NpYmlsaXR5L2FkamFjZW50LWNvbnRpbnVhdGlvbnMtY2F1c2UtYXNzZXJ0
aW9uLWZhaWx1cmUtZXhwZWN0ZWQudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAK2RwU7D
MAyG734Kq2fEA3CrUMWFaROtYFe3dbuILJliR2329HhIaLALHMghiuzP/x/9XqHAGZowYpxQWRQ2
9M4oOTHqgRQJR+7zjCTCSdEJhqioyc0zJx5xOXDAIQbRlAd1YbYxRhoGFnG9806L0cw4xWQtmz/R
zPcA22Aun9gdlphxcd6jGEh2J8dy+VG1q9u2wqNRNmXkFL2Pi/n2BauuaTt83G52z03XVKYJ9f4l
en7Aev/GfZ2Y7PVKPlsJ0M613yqpGzpe9YqsN8xTivl0o/C7SvmD0/lfnL6v7RLUV6BT9r7sKInl
ZIHbZhjgR1gAH1BLAwQUAAIACAC9pItDjLPspOoHAAD5GgAATQAcAGFjY2Vzc2liaWxpdHkvYWRq
YWNlbnQtY29udGludWF0aW9ucy1jYXVzZS1hc3NlcnRpb24tZmFpbHVyZS1wcmV0dHktZGlmZi5o
dG1sVVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAL1Za2/juBX9nl8hJGgDLCLJju00tjMuOnlg
gXaLoll0PxaUSFmcUKJLUomd7v73Xr5kSZZsAzvoDnYkk5fkuc9zqXnIVcFWFw85QRgeBVEoSHMk
JFFfriuVhffXMCzVjpHVxYLR8u0mWLxTSRXBwX8vAvhPka0KMUm5QIrychGUvCRLM5VwgYkIE64U
LxbBeLMNMLwTvLz47cJu5zZJOeNiEVyNJnMzF71QRp5olrn5BKVva8GrEodeNLvXf5oH2RMkZxQH
VxhjO5fxUoUZKijbLYKCl1xuUOoAFkisKUAekyIY2aENB+WMHoIw0OidGED5uIN0Mpn07C9RKUNJ
BM0ak5J+EnNG89CQkUwtglE08+OYyg1DsIlCCSNhShizEx8Uqxw2GI3+4DAijGm5rldbfM49+q3t
IQeZljkAU7V4zt+J6Gg1m82WQwYnxJoi0n75G5wl3eKMcQSqCLrOVdt7WuoRTIBoWR/FwfxUgZqj
E2o7LUOzb8tSHzloFxo/6nD7EGizR/ZKUu2/wcAxi9th0w0ZF7fe7hBUo83WnvC83YCLYX9QjdwE
kX50NRyEJykmyU7/HRioXxlP3/6BhIpA1UVGhVRhmlOGBw2rj3uF9TfHNhOkANfenDjPneHNT0sI
HxImWqQVdjMfdRAtiqaIhYjRNeSH4j1qCaKj/UdUYka8Odw+2oT6d06sQ/fxnFZCatdo2N0sRAl4
p/IegzPrwLEJZOAdQ9GK88NwWAuyW3YCM5qd8pc1cRApftLMUSZ40TG2q5H6DG31v1dFQgREE2lG
lx31wA9LqYva+bxVBH269JVCn8nT6bSTe4fer2uM3mhmU8CmQV30XRy48OwLEQu3FU4TV7AaihsV
ewuOJYpBsxwpUhuhs1PDdAb01cRFjVeklauwKLTZaqbAnuYn6CEIegv1gAVEC7QmLc8sgtva4AlD
2opaMIXSABgAinsLunrvvXI/nQ/W3oxk+wKgwwp2rCmykc09S3GG20vB2XJYfE7my2O8Xu/kqkwT
h8uKYcrG+GCDABM2vILMT6KJfwheq82GCwVsK1wkg1GLgpRKBj/EcB6qVM6tvS0j64YGol5BnKbe
U2aBkRnoAWoZDQZBSBhhX87ufGDrcoMYe/QIeqVvLZcVaBt26L2A3sAN3Y5q3ukeDXY/ek6d2XVK
t47pwxnxDbG0GX6Q5I2qUAmddtYSFngQ3cplQ42pU/pKKqQq+bVKgMNrPox09vTC0UsU5yxBoj3v
j84YMRm6nyj4Zz1aF6eJzWPXS+lX3y3o9+G2cKhyHG3n9mGR0S2x+7h6PGqrFCHTg9g0O2TxDwq1
QHRCrd7zM6QlJlsoUkdU2xNhA0KfXq4Ytejt3lWxUsN0CdtLTXBewrcngd7tgY5tEHsSsr8MWPde
M5j7WQOuO7PW0TQTqLAIO3nSbiMaOfI4UGkPbbODXpN/OK4nDBpH6JnPIKa7+cs+vBwnD0waQ7Tn
6jYSH7bH7ebY7WHNdxjDgy0B9nXWHvMXXxT8dWfUnP3Zc2TnXnL3J1/QDmEeSZLGjUcWyPbyzZpb
cgHDy4Eq4/TXLZjsO9zq4fN61CfCUELYAmWQYTcHy+242cQQcgmqXga/BpfLi5qIG/TdXc0QdOg8
C9VuQ3q3uhxE5AQ719ycMFMg62YU6WZ0gKOuCiKlbzwG7dznlkZ2vJpCfQ4VAsVAQ/ROeSUf6xFo
Zj9J+dggyz6e9y1Hl2Ka5KJrOUStiQRf291vF4muiEw8B56FxoUG9DhE6Zxo0YVr+waavibPJhVk
VdmsO57fMX1fZDx1NuSV0vWimX4JqwyTuCmIlwywAIONvSJNsjS7QA/zc07sSbFj2jXg1zooHiiY
S6y0CzUZvFOka7L6ycUEgE0E/wCHQyeQI1jrmiKqIt0E1XpMZ66Lr1sR99tXB93I6v9HbRL1n3W6
PX5BMdyyrGLaQdJfvnsYBfowLtE72B4sQDq80rzpHVBdOI4mtmXaf/zw7N/jg6unp6dGSl/dvzy9
zF566xM0l/1R/Pz83Id6QYoNVKiW812b1pGM4BWQtjL/eX4/und1K2UEiX+b9sBfBfSIuTblWuQh
dl/eHmQq6AZ8KtIvl7lSG7mIY/QNbaM152tYtKFSh64ZixlNZPztPxURu3gcTaNb9yOC1jL6Ji9X
sK/ZbxW0d045JqH2IfkAuT+Dp7Uzv0zvG0sAlPtYmHC8gwfkA+BGUn659jcB/c0wH6/if4E/oWbF
T0ih+PmX1/gXkvyVKvf4WlGG438C7yJJYogUMGeoCFRYuL5XTMkYpSlEN00oA06IEf4GCVtqNi0V
LStzEZBhiipJQjhfxyUvof5RVkFOQ29TIRaprQLE4zbQxnei68MZc38fGtf3+kDm0Gjjjoi+1ASt
70Hm2ylwrJcwXwL27cX1agxmhflVSwoS/rQMkPb1auumwCeA43ejuT0Dze0wml0XjXk0MTUC/nrl
pg+Rn+cCe3s86YKG3FHdJ2fo/scykZvlsAEe4Cq7+gSN4HHSFm1toKadVsUJHdXjCEZ+hsJWDyDP
1WfwEOvn/9Wp3yuvpmcYYDpsgOcSBzwLdC36vhk2OwPXbBjXT+iNAK8LYhkeBZgk1TqwtS+gEpgW
+gXgzjUBM0KbA/d5KJZSiQpqHTCRbiRaRRWkCTHfTVQO6zfQSUTfV+W7M1S+OxKLvyP8Og/DV8AF
5l+8/gdQSwMEFAACAAgAvaSLQ1j/GxXlAAAAggEAADwAHABhY2Nlc3NpYmlsaXR5L2FsdC10YWct
b24taW1hZ2Utd2l0aC1ub25pbWFnZS1yb2xlLWFjdHVhbC50eHRVVAkAA6Y9qVKmPalSdXgLAAEE
9QEAAAQUAAAAjZAxa8MwEIV3/YqHlyzF0HbrFlpvDTHYhK6yc3YEihR0JxL/+54SQ9utGo5DfO/d
uwP0mf7kGEIsWk9WwCTiwgyLFD0hBtgAd57B4ryH9T5eC0raCqxIckMWgkQMhMx0xBTTHTgSj8ld
xMVQ18bsAziPIzE/YYkZ1+LHpEZakyNGnFC1266rcFbKzqTkFMtEdR0WVH3T9Xjf79rPpm8q9TQF
1/g3qVmThPlgfSboSpvt171/QxE9bx7knGK+1L+CrejHz89D8LIKdDfR+P9QvK6Kdccpe7+0NpWD
lAunTMb8yW/MN1BLAwQUAAIACAC9pItDFUfhrAcBAADiAQAAOgAcAGFjY2Vzc2liaWxpdHkvYWx0
LXRhZy1vbi1pbWFnZS13aXRoLW5vbmltYWdlLXJvbGUtZGlmZi50eHRVVAkAA6Y9qVKmPalSdXgL
AAEE9QEAAAQUAAAAxVDLboMwELzzFSOuxFiV+gH0wSmtEhXUnA1syEqOHbFrJfn7mrT/0D2MbXk0
jzXGwH5Hn84k9t2ps+2hswcatqx/x2tiP9kv8uSErHf3mNQoiZqFJHkV68aRRHhgz3q3zudvN5sY
DJ/dTObKejIhht/XEj0Zul1oVJpqvWlRVdV/ZHCjJucfCZoG5mnzjGqFpikMgKLCOgX6EwtWr4wn
pxBS5TDDYZVBDHABfJ4hyt7DeR+vK5XyVeFUFx6SEjRiICShCce4PAgTybjwRTmGui6y1y5A0qPJ
BrkjrquiUJbKuDAJ4hHl/qXrSuRtSS6Tmce4embd4Y6yb7seb7vP/Ufbt2Vd/ABQSwMEFAACAAgA
vaSLQ3HPWo7kAAAAgAEAAD4AHABhY2Nlc3NpYmlsaXR5L2FsdC10YWctb24taW1hZ2Utd2l0aC1u
b25pbWFnZS1yb2xlLWV4cGVjdGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAACNkDFr
wzAQhXf9ioeXLMXQdusWWm8NMdiErrJzdgSKFHQnEv/7nhJD263LcYjvPb13AEx/cgwhFp0nK2AS
cWGGRYqeEANsgDvPYHHew3ofrwUlXQVWJLkhC0EiBkJmOmKK6Q4cicfkLuJiqGtj9gGcx5GYn7DE
jGvxY1IjnckRI06o2m3XVTgrZWdScorlR3UdFlR90/V43+/az6ZvKvU0Bdf4N6lZk4T5YH0maKXN
9uu+v6GInjcPck4xX+pfwVb04+flIXhZBdpNNP4/FK+rYu04Ze+X1qZykHLhlMmYP/mN+QZQSwME
FAACAAgAvaSLQ0g8mY/4BwAAwhkAAEIAHABhY2Nlc3NpYmlsaXR5L2FsdC10YWctb24taW1hZ2Ut
d2l0aC1ub25pbWFnZS1yb2xlLXByZXR0eS1kaWZmLmh0bWxVVAkAA6Y9qVKmPalSdXgLAAEE9QEA
AAQUAAAArVndbuM2Fr7PUxAJtgGKSLJjeza2Z7zoJA4KbLsdbILt5YKSKIsTSnRJKrFn23ffwz9Z
kiU7i24HHUvkIfmd3+9Q8zFXBVtdfMwJTuGnIAqjJMdCEvXpulJZcHcNw1LtGVldLBgtX27Q4pVK
qkiK/nOB4D9FdipIScIFVpSXC1TykizNVMxFSkQQc6V4sUDj7Q6l8EzS5cUfF3Y7t0nCGRcLdDWa
zM1c+EgZeaBZ5uZjnLxsBK/KNPCi2Z3+0zzIniA5oym6StPUzmW8VEGGC8r2C1TwksstThzAAosN
BchjUqCRHdpyUM7oIQgDjV6JAZSPO0gnk0nP/hKXMpBE0KwxKek3Ys5oHhowkqkFGoUzP55SuWUY
NlE4ZiRICGN24o2mKocNRqO/OIw4TWm5qVdbfM49+qntIQeZljkAU7V4zl+J6Gg1m82WQwYnxJoi
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
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLiAKClBLAwQUAAIACAC9pItDJLfZAqQAAABf
AQAAOgAcAGFjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmtlZC1hbm9ueW1vdXMtYmxvY2stY3Jhc2gt
ZGlmZi50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAxY6xDsIwDET3fIX3YCL4ggrBxAaI
zm5q1AiToNqR6N9TKnZGlrsb7k4PESFci9QHa9iTUTi059Byd0z2tV1N0ocTC5NyEJpKNTRWw5G1
immgGFk1dUmSTYFyHMqIkvKde6Rc8vQoVbGTEu8YR9IB+fXkaNyv7WXOe/8PBopWSRaCpgHcrLbg
P9I0Di/zNTxJlRXSDZJBX+aYi8EyXjv/swIO3BtQSwMECgACAAAAvaSLQw7dV4kjAAAAIwAAAD4A
HABhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rZWQtYW5vbnltb3VzLWJsb2NrLWNyYXNoLWV4cGVj
dGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAABUZXN0IHBhc3NlcyBpZiBpdCBkb2Vz
IG5vdCBjcmFzaC4KClBLAwQUAAIACAC9pItDVHwK13sHAAAVGAAAQgAcAGFjY2Vzc2liaWxpdHkv
YW5jaG9yLWxpbmtlZC1hbm9ueW1vdXMtYmxvY2stY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUCQAD
pj2pUqY9qVJ1eAsAAQT1AQAABBQAAAClWdtu4zYQfc9XCAnaAItIspN4G9tZF91cUKAXFM2ifSwo
kbK4oUSVpBJ72/57hzdZkiU7RbvoSiaH5JmZMxdqb3NVsNXJbU4QhkdBFArSHAlJ1IfzWmXhzTkM
S7VlZHWyYLR8vggWL1RSRXDw10kA/ymyUSEmKRdIUV4ugpKXZGmmEi4wEWHCleLFIphWmwDDO8HL
k39O7HZuk5QzLhbB2eRqbuaiR8rIPc0yN5+g9HkteF3i0ItmN/pP+yB7guSM4uAMY2znMl6qMEMF
ZdtFUPCSywqlDmCBxJoC5CkpgokdqjgoZ/QQhIFGL8QAyqc9pFdXVwP7S1TKUBJBs9akpF+IOaN9
aMhIphbBJJr5cUxlxRBsolDCSJgSxuzEK8Uqhw0mk68cRoQxLdfNaovPuUe/dT3kINMyB2CqEc/5
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
AAAyABwAYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRhbnQtY3Jhc2gtZGlmZi50eHRV
VAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAvY6xbsMwDER3fQV3lRHSLzCKZOrWBslMSwxMQJEK
kQqSv6/sduzc5UgcePeIiBDONfcbaziQUThePsOF53ex3/HWJafwwZlJOWR61m5orIaNtWfTQDGy
qsySxZ6BmhBSNLlzYo1cEhXD2EgX5McXR+O0s4c57/1/sofdKW/kaQLcv7yCX2WaHJwWUVh7hy5k
Q7gxDK9U2NIgVxhwUDagAn9ygMyazN0YrK5XkqBe12X8f+NiP90LbbVthAak7Rw6D+4bUEsDBBQA
AgAIAL2ki0PWKDFTXgAAAH4AAAA2ABwAYWNjZXNzaWJpbGl0eS9hcmlhLWFjdGl2ZWRlc2NlbmRh
bnQtY3Jhc2gtZXhwZWN0ZWQudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAACVN2w3CQAz7
7xRegE7DAuHO1UWCOylxkdieFH4sy8/78ISYKhymAgZR2lxoYTngBz7rRFKwCQu3mzX5m53ZOLvN
MqTwxylC60p5xzouwidfnPpvD/vNRpXqJPZt+wJQSwMEFAACAAgAvaSLQ6LdKrKYBwAARxgAADoA
HABhY2Nlc3NpYmlsaXR5L2FyaWEtYWN0aXZlZGVzY2VuZGFudC1jcmFzaC1wcmV0dHktZGlmZi5o
dG1sVVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAKVZ2W7jNhR9z1cICdoAg0iykziN7YyLThYU
6IKiGbSPBSVSFieUqJJU4qTtv/dykyVZslO0g45kLpfnrudSc5Orgq2ObnKCMDwKolCQ5khIoj6e
1ioLr09hWKpXRlZHC0bLp7Ng8UwlVQQHfx0F8J8iGxViknKBFOXlIih5SZZmKuECExEmXCleLIJp
tQkwvBO8PPrnyIpzQlLOuFgEJ5OLuZmLHigjdzTL3HyC0qe14HWJQ780u9Z/2gfZEyRnFAcnGGM7
l/FShRkqKHtdBAUvuaxQ6gAWSKwpQJ6SIpjYoYqDckYPQRho9EwMoHzaQ3pxcTEgX6JShpIImrUm
JX0j5oz2oSEjmVoEk2jmxzGVFUMgRKGEkTAljNmJF4pVDgImk68cRoQxLdfNbovPuUe/dT3kINMy
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
1MOmFH2XE62M2V8h2TkSWWAKGTfPDCG90Bm96oUBRV02TYGLUvZESg6BOdxUqptQtFXTYr3f1duq
rQrVNE/8bWnlZT0/VuODZaFfQIqZ/kZgjnbIzFNto3zszVdsxjwAUEsDBBQAAgAIAL2ki0Olcmwl
9AAAALYBAAAsABwAYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94LWNoZWNrZWQtZGlmZi50eHRV
VAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAvVBNT8MwDL3nV1i9dlnEiWsL9IAAbVorxtVNvTXC
LChxtPbfkxYQ/wDJev6Q/Z5trTWYV8/pg6J5QEHTHFtzpP7JyY+7S44HcyAmjGQYZ59EC0XRgWJi
iQatpRhd79jJbDA41HYk+9776TugQdP0SVZo2MokqizL/1FFKwl51awq0DebWygXqCqlQZUACt4W
0wBruhS60UVYlDKOKFAfHmv4ZaYI1oeQT+EZRrwMTLmL4E+eBkCR4PoktFWZb3eBmNZdN5CvgKtj
hkh5JmNwmdGfoNjXbVtA/kfEM+XOk2f210zWz1B0TdvB/e5l/9x0TbFVX1BLAwQUAAIACAC9pItD
tW9bC7YAAADhAQAAMAAcAGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1jaGVja2VkLWV4cGVj
dGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAADdkMEKwkAMRO/7FUPP6j8U6UFQLLYH
r9ttahejC5tdtH9vlCJ68QMkMJe8TIaBOeoAMO3oBYkkqY42oTxsSriR3LkLdxK4ECO5xBNGe+2Z
lCLY6O3yBVEPm1L0XU60MmZ/hWTnSGSBKWTcPDOE9EI1evULA4q6bJoCF6XsiZQcAnO4qVU3oWir
psV6v6u3VVsV6mme+DvSyst6fqzBB8tCv4AUM/2NwVztkJmn2kb52Juv2ox5AFBLAwQUAAIACAC9
pItDeRi/5BgIAADvHAAANAAcAGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1jaGVja2VkLXBy
ZXR0eS1kaWZmLmh0bWxVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAA1VndbuM2Fr7PUxAJtgGK
SLZjOxPbGS9mEge72HY7aIJt7wpKoixOKNEl6cSe3X33PfyTJVmyXXQKdDvoSCYPye/8foeau0zl
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
BjR/qAu+cl6NvkJeIR2Lf/J0Gh2GbzLq/zihxieYYNxtgueM6m8gUrn+58OPf/+APF0QCQwsBHAB
26LMfp3WXdWOU+Dmh5USFBo/En7d3Lw5QbGbA6Xyq4J5dwKYd91gfiigsTS0fIWAsKGpZAzaVLAk
0ncNsDNP0Te/rrmaffrw9GTfkLu4wJqU6ys3GDvaOrHnxdMzuv/h+0/fLZ4Xdij8PfHbeJguBVoD
8++c/wNQSwMEFAACAAgAvaSLQz8RZXN/AAAADgEAADIAHABhY2Nlc3NpYmlsaXR5L2FyaWEtZGVz
Y3JpYmVkYnktb24taW5wdXQtYWN0dWFsLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAAC1
jjEOgzAQBHu/YkUfHpCOLg+gSAuXs3zSYVvcWYjfx0KiTZd6RrM7JzFQ2Wpz3nGIKow1Pj5svjdy
SAawSe7cRoRJtRyGszR4gVUmiSc8MXLb1p4o8baxxKuZhNJl/JgZQ5i7sRCxmayi4ic6pF2qS8no
L4fp/WKtT/zrwxC+UEsDBBQAAgAIAL2ki0N8nVqw7AAAAEQCAAAwABwAYWNjZXNzaWJpbGl0eS9h
cmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWRpZmYudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAE
FAAAAL2QMU/EMAyF9/wK69aSRkhMTD0EEhIbnDjWJHVVS25S1Y7u+u/JFRhYkBhgsQd/fu/Z1lpw
r5nLhOLuvXr3cHxxRwxPpJ/trhD37hkZvaBjv+aiVlHULiiFVZyPEUUoEJOuzi/kbY8SFwrYh9Xm
ZCnNdQnPM0bFvtWzmqZp/s/ZRy2eN9+uA3t9dQPNpXSdsYeRBGKeKocLnIgZBHm4COlSogIlAJgo
1bm0pvkdDwb2zPkkUNODZpD6AxpW0BEhlSlUjTx84eCHTXSkOG7EDz6tqdqHynx7AnzcPyvlBDXo
bv/2iDzf/lmKnXkHUEsDBBQAAgAIAL2ki0MMI5k+fwAAAA0BAAA0ABwAYWNjZXNzaWJpbGl0eS9h
cmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWV4cGVjdGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1
AQAABBQAAAC1jjEOgzAQBHu/YkUfHpCOLg+gSAuXs3zSYVvcWYjfx0KiTZd6RrM7JzFQ2Wpz3nGI
Kow1Pj5svjdySAawSe7cxjCplsNwlgYvsMok8YQnRm7b2gsl3jKWeCWTULqMHytjCHM3FiI2k1VU
/ESHtEt1KRn95DC9X6z1iX99GMIXUEsDBBQAAgAIAL2ki0MIpb761wcAACQaAAA4ABwAYWNjZXNz
aWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LXByZXR0eS1kaWZmLmh0bWxVVAkAA6Y9
qVKmPalSdXgLAAEE9QEAAAQUAAAAtVlrb+O4Ff2eX0Ek6AZYRLId29PYzriYyQML9IHFZtDtt4KS
KIsTStSSVGxPu/99L1+yJEt22m13sCOZvCTv49x7LjX3mcrZ+uI+IziBR04URnGGhSTq43Wl0uDu
Goal2jOyvlgyWrzeoOUblVSRBP3rAsF/iuxUkJCYC6woL5ao4AVZmamIi4SIIOJK8XyJJuUOJfBO
ktXFrxd2O7dJzBkXS3Q1ni7MXPhMGXmkaermIxy/bgSviiTwoumd/tM8yJ4gOaMJukqSxM6lvFBB
inPK9kuU84LLEsdOwRyLDQWVJyRHYztUcjDO2CEIA4veiFEom3Q0nU6nPftLXMhAEkHTxqSk34g5
o3lowEiqlmgczv14QmXJMGyicMRIEBPG7MSWJiqDDcbjPzgdcZLQYlOvtvq58Oi3doScyrTIQDFV
i2f8jYiOVfP5fDXkcEKsK0Idl7/AWdItThnHYIqgm0y1o6elHsAFmBb1URzcTxWYOT5jtrMyMPu2
PLXNwLrAxFHDbStwedDshcQ6foPAMYvbsOlCxuHW+x1ANS539oSnXQkhhv3BNHKDQv3oWjionqQJ
ifb6b2RU/cx4/PojFioEU5cpFVIFcUZZMuhYfdwLrL85tZkgOYT25sx57gzvfloAfEgQaZEW7OYe
dYAWRWPMAszoBvJD8R6zBNFo/wEXCSPeHW4f7UL9OyM2oAc8x5WQOjRa7W4W4giiU/mIwZk1cGwC
GfVOadHC+TEcNoLsVx1ghvNz8bIuRqHiZ90cpoLnHWe7GqnP0F7/W5VHRACaSBNddtQrflxKHWoX
i1YR9OnSVwp9Js9ms07uHUe/rjF6o7lNAZsGddF3OHDw7IOIVbcFp6krWA3DjYm9BccSxaBbThSp
Uujs1Go6B/pq4lDjDWnlKiwKbLaaKfCn+Ql2CIJfAz1gFaI53pBWZJbotnZ4xLD2ohaMoTSADqCK
e0Nduw9RuZstBmtvStJDAdCwgh1rimxkc8/SJE3aSyHYclh8QRarU7xe7+SqTFMPlxXDlJ0kRxug
hLDhFWRxVpvR9+ilKksuFLCtcEgGp+Y5KZRE34/gPFypjFt/W0bWDQ2gXgFOYx8ps8DIDPQAtYxW
BgMkjLAvZx88sHW5wYw9eA16pW8tl+V4F3ToPYfewA3djmve6R4Nfj95Tp3ZdUq3junTM+QlsbQZ
bEn0SlWghE476wmrOApv5aphxswZfSUVVpX8XEXA4TUfhjp7etXRSxTnLMKiPe+PThkxGXqYyPm3
erQuTlObx66X0q++W9Dvw23hUOU42c4dYJHSHbH7uHo8bpsUYtOD2DQ7ZvEthVogOlCr9/wW0CIh
OyhSJ0w7EGFDhT67XDFq0dudq2KFVtMlbC81wXkR351V9MNB0YkFsSch+8so695rBnM/a4Xrzqx1
NE0Fzq2GnTxptxGNHHkYqLTHvtlDr8m3jusJg8YReuZ3ENOHxfMBXo6TByaNI9pzdRuZHLfH7ebY
7WHdd4zhwZYg8XXWHvPJFwV/3Rk3Z794juzcSz780Re0YzVPJEnjxiNzbHv5Zs0tuIDh1UCVcfbr
Fkz2HW7t8Hk97hNhOCJsiVPIsJuj5XbcbGIIuQBTL9G/0eXqoibiBn13VzMMHTpPA7UvSe9Wl4Ma
OcHONTcjzBTIuhnFuhkd4KirnEjpG49BP/eFpZEdL6ZQv4cKgWKgIXqjvJIP9Qg0s99I8dAgyz6e
9y1Hl2Ka5KJrOaDWIMHXdvfbIdEVkannwHdp46ABPQ5ROidadOHavoGmr8mzUQVZVTTrjuf3hL4t
Ux47H/JK6XrRTL+IVYZJ3BTgJQVdgMEm3pAmWZpdoIf5khF70sgx7Qb01zYojhTMRVbaQU2iN4p1
TVZ/dZgAZSPBtxBw6AQyDGtdU0RVqJug2o7Z3HXxdSvifvvqoBtZ/f+4TaL+s063x89pArcsa5gO
kPSX7x5GgT6MS/wGvgcPkA6vNG96R1QXTMKpbZkOHz88+/fE4Orx8bGR0ld3z4/P8+fe+gTNZT+K
n56e+rRekryECtUKvmvTOpIhvIKmrcx/WtyN71zdihnB4p+mPfBXAT1irk2ZFrkfuS9v9zIWtISY
ivjjZaZUKZejEf6Kd+GG8w0sKqnU0DVjI0YjOfr6S0XEfjQJZ+Gt+xFCaxl+lZdr2Nfst0btnWOe
kEDHkGxB7k8QaR3Mj7O7xhJQyn0sjHiyhwfkA+iNpfx47W8C+pthNlmP/g7xhJo1esQKj55+fhn9
TKI/U+UenyvKktFPwLtYkhEgBdwZKAIVFq7vFVNyhOMY0E0jyoATRlhQDFcArUdEkmgf8AIakBIW
QRtTYRaqnQLlJm2dGp+Ero9nzFV9aFxf4ZG9pXRE9P0FtT/9HOSgrhRe0Nz9Dw3F9XoCjoT5dUsK
Urwp810RyXLVKwhcfb3+klGpLzhgOhy8pYxBoWCp9o0SVQwpXyBzj4B5Gbp9IG5ggH8M2wvZdd5Y
J3TS0hNW8He45L+xFIr+Gt2P9OOs1Y3ku167aSf7H2NEZnDvOu+2sy67fYe3boe99Ul3sxJBHmnS
kCWJabo35FHYdpan3lfINi9AhHFmJE44+QhBv8/I6TuMnA4b+b9VZvYOZWan8ElQq0ghW59K8wUa
sPvdLxVXq0//+AH6vCX6fwXInvJ7IN95mNIOtdT849BvUEsDBBQAAgAIAL2ki0MkEO+wugAAADUB
AAA9ABwAYWNjZXNzaWJpbGl0eS9hcmlhLWRpc2FibGVkLXByb3BhZ2F0ZWQtdG8tY2hpbGRyZW4t
YWN0dWFsLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAAB1jkFqw0AMRfc6xcfrNNDcoC3u
qiUG+wJyomlEZQ+Mxg2+fRQSaLMoCC3030P/PWfQKxfQcFJHFa+xT1zBRfnpqM6jyRFnNcMoqPwt
M1LJE3iOOYSQCzSBf1jtChPtZ/hyiMg3WPNyk10EHLuoOHJC0730fYMpKP6SIFM2y+f4Na5ohrYf
8Lb/7D7aoW22RHTFoVWm5616O99qReXE5vKb7h7TWpZ7WOOmXv+V743TYrZ2XPyPTw9tiC5QSwME
FAACAAgAvaSLQw2TrDH8AAAAzwEAADsAHABhY2Nlc3NpYmlsaXR5L2FyaWEtZGlzYWJsZWQtcHJv
cGFnYXRlZC10by1jaGlsZHJlbi1kaWZmLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAADF
UEFOw0AMvO8rrFzT7YoD91AIF0CtSETPTuo0K9xstXZo+3vcwoUXIFnjkWV7xvbeQ/hIPB9IwhMq
hnrbhC11L1F/02qOvAvvxIRCgfGSZvVKoj6TzKwSsO9JJHaRo14C5oh+FwU7pp0/5nTEPapRTb4f
bVemydP5SL0Vl3pWV5blv5jAXmfkm4WqAn+3uIfyClXl/HNKzq8wu9IYuNIoOGjHKHCVNRxR4Y8M
nCIzdASKnzTBkNMBcLIwY5oyxAHwCyNfm50tW08g8831Auyen3EhAjTMkQTSAMXmoWkKsM8I7sk6
h8ScTqbWXaBo66aFx/Xb5rVu62LpvgFQSwMEFAACAAgAvaSLQ7MlM3W6AAAAMwEAAD8AHABhY2Nl
c3NpYmlsaXR5L2FyaWEtZGlzYWJsZWQtcHJvcGFnYXRlZC10by1jaGlsZHJlbi1leHBlY3RlZC50
eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAdY5BasNADEX3OsXH6zTQ3KAt7qolBvsCcqJp
RGUPjMYNvn0UEmizKAgt9N9D/z1neuVCw0kdVbzGPnEFF+WnozqPJkec1QyjoPK3zEglT+A55hBC
LtAE/mG1K0y0n+HLISLfYM3LTXYRcOyi4sgJTffS9w2moPhLgkzZLJ/j17iiGdp+wNv+s/toh7bZ
EtEVh1aZnrfq7XyrFZUTm8tvuntMa1nuYY2bev1XvjdOi9nacfE/Pj20IboAUEsDBBQAAgAIAL2k
i0NIbuGx/gcAAOQaAABDABwAYWNjZXNzaWJpbGl0eS9hcmlhLWRpc2FibGVkLXByb3BhZ2F0ZWQt
dG8tY2hpbGRyZW4tcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAACt
Wd1u4zYWvs9TEAnaAEUk2bE9m9gZF53EwQLbbgebYHtZUBJlcUKJLkkl9uzuu+/hnyzJkp2i00FH
MnlIfuf3O9Tc5apgy7O7nOAUHgVRGCU5FpKoj5eVyoKbSxiWasfI8mzOaPlyheavVFJFUvSfMwT/
KbJVQUoSLrCivJyjkpdkYaZiLlIigpgrxYs5Gm+2KIV3ki7O/ndmt3ObJJxxMUcXo8mtmQsfKSMP
NMvcfIyTl7XgVZkGXjS70X+aB9kTJGc0RRdpmtq5jJcqyHBB2W6OCl5yucGJA1hgsaYAeUwKNLJD
Gw7KGT0EYaDRKzGA8nEH6WQy6dlf4lIGkgiaNSYl/UrMGc1DA0YyNUejcObHUyo3DMMmCseMBAlh
zE680VTlsMFo9J3DiNOUlut6tcXn3KPf2h5ykGmZAzBVi+f8lYiOVrPZbDFkcEKsKULtl5/hLOkW
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
akUzsKbBJVENlpJUpbfHXd63vp7tSqXCuJgKqo7K6Ct8Th6zZ558WJCFqWCTvCBIzhQq72dj+i/K
GgKVcsIuK7bEjEIEr8xJV2SGHZpxtPio5d+k5izMstEL0w7rutGh7e/DrXOd1Zvmob9QoqysBl3Q
PI/myDZSWK7yM+YPUEsDBBQAAgAIAL2ki0MicihJ3wAAAI4BAAAqABwAYWNjZXNzaWJpbGl0eS9h
cmlhLWZhbGxiYWNrLXJvbGVzLWRpZmYudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAL2P
S27DMAxE9zoF4a2jCAV6APfjVVskqI1mTct0IoStCpGC49tXNtordPPIBWeGY60F9xE5f5K4Z1R0
7alzJxpegv6Oxxx4dO/EhEKOcYlZrZKoTSSZVRx6TyJhCBx0cZgC2gmZB/RXmyKTWLp9k1ca93pT
U9f1f2Si14y8JTYN2LvdPdQrmsZsVqZeCQb6SxBY98ILKqxm8GcGmxnMMV3Bx5RKDV72psgOXyB5
+2IH5T+YAzMIEWBhCkUUJ6iOD11XQWkqeKZyOUXmONMIwwJV33Y9PB3ejq9t31Z78wNQSwMEFAAC
AAgAvaSLQ07dVueRAAAAswAAAC4AHABhY2Nlc3NpYmlsaXR5L2FyaWEtZmFsbGJhY2stcm9sZXMt
ZXhwZWN0ZWQudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAABWNMQ7CMAxF95ziKzPiAGyl
6gZqRTOwpsElUQ2WklSlt8dd3re+nu1KpRoXU0HVSRl9hc/JY/bMkw8LsjAVbJIXBMmZQuX9bEz/
RVlDoFJO2GXFlphRiOCVOemKzLBDM44WH7X8m9SchVk2emHaYV03OrT9fbh1rrN60zz0F0qUldWg
C5rn0RzZRgrLVX7G/AFQSwMEFAACAAgAvaSLQ6KZ4OzRBwAAfhkAADIAHABhY2Nlc3NpYmlsaXR5
L2FyaWEtZmFsbGJhY2stcm9sZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1
AQAABBQAAACtWW1v4zYS/p5fQSRoAxSRZMf2XmJnfegmDgq0vS4uwfVjQUmUxQ0luiSV2Nv2v9/w
TZZkyc6h10VXMjkkn3l7Zqi9y1XBlmd3OcEpPAqiMEpyLCRRHy8rlQU3lzAs1Y6R5dmc0fLlCs1f
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
eAsAAQT1AQAABBQAAAB9kM1qwzAQhO96isGXtpAGkt56C6kPhZYE7BfYWutIIEtBK5Pk7buOW/oD
7WVB+83OzqopfBRjCkuBafSB1SOeEiQNXJyPh7m5vjYppuI44xt4uIIUGYHUYiat84LJUqujAt+D
sqd7563liM5RPLDolDqCAw8cywIUAny5EfDZS1EfFfpgs06cvLLxaKmwOrLPX6ijzrFesIuQsetY
ZIFLGucRYQZpzX5a16Pab5qmwqAq0gQL9CmEdGKLtwuqtm5abHev+5e6raulMWaSYyAfl5/7tmmM
epBg9R9c/4ab8hwtn29Xd386faTvxxAue8qioaZfzCMb8yOZMe9QSwMEFAACAAgAvaSLQ8t0kIa5
AAAAdQEAADkAHABhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXVwZGF0ZXMtYWxsZGVzY2VuZGFu
dHMtZGlmZi50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAxY4xagNBDEX7OYX6jTI4gRSp
lmBX6WKIa3nmkx2QZ5aVBuzbx167yA3SfMF7QvrMTPG7aT/B4lZc4u6wjwccP4s/xkcvmuMXFGKI
KpfWnR3mvMC6ukVJCWblWLT4JcpShKeSMyr3Oct1lUU1wxJqlurGOM9IjvzsZw/DMPxDBUneRdcC
40i8eXqj4RbjGGjvmC1QWF+E4ZZ0p7R5p20jayf4VOrPg76sVGrzCQv9Na+raRWkcr1yV79QSwME
FAACAAgAvaSLQ2gKg/T8AAAAtAEAAD0AHABhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXVwZGF0
ZXMtYWxsZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAA
AH2Qz2rDMAzG734Kkcs2yArpbruVNofBRgPJC2ixUhscu1gKbd5+StuxP7BdhNHv06dPboWObIwQ
i2n1DdUz7BJwGkmcj4drc31pYkziKMM38HQBKRIEZLmRznmGxVGrQwE/AGaPj85bSxF6h/FArFPq
CBRopCglYAjg5Y6Bzp5FfVTog806cfLKpqNFIXUkn79Qj70jPWAfgae+J+YS5jRdR5gIUGv2y7oB
imbTtgWMqkJNUMKQQkgnsvA+Q9HVbQfb/VvzWnd1sTLGLHIY0cfV575tmqIexFD9B9e/4UZeoqXz
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
sbPNo+CEXXfYomS0kXB5EFIp8LE8Tdd5IRf4pART+jY89EyszJF+xP89wkXcqeEDUEsDBBQAAgAI
AL2ki0O1lbdy6QAAANMBAAA7ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmls
bFJlY3QuYWxwaGEwLjUtZGlmZi50eHRVVAkAA6U9qVKlPalSdXgLAAEE9QEAAAQUAAAAxU6xSsVA
EOzvK7ZUzsup8BpBiKKVjUTwFWKx725iDvYlIXuneX9vIipaWNvs7DC7M+OcI/84SNlD/Q1n9rfb
B7/F7i7lT7guSaJvIGCFFz4MJbsMzW6CFsnqA/evrH7skqTRr5L681iF5WNqELJtk8i6VCxjx6fV
xmEeF45Y5Tkba+2/lOCQC8tHhbomd3ayIbuOujb0lPqI+dnQTw9DXyY0TgiIiLQ7ENP3BR2FPFcv
MuxYrtYcuqQl6piGnnIHUt6DeAKTdkORuMIb9QNpiiC07eKhxjVoMaEP0IvfBexfChm6Z1VE8w5Q
SwMEFAACAAgAvaSLQ0luUlZ5AAAAmwAAAD8AHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFy
UmVjdCtmaWxsUmVjdC5hbHBoYTAuNS1leHBlY3RlZC50eHRVVAkAA6U9qVKlPalSdXgLAAEE9QEA
AAQUAAAAVY2xCsJAEET7+4optQki2AgW/oGkFYvN7ZwJrHfh9sT495pGsJpXPN5cp6xcbmGvXTRK
7RlbSJPZCpgrI5WK4Q3BT8AmtqW7WxnEzjaPghN23WGLktFGwuVBSKXAx/I0XeeFXOCTEkzp2/DQ
M7EyR/oRf/cXcaeGD1BLAwQUAAIACAC9pItD1tViGOAHAACQGgAAQwAcAGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LXByZXR0eS1kaWZmLmh0bWxVVAkA
A6U9qVKlPalSdXgLAAEE9QEAAAQUAAAAvVntb+O2Hf6ev0JIsGbrIsmO7VtsJy56ecGArUVxKdYP
RVFQImXxQomaSMX2bfvf9+ObLMmSbaBFe+hJFiny+b0+D3X3qczY6uI+JQjDJSMSeXGKSkHkw3Ul
E//uGh4LuWNkdbFgNH+78RbvVFBJsPefCw/+k2QrfUxiXiJJeb7wcp6TpR6KeIlJ6UdcSp4tvHGx
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
8PIzjD9uEyiLlXcfqssfGvffq/vMzvDLbNgvP8A9wb/F8s5F0wg0a/0PUf8HUEsDBBQAAgAIAL2k
i0MhVI3mZQAAAIQAAAA6ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJl
Y3QuYmFzaWMtYWN0dWFsLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAABNjTEOgzAQBPt7
xb4gBSWviGgjisO3FpaMjXyOEn5PaFCqmWKkeaVi/M4y2CNkapsYusSU8yXYGwONhuWA4g5QC/pK
uG6ENip8re9sFz4oFZ6MYIy/1mViZGMJ9BH/G8hT3WlyAlBLAwQUAAIACAC9pItDKeFfrdMAAAC1
AQAAOAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLWRp
ZmYudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAL1OsU7FMAzc8xXeQxqBxMJUIZjegorE
GxCDm1zVSHltFTvQ9/e0CBAMrCw+n+58Z+cc+ac51xPE37Gyvz8++iP6Q9JPuK0pR98hgwU+83mu
6hSirkBqVvGBp1cWv4wpp8Xvkvir2ITtonQIaoeU8740PUsKDuuyEcRGVzXW2v//gINWzh/9bUvu
8uKa7D7a1tBzmiLWF0M/Awx9JdBSEBARqT8T07eD5ol0BAmfQFzAJONcc9zhjaaZJEUQhmHzinEd
BhRMAXLzu8j+pZChBxZBNO9QSwMEFAACAAgAvaSLQzIqzXBkAAAAgwAAADwAHABjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHRVVAkAA6Y9
qVKmPalSdXgLAAEE9QEAAAQUAAAAVY0xCsMwEAR7vWJfkMJlXhHUmhQX3QoLFMnoZBz/3lFjcDVT
DMycivL3dpM+QqY0z9BdTDkPwdoYqFR8DgiuALWgL4TJl5BGgS11yzqwo1RYUoIx/ltznpGNJdCe
uG1eYkZ1J1BLAwQUAAIACAC9pItDxmGpLcsHAAB1GgAAQAAcAGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLXByZXR0eS1kaWZmLmh0bWxVVAkAA6Y9qVKmPalS
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
46dloE9fr/6rKdf/rAA4A9D8ZUy3Z2C6HcbUdMnfC2xyBrDJMDAXHqrGxwQDuYt2QCFqsKpoqtoq
FMXUVyeR8oph9dhA2fL0Nx2SJCAruprpR1O/Rjpfr+z0oRXOizZzNz4ZbQ25o3acnmHHr/JIFMth
Y34iCSlJHhMBLeKIxw/s0tYMqvdptazQUZ2O4OVnKH9cJ6APK+8+VI//q9//riozO8Mus2G7/ADv
BP8VzTsP3SugKOt/bfoTUEsDBAoAAgAAAL2ki0MnkHxFCQAAAAkAAAA3ABwAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmNvcHktYWN0dWFsLnR4dFVUCQADpj2pUqY9qVJ1
eAsAAQT1AQAABBQAAABQYXNzZWQKIApQSwMEFAACAAgAvaSLQyGnG0mMAAAAGQEAADUAHABjYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS1kaWZmLnR4dFVUCQADpj2p
UqY9qVJ1eAsAAQT1AQAABBQAAAC9jUEKwjAQRfc5RfZxOtgTBNGVG1Gw6zEZMJCa0JlIe3utegY3
/8N/Hx4AWLyW3EYW3JMSHoYLDnw7Jv3VrqUc8cyZSRgzLaUpKIvCxNKyCgZ6PEmw3lNOFVck2Mcu
lLEWScrd9/Ae6gI8Vw7KsdNZjXPuz3oK2ih/5N5b2G5669bw3tgTiXA0YJw1L1BLAwQKAAIAAAC9
pItD1+sddwgAAAAIAAAAOQAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZh
cy5jb3B5LWV4cGVjdGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKClBL
AwQUAAIACAC9pItD/EXkkWAHAADUFwAAPQAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9z
aXRlLmNhbnZhcy5jb3B5LXByZXR0eS1kaWZmLmh0bWxVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQU
AAAApVhbb9s2FH7PrxASbAGGSLKTuIvt1MOaCwbsgmEp1seBEimLDSVqJJXY3fbfd3iTJVmyM6xF
K5k8JL9z/Q51m6uCrU5uc4IwPAqiUJDmSEii3p/XKgtvzmFYqi0jq5MFo+XzRbB4oZIqgoO/TgL4
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
dHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLWFjdHVhbC50eHRVVAkAA6Y9
qVKmPalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCiAKUEsDBBQAAgAIAL2ki0NHJ4QbkwAAADEBAABB
ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0
b3AtZGlmZi50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAxY4xCgIxEEX7nCJ9nAzuCYJo
ZSMKbj0mAwbiJjgTWW+vq97B5v/iveIBgMVzLf3GgltSwt14wpEv+6y/2/RcEh65MAljoWftCsqi
cGfpRQUjTQ8SbNdccsMFCQ7Jx3prVbKy/wo+vUmeSHOdgLQ24LlxVE5eZzXOuT+mUNRO5RMSgoX1
arBumRCMPZAIJwPGWfMCUEsDBAoAAgAAAL2ki0PX6x13CAAAAAgAAABFABwAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQudHh0
VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAoKUEsDBBQAAgAIAL2ki0PBHOx6aQcA
AOAXAABJABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0
aW9uLWF0b3AtcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAAClWFtv
2zYUfs+vEBJsAYpIspO4i+3Uw5oLBuyCYinWx4ESKYsNJWoklTjZ9t93eJMlWbIzrEUrmTwkv3PO
dy7Uda4Ktjq6zgnC8CiIQkGaIyGJ+nBaqyy8OoVhqV4YWR0tGC0fz4LFE5VUERz8dRTAH0U2KsQk
5QIpystFUPKSLM1UwgUmIky4UrxYBNNqE2B4J3h59M+R3c5tknLGxSI4mVzMzVx0Txm5pVnm5hOU
Pq4Fr0scetHsSv9tH2RPkJxRHJxgjO1cxksVZqig7GURFLzkskKpA1ggsaYAeUqKYGKHKg7KGT0E
YaDREzGA8mkP6cXFxcD+EpUylETQrDUp6SsxZ7QPDRnJ1CKYRDM/jqmsGIJNFEoYCVPCmJ14pljl
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
QI+Ya1OuRa5j9+XtWqaCVuBTkX44zpWq5CKO0Ve0idacr2FRRaWmrhmLGU1k/PXPmoiXeBpdRufu
RwStZfRVHq9gX7PfKujunHJMQu1D8gxy34OntTM/XF61lgAo97Ew4fgFHhAPgBtJ+eHU3wT0N8N8
uop/B39CzopvkULx3ZeH+AtJfqLKPT7WlOH4N6i7SJIYmALmDBWBDAvX95opGaeofEIyrnLKaBXr
KRmfY62oYQ2JrECEYQaaGU2jUG8CbU2NWKQ2CsBOuxhbn4hOd2fM1X1sXF/pA5lDj417Ivo+E3Q+
BZnPplBevYT5CLDtLE5XU7AozK86UhDrh2WgXp+uPsE7wW4efAJg/KMNrEWx05WbdrL/WXN7Xzuo
eUturwHO32CAb8tEVstxKxzUv6sBZI7D8J3QXux7cPE3KGmxQ4laBdexfvwfP/YeJiqB9ua7/r9Q
SwMECgACAAAAvaSLQyeQfEUJAAAACQAAAEMAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBv
c2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci1hY3R1YWwudHh0VVQJAAOmPalSpj2pUnV4CwAB
BPUBAAAEFAAAAFBhc3NlZAogClBLAwQUAAIACAC9pItDHrjh55QAAAAxAQAAQQAcAGNhbnZhcy9w
aGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLWRpZmYudHh0
VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAMWOMQ7CMAxF95wie3AseoIIwcSCQKKzSSwRKW2q
2kHl9lDgDiz/D+8NDwAsXmtpAwvuSQkP/QV7vh2z/m7Xckl45sIkjIWetSkoi8LM0ooKRhofJDjd
c8kTrkiwSz7WYaqSlf1X8OlN8kia6wj1wTPwMnFUTl4XNc65P6ZQ1EblExKChe2ms26dEIw9kQgn
A8ZZ8wJQSwMECgACAAAAvaSLQ9frHXcIAAAACAAAAEUAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3Zlci1leHBlY3RlZC50eHRVVAkAA6Y9qVKm
PalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAACAAgAvaSLQ7jLM+xpBwAA4BcAAEkAHABj
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
6ykZn2OtqGENiaxAhGEGmhlNo1CnnBD6mhqxSG0UoJ12Qba+EZ3uzpi7+9i4vtMHMocmG/dE9IUm
6HwLMt9Nob56CfMVYNtanK6mYFKYX3WkINgPy0DBPl19gneC3Tw4BcD4RxtYi2OnKzftZP+z5vbC
dlDzltxeA5y/wQDflomsluNWOKh/VwNIHYfhO6G92Pfg4m9Q0mKHGrUKrmP9+D9+7D1MWALtzYf9
fwFQSwMECgACAAAAvaSLQyeQfEUJAAAACQAAADoAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNv
bXBvc2l0ZS5jYW52YXMubGlnaHRlci1hY3R1YWwudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAE
FAAAAFBhc3NlZAogClBLAwQUAAIACAC9pItD4g7dq48AAAAfAQAAOAAcAGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5saWdodGVyLWRpZmYudHh0VVQJAAOmPalSpj2pUnV4
CwABBPUBAAAEFAAAAL2OQQrCMBBF9zlF9jEZ7AmK6MqNKNj1mAw2MDWhM5F6e6l6Bjf/L96H9733
Fq6F20QCe1SEw3CBgW7HrL/atcwJzsSEQsD4Kk29kqifSRqrQMTHEwXqmDlXWJFAl0IsUy2SlcJ3
EDjfR6XZ01IpKqWgixrn3P8fYNSG/PH3vfXbTWfdGn1v7AlFKBlvnDVvUEsDBAoAAgAAAL2ki0PX
6x13CAAAAAgAAAA8ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmxp
Z2h0ZXItZXhwZWN0ZWQudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAoKUEsD
BBQAAgAIAL2ki0Mbme0CYAcAANcXAABAABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3Np
dGUuY2FudmFzLmxpZ2h0ZXItcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAA
BBQAAAClWFtv2zYUfs+vEBJsAYpIspO4i+3Uw5oLBuyCYinWx4ESKYsNJWoklTjZ9t93eJMlWbIz
rEUrmTwkv3P9DnWdq4Ktjq5zgjA8CqJQkOZISKI+nNYqC69OYViqF0ZWRwtGy8ezYPFEJVUEB38d
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
ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLWFjdHVhbC50eHRVVAkAA6Y9qVKm
PalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCiAKUEsDBBQAAgAIAL2ki0PR/tyTkAAAACcBAAA8ABwA
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLWRpZmYu
dHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAMWOMQoCMRBF+5wifZwM7gmCaGUjCm49JgMG
sibsTGS9vax6B5v3i/eLBwAWr7X0iQX3pISH8YIj345Zf7PruSQ8c2ESxkKv2hWURWFm6UUFIz2e
JNjuueSGqxIcko91alWysv8evNQ+RwbS2oCXxlE5eV3UOOf+U0FRO5VPQwgWtpvBuhUhGHsiEU4G
jLPmDVBLAwQKAAIAAAC9pItD1+sddwgAAAAIAAAAQAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQu
Y29tcG9zaXRlLmNhbnZhcy5zb3VyY2UtYXRvcC1leHBlY3RlZC50eHRVVAkAA6Y9qVKmPalSdXgL
AAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAACAAgAvaSLQ6h4l29mBwAA2xcAAEQAHABjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AtcHJldHR5LWRpZmYu
aHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAAClWFtv2zYUfs+vEBJsAYpIspO4i+3Uw5oL
BuyCYinWx4ESKYsNJWoklTjZ9t93eJMlWbIzrEUrmTwkv3POdy7Uda4Ktjq6zgnC8CiIQkGaIyGJ
+nBaqyy8OoVhqV4YWR0tGC0fz4LFE5VUERz8dRTAH0U2KsQk5QIpystFUPKSLM1UwgUmIky4UrxY
BNNqE2B4J3h59M+R3c5tknLGxSI4mVzMzVx0Txm5pVnm5hOUPq4Fr0scetHsSv9tH2RPkJxRHJxg
jO1cxksVZqig7GURFLzkskKpA1ggsaYAeUqKYGKHKg7KGT0EYaDREzGA8mkP6cXFxcD+EpUylETQ
rDUp6SsxZ7QPDRnJ1CKYRDM/jqmsGIJNFEoYCVPCmJ14pljlsMFk8o3DiDCm5bpZbfE59+i3rocc
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
AAAAxY4xCgIxEEX7nCJ9nAzuCYJoZSMKbj0mAwayJuxMZL29rHoHm/eL94sHABavtfSJBfekhIfx
giPfjll/s+u5JDxzYRLGQq/aFZRFYWbpRQUjPZ4k2O655IarEhySj3VqVbKy/x681D5HhvwAXhpH
5eR1UeOc+0cDRe1UPgUhWNhuButWhGDsiUQ4GTDOmjdQSwMECgACAAAAvaSLQ9frHXcIAAAACAAA
AD4AHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLWV4
cGVjdGVkLnR4dFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKClBLAwQUAAIACAC9
pItDj0s72GQHAADZFwAAQgAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZh
cy5zb3VyY2UtaW4tcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAACl
WFtv2zYUfs+vEBJsAYpIspO4i+3Uw5oLBuyCYinWx4ESKYsNJWoklTjZ9t93eJMlWbIzrEUrmTwk
v3P9DnWdq4Ktjq5zgjA8CqJQkOZISKI+nNYqC69OYViqF0ZWRwtGy8ezYPFEJVUEB38dBfBHkY0K
MUm5QIrychGUvCRLM5VwgYkIE64ULxbBtNoEGN4JXh79c2S3c5uknHGxCE4mF3MzF91TRm5plrn5
BKWPa8HrEodeNLvSf9sH2RMkZxQHJxhjO5fxUoUZKih7WQQFL7msUOoAFkisKUCekiKY2KGKg3JG
D0EYaPREDKB82kN6cXExsL9EpQwlETRrTUr6SswZ7UNDRjK1CCbRzI9jKiuGYBOFEkbClDBmJ54p
VjlsMJl84zAijGm5blZbfM49+q3rIQeZljkAU414zp+I6Gk1m82WYwYnxJoi0n75Gc6SbnHGOAJV
BF3nqus9LXUDJkC0bI7iYH6qQM3JAbWdlqHZt2Op5xy0C40fdbg9C1RtkT2QVPtvNHDM4m7Y9EPG
xa23OwTVpNrYE+42FbgY9gfVyFkQ6Udfw1F4kmKSvOj/AwP1I+Pp4yckVASqLjIqpArTnDI8alh9
3AOsP9u3mSAFuPbswHnuDG9+WkL4kDDRIp2wm/mog2hRNEUsRIyuIT8UH1BLEB3tP6ISM+LN4fbR
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
qH1InkHue/C0duaHy6vWEgDlPhYmHL/AA/IBcCMpP5z6m4D+ZphPV/Hv4E+oWfEtUii++/IQfyHJ
T1S5x8eaMhz/BryLJIkhUsCcoSJQYeH6XjMl4xSVT0jGVU4ZrWI9JeNzrBU1UUMiKxBJXosUEg3W
Q0dTIxapjQKc0y681teh090Zc2sfG9e3+UDm0F7jnoi+ygSdr0Dmiykwq5cw9/9tU3G6moIxYX7V
kYI0PywDVH26+gTvBLt5cAeA8Y82sFZ0na7ctJP9z5rbq9pBzVtyew1w/gYDfFsmslqOW+Gg/l0N
oGgchu+E9mLfg4u/QUmLHdhpFVzH+vF//Nh7mISEsDef9P8FUEsDBAoAAgAAAL2ki0MnkHxFCQAA
AAkAAAA+ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1v
dmVyLWFjdHVhbC50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCiAKUEsDBBQA
AgAIAL2ki0MzXcfukAAAACcBAAA8ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
Y2FudmFzLnNvdXJjZS1vdmVyLWRpZmYudHh0VVQJAAOmPalSpj2pUnV4CwABBPUBAAAEFAAAAMWO
MQoCMRBF+5wifZwM7gmCaGUjCm49JgMGogk7k2W9vax6B5v3i/eLBwAWr7X0BwvuSQkP4wVHvh2z
/mbXc0l45sIkjIVetSsoi8LE0osKRnrOJNjuueSGqxIcko/10apkZf89eKl9igx15gl4aRyVk9dF
jXPuPxUUtVP5NIRgYbsZrFsRgrEnEuFkwDhr3lBLAwQKAAIAAAC9pItD1+sddwgAAAAIAAAAQAAc
AGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5zb3VyY2Utb3Zlci1leHBl
Y3RlZC50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAACAAgAvaSL
Q9GvSPllBwAA2xcAAEQAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMu
c291cmNlLW92ZXItcHJldHR5LWRpZmYuaHRtbFVUCQADpj2pUqY9qVJ1eAsAAQT1AQAABBQAAACl
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
rty0k/3Pmtu72kHNW3J7DXD+BgN8WyayWo5b4aD+XQ2gahyG74T2Yt+Di79BSYsd6GkVXMf68X/8
2HuYjISwN9/0/wVQSwMECgACAAAAvaSLQyeQfEUJAAAACQAAADYAHABjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLWFjdHVhbC50eHRVVAkAA6Y9qVKmPalSdXgLAAEE
9QEAAAQUAAAAUGFzc2VkCiAKUEsDBBQAAgAIAL2ki0PCSKjDiwAAABcBAAA0ABwAY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci1kaWZmLnR4dFVUCQADpj2pUqc9qVJ1
eAsAAQT1AQAABBQAAAC9jTEKAjEQRfucIn2cDO4JgmhlIwpuPSYDBrIm7Exkvb2segab94v34QGA
xWstfWLBPSnhYbzgyLdj1t/sei4Jz1yYhLHQq3YFZVGYWXpRwUiPJwm2ey654aoEh+RjnVqVrOy/
B7/UGXhpHJWT10WNc+6/dYraqXzaIVjYbgbrVoRg7IlEOBkwzpo3UEsDBAoAAgAAAL2ki0PX6x13
CAAAAAgAAAA4ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci1l
eHBlY3RlZC50eHRVVAkAA6Y9qVKmPalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAACAAgA
wKSLQxN+EKxgBwAA0xcAADwAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52
YXMueG9yLXByZXR0eS1kaWZmLmh0bWxVVAkAA6c9qVKnPalSdXgLAAEE9QEAAAQUAAAApVhbb9s2
FH7PrxASbAGKSLKTuIvt1MOaCwbsgmIp1seBEimLDSVqJJU42fbfd3iTJVmyM6xFK5k8JL9z/Q51
nauCrY6uc4IwPAqiUJDmSEiiPpzWKguvTmFYqhdGVkcLRsvHs2DxRCVVBAd/HQXwR5GNCjFJuUCK
8nIRlLwkSzOVcIGJCBOuFC8WwbTaBBjeCV4e/XNkt3ObpJxxsQhOJhdzMxfdU0ZuaZa5+QSlj2vB
6xKHXjS70n/bB9kTJGcUBycYYzuX8VKFGSooe1kEBS+5rFDqABZIrClAnpIimNihioNyRg9BGGj0
RAygfNpDenFxMbC/RKUMJRE0a01K+krMGe1DQ0YytQgm0cyPYyorhmAThRJGwpQwZieeKVY5bDCZ
fOMwIoxpuW5WW3zOPfqt6yEHmZY5AFONeM6fiOhpNZvNlmMGJ8SaItJ++RnOkm5xxjgCVQRd56rr
PS11AyZAtGyO4mB+qkDNyQG1nZah2bdjqecctAuNH3W4PQtUbZE9kFT7bzRwzOJu2PRDxsWttzsE
1aTa2BPuNhW4GPYH1chZEOlHX8NReJJikrzo/wMD9SPj6eMnJFQEqi4yKqQK05wyPGpYfdwDrD/b
t5kgBbj27MB57gxvflpC+JAw0SKdsJv5qINoUTRFLESMriE/FB9QSxAd7T+iEjPizeH20SbUv3Ni
HbqN57QWUrtGw+5nIUrAO7X3GJzZBI5NIANvH4pOnO+Gw1qQl2UvMKPZIX9ZEweR4gfNHGWCFz1j
uxqpz9BW/7UuEiIgmkg7uuyoB75bSl3UzuedIujTZagU+ky+vLzs5d6u95saozea2RSwadAUfRcH
LjyHQsTC7YTThStYLcWNioMFxxLFqFn2FKlK6OzUMJ0BfTVxUeMV6eQqLApttpopsKf5CXoIgh5D
PWAB0QKtScczi+C8MXjCkLaiFkyhNAAGgOLegr7eW69cXc5Ha29Gsm0B0GEFOzYU2crmgaU4w92l
4Gw5Lj4n8+U+Xm92clWmjcNlxThlY7yzQYAJG19B5gfRxO+Ch7qquFDAtsJFMhi1KEipZPAuhvNQ
rXJu7W0ZWTc0EPUK4jT1njILjMxID9DIaDAIQsII+3L23ge2LjeIsRuPYFD63HJZgTZhj94L6A3c
0Pmk4Z3+0WD3vec0md2kdOeYIZwRr4ilzfCZJI9UhUrotLOWsMCD6FwuW2pcOqVPpEKqlh/rBDi8
4cNIZ88gHL1Ecc4SJLrz/uiMEZOh24mCvzajTXG6sHnsein96rsF/T7eFo5Vjr3t3DYsMrohdh9X
jyddlSJkehCbZrss/kyhFoheqDV7voa0xGQDRWqPalsibEEY0ssVow69XbkqVmqYLmEHqQnOS/jm
IND3W6BTG8SehOwvA9a9NwzmfjaAm86sczTNBCoswl6edNuIVo7cjFTaXdu8QK/Jnx3XEwaNI/TM
byCm9/P7bXg5Th6ZNIbozjVtJN5tj7vNsdvDmm83hkdbAuzrrD3mB18U/HVn0p797Dmydy95/50v
aLsw9yRJ68YjC2R7+XbNLbmA4eVIlXH66xZMDh1u9fB5PRkSYSghbIEyyLCzneV23GxiCLkEVY+D
v4Pj5VFDxC367q9mCDp0noXqpSKDWx2PInKCvWtuTpgpkE0zinQzOsJRJwWR0jceo3YecksrOx5M
oX4LFQLFQEP0RHktb5oRaGZfSXnTIsshnvctR59i2uSiazlErYkEX9vdbxeJrohceA58ExoXGtDj
EKVzokMXru0bafraPJvUkFVlu+54fsf0aZHx1NmQ10rXi3b6Jaw2TOKmIF4ywAIMNvWKtMnS7AI9
zOec2JNix7RrwK91UDxQMJdYaRdqMniiSNdk9YuLCQCbCP4MDodOIEew1jVFVEW6CWr0uJy5Lr5p
RdxvXx10I6v/Tbok6j/r9Hv8gmK4ZVnFtIOkv3wPMAr0YVyiJ7A9WID0eKV909uhunAaXdiWafvx
w7P/gA9Obm9vWyl9cnV/ez+7H6xP0FwOR/Hd3d0Q6gUpKqhQHee7Nq0nGcErIO1k/t38anLl6lbK
CBJ/mPbAXwX0iLk25VrkOnZf3q5lKmgFPhXph+NcqUou4hh9RZtozfkaFlVU6tA1YzGjiYy//lkT
8RJPo8vo3P2IoLWMvsrjFexr9lsF3Z1TjkmofUieQe578LR25ofLq9YSAOU+FiYcv8AD8gFwIyk/
nPqbgP5mmE9X8e/gT6hZ8S1SKL778hB/IclPVLnHx5oyHP8GvIskiSFSwJyhIlBh4fpeMyXjFJVP
SMZVThmtYj0l43OsFTVRQyIrEG24CKGVqRGL1EYBwGkXV+uz0OnujLmuj43ra3wgc+ircU9E32GC
zucf86kUKNVLmIv/tps4XU3BijC/6khBfh+WAY4+XX2Cd4LdPPgBwPhHG1grrE5XbtrJ/mfN7R3t
oOYtub0GOH+DAb4tE1ktx61wUP+uBlAtDsN3Qnux78HF36CkxQ60tAquY/34P37sPUwmQtibb/n/
AlBLAwQKAAIAAADApItDJ5B8RQkAAAAJAAAAPQAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29t
cG9zaXRlLmdsb2JhbEFscGhhLmltYWdlLWFjdHVhbC50eHRVVAkAA6c9qVKnPalSdXgLAAEE9QEA
AAQUAAAAUGFzc2VkCiAKUEsDBBQAAgAIAMCki0Now+pwkQAAACUBAAA7ABwAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UtZGlmZi50eHRVVAkAA6c9qVKn
PalSdXgLAAEE9QEAAAQUAAAAxY4xDsIwDAD3vCJ7SC36goBgYkEg0dlNrBLJJRF2UPk9KuIPLHfD
Lee9t3Ar3GYSOKAiHIcrDDSesv60b5kTXIgJhYDxXZp6JVH/JGmsAhEfLxSo98y5wpoE+tTFMtci
WambuIzIO6537PKME3laKkWl1Omixjn3lwmM2pC/CyFYv9301q0IwdgzilAy3jhrPlBLAwQKAAIA
AADApItD1+sddwgAAAAIAAAAPwAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmds
b2JhbEFscGhhLmltYWdlLWV4cGVjdGVkLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABQ
YXNzZWQKClBLAwQUAAIACADApItDDe9SSmYHAADaFwAAQwAcAGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlLXByZXR0eS1kaWZmLmh0bWxVVAkAA6c9qVKn
PalSdXgLAAEE9QEAAAQUAAAApVhbb9s2FH7PrxASbAGKSLKTuIvt1MOaCwbsgmIp1seBEimLDSVq
JJU42fbfd3iTJVmyM6xFK5k8JL9z/Q51nauCrY6uc4IwPAqiUJDmSEiiPpzWKguvTmFYqhdGVkcL
RsvHs2DxRCVVBAd/HQXwR5GNCjFJuUCK8nIRlLwkSzOVcIGJCBOuFC8WwbTaBBjeCV4e/XNkt3Ob
pJxxsQhOJhdzMxfdU0ZuaZa5+QSlj2vB6xKHXjS70n/bB9kTJGcUBycYYzuX8VKFGSooe1kEBS+5
rFDqABZIrClAnpIimNihioNyRg9BGGj0RAygfNpDenFxMbC/RKUMJRE0a01K+krMGe1DQ0YytQgm
0cyPYyorhmAThRJGwpQwZieeKVY5bDCZfOMwIoxpuW5WW3zOPfqt6yEHmZY5AFONeM6fiOhpNZvN
lmMGJ8SaItJ++RnOkm5xxjgCVQRd56rrPS11AyZAtGyO4mB+qkDNyQG1nZah2bdjqecctAuNH3W4
PQtUbZE9kFT7bzRwzOJu2PRDxsWttzsE1aTa2BPuNhW4GPYH1chZEOlHX8NReJJikrzo/wMD9SPj
6eMnJFQEqi4yKqQK05wyPGpYfdwDrD/bt5kgBbj27MB57gxvflpC+JAw0SKdsJv5qINoUTRFLESM
riE/FB9QSxAd7T+iEjPizeH20SbUv3NiHbqN57QWUrtGw+5nIUrAO7X3GJzZBI5NIANvH4pOnO+G
w1qQl2UvMKPZIX9ZEweR4gfNHGWCFz1juxqpz9BW/7UuEiIgmkg7uuyoB75bSl3UzuedIujTZagU
+ky+vLzs5d6u95saozea2RSwadAUfRcHLjyHQsTC7YTThStYLcWNioMFxxLFqFn2FKlK6OzUMJ0B
fTVxUeMV6eQqLApttpopsKf5CXoIgh5DPWAB0QKtScczi+C8MXjCkLaiFkyhNAAGgOLegr7eW69c
Xc5Ha29Gsm0B0GEFOzYU2crmgaU4w92l4Gw5Lj4n8+U+Xm92clWmjcNlxThlY7yzQYAJG19B5gfR
xO+Ch7qquFDAtsJFMhi1KEipZPAuhvNQrXJu7W0ZWTc0EPUK4jT1njILjMxID9DIaDAIQsII+3L2
3ge2LjeIsRuPYFD63HJZgTZhj94L6A3c0Pmk4Z3+0WD3vec0md2kdOeYIZwRr4ilzfCZJI9UhUro
tLOWsMCD6FwuW2pcOqVPpEKqlh/rBDi84cNIZ88gHL1Ecc4SJLrz/uiMEZOh24mCvzajTXG6sHns
ein96rsF/T7eFo5Vjr3t3DYsMrohdh9XjyddlSJkehCbZrss/kyhFoheqDV7voa0xGQDRWqPalsi
bEEY0ssVow69XbkqVmqYLmEHqQnOS/jmIND3W6BTG8SehOwvA9a9NwzmfjaAm86sczTNBCoswl6e
dNuIVo7cjFTaXdu8QK/Jnx3XEwaNI/TMbyCm9/P7bXg5Th6ZNIbozjVtJN5tj7vNsdvDmm83hkdb
AuzrrD3mB18U/HVn0p797Dmydy95/50vaLsw9yRJ68YjC2R7+XbNLbmA4eVIlXH66xZMDh1u9fB5
PRkSYSghbIEyyLCzneV23GxiCLkEVY+Dv4Pj5VFDxC367q9mCDp0noXqpSKDWx2PInKCvWtuTpgp
kE0zinQzOsJRJwWR0jceo3YecksrOx5MoX4LFQLFQEP0RHktb5oRaGZfSXnTIsshnvctR59i2uSi
azlErYkEX9vdbxeJrohceA58ExoXGtDjEKVzokMXru0bafraPJvUkFVlu+54fsf0aZHx1NmQ10rX
i3b6Jaw2TOKmIF4ywAIMNvWKtMnS7AI9zOec2JNix7RrwK91UDxQMJdYaRdqMniiSNdk9YuLCQCb
CP4MDodOIEew1jVFVEW6CWr0uJy5Lr5pRdxvXx10I6v/Tbok6j/r9Hv8gmK4ZVnFtIOkv3wPMAr0
YVyiJ7A9WID0eKV909uhunAaXdiWafvxw7P/gA9Obm9vWyl9cnV/ez+7H6xP0FwOR/Hd3d0Q6gUp
KqhQHee7Nq0nGcErIO1k/t38anLl6lbKCBJ/mPbAXwX0iLk25VrkOnZf3q5lKmgFPhXph+NcqUou
4hh9RZtozfkaFlVU6tA1YzGjiYy//lkT8RJPo8vo3P2IoLWMvsrjFexr9lsF3Z1TjkmofUieQe57
8LR25ofLq9YSAOU+FiYcv8AD8gFwIyk/nPqbgP5mmE9X8e/gT6hZ8S1SKL778hB/IclPVLnHx5oy
HP8GvIskiSFSwJyhIlBh4fpeMyXjFJVPSMZVThmtYj0l43OsFTVRQ6I14wliP7AqR/ZOFkJHUyMW
qY0CnNMuvNbXodPdGXNrHxvXt/lA5tBe456IvsoEna9A5ospMKuXMPf/bVNxupqCMWF+1ZGCND8s
A1R9uvoE7wS7eXAHgPGPNrBWdJ2u3LST/c+a26vaQc1bcnsNcP4GA3xbJrJajlvhoP5dDaBoHIbv
hPZi34OLv0FJix3YaRVcx/rxf/zYe5iEhLA3n/T/BVBLAwQKAAIAAADApItDJ5B8RQkAAAAJAAAA
RAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0
dGVybi1hY3R1YWwudHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAogClBLAwQU
AAIACADApItDyrerXpYAAAAzAQAAQgAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRl
Lmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi1kaWZmLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAA
BBQAAADFjjEOwjAMAPe8IntILPqCgmBiQSDR2W2sNpJLotpB5feoiD+w3A23nPfewiNznUnghIpw
7u7QUX9J+tOxJo5wIyYUAsZ3ruqVRP1CUlkFBny+UKBMiVOBLQk0MQx5LlmSUhg598gHLhOGNONI
BVVpeXpaCw1KMeiqxjn3zxcctCJ/T9rW+v2usW5D2xp7RRGKxhtnzQdQSwMECgACAAAAwKSLQ9fr
HXcIAAAACAAAAEYAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5pbWFnZXBhdHRlcm4tZXhwZWN0ZWQudHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAFBh
c3NlZAoKUEsDBBQAAgAIAMCki0ObDyS1awcAAOEXAABKABwAY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLXByZXR0eS1kaWZmLmh0bWxVVAkA
A6c9qVKnPalSdXgLAAEE9QEAAAQUAAAApVhbb9s2FH7PrxASbAGKSLKTuIvt1MOaCwbsgmIp1seB
EimLDSVqJJU42fbfd3iTJVmyM6xFK5k8JL9z/Q51nauCrY6uc4IwPAqiUJDmSEiiPpzWKguvTmFY
qhdGVkcLRsvHs2DxRCVVBAd/HQXwR5GNCjFJuUCK8nIRlLwkSzOVcIGJCBOuFC8WwbTaBBjeCV4e
/XNkt3ObpJxxsQhOJhdzMxfdU0ZuaZa5+QSlj2vB6xKHXjS70n/bB9kTJGcUBycYYzuX8VKFGSoo
e1kEBS+5rFDqABZIrClAnpIimNihioNyRg9BGGj0RAygfNpDenFxMbC/RKUMJRE0a01K+krMGe1D
Q0YytQgm0cyPYyorhmAThRJGwpQwZieeKVY5bDCZfOMwIoxpuW5WW3zOPfqt6yEHmZY5AFONeM6f
iOhpNZvNlmMGJ8SaItJ++RnOkm5xxjgCVQRd56rrPS11AyZAtGyO4mB+qkDNyQG1nZah2bdjqecc
tAuNH3W4PQtUbZE9kFT7bzRwzOJu2PRDxsWttzsE1aTa2BPuNhW4GPYH1chZEOlHX8NReJJikrzo
/wMD9SPj6eMnJFQEqi4yKqQK05wyPGpYfdwDrD/bt5kgBbj27MB57gxvflpC+JAw0SKdsJv5qINo
UTRFLESMriE/FB9QSxAd7T+iEjPizeH20SbUv3NiHbqN57QWUrtGw+5nIUrAO7X3GJzZBI5NIANv
H4pOnO+Gw1qQl2UvMKPZIX9ZEweR4gfNHGWCFz1juxqpz9BW/7UuEiIgmkg7uuyoB75bSl3Uzued
IujTZagU+ky+vLzs5d6u95saozea2RSwadAUfRcHLjyHQsTC7YTThStYLcWNioMFxxLFqFn2FKlK
6OzUMJ0BfTVxUeMV6eQqLApttpopsKf5CXoIgh5DPWAB0QKtScczi+C8MXjCkLaiFkyhNAAGgOLe
gr7eW69cXc5Ha29Gsm0B0GEFOzYU2crmgaU4w92l4Gw5Lj4n8+U+Xm92clWmjcNlxThlY7yzQYAJ
G19B5gfRxO+Ch7qquFDAtsJFMhi1KEipZPAuhvNQrXJu7W0ZWTc0EPUK4jT1njILjMxID9DIaDAI
QsII+3L23ge2LjeIsRuPYFD63HJZgTZhj94L6A3c0Pmk4Z3+0WD3vec0md2kdOeYIZwRr4ilzfCZ
JI9UhUrotLOWsMCD6FwuW2pcOqVPpEKqlh/rBDi84cNIZ88gHL1Ecc4SJLrz/uiMEZOh24mCvzaj
TXG6sHnsein96rsF/T7eFo5Vjr3t3DYsMrohdh9XjyddlSJkehCbZrss/kyhFoheqDV7voa0xGQD
RWqPalsibEEY0ssVow69XbkqVmqYLmEHqQnOS/jmIND3W6BTG8SehOwvA9a9NwzmfjaAm86sczTN
BCoswl6edNuIVo7cjFTaXdu8QK/Jnx3XEwaNI/TMbyCm9/P7bXg5Th6ZNIbozjVtJN5tj7vNsdvD
mm83hkdbAuzrrD3mB18U/HVn0p797Dmydy95/50vaLsw9yRJ68YjC2R7+XbNLbmA4eVIlXH66xZM
Dh1u9fB5PRkSYSghbIEyyLCzneV23GxiCLkEVY+Dv4Pj5VFDxC367q9mCDp0noXqpSKDWx2PInKC
vWtuTpgpkE0zinQzOsJRJwWR0jceo3YecksrOx5MoX4LFQLFQEP0RHktb5oRaGZfSXnTIsshnvct
R59i2uSiazlErYkEX9vdbxeJrohceA58ExoXGtDjEKVzokMXru0bafraPJvUkFVlu+54fsf0aZHx
1NmQ10rXi3b6Jaw2TOKmIF4ywAIMNvWKtMnS7AI9zOec2JNix7RrwK91UDxQMJdYaRdqMniiSNdk
9YuLCQCbCP4MDodOIEew1jVFVEW6CWr0uJy5Lr5pRdxvXx10I6v/Tbok6j/r9Hv8gmK4ZVnFtIOk
v3wPMAr0YVyiJ7A9WID0eKV909uhunAaXdiWafvxw7P/gA9Obm9vWyl9cnV/ez+7H6xP0FwOR/Hd
3d0Q6gUpKqhQHee7Nq0nGcErIO1k/t38anLl6lbKCBJ/mPbAXwX0iLk25VrkOnZf3q5lKmgFPhXp
h+NcqUou4hh9RZtozfkaFlVU6tA1YzGjiYy//lkT8RJPo8vo3P2IoLWMvsrjFexr9lsF3Z1Tjkmo
fUieQe578LR25ofLq9YSAOU+FiYcv8AD8gFwIyk/nPqbgP5mmE9X8e/gT6hZ8S1SKL778hB/IclP
VLnHx5oyHP8GvIskiSFSwJyhIlBh4fpeMyXjFJVPSMZVThmtYj0l43OsFTVRQ6I14wliP7AqR/ZO
ViEFRbkMobGpEYvURgHcaRdl6yPR6e6MubyPjetLfSBz6LJxT0TfaILOxyDz4RQI1kuYzwDb3uJ0
NQWbwvyqIwXZflgGGPt09QneCXbz4BUA4x9tYK0gO125aSf7nzW3N7aDmrfk9hrg/A0G+LZMZLUc
t8JB/bsaQO04DN8J7cW+Bxd/g5IWO5DUKriO9eP/+LH3MHkJYW++7P8LUEsDBAoAAgAAAMCki0Mn
kHxFCQAAAAkAAAA2ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuY29w
eS1hY3R1YWwudHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAogClBLAwQUAAIA
CADApItDNOZxlI0AAAAXAQAANAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmlt
YWdlLmNvcHktZGlmZi50eHRVVAkAA6c9qVKnPalSdXgLAAEE9QEAAAQUAAAAvY1BCsIwEEX3OUX2
cTrYEwTRlRtRsOsxGTSQmtCZSHt7rXgGN+/z+IsHABavJbeRBfekhIfhggPfjkl/s2spRzxzZhLG
TEtpCsqiMLG0rIKBni8SrI+UU8X1EuxjF8pYiyTlLo1054/XBXiuHJRjp7Ma59x/6xS0Uf62vbew
3fTWrfDe2BOJcDRgnDVvUEsDBAoAAgAAAMCki0PX6x13CAAAAAgAAAA4ABwAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS1leHBlY3RlZC50eHRVVAkAA6c9qVKnPalS
dXgLAAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAACAAgAwKSLQym/GPdgBwAA0xcAADwAHABjYW52
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
1IhFaqMA4LSLq/VZ6Hx/xlzXx8b1NT6QOfTVuCei7zBB5/OP+VQKlOolzMV/102cr6ZgRZhfdaQg
v4/LAEefr36FZ4LdPPgBwPifNrBWWJ2v3LST/c+a2zvaUc1bcgcNcPkGA3xdJrJajlvhqP5dDaBa
HIfvhA5iP4CLv0FJix1oaRXcxvrn//ix92MyEcLefMv/F1BLAwQKAAIAAADApItDJ5B8RQkAAAAJ
AAAAQgAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LWF0b3AtYWN0dWFsLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKIApQSwME
FAACAAgAwKSLQ5oR6POUAAAALwEAAEAAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0
ZS5pbWFnZS5kZXN0aW5hdGlvbi1hdG9wLWRpZmYudHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAE
FAAAAMWOOw4CIRBAe05Bj8PEPQExWtkYTdx6hImSsAtxBrPe3k+8g817xWseAFg819InFtySEu7G
E4582Wf9adNzSXjkwiSMhZ61KyiLwp2lFxWMND9IsN1yyQ0/SXBIPtapVcnKPk90ZZ/eIc+kuc5A
Whvw0jgqJ6+LGufc/04oaqfy/QjBwno1WPdBCMYeSISTAeOseQFQSwMECgACAAAAwKSLQ9frHXcI
AAAACAAAAEQAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5h
dGlvbi1hdG9wLWV4cGVjdGVkLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQK
ClBLAwQUAAIACADApItD7PWW8GkHAADfFwAASAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AtcHJldHR5LWRpZmYuaHRtbFVUCQADpz2pUqc9
qVJ1eAsAAQT1AQAABBQAAAClWFtv2zYUfs+vEBJsAYpIspO4i+3Uw5oLBuyCYinWx4ESKYsNJWok
lTjZ9t93eJMlWbIzrEUrmTwkv3POdy7Uda4Ktjq6zgnC8CiIQkGaIyGJ+nBaqyy8OoVhqV4YWR0t
GC0fz4LFE5VUERz8dRTAH0U2KsQk5QIpystFUPKSLM1UwgUmIky4UrxYBNNqE2B4J3h59M+R3c5t
knLGxSI4mVzMzVx0Txm5pVnm5hOUPq4Fr0scetHsSv9tH2RPkJxRHJxgjO1cxksVZqig7GURFLzk
skKpA1ggsaYAeUqKYGKHKg7KGT0EYaDREzGA8mkP6cXFxcD+EpUylETQrDUp6SsxZ7QPDRnJ1CKY
RDM/jqmsGIJNFEoYCVPCmJ14pljlsMFk8o3DiDCm5bpZbfE59+i3roccZFrmAEw14jl/IqKn1Ww2
W44ZnBBrikj75Wc4S7rFGeMIVBF0nauu97TUDZgA0bI5ioP5qQI1JwfUdlqGZt+OpZ5z0C40ftR0
exao2iJ7IKn23yhxzOIubfqUcbz1dgdSTaqNPeFuU4GLYX9QjZwFkX70NRyFJykmyYv+PzBQPzKe
Pn5CQkWg6iKjQqowzSnDo4bVxz3A+rN9mwlSgGvPDpznzvDmpyXQh4SJFunQbuZZB2xRNEUsRIyu
IT4UH1BLEM32H1GJGfHmcPtoE+rfObEO3fI5rYXUrtGw+1GIEvBO7T0GZzbEsQFk4O1D0eH5Lh3W
grwse8SMZof8ZU0cRIofNHOUCV70jO1ypD5DW/3XukiIADaRNrvsqAe+m0oda+fzThL04TKUCn0k
X15e9mJv1/tNjtEbzWwI2DBokr7jgaPnEEUs3A6dLlzCailuVBxMOLZQjJplT5KqhI5ODdMZ0GcT
xxqvSCdWYVFoo9VMgT3NT9BDEPQY6gELiBZoTTqeWQTnjcEThrQVtWAKqQEwABT3FvT13nrl6nI+
mnszkm0TgKYV7NiUyFY0DyzFGe4uBWfLcfE5mS/31fVmJ5dl2jhcVIyXbIx3NggwYeMryPwgmvhd
8FBXFRcKqq1wTAajFgUplQzexXAeqlXOrb1tRdYNDbBeAU9T7ymzwMiM9ACNjAaDgBJG2Kez957Y
Ot0gxm48gkHpc1vLCrQJe+W9gN7ADZ1PmrrTPxrsvvecJrKbkO4cM4Qz4hWxZTN8JskjVaESOuys
JSzwIDqXy5Yal07pE6mQquXHOoEa3tTDSEfPIBy9RHHOEiS68/7ojBEToduJgr82o01yurBx7Hop
/eq7Bf0+3haOZY697dyWFhndELuPy8eTrkoRMj2IDbPdKv5MIReIHtWaPV9DWmKygSS1R7VtIWxB
GNLLJaNOebtyWazUMF3ADpYmOC/hm4NA32+BTi2JfRGyvwxY995UMPezAdx0Zp2jaSZQYRH24qTb
RrRi5GYk0+7a5gV6Tf7saj1h0DhCz/yGwvR+fr+ll6vJI5PGEN25po3Eu+1xtzl2e1jz7XJ4tCXA
Ps/aY37wScFfdybt2c++RvbuJe+/8wltF+aeIGndeGSBbC/fzrklFzC8HMkyTn/dgsmhw60ePq4n
QyIMJYQtUAYRdraz3I6bTUxBLkHV4+Dv4Hh51BTiVvnur2YIOnSeheqlIoNbHY8icoK9a25OmEmQ
TTOKdDM6UqNOCiKlbzxG7TzkllZ0PJhE/ZZSCCUGGqInymt504xAM/tKyptWsRyq877l6JeYdnHR
uRxYa5jgc7v77ZjoksiFr4FvQuOoAT0OUTomOuXCtX0jTV+7ziY1RFXZzju+vmP6tMh46mzIa6Xz
RTv8ElabSuKmgC8ZYIEKNvWKtIul2QV6mM85sSfFrtKuAb/WQfFAwVxipR3VZPBEkc7J6hfHCQCb
CP4MDodOIEew1jVFVEW6CWr0uJy5Lr5pRdxvnx10I6v/TbpF1H/W6ff4BcVwy7KKaQdJf/keqCjQ
h3GJnsD2YAHSqyvtm95OqQun0YVtmbYfP3z1H/DBye3tbSukT67ub+9n94P5CZrLYRbf3d0NoV6Q
ooIM1XG+a9N6khG8AtJO5N/NryZXLm+ljCDxh2kP/FVAj5hrU65FrmP35e1apoJW4FORfjjOlark
Io7RV7SJ1pyvYVFFpaauGYsZTWT89c+aiJd4Gl1G5+5HBK1l9FUer2Bfs98q6O6cckxC7UPyDHLf
g6e1Mz9cXrWWACj3sTDh+AUeEA+AG0n54dTfBPQ3w3y6in8Hf0LOim+RQvHdl4f4C0l+oso9PtaU
4fg3qLtIkhiYAuYMFYEMC9f3mikZp6h8QjKucspoFespGZ9jrahhDbH3sAjDBPQymkUhAraE0NbU
iEVqowDstIux9YnodHfGXN3HxvWVPpA59Ni4J6LvM0HnU5D5bArl1UuYjwDbzuJ0NQWLwvyqIwWx
flgG6vXp6hO8E+zmwScAxj/awFoUO125aSf7nzW397WDmrfk9hrg/A0G+LZMZLUct8JB/bsaQOY4
DN8J7cW+Bxd/g5IWO5SoVXAd68f/8WPvYaISaG++6/8LUEsDBAoAAgAAAMCki0MnkHxFCQAAAAkA
AABAABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24t
aW4tYWN0dWFsLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKIApQSwMEFAAC
AAgAwKSLQ0oAnGeTAAAAKwEAAD4AHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1pbi1kaWZmLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAADF
jjsOwjAMQPecIntwLXqCCMHEgkCis0kssJQ2FXZQuT0fcQeW94a3PADweK6ljay4JSPcDScc+LIX
+2nTpGQ8cmFSxkLP2gyM1eDO2oopJpoepDjfpMiMn6TY5y7Vca4qxp2MdOUuv4NMZFInkAl4mTkZ
584WcyGEf31QskblexGjh/Wq9+GDGJ0/kCpnBy549wJQSwMECgACAAAAwKSLQ9frHXcIAAAACAAA
AEIAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1p
bi1leHBlY3RlZC50eHRVVAkAA6c9qVKnPalSdXgLAAEE9QEAAAQUAAAAUGFzc2VkCgpQSwMEFAAC
AAgAwKSLQ/0dyrpoBwAA3RcAAEYAHABjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5p
bWFnZS5kZXN0aW5hdGlvbi1pbi1wcmV0dHktZGlmZi5odG1sVVQJAAOnPalSpz2pUnV4CwABBPUB
AAAEFAAAAKVYW2/bNhR+z68QEmwBikiyk7iL7dTDmgsG7IJiKdbHgRIpiw0laiSVONn233d4kyVZ
sjOsRSuZPCS/c853LtR1rgq2OrrOCcLwKIhCQZojIYn6cFqrLLw6hWGpXhhZHS0YLR/PgsUTlVQR
HPx1FMAfRTYqxCTlAinKy0VQ8pIszVTCBSYiTLhSvFgE02oTYHgneHn0z5Hdzm2ScsbFIjiZXMzN
XHRPGbmlWebmE5Q+rgWvSxx60exK/20fZE+QnFEcnGCM7VzGSxVmqKDsZREUvOSyQqkDWCCxpgB5
SopgYocqDsoZPQRhoNETMYDyaQ/pxcXFwP4SlTKURNCsNSnpKzFntA8NGcnUIphEMz+OqawYgk0U
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
bmF0aW9uLW91dC1kaWZmLnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAADFjjEKAjEQRfuc
In2cDHqCIFrZiIJbj8mggewmOBNZb68r3sHm/+LB4wGAxUstfWTBHSnhfjjjwNdD1t9tey4JT1yY
hLHQq3YFZVF4sPSigpGmJwm2ey654YIEN8nHOrYqWdnnkW7s0wfkiTTXCRYHz42jcvI6q3HO/S2E
onYq34wQLKxXG+uWCcHYI4lwMmCcNW9QSwMECgACAAAAwKSLQ9frHXcIAAAACAAAAEMAHABjYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdXQtZXhwZWN0
ZWQudHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAoKUEsDBBQAAgAIAMCki0ND
vyDEaAcAAN4XAABHABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVz
dGluYXRpb24tb3V0LXByZXR0eS1kaWZmLmh0bWxVVAkAA6c9qVKnPalSdXgLAAEE9QEAAAQUAAAA
pVhbb9s2FH7PrxASbAGKSLKTuIvt1MOaCwbsgmIp1seBEimLDSVqJJU42fbfd3iTJVmyM6xFK5k8
JL9zzncu1HWuCrY6us4JwvAoiEJBmiMhifpwWqssvDqFYaleGFkdLRgtH8+CxROVVBEc/HUUwB9F
NirEJOUCKcrLRVDykizNVMIFJiJMuFK8WATTahNgeCd4efTPkd3ObZJyxsUiOJlczM1cdE8ZuaVZ
5uYTlD6uBa9LHHrR7Er/bR9kT5CcURycYIztXMZLFWaooOxlERS85LJCqQNYILGmAHlKimBihyoO
yhk9BGGg0RMxgPJpD+nFxcXA/hKVMpRE0Kw1KekrMWe0Dw0ZydQimEQzP46prBiCTRRKGAlTwpid
eKZY5bDBZPKNw4gwpuW6WW3xOffot66HHGRa5gBMNeI5fyKip9VsNluOGZwQa4pI++VnOEu6xRnj
CFQRdJ2rrve01A2YANGyOYqD+akCNScH1HZahmbfjqWec9AuNH7UdHsWqNoieyCp9t8occziLm36
lHG89XYHUk2qjT3hblOBi2F/UI2cBZF+9DUchScpJsmL/j8wUD8ynj5+QkJFoOoio0KqMM0pw6OG
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
/fDewnbTW/eB98aeSISjAeOseQFQSwMECgACAAAAwKSLQ9frHXcIAAAACAAAAEQAHABjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5kZXN0aW5hdGlvbi1vdmVyLWV4cGVjdGVk
LnR4dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKClBLAwQUAAIACADApItDlSJJ
ZmkHAADfFwAASAAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRlc3Rp
bmF0aW9uLW92ZXItcHJldHR5LWRpZmYuaHRtbFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAACl
WFtv2zYUfs+vEBJsAYpIspO4i+3Uw5oLBuyCYinWx4ESKYsNJWoklTjZ9t93eJMlWbIzrEUrmTwk
v3POdy7Uda4Ktjq6zgnC8CiIQkGaIyGJ+nBaqyy8OoVhqV4YWR0tGC0fz4LFE5VUERz8dRTAH0U2
KsQk5QIpystFUPKSLM1UwgUmIky4UrxYBNNqE2B4J3h59M+R3c5tknLGxSI4mVzMzVx0Txm5pVnm
5hOUPq4Fr0scetHsSv9tH2RPkJxRHJxgjO1cxksVZqig7GURFLzkskKpA1ggsaYAeUqKYGKHKg7K
GT0EYaDREzGA8mkP6cXFxcD+EpUylETQrDUp6SsxZ7QPDRnJ1CKYRDM/jqmsGIJNFEoYCVPCmJ14
pljlsMFk8o3DiDCm5bpZbfE59+i3roccZFrmAEw14jl/IqKn1Ww2W44ZnBBrikj75Wc4S7rFGeMI
VBF0nauu97TUDZgA0bI5ioP5qQI1JwfUdlqGZt+OpZ5z0C40ftR0exao2iJ7IKn23yhxzOIubfqU
cbz1dgdSTaqNPeFuU4GLYX9QjZwFkX70NRyFJykmyYv+PzBQPzKePn5CQkWg6iKjQqowzSnDo4bV
xz3A+rN9mwlSgGvPDpznzvDmpyXQh4SJFunQbuZZB2xRNEUsRIyuIT4UH1BLEM32H1GJGfHmcPto
E+rfObEO3fI5rYXUrtGw+1GIEvBO7T0GZzbEsQFk4O1D0eH5Lh3Wgrwse8SMZof8ZU0cRIofNHOU
CV70jO1ypD5DW/3XukiIADaRNrvsqAe+m0oda+fzThL04TKUCn0kX15e9mJv1/tNjtEbzWwI2DBo
kr7jgaPnEEUs3A6dLlzCailuVBxMOLZQjJplT5KqhI5ODdMZ0GcTxxqvSCdWYVFoo9VMgT3NT9BD
EPQY6gELiBZoTTqeWQTnjcEThrQVtWAKqQEwABT3FvT13nrl6nI+mnszkm0TgKYV7NiUyFY0DyzF
Ge4uBWfLcfE5mS/31fVmJ5dl2jhcVIyXbIx3NggwYeMryPwgmvhd8FBXFRcKqq1wTAajFgUplQze
xXAeqlXOrb1tRdYNDbBeAU9T7ymzwMiM9ACNjAaDgBJG2Kez957YOt0gxm48gkHpc1vLCrQJe+W9
gN7ADZ1PmrrTPxrsvvecJrKbkO4cM4Qz4hWxZTN8JskjVaESOuysJSzwIDqXy5Yal07pE6mQquXH
OoEa3tTDSEfPIBy9RHHOEiS68/7ojBEToduJgr82o01yurBx7Hop/eq7Bf0+3haOZY697dyWFhnd
ELuPy8eTrkoRMj2IDbPdKv5MIReIHtWaPV9DWmKygSS1R7VtIWxBGNLLJaNOebtyWazUMF3ADpYm
OC/hm4NA32+BTi2JfRGyvwxY995UMPezAdx0Zp2jaSZQYRH24qTbRrRi5GYk0+7a5gV6Tf7saj1h
0DhCz/yGwvR+fr+ll6vJI5PGEN25po3Eu+1xtzl2e1jz7XJ4tCXAPs/aY37wScFfdybt2c++Rvbu
Je+/8wltF+aeIGndeGSBbC/fzrklFzC8HMkyTn/dgsmhw60ePq4nQyIMJYQtUAYRdraz3I6bTUxB
LkHV4+Dv4Hh51BTiVvnur2YIOnSeheqlIoNbHY8icoK9a25OmEmQTTOKdDM6UqNOCiKlbzxG7Tzk
llZ0PJhE/ZZSCCUGGqInymt504xAM/tKyptWsRyq877l6JeYdnHRuRxYa5jgc7v77ZjoksiFr4Fv
QuOoAT0OUTomOuXCtX0jTV+7ziY1RFXZzju+vmP6tMh46mzIa6XzRTv8ElabSuKmgC8ZYIEKNvWK
tIul2QV6mM85sSfFrtKuAb/WQfFAwVxipR3VZPBEkc7J6hfHCQCbCP4MDodOIEew1jVFVEW6CWr0
uJy5Lr5pRdxvnx10I6v/TbpF1H/W6ff4BcVwy7KKaQdJf/keqCjQh3GJnsD2YAHSqyvtm95OqQun
0YVtmbYfP3z1H/DBye3tbSukT67ub+9n94P5CZrLYRbf3d0NoV6QooIM1XG+a9N6khG8AtJO5N/N
ryZXLm+ljCDxh2kP/FVAj5hrU65FrmP35e1apoJW4FORfjjOlarkIo7RV7SJ1pyvYVFFpaauGYsZ
TWT89c+aiJd4Gl1G5+5HBK1l9FUer2Bfs98q6O6cckxC7UPyDHLfg6e1Mz9cXrWWACj3sTDh+AUe
EA+AG0n54dTfBPQ3w3y6in8Hf0LOim+RQvHdl4f4C0l+oso9PtaU4fg3qLtIkhiYAuYMFYEMC9f3
mikZp6h8QjKucspoFespGZ9jrahhDbH3sAjDBPQymkWhzjghtDU1YpHaKAA77WJsfSI63Z0xV/ex
cX2lD2QOPTbuiej7TND5FGQ+m0J59RLmI8C2szhdTcGiML/qSEGsH5aBen26+gTvBLt58AmA8Y82
sBbFTldu2sn+Z83tfe2g5i25vQY4f4MBvi0TWS3HrXBQ/64GkDkOw3dCe7HvwcXfoKTFDiVqFVzH
+vF//Nh7mKgE2pvv+v8CUEsDBAoAAgAAAMCki0MnkHxFCQAAAAkAAAA5ABwAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UubGlnaHRlci1hY3R1YWwudHh0VVQJAAOnPalSpz2p
UnV4CwABBPUBAAAEFAAAAFBhc3NlZAogClBLAwQUAAIACADApItDP1CXdJAAAAAdAQAANwAcAGNh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXItZGlmZi50eHRVVAkA
A6c9qVKnPalSdXgLAAEE9QEAAAQUAAAAvY4xDsIwDEX3nCJ7cCx6ggjBxIJAorNJrDZSSqPaQeX2
qIgzsPw3vOF9ALB4n0ubWPBISnjqb9jz45z1h0PLJeGVC5MwFnrPTUFZFBaWVlQw0vNFgnXMJVfc
lGCXfJynOktW9nmigX3Jw6i8AK+Vo3Lyuqpxzv39AEVtVL75ECzsd51124Rg7IVEOBkwzpoPUEsD
BAoAAgAAAMCki0PX6x13CAAAAAgAAAA7ABwAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3Np
dGUuaW1hZ2UubGlnaHRlci1leHBlY3RlZC50eHRVVAkAA6c9qVKnPalSdXgLAAEE9QEAAAQUAAAA
UGFzc2VkCgpQSwMEFAACAAgAwKSLQ6bZ99NhBwAA1hcAAD8AHABjYW52YXMvcGhpbGlwL3Rlc3Rz
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
Zeh0d8bc2MfG9U0+kDm01rgnoq8xQecLkPlaCqzqJczdf9tQnK6mYEiYX3WkIMUPywBNn64+wTvB
bh5cAWD8ow2sFVmnKzftZP+z5vaadlDzltxeA5y/wQDflomsluNWOKh/VwMoGIfhO6G92Pfg4m9Q
0mIHZloF17F+/B8/9h4mGSHszef8fwFQSwMECgACAAAAwKSLQyeQfEUJAAAACQAAAD0AHABjYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC1hY3R1YWwudHh0
VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAFBhc3NlZAogClBLAwQUAAIACADApItDhXxQOpAA
AAAlAQAAOwAcAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1h
dG9wLWRpZmYudHh0VVQJAAOnPalSqD2pUnV4CwABBPUBAAAEFAAAAMWOMQoCMRAA+7wifdws3guC
aGUjCl69JosGcibcbuT8vZz4B5uZYpoBAIvXWvrEgntSwsN4wZFvx6w/7XouCc9cmISx0Lt2BWVR
mFl6UcFIzxcJtkcuueGaBIfkY51alazs80R39lL7HBlIawNeGkfl5HVR45z7ywRF7VS+CyFY2G4G
61aEYOyJRDgZMM6aD1BLAwQKAAIAAADApItD1+sddwgAAAAIAAAAPwAcAGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9wLWV4cGVjdGVkLnR4dFVUCQADpz2p
Uqc9qVJ1eAsAAQT1AQAABBQAAABQYXNzZWQKClBLAwQKAAAAAADApItDAAAAAAAAAAAAAAAADAAc
AGNvbXBvc2l0aW5nL1VUCQADpz2pUq09qVJ1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAwKSLQwAA
AAAAAAAAAAAAACAAHABjb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5L1VUCQADpz2pUq09
qVJ1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAwKSLQ3xr7ykrAAAANQAAAEQAHABjb21wb3NpdGlu
Zy9iYWNrZmFjZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktaW1hZ2UtYWN0dWFsLnR4
dFVUCQADpz2pUqc9qVJ1eAsAAQT1AQAABBQAAABT4FKAw5CMzGKFktTiEgUgnZ+XU6lQWpyaVpqj
kFiskKhQkFmRmgOW5gIAUEsDBBQAAgAIAMCki0Ox+Lo1owAAAG4BAABCABwAY29tcG9zaXRpbmcv
YmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5LWltYWdlLWRpZmYudHh0VVQJ
AAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAMWOvQoCQQyE+3uK9GtcrGwP0cpORevcGjWYcw+Tlbu3
9wcLEXuZYQZmmg8RIW6zlpYtzskpLnbruONmKf6uWRHdxxUrk3FUGnJxdDbHK1tRt5hy22UTl8sx
NpTOB0qMNzFpRMWHXxtKS0dG7jtOzvux916FEP7JQskL6YukrgEnoymEZ9R1hR8K8G3YnMTgSQGP
zhcdoBgfigIZEHTSs77u6g5QSwMEFAACAAgAwKSLQw+EdUoqAAAALwAAAEYAHABjb21wb3NpdGlu
Zy9iYWNrZmFjZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktaW1hZ2UtZXhwZWN0ZWQu
dHh0VVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAOPiAoGQjMxihZLU4hIFIJ2fl1OpUFqcmlaa
o5BYrJCoUJBZkZoDluYCAFBLAwQUAAIACADApItDcowATKwHAAAqHgAASgAcAGNvbXBvc2l0aW5n
L2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS1pbWFnZS1wcmV0dHktZGlm
Zi5odG1sVVQJAAOnPalSpz2pUnV4CwABBPUBAAAEFAAAAM1Za2/juBX9nl8hJNgGWESSHduZ2E5c
dPJAge0WRTPofCwoibI4oUSVpBI73f73vXzJkizZ6e4skB3sSCYvyXPfh5qbTOZ0dXKTYZTAI8cS
eXGGuMDy9rySqX99DsNCbilenSwoKZ4vvMULEUTixPvviQf/SbyRfoJjxpEkrFh4BSvwUk9FjCeY
+xGTkuULb1xuvATecbI8+d+J2c5uEjPK+MI7G03mei54JBTfkzS18xGKn9ecVUXiO9H0Wv1pHmRO
EIySxDtLksTMpayQfopyQrcLL2cFEyWKLcAc8TUByGOceyMzVDJQTuvBMQWNXrAGlI07SCeTSc/+
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
dXgLAAEE9QEAAAQUAAAAU+BSgMOQjMxihZLU4hIFIJ2fl1OpUFqcmlaao5BYrJCoUJBZkZoDluYC
AFBLAwQUAAIACADApItD4ONiF6EAAABgAQAAQgAcAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2li
aWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC1kaWZmLnR4dFVUCQADpz2pUqc9qVJ1eAsA
AQT1AQAABBQAAADFjj0LAkEMRPv7FenXuFjZHqKVnYrWuTVqMN4eJqt3/94PrMReGHgwU8xDRIjb
rOXCFufkFBe7ddxxsxT/YFZE93HFymQclYZcHJ3N8cpW1C2mfOmyiUt7jA2l84ES401MGlHx4VeH
d26Oitx3nJz3Y++9CiH804WSF9K3SV0DTiBMRlOo6yrAd2BzEoPXLzyZWx2gGB+KAhkQdNKzvufq
AVBLAwQUAAIACADApItDoNCtTCYAAAApAAAARgAcAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2li
aWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC1leHBlY3RlZC50eHRVVAkAA6c9qVKnPalS
dXgLAAEE9QEAAAQUAAAAC8nILFYoSS0uUQDS+Xk5lQqlxalppTkKicUKiQoFmRWpOWBpLgBQSwME
FAACAAgAwKSLQ67I6Kx0BwAAKRoAAEoAHABjb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5
L2JhY2tmYWNlLXZpc2liaWxpdHktd2ViZ2wtcHJldHR5LWRpZmYuaHRtbFVUCQADpz2pUqc9qVJ1
eAsAAQT1AQAABBQAAADNWVtvo0YUfs+vQInaSKsAdmxnYztx1c1FlXpR1azax2qAwcxmYOjMENtp
+9975oYBQ5KqUpWuuoa5nPnO9TvDXmUyp6ujqwyjBH5yLJEXZ4gLLK9PK5n6l6cwLOSO4tXRgpLi
8cxbPBFBJE68P488+E/irfQTHDOOJGHFwitYgZd6KmI8wdyPmJQsX3jjcusl8IyT5dHfR0acFRIz
yvjCOxlN5nouuCcU35I0tfMRih/XnFVF4rul6aX60zzInCAYJYl3kiSJmUtZIf0U5YTuFl7OCiZK
FFuAOeJrApDHOPdGZqhkoJzWg2MKGj1hDSgbd5BOJpMe+QIVwheYk7QxKcgz1mc0D/UpTuXCGwUz
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
+/fv/wBQSwECHgMUAAIACADApItDtsdKZg8CAACQDgAADgAYAAAAAAABAAAApIEAAAAAYWNjZXNz
X2xvZy50eHRVVAUAA6g9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADApItDAAAAAAAAAAAA
AAAADgAYAAAAAAAAABAA7UFXAgAAYWNjZXNzaWJpbGl0eS9VVAUAA6c9qVJ1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC9pItDQ0jvVwYBAAD4AQAANAAYAAAAAAABAAAApIGfAgAAYWNjZXNzaWJp
bGl0eS9hY2Nlc3NpYmlsaXR5LW5vZGUtcmVwYXJlbnQtYWN0dWFsLnR4dFVUBQADpT2pUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0PfW/G2GwEAAAgCAAAyABgAAAAAAAEAAACkgRMEAABh
Y2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktbm9kZS1yZXBhcmVudC1kaWZmLnR4dFVUBQADpT2p
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0OA7vj8BgEAAPcBAAA2ABgAAAAAAAEAAACk
gZoFAABhY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktbm9kZS1yZXBhcmVudC1leHBlY3RlZC50
eHRVVAUAA6U9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDJeF8RQ0IAADwGQAAOgAY
AAAAAAABAAAApIEQBwAAYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LW5vZGUtcmVwYXJlbnQt
cHJldHR5LWRpZmYuaHRtbFVUBQADpT2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0PU
3jjDxAAAACUBAAA2ABgAAAAAAAEAAACkgZEPAABhY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHkt
b2JqZWN0LWRldGFjaGVkLWFjdHVhbC50eHRVVAUAA6U9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC9pItDojeWIPQAAADJAQAANAAYAAAAAAABAAAApIHFEAAAYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LW9iamVjdC1kZXRhY2hlZC1kaWZmLnR4dFVUBQADpT2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAL2ki0O15y4vwwAAACMBAAA4ABgAAAAAAAEAAACkgScSAABhY2Nlc3NpYmls
aXR5L2FjY2Vzc2liaWxpdHktb2JqZWN0LWRldGFjaGVkLWV4cGVjdGVkLnR4dFVUBQADpT2pUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0OVGzKuygcAAOQYAAA8ABgAAAAAAAEAAACkgVwT
AABhY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktb2JqZWN0LWRldGFjaGVkLXByZXR0eS1kaWZm
Lmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDy1IsYfQAAAD6AQAA
RwAYAAAAAAABAAAApIGcGwAAYWNjZXNzaWJpbGl0eS9hZGphY2VudC1jb250aW51YXRpb25zLWNh
dXNlLWFzc2VydGlvbi1mYWlsdXJlLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC9pItDMsnsxNsAAACwAQAARQAYAAAAAAABAAAApIERHQAAYWNjZXNzaWJpbGl0
eS9hZGphY2VudC1jb250aW51YXRpb25zLWNhdXNlLWFzc2VydGlvbi1mYWlsdXJlLWRpZmYudHh0
VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ0bklW/zAAAA+QEAAEkAGAAA
AAAAAQAAAKSBax4AAGFjY2Vzc2liaWxpdHkvYWRqYWNlbnQtY29udGludWF0aW9ucy1jYXVzZS1h
c3NlcnRpb24tZmFpbHVyZS1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC9pItDjLPspOoHAAD5GgAATQAYAAAAAAABAAAApIHhHwAAYWNjZXNzaWJpbGl0eS9h
ZGphY2VudC1jb250aW51YXRpb25zLWNhdXNlLWFzc2VydGlvbi1mYWlsdXJlLXByZXR0eS1kaWZm
Lmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDWP8bFeUAAACCAQAA
PAAYAAAAAAABAAAApIFSKAAAYWNjZXNzaWJpbGl0eS9hbHQtdGFnLW9uLWltYWdlLXdpdGgtbm9u
aW1hZ2Utcm9sZS1hY3R1YWwudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
vaSLQxVH4awHAQAA4gEAADoAGAAAAAAAAQAAAKSBrSkAAGFjY2Vzc2liaWxpdHkvYWx0LXRhZy1v
bi1pbWFnZS13aXRoLW5vbmltYWdlLXJvbGUtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC9pItDcc9ajuQAAACAAQAAPgAYAAAAAAABAAAApIEoKwAAYWNjZXNzaWJp
bGl0eS9hbHQtdGFnLW9uLWltYWdlLXdpdGgtbm9uaW1hZ2Utcm9sZS1leHBlY3RlZC50eHRVVAUA
A6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDSDyZj/gHAADCGQAAQgAYAAAAAAAB
AAAApIGELAAAYWNjZXNzaWJpbGl0eS9hbHQtdGFnLW9uLWltYWdlLXdpdGgtbm9uaW1hZ2Utcm9s
ZS1wcmV0dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAvaSL
Q3+/POAkAAAAJAAAADwAGAAAAAAAAQAAAKSB+DQAAGFjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmtl
ZC1hbm9ueW1vdXMtYmxvY2stY3Jhc2gtYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAL2ki0Mkt9kCpAAAAF8BAAA6ABgAAAAAAAEAAACkgZI1AABhY2Nlc3NpYmls
aXR5L2FuY2hvci1saW5rZWQtYW5vbnltb3VzLWJsb2NrLWNyYXNoLWRpZmYudHh0VVQFAAOmPalS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAvaSLQw7dV4kjAAAAIwAAAD4AGAAAAAAAAQAAAKSB
qjYAAGFjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmtlZC1hbm9ueW1vdXMtYmxvY2stY3Jhc2gtZXhw
ZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ1R8Ctd7BwAA
FRgAAEIAGAAAAAAAAQAAAKSBRTcAAGFjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmtlZC1hbm9ueW1v
dXMtYmxvY2stY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAL2ki0NyjF8yXgAAAH8AAAA0ABgAAAAAAAEAAACkgTw/AABhY2Nlc3NpYmlsaXR5
L2FyaWEtYWN0aXZlZGVzY2VuZGFudC1jcmFzaC1hY3R1YWwudHh0VVQFAAOmPalSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAvaSLQ0/tzJ7DAAAAiQEAADIAGAAAAAAAAQAAAKSBCEAAAGFjY2Vz
c2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLWRpZmYudHh0VVQFAAOmPalSdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ9YoMVNeAAAAfgAAADYAGAAAAAAAAQAAAKSBN0EA
AGFjY2Vzc2liaWxpdHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLWV4cGVjdGVkLnR4dFVU
BQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0Oi3SqymAcAAEcYAAA6ABgAAAAA
AAEAAACkgQVCAABhY2Nlc3NpYmlsaXR5L2FyaWEtYWN0aXZlZGVzY2VuZGFudC1jcmFzaC1wcmV0
dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ+/N3O23
AAAA4wEAAC4AGAAAAAAAAQAAAKSBEUoAAGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1jaGVj
a2VkLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDpXJs
JfQAAAC2AQAALAAYAAAAAAABAAAApIEwSwAAYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94LWNo
ZWNrZWQtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDtW9b
C7YAAADhAQAAMAAYAAAAAAABAAAApIGKTAAAYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94LWNo
ZWNrZWQtZXhwZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSL
Q3kYv+QYCAAA7xwAADQAGAAAAAAAAQAAAKSBqk0AAGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2Jv
eC1jaGVja2VkLXByZXR0eS1kaWZmLmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC9pItDPxFlc38AAAAOAQAAMgAYAAAAAAABAAAApIEwVgAAYWNjZXNzaWJpbGl0eS9hcmlh
LWRlc2NyaWJlZGJ5LW9uLWlucHV0LWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC9pItDfJ1asOwAAABEAgAAMAAYAAAAAAABAAAApIEbVwAAYWNjZXNzaWJpbGl0
eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LWRpZmYudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAvaSLQwwjmT5/AAAADQEAADQAGAAAAAAAAQAAAKSBcVgAAGFjY2Vzc2li
aWxpdHkvYXJpYS1kZXNjcmliZWRieS1vbi1pbnB1dC1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDCKW++tcHAAAkGgAAOAAYAAAAAAABAAAApIFeWQAA
YWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0LXByZXR0eS1kaWZmLmh0bWxV
VAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDJBDvsLoAAAA1AQAAPQAYAAAA
AAABAAAApIGnYQAAYWNjZXNzaWJpbGl0eS9hcmlhLWRpc2FibGVkLXByb3BhZ2F0ZWQtdG8tY2hp
bGRyZW4tYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0MN
k6wx/AAAAM8BAAA7ABgAAAAAAAEAAACkgdhiAABhY2Nlc3NpYmlsaXR5L2FyaWEtZGlzYWJsZWQt
cHJvcGFnYXRlZC10by1jaGlsZHJlbi1kaWZmLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAL2ki0OzJTN1ugAAADMBAAA/ABgAAAAAAAEAAACkgUlkAABhY2Nlc3NpYmlsaXR5
L2FyaWEtZGlzYWJsZWQtcHJvcGFnYXRlZC10by1jaGlsZHJlbi1leHBlY3RlZC50eHRVVAUAA6Y9
qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDSG7hsf4HAADkGgAAQwAYAAAAAAABAAAA
pIF8ZQAAYWNjZXNzaWJpbGl0eS9hcmlhLWRpc2FibGVkLXByb3BhZ2F0ZWQtdG8tY2hpbGRyZW4t
cHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0MH
FBr7kQAAALQAAAAsABgAAAAAAAEAAACkgfdtAABhY2Nlc3NpYmlsaXR5L2FyaWEtZmFsbGJhY2st
cm9sZXMtYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0Mi
cihJ3wAAAI4BAAAqABgAAAAAAAEAAACkge5uAABhY2Nlc3NpYmlsaXR5L2FyaWEtZmFsbGJhY2st
cm9sZXMtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDTt1W
55EAAACzAAAALgAYAAAAAAABAAAApIExcAAAYWNjZXNzaWJpbGl0eS9hcmlhLWZhbGxiYWNrLXJv
bGVzLWV4cGVjdGVkLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0Oi
meDs0QcAAH4ZAAAyABgAAAAAAAEAAACkgSpxAABhY2Nlc3NpYmlsaXR5L2FyaWEtZmFsbGJhY2st
cm9sZXMtcHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AL2ki0MRXJuaPgEAANsCAAA6ABgAAAAAAAEAAACkgWd5AABhY2Nlc3NpYmlsaXR5L2FyaWEtaGlk
ZGVuLW5lZ2F0ZXMtbm8tdmlzaWJpbGl0eS1hY3R1YWwudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAvaSLQ3HH2+QZAQAA+QEAADgAGAAAAAAAAQAAAKSBGXsAAGFjY2Vzc2li
aWxpdHkvYXJpYS1oaWRkZW4tbmVnYXRlcy1uby12aXNpYmlsaXR5LWRpZmYudHh0VVQFAAOmPalS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQzD/9oc9AQAA2gIAADwAGAAAAAAAAQAAAKSB
pHwAAGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tbmVnYXRlcy1uby12aXNpYmlsaXR5LWV4cGVj
dGVkLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0N2tc1fKAgAAOMb
AABAABgAAAAAAAEAAACkgVd+AABhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLW5lZ2F0ZXMtbm8t
dmlzaWJpbGl0eS1wcmV0dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAvaSLQ31uQJL8AAAAtQEAADsAGAAAAAAAAQAAAKSB+YYAAGFjY2Vzc2liaWxpdHkvYXJp
YS1oaWRkZW4tdXBkYXRlcy1hbGxkZXNjZW5kYW50cy1hY3R1YWwudHh0VVQFAAOmPalSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ8t0kIa5AAAAdQEAADkAGAAAAAAAAQAAAKSBaogAAGFj
Y2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tdXBkYXRlcy1hbGxkZXNjZW5kYW50cy1kaWZmLnR4dFVU
BQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0NoCoP0/AAAALQBAAA9ABgAAAAA
AAEAAACkgZaJAABhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXVwZGF0ZXMtYWxsZGVzY2VuZGFu
dHMtZXhwZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ31s
UVa5BwAAvxoAAEEAGAAAAAAAAQAAAKSBCYsAAGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tdXBk
YXRlcy1hbGxkZXNjZW5kYW50cy1wcmV0dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAvaSLQ/MYV2YfAQAAwAMAACUAGAAAAAAAAQAAAKSBPZMAAGFjY2Vzc2li
aWxpdHkvYXJpYS1pbnZhbGlkLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC9pItDrxrEOwYBAADOAQAAIwAYAAAAAAABAAAApIG7lAAAYWNjZXNzaWJpbGl0eS9h
cmlhLWludmFsaWQtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9
pItDB0OfHx8BAAC/AwAAJwAYAAAAAAABAAAApIEelgAAYWNjZXNzaWJpbGl0eS9hcmlhLWludmFs
aWQtZXhwZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQyk7
JBX6BwAAxRkAACsAGAAAAAAAAQAAAKSBnpcAAGFjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLXBy
ZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDkwo3
2NIAAAArAQAANgAYAAAAAAABAAAApIH9nwAAYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsZWQtd2l0
aC1oaWRkZW4tbm9kZS1hY3R1YWwudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAwKSLQ4oNrZYKAQAA2QEAADQAGAAAAAAAAQAAAKSBP6EAAGFjY2Vzc2liaWxpdHkvYXJpYS1s
YWJlbGVkLXdpdGgtaGlkZGVuLW5vZGUtZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADApItDcKv1TNIAAAAqAQAAOAAYAAAAAAABAAAApIG3ogAAYWNjZXNzaWJpbGl0
eS9hcmlhLWxhYmVsZWQtd2l0aC1oaWRkZW4tbm9kZS1leHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADApItDmVBOXQMIAADKGQAAPAAYAAAAAAABAAAApIH7owAA
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsZWQtd2l0aC1oaWRkZW4tbm9kZS1wcmV0dHktZGlmZi5o
dG1sVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQzzPV35hAAAAkwAAADEA
GAAAAAAAAQAAAKSBdKwAAGFjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LW9uLWlucHV0LWFj
dHVhbC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDm8SF0ckAAADG
AQAALwAYAAAAAAABAAAApIFArQAAYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb24taW5w
dXQtZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDolNk+mEA
AACSAAAAMwAYAAAAAAABAAAApIFyrgAAYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb24t
aW5wdXQtZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSL
Q3k40nSpBwAAHBkAADcAGAAAAAAAAQAAAKSBQK8AAGFjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxl
ZGJ5LW9uLWlucHV0LXByZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADApItDIDw1Nq4AAADBAQAAPQAYAAAAAAABAAAApIFatwAAYWNjZXNzaWJpbGl0eS9h
cmlhLWxhYmVsbGVkYnktb3ZlcnJpZGVzLWFyaWEtbGFiZWwtYWN0dWFsLnR4dFVUBQADpz2pUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0M/Ysh6+gAAACUCAAA7ABgAAAAAAAEAAACkgX+4
AABhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtYXJpYS1sYWJlbC1kaWZm
LnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0OiSTcgrgAAAMABAAA/
ABgAAAAAAAEAAACkge65AABhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMt
YXJpYS1sYWJlbC1leHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADApItDDd80bPgHAABtGwAAQwAYAAAAAAABAAAApIEVuwAAYWNjZXNzaWJpbGl0eS9hcmlhLWxh
YmVsbGVkYnktb3ZlcnJpZGVzLWFyaWEtbGFiZWwtcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0OKLYrACAEAALEBAAA4ABgAAAAAAAEAAACkgYrD
AABhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwtYWN0dWFsLnR4
dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0M9cq47BAEAAPkBAAA2ABgA
AAAAAAEAAACkgQTFAABhY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vdmVycmlkZXMtbGFi
ZWwtZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDhvqF3QcB
AACwAQAAOgAYAAAAAAABAAAApIF4xgAAYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktb3Zl
cnJpZGVzLWxhYmVsLWV4cGVjdGVkLnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAMCki0PI8mGq8QcAAN0ZAAA+ABgAAAAAAAEAAACkgfPHAABhY2Nlc3NpYmlsaXR5L2FyaWEt
bGFiZWxsZWRieS1vdmVycmlkZXMtbGFiZWwtcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0Nruj4sUQAAAFkAAAAxABgAAAAAAAEAAACkgVzQAABh
Y2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy1hY3R1YWwudHh0VVQFAAOnPalS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQyyvuDm/AAAArgEAAC8AGAAAAAAAAQAAAKSB
GNEAAGFjY2Vzc2liaWxpdHkvYXJpYS1saW5rLXN1cHBvcnRzLXByZXNzLWRpZmYudHh0VVQFAAOn
PalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ0RZ9TNRAAAAWAAAADMAGAAAAAAAAQAA
AKSBQNIAAGFjY2Vzc2liaWxpdHkvYXJpYS1saW5rLXN1cHBvcnRzLXByZXNzLWV4cGVjdGVkLnR4
dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0NvT58ooQcAAPoYAAA3ABgA
AAAAAAEAAACkgf7SAABhY2Nlc3NpYmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy1wcmV0
dHktZGlmZi5odG1sVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ4u3NPoU
AQAAOQIAAC8AGAAAAAAAAQAAAKSBENsAAGFjY2Vzc2liaWxpdHkvYXJpYS1tZW51YmFyLW1lbnVp
dGVtcy1hY3R1YWwudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ+Ie
+KIUAQAAIQIAAC0AGAAAAAAAAQAAAKSBjdwAAGFjY2Vzc2liaWxpdHkvYXJpYS1tZW51YmFyLW1l
bnVpdGVtcy1kaWZmLnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0PM
T6kSEgEAADQCAAAxABgAAAAAAAEAAACkgQjeAABhY2Nlc3NpYmlsaXR5L2FyaWEtbWVudWJhci1t
ZW51aXRlbXMtZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
wKSLQyfkGWIxCAAA5h4AADUAGAAAAAAAAQAAAKSBhd8AAGFjY2Vzc2liaWxpdHkvYXJpYS1tZW51
YmFyLW1lbnVpdGVtcy1wcmV0dHktZGlmZi5odG1sVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAwKSLQ8qJt65+AQAArQYAACYAGAAAAAAAAQAAAKSBJegAAGFjY2Vzc2liaWxpdHkv
YXJpYS1yZWFkb25seS1hY3R1YWwudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAwKSLQyVakfUDAQAA1wEAACQAGAAAAAAAAQAAAKSBA+oAAGFjY2Vzc2liaWxpdHkvYXJpYS1y
ZWFkb25seS1kaWZmLnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0Mb
3tkCfgEAAKwGAAAoABgAAAAAAAEAAACkgWTrAABhY2Nlc3NpYmlsaXR5L2FyaWEtcmVhZG9ubHkt
ZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQzjhWyzv
BwAAzRkAACwAGAAAAAAAAQAAAKSBRO0AAGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS1wcmV0
dHktZGlmZi5odG1sVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ5yhbPP/
AAAAKQQAACMAGAAAAAAAAQAAAKSBmfUAAGFjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy1hY3R1YWwu
dHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ3YJ4YuhAQAAZwcAACEA
GAAAAAAAAQAAAKSB9fYAAGFjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy1kaWZmLnR4dFVUBQADpz2p
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0OJZiwp/QAAACEEAAAlABgAAAAAAAEAAACk
gfH4AABhY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ4LB4f8SCgAAgEoAACkAGAAAAAAAAQAAAKSBTfoAAGFj
Y2Vzc2liaWxpdHkvYXJpYS1yb2xlcy1wcmV0dHktZGlmZi5odG1sVVQFAAOnPalSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAwKSLQ4GbEfuDAAAApQAAACoAGAAAAAAAAQAAAKSBwgQBAGFjY2Vz
c2liaWxpdHkvYXJpYS1zbGlkZXItdmFsdWUtYWN0dWFsLnR4dFVUBQADpz2pUnV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAMCki0Mr4eFdwAAAALwBAAAoABgAAAAAAAEAAACkgakFAQBhY2Nlc3Np
YmlsaXR5L2FyaWEtc2xpZGVyLXZhbHVlLWRpZmYudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAwKSLQ6VdBhGDAAAApAAAACwAGAAAAAAAAQAAAKSBywYBAGFjY2Vzc2liaWxp
dHkvYXJpYS1zbGlkZXItdmFsdWUtZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAwKSLQ7czzgSsBwAAmhkAADAAGAAAAAAAAQAAAKSBtAcBAGFjY2Vzc2liaWxp
dHkvYXJpYS1zbGlkZXItdmFsdWUtcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAL2ki0MAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQcoPAQBjYW52YXMv
VVQFAAOlPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAvaSLQwAAAAAAAAAAAAAAAA4AGAAA
AAAAAAAQAO1BCxABAGNhbnZhcy9waGlsaXAvVVQFAAOlPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAwKSLQwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BUxABAGNhbnZhcy9waGlsaXAvdGVz
dHMvVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ0k8TfZ6AAAAnQAAADsA
GAAAAAAAAQAAAKSBoRABAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0
LmFscGhhMC1hY3R1YWwudHh0VVQFAAOlPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSL
QyiVvI/tAAAA2AEAADkAGAAAAAAAAQAAAKSBkBEBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1kaWZmLnR4dFVUBQADpT2pUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAL2ki0MIlus6eAAAAJsAAAA9ABgAAAAAAAEAAACkgfASAQBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0VVQFAAOlPalS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ6m0fwrlBwAA2xoAAEEAGAAAAAAAAQAAAKSB
3xMBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1wcmV0
dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ9FjfCF6
AAAAnAAAAD0AGAAAAAAAAQAAAKSBPxwBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0
K2ZpbGxSZWN0LmFscGhhMC41LWFjdHVhbC50eHRVVAUAA6U9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC9pItDtZW3cukAAADTAQAAOwAYAAAAAAABAAAApIEwHQEAY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUtZGlmZi50eHRVVAUAA6U9qVJ1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDSW5SVnkAAACbAAAAPwAYAAAAAAABAAAApIGOHgEA
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0
ZWQudHh0VVQFAAOlPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ9bVYhjgBwAAkBoA
AEMAGAAAAAAAAQAAAKSBgB8BAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxS
ZWN0LmFscGhhMC41LXByZXR0eS1kaWZmLmh0bWxVVAUAA6U9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC9pItDIVSN5mUAAACEAAAAOgAYAAAAAAABAAAApIHdJwEAY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtYWN0dWFsLnR4dFVUBQADpj2pUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0Mp4V+t0wAAALUBAAA4ABgAAAAAAAEAAACkgbYoAQBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1kaWZmLnR4dFVU
BQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0MyKs1wZAAAAIMAAAA8ABgAAAAA
AAEAAACkgfspAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNp
Yy1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDxmGp
LcsHAAB1GgAAQAAYAAAAAAABAAAApIHVKgEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJl
Y3QrZmlsbFJlY3QuYmFzaWMtcHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAAL2ki0MnkHxFCQAAAAkAAAA3ABgAAAAAAAEAAACkgRozAQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuY29weS1hY3R1YWwudHh0VVQFAAOmPalSdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQyGnG0mMAAAAGQEAADUAGAAAAAAAAQAAAKSBlDMB
AGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5LWRpZmYudHh0VVQF
AAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAvaSLQ9frHXcIAAAACAAAADkAGAAAAAAA
AQAAAKSBjzQBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5jb3B5LWV4
cGVjdGVkLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0P8ReSRYAcA
ANQXAAA9ABgAAAAAAAEAAACkgQo1AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5j
YW52YXMuY29weS1wcmV0dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgACAAAAvaSLQyeQfEUJAAAACQAAAEMAGAAAAAAAAQAAAKSB4TwBAGNhbnZhcy9waGlsaXAvdGVz
dHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLWFjdHVhbC50eHRVVAUAA6Y9
qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDRyeEG5MAAAAxAQAAQQAYAAAAAAABAAAA
pIFnPQEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9u
LWF0b3AtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItD1+sd
dwgAAAAIAAAARQAYAAAAAAABAAAApIF1PgEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3Np
dGUuY2FudmFzLmRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAvaSLQ8Ec7HppBwAA4BcAAEkAGAAAAAAAAQAAAKSB/D4BAGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLXByZXR0
eS1kaWZmLmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItDJ5B8RQkA
AAAJAAAAQQAYAAAAAAABAAAApIHoRgEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
Y2FudmFzLmRlc3RpbmF0aW9uLWluLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC9pItDH/ejbJIAAAAtAQAAPwAYAAAAAAABAAAApIFsRwEAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLWRpZmYudHh0VVQFAAOm
PalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAvaSLQ9frHXcIAAAACAAAAEMAGAAAAAAAAQAA
AKSBd0gBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlv
bi1pbi1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItD
LmiIQGgHAADeFwAARwAYAAAAAAABAAAApIH8SAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21w
b3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLWluLXByZXR0eS1kaWZmLmh0bWxVVAUAA6Y9qVJ1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItDJ5B8RQkAAAAJAAAAQgAYAAAAAAABAAAApIHlUAEA
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC1h
Y3R1YWwudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaSLQ4mznFOSAAAA
LwEAAEAAGAAAAAAAAQAAAKSBalEBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNh
bnZhcy5kZXN0aW5hdGlvbi1vdXQtZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAIAAAC9pItD1+sddwgAAAAIAAAARAAYAAAAAAABAAAApIF2UgEAY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91dC1leHBlY3RlZC50eHRVVAUA
A6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDWH4A22cHAADfFwAASAAYAAAAAAAB
AAAApIH8UgEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0
aW9uLW91dC1wcmV0dHktZGlmZi5odG1sVVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAC
AAAAvaSLQyeQfEUJAAAACQAAAEMAGAAAAAAAAQAAAKSB5VoBAGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLWFjdHVhbC50eHRVVAUAA6Y9qVJ1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDHrjh55QAAAAxAQAAQQAYAAAAAAABAAAApIFr
WwEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW92
ZXItZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItD1+sddwgA
AAAIAAAARQAYAAAAAAABAAAApIF6XAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
Y2FudmFzLmRlc3RpbmF0aW9uLW92ZXItZXhwZWN0ZWQudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAvaSLQ7jLM+xpBwAA4BcAAEkAGAAAAAAAAQAAAKSBAV0BAGNhbnZhcy9w
aGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdmVyLXByZXR0eS1k
aWZmLmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItDJ5B8RQkAAAAJ
AAAAOgAYAAAAAAABAAAApIHtZAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2Fu
dmFzLmxpZ2h0ZXItYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AL2ki0PiDt2rjwAAAB8BAAA4ABgAAAAAAAEAAACkgWplAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci1kaWZmLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAAL2ki0PX6x13CAAAAAgAAAA8ABgAAAAAAAEAAACkgWtmAQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMubGlnaHRlci1leHBlY3RlZC50eHRVVAUAA6Y9
qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDG5ntAmAHAADXFwAAQAAYAAAAAAABAAAA
pIHpZgEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXItcHJl
dHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAL2ki0MnkHxF
CQAAAAkAAAA+ABgAAAAAAAEAAACkgcNuAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0
ZS5jYW52YXMuc291cmNlLWF0b3AtYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAL2ki0PR/tyTkAAAACcBAAA8ABgAAAAAAAEAAACkgURvAQBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWF0b3AtZGlmZi50eHRVVAUAA6Y9qVJ1
eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItD1+sddwgAAAAIAAAAQAAYAAAAAAABAAAApIFK
cAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1hdG9wLWV4
cGVjdGVkLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0OoeJdvZgcA
ANsXAABEABgAAAAAAAEAAACkgcxwAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5j
YW52YXMuc291cmNlLWF0b3AtcHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAAL2ki0MnkHxFCQAAAAkAAAA8ABgAAAAAAAEAAACkgbB4AQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLWFjdHVhbC50eHRVVAUAA6Y9
qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItDvAbXJY8AAAAjAQAAOgAYAAAAAAABAAAA
pIEveQEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi1k
aWZmLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAL2ki0PX6x13CAAAAAgA
AAA+ABgAAAAAAAEAAACkgTJ6AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52
YXMuc291cmNlLWluLWV4cGVjdGVkLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAL2ki0OPSzvYZAcAANkXAABCABgAAAAAAAEAAACkgbJ6AQBjYW52YXMvcGhpbGlwL3Rlc3Rz
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLWluLXByZXR0eS1kaWZmLmh0bWxVVAUAA6Y9qVJ1
eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC9pItDJ5B8RQkAAAAJAAAAPQAYAAAAAAABAAAApIGS
ggEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQtYWN0
dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0MnUpbrjwAAACUB
AAA7ABgAAAAAAAEAAACkgRKDAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52
YXMuc291cmNlLW91dC1kaWZmLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAA
AL2ki0PX6x13CAAAAAgAAAA/ABgAAAAAAAEAAACkgRaEAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW91dC1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC9pItDBV5JemQHAADaFwAAQwAYAAAAAAABAAAApIGXhAEAY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdXQtcHJldHR5LWRp
ZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAL2ki0MnkHxFCQAAAAkA
AAA+ABgAAAAAAAEAAACkgXiMAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52
YXMuc291cmNlLW92ZXItYWN0dWFsLnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAL2ki0MzXcfukAAAACcBAAA8ABgAAAAAAAEAAACkgfmMAQBjYW52YXMvcGhpbGlwL3Rlc3Rz
LzJkLmNvbXBvc2l0ZS5jYW52YXMuc291cmNlLW92ZXItZGlmZi50eHRVVAUAA6Y9qVJ1eAsAAQT1
AQAABBQAAABQSwECHgMKAAIAAAC9pItD1+sddwgAAAAIAAAAQAAYAAAAAAABAAAApIH/jQEAY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLWV4cGVjdGVk
LnR4dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAL2ki0PRr0j5ZQcAANsXAABE
ABgAAAAAAAEAAACkgYGOAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMu
c291cmNlLW92ZXItcHJldHR5LWRpZmYuaHRtbFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAgAAAL2ki0MnkHxFCQAAAAkAAAA2ABgAAAAAAAEAAACkgWSWAQBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC9pItDwkiow4sAAAAXAQAANAAYAAAAAAABAAAApIHdlgEAY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnhvci1kaWZmLnR4dFVUBQADpj2pUnV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAL2ki0PX6x13CAAAAAgAAAA4ABgAAAAAAAEAAACkgdaX
AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9yLWV4cGVjdGVkLnR4
dFVUBQADpj2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0MTfhCsYAcAANMXAAA8ABgA
AAAAAAEAAACkgVCYAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMueG9y
LXByZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADApItD
J5B8RQkAAAAJAAAAPQAYAAAAAAABAAAApIEmoAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21w
b3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2UtYWN0dWFsLnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMCki0Now+pwkQAAACUBAAA7ABgAAAAAAAEAAACkgaagAQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS1kaWZmLnR4dFVUBQADpz2p
UnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAMCki0PX6x13CAAAAAgAAAA/ABgAAAAAAAEAAACk
gayhAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZS1l
eHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDDe9SSmYH
AADaFwAAQwAYAAAAAAABAAAApIEtogEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
Z2xvYmFsQWxwaGEuaW1hZ2UtcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAAMCki0MnkHxFCQAAAAkAAABEABgAAAAAAAEAAACkgRCqAQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4tYWN0dWFsLnR4
dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0PKt6telgAAADMBAABCABgA
AAAAAAEAAACkgZeqAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBo
YS5pbWFnZXBhdHRlcm4tZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIA
AADApItD1+sddwgAAAAIAAAARgAYAAAAAAABAAAApIGpqwEAY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuaW1hZ2VwYXR0ZXJuLWV4cGVjdGVkLnR4dFVUBQADpz2p
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0ObDyS1awcAAOEXAABKABgAAAAAAAEAAACk
gTGsAQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBh
dHRlcm4tcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAA
AMCki0MnkHxFCQAAAAkAAAA2ABgAAAAAAAEAAACkgSC0AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS5pbWFnZS5jb3B5LWFjdHVhbC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADApItDNOZxlI0AAAAXAQAANAAYAAAAAAABAAAApIGZtAEAY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuY29weS1kaWZmLnR4dFVUBQADpz2pUnV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAgAAAMCki0PX6x13CAAAAAgAAAA4ABgAAAAAAAEAAACkgZS1AQBjYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5LWV4cGVjdGVkLnR4dFVUBQAD
pz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0Mpvxj3YAcAANMXAAA8ABgAAAAAAAEA
AACkgQ62AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5jb3B5LXByZXR0
eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADApItDJ5B8RQkA
AAAJAAAAQgAYAAAAAAABAAAApIHkvQEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24tYXRvcC1hY3R1YWwudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAwKSLQ5oR6POUAAAALwEAAEAAGAAAAAAAAQAAAKSBab4BAGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWF0b3AtZGlmZi50eHRVVAUA
A6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADApItD1+sddwgAAAAIAAAARAAYAAAAAAAB
AAAApIF3vwEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRp
b24tYXRvcC1leHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADA
pItD7PWW8GkHAADfFwAASAAYAAAAAAABAAAApIH9vwEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC1wcmV0dHktZGlmZi5odG1sVVQFAAOnPalS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwKSLQyeQfEUJAAAACQAAAEAAGAAAAAAAAQAAAKSB
6McBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLWlu
LWFjdHVhbC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDSgCcZ5MA
AAArAQAAPgAYAAAAAAABAAAApIFryAEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUu
aW1hZ2UuZGVzdGluYXRpb24taW4tZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAIAAADApItD1+sddwgAAAAIAAAAQgAYAAAAAAABAAAApIF2yQEAY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24taW4tZXhwZWN0ZWQudHh0VVQFAAOn
PalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ/0dyrpoBwAA3RcAAEYAGAAAAAAAAQAA
AKSB+skBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9u
LWluLXByZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADA
pItDJ5B8RQkAAAAJAAAAQQAYAAAAAAABAAAApIHi0QEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0LWFjdHVhbC50eHRVVAUAA6c9qVJ1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADApItDfbL8FJMAAAAtAQAAPwAYAAAAAAABAAAApIFm0gEAY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0LWRpZmYu
dHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwKSLQ9frHXcIAAAACAAAAEMA
GAAAAAAAAQAAAKSBctMBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmRl
c3RpbmF0aW9uLW91dC1leHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADApItDQ78gxGgHAADeFwAARwAYAAAAAAABAAAApIH30wEAY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0LXByZXR0eS1kaWZmLmh0bWxVVAUA
A6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADApItDJ5B8RQkAAAAJAAAAQgAYAAAAAAAB
AAAApIHg2wEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRp
b24tb3Zlci1hY3R1YWwudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSL
QzoS1jmVAAAALwEAAEAAGAAAAAAAAQAAAKSBZdwBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29t
cG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW92ZXItZGlmZi50eHRVVAUAA6c9qVJ1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAIAAADApItD1+sddwgAAAAIAAAARAAYAAAAAAABAAAApIF03QEAY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3Zlci1leHBlY3Rl
ZC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDlSJJZmkHAADfFwAA
SAAYAAAAAAABAAAApIH63QEAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2Uu
ZGVzdGluYXRpb24tb3Zlci1wcmV0dHktZGlmZi5odG1sVVQFAAOnPalSdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgACAAAAwKSLQyeQfEUJAAAACQAAADkAGAAAAAAAAQAAAKSB5eUBAGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0ZXItYWN0dWFsLnR4dFVUBQADpz2pUnV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0M/UJd0kAAAAB0BAAA3ABgAAAAAAAEAAACkgWHm
AQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5saWdodGVyLWRpZmYudHh0
VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwKSLQ9frHXcIAAAACAAAADsAGAAA
AAAAAQAAAKSBYucBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLmxpZ2h0
ZXItZXhwZWN0ZWQudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ6bZ
99NhBwAA1hcAAD8AGAAAAAAAAQAAAKSB3+cBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9z
aXRlLmltYWdlLmxpZ2h0ZXItcHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAAMCki0MnkHxFCQAAAAkAAAA9ABgAAAAAAAEAAACkgbnvAQBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5pbWFnZS5zb3VyY2UtYXRvcC1hY3R1YWwudHh0VVQFAAOn
PalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSLQ4V8UDqQAAAAJQEAADsAGAAAAAAAAQAA
AKSBOfABAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1hdG9w
LWRpZmYudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwKSLQ9frHXcIAAAA
CAAAAD8AGAAAAAAAAQAAAKSBPvEBAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmlt
YWdlLnNvdXJjZS1hdG9wLWV4cGVjdGVkLnR4dFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAMCki0MAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQb/xAQBjb21wb3NpdGluZy9VVAUA
A6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADApItDAAAAAAAAAAAAAAAAIAAYAAAAAAAA
ABAA7UEF8gEAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9VVAUAA6c9qVJ1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADApItDfGvvKSsAAAA1AAAARAAYAAAAAAABAAAApIFf8gEAY29t
cG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5LWltYWdlLWFj
dHVhbC50eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDsfi6NaMAAABu
AQAAQgAYAAAAAAABAAAApIEI8wEAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNr
ZmFjZS12aXNpYmlsaXR5LWltYWdlLWRpZmYudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAwKSLQw+EdUoqAAAALwAAAEYAGAAAAAAAAQAAAKSBJ/QBAGNvbXBvc2l0aW5nL2Jh
Y2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS1pbWFnZS1leHBlY3RlZC50eHRV
VAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItDcowATKwHAAAqHgAASgAYAAAA
AAABAAAApIHR9AEAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNp
YmlsaXR5LWltYWdlLXByZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADApItDfGvvKSsAAAA1AAAARAAYAAAAAAABAAAApIEB/QEAY29tcG9zaXRpbmcvYmFj
a2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5LXdlYmdsLWFjdHVhbC50eHRVVAUA
A6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItD4ONiF6EAAABgAQAAQgAYAAAAAAAB
AAAApIGq/QEAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmls
aXR5LXdlYmdsLWRpZmYudHh0VVQFAAOnPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwKSL
Q6DQrUwmAAAAKQAAAEYAGAAAAAAAAQAAAKSBx/4BAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2li
aWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC1leHBlY3RlZC50eHRVVAUAA6c9qVJ1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADApItDrsjorHQHAAApGgAASgAYAAAAAAABAAAApIFt/wEA
Y29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5LXdlYmds
LXByZXR0eS1kaWZmLmh0bWxVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9pItD
u/VIwJcDAACaDgAALwAYAAAAAAABAAAApIFlBwIAY29tcG9zaXRpbmcvZGlyZWN0LWltYWdlLWNv
bXBvc2l0aW5nLWFjdHVhbC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9
pItDq0kdqUEEAACdFAAALQAYAAAAAAABAAAApIFlCwIAY29tcG9zaXRpbmcvZGlyZWN0LWltYWdl
LWNvbXBvc2l0aW5nLWRpZmYudHh0VVQFAAOmPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
vaSLQ3UQWlOGAwAAUA4AADEAGAAAAAAAAQAAAKSBDRACAGNvbXBvc2l0aW5nL2RpcmVjdC1pbWFn
ZS1jb21wb3NpdGluZy1leHBlY3RlZC50eHRVVAUAA6Y9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC9pItDr+MoE08NAABkawAANQAYAAAAAAABAAAApIH+EwIAY29tcG9zaXRpbmcvZGlyZWN0
LWltYWdlLWNvbXBvc2l0aW5nLXByZXR0eS1kaWZmLmh0bWxVVAUAA6Y9qVJ1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADApItDsvdtcFABAABGAwAANAAYAAAAAAABAAAApIG8IQIAY29tcG9zaXRp
bmcvbGF5ZXJzLWluc2lkZS1vdmVyZmxvdy1zY3JvbGwtYWN0dWFsLnR4dFVUBQADpz2pUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0OWxntJfwEAAC0DAAAyABgAAAAAAAEAAACkgXojAgBj
b21wb3NpdGluZy9sYXllcnMtaW5zaWRlLW92ZXJmbG93LXNjcm9sbC1kaWZmLnR4dFVUBQADpz2p
UnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0MmoqdcQgEAABQDAAA2ABgAAAAAAAEAAACk
gWUlAgBjb21wb3NpdGluZy9sYXllcnMtaW5zaWRlLW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC50
eHRVVAUAA6c9qVJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADApItD81WWsXMIAACvHQAAOgAY
AAAAAAABAAAApIEXJwIAY29tcG9zaXRpbmcvbGF5ZXJzLWluc2lkZS1vdmVyZmxvdy1zY3JvbGwt
cHJldHR5LWRpZmYuaHRtbFVUBQADpz2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCki0Mf
nQFQygAAAC0BAAANABgAAAAAAAEAAACkgf4vAgBlcnJvcl9sb2cudHh0VVQFAAOoPalSdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAwqSLQxsxQ0h+AgAAFQoAABEAGAAAAAAAAQAAAKSBDzECAGZ1
bGxfcmVzdWx0cy5qc29uVVQFAAOrPalSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtaSLQ+qK
fEJhBQAABQ8AAAoAGAAAAAAAAQAAAKSB2DMCAGh0dHBkLmNvbmZVVAUAA5Y9qVJ1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAC2pItDAAAAAAAAAAAAAAAAKwAYAAAAAAAAAAAApIF9OQIAcHl3ZWJz
b2NrZXQud3MubG9nLTExRGVjMjAxMy0yMDM3NDMtZXJyLnR4dFVUBQADmD2pUnV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAALaki0MAAAAAAAAAAAAAAAArABgAAAAAAAAAAACkgeI5AgBweXdlYnNv
Y2tldC53cy5sb2ctMTFEZWMyMDEzLTIwMzc0My1vdXQudHh0VVQFAAOXPalSdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAwqSLQ2fPCNF+JgAAI6QAAAwAGAAAAAAAAQAAAKSBRzoCAHJlc3VsdHMu
aHRtbFVUBQADrD2pUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMKki0O7aFf0BgcAAKwcAAAK
ABgAAAAAAAEAAACkgQthAgBzdGF0cy5qc29uVVQFAAOrPalSdXgLAAEE9QEAAAQUAAAAUEsFBgAA
AADRANEAmmYAAFVoAgAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219043</attachid>
            <date>2013-12-11 22:33:25 -0800</date>
            <delta_ts>2013-12-25 15:42:41 -0800</delta_ts>
            <desc>Patch for ews</desc>
            <filename>bug-125614-20131212153323.patch</filename>
            <type>text/plain</type>
            <size>35658</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMyNTllYmQ2YzVlOTUx
ZjA2OGNkODU0OWFiOTQ5NTc1ZDRjNjVhOS4uODllY2E4YjFmM2MwZTYwOWYxOWVlMjU4MDRhMDNl
MTE0MWM5MGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgU2V0IG1fcG9z
IGFzIHByaXZhdGUgaW4gSW5saW5lSXRlcmF0b3IsIGFuZCB1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIg
ZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5saW5lSXRlcmF0b3IgaGFzIGJlZW4gZXhwb3J0ZWQgbV9wb3MgYXMgcHVibGljIGRpcmVj
dGx5IHRob3VnaCBpdCBpcyBtZW1iZXIgdmFyaWFibGUuCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0
IGl0IGFzIHByaXZhdGUsIGFuZCBhZGQgZ2V0dGVyL3NldHRlciBmdW5jdGlvbnMgZm9yIGl0Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAq
IHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRl
cmF0b3I6OnNldE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJl
c29sdmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5z
Rm9yT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJ
blJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWF0Y2hlZEVuZExp
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOgor
ICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIpOgorICAgICAgICAo
V2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVGbG9hdCk6CisgICAgICAgIChXZWJDb3Jl
OjppdGVyYXRvcklzQmV5b25kRW5kT2ZSZW5kZXJDb21iaW5lVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRzTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNaWRwb2lu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94
ZXMpOgorCiAyMDEzLTEyLTExICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCB0aGUgQ0ZOZXR3b3JrIGltcGxlbWVudGF0aW9uIG9mIHRoZSBhc3lu
Y2hyb25vdXMgUmVzb3VyY2VIYW5kbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgKaW5kZXggYWE4NWY1N2U5MDk4ZjFmYjYxYWZhNjMyZGEyZWFmMDI4ZjYyMzQwNC4u
YjVmMmExZTk0NmYyMDhlNTU4Yzc4OTMyMmM4OGJlZTI3OGQxMjkxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVibGljOgog
ICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyOyB9
CiAgICAgdm9pZCBzZXRSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSB7IG1fcmVuZGVy
ZXIgPSByZW5kZXJlcjsgfQogICAgIHVuc2lnbmVkIG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1f
cG9zOyB9CisgICAgdm9pZCBzZXRPZmZzZXQodW5zaWduZWQgcG9zaXRpb24pIHsgbV9wb3MgPSBw
b3NpdGlvbjsgfQogICAgIFJlbmRlckVsZW1lbnQqIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX3Jv
b3Q7IH0KICAgICBpbnQgbmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9u
ZXh0QnJlYWthYmxlUG9zaXRpb247IH0KICAgICB2b2lkIHNldE5leHRCcmVha2FibGVQb3NpdGlv
bihpbnQgcG9zaXRpb24pIHsgbV9uZXh0QnJlYWthYmxlUG9zaXRpb24gPSBwb3NpdGlvbjsgfQpA
QCAtOTgsMjAgKzk5LDE3IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVy
OwogCiAgICAgaW50IG1fbmV4dEJyZWFrYWJsZVBvc2l0aW9uOwotCi0vLyBGSVhNRTogVGhlc2Ug
c2hvdWxkIGJlIHByaXZhdGUuCi1wdWJsaWM6CiAgICAgdW5zaWduZWQgbV9wb3M7CiB9OwogCiBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDEsIGNvbnN0IElu
bGluZUl0ZXJhdG9yJiBpdDIpCiB7Ci0gICAgcmV0dXJuIGl0MS5tX3BvcyA9PSBpdDIubV9wb3Mg
JiYgaXQxLnJlbmRlcmVyKCkgPT0gaXQyLnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGl0MS5vZmZz
ZXQoKSA9PSBpdDIub2Zmc2V0KCkgJiYgaXQxLnJlbmRlcmVyKCkgPT0gaXQyLnJlbmRlcmVyKCk7
CiB9CiAKIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5saW5lSXRlcmF0b3ImIGl0MSwg
Y29uc3QgSW5saW5lSXRlcmF0b3ImIGl0MikKIHsKLSAgICByZXR1cm4gaXQxLm1fcG9zICE9IGl0
Mi5tX3BvcyB8fCBpdDEucmVuZGVyZXIoKSAhPSBpdDIucmVuZGVyZXIoKTsKKyAgICByZXR1cm4g
aXQxLm9mZnNldCgpICE9IGl0Mi5vZmZzZXQoKSB8fCBpdDEucmVuZGVyZXIoKSAhPSBpdDIucmVu
ZGVyZXIoKTsKIH0KIAogc3RhdGljIGlubGluZSBVQ2hhckRpcmVjdGlvbiBlbWJlZENoYXJGcm9t
RGlyZWN0aW9uKFRleHREaXJlY3Rpb24gZGlyZWN0aW9uLCBFVW5pY29kZUJpZGkgdW5pY29kZUJp
ZGkpCkBAIC01MTgsNyArNTE2LDcgQEAgaW5saW5lIHZvaWQgSW5saW5lQmlkaVJlc29sdmVyOjph
cHBlbmRSdW4oKQogICAgICAgICAvLyBJbml0aWFsaXplIG91ciBzdGF0ZSBkZXBlbmRpbmcgb24g
aWYgd2UncmUgc3RhcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBzdWNoIGFuIGlubGluZS4KICAgICAg
ICAgLy8gRklYTUU6IENvdWxkIHRoaXMgaW5pdGlhbGl6ZSBmcm9tIHRoaXMtPmluSXNvbGF0ZSgp
IGluc3RlYWQgb2Ygd2Fsa2luZyB1cCB0aGUgcmVuZGVyIHRyZWU/CiAgICAgICAgIElzb2xhdGVU
cmFja2VyIGlzb2xhdGVUcmFja2VyKG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhtX3NvcikpOwot
ICAgICAgICBpbnQgc3RhcnQgPSBtX3Nvci5tX3BvczsKKyAgICAgICAgaW50IHN0YXJ0ID0gbV9z
b3Iub2Zmc2V0KCk7CiAgICAgICAgIFJlbmRlck9iamVjdCogb2JqID0gbV9zb3IucmVuZGVyZXIo
KTsKICAgICAgICAgd2hpbGUgKG9iaiAmJiBvYmogIT0gbV9lb3IucmVuZGVyZXIoKSAmJiBvYmog
IT0gZW5kT2ZMaW5lLnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgIGlmIChpc29sYXRlVHJhY2tl
ci5pbklzb2xhdGUoKSkKQEAgLTUzMCwxMCArNTI4LDEwIEBAIGlubGluZSB2b2lkIElubGluZUJp
ZGlSZXNvbHZlcjo6YXBwZW5kUnVuKCkKICAgICAgICAgICAgIG9iaiA9IGJpZGlOZXh0U2tpcHBp
bmdFbXB0eUlubGluZXMoKm1fc29yLnJvb3QoKSwgb2JqLCAmaXNvbGF0ZVRyYWNrZXIpOwogICAg
ICAgICB9CiAgICAgICAgIGlmIChvYmopIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIHBvcyA9IG9i
aiA9PSBtX2Vvci5yZW5kZXJlcigpID8gbV9lb3IubV9wb3MgOiBVSU5UX01BWDsKLSAgICAgICAg
ICAgIGlmIChvYmogPT0gZW5kT2ZMaW5lLnJlbmRlcmVyKCkgJiYgZW5kT2ZMaW5lLm1fcG9zIDw9
IHBvcykgeworICAgICAgICAgICAgdW5zaWduZWQgcG9zID0gb2JqID09IG1fZW9yLnJlbmRlcmVy
KCkgPyBtX2Vvci5vZmZzZXQoKSA6IFVJTlRfTUFYOworICAgICAgICAgICAgaWYgKG9iaiA9PSBl
bmRPZkxpbmUucmVuZGVyZXIoKSAmJiBlbmRPZkxpbmUub2Zmc2V0KCkgPD0gcG9zKSB7CiAgICAg
ICAgICAgICAgICAgbV9yZWFjaGVkRW5kT2ZMaW5lID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBw
b3MgPSBlbmRPZkxpbmUubV9wb3M7CisgICAgICAgICAgICAgICAgcG9zID0gZW5kT2ZMaW5lLm9m
ZnNldCgpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gSXQncyBPSyB0byBhZGQgcnVu
cyBmb3IgemVyby1sZW5ndGggUmVuZGVyT2JqZWN0cywganVzdCBkb24ndCBtYWtlIHRoZSBydW4g
bGFyZ2VyIHRoYW4gaXQgc2hvdWxkIGJlCiAgICAgICAgICAgICBpbnQgZW5kID0gb2JqLT5sZW5n
dGgoKSA/IHBvcyArIDEgOiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCBkYjUwODllNWRlNjdlMjVjZDQyOTY3ZTU5Mzlj
YzM3NzM3OWI3ZDhkLi5kN2ZkYzBhNDk4OGYxM2JkMzc0ODY0ZWIyYmQ5NTc3YjY2MzdiN2ZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YXBwZW5kUnVuc0Zv
ck9iamVjdChCaWRpUnVuTGlzdDxCaWRpUnVuPiYgcnVucywgaW50IHN0YXJ0LAogICAgICAgICAv
LyBUaGlzIGlzIGEgbmV3IHN0YXJ0IHBvaW50LiBTdG9wIGlnbm9yaW5nIG9iamVjdHMgYW5kCiAg
ICAgICAgIC8vIGFkanVzdCBvdXIgc3RhcnQuCiAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLmJl
dHdlZW5NaWRwb2ludHMgPSBmYWxzZTsKLSAgICAgICAgc3RhcnQgPSBuZXh0TWlkcG9pbnQubV9w
b3M7CisgICAgICAgIHN0YXJ0ID0gbmV4dE1pZHBvaW50Lm9mZnNldCgpOwogICAgICAgICBsaW5l
TWlkcG9pbnRTdGF0ZS5jdXJyZW50TWlkcG9pbnQrKzsKICAgICAgICAgaWYgKHN0YXJ0IDwgZW5k
KQogICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFJ1bnNGb3JPYmplY3QocnVucywgc3RhcnQsIGVu
ZCwgb2JqLCByZXNvbHZlcik7CkBAIC0xMDUsMTMgKzEwNSwxMyBAQCB2b2lkIFJlbmRlckJsb2Nr
Rmxvdzo6YXBwZW5kUnVuc0Zvck9iamVjdChCaWRpUnVuTGlzdDxCaWRpUnVuPiYgcnVucywgaW50
IHN0YXJ0LAogCiAgICAgICAgIC8vIEFuIGVuZCBtaWRwb2ludCBoYXMgYmVlbiBlbmNvdW50ZXJl
ZCB3aXRoaW4gb3VyIG9iamVjdC4gIFdlCiAgICAgICAgIC8vIG5lZWQgdG8gZ28gYWhlYWQgYW5k
IGFwcGVuZCBhIHJ1biB3aXRoIG91ciBlbmRwb2ludC4KLSAgICAgICAgaWYgKHN0YXRpY19jYXN0
PGludD4obmV4dE1pZHBvaW50Lm1fcG9zICsgMSkgPD0gZW5kKSB7CisgICAgICAgIGlmIChzdGF0
aWNfY2FzdDxpbnQ+KG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEpIDw9IGVuZCkgewogICAgICAg
ICAgICAgbGluZU1pZHBvaW50U3RhdGUuYmV0d2Vlbk1pZHBvaW50cyA9IHRydWU7CiAgICAgICAg
ICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5jdXJyZW50TWlkcG9pbnQrKzsKLSAgICAgICAgICAgIGlm
IChuZXh0TWlkcG9pbnQubV9wb3MgIT0gVUlOVF9NQVgpIHsgLy8gVUlOVF9NQVggbWVhbnMgc3Rv
cCBhdCB0aGUgb2JqZWN0IGFuZCBkb24ndCBpbmNsdWRlIGFueSBvZiBpdC4KLSAgICAgICAgICAg
ICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihuZXh0TWlkcG9pbnQubV9wb3MgKyAxKSA+IHN0YXJ0
KQotICAgICAgICAgICAgICAgICAgICBydW5zLmFkZFJ1bihjcmVhdGVSdW4oc3RhcnQsIG5leHRN
aWRwb2ludC5tX3BvcyArIDEsIG9iaiwgcmVzb2x2ZXIpKTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gYXBwZW5kUnVuc0Zvck9iamVjdChydW5zLCBuZXh0TWlkcG9pbnQubV9wb3MgKyAxLCBlbmQs
IG9iaiwgcmVzb2x2ZXIpOworICAgICAgICAgICAgaWYgKG5leHRNaWRwb2ludC5vZmZzZXQoKSAh
PSBVSU5UX01BWCkgeyAvLyBVSU5UX01BWCBtZWFucyBzdG9wIGF0IHRoZSBvYmplY3QgYW5kIGRv
bid0IGluY2x1ZGUgYW55IG9mIGl0LgorICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDxp
bnQ+KG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEpID4gc3RhcnQpCisgICAgICAgICAgICAgICAg
ICAgIHJ1bnMuYWRkUnVuKGNyZWF0ZVJ1bihzdGFydCwgbmV4dE1pZHBvaW50Lm9mZnNldCgpICsg
MSwgb2JqLCByZXNvbHZlcikpOworICAgICAgICAgICAgICAgIHJldHVybiBhcHBlbmRSdW5zRm9y
T2JqZWN0KHJ1bnMsIG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEsIGVuZCwgb2JqLCByZXNvbHZl
cik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICBydW5zLmFkZFJ1
bihjcmVhdGVSdW4oc3RhcnQsIGVuZCwgb2JqLCByZXNvbHZlcikpOwpAQCAtOTUzLDcgKzk1Myw3
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUoY29uc3QgUmVu
ZGVyQmxvY2tGbG93KiBibG9jaywgSW5saW5lCiAgICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21l
bnRFbmQoaXRlcmF0b3Iucm9vdCwgaXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRvci5vZmZzZXQpOwog
ICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgQVNTRVJUKHNlZ21lbnRTdGFydC5yZW5kZXJl
cigpKTsKLSAgICAgICAgICAgIEJpZGlSdW4qIHNlZ21lbnRNYXJrZXIgPSBjcmVhdGVSdW4oc2Vn
bWVudFN0YXJ0Lm1fcG9zLCBzZWdtZW50U3RhcnQubV9wb3MsIHNlZ21lbnRTdGFydC5yZW5kZXJl
cigpLCB0b3BSZXNvbHZlcik7CisgICAgICAgICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0g
Y3JlYXRlUnVuKHNlZ21lbnRTdGFydC5vZmZzZXQoKSwgc2VnbWVudFN0YXJ0Lm9mZnNldCgpLCBz
ZWdtZW50U3RhcnQucmVuZGVyZXIoKSwgdG9wUmVzb2x2ZXIpOwogICAgICAgICAgICAgc2VnbWVu
dE1hcmtlci0+bV9zdGFydHNTZWdtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgIGJpZGlSdW5zLmFk
ZFJ1bihzZWdtZW50TWFya2VyKTsKICAgICAgICAgICAgIC8vIERvIG5vdCBjb2xsYXBzZSBtaWRw
b2ludHMgYmV0d2VlbiBzZWdtZW50cwpAQCAtMTM1MSw3ICsxMzUxLDcgQEAgdm9pZCBSZW5kZXJC
bG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5
b3V0U3RhdGUsIEkKICAgICAgICAgLy8gVGhpcyBpcyBhIHNob3J0LWN1dCBmb3IgZW1wdHkgbGlu
ZXMuCiAgICAgICAgIGlmIChsYXlvdXRTdGF0ZS5saW5lSW5mbygpLmlzRW1wdHkoKSkgewogICAg
ICAgICAgICAgaWYgKGxhc3RSb290Qm94KCkpCi0gICAgICAgICAgICAgICAgbGFzdFJvb3RCb3go
KS0+c2V0TGluZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5kLm1fcG9zLCByZXNvbHZlci5z
dGF0dXMoKSk7CisgICAgICAgICAgICAgICAgbGFzdFJvb3RCb3goKS0+c2V0TGluZUJyZWFrSW5m
byhlbmQucmVuZGVyZXIoKSwgZW5kLm9mZnNldCgpLCByZXNvbHZlci5zdGF0dXMoKSk7CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBWaXN1YWxEaXJlY3Rpb25PdmVycmlkZSBvdmVycmlk
ZSA9IChzdHlsZVRvVXNlLnJ0bE9yZGVyaW5nKCkgPT0gVmlzdWFsT3JkZXIgPyAoc3R5bGVUb1Vz
ZS5kaXJlY3Rpb24oKSA9PSBMVFIgPyBWaXN1YWxMZWZ0VG9SaWdodE92ZXJyaWRlIDogVmlzdWFs
UmlnaHRUb0xlZnRPdmVycmlkZSkgOiBOb1Zpc3VhbE92ZXJyaWRlKTsKIApAQCAtMTM4NCw3ICsx
Mzg0LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdl
KExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIEkKICAgICAgICAgICAgIHJlc29sdmVyLm1h
cmtDdXJyZW50UnVuRW1wdHkoKTsgLy8gRklYTUU6IFRoaXMgY2FuIHByb2JhYmx5IGJlIHJlcGxh
Y2VkIGJ5IGFuIEFTU0VSVCAob3IganVzdCByZW1vdmVkKS4KIAogICAgICAgICAgICAgaWYgKGxp
bmVCb3gpIHsKLSAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5y
ZW5kZXJlcigpLCBlbmQubV9wb3MsIHJlc29sdmVyLnN0YXR1cygpKTsKKyAgICAgICAgICAgICAg
ICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5yZW5kZXJlcigpLCBlbmQub2Zmc2V0KCks
IHJlc29sdmVyLnN0YXR1cygpKTsKICAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUudXNl
c1JlcGFpbnRCb3VuZHMoKSkKICAgICAgICAgICAgICAgICAgICAgbGF5b3V0U3RhdGUudXBkYXRl
UmVwYWludFJhbmdlRnJvbUJveChsaW5lQm94KTsKIApAQCAtMTk2Miw3ICsxOTYyLDcgQEAgYm9v
bCBSZW5kZXJCbG9ja0Zsb3c6Om1hdGNoZWRFbmRMaW5lKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdGUsIGNvbnN0IElubGluZUIKICAgICBSb290SW5saW5lQm94KiBvcmlnaW5hbEVuZExpbmUg
PSBsYXlvdXRTdGF0ZS5lbmRMaW5lKCk7CiAgICAgUm9vdElubGluZUJveCogbGluZSA9IG9yaWdp
bmFsRW5kTGluZTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUxpbmVzICYmIGxpbmU7IGkr
KywgbGluZSA9IGxpbmUtPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAgaWYgKGxpbmUtPmxpbmVC
cmVha09iaigpID09IHJlc29sdmVyLnBvc2l0aW9uKCkucmVuZGVyZXIoKSAmJiBsaW5lLT5saW5l
QnJlYWtQb3MoKSA9PSByZXNvbHZlci5wb3NpdGlvbigpLm1fcG9zKSB7CisgICAgICAgIGlmIChs
aW5lLT5saW5lQnJlYWtPYmooKSA9PSByZXNvbHZlci5wb3NpdGlvbigpLnJlbmRlcmVyKCkgJiYg
bGluZS0+bGluZUJyZWFrUG9zKCkgPT0gcmVzb2x2ZXIucG9zaXRpb24oKS5vZmZzZXQoKSkgewog
ICAgICAgICAgICAgLy8gV2UgaGF2ZSBhIG1hdGNoLgogICAgICAgICAgICAgaWYgKGxpbmUtPmxp
bmVCcmVha0JpZGlTdGF0dXMoKSAhPSByZXNvbHZlci5zdGF0dXMoKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7IC8vIC4uLmJ1dCB0aGUgYmlkaSBzdGF0ZSBkb2Vzbid0IG1hdGNoLgpA
QCAtMjA1Niw3ICsyMDU2LDcgQEAgSW5saW5lSXRlcmF0b3IgTGluZUJyZWFrZXI6Om5leHRTZWdt
ZW50QnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiByZXNvbHZlciwgTGluZUkKIAogICAgIEFTU0VS
VChyZXNvbHZlci5wb3NpdGlvbigpLnJvb3QoKSA9PSAmbV9ibG9jayk7CiAKLSAgICBib29sIGFw
cGxpZWRTdGFydFdpZHRoID0gcmVzb2x2ZXIucG9zaXRpb24oKS5tX3BvcyA+IDA7CisgICAgYm9v
bCBhcHBsaWVkU3RhcnRXaWR0aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2Zmc2V0KCkgPiAwOwog
CiAgICAgTGluZVdpZHRoIHdpZHRoKG1fYmxvY2ssIGxpbmVJbmZvLmlzRmlyc3RMaW5lKCksIHJl
cXVpcmVzSW5kZW50KGxpbmVJbmZvLmlzRmlyc3RMaW5lKCksIGxpbmVJbmZvLnByZXZpb3VzTGlu
ZUJyb2tlQ2xlYW5seSgpLCBtX2Jsb2NrLnN0eWxlKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVy
cy5oCmluZGV4IDkxNjBiNzUzNGI0Y2EyYWQ0ZjgwZDI1Y2M0ZmFhZDk0YmM2MTYwZjIuLjMwOWE2
NTUzYTU1YzE3N2UyZGNiNDcwY2JmZTBmZDNiMTBhNjRiMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFk
ZXJzLmgKQEAgLTI2MCw3ICsyNjAsNyBAQCBpbmxpbmUgdm9pZCBCcmVha2luZ0NvbnRleHQ6Omhh
bmRsZUJSKEVDbGVhciYgY2xlYXIpCiAgICAgICAgIC8vIGNvbGxhcHNlZCBhd2F5IHNvIHRoYXQg
aXQgZG9lc24ndCBwdXNoIHRoZSB0ZXh0IG91dCBmcm9tIHRoZSBjb250YWluZXIncyByaWdodC1o
YW5kIGVkZ2UuCiAgICAgICAgIC8vIEZJWE1FOiBEbyB0aGlzIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bnRhaW5lcidzIGFsaWdubWVudCAtIHdpbGwgcmVxdWlyZSByZWJhc2VsaW5pbmcgYSBsb3Qgb2Yg
dGVzdCByZXN1bHRzLgogICAgICAgICBlbHNlIGlmIChtX2lnbm9yaW5nU3BhY2VzICYmIChtX2Js
b2NrU3R5bGUudGV4dEFsaWduKCkgPT0gUklHSFQgfHwgbV9ibG9ja1N0eWxlLnRleHRBbGlnbigp
ID09IFdFQktJVF9SSUdIVCkpCi0gICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0b3BJ
Z25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9j
dXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0b3BJZ25v
cmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJy
ZW50Lm9mZnNldCgpKSk7CiAKICAgICAgICAgaWYgKCFtX2xpbmVJbmZvLmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIGNsZWFyID0gbV9jdXJyZW50U3R5bGUtPmNsZWFyKCk7CkBAIC0zNTQsNyArMzU0
LDcgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVGbG9hdCgpCiAgICAgaWYg
KG1fZmxvYXRzRml0T25MaW5lICYmIG1fd2lkdGguZml0c09uTGluZUV4Y2x1ZGluZ1RyYWlsaW5n
V2hpdGVzcGFjZShtX2Jsb2NrLmxvZ2ljYWxXaWR0aEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSkp
IHsKICAgICAgICAgbV9saW5lQnJlYWtlci5wb3NpdGlvbk5ld0Zsb2F0T25MaW5lKGZsb2F0aW5n
T2JqZWN0LCBtX2xhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUsIG1fbGluZUluZm8sIG1fd2lkdGgp
OwogICAgICAgICBpZiAobV9saW5lQnJlYWsucmVuZGVyZXIoKSA9PSBtX2N1cnJlbnQucmVuZGVy
ZXIoKSkgewotICAgICAgICAgICAgQVNTRVJUKCFtX2xpbmVCcmVhay5tX3Bvcyk7CisgICAgICAg
ICAgICBBU1NFUlQoIW1fbGluZUJyZWFrLm9mZnNldCgpKTsKICAgICAgICAgICAgIG1fbGluZUJy
ZWFrLmluY3JlbWVudCgpOwogICAgICAgICB9CiAgICAgfSBlbHNlCkBAIC01MTQsNyArNTE0LDcg
QEAgaW5saW5lIHZvaWQgdXBkYXRlU2VnbWVudHNGb3JTaGFwZXMoUmVuZGVyQmxvY2tGbG93JiBi
bG9jaywgY29uc3QgRmxvYXRpbmdPYmplY3QKIAogaW5saW5lIGJvb2wgaXRlcmF0b3JJc0JleW9u
ZEVuZE9mUmVuZGVyQ29tYmluZVRleHQoY29uc3QgSW5saW5lSXRlcmF0b3ImIGl0ZXIsIFJlbmRl
ckNvbWJpbmVUZXh0JiByZW5kZXJlcikKIHsKLSAgICByZXR1cm4gaXRlci5yZW5kZXJlcigpID09
ICZyZW5kZXJlciAmJiBpdGVyLm1fcG9zID49IHJlbmRlcmVyLnRleHRMZW5ndGgoKTsKKyAgICBy
ZXR1cm4gaXRlci5yZW5kZXJlcigpID09ICZyZW5kZXJlciAmJiBpdGVyLm9mZnNldCgpID49IHJl
bmRlcmVyLnRleHRMZW5ndGgoKTsKIH0KIAogaW5saW5lIHZvaWQgbmV4dENoYXJhY3RlcihVQ2hh
ciYgY3VycmVudENoYXJhY3RlciwgVUNoYXImIGxhc3RDaGFyYWN0ZXIsIFVDaGFyJiBzZWNvbmRU
b0xhc3RDaGFyYWN0ZXIpCkBAIC01NjIsOSArNTYyLDkgQEAgQUxXQVlTX0lOTElORSBmbG9hdCB0
ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBj
b24KIC8vIEFkZGluZyBhIHBhaXIgb2YgbWlkcG9pbnRzIGJlZm9yZSBhIGNoYXJhY3RlciB3aWxs
IHNwbGl0IGl0IG91dCBpbnRvIGEgbmV3IGxpbmUgYm94LgogaW5saW5lIHZvaWQgZW5zdXJlQ2hh
cmFjdGVyR2V0c0xpbmVCb3goTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2ludFN0YXRlLCBJ
bmxpbmVJdGVyYXRvciYgdGV4dFBhcmFncmFwaFNlcGFyYXRvcikKIHsKLSAgICBJbmxpbmVJdGVy
YXRvciBtaWRwb2ludCgwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLnJlbmRlcmVyKCksIHRleHRQ
YXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MpOwotICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdu
b3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5k
ZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zIC0gMSkpOwotICAgIGxpbmVNaWRw
b2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdy
YXBoU2VwYXJhdG9yLnJlbmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MpKTsK
KyAgICBJbmxpbmVJdGVyYXRvciBtaWRwb2ludCgwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLnJl
bmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iub2Zmc2V0KCkpOworICAgIGxpbmVNaWRw
b2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFn
cmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm9mZnNldCgp
IC0gMSkpOworICAgIGxpbmVNaWRwb2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJ
dGVyYXRvcigwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLnJlbmRlcmVyKCksIHRleHRQYXJhZ3Jh
cGhTZXBhcmF0b3Iub2Zmc2V0KCkpKTsKIH0KIAogaW5saW5lIHZvaWQgdHJ5SHlwaGVuYXRpbmco
UmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBs
b2NhbGVJZGVudGlmaWVyLCB1bnNpZ25lZCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgaW50
IGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzTGltaXQsIGludCBtaW5pbXVtUHJlZml4TGltaXQs
IGludCBtaW5pbXVtU3VmZml4TGltaXQsIHVuc2lnbmVkIGxhc3RTcGFjZSwgdW5zaWduZWQgcG9z
LCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29s
IGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVy
YXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRlZCkKQEAg
LTYzNyw3ICs2MzcsNyBAQCBpbmxpbmUgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0
ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbgogCiBpbmxpbmUgYm9vbCBC
cmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVt
ZW50cywgYm9vbCYgaHlwaGVuYXRlZCwgIHVuc2lnbmVkJiBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRM
aW5lcykKIHsKLSAgICBpZiAoIW1fY3VycmVudC5tX3BvcykKKyAgICBpZiAoIW1fY3VycmVudC5v
ZmZzZXQoKSkKICAgICAgICAgbV9hcHBsaWVkU3RhcnRXaWR0aCA9IGZhbHNlOwogCiAgICAgUmVu
ZGVyVGV4dCogcmVuZGVyVGV4dCA9IHRvUmVuZGVyVGV4dChtX2N1cnJlbnQucmVuZGVyZXIoKSk7
CkBAIC02NjcsNyArNjY3LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVU
ZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICBib29sIGlz
Rml4ZWRQaXRjaCA9IGZvbnQuaXNGaXhlZFBpdGNoKCk7CiAgICAgYm9vbCBjYW5IeXBoZW5hdGUg
PSBzdHlsZS5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRl
KHN0eWxlLmxvY2FsZSgpKTsKIAotICAgIHVuc2lnbmVkIGxhc3RTcGFjZSA9IG1fY3VycmVudC5t
X3BvczsKKyAgICB1bnNpZ25lZCBsYXN0U3BhY2UgPSBtX2N1cnJlbnQub2Zmc2V0KCk7CiAgICAg
ZmxvYXQgd29yZFNwYWNpbmcgPSBtX2N1cnJlbnRTdHlsZS0+d29yZFNwYWNpbmcoKTsKICAgICBm
bG9hdCBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CiAgICAgZmxvYXQgd29yZFNwYWNpbmdGb3JX
b3JkTWVhc3VyZW1lbnQgPSAwOwpAQCAtNzA4LDcgKzcwOCw3IEBAIGlubGluZSBib29sIEJyZWFr
aW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRz
LCBib29sCiAKICAgICBVQ2hhciBsYXN0Q2hhcmFjdGVyID0gbV9yZW5kZXJUZXh0SW5mby5tX2xp
bmVCcmVha0l0ZXJhdG9yLmxhc3RDaGFyYWN0ZXIoKTsKICAgICBVQ2hhciBzZWNvbmRUb0xhc3RD
aGFyYWN0ZXIgPSBtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFrSXRlcmF0b3Iuc2Vjb25kVG9M
YXN0Q2hhcmFjdGVyKCk7Ci0gICAgZm9yICg7IG1fY3VycmVudC5tX3BvcyA8IHJlbmRlclRleHQt
PnRleHRMZW5ndGgoKTsgbV9jdXJyZW50LmZhc3RJbmNyZW1lbnRJblRleHROb2RlKCkpIHsKKyAg
ICBmb3IgKDsgbV9jdXJyZW50Lm9mZnNldCgpIDwgcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgpOyBt
X2N1cnJlbnQuZmFzdEluY3JlbWVudEluVGV4dE5vZGUoKSkgewogICAgICAgICBib29sIHByZXZp
b3VzQ2hhcmFjdGVySXNTcGFjZSA9IG1fY3VycmVudENoYXJhY3RlcklzU3BhY2U7CiAgICAgICAg
IGJvb2wgcHJldmlvdXNDaGFyYWN0ZXJJc1dTID0gbV9jdXJyZW50Q2hhcmFjdGVySXNXUzsKICAg
ICAgICAgVUNoYXIgYyA9IG1fY3VycmVudC5jdXJyZW50KCk7CkBAIC03MjgsMTMgKzcyOCwxMyBA
QCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50
cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogCiAgICAgICAgIGlmICgoYnJlYWtBbGwgfHwgYnJl
YWtXb3JkcykgJiYgIW1pZFdvcmRCcmVhayAmJiAoIW1fY3VycmVudENoYXJhY3RlcklzU3BhY2Ug
fHwgc3R5bGUud2hpdGVTcGFjZSgpICE9IFBSRV9XUkFQKSkgewogICAgICAgICAgICAgd3JhcFcg
Kz0gY2hhcldpZHRoOwotICAgICAgICAgICAgYm9vbCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJv
Z2F0ZVBhaXIgPSBVMTZfSVNfTEVBRChjKSAmJiBtX2N1cnJlbnQubV9wb3MgKyAxIDwgcmVuZGVy
VGV4dC0+dGV4dExlbmd0aCgpICYmIFUxNl9JU19UUkFJTCgoKnJlbmRlclRleHQpW21fY3VycmVu
dC5tX3BvcyArIDFdKTsKLSAgICAgICAgICAgIGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJU
ZXh0LCBtX2N1cnJlbnQubV9wb3MsIG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFpciA/
IDIgOiAxLCBmb250LCBtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVywgaXNGaXhlZFBp
dGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7Cisg
ICAgICAgICAgICBib29sIG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFpciA9IFUxNl9J
U19MRUFEKGMpICYmIG1fY3VycmVudC5vZmZzZXQoKSArIDEgPCByZW5kZXJUZXh0LT50ZXh0TGVu
Z3RoKCkgJiYgVTE2X0lTX1RSQUlMKCgqcmVuZGVyVGV4dClbbV9jdXJyZW50Lm9mZnNldCgpICsg
MV0pOworICAgICAgICAgICAgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1fY3Vy
cmVudC5vZmZzZXQoKSwgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID8gMiA6IDEs
IGZvbnQsIG1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSArIHdyYXBXLCBpc0ZpeGVkUGl0Y2gsIG1f
Y29sbGFwc2VXaGl0ZVNwYWNlLCBmYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKICAgICAgICAg
ICAgIG1pZFdvcmRCcmVhayA9IG1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSArIHdyYXBXICsgY2hh
cldpZHRoID4gbV93aWR0aC5hdmFpbGFibGVXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAg
aW50IG5leHRCcmVha2FibGVQb3NpdGlvbiA9IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRp
b24oKTsKLSAgICAgICAgYm9vbCBiZXR3ZWVuV29yZHMgPSBjID09ICdcbicgfHwgKG1fY3VycldT
ICE9IFBSRSAmJiAhbV9hdFN0YXJ0ICYmIGlzQnJlYWthYmxlKG1fcmVuZGVyVGV4dEluZm8ubV9s
aW5lQnJlYWtJdGVyYXRvciwgbV9jdXJyZW50Lm1fcG9zLCBuZXh0QnJlYWthYmxlUG9zaXRpb24s
IGJyZWFrTkJTUCkKKyAgICAgICAgYm9vbCBiZXR3ZWVuV29yZHMgPSBjID09ICdcbicgfHwgKG1f
Y3VycldTICE9IFBSRSAmJiAhbV9hdFN0YXJ0ICYmIGlzQnJlYWthYmxlKG1fcmVuZGVyVGV4dElu
Zm8ubV9saW5lQnJlYWtJdGVyYXRvciwgbV9jdXJyZW50Lm9mZnNldCgpLCBuZXh0QnJlYWthYmxl
UG9zaXRpb24sIGJyZWFrTkJTUCkKICAgICAgICAgICAgICYmIChzdHlsZS5oeXBoZW5zKCkgIT0g
SHlwaGVuc05vbmUgfHwgKG1fY3VycmVudC5wcmV2aW91c0luU2FtZU5vZGUoKSAhPSBzb2Z0SHlw
aGVuKSkpOwogICAgICAgICBtX2N1cnJlbnQuc2V0TmV4dEJyZWFrYWJsZVBvc2l0aW9uKG5leHRC
cmVha2FibGVQb3NpdGlvbik7CiAKQEAgLTc0Nyw4ICs3NDcsOCBAQCBpbmxpbmUgYm9vbCBCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50
cywgYm9vbAogICAgICAgICAgICAgICAgICAgICAvLyBuZXcgcG9pbnQuCiAgICAgICAgICAgICAg
ICAgICAgIG1faWdub3JpbmdTcGFjZXMgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgd29y
ZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAwOwotICAgICAgICAgICAgICAgICAgICBsYXN0
U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRk
IGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCi0gICAgICAgICAgICAgICAgICAgIG1fbGlu
ZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3Vy
cmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpKTsKKyAgICAgICAgICAgICAgICAgICAg
bGFzdFNwYWNlID0gbV9jdXJyZW50Lm9mZnNldCgpOyAvLyBlLmcuLCAiRm9vICAgIGdvbyIsIGRv
bid0IGFkZCBpbiBhbnkgb2YgdGhlIGlnbm9yZWQgc3BhY2VzLgorICAgICAgICAgICAgICAgICAg
ICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigw
LCBtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm9mZnNldCgpKSk7CiAgICAgICAgICAg
ICAgICAgICAgIHN0b3BwZWRJZ25vcmluZ1NwYWNlcyA9IHRydWU7CiAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gSnVzdCBrZWVwIGlnbm9yaW5nIHRoZXNl
IHNwYWNlcy4KQEAgLTc2MSwxNCArNzYxLDE0IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4
dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAg
ICAgICAgICAgICBXb3JkTWVhc3VyZW1lbnQmIHdvcmRNZWFzdXJlbWVudCA9IHdvcmRNZWFzdXJl
bWVudHMubGFzdCgpOwogCiAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQucmVuZGVyZXIgPSBy
ZW5kZXJUZXh0OwotICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fY3Vy
cmVudC5tX3BvczsKKyAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2N1
cnJlbnQub2Zmc2V0KCk7CiAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuc3RhcnRPZmZzZXQg
PSBsYXN0U3BhY2U7CiAKICAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUZW1wV2lkdGg7CiAg
ICAgICAgICAgICBpZiAod29yZFRyYWlsaW5nU3BhY2VXaWR0aCAmJiBjID09ICcgJykKLSAgICAg
ICAgICAgICAgICBhZGRpdGlvbmFsVGVtcFdpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIGxh
c3RTcGFjZSwgbV9jdXJyZW50Lm1fcG9zICsgMSAtIGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5j
dXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1l
YXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpIC0gd29yZFRyYWlsaW5nU3BhY2VX
aWR0aDsKKyAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVGVtcFdpZHRoID0gdGV4dFdpZHRoKHJl
bmRlclRleHQsIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm9mZnNldCgpICsgMSAtIGxhc3RTcGFjZSwg
Zm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hp
dGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpIC0gd29y
ZFRyYWlsaW5nU3BhY2VXaWR0aDsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBh
ZGRpdGlvbmFsVGVtcFdpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIGxhc3RTcGFjZSwgbV9j
dXJyZW50Lm1fcG9zIC0gbGFzdFNwYWNlLCBmb250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBp
c0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJh
Y2tGb250cywgdGV4dExheW91dCk7CisgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRlbXBXaWR0
aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3VycmVudC5vZmZzZXQoKSAt
IGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBt
X2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRM
YXlvdXQpOwogCiAgICAgICAgICAgICBpZiAod29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMu
aXNFbXB0eSgpICYmICFmYWxsYmFja0ZvbnRzLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICB3
b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5zd2FwKGZhbGxiYWNrRm9udHMpOwpAQCAtODAw
LDcgKzgwMCw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3Jk
TWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgICAgICAgICAgLy8g
YXMgY2FuZGlkYXRlIHdpZHRoIGZvciB0aGlzIGxpbmUuCiAgICAgICAgICAgICAgICAgYm9vbCBs
aW5lV2FzVG9vV2lkZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgIGlmIChtX3dpZHRoLmZpdHNP
bkxpbmUoKSAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYmIG1fY3VycmVudFN0eWxlLT5i
cmVha09ubHlBZnRlcldoaXRlU3BhY2UoKSAmJiAhbWlkV29yZEJyZWFrKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBtX2N1cnJl
bnQubV9wb3MsIDEsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwg
bV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0
TGF5b3V0KSArIChhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1fY3Vy
cmVudC5vZmZzZXQoKSwgMSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBp
dGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMs
IHRleHRMYXlvdXQpICsgKGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDApOwogICAg
ICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBsaW5lIGlzIHRvbyBiaWcgZXZlbiB3aXRob3V0
IHRoZSBleHRyYSBzcGFjZQogICAgICAgICAgICAgICAgICAgICAvLyBhdCB0aGUgZW5kIG9mIHRo
ZSBsaW5lLiBJZiBpdCBpcyBub3QsIGRvIG5vdGhpbmcuCiAgICAgICAgICAgICAgICAgICAgIC8v
IElmIHRoZSBsaW5lIG5lZWRzIHRoZSBleHRyYSB3aGl0ZXNwYWNlIHRvIGJlIHRvbyBsb25nLApA
QCAtODA4LDMwICs4MDgsMzAgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVU
ZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAg
ICAgICAgICAgLy8gYWRkaXRpb25hbCB3aGl0ZXNwYWNlLgogICAgICAgICAgICAgICAgICAgICBp
ZiAoIW1fd2lkdGguZml0c09uTGluZUluY2x1ZGluZ0V4dHJhV2lkdGgoY2hhcldpZHRoKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZVdhc1Rvb1dpZGUgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBt
X2N1cnJlbnQubV9wb3MsIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVy
KCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGluZUJyZWFrZXIuc2tpcFRyYWlsaW5nV2hp
dGVzcGFjZShtX2xpbmVCcmVhaywgbV9saW5lSW5mbyk7CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKGxpbmVXYXNUb29XaWRlIHx8
ICFtX3dpZHRoLmZpdHNPbkxpbmUoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2FuSHlw
aGVuYXRlICYmICFtX3dpZHRoLmZpdHNPbkxpbmUoKSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdHJ5SHlwaGVuYXRpbmcocmVuZGVyVGV4dCwgZm9udCwgc3R5bGUubG9jYWxlKCksIGNvbnNl
Y3V0aXZlSHlwaGVuYXRlZExpbmVzLCBtX2Jsb2NrU3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVz
KCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRCZWZvcmUoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1p
dEFmdGVyKCksIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm1fcG9zLCBtX3dpZHRoLmN1cnJlbnRXaWR0
aCgpIC0gYWRkaXRpb25hbFRlbXBXaWR0aCwgbV93aWR0aC5hdmFpbGFibGVXaWR0aCgpLCBpc0Zp
eGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCBsYXN0U3BhY2VXb3JkU3BhY2luZywgbV9s
aW5lQnJlYWssIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSwgbV9saW5lQnJlYWtl
ci5tX2h5cGhlbmF0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgdHJ5SHlwaGVuYXRpbmco
cmVuZGVyVGV4dCwgZm9udCwgc3R5bGUubG9jYWxlKCksIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExp
bmVzLCBtX2Jsb2NrU3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCksIHN0eWxlLmh5cGhlbmF0
aW9uTGltaXRCZWZvcmUoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEFmdGVyKCksIGxhc3RTcGFj
ZSwgbV9jdXJyZW50Lm9mZnNldCgpLCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpIC0gYWRkaXRpb25h
bFRlbXBXaWR0aCwgbV93aWR0aC5hdmFpbGFibGVXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29s
bGFwc2VXaGl0ZVNwYWNlLCBsYXN0U3BhY2VXb3JkU3BhY2luZywgbV9saW5lQnJlYWssIG1fY3Vy
cmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSwgbV9saW5lQnJlYWtlci5tX2h5cGhlbmF0ZWQp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVk
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hdEVuZCA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2xp
bmVCcmVhay5hdFRleHRQYXJhZ3JhcGhTZXBhcmF0b3IoKSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50Lm1fcG9zID4gMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RvcHBlZElnbm9yaW5nU3BhY2VzICYmIG1f
Y3VycmVudC5vZmZzZXQoKSA+IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5zdXJl
Q2hhcmFjdGVyR2V0c0xpbmVCb3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fbGluZUJyZWFrLmluY3JlbWVudCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgbV9saW5lSW5mby5zZXRQcmV2aW91c0xpbmVCcm9rZUNsZWFubHkodHJ1
ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0g
bV9saW5lQnJlYWsubV9wb3M7CisgICAgICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1l
bnQuZW5kT2Zmc2V0ID0gbV9saW5lQnJlYWsub2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFrLnJlbmRlcmVyKCkgJiYgbV9s
aW5lQnJlYWsubV9wb3MgJiYgbV9saW5lQnJlYWsucmVuZGVyZXIoKS0+aXNUZXh0KCkgJiYgdG9S
ZW5kZXJUZXh0KG1fbGluZUJyZWFrLnJlbmRlcmVyKCkpLT50ZXh0TGVuZ3RoKCkgJiYgdG9SZW5k
ZXJUZXh0KG1fbGluZUJyZWFrLnJlbmRlcmVyKCkpLT5jaGFyYWN0ZXJBdChtX2xpbmVCcmVhay5t
X3BvcyAtIDEpID09IHNvZnRIeXBoZW4gJiYgc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25l
KQorICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsucmVuZGVyZXIoKSAmJiBtX2xp
bmVCcmVhay5vZmZzZXQoKSAmJiBtX2xpbmVCcmVhay5yZW5kZXJlcigpLT5pc1RleHQoKSAmJiB0
b1JlbmRlclRleHQobV9saW5lQnJlYWsucmVuZGVyZXIoKSktPnRleHRMZW5ndGgoKSAmJiB0b1Jl
bmRlclRleHQobV9saW5lQnJlYWsucmVuZGVyZXIoKSktPmNoYXJhY3RlckF0KG1fbGluZUJyZWFr
Lm9mZnNldCgpIC0gMSkgPT0gc29mdEh5cGhlbiAmJiBzdHlsZS5oeXBoZW5zKCkgIT0gSHlwaGVu
c05vbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICBoeXBoZW5hdGVkID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFrLm1fcG9zICYmIG1fbGluZUJyZWFrLm1fcG9z
ICE9ICh1bnNpZ25lZCl3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ICYmICF3b3JkTWVhc3VyZW1l
bnQud2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFrLm9mZnNldCgp
ICYmIG1fbGluZUJyZWFrLm9mZnNldCgpICE9ICh1bnNpZ25lZCl3b3JkTWVhc3VyZW1lbnQuZW5k
T2Zmc2V0ICYmICF3b3JkTWVhc3VyZW1lbnQud2lkdGgpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChjaGFyV2lkdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkTWVh
c3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9saW5lQnJlYWsubV9wb3M7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fbGluZUJyZWFrLm9mZnNl
dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC53aWR0aCA9
IGNoYXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgfQpAQCAtODUyLDkgKzg1Miw5IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFu
ZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIGlmIChjID09ICdcbicgJiYgbV9wcmVzZXJ2ZXNOZXdsaW5l
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJy
ZW50Lm1fcG9zID4gMCkKKyAgICAgICAgICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNl
cyAmJiBtX2N1cnJlbnQub2Zmc2V0KCkgPiAwKQogICAgICAgICAgICAgICAgICAgICBlbnN1cmVD
aGFyYWN0ZXJHZXRzTGluZUJveChtX2xpbmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQpOwotICAg
ICAgICAgICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9j
dXJyZW50Lm1fcG9zLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAg
ICAgICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJy
ZW50Lm9mZnNldCgpLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAgICAg
ICAgICAgICAgIG1fbGluZUJyZWFrLmluY3JlbWVudCgpOwogICAgICAgICAgICAgICAgIG1fbGlu
ZUluZm8uc2V0UHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KHRydWUpOwogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtODYzLDcgKzg2Myw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29u
dGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29s
CiAgICAgICAgICAgICBpZiAobV9hdXRvV3JhcCAmJiBiZXR3ZWVuV29yZHMpIHsKICAgICAgICAg
ICAgICAgICBtX3dpZHRoLmNvbW1pdCgpOwogICAgICAgICAgICAgICAgIHdyYXBXID0gMDsKLSAg
ICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1f
Y3VycmVudC5tX3BvcywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAg
ICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3Vy
cmVudC5vZmZzZXQoKSwgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAg
ICAgICAgICAgICAvLyBBdXRvLXdyYXBwaW5nIHRleHQgc2hvdWxkIG5vdCB3cmFwIGluIHRoZSBt
aWRkbGUgb2YgYSB3b3JkIG9uY2UgaXQgaGFzIGhhZCBhbgogICAgICAgICAgICAgICAgIC8vIG9w
cG9ydHVuaXR5IHRvIGJyZWFrIGFmdGVyIGEgd29yZC4KICAgICAgICAgICAgICAgICBicmVha1dv
cmRzID0gZmFsc2U7CkBAIC04NzIsMTQgKzg3MiwxNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0Nv
bnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9v
bAogICAgICAgICAgICAgaWYgKG1pZFdvcmRCcmVhayAmJiAhVTE2X0lTX1RSQUlMKGMpICYmICEo
VV9HRVRfR0NfTUFTSyhjKSAmIFVfR0NfTV9NQVNLKSkgewogICAgICAgICAgICAgICAgIC8vIFJl
bWVtYmVyIHRoaXMgYXMgYSBicmVha2FibGUgcG9zaXRpb24gaW4gY2FzZQogICAgICAgICAgICAg
ICAgIC8vIGFkZGluZyB0aGUgZW5kIHdpZHRoIGZvcmNlcyBhIGJyZWFrLgotICAgICAgICAgICAg
ICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1f
cG9zLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAgICAgICAgICAg
IG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm9mZnNl
dCgpLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAgICAgICAgICAgICAg
IG1pZFdvcmRCcmVhayAmPSAoYnJlYWtXb3JkcyB8fCBicmVha0FsbCk7CiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGlmIChiZXR3ZWVuV29yZHMpIHsKICAgICAgICAgICAgICAgICBsYXN0
U3BhY2VXb3JkU3BhY2luZyA9IGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDA7CiAg
ICAgICAgICAgICAgICAgd29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAoYXBwbHlXb3Jk
U3BhY2luZyAmJiB3b3JkTWVhc3VyZW1lbnQud2lkdGgpID8gd29yZFNwYWNpbmcgOiAwOwotICAg
ICAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1fY3VycmVudC5tX3BvczsKKyAgICAgICAgICAgICAg
ICBsYXN0U3BhY2UgPSBtX2N1cnJlbnQub2Zmc2V0KCk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIGlmICghbV9pZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnRTdHlsZS0+Y29sbGFwc2VX
aGl0ZVNwYWNlKCkpIHsKQEAgLTkwMiwzNCArOTAyLDM1IEBAIGlubGluZSBib29sIEJyZWFraW5n
Q29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBi
b29sCiAgICAgICAgICAgICBtX2lnbm9yaW5nU3BhY2VzID0gZmFsc2U7CiAgICAgICAgICAgICBs
YXN0U3BhY2VXb3JkU3BhY2luZyA9IGFwcGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDA7
CiAgICAgICAgICAgICB3b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVudCA9IChhcHBseVdvcmRT
cGFjaW5nICYmIHdvcmRNZWFzdXJlbWVudHMubGFzdCgpLndpZHRoKSA/IHdvcmRTcGFjaW5nIDog
MDsKLSAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1fY3VycmVudC5tX3BvczsgLy8gZS5nLiwgIkZv
byAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KLSAgICAg
ICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJh
dG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpKTsKKyAgICAgICAg
ICAgIGxhc3RTcGFjZSA9IG1fY3VycmVudC5vZmZzZXQoKTsgLy8gZS5nLiwgIkZvbyAgICBnb28i
LCBkb24ndCBhZGQgaW4gYW55IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KKyAgICAgICAgICAgIG1f
bGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1f
Y3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCkpKTsKICAgICAgICAgfQogI2lm
IEVOQUJMRShTVkcpCi0gICAgICAgIGlmIChpc1NWR1RleHQgJiYgbV9jdXJyZW50Lm1fcG9zID4g
MCkgeworICAgICAgICBpZiAoaXNTVkdUZXh0ICYmIG1fY3VycmVudC5vZmZzZXQoKSA+IDApIHsK
ICAgICAgICAgICAgIC8vIEZvcmNlIGNyZWF0aW9uIG9mIG5ldyBJbmxpbmVCb3hlcyBmb3IgZWFj
aCBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNoYXJhY3RlciAodGhvc2UgdGhhdCBzdGFydCBuZXcgdGV4
dCBjaHVua3MpLgotICAgICAgICAgICAgaWYgKHRvUmVuZGVyU1ZHSW5saW5lVGV4dChyZW5kZXJU
ZXh0KS0+Y2hhcmFjdGVyU3RhcnRzTmV3VGV4dENodW5rKG1fY3VycmVudC5tX3BvcykpCisgICAg
ICAgICAgICBpZiAodG9SZW5kZXJTVkdJbmxpbmVUZXh0KHJlbmRlclRleHQpLT5jaGFyYWN0ZXJT
dGFydHNOZXdUZXh0Q2h1bmsobV9jdXJyZW50Lm9mZnNldCgpKSkKICAgICAgICAgICAgICAgICBl
bnN1cmVDaGFyYWN0ZXJHZXRzTGluZUJveChtX2xpbmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQp
OwogICAgICAgICB9CiAjZW5kaWYKIAogICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVySXNT
cGFjZSAmJiAhcHJldmlvdXNDaGFyYWN0ZXJJc1NwYWNlKSB7CiAgICAgICAgICAgICBtX3N0YXJ0
T2ZJZ25vcmVkU3BhY2VzLnNldFJlbmRlcmVyKG1fY3VycmVudC5yZW5kZXJlcigpKTsKLSAgICAg
ICAgICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMubV9wb3MgPSBtX2N1cnJlbnQubV9wb3M7Cisg
ICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLnNldE9mZnNldChtX2N1cnJlbnQub2Zm
c2V0KCkpOwogICAgICAgICAgICAgLy8gU3BhY2VzIGFmdGVyIHJpZ2h0LWFsaWduZWQgdGV4dCBh
bmQgYmVmb3JlIGEgbGluZS1icmVhayBnZXQgY29sbGFwc2VkIGF3YXkgY29tcGxldGVseSBzbyB0
aGF0IHRoZSB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2UgZG9lc24ndCBzZWVtIHRvIHB1
c2ggdGhlIHRleHQgb3V0IGZyb20gdGhlIHJpZ2h0LWhhbmQgZWRnZS4KICAgICAgICAgICAgIC8v
IEZJWE1FOiBEbyB0aGlzIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbnRhaW5lcidzIGFsaWdubWVudCAt
IHdpbGwgcmVxdWlyZSByZWJhc2VsaW5pbmcgYSBsb3Qgb2YgdGVzdCByZXN1bHRzLgogICAgICAg
ICAgICAgaWYgKG1fbmV4dE9iamVjdCAmJiBtX25leHRPYmplY3QtPmlzQlIoKSAmJiAobV9ibG9j
a1N0eWxlLnRleHRBbGlnbigpID09IFJJR0hUIHx8IG1fYmxvY2tTdHlsZS50ZXh0QWxpZ24oKSA9
PSBXRUJLSVRfUklHSFQpKSB7Ci0gICAgICAgICAgICAgICAgbV9zdGFydE9mSWdub3JlZFNwYWNl
cy5tX3Bvcy0tOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRQb3NpdGlvbiA9IG1f
c3RhcnRPZklnbm9yZWRTcGFjZXMub2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgbV9zdGFydE9m
SWdub3JlZFNwYWNlcy5zZXRPZmZzZXQoLS1jdXJyZW50UG9zaXRpb24pOwogICAgICAgICAgICAg
ICAgIC8vIElmIHRoZXJlJ3MganVzdCBhIHNpbmdsZSB0cmFpbGluZyBzcGFjZSBzdGFydCBpZ25v
cmluZyBpdCBub3cgc28gaXQgY29sbGFwc2VzIGF3YXkuCi0gICAgICAgICAgICAgICAgaWYgKG1f
Y3VycmVudC5tX3BvcyA9PSByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCkgLSAxKQorICAgICAgICAg
ICAgICAgIGlmIChtX2N1cnJlbnQub2Zmc2V0KCkgPT0gcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgp
IC0gMSkKICAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdGFydElnbm9y
aW5nU3BhY2VzKG1fc3RhcnRPZklnbm9yZWRTcGFjZXMpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKCFtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYmIHByZXZpb3Vz
Q2hhcmFjdGVySXNXUykgewogICAgICAgICAgICAgaWYgKG1fYXV0b1dyYXAgJiYgbV9jdXJyZW50
U3R5bGUtPmJyZWFrT25seUFmdGVyV2hpdGVTcGFjZSgpKQotICAgICAgICAgICAgICAgIG1fbGlu
ZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zLCBtX2N1
cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAgICAgICAgICAgIG1fbGluZUJy
ZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm9mZnNldCgpLCBtX2N1
cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KG1fY29sbGFwc2VXaGl0ZVNwYWNlICYmIG1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgIW1f
aWdub3JpbmdTcGFjZXMpCkBAIC05NDgsOSArOTQ5LDkgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdD
b250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJv
b2wKICAgICB3b3JkTWVhc3VyZW1lbnQucmVuZGVyZXIgPSByZW5kZXJUZXh0OwogCiAgICAgLy8g
SU1QT1JUQU5UOiBjdXJyZW50Lm1fcG9zIGlzID4gbGVuZ3RoIGhlcmUhCi0gICAgZmxvYXQgYWRk
aXRpb25hbFRlbXBXaWR0aCA9IG1faWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdpZHRoKHJlbmRl
clRleHQsIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm1fcG9zIC0gbGFzdFNwYWNlLCBmb250LCBtX3dp
ZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCB3
b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7CisgICAgZmxvYXQgYWRk
aXRpb25hbFRlbXBXaWR0aCA9IG1faWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdpZHRoKHJlbmRl
clRleHQsIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm9mZnNldCgpIC0gbGFzdFNwYWNlLCBmb250LCBt
X3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNl
LCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7CiAgICAgd29yZE1l
YXN1cmVtZW50LnN0YXJ0T2Zmc2V0ID0gbGFzdFNwYWNlOwotICAgIHdvcmRNZWFzdXJlbWVudC5l
bmRPZmZzZXQgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNl
dCA9IG1fY3VycmVudC5vZmZzZXQoKTsKICAgICB3b3JkTWVhc3VyZW1lbnQud2lkdGggPSBtX2ln
bm9yaW5nU3BhY2VzID8gMCA6IGFkZGl0aW9uYWxUZW1wV2lkdGggKyB3b3JkU3BhY2luZ0Zvcldv
cmRNZWFzdXJlbWVudDsKICAgICBhZGRpdGlvbmFsVGVtcFdpZHRoICs9IGxhc3RTcGFjZVdvcmRT
cGFjaW5nOwogCkBAIC05NjgsNyArOTY5LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKIAog
ICAgIGlmICghbV93aWR0aC5maXRzT25MaW5lKCkpIHsKICAgICAgICAgaWYgKGNhbkh5cGhlbmF0
ZSkKLSAgICAgICAgICAgIHRyeUh5cGhlbmF0aW5nKHJlbmRlclRleHQsIGZvbnQsIHN0eWxlLmxv
Y2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgbV9ibG9ja1N0eWxlLmh5cGhlbmF0
aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QmVmb3JlKCksIHN0eWxlLmh5
cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0U3BhY2UsIG1fY3VycmVudC5tX3BvcywgbV93aWR0
aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9uYWxUZW1wV2lkdGgsIG1fd2lkdGguYXZhaWxhYmxl
V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgbGFzdFNwYWNlV29y
ZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCks
IG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVkKTsKKyAgICAgICAgICAgIHRyeUh5cGhlbmF0aW5n
KHJlbmRlclRleHQsIGZvbnQsIHN0eWxlLmxvY2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRM
aW5lcywgbV9ibG9ja1N0eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBoZW5h
dGlvbkxpbWl0QmVmb3JlKCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0U3Bh
Y2UsIG1fY3VycmVudC5vZmZzZXQoKSwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9u
YWxUZW1wV2lkdGgsIG1fd2lkdGguYXZhaWxhYmxlV2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2Nv
bGxhcHNlV2hpdGVTcGFjZSwgbGFzdFNwYWNlV29yZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1
cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCksIG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVk
KTsKIAogICAgICAgICBpZiAoIWh5cGhlbmF0ZWQgJiYgbV9saW5lQnJlYWsucHJldmlvdXNJblNh
bWVOb2RlKCkgPT0gc29mdEh5cGhlbiAmJiBzdHlsZS5oeXBoZW5zKCkgIT0gSHlwaGVuc05vbmUp
IHsKICAgICAgICAgICAgIGh5cGhlbmF0ZWQgPSB0cnVlOwpAQCAtMTA3OSw4ICsxMDgwLDEwIEBA
IGlubGluZSB2b2lkIGNoZWNrTWlkcG9pbnRzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9p
bnRTdGF0ZSwgSW5saW5lSXRlcmF0b3ImCiAgICAgICAgIGlmIChjdXJycG9pbnQgPT0gbEJyZWFr
KSB7CiAgICAgICAgICAgICAvLyBXZSBoaXQgdGhlIGxpbmUgYnJlYWsgYmVmb3JlIHRoZSBzdGFy
dCBwb2ludC4gU2hhdmUgb2ZmIHRoZSBzdGFydCBwb2ludC4KICAgICAgICAgICAgIGxpbmVNaWRw
b2ludFN0YXRlLm51bU1pZHBvaW50cy0tOwotICAgICAgICAgICAgaWYgKGVuZHBvaW50LnJlbmRl
cmVyKCktPnN0eWxlKCkuY29sbGFwc2VXaGl0ZVNwYWNlKCkgJiYgZW5kcG9pbnQucmVuZGVyZXIo
KS0+aXNUZXh0KCkpCi0gICAgICAgICAgICAgICAgZW5kcG9pbnQubV9wb3MtLTsKKyAgICAgICAg
ICAgIGlmIChlbmRwb2ludC5yZW5kZXJlcigpLT5zdHlsZSgpLmNvbGxhcHNlV2hpdGVTcGFjZSgp
ICYmIGVuZHBvaW50LnJlbmRlcmVyKCktPmlzVGV4dCgpKSB7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgY3VycmVudFBvc2l0aW9uID0gZW5kcG9pbnQub2Zmc2V0KCk7CisgICAgICAgICAgICAg
ICAgZW5kcG9pbnQuc2V0T2Zmc2V0KC0tY3VycmVudFBvc2l0aW9uKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIH0KIH0KQEAgLTEwOTcsMTkgKzExMDAsMTkgQEAgSW5saW5lSXRlcmF0
b3IgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUoKQogICAgICAgICBpZiAobV9saW5l
QnJlYWsgPT0gbV9yZXNvbHZlci5wb3NpdGlvbigpKSB7CiAgICAgICAgICAgICBpZiAoIW1fbGlu
ZUJyZWFrLnJlbmRlcmVyKCkgfHwgIW1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzQlIoKSkgewog
ICAgICAgICAgICAgICAgIC8vIHdlIGp1c3QgYWRkIGFzIG11Y2ggYXMgcG9zc2libGUKLSAgICAg
ICAgICAgICAgICBpZiAobV9ibG9ja1N0eWxlLndoaXRlU3BhY2UoKSA9PSBQUkUgJiYgIW1fY3Vy
cmVudC5tX3BvcykgeworICAgICAgICAgICAgICAgIGlmIChtX2Jsb2NrU3R5bGUud2hpdGVTcGFj
ZSgpID09IFBSRSAmJiAhbV9jdXJyZW50Lm9mZnNldCgpKSB7CiAgICAgICAgICAgICAgICAgICAg
IG1fbGluZUJyZWFrLm1vdmVUbyhtX2xhc3RPYmplY3QsIG1fbGFzdE9iamVjdC0+aXNUZXh0KCkg
PyBtX2xhc3RPYmplY3QtPmxlbmd0aCgpIDogMCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlm
IChtX2xpbmVCcmVhay5yZW5kZXJlcigpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0
IGV2ZXIgYnJlYWsgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQgaWYgd2UgY2FuIGhlbHAgaXQuCiAg
ICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gcm9vbSBhdCBhbGwuIFdlIGp1c3QgaGF2
ZSB0byBiZSBvbiB0aGlzIGxpbmUsCiAgICAgICAgICAgICAgICAgICAgIC8vIGV2ZW4gdGhvdWdo
IHdlJ2xsIHNwaWxsIG91dC4KLSAgICAgICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92ZVRv
KG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpOworICAgICAgICAgICAgICAg
ICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5v
ZmZzZXQoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Ly8gbWFrZSBzdXJlIHdlIGNvbnN1bWUgYXQgbGVhc3Qgb25lIGNoYXIvb2JqZWN0LgogICAgICAg
ICAgICAgaWYgKG1fbGluZUJyZWFrID09IG1fcmVzb2x2ZXIucG9zaXRpb24oKSkKICAgICAgICAg
ICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKLSAgICAgICAgfSBlbHNlIGlmICghbV9j
dXJyZW50Lm1fcG9zICYmICFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV93aWR0aC51bmNv
bW1pdHRlZFdpZHRoKCkgJiYgIW1faGFkVW5jb21taXR0ZWRXaWR0aEJlZm9yZUN1cnJlbnQpIHsK
KyAgICAgICAgfSBlbHNlIGlmICghbV9jdXJyZW50Lm9mZnNldCgpICYmICFtX3dpZHRoLmNvbW1p
dHRlZFdpZHRoKCkgJiYgbV93aWR0aC51bmNvbW1pdHRlZFdpZHRoKCkgJiYgIW1faGFkVW5jb21t
aXR0ZWRXaWR0aEJlZm9yZUN1cnJlbnQpIHsKICAgICAgICAgICAgIC8vIERvIG5vdCBwdXNoIHRo
ZSBjdXJyZW50IG9iamVjdCB0byB0aGUgbmV4dCBsaW5lLCB3aGVuIHRoaXMgbGluZSBoYXMgc29t
ZSBjb250ZW50LCBidXQgaXQgaXMgc3RpbGwgY29uc2lkZXJlZCBlbXB0eS4KICAgICAgICAgICAg
IC8vIEVtcHR5IGlubGluZSBlbGVtZW50cyBsaWtlIDxzcGFuPjwvc3Bhbj4gY2FuIHByb2R1Y2Ug
c3VjaCBsaW5lcyBhbmQgbm93IHdlIGp1c3QgaWdub3JlIHRoZXNlIGJyZWFrIG9wcG9ydHVuaXRp
ZXMKICAgICAgICAgICAgIC8vIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUsIGlmIG5vIHdpZHRoIGhh
cyBiZWVuIGNvbW1pdHRlZCB5ZXQuCkBAIC0xMTI3LDggKzExMzAsOSBAQCBJbmxpbmVJdGVyYXRv
ciBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUVuZE9mTGluZSgpCiAgICAgLy8gb2YgdGhlIG9iamVj
dC4gRG8gdGhpcyBhZGp1c3RtZW50IHRvIG1ha2UgaXQgcG9pbnQgdG8gdGhlIHN0YXJ0CiAgICAg
Ly8gb2YgdGhlIG5leHQgb2JqZWN0IGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW5nIHRoZSByZXN0
IG9mIHRoZQogICAgIC8vIGNvZGUuCi0gICAgaWYgKG1fbGluZUJyZWFrLm1fcG9zID4gMCkgewot
ICAgICAgICBtX2xpbmVCcmVhay5tX3Bvcy0tOworICAgIGlmIChtX2xpbmVCcmVhay5vZmZzZXQo
KSA+IDApIHsKKyAgICAgICAgdW5zaWduZWQgY3VycmVudFBvc2l0aW9uID0gbV9saW5lQnJlYWsu
b2Zmc2V0KCk7CisgICAgICAgIG1fbGluZUJyZWFrLnNldE9mZnNldCgtLWN1cnJlbnRQb3NpdGlv
bik7CiAgICAgICAgIG1fbGluZUJyZWFrLmluY3JlbWVudCgpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAKaW5kZXggYTZj
ZTg0YTdhYzFhNTA5YzJmNjdkMWE3YWZjMTNkZmQ0YWMxNGU2NS4uOTI4NzhkYWI3NjI5MzBhODdj
Y2YzMzNlYmY3ZTRiNzc1MWY3NmM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9UcmFpbGluZ09iamVjdHMuY3BwCkBAIC00MSw4ICs0MSwxMCBAQCB2b2lkIFRyYWls
aW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9pbnRT
dGF0ZSYgbGluZU1pZAogICAgICAgICBpbnQgdHJhaWxpbmdTcGFjZU1pZHBvaW50ID0gbGluZU1p
ZHBvaW50U3RhdGUubnVtTWlkcG9pbnRzIC0gMTsKICAgICAgICAgZm9yICggOyB0cmFpbGluZ1Nw
YWNlTWlkcG9pbnQgPiAwICYmIGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1Nw
YWNlTWlkcG9pbnRdLnJlbmRlcmVyKCkgIT0gbV93aGl0ZXNwYWNlOyAtLXRyYWlsaW5nU3BhY2VN
aWRwb2ludCkgeyB9CiAgICAgICAgIEFTU0VSVCh0cmFpbGluZ1NwYWNlTWlkcG9pbnQgPj0gMCk7
Ci0gICAgICAgIGlmIChjb2xsYXBzZUZpcnN0U3BhY2UgPT0gQ29sbGFwc2VGaXJzdFNwYWNlKQot
ICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRw
b2ludF0ubV9wb3MtLTsKKyAgICAgICAgaWYgKGNvbGxhcHNlRmlyc3RTcGFjZSA9PSBDb2xsYXBz
ZUZpcnN0U3BhY2UpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRQb3NpdGlvbiA9IGxp
bmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLm9mZnNldCgp
OworICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VN
aWRwb2ludF0uc2V0T2Zmc2V0KC0tY3VycmVudFBvc2l0aW9uKTsKKyAgICAgICAgfQogCiAgICAg
ICAgIC8vIE5vdyBtYWtlIHN1cmUgZXZlcnkgc2luZ2xlIHRyYWlsaW5nUG9zaXRpb25lZEJveCBm
b2xsb3dpbmcgdGhlIHRyYWlsaW5nU3BhY2VNaWRwb2ludCBwcm9wZXJseSBzdG9wcyBhbmQgc3Rh
cnRzCiAgICAgICAgIC8vIGlnbm9yaW5nIHNwYWNlcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220007</attachid>
            <date>2013-12-25 15:42:49 -0800</date>
            <delta_ts>2013-12-25 17:58:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125614-20131226084247.patch</filename>
            <type>text/plain</type>
            <size>35644</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4MmNhNDQzNWI5MzBl
MmE0MmQ4NWRjMDAzZjVhNWVkM2VlYWI2Zi4uYmE4MzhhYTFiOWZiNTk0ZDNlNzljMmU1NjkzYWEw
NWZjYjdhOWUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTI1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgU2V0IG1fcG9z
IGFzIHByaXZhdGUgaW4gSW5saW5lSXRlcmF0b3IsIGFuZCB1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIg
ZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5saW5lSXRlcmF0b3IgaGFzIGJlZW4gZXhwb3J0ZWQgbV9wb3MgYXMgcHVibGljIGRpcmVj
dGx5IHRob3VnaCBpdCBpcyBtZW1iZXIgdmFyaWFibGUuCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0
IGl0IGFzIHByaXZhdGUsIGFuZCBhZGQgZ2V0dGVyL3NldHRlciBmdW5jdGlvbnMgZm9yIGl0Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAq
IHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRl
cmF0b3I6OnNldE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJl
c29sdmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5z
Rm9yT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJ
blJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWF0Y2hlZEVuZExp
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOgor
ICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIpOgorICAgICAgICAo
V2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVGbG9hdCk6CisgICAgICAgIChXZWJDb3Jl
OjppdGVyYXRvcklzQmV5b25kRW5kT2ZSZW5kZXJDb21iaW5lVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRzTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNaWRwb2lu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94
ZXMpOgorCiAyMDEzLTEyLTI1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBbQ01ha2VdIENsZWFuIHVwIGdlbmVyYXRlZCBzb3VyY2VzIGRp
cmVjdG9yaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCmluZGV4
IGFhODVmNTdlOTA5OGYxZmI2MWFmYTYzMmRhMmVhZjAyOGY2MjM0MDQuLmI1ZjJhMWU5NDZmMjA4
ZTU1OGM3ODkzMjJjODhiZWUyNzhkMTI5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlcjsgfQogICAgIHZvaWQgc2V0
UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgeyBtX3JlbmRlcmVyID0gcmVuZGVyZXI7
IH0KICAgICB1bnNpZ25lZCBvZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3BvczsgfQorICAgIHZv
aWQgc2V0T2Zmc2V0KHVuc2lnbmVkIHBvc2l0aW9uKSB7IG1fcG9zID0gcG9zaXRpb247IH0KICAg
ICBSZW5kZXJFbGVtZW50KiByb290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAgICAgaW50
IG5leHRCcmVha2FibGVQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dEJyZWFrYWJsZVBv
c2l0aW9uOyB9CiAgICAgdm9pZCBzZXROZXh0QnJlYWthYmxlUG9zaXRpb24oaW50IHBvc2l0aW9u
KSB7IG1fbmV4dEJyZWFrYWJsZVBvc2l0aW9uID0gcG9zaXRpb247IH0KQEAgLTk4LDIwICs5OSwx
NyBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKIAogICAgIGludCBt
X25leHRCcmVha2FibGVQb3NpdGlvbjsKLQotLy8gRklYTUU6IFRoZXNlIHNob3VsZCBiZSBwcml2
YXRlLgotcHVibGljOgogICAgIHVuc2lnbmVkIG1fcG9zOwogfTsKIAogaW5saW5lIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBJbmxpbmVJdGVyYXRvciYgaXQxLCBjb25zdCBJbmxpbmVJdGVyYXRvciYg
aXQyKQogewotICAgIHJldHVybiBpdDEubV9wb3MgPT0gaXQyLm1fcG9zICYmIGl0MS5yZW5kZXJl
cigpID09IGl0Mi5yZW5kZXJlcigpOworICAgIHJldHVybiBpdDEub2Zmc2V0KCkgPT0gaXQyLm9m
ZnNldCgpICYmIGl0MS5yZW5kZXJlcigpID09IGl0Mi5yZW5kZXJlcigpOwogfQogCiBpbmxpbmUg
Ym9vbCBvcGVyYXRvciE9KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDEsIGNvbnN0IElubGluZUl0
ZXJhdG9yJiBpdDIpCiB7Ci0gICAgcmV0dXJuIGl0MS5tX3BvcyAhPSBpdDIubV9wb3MgfHwgaXQx
LnJlbmRlcmVyKCkgIT0gaXQyLnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGl0MS5vZmZzZXQoKSAh
PSBpdDIub2Zmc2V0KCkgfHwgaXQxLnJlbmRlcmVyKCkgIT0gaXQyLnJlbmRlcmVyKCk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgVUNoYXJEaXJlY3Rpb24gZW1iZWRDaGFyRnJvbURpcmVjdGlvbihUZXh0
RGlyZWN0aW9uIGRpcmVjdGlvbiwgRVVuaWNvZGVCaWRpIHVuaWNvZGVCaWRpKQpAQCAtNTE4LDcg
KzUxNiw3IEBAIGlubGluZSB2b2lkIElubGluZUJpZGlSZXNvbHZlcjo6YXBwZW5kUnVuKCkKICAg
ICAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgc3RhdGUgZGVwZW5kaW5nIG9uIGlmIHdlJ3JlIHN0YXJ0
aW5nIGluIHRoZSBtaWRkbGUgb2Ygc3VjaCBhbiBpbmxpbmUuCiAgICAgICAgIC8vIEZJWE1FOiBD
b3VsZCB0aGlzIGluaXRpYWxpemUgZnJvbSB0aGlzLT5pbklzb2xhdGUoKSBpbnN0ZWFkIG9mIHdh
bGtpbmcgdXAgdGhlIHJlbmRlciB0cmVlPwogICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRl
VHJhY2tlcihudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMobV9zb3IpKTsKLSAgICAgICAgaW50IHN0
YXJ0ID0gbV9zb3IubV9wb3M7CisgICAgICAgIGludCBzdGFydCA9IG1fc29yLm9mZnNldCgpOwog
ICAgICAgICBSZW5kZXJPYmplY3QqIG9iaiA9IG1fc29yLnJlbmRlcmVyKCk7CiAgICAgICAgIHdo
aWxlIChvYmogJiYgb2JqICE9IG1fZW9yLnJlbmRlcmVyKCkgJiYgb2JqICE9IGVuZE9mTGluZS5y
ZW5kZXJlcigpKSB7CiAgICAgICAgICAgICBpZiAoaXNvbGF0ZVRyYWNrZXIuaW5Jc29sYXRlKCkp
CkBAIC01MzAsMTAgKzUyOCwxMCBAQCBpbmxpbmUgdm9pZCBJbmxpbmVCaWRpUmVzb2x2ZXI6OmFw
cGVuZFJ1bigpCiAgICAgICAgICAgICBvYmogPSBiaWRpTmV4dFNraXBwaW5nRW1wdHlJbmxpbmVz
KCptX3Nvci5yb290KCksIG9iaiwgJmlzb2xhdGVUcmFja2VyKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAob2JqKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBwb3MgPSBvYmogPT0gbV9lb3IucmVu
ZGVyZXIoKSA/IG1fZW9yLm1fcG9zIDogVUlOVF9NQVg7Ci0gICAgICAgICAgICBpZiAob2JqID09
IGVuZE9mTGluZS5yZW5kZXJlcigpICYmIGVuZE9mTGluZS5tX3BvcyA8PSBwb3MpIHsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIHBvcyA9IG9iaiA9PSBtX2Vvci5yZW5kZXJlcigpID8gbV9lb3Iub2Zm
c2V0KCkgOiBVSU5UX01BWDsKKyAgICAgICAgICAgIGlmIChvYmogPT0gZW5kT2ZMaW5lLnJlbmRl
cmVyKCkgJiYgZW5kT2ZMaW5lLm9mZnNldCgpIDw9IHBvcykgewogICAgICAgICAgICAgICAgIG1f
cmVhY2hlZEVuZE9mTGluZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgcG9zID0gZW5kT2ZMaW5l
Lm1fcG9zOworICAgICAgICAgICAgICAgIHBvcyA9IGVuZE9mTGluZS5vZmZzZXQoKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIC8vIEl0J3MgT0sgdG8gYWRkIHJ1bnMgZm9yIHplcm8tbGVu
Z3RoIFJlbmRlck9iamVjdHMsIGp1c3QgZG9uJ3QgbWFrZSB0aGUgcnVuIGxhcmdlciB0aGFuIGl0
IHNob3VsZCBiZQogICAgICAgICAgICAgaW50IGVuZCA9IG9iai0+bGVuZ3RoKCkgPyBwb3MgKyAx
IDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xp
bmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKaW5kZXggZGI1MDg5ZTVkZTY3ZTI1Y2Q0Mjk2N2U1OTM5Y2MzNzczNzliN2Q4ZC4u
ZDdmZGMwYTQ5ODhmMTNiZDM3NDg2NGViMmJkOTU3N2I2NjM3YjdmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTkzLDcg
KzkzLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFwcGVuZFJ1bnNGb3JPYmplY3QoQmlkaVJ1
bkxpc3Q8QmlkaVJ1bj4mIHJ1bnMsIGludCBzdGFydCwKICAgICAgICAgLy8gVGhpcyBpcyBhIG5l
dyBzdGFydCBwb2ludC4gU3RvcCBpZ25vcmluZyBvYmplY3RzIGFuZAogICAgICAgICAvLyBhZGp1
c3Qgb3VyIHN0YXJ0LgogICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5iZXR3ZWVuTWlkcG9pbnRz
ID0gZmFsc2U7Ci0gICAgICAgIHN0YXJ0ID0gbmV4dE1pZHBvaW50Lm1fcG9zOworICAgICAgICBz
dGFydCA9IG5leHRNaWRwb2ludC5vZmZzZXQoKTsKICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUu
Y3VycmVudE1pZHBvaW50Kys7CiAgICAgICAgIGlmIChzdGFydCA8IGVuZCkKICAgICAgICAgICAg
IHJldHVybiBhcHBlbmRSdW5zRm9yT2JqZWN0KHJ1bnMsIHN0YXJ0LCBlbmQsIG9iaiwgcmVzb2x2
ZXIpOwpAQCAtMTA1LDEzICsxMDUsMTMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFwcGVuZFJ1
bnNGb3JPYmplY3QoQmlkaVJ1bkxpc3Q8QmlkaVJ1bj4mIHJ1bnMsIGludCBzdGFydCwKIAogICAg
ICAgICAvLyBBbiBlbmQgbWlkcG9pbnQgaGFzIGJlZW4gZW5jb3VudGVyZWQgd2l0aGluIG91ciBv
YmplY3QuICBXZQogICAgICAgICAvLyBuZWVkIHRvIGdvIGFoZWFkIGFuZCBhcHBlbmQgYSBydW4g
d2l0aCBvdXIgZW5kcG9pbnQuCi0gICAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG5leHRNaWRw
b2ludC5tX3BvcyArIDEpIDw9IGVuZCkgeworICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50Pihu
ZXh0TWlkcG9pbnQub2Zmc2V0KCkgKyAxKSA8PSBlbmQpIHsKICAgICAgICAgICAgIGxpbmVNaWRw
b2ludFN0YXRlLmJldHdlZW5NaWRwb2ludHMgPSB0cnVlOwogICAgICAgICAgICAgbGluZU1pZHBv
aW50U3RhdGUuY3VycmVudE1pZHBvaW50Kys7Ci0gICAgICAgICAgICBpZiAobmV4dE1pZHBvaW50
Lm1fcG9zICE9IFVJTlRfTUFYKSB7IC8vIFVJTlRfTUFYIG1lYW5zIHN0b3AgYXQgdGhlIG9iamVj
dCBhbmQgZG9uJ3QgaW5jbHVkZSBhbnkgb2YgaXQuCi0gICAgICAgICAgICAgICAgaWYgKHN0YXRp
Y19jYXN0PGludD4obmV4dE1pZHBvaW50Lm1fcG9zICsgMSkgPiBzdGFydCkKLSAgICAgICAgICAg
ICAgICAgICAgcnVucy5hZGRSdW4oY3JlYXRlUnVuKHN0YXJ0LCBuZXh0TWlkcG9pbnQubV9wb3Mg
KyAxLCBvYmosIHJlc29sdmVyKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFJ1bnNG
b3JPYmplY3QocnVucywgbmV4dE1pZHBvaW50Lm1fcG9zICsgMSwgZW5kLCBvYmosIHJlc29sdmVy
KTsKKyAgICAgICAgICAgIGlmIChuZXh0TWlkcG9pbnQub2Zmc2V0KCkgIT0gVUlOVF9NQVgpIHsg
Ly8gVUlOVF9NQVggbWVhbnMgc3RvcCBhdCB0aGUgb2JqZWN0IGFuZCBkb24ndCBpbmNsdWRlIGFu
eSBvZiBpdC4KKyAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihuZXh0TWlkcG9p
bnQub2Zmc2V0KCkgKyAxKSA+IHN0YXJ0KQorICAgICAgICAgICAgICAgICAgICBydW5zLmFkZFJ1
bihjcmVhdGVSdW4oc3RhcnQsIG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEsIG9iaiwgcmVzb2x2
ZXIpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gYXBwZW5kUnVuc0Zvck9iamVjdChydW5zLCBu
ZXh0TWlkcG9pbnQub2Zmc2V0KCkgKyAxLCBlbmQsIG9iaiwgcmVzb2x2ZXIpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgcnVucy5hZGRSdW4oY3JlYXRlUnVuKHN0
YXJ0LCBlbmQsIG9iaiwgcmVzb2x2ZXIpKTsKQEAgLTk1Myw3ICs5NTMsNyBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgY29uc3RydWN0QmlkaVJ1bnNGb3JMaW5lKGNvbnN0IFJlbmRlckJsb2NrRmxvdyog
YmxvY2ssIElubGluZQogICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50RW5kKGl0ZXJhdG9y
LnJvb3QsIGl0ZXJhdG9yLm9iamVjdCwgaXRlcmF0b3Iub2Zmc2V0KTsKICAgICAgICAgaWYgKGkp
IHsKICAgICAgICAgICAgIEFTU0VSVChzZWdtZW50U3RhcnQucmVuZGVyZXIoKSk7Ci0gICAgICAg
ICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0gY3JlYXRlUnVuKHNlZ21lbnRTdGFydC5tX3Bv
cywgc2VnbWVudFN0YXJ0Lm1fcG9zLCBzZWdtZW50U3RhcnQucmVuZGVyZXIoKSwgdG9wUmVzb2x2
ZXIpOworICAgICAgICAgICAgQmlkaVJ1biogc2VnbWVudE1hcmtlciA9IGNyZWF0ZVJ1bihzZWdt
ZW50U3RhcnQub2Zmc2V0KCksIHNlZ21lbnRTdGFydC5vZmZzZXQoKSwgc2VnbWVudFN0YXJ0LnJl
bmRlcmVyKCksIHRvcFJlc29sdmVyKTsKICAgICAgICAgICAgIHNlZ21lbnRNYXJrZXItPm1fc3Rh
cnRzU2VnbWVudCA9IHRydWU7CiAgICAgICAgICAgICBiaWRpUnVucy5hZGRSdW4oc2VnbWVudE1h
cmtlcik7CiAgICAgICAgICAgICAvLyBEbyBub3QgY29sbGFwc2UgbWlkcG9pbnRzIGJldHdlZW4g
c2VnbWVudHMKQEAgLTEzNTEsNyArMTM1MSw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlv
dXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJCiAg
ICAgICAgIC8vIFRoaXMgaXMgYSBzaG9ydC1jdXQgZm9yIGVtcHR5IGxpbmVzLgogICAgICAgICBp
ZiAobGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlmIChs
YXN0Um9vdEJveCgpKQotICAgICAgICAgICAgICAgIGxhc3RSb290Qm94KCktPnNldExpbmVCcmVh
a0luZm8oZW5kLnJlbmRlcmVyKCksIGVuZC5tX3BvcywgcmVzb2x2ZXIuc3RhdHVzKCkpOworICAg
ICAgICAgICAgICAgIGxhc3RSb290Qm94KCktPnNldExpbmVCcmVha0luZm8oZW5kLnJlbmRlcmVy
KCksIGVuZC5vZmZzZXQoKSwgcmVzb2x2ZXIuc3RhdHVzKCkpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgVmlzdWFsRGlyZWN0aW9uT3ZlcnJpZGUgb3ZlcnJpZGUgPSAoc3R5bGVUb1Vz
ZS5ydGxPcmRlcmluZygpID09IFZpc3VhbE9yZGVyID8gKHN0eWxlVG9Vc2UuZGlyZWN0aW9uKCkg
PT0gTFRSID8gVmlzdWFsTGVmdFRvUmlnaHRPdmVycmlkZSA6IFZpc3VhbFJpZ2h0VG9MZWZ0T3Zl
cnJpZGUpIDogTm9WaXN1YWxPdmVycmlkZSk7CiAKQEAgLTEzODQsNyArMTM4NCw3IEBAIHZvaWQg
UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3Rh
dGUmIGxheW91dFN0YXRlLCBJCiAgICAgICAgICAgICByZXNvbHZlci5tYXJrQ3VycmVudFJ1bkVt
cHR5KCk7IC8vIEZJWE1FOiBUaGlzIGNhbiBwcm9iYWJseSBiZSByZXBsYWNlZCBieSBhbiBBU1NF
UlQgKG9yIGp1c3QgcmVtb3ZlZCkuCiAKICAgICAgICAgICAgIGlmIChsaW5lQm94KSB7Ci0gICAg
ICAgICAgICAgICAgbGluZUJveC0+c2V0TGluZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5k
Lm1fcG9zLCByZXNvbHZlci5zdGF0dXMoKSk7CisgICAgICAgICAgICAgICAgbGluZUJveC0+c2V0
TGluZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5kLm9mZnNldCgpLCByZXNvbHZlci5zdGF0
dXMoKSk7CiAgICAgICAgICAgICAgICAgaWYgKGxheW91dFN0YXRlLnVzZXNSZXBhaW50Qm91bmRz
KCkpCiAgICAgICAgICAgICAgICAgICAgIGxheW91dFN0YXRlLnVwZGF0ZVJlcGFpbnRSYW5nZUZy
b21Cb3gobGluZUJveCk7CiAKQEAgLTE5NjIsNyArMTk2Miw3IEBAIGJvb2wgUmVuZGVyQmxvY2tG
bG93OjptYXRjaGVkRW5kTGluZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBJ
bmxpbmVCCiAgICAgUm9vdElubGluZUJveCogb3JpZ2luYWxFbmRMaW5lID0gbGF5b3V0U3RhdGUu
ZW5kTGluZSgpOwogICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBvcmlnaW5hbEVuZExpbmU7CiAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1MaW5lcyAmJiBsaW5lOyBpKyssIGxpbmUgPSBsaW5l
LT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGlmIChsaW5lLT5saW5lQnJlYWtPYmooKSA9PSBy
ZXNvbHZlci5wb3NpdGlvbigpLnJlbmRlcmVyKCkgJiYgbGluZS0+bGluZUJyZWFrUG9zKCkgPT0g
cmVzb2x2ZXIucG9zaXRpb24oKS5tX3BvcykgeworICAgICAgICBpZiAobGluZS0+bGluZUJyZWFr
T2JqKCkgPT0gcmVzb2x2ZXIucG9zaXRpb24oKS5yZW5kZXJlcigpICYmIGxpbmUtPmxpbmVCcmVh
a1BvcygpID09IHJlc29sdmVyLnBvc2l0aW9uKCkub2Zmc2V0KCkpIHsKICAgICAgICAgICAgIC8v
IFdlIGhhdmUgYSBtYXRjaC4KICAgICAgICAgICAgIGlmIChsaW5lLT5saW5lQnJlYWtCaWRpU3Rh
dHVzKCkgIT0gcmVzb2x2ZXIuc3RhdHVzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OyAvLyAuLi5idXQgdGhlIGJpZGkgc3RhdGUgZG9lc24ndCBtYXRjaC4KQEAgLTIwNTYsNyArMjA1
Niw3IEBAIElubGluZUl0ZXJhdG9yIExpbmVCcmVha2VyOjpuZXh0U2VnbWVudEJyZWFrKElubGlu
ZUJpZGlSZXNvbHZlciYgcmVzb2x2ZXIsIExpbmVJCiAKICAgICBBU1NFUlQocmVzb2x2ZXIucG9z
aXRpb24oKS5yb290KCkgPT0gJm1fYmxvY2spOwogCi0gICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0
aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkubV9wb3MgPiAwOworICAgIGJvb2wgYXBwbGllZFN0YXJ0
V2lkdGggPSByZXNvbHZlci5wb3NpdGlvbigpLm9mZnNldCgpID4gMDsKIAogICAgIExpbmVXaWR0
aCB3aWR0aChtX2Jsb2NrLCBsaW5lSW5mby5pc0ZpcnN0TGluZSgpLCByZXF1aXJlc0luZGVudChs
aW5lSW5mby5pc0ZpcnN0TGluZSgpLCBsaW5lSW5mby5wcmV2aW91c0xpbmVCcm9rZUNsZWFubHko
KSwgbV9ibG9jay5zdHlsZSgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaAppbmRleCA5MTYw
Yjc1MzRiNGNhMmFkNGY4MGQyNWNjNGZhYWQ5NGJjNjE2MGYyLi4zMDlhNjU1M2E1NWMxNzdlMmRj
YjQ3MGNiZmUwZmQzYjEwYTY0YjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC0yNjAs
NyArMjYwLDcgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVCUihFQ2xlYXIm
IGNsZWFyKQogICAgICAgICAvLyBjb2xsYXBzZWQgYXdheSBzbyB0aGF0IGl0IGRvZXNuJ3QgcHVz
aCB0aGUgdGV4dCBvdXQgZnJvbSB0aGUgY29udGFpbmVyJ3MgcmlnaHQtaGFuZCBlZGdlLgogICAg
ICAgICAvLyBGSVhNRTogRG8gdGhpcyByZWdhcmRsZXNzIG9mIHRoZSBjb250YWluZXIncyBhbGln
bm1lbnQgLSB3aWxsIHJlcXVpcmUgcmViYXNlbGluaW5nIGEgbG90IG9mIHRlc3QgcmVzdWx0cy4K
ICAgICAgICAgZWxzZSBpZiAobV9pZ25vcmluZ1NwYWNlcyAmJiAobV9ibG9ja1N0eWxlLnRleHRB
bGlnbigpID09IFJJR0hUIHx8IG1fYmxvY2tTdHlsZS50ZXh0QWxpZ24oKSA9PSBXRUJLSVRfUklH
SFQpKQotICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMo
SW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bvcykp
OworICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5s
aW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSkp
OwogCiAgICAgICAgIGlmICghbV9saW5lSW5mby5pc0VtcHR5KCkpCiAgICAgICAgICAgICBjbGVh
ciA9IG1fY3VycmVudFN0eWxlLT5jbGVhcigpOwpAQCAtMzU0LDcgKzM1NCw3IEBAIGlubGluZSB2
b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlRmxvYXQoKQogICAgIGlmIChtX2Zsb2F0c0ZpdE9u
TGluZSAmJiBtX3dpZHRoLmZpdHNPbkxpbmVFeGNsdWRpbmdUcmFpbGluZ1doaXRlc3BhY2UobV9i
bG9jay5sb2dpY2FsV2lkdGhGb3JGbG9hdChmbG9hdGluZ09iamVjdCkpKSB7CiAgICAgICAgIG1f
bGluZUJyZWFrZXIucG9zaXRpb25OZXdGbG9hdE9uTGluZShmbG9hdGluZ09iamVjdCwgbV9sYXN0
RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBtX2xpbmVJbmZvLCBtX3dpZHRoKTsKICAgICAgICAgaWYg
KG1fbGluZUJyZWFrLnJlbmRlcmVyKCkgPT0gbV9jdXJyZW50LnJlbmRlcmVyKCkpIHsKLSAgICAg
ICAgICAgIEFTU0VSVCghbV9saW5lQnJlYWsubV9wb3MpOworICAgICAgICAgICAgQVNTRVJUKCFt
X2xpbmVCcmVhay5vZmZzZXQoKSk7CiAgICAgICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQo
KTsKICAgICAgICAgfQogICAgIH0gZWxzZQpAQCAtNTE0LDcgKzUxNCw3IEBAIGlubGluZSB2b2lk
IHVwZGF0ZVNlZ21lbnRzRm9yU2hhcGVzKFJlbmRlckJsb2NrRmxvdyYgYmxvY2ssIGNvbnN0IEZs
b2F0aW5nT2JqZWN0CiAKIGlubGluZSBib29sIGl0ZXJhdG9ySXNCZXlvbmRFbmRPZlJlbmRlckNv
bWJpbmVUZXh0KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdGVyLCBSZW5kZXJDb21iaW5lVGV4dCYg
cmVuZGVyZXIpCiB7Ci0gICAgcmV0dXJuIGl0ZXIucmVuZGVyZXIoKSA9PSAmcmVuZGVyZXIgJiYg
aXRlci5tX3BvcyA+PSByZW5kZXJlci50ZXh0TGVuZ3RoKCk7CisgICAgcmV0dXJuIGl0ZXIucmVu
ZGVyZXIoKSA9PSAmcmVuZGVyZXIgJiYgaXRlci5vZmZzZXQoKSA+PSByZW5kZXJlci50ZXh0TGVu
Z3RoKCk7CiB9CiAKIGlubGluZSB2b2lkIG5leHRDaGFyYWN0ZXIoVUNoYXImIGN1cnJlbnRDaGFy
YWN0ZXIsIFVDaGFyJiBsYXN0Q2hhcmFjdGVyLCBVQ2hhciYgc2Vjb25kVG9MYXN0Q2hhcmFjdGVy
KQpAQCAtNTYyLDkgKzU2Miw5IEBAIEFMV0FZU19JTkxJTkUgZmxvYXQgdGV4dFdpZHRoKFJlbmRl
clRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uCiAvLyBBZGRpbmcg
YSBwYWlyIG9mIG1pZHBvaW50cyBiZWZvcmUgYSBjaGFyYWN0ZXIgd2lsbCBzcGxpdCBpdCBvdXQg
aW50byBhIG5ldyBsaW5lIGJveC4KIGlubGluZSB2b2lkIGVuc3VyZUNoYXJhY3RlckdldHNMaW5l
Qm94KExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0b3Im
IHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IpCiB7Ci0gICAgSW5saW5lSXRlcmF0b3IgbWlkcG9pbnQo
MCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJh
dG9yLm1fcG9zKTsKLSAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdGFydElnbm9yaW5nU3BhY2VzKElu
bGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBh
cmFncmFwaFNlcGFyYXRvci5tX3BvcyAtIDEpKTsKLSAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdG9w
SWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5y
ZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zKSk7CisgICAgSW5saW5lSXRl
cmF0b3IgbWlkcG9pbnQoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0
UGFyYWdyYXBoU2VwYXJhdG9yLm9mZnNldCgpKTsKKyAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdGFy
dElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iu
cmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5vZmZzZXQoKSAtIDEpKTsKKyAgICBs
aW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4
dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm9m
ZnNldCgpKSk7CiB9CiAKIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRl
eHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmll
ciwgdW5zaWduZWQgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIGludCBjb25zZWN1dGl2ZUh5
cGhlbmF0ZWRMaW5lc0xpbWl0LCBpbnQgbWluaW11bVByZWZpeExpbWl0LCBpbnQgbWluaW11bVN1
ZmZpeExpbWl0LCB1bnNpZ25lZCBsYXN0U3BhY2UsIHVuc2lnbmVkIHBvcywgZmxvYXQgeFBvcywg
aW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRl
U3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVh
aywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCkBAIC02MzcsNyArNjM3LDcg
QEAgaW5saW5lIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9u
dCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW4KIAogaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wmIGh5
cGhlbmF0ZWQsICB1bnNpZ25lZCYgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMpCiB7Ci0gICAg
aWYgKCFtX2N1cnJlbnQubV9wb3MpCisgICAgaWYgKCFtX2N1cnJlbnQub2Zmc2V0KCkpCiAgICAg
ICAgIG1fYXBwbGllZFN0YXJ0V2lkdGggPSBmYWxzZTsKIAogICAgIFJlbmRlclRleHQqIHJlbmRl
clRleHQgPSB0b1JlbmRlclRleHQobV9jdXJyZW50LnJlbmRlcmVyKCkpOwpAQCAtNjY3LDcgKzY2
Nyw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3Vy
ZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgYm9vbCBpc0ZpeGVkUGl0Y2ggPSBm
b250LmlzRml4ZWRQaXRjaCgpOwogICAgIGJvb2wgY2FuSHlwaGVuYXRlID0gc3R5bGUuaHlwaGVu
cygpID09IEh5cGhlbnNBdXRvICYmIFdlYkNvcmU6OmNhbkh5cGhlbmF0ZShzdHlsZS5sb2NhbGUo
KSk7CiAKLSAgICB1bnNpZ25lZCBsYXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgdW5z
aWduZWQgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm9mZnNldCgpOwogICAgIGZsb2F0IHdvcmRTcGFj
aW5nID0gbV9jdXJyZW50U3R5bGUtPndvcmRTcGFjaW5nKCk7CiAgICAgZmxvYXQgbGFzdFNwYWNl
V29yZFNwYWNpbmcgPSAwOwogICAgIGZsb2F0IHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50
ID0gMDsKQEAgLTcwOCw3ICs3MDgsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6Omhh
bmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogCiAgICAg
VUNoYXIgbGFzdENoYXJhY3RlciA9IG1fcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRv
ci5sYXN0Q2hhcmFjdGVyKCk7CiAgICAgVUNoYXIgc2Vjb25kVG9MYXN0Q2hhcmFjdGVyID0gbV9y
ZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVha0l0ZXJhdG9yLnNlY29uZFRvTGFzdENoYXJhY3Rlcigp
OwotICAgIGZvciAoOyBtX2N1cnJlbnQubV9wb3MgPCByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCk7
IG1fY3VycmVudC5mYXN0SW5jcmVtZW50SW5UZXh0Tm9kZSgpKSB7CisgICAgZm9yICg7IG1fY3Vy
cmVudC5vZmZzZXQoKSA8IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKTsgbV9jdXJyZW50LmZhc3RJ
bmNyZW1lbnRJblRleHROb2RlKCkpIHsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJhY3Rlcklz
U3BhY2UgPSBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlOwogICAgICAgICBib29sIHByZXZpb3Vz
Q2hhcmFjdGVySXNXUyA9IG1fY3VycmVudENoYXJhY3RlcklzV1M7CiAgICAgICAgIFVDaGFyIGMg
PSBtX2N1cnJlbnQuY3VycmVudCgpOwpAQCAtNzI4LDEzICs3MjgsMTMgQEAgaW5saW5lIGJvb2wg
QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJl
bWVudHMsIGJvb2wKIAogICAgICAgICBpZiAoKGJyZWFrQWxsIHx8IGJyZWFrV29yZHMpICYmICFt
aWRXb3JkQnJlYWsgJiYgKCFtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlIHx8IHN0eWxlLndoaXRl
U3BhY2UoKSAhPSBQUkVfV1JBUCkpIHsKICAgICAgICAgICAgIHdyYXBXICs9IGNoYXJXaWR0aDsK
LSAgICAgICAgICAgIGJvb2wgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID0gVTE2
X0lTX0xFQUQoYykgJiYgbV9jdXJyZW50Lm1fcG9zICsgMSA8IHJlbmRlclRleHQtPnRleHRMZW5n
dGgoKSAmJiBVMTZfSVNfVFJBSUwoKCpyZW5kZXJUZXh0KVttX2N1cnJlbnQubV9wb3MgKyAxXSk7
Ci0gICAgICAgICAgICBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50
Lm1fcG9zLCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZm9udCwg
bV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcsIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBz
ZVdoaXRlU3BhY2UsIGZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOworICAgICAgICAgICAgYm9v
bCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPSBVMTZfSVNfTEVBRChjKSAmJiBt
X2N1cnJlbnQub2Zmc2V0KCkgKyAxIDwgcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgpICYmIFUxNl9J
U19UUkFJTCgoKnJlbmRlclRleHQpW21fY3VycmVudC5vZmZzZXQoKSArIDFdKTsKKyAgICAgICAg
ICAgIGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBtX2N1cnJlbnQub2Zmc2V0KCks
IG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFpciA/IDIgOiAxLCBmb250LCBtX3dpZHRo
LmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVywgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVT
cGFjZSwgZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7CiAgICAgICAgICAgICBtaWRXb3JkQnJl
YWsgPSBtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVyArIGNoYXJXaWR0aCA+IG1fd2lk
dGguYXZhaWxhYmxlV2lkdGgoKTsKICAgICAgICAgfQogCiAgICAgICAgIGludCBuZXh0QnJlYWth
YmxlUG9zaXRpb24gPSBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCk7Ci0gICAgICAg
IGJvb2wgYmV0d2VlbldvcmRzID0gYyA9PSAnXG4nIHx8IChtX2N1cnJXUyAhPSBQUkUgJiYgIW1f
YXRTdGFydCAmJiBpc0JyZWFrYWJsZShtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFrSXRlcmF0
b3IsIG1fY3VycmVudC5tX3BvcywgbmV4dEJyZWFrYWJsZVBvc2l0aW9uLCBicmVha05CU1ApCisg
ICAgICAgIGJvb2wgYmV0d2VlbldvcmRzID0gYyA9PSAnXG4nIHx8IChtX2N1cnJXUyAhPSBQUkUg
JiYgIW1fYXRTdGFydCAmJiBpc0JyZWFrYWJsZShtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFr
SXRlcmF0b3IsIG1fY3VycmVudC5vZmZzZXQoKSwgbmV4dEJyZWFrYWJsZVBvc2l0aW9uLCBicmVh
a05CU1ApCiAgICAgICAgICAgICAmJiAoc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lIHx8
IChtX2N1cnJlbnQucHJldmlvdXNJblNhbWVOb2RlKCkgIT0gc29mdEh5cGhlbikpKTsKICAgICAg
ICAgbV9jdXJyZW50LnNldE5leHRCcmVha2FibGVQb3NpdGlvbihuZXh0QnJlYWthYmxlUG9zaXRp
b24pOwogCkBAIC03NDcsOCArNzQ3LDggQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0Ojpo
YW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAg
ICAgICAgICAgICAgICAgLy8gbmV3IHBvaW50LgogICAgICAgICAgICAgICAgICAgICBtX2lnbm9y
aW5nU3BhY2VzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIHdvcmRTcGFjaW5nRm9yV29y
ZE1lYXN1cmVtZW50ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0gbV9jdXJy
ZW50Lm1fcG9zOyAvLyBlLmcuLCAiRm9vICAgIGdvbyIsIGRvbid0IGFkZCBpbiBhbnkgb2YgdGhl
IGlnbm9yZWQgc3BhY2VzLgotICAgICAgICAgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRl
LnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIo
KSwgbV9jdXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1f
Y3VycmVudC5vZmZzZXQoKTsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55
IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KKyAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9p
bnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJl
bmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSkpOwogICAgICAgICAgICAgICAgICAgICBzdG9w
cGVkSWdub3JpbmdTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIEp1c3Qga2VlcCBpZ25vcmluZyB0aGVzZSBzcGFjZXMuCkBAIC03
NjEsMTQgKzc2MSwxNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQo
V29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgV29y
ZE1lYXN1cmVtZW50JiB3b3JkTWVhc3VyZW1lbnQgPSB3b3JkTWVhc3VyZW1lbnRzLmxhc3QoKTsK
IAogICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LnJlbmRlcmVyID0gcmVuZGVyVGV4dDsKLSAg
ICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2N1cnJlbnQubV9wb3M7Cisg
ICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm9mZnNldCgp
OwogICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LnN0YXJ0T2Zmc2V0ID0gbGFzdFNwYWNlOwog
CiAgICAgICAgICAgICBmbG9hdCBhZGRpdGlvbmFsVGVtcFdpZHRoOwogICAgICAgICAgICAgaWYg
KHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggJiYgYyA9PSAnICcpCi0gICAgICAgICAgICAgICAgYWRk
aXRpb25hbFRlbXBXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3Vy
cmVudC5tX3BvcyArIDEgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCks
IGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxs
YmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGg7CisgICAgICAg
ICAgICAgICAgYWRkaXRpb25hbFRlbXBXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0
U3BhY2UsIG1fY3VycmVudC5vZmZzZXQoKSArIDEgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGgu
Y3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRN
ZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAtIHdvcmRUcmFpbGluZ1NwYWNl
V2lkdGg7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYWRkaXRpb25hbFRlbXBX
aWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3VycmVudC5tX3BvcyAt
IGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBt
X2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRM
YXlvdXQpOworICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgo
cmVuZGVyVGV4dCwgbGFzdFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCkgLSBsYXN0U3BhY2UsIGZv
bnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRl
U3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKIAogICAg
ICAgICAgICAgaWYgKHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLmlzRW1wdHkoKSAmJiAh
ZmFsbGJhY2tGb250cy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50
LmZhbGxiYWNrRm9udHMuc3dhcChmYWxsYmFja0ZvbnRzKTsKQEAgLTgwMCw3ICs4MDAsNyBAQCBp
bmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYg
d29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgIC8vIGFzIGNhbmRpZGF0ZSB3
aWR0aCBmb3IgdGhpcyBsaW5lLgogICAgICAgICAgICAgICAgIGJvb2wgbGluZVdhc1Rvb1dpZGUg
PSBmYWxzZTsKICAgICAgICAgICAgICAgICBpZiAobV93aWR0aC5maXRzT25MaW5lKCkgJiYgbV9j
dXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiBtX2N1cnJlbnRTdHlsZS0+YnJlYWtPbmx5QWZ0ZXJX
aGl0ZVNwYWNlKCkgJiYgIW1pZFdvcmRCcmVhaykgewotICAgICAgICAgICAgICAgICAgICBmbG9h
dCBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm1fcG9zLCAxLCBm
b250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0
ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkgKyAoYXBw
bHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMCk7CisgICAgICAgICAgICAgICAgICAgIGZs
b2F0IGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBtX2N1cnJlbnQub2Zmc2V0KCks
IDEsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBz
ZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAr
IChhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwKTsKICAgICAgICAgICAgICAgICAg
ICAgLy8gQ2hlY2sgaWYgbGluZSBpcyB0b28gYmlnIGV2ZW4gd2l0aG91dCB0aGUgZXh0cmEgc3Bh
Y2UKICAgICAgICAgICAgICAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gSWYgaXQg
aXMgbm90LCBkbyBub3RoaW5nLgogICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbGluZSBu
ZWVkcyB0aGUgZXh0cmEgd2hpdGVzcGFjZSB0byBiZSB0b28gbG9uZywKQEAgLTgwOCwzMCArODA4
LDMwIEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3Vy
ZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwgd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3dpZHRoLmZp
dHNPbkxpbmVJbmNsdWRpbmdFeHRyYVdpZHRoKGNoYXJXaWR0aCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpbmVXYXNUb29XaWRlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9z
LCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQu
b2Zmc2V0KCksIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2xpbmVCcmVha2VyLnNraXBUcmFpbGluZ1doaXRlc3BhY2UobV9saW5l
QnJlYWssIG1fbGluZUluZm8pOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIGlmIChsaW5lV2FzVG9vV2lkZSB8fCAhbV93aWR0aC5maXRz
T25MaW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbkh5cGhlbmF0ZSAmJiAhbV93
aWR0aC5maXRzT25MaW5lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyeUh5cGhlbmF0
aW5nKHJlbmRlclRleHQsIGZvbnQsIHN0eWxlLmxvY2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0
ZWRMaW5lcywgbV9ibG9ja1N0eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBo
ZW5hdGlvbkxpbWl0QmVmb3JlKCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0
U3BhY2UsIG1fY3VycmVudC5tX3BvcywgbV93aWR0aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9u
YWxUZW1wV2lkdGgsIG1fd2lkdGguYXZhaWxhYmxlV2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2Nv
bGxhcHNlV2hpdGVTcGFjZSwgbGFzdFNwYWNlV29yZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1
cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCksIG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVk
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeUh5cGhlbmF0aW5nKHJlbmRlclRleHQsIGZv
bnQsIHN0eWxlLmxvY2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgbV9ibG9ja1N0
eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QmVmb3Jl
KCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0U3BhY2UsIG1fY3VycmVudC5v
ZmZzZXQoKSwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9uYWxUZW1wV2lkdGgsIG1f
d2lkdGguYXZhaWxhYmxlV2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFj
ZSwgbGFzdFNwYWNlV29yZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1cnJlbnQubmV4dEJyZWFr
YWJsZVBvc2l0aW9uKCksIG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVkKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYXRFbmQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsuYXRUZXh0
UGFyYWdyYXBoU2VwYXJhdG9yKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3Rv
cHBlZElnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVudC5tX3BvcyA+IDApCisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQub2Zmc2V0
KCkgPiAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuc3VyZUNoYXJhY3RlckdldHNM
aW5lQm94KG1fbGluZU1pZHBvaW50U3RhdGUsIG1fY3VycmVudCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IG1fbGluZUluZm8uc2V0UHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KHRydWUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fbGluZUJyZWFrLm1f
cG9zOworICAgICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9
IG1fbGluZUJyZWFrLm9mZnNldCgpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5yZW5kZXJlcigpICYmIG1fbGluZUJyZWFrLm1fcG9z
ICYmIG1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzVGV4dCgpICYmIHRvUmVuZGVyVGV4dChtX2xp
bmVCcmVhay5yZW5kZXJlcigpKS0+dGV4dExlbmd0aCgpICYmIHRvUmVuZGVyVGV4dChtX2xpbmVC
cmVhay5yZW5kZXJlcigpKS0+Y2hhcmFjdGVyQXQobV9saW5lQnJlYWsubV9wb3MgLSAxKSA9PSBz
b2Z0SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fbGluZUJyZWFrLnJlbmRlcmVyKCkgJiYgbV9saW5lQnJlYWsub2Zmc2V0
KCkgJiYgbV9saW5lQnJlYWsucmVuZGVyZXIoKS0+aXNUZXh0KCkgJiYgdG9SZW5kZXJUZXh0KG1f
bGluZUJyZWFrLnJlbmRlcmVyKCkpLT50ZXh0TGVuZ3RoKCkgJiYgdG9SZW5kZXJUZXh0KG1fbGlu
ZUJyZWFrLnJlbmRlcmVyKCkpLT5jaGFyYWN0ZXJBdChtX2xpbmVCcmVhay5vZmZzZXQoKSAtIDEp
ID09IHNvZnRIeXBoZW4gJiYgc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lKQogICAgICAg
ICAgICAgICAgICAgICAgICAgaHlwaGVuYXRlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChtX2xpbmVCcmVhay5tX3BvcyAmJiBtX2xpbmVCcmVhay5tX3BvcyAhPSAodW5zaWduZWQp
d29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCAmJiAhd29yZE1lYXN1cmVtZW50LndpZHRoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5vZmZzZXQoKSAmJiBtX2xpbmVCcmVh
ay5vZmZzZXQoKSAhPSAodW5zaWduZWQpd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCAmJiAhd29y
ZE1lYXN1cmVtZW50LndpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hhcldp
ZHRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9m
ZnNldCA9IG1fbGluZUJyZWFrLm1fcG9zOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdv
cmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2xpbmVCcmVhay5vZmZzZXQoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQud2lkdGggPSBjaGFyV2lkdGg7CiAg
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTg1Miw5
ICs4NTIsOSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1l
YXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBpZiAoYyA9PSAnXG4nICYmIG1fcHJlc2VydmVzTmV3bGluZSkgewotICAgICAgICAg
ICAgICAgIGlmICghc3RvcHBlZElnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVudC5tX3BvcyA+IDAp
CisgICAgICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50
Lm9mZnNldCgpID4gMCkKICAgICAgICAgICAgICAgICAgICAgZW5zdXJlQ2hhcmFjdGVyR2V0c0xp
bmVCb3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKLSAgICAgICAgICAgICAgICBt
X2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bvcywg
bV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwg
bV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICAgICAgICAgICAgICBtX2xpbmVJbmZvLnNldFByZXZp
b3VzTGluZUJyb2tlQ2xlYW5seSh0cnVlKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTg2Myw3ICs4NjMsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRl
eHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAg
aWYgKG1fYXV0b1dyYXAgJiYgYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbV93aWR0
aC5jb21taXQoKTsKICAgICAgICAgICAgICAgICB3cmFwVyA9IDA7Ci0gICAgICAgICAgICAgICAg
bV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3Ms
IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9s
aW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCks
IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAgICAgICAgLy8g
QXV0by13cmFwcGluZyB0ZXh0IHNob3VsZCBub3Qgd3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29y
ZCBvbmNlIGl0IGhhcyBoYWQgYW4KICAgICAgICAgICAgICAgICAvLyBvcHBvcnR1bml0eSB0byBi
cmVhayBhZnRlciBhIHdvcmQuCiAgICAgICAgICAgICAgICAgYnJlYWtXb3JkcyA9IGZhbHNlOwpA
QCAtODcyLDE0ICs4NzIsMTQgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVU
ZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAg
IGlmIChtaWRXb3JkQnJlYWsgJiYgIVUxNl9JU19UUkFJTChjKSAmJiAhKFVfR0VUX0dDX01BU0so
YykgJiBVX0dDX01fTUFTSykpIHsKICAgICAgICAgICAgICAgICAvLyBSZW1lbWJlciB0aGlzIGFz
IGEgYnJlYWthYmxlIHBvc2l0aW9uIGluIGNhc2UKICAgICAgICAgICAgICAgICAvLyBhZGRpbmcg
dGhlIGVuZCB3aWR0aCBmb3JjZXMgYSBicmVhay4KLSAgICAgICAgICAgICAgICBtX2xpbmVCcmVh
ay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9jdXJyZW50
Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5t
b3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50
Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtaWRXb3JkQnJlYWsg
Jj0gKGJyZWFrV29yZHMgfHwgYnJlYWtBbGwpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICBpZiAoYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNwYWNp
bmcgPSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAgICAg
IHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50ID0gKGFwcGx5V29yZFNwYWNpbmcgJiYgd29y
ZE1lYXN1cmVtZW50LndpZHRoKSA/IHdvcmRTcGFjaW5nIDogMDsKLSAgICAgICAgICAgICAgICBs
YXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0g
bV9jdXJyZW50Lm9mZnNldCgpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoIW1f
aWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50U3R5bGUtPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7
CkBAIC05MDIsMzQgKzkwMiwzNSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRs
ZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAg
ICAgbV9pZ25vcmluZ1NwYWNlcyA9IGZhbHNlOwogICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNw
YWNpbmcgPSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAg
d29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAoYXBwbHlXb3JkU3BhY2luZyAmJiB3b3Jk
TWVhc3VyZW1lbnRzLmxhc3QoKS53aWR0aCkgPyB3b3JkU3BhY2luZyA6IDA7Ci0gICAgICAgICAg
ICBsYXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9u
J3QgYWRkIGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCi0gICAgICAgICAgICBtX2xpbmVN
aWRwb2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJl
bnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICBsYXN0U3BhY2Ug
PSBtX2N1cnJlbnQub2Zmc2V0KCk7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRkIGlu
IGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCisgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0
YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVy
ZXIoKSwgbV9jdXJyZW50Lm9mZnNldCgpKSk7CiAgICAgICAgIH0KICNpZiBFTkFCTEUoU1ZHKQot
ICAgICAgICBpZiAoaXNTVkdUZXh0ICYmIG1fY3VycmVudC5tX3BvcyA+IDApIHsKKyAgICAgICAg
aWYgKGlzU1ZHVGV4dCAmJiBtX2N1cnJlbnQub2Zmc2V0KCkgPiAwKSB7CiAgICAgICAgICAgICAv
LyBGb3JjZSBjcmVhdGlvbiBvZiBuZXcgSW5saW5lQm94ZXMgZm9yIGVhY2ggYWJzb2x1dGUgcG9z
aXRpb25lZCBjaGFyYWN0ZXIgKHRob3NlIHRoYXQgc3RhcnQgbmV3IHRleHQgY2h1bmtzKS4KLSAg
ICAgICAgICAgIGlmICh0b1JlbmRlclNWR0lubGluZVRleHQocmVuZGVyVGV4dCktPmNoYXJhY3Rl
clN0YXJ0c05ld1RleHRDaHVuayhtX2N1cnJlbnQubV9wb3MpKQorICAgICAgICAgICAgaWYgKHRv
UmVuZGVyU1ZHSW5saW5lVGV4dChyZW5kZXJUZXh0KS0+Y2hhcmFjdGVyU3RhcnRzTmV3VGV4dENo
dW5rKG1fY3VycmVudC5vZmZzZXQoKSkpCiAgICAgICAgICAgICAgICAgZW5zdXJlQ2hhcmFjdGVy
R2V0c0xpbmVCb3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKICAgICAgICAgfQog
I2VuZGlmCiAKICAgICAgICAgaWYgKG1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgIXByZXZp
b3VzQ2hhcmFjdGVySXNTcGFjZSkgewogICAgICAgICAgICAgbV9zdGFydE9mSWdub3JlZFNwYWNl
cy5zZXRSZW5kZXJlcihtX2N1cnJlbnQucmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICBtX3N0YXJ0
T2ZJZ25vcmVkU3BhY2VzLm1fcG9zID0gbV9jdXJyZW50Lm1fcG9zOworICAgICAgICAgICAgbV9z
dGFydE9mSWdub3JlZFNwYWNlcy5zZXRPZmZzZXQobV9jdXJyZW50Lm9mZnNldCgpKTsKICAgICAg
ICAgICAgIC8vIFNwYWNlcyBhZnRlciByaWdodC1hbGlnbmVkIHRleHQgYW5kIGJlZm9yZSBhIGxp
bmUtYnJlYWsgZ2V0IGNvbGxhcHNlZCBhd2F5IGNvbXBsZXRlbHkgc28gdGhhdCB0aGUgdHJhaWxp
bmcKICAgICAgICAgICAgIC8vIHNwYWNlIGRvZXNuJ3Qgc2VlbSB0byBwdXNoIHRoZSB0ZXh0IG91
dCBmcm9tIHRoZSByaWdodC1oYW5kIGVkZ2UuCiAgICAgICAgICAgICAvLyBGSVhNRTogRG8gdGhp
cyByZWdhcmRsZXNzIG9mIHRoZSBjb250YWluZXIncyBhbGlnbm1lbnQgLSB3aWxsIHJlcXVpcmUg
cmViYXNlbGluaW5nIGEgbG90IG9mIHRlc3QgcmVzdWx0cy4KICAgICAgICAgICAgIGlmIChtX25l
eHRPYmplY3QgJiYgbV9uZXh0T2JqZWN0LT5pc0JSKCkgJiYgKG1fYmxvY2tTdHlsZS50ZXh0QWxp
Z24oKSA9PSBSSUdIVCB8fCBtX2Jsb2NrU3R5bGUudGV4dEFsaWduKCkgPT0gV0VCS0lUX1JJR0hU
KSkgewotICAgICAgICAgICAgICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMubV9wb3MtLTsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50UG9zaXRpb24gPSBtX3N0YXJ0T2ZJZ25vcmVk
U3BhY2VzLm9mZnNldCgpOworICAgICAgICAgICAgICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMu
c2V0T2Zmc2V0KC0tY3VycmVudFBvc2l0aW9uKTsKICAgICAgICAgICAgICAgICAvLyBJZiB0aGVy
ZSdzIGp1c3QgYSBzaW5nbGUgdHJhaWxpbmcgc3BhY2Ugc3RhcnQgaWdub3JpbmcgaXQgbm93IHNv
IGl0IGNvbGxhcHNlcyBhd2F5LgotICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnQubV9wb3Mg
PT0gcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgpIC0gMSkKKyAgICAgICAgICAgICAgICBpZiAobV9j
dXJyZW50Lm9mZnNldCgpID09IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAtIDEpCiAgICAgICAg
ICAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhtX3N0
YXJ0T2ZJZ25vcmVkU3BhY2VzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAg
IGlmICghbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiBwcmV2aW91c0NoYXJhY3RlcklzV1Mp
IHsKICAgICAgICAgICAgIGlmIChtX2F1dG9XcmFwICYmIG1fY3VycmVudFN0eWxlLT5icmVha09u
bHlBZnRlcldoaXRlU3BhY2UoKSkKLSAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8o
bV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9jdXJyZW50Lm5leHRCcmVh
a2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9j
dXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50Lm5leHRCcmVh
a2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtX2NvbGxhcHNlV2hp
dGVTcGFjZSAmJiBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYmICFtX2lnbm9yaW5nU3BhY2Vz
KQpAQCAtOTQ4LDkgKzk0OSw5IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxl
VGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgd29yZE1l
YXN1cmVtZW50LnJlbmRlcmVyID0gcmVuZGVyVGV4dDsKIAogICAgIC8vIElNUE9SVEFOVDogY3Vy
cmVudC5tX3BvcyBpcyA+IGxlbmd0aCBoZXJlIQotICAgIGZsb2F0IGFkZGl0aW9uYWxUZW1wV2lk
dGggPSBtX2lnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3Bh
Y2UsIG1fY3VycmVudC5tX3BvcyAtIGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lk
dGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50
LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOworICAgIGZsb2F0IGFkZGl0aW9uYWxUZW1wV2lk
dGggPSBtX2lnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3Bh
Y2UsIG1fY3VycmVudC5vZmZzZXQoKSAtIGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50
V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVt
ZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOwogICAgIHdvcmRNZWFzdXJlbWVudC5zdGFy
dE9mZnNldCA9IGxhc3RTcGFjZTsKLSAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9j
dXJyZW50Lm1fcG9zOworICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2N1cnJlbnQu
b2Zmc2V0KCk7CiAgICAgd29yZE1lYXN1cmVtZW50LndpZHRoID0gbV9pZ25vcmluZ1NwYWNlcyA/
IDAgOiBhZGRpdGlvbmFsVGVtcFdpZHRoICsgd29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQ7
CiAgICAgYWRkaXRpb25hbFRlbXBXaWR0aCArPSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKIApAQCAt
OTY4LDcgKzk2OSw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChX
b3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAKICAgICBpZiAoIW1fd2lk
dGguZml0c09uTGluZSgpKSB7CiAgICAgICAgIGlmIChjYW5IeXBoZW5hdGUpCi0gICAgICAgICAg
ICB0cnlIeXBoZW5hdGluZyhyZW5kZXJUZXh0LCBmb250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2Vj
dXRpdmVIeXBoZW5hdGVkTGluZXMsIG1fYmxvY2tTdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMo
KSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0
QWZ0ZXIoKSwgbGFzdFNwYWNlLCBtX2N1cnJlbnQubV9wb3MsIG1fd2lkdGguY3VycmVudFdpZHRo
KCkgLSBhZGRpdGlvbmFsVGVtcFdpZHRoLCBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4
ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xp
bmVCcmVhaywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2Vy
Lm1faHlwaGVuYXRlZCk7CisgICAgICAgICAgICB0cnlIeXBoZW5hdGluZyhyZW5kZXJUZXh0LCBm
b250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIG1fYmxvY2tT
dHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEJlZm9y
ZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwgbGFzdFNwYWNlLCBtX2N1cnJlbnQu
b2Zmc2V0KCksIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRpdGlvbmFsVGVtcFdpZHRoLCBt
X3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3Bh
Y2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywgbV9jdXJyZW50Lm5leHRCcmVh
a2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCk7CiAKICAgICAgICAg
aWYgKCFoeXBoZW5hdGVkICYmIG1fbGluZUJyZWFrLnByZXZpb3VzSW5TYW1lTm9kZSgpID09IHNv
ZnRIeXBoZW4gJiYgc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lKSB7CiAgICAgICAgICAg
ICBoeXBoZW5hdGVkID0gdHJ1ZTsKQEAgLTEwNzksOCArMTA4MCwxMCBAQCBpbmxpbmUgdm9pZCBj
aGVja01pZHBvaW50cyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIElubGlu
ZUl0ZXJhdG9yJgogICAgICAgICBpZiAoY3VycnBvaW50ID09IGxCcmVhaykgewogICAgICAgICAg
ICAgLy8gV2UgaGl0IHRoZSBsaW5lIGJyZWFrIGJlZm9yZSB0aGUgc3RhcnQgcG9pbnQuIFNoYXZl
IG9mZiB0aGUgc3RhcnQgcG9pbnQuCiAgICAgICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5udW1N
aWRwb2ludHMtLTsKLSAgICAgICAgICAgIGlmIChlbmRwb2ludC5yZW5kZXJlcigpLT5zdHlsZSgp
LmNvbGxhcHNlV2hpdGVTcGFjZSgpICYmIGVuZHBvaW50LnJlbmRlcmVyKCktPmlzVGV4dCgpKQot
ICAgICAgICAgICAgICAgIGVuZHBvaW50Lm1fcG9zLS07CisgICAgICAgICAgICBpZiAoZW5kcG9p
bnQucmVuZGVyZXIoKS0+c3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSAmJiBlbmRwb2ludC5y
ZW5kZXJlcigpLT5pc1RleHQoKSkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRQ
b3NpdGlvbiA9IGVuZHBvaW50Lm9mZnNldCgpOworICAgICAgICAgICAgICAgIGVuZHBvaW50LnNl
dE9mZnNldCgtLWN1cnJlbnRQb3NpdGlvbik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9CiB9CkBAIC0xMDk3LDE5ICsxMTAwLDE5IEBAIElubGluZUl0ZXJhdG9yIEJyZWFraW5nQ29u
dGV4dDo6aGFuZGxlRW5kT2ZMaW5lKCkKICAgICAgICAgaWYgKG1fbGluZUJyZWFrID09IG1fcmVz
b2x2ZXIucG9zaXRpb24oKSkgewogICAgICAgICAgICAgaWYgKCFtX2xpbmVCcmVhay5yZW5kZXJl
cigpIHx8ICFtX2xpbmVCcmVhay5yZW5kZXJlcigpLT5pc0JSKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyB3ZSBqdXN0IGFkZCBhcyBtdWNoIGFzIHBvc3NpYmxlCi0gICAgICAgICAgICAgICAgaWYg
KG1fYmxvY2tTdHlsZS53aGl0ZVNwYWNlKCkgPT0gUFJFICYmICFtX2N1cnJlbnQubV9wb3MpIHsK
KyAgICAgICAgICAgICAgICBpZiAobV9ibG9ja1N0eWxlLndoaXRlU3BhY2UoKSA9PSBQUkUgJiYg
IW1fY3VycmVudC5vZmZzZXQoKSkgewogICAgICAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5t
b3ZlVG8obV9sYXN0T2JqZWN0LCBtX2xhc3RPYmplY3QtPmlzVGV4dCgpID8gbV9sYXN0T2JqZWN0
LT5sZW5ndGgoKSA6IDApOwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobV9saW5lQnJlYWsu
cmVuZGVyZXIoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBldmVyIGJyZWFrIGlu
IHRoZSBtaWRkbGUgb2YgYSB3b3JkIGlmIHdlIGNhbiBoZWxwIGl0LgogICAgICAgICAgICAgICAg
ICAgICAvLyBUaGVyZSdzIG5vIHJvb20gYXQgYWxsLiBXZSBqdXN0IGhhdmUgdG8gYmUgb24gdGhp
cyBsaW5lLAogICAgICAgICAgICAgICAgICAgICAvLyBldmVuIHRob3VnaCB3ZSdsbCBzcGlsbCBv
dXQuCi0gICAgICAgICAgICAgICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVu
ZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zKTsKKyAgICAgICAgICAgICAgICAgICAgbV9saW5lQnJl
YWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCkpOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB3
ZSBjb25zdW1lIGF0IGxlYXN0IG9uZSBjaGFyL29iamVjdC4KICAgICAgICAgICAgIGlmIChtX2xp
bmVCcmVhayA9PSBtX3Jlc29sdmVyLnBvc2l0aW9uKCkpCiAgICAgICAgICAgICAgICAgbV9saW5l
QnJlYWsuaW5jcmVtZW50KCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIW1fY3VycmVudC5tX3BvcyAm
JiAhbV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICYmIG1fd2lkdGgudW5jb21taXR0ZWRXaWR0aCgp
ICYmICFtX2hhZFVuY29tbWl0dGVkV2lkdGhCZWZvcmVDdXJyZW50KSB7CisgICAgICAgIH0gZWxz
ZSBpZiAoIW1fY3VycmVudC5vZmZzZXQoKSAmJiAhbV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICYm
IG1fd2lkdGgudW5jb21taXR0ZWRXaWR0aCgpICYmICFtX2hhZFVuY29tbWl0dGVkV2lkdGhCZWZv
cmVDdXJyZW50KSB7CiAgICAgICAgICAgICAvLyBEbyBub3QgcHVzaCB0aGUgY3VycmVudCBvYmpl
Y3QgdG8gdGhlIG5leHQgbGluZSwgd2hlbiB0aGlzIGxpbmUgaGFzIHNvbWUgY29udGVudCwgYnV0
IGl0IGlzIHN0aWxsIGNvbnNpZGVyZWQgZW1wdHkuCiAgICAgICAgICAgICAvLyBFbXB0eSBpbmxp
bmUgZWxlbWVudHMgbGlrZSA8c3Bhbj48L3NwYW4+IGNhbiBwcm9kdWNlIHN1Y2ggbGluZXMgYW5k
IG5vdyB3ZSBqdXN0IGlnbm9yZSB0aGVzZSBicmVhayBvcHBvcnR1bml0aWVzCiAgICAgICAgICAg
ICAvLyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lLCBpZiBubyB3aWR0aCBoYXMgYmVlbiBjb21taXR0
ZWQgeWV0LgpAQCAtMTEyNyw4ICsxMTMwLDkgQEAgSW5saW5lSXRlcmF0b3IgQnJlYWtpbmdDb250
ZXh0OjpoYW5kbGVFbmRPZkxpbmUoKQogICAgIC8vIG9mIHRoZSBvYmplY3QuIERvIHRoaXMgYWRq
dXN0bWVudCB0byBtYWtlIGl0IHBvaW50IHRvIHRoZSBzdGFydAogICAgIC8vIG9mIHRoZSBuZXh0
IG9iamVjdCBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2luZyB0aGUgcmVzdCBvZiB0aGUKICAgICAv
LyBjb2RlLgotICAgIGlmIChtX2xpbmVCcmVhay5tX3BvcyA+IDApIHsKLSAgICAgICAgbV9saW5l
QnJlYWsubV9wb3MtLTsKKyAgICBpZiAobV9saW5lQnJlYWsub2Zmc2V0KCkgPiAwKSB7CisgICAg
ICAgIHVuc2lnbmVkIGN1cnJlbnRQb3NpdGlvbiA9IG1fbGluZUJyZWFrLm9mZnNldCgpOworICAg
ICAgICBtX2xpbmVCcmVhay5zZXRPZmZzZXQoLS1jdXJyZW50UG9zaXRpb24pOwogICAgICAgICBt
X2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbGluZS9UcmFpbGluZ09iamVjdHMuY3BwCmluZGV4IGE2Y2U4NGE3YWMxYTUwOWMy
ZjY3ZDFhN2FmYzEzZGZkNGFjMTRlNjUuLjkyODc4ZGFiNzYyOTMwYTg3Y2NmMzMzZWJmN2U0Yjc3
NTFmNzZjOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWls
aW5nT2JqZWN0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxp
bmdPYmplY3RzLmNwcApAQCAtNDEsOCArNDEsMTAgQEAgdm9pZCBUcmFpbGluZ09iamVjdHM6OnVw
ZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94ZXMoTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWQK
ICAgICAgICAgaW50IHRyYWlsaW5nU3BhY2VNaWRwb2ludCA9IGxpbmVNaWRwb2ludFN0YXRlLm51
bU1pZHBvaW50cyAtIDE7CiAgICAgICAgIGZvciAoIDsgdHJhaWxpbmdTcGFjZU1pZHBvaW50ID4g
MCAmJiBsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50XS5y
ZW5kZXJlcigpICE9IG1fd2hpdGVzcGFjZTsgLS10cmFpbGluZ1NwYWNlTWlkcG9pbnQpIHsgfQog
ICAgICAgICBBU1NFUlQodHJhaWxpbmdTcGFjZU1pZHBvaW50ID49IDApOwotICAgICAgICBpZiAo
Y29sbGFwc2VGaXJzdFNwYWNlID09IENvbGxhcHNlRmlyc3RTcGFjZSkKLSAgICAgICAgICAgIGxp
bmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLm1fcG9zLS07
CisgICAgICAgIGlmIChjb2xsYXBzZUZpcnN0U3BhY2UgPT0gQ29sbGFwc2VGaXJzdFNwYWNlKSB7
CisgICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50UG9zaXRpb24gPSBsaW5lTWlkcG9pbnRTdGF0
ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50XS5vZmZzZXQoKTsKKyAgICAgICAgICAg
IGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLnNldE9m
ZnNldCgtLWN1cnJlbnRQb3NpdGlvbik7CisgICAgICAgIH0KIAogICAgICAgICAvLyBOb3cgbWFr
ZSBzdXJlIGV2ZXJ5IHNpbmdsZSB0cmFpbGluZ1Bvc2l0aW9uZWRCb3ggZm9sbG93aW5nIHRoZSB0
cmFpbGluZ1NwYWNlTWlkcG9pbnQgcHJvcGVybHkgc3RvcHMgYW5kIHN0YXJ0cwogICAgICAgICAv
LyBpZ25vcmluZyBzcGFjZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220015</attachid>
            <date>2013-12-25 17:58:48 -0800</date>
            <delta_ts>2013-12-25 20:16:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125614-20131226105846.patch</filename>
            <type>text/plain</type>
            <size>35122</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4MmNhNDQzNWI5MzBl
MmE0MmQ4NWRjMDAzZjVhNWVkM2VlYWI2Zi4uYmE4MzhhYTFiOWZiNTk0ZDNlNzljMmU1NjkzYWEw
NWZjYjdhOWUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTI1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgU2V0IG1fcG9z
IGFzIHByaXZhdGUgaW4gSW5saW5lSXRlcmF0b3IsIGFuZCB1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIg
ZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5saW5lSXRlcmF0b3IgaGFzIGJlZW4gZXhwb3J0ZWQgbV9wb3MgYXMgcHVibGljIGRpcmVj
dGx5IHRob3VnaCBpdCBpcyBtZW1iZXIgdmFyaWFibGUuCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0
IGl0IGFzIHByaXZhdGUsIGFuZCBhZGQgZ2V0dGVyL3NldHRlciBmdW5jdGlvbnMgZm9yIGl0Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAq
IHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRl
cmF0b3I6OnNldE9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJl
c29sdmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5z
Rm9yT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJ
blJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bWF0Y2hlZEVuZExp
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWspOgor
ICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIpOgorICAgICAgICAo
V2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVGbG9hdCk6CisgICAgICAgIChXZWJDb3Jl
OjppdGVyYXRvcklzQmV5b25kRW5kT2ZSZW5kZXJDb21iaW5lVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjplbnN1cmVDaGFyYWN0ZXJHZXRzTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpCcmVh
a2luZ0NvbnRleHQ6OmhhbmRsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tNaWRwb2lu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94
ZXMpOgorCiAyMDEzLTEyLTI1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBbQ01ha2VdIENsZWFuIHVwIGdlbmVyYXRlZCBzb3VyY2VzIGRp
cmVjdG9yaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCmluZGV4
IGFhODVmNTdlOTA5OGYxZmI2MWFmYTYzMmRhMmVhZjAyOGY2MjM0MDQuLmI1ZjJhMWU5NDZmMjA4
ZTU1OGM3ODkzMjJjODhiZWUyNzhkMTI5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlcjsgfQogICAgIHZvaWQgc2V0
UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgeyBtX3JlbmRlcmVyID0gcmVuZGVyZXI7
IH0KICAgICB1bnNpZ25lZCBvZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3BvczsgfQorICAgIHZv
aWQgc2V0T2Zmc2V0KHVuc2lnbmVkIHBvc2l0aW9uKSB7IG1fcG9zID0gcG9zaXRpb247IH0KICAg
ICBSZW5kZXJFbGVtZW50KiByb290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAgICAgaW50
IG5leHRCcmVha2FibGVQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dEJyZWFrYWJsZVBv
c2l0aW9uOyB9CiAgICAgdm9pZCBzZXROZXh0QnJlYWthYmxlUG9zaXRpb24oaW50IHBvc2l0aW9u
KSB7IG1fbmV4dEJyZWFrYWJsZVBvc2l0aW9uID0gcG9zaXRpb247IH0KQEAgLTk4LDIwICs5OSwx
NyBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKIAogICAgIGludCBt
X25leHRCcmVha2FibGVQb3NpdGlvbjsKLQotLy8gRklYTUU6IFRoZXNlIHNob3VsZCBiZSBwcml2
YXRlLgotcHVibGljOgogICAgIHVuc2lnbmVkIG1fcG9zOwogfTsKIAogaW5saW5lIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBJbmxpbmVJdGVyYXRvciYgaXQxLCBjb25zdCBJbmxpbmVJdGVyYXRvciYg
aXQyKQogewotICAgIHJldHVybiBpdDEubV9wb3MgPT0gaXQyLm1fcG9zICYmIGl0MS5yZW5kZXJl
cigpID09IGl0Mi5yZW5kZXJlcigpOworICAgIHJldHVybiBpdDEub2Zmc2V0KCkgPT0gaXQyLm9m
ZnNldCgpICYmIGl0MS5yZW5kZXJlcigpID09IGl0Mi5yZW5kZXJlcigpOwogfQogCiBpbmxpbmUg
Ym9vbCBvcGVyYXRvciE9KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDEsIGNvbnN0IElubGluZUl0
ZXJhdG9yJiBpdDIpCiB7Ci0gICAgcmV0dXJuIGl0MS5tX3BvcyAhPSBpdDIubV9wb3MgfHwgaXQx
LnJlbmRlcmVyKCkgIT0gaXQyLnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGl0MS5vZmZzZXQoKSAh
PSBpdDIub2Zmc2V0KCkgfHwgaXQxLnJlbmRlcmVyKCkgIT0gaXQyLnJlbmRlcmVyKCk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgVUNoYXJEaXJlY3Rpb24gZW1iZWRDaGFyRnJvbURpcmVjdGlvbihUZXh0
RGlyZWN0aW9uIGRpcmVjdGlvbiwgRVVuaWNvZGVCaWRpIHVuaWNvZGVCaWRpKQpAQCAtNTE4LDcg
KzUxNiw3IEBAIGlubGluZSB2b2lkIElubGluZUJpZGlSZXNvbHZlcjo6YXBwZW5kUnVuKCkKICAg
ICAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgc3RhdGUgZGVwZW5kaW5nIG9uIGlmIHdlJ3JlIHN0YXJ0
aW5nIGluIHRoZSBtaWRkbGUgb2Ygc3VjaCBhbiBpbmxpbmUuCiAgICAgICAgIC8vIEZJWE1FOiBD
b3VsZCB0aGlzIGluaXRpYWxpemUgZnJvbSB0aGlzLT5pbklzb2xhdGUoKSBpbnN0ZWFkIG9mIHdh
bGtpbmcgdXAgdGhlIHJlbmRlciB0cmVlPwogICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRl
VHJhY2tlcihudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMobV9zb3IpKTsKLSAgICAgICAgaW50IHN0
YXJ0ID0gbV9zb3IubV9wb3M7CisgICAgICAgIGludCBzdGFydCA9IG1fc29yLm9mZnNldCgpOwog
ICAgICAgICBSZW5kZXJPYmplY3QqIG9iaiA9IG1fc29yLnJlbmRlcmVyKCk7CiAgICAgICAgIHdo
aWxlIChvYmogJiYgb2JqICE9IG1fZW9yLnJlbmRlcmVyKCkgJiYgb2JqICE9IGVuZE9mTGluZS5y
ZW5kZXJlcigpKSB7CiAgICAgICAgICAgICBpZiAoaXNvbGF0ZVRyYWNrZXIuaW5Jc29sYXRlKCkp
CkBAIC01MzAsMTAgKzUyOCwxMCBAQCBpbmxpbmUgdm9pZCBJbmxpbmVCaWRpUmVzb2x2ZXI6OmFw
cGVuZFJ1bigpCiAgICAgICAgICAgICBvYmogPSBiaWRpTmV4dFNraXBwaW5nRW1wdHlJbmxpbmVz
KCptX3Nvci5yb290KCksIG9iaiwgJmlzb2xhdGVUcmFja2VyKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAob2JqKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBwb3MgPSBvYmogPT0gbV9lb3IucmVu
ZGVyZXIoKSA/IG1fZW9yLm1fcG9zIDogVUlOVF9NQVg7Ci0gICAgICAgICAgICBpZiAob2JqID09
IGVuZE9mTGluZS5yZW5kZXJlcigpICYmIGVuZE9mTGluZS5tX3BvcyA8PSBwb3MpIHsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIHBvcyA9IG9iaiA9PSBtX2Vvci5yZW5kZXJlcigpID8gbV9lb3Iub2Zm
c2V0KCkgOiBVSU5UX01BWDsKKyAgICAgICAgICAgIGlmIChvYmogPT0gZW5kT2ZMaW5lLnJlbmRl
cmVyKCkgJiYgZW5kT2ZMaW5lLm9mZnNldCgpIDw9IHBvcykgewogICAgICAgICAgICAgICAgIG1f
cmVhY2hlZEVuZE9mTGluZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgcG9zID0gZW5kT2ZMaW5l
Lm1fcG9zOworICAgICAgICAgICAgICAgIHBvcyA9IGVuZE9mTGluZS5vZmZzZXQoKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIC8vIEl0J3MgT0sgdG8gYWRkIHJ1bnMgZm9yIHplcm8tbGVu
Z3RoIFJlbmRlck9iamVjdHMsIGp1c3QgZG9uJ3QgbWFrZSB0aGUgcnVuIGxhcmdlciB0aGFuIGl0
IHNob3VsZCBiZQogICAgICAgICAgICAgaW50IGVuZCA9IG9iai0+bGVuZ3RoKCkgPyBwb3MgKyAx
IDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xp
bmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKaW5kZXggZGI1MDg5ZTVkZTY3ZTI1Y2Q0Mjk2N2U1OTM5Y2MzNzczNzliN2Q4ZC4u
ZDdmZGMwYTQ5ODhmMTNiZDM3NDg2NGViMmJkOTU3N2I2NjM3YjdmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTkzLDcg
KzkzLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFwcGVuZFJ1bnNGb3JPYmplY3QoQmlkaVJ1
bkxpc3Q8QmlkaVJ1bj4mIHJ1bnMsIGludCBzdGFydCwKICAgICAgICAgLy8gVGhpcyBpcyBhIG5l
dyBzdGFydCBwb2ludC4gU3RvcCBpZ25vcmluZyBvYmplY3RzIGFuZAogICAgICAgICAvLyBhZGp1
c3Qgb3VyIHN0YXJ0LgogICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5iZXR3ZWVuTWlkcG9pbnRz
ID0gZmFsc2U7Ci0gICAgICAgIHN0YXJ0ID0gbmV4dE1pZHBvaW50Lm1fcG9zOworICAgICAgICBz
dGFydCA9IG5leHRNaWRwb2ludC5vZmZzZXQoKTsKICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUu
Y3VycmVudE1pZHBvaW50Kys7CiAgICAgICAgIGlmIChzdGFydCA8IGVuZCkKICAgICAgICAgICAg
IHJldHVybiBhcHBlbmRSdW5zRm9yT2JqZWN0KHJ1bnMsIHN0YXJ0LCBlbmQsIG9iaiwgcmVzb2x2
ZXIpOwpAQCAtMTA1LDEzICsxMDUsMTMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFwcGVuZFJ1
bnNGb3JPYmplY3QoQmlkaVJ1bkxpc3Q8QmlkaVJ1bj4mIHJ1bnMsIGludCBzdGFydCwKIAogICAg
ICAgICAvLyBBbiBlbmQgbWlkcG9pbnQgaGFzIGJlZW4gZW5jb3VudGVyZWQgd2l0aGluIG91ciBv
YmplY3QuICBXZQogICAgICAgICAvLyBuZWVkIHRvIGdvIGFoZWFkIGFuZCBhcHBlbmQgYSBydW4g
d2l0aCBvdXIgZW5kcG9pbnQuCi0gICAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG5leHRNaWRw
b2ludC5tX3BvcyArIDEpIDw9IGVuZCkgeworICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50Pihu
ZXh0TWlkcG9pbnQub2Zmc2V0KCkgKyAxKSA8PSBlbmQpIHsKICAgICAgICAgICAgIGxpbmVNaWRw
b2ludFN0YXRlLmJldHdlZW5NaWRwb2ludHMgPSB0cnVlOwogICAgICAgICAgICAgbGluZU1pZHBv
aW50U3RhdGUuY3VycmVudE1pZHBvaW50Kys7Ci0gICAgICAgICAgICBpZiAobmV4dE1pZHBvaW50
Lm1fcG9zICE9IFVJTlRfTUFYKSB7IC8vIFVJTlRfTUFYIG1lYW5zIHN0b3AgYXQgdGhlIG9iamVj
dCBhbmQgZG9uJ3QgaW5jbHVkZSBhbnkgb2YgaXQuCi0gICAgICAgICAgICAgICAgaWYgKHN0YXRp
Y19jYXN0PGludD4obmV4dE1pZHBvaW50Lm1fcG9zICsgMSkgPiBzdGFydCkKLSAgICAgICAgICAg
ICAgICAgICAgcnVucy5hZGRSdW4oY3JlYXRlUnVuKHN0YXJ0LCBuZXh0TWlkcG9pbnQubV9wb3Mg
KyAxLCBvYmosIHJlc29sdmVyKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFJ1bnNG
b3JPYmplY3QocnVucywgbmV4dE1pZHBvaW50Lm1fcG9zICsgMSwgZW5kLCBvYmosIHJlc29sdmVy
KTsKKyAgICAgICAgICAgIGlmIChuZXh0TWlkcG9pbnQub2Zmc2V0KCkgIT0gVUlOVF9NQVgpIHsg
Ly8gVUlOVF9NQVggbWVhbnMgc3RvcCBhdCB0aGUgb2JqZWN0IGFuZCBkb24ndCBpbmNsdWRlIGFu
eSBvZiBpdC4KKyAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihuZXh0TWlkcG9p
bnQub2Zmc2V0KCkgKyAxKSA+IHN0YXJ0KQorICAgICAgICAgICAgICAgICAgICBydW5zLmFkZFJ1
bihjcmVhdGVSdW4oc3RhcnQsIG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEsIG9iaiwgcmVzb2x2
ZXIpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gYXBwZW5kUnVuc0Zvck9iamVjdChydW5zLCBu
ZXh0TWlkcG9pbnQub2Zmc2V0KCkgKyAxLCBlbmQsIG9iaiwgcmVzb2x2ZXIpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgcnVucy5hZGRSdW4oY3JlYXRlUnVuKHN0
YXJ0LCBlbmQsIG9iaiwgcmVzb2x2ZXIpKTsKQEAgLTk1Myw3ICs5NTMsNyBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgY29uc3RydWN0QmlkaVJ1bnNGb3JMaW5lKGNvbnN0IFJlbmRlckJsb2NrRmxvdyog
YmxvY2ssIElubGluZQogICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50RW5kKGl0ZXJhdG9y
LnJvb3QsIGl0ZXJhdG9yLm9iamVjdCwgaXRlcmF0b3Iub2Zmc2V0KTsKICAgICAgICAgaWYgKGkp
IHsKICAgICAgICAgICAgIEFTU0VSVChzZWdtZW50U3RhcnQucmVuZGVyZXIoKSk7Ci0gICAgICAg
ICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0gY3JlYXRlUnVuKHNlZ21lbnRTdGFydC5tX3Bv
cywgc2VnbWVudFN0YXJ0Lm1fcG9zLCBzZWdtZW50U3RhcnQucmVuZGVyZXIoKSwgdG9wUmVzb2x2
ZXIpOworICAgICAgICAgICAgQmlkaVJ1biogc2VnbWVudE1hcmtlciA9IGNyZWF0ZVJ1bihzZWdt
ZW50U3RhcnQub2Zmc2V0KCksIHNlZ21lbnRTdGFydC5vZmZzZXQoKSwgc2VnbWVudFN0YXJ0LnJl
bmRlcmVyKCksIHRvcFJlc29sdmVyKTsKICAgICAgICAgICAgIHNlZ21lbnRNYXJrZXItPm1fc3Rh
cnRzU2VnbWVudCA9IHRydWU7CiAgICAgICAgICAgICBiaWRpUnVucy5hZGRSdW4oc2VnbWVudE1h
cmtlcik7CiAgICAgICAgICAgICAvLyBEbyBub3QgY29sbGFwc2UgbWlkcG9pbnRzIGJldHdlZW4g
c2VnbWVudHMKQEAgLTEzNTEsNyArMTM1MSw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlv
dXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJCiAg
ICAgICAgIC8vIFRoaXMgaXMgYSBzaG9ydC1jdXQgZm9yIGVtcHR5IGxpbmVzLgogICAgICAgICBp
ZiAobGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlmIChs
YXN0Um9vdEJveCgpKQotICAgICAgICAgICAgICAgIGxhc3RSb290Qm94KCktPnNldExpbmVCcmVh
a0luZm8oZW5kLnJlbmRlcmVyKCksIGVuZC5tX3BvcywgcmVzb2x2ZXIuc3RhdHVzKCkpOworICAg
ICAgICAgICAgICAgIGxhc3RSb290Qm94KCktPnNldExpbmVCcmVha0luZm8oZW5kLnJlbmRlcmVy
KCksIGVuZC5vZmZzZXQoKSwgcmVzb2x2ZXIuc3RhdHVzKCkpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgVmlzdWFsRGlyZWN0aW9uT3ZlcnJpZGUgb3ZlcnJpZGUgPSAoc3R5bGVUb1Vz
ZS5ydGxPcmRlcmluZygpID09IFZpc3VhbE9yZGVyID8gKHN0eWxlVG9Vc2UuZGlyZWN0aW9uKCkg
PT0gTFRSID8gVmlzdWFsTGVmdFRvUmlnaHRPdmVycmlkZSA6IFZpc3VhbFJpZ2h0VG9MZWZ0T3Zl
cnJpZGUpIDogTm9WaXN1YWxPdmVycmlkZSk7CiAKQEAgLTEzODQsNyArMTM4NCw3IEBAIHZvaWQg
UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3Rh
dGUmIGxheW91dFN0YXRlLCBJCiAgICAgICAgICAgICByZXNvbHZlci5tYXJrQ3VycmVudFJ1bkVt
cHR5KCk7IC8vIEZJWE1FOiBUaGlzIGNhbiBwcm9iYWJseSBiZSByZXBsYWNlZCBieSBhbiBBU1NF
UlQgKG9yIGp1c3QgcmVtb3ZlZCkuCiAKICAgICAgICAgICAgIGlmIChsaW5lQm94KSB7Ci0gICAg
ICAgICAgICAgICAgbGluZUJveC0+c2V0TGluZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5k
Lm1fcG9zLCByZXNvbHZlci5zdGF0dXMoKSk7CisgICAgICAgICAgICAgICAgbGluZUJveC0+c2V0
TGluZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5kLm9mZnNldCgpLCByZXNvbHZlci5zdGF0
dXMoKSk7CiAgICAgICAgICAgICAgICAgaWYgKGxheW91dFN0YXRlLnVzZXNSZXBhaW50Qm91bmRz
KCkpCiAgICAgICAgICAgICAgICAgICAgIGxheW91dFN0YXRlLnVwZGF0ZVJlcGFpbnRSYW5nZUZy
b21Cb3gobGluZUJveCk7CiAKQEAgLTE5NjIsNyArMTk2Miw3IEBAIGJvb2wgUmVuZGVyQmxvY2tG
bG93OjptYXRjaGVkRW5kTGluZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBJ
bmxpbmVCCiAgICAgUm9vdElubGluZUJveCogb3JpZ2luYWxFbmRMaW5lID0gbGF5b3V0U3RhdGUu
ZW5kTGluZSgpOwogICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBvcmlnaW5hbEVuZExpbmU7CiAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1MaW5lcyAmJiBsaW5lOyBpKyssIGxpbmUgPSBsaW5l
LT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGlmIChsaW5lLT5saW5lQnJlYWtPYmooKSA9PSBy
ZXNvbHZlci5wb3NpdGlvbigpLnJlbmRlcmVyKCkgJiYgbGluZS0+bGluZUJyZWFrUG9zKCkgPT0g
cmVzb2x2ZXIucG9zaXRpb24oKS5tX3BvcykgeworICAgICAgICBpZiAobGluZS0+bGluZUJyZWFr
T2JqKCkgPT0gcmVzb2x2ZXIucG9zaXRpb24oKS5yZW5kZXJlcigpICYmIGxpbmUtPmxpbmVCcmVh
a1BvcygpID09IHJlc29sdmVyLnBvc2l0aW9uKCkub2Zmc2V0KCkpIHsKICAgICAgICAgICAgIC8v
IFdlIGhhdmUgYSBtYXRjaC4KICAgICAgICAgICAgIGlmIChsaW5lLT5saW5lQnJlYWtCaWRpU3Rh
dHVzKCkgIT0gcmVzb2x2ZXIuc3RhdHVzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OyAvLyAuLi5idXQgdGhlIGJpZGkgc3RhdGUgZG9lc24ndCBtYXRjaC4KQEAgLTIwNTYsNyArMjA1
Niw3IEBAIElubGluZUl0ZXJhdG9yIExpbmVCcmVha2VyOjpuZXh0U2VnbWVudEJyZWFrKElubGlu
ZUJpZGlSZXNvbHZlciYgcmVzb2x2ZXIsIExpbmVJCiAKICAgICBBU1NFUlQocmVzb2x2ZXIucG9z
aXRpb24oKS5yb290KCkgPT0gJm1fYmxvY2spOwogCi0gICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0
aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkubV9wb3MgPiAwOworICAgIGJvb2wgYXBwbGllZFN0YXJ0
V2lkdGggPSByZXNvbHZlci5wb3NpdGlvbigpLm9mZnNldCgpID4gMDsKIAogICAgIExpbmVXaWR0
aCB3aWR0aChtX2Jsb2NrLCBsaW5lSW5mby5pc0ZpcnN0TGluZSgpLCByZXF1aXJlc0luZGVudChs
aW5lSW5mby5pc0ZpcnN0TGluZSgpLCBsaW5lSW5mby5wcmV2aW91c0xpbmVCcm9rZUNsZWFubHko
KSwgbV9ibG9jay5zdHlsZSgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaAppbmRleCA5MTYw
Yjc1MzRiNGNhMmFkNGY4MGQyNWNjNGZhYWQ5NGJjNjE2MGYyLi5hOTI4MjkzMDVjODRmZmFmNTVk
MWEzYmYxMGE5ZDQ5OGUzNjAwYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCkBAIC0yNjAs
NyArMjYwLDcgQEAgaW5saW5lIHZvaWQgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVCUihFQ2xlYXIm
IGNsZWFyKQogICAgICAgICAvLyBjb2xsYXBzZWQgYXdheSBzbyB0aGF0IGl0IGRvZXNuJ3QgcHVz
aCB0aGUgdGV4dCBvdXQgZnJvbSB0aGUgY29udGFpbmVyJ3MgcmlnaHQtaGFuZCBlZGdlLgogICAg
ICAgICAvLyBGSVhNRTogRG8gdGhpcyByZWdhcmRsZXNzIG9mIHRoZSBjb250YWluZXIncyBhbGln
bm1lbnQgLSB3aWxsIHJlcXVpcmUgcmViYXNlbGluaW5nIGEgbG90IG9mIHRlc3QgcmVzdWx0cy4K
ICAgICAgICAgZWxzZSBpZiAobV9pZ25vcmluZ1NwYWNlcyAmJiAobV9ibG9ja1N0eWxlLnRleHRB
bGlnbigpID09IFJJR0hUIHx8IG1fYmxvY2tTdHlsZS50ZXh0QWxpZ24oKSA9PSBXRUJLSVRfUklH
SFQpKQotICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMo
SW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bvcykp
OworICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5s
aW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSkp
OwogCiAgICAgICAgIGlmICghbV9saW5lSW5mby5pc0VtcHR5KCkpCiAgICAgICAgICAgICBjbGVh
ciA9IG1fY3VycmVudFN0eWxlLT5jbGVhcigpOwpAQCAtMzU0LDcgKzM1NCw3IEBAIGlubGluZSB2
b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlRmxvYXQoKQogICAgIGlmIChtX2Zsb2F0c0ZpdE9u
TGluZSAmJiBtX3dpZHRoLmZpdHNPbkxpbmVFeGNsdWRpbmdUcmFpbGluZ1doaXRlc3BhY2UobV9i
bG9jay5sb2dpY2FsV2lkdGhGb3JGbG9hdChmbG9hdGluZ09iamVjdCkpKSB7CiAgICAgICAgIG1f
bGluZUJyZWFrZXIucG9zaXRpb25OZXdGbG9hdE9uTGluZShmbG9hdGluZ09iamVjdCwgbV9sYXN0
RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBtX2xpbmVJbmZvLCBtX3dpZHRoKTsKICAgICAgICAgaWYg
KG1fbGluZUJyZWFrLnJlbmRlcmVyKCkgPT0gbV9jdXJyZW50LnJlbmRlcmVyKCkpIHsKLSAgICAg
ICAgICAgIEFTU0VSVCghbV9saW5lQnJlYWsubV9wb3MpOworICAgICAgICAgICAgQVNTRVJUKCFt
X2xpbmVCcmVhay5vZmZzZXQoKSk7CiAgICAgICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQo
KTsKICAgICAgICAgfQogICAgIH0gZWxzZQpAQCAtNTE0LDcgKzUxNCw3IEBAIGlubGluZSB2b2lk
IHVwZGF0ZVNlZ21lbnRzRm9yU2hhcGVzKFJlbmRlckJsb2NrRmxvdyYgYmxvY2ssIGNvbnN0IEZs
b2F0aW5nT2JqZWN0CiAKIGlubGluZSBib29sIGl0ZXJhdG9ySXNCZXlvbmRFbmRPZlJlbmRlckNv
bWJpbmVUZXh0KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdGVyLCBSZW5kZXJDb21iaW5lVGV4dCYg
cmVuZGVyZXIpCiB7Ci0gICAgcmV0dXJuIGl0ZXIucmVuZGVyZXIoKSA9PSAmcmVuZGVyZXIgJiYg
aXRlci5tX3BvcyA+PSByZW5kZXJlci50ZXh0TGVuZ3RoKCk7CisgICAgcmV0dXJuIGl0ZXIucmVu
ZGVyZXIoKSA9PSAmcmVuZGVyZXIgJiYgaXRlci5vZmZzZXQoKSA+PSByZW5kZXJlci50ZXh0TGVu
Z3RoKCk7CiB9CiAKIGlubGluZSB2b2lkIG5leHRDaGFyYWN0ZXIoVUNoYXImIGN1cnJlbnRDaGFy
YWN0ZXIsIFVDaGFyJiBsYXN0Q2hhcmFjdGVyLCBVQ2hhciYgc2Vjb25kVG9MYXN0Q2hhcmFjdGVy
KQpAQCAtNTYyLDkgKzU2Miw5IEBAIEFMV0FZU19JTkxJTkUgZmxvYXQgdGV4dFdpZHRoKFJlbmRl
clRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uCiAvLyBBZGRpbmcg
YSBwYWlyIG9mIG1pZHBvaW50cyBiZWZvcmUgYSBjaGFyYWN0ZXIgd2lsbCBzcGxpdCBpdCBvdXQg
aW50byBhIG5ldyBsaW5lIGJveC4KIGlubGluZSB2b2lkIGVuc3VyZUNoYXJhY3RlckdldHNMaW5l
Qm94KExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0b3Im
IHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IpCiB7Ci0gICAgSW5saW5lSXRlcmF0b3IgbWlkcG9pbnQo
MCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJh
dG9yLm1fcG9zKTsKLSAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdGFydElnbm9yaW5nU3BhY2VzKElu
bGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBh
cmFncmFwaFNlcGFyYXRvci5tX3BvcyAtIDEpKTsKLSAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdG9w
SWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5y
ZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm1fcG9zKSk7CisgICAgSW5saW5lSXRl
cmF0b3IgbWlkcG9pbnQoMCwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0
UGFyYWdyYXBoU2VwYXJhdG9yLm9mZnNldCgpKTsKKyAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdGFy
dElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iu
cmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5vZmZzZXQoKSAtIDEpKTsKKyAgICBs
aW5lTWlkcG9pbnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgdGV4
dFBhcmFncmFwaFNlcGFyYXRvci5yZW5kZXJlcigpLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLm9m
ZnNldCgpKSk7CiB9CiAKIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRl
eHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmll
ciwgdW5zaWduZWQgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIGludCBjb25zZWN1dGl2ZUh5
cGhlbmF0ZWRMaW5lc0xpbWl0LCBpbnQgbWluaW11bVByZWZpeExpbWl0LCBpbnQgbWluaW11bVN1
ZmZpeExpbWl0LCB1bnNpZ25lZCBsYXN0U3BhY2UsIHVuc2lnbmVkIHBvcywgZmxvYXQgeFBvcywg
aW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRl
U3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVh
aywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCkBAIC02MzcsNyArNjM3LDcg
QEAgaW5saW5lIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9u
dCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW4KIAogaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wmIGh5
cGhlbmF0ZWQsICB1bnNpZ25lZCYgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMpCiB7Ci0gICAg
aWYgKCFtX2N1cnJlbnQubV9wb3MpCisgICAgaWYgKCFtX2N1cnJlbnQub2Zmc2V0KCkpCiAgICAg
ICAgIG1fYXBwbGllZFN0YXJ0V2lkdGggPSBmYWxzZTsKIAogICAgIFJlbmRlclRleHQqIHJlbmRl
clRleHQgPSB0b1JlbmRlclRleHQobV9jdXJyZW50LnJlbmRlcmVyKCkpOwpAQCAtNjY3LDcgKzY2
Nyw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3Vy
ZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgYm9vbCBpc0ZpeGVkUGl0Y2ggPSBm
b250LmlzRml4ZWRQaXRjaCgpOwogICAgIGJvb2wgY2FuSHlwaGVuYXRlID0gc3R5bGUuaHlwaGVu
cygpID09IEh5cGhlbnNBdXRvICYmIFdlYkNvcmU6OmNhbkh5cGhlbmF0ZShzdHlsZS5sb2NhbGUo
KSk7CiAKLSAgICB1bnNpZ25lZCBsYXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgdW5z
aWduZWQgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm9mZnNldCgpOwogICAgIGZsb2F0IHdvcmRTcGFj
aW5nID0gbV9jdXJyZW50U3R5bGUtPndvcmRTcGFjaW5nKCk7CiAgICAgZmxvYXQgbGFzdFNwYWNl
V29yZFNwYWNpbmcgPSAwOwogICAgIGZsb2F0IHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50
ID0gMDsKQEAgLTcwOCw3ICs3MDgsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6Omhh
bmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogCiAgICAg
VUNoYXIgbGFzdENoYXJhY3RlciA9IG1fcmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRv
ci5sYXN0Q2hhcmFjdGVyKCk7CiAgICAgVUNoYXIgc2Vjb25kVG9MYXN0Q2hhcmFjdGVyID0gbV9y
ZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVha0l0ZXJhdG9yLnNlY29uZFRvTGFzdENoYXJhY3Rlcigp
OwotICAgIGZvciAoOyBtX2N1cnJlbnQubV9wb3MgPCByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCk7
IG1fY3VycmVudC5mYXN0SW5jcmVtZW50SW5UZXh0Tm9kZSgpKSB7CisgICAgZm9yICg7IG1fY3Vy
cmVudC5vZmZzZXQoKSA8IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKTsgbV9jdXJyZW50LmZhc3RJ
bmNyZW1lbnRJblRleHROb2RlKCkpIHsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJhY3Rlcklz
U3BhY2UgPSBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlOwogICAgICAgICBib29sIHByZXZpb3Vz
Q2hhcmFjdGVySXNXUyA9IG1fY3VycmVudENoYXJhY3RlcklzV1M7CiAgICAgICAgIFVDaGFyIGMg
PSBtX2N1cnJlbnQuY3VycmVudCgpOwpAQCAtNzI4LDEzICs3MjgsMTMgQEAgaW5saW5lIGJvb2wg
QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJl
bWVudHMsIGJvb2wKIAogICAgICAgICBpZiAoKGJyZWFrQWxsIHx8IGJyZWFrV29yZHMpICYmICFt
aWRXb3JkQnJlYWsgJiYgKCFtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlIHx8IHN0eWxlLndoaXRl
U3BhY2UoKSAhPSBQUkVfV1JBUCkpIHsKICAgICAgICAgICAgIHdyYXBXICs9IGNoYXJXaWR0aDsK
LSAgICAgICAgICAgIGJvb2wgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID0gVTE2
X0lTX0xFQUQoYykgJiYgbV9jdXJyZW50Lm1fcG9zICsgMSA8IHJlbmRlclRleHQtPnRleHRMZW5n
dGgoKSAmJiBVMTZfSVNfVFJBSUwoKCpyZW5kZXJUZXh0KVttX2N1cnJlbnQubV9wb3MgKyAxXSk7
Ci0gICAgICAgICAgICBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50
Lm1fcG9zLCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZm9udCwg
bV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcsIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBz
ZVdoaXRlU3BhY2UsIGZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOworICAgICAgICAgICAgYm9v
bCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPSBVMTZfSVNfTEVBRChjKSAmJiBt
X2N1cnJlbnQub2Zmc2V0KCkgKyAxIDwgcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgpICYmIFUxNl9J
U19UUkFJTCgoKnJlbmRlclRleHQpW21fY3VycmVudC5vZmZzZXQoKSArIDFdKTsKKyAgICAgICAg
ICAgIGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBtX2N1cnJlbnQub2Zmc2V0KCks
IG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFpciA/IDIgOiAxLCBmb250LCBtX3dpZHRo
LmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVywgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVT
cGFjZSwgZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7CiAgICAgICAgICAgICBtaWRXb3JkQnJl
YWsgPSBtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFwVyArIGNoYXJXaWR0aCA+IG1fd2lk
dGguYXZhaWxhYmxlV2lkdGgoKTsKICAgICAgICAgfQogCiAgICAgICAgIGludCBuZXh0QnJlYWth
YmxlUG9zaXRpb24gPSBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCk7Ci0gICAgICAg
IGJvb2wgYmV0d2VlbldvcmRzID0gYyA9PSAnXG4nIHx8IChtX2N1cnJXUyAhPSBQUkUgJiYgIW1f
YXRTdGFydCAmJiBpc0JyZWFrYWJsZShtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFrSXRlcmF0
b3IsIG1fY3VycmVudC5tX3BvcywgbmV4dEJyZWFrYWJsZVBvc2l0aW9uLCBicmVha05CU1ApCisg
ICAgICAgIGJvb2wgYmV0d2VlbldvcmRzID0gYyA9PSAnXG4nIHx8IChtX2N1cnJXUyAhPSBQUkUg
JiYgIW1fYXRTdGFydCAmJiBpc0JyZWFrYWJsZShtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFr
SXRlcmF0b3IsIG1fY3VycmVudC5vZmZzZXQoKSwgbmV4dEJyZWFrYWJsZVBvc2l0aW9uLCBicmVh
a05CU1ApCiAgICAgICAgICAgICAmJiAoc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lIHx8
IChtX2N1cnJlbnQucHJldmlvdXNJblNhbWVOb2RlKCkgIT0gc29mdEh5cGhlbikpKTsKICAgICAg
ICAgbV9jdXJyZW50LnNldE5leHRCcmVha2FibGVQb3NpdGlvbihuZXh0QnJlYWthYmxlUG9zaXRp
b24pOwogCkBAIC03NDcsOCArNzQ3LDggQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0Ojpo
YW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAg
ICAgICAgICAgICAgICAgLy8gbmV3IHBvaW50LgogICAgICAgICAgICAgICAgICAgICBtX2lnbm9y
aW5nU3BhY2VzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIHdvcmRTcGFjaW5nRm9yV29y
ZE1lYXN1cmVtZW50ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0gbV9jdXJy
ZW50Lm1fcG9zOyAvLyBlLmcuLCAiRm9vICAgIGdvbyIsIGRvbid0IGFkZCBpbiBhbnkgb2YgdGhl
IGlnbm9yZWQgc3BhY2VzLgotICAgICAgICAgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRl
LnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIo
KSwgbV9jdXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1f
Y3VycmVudC5vZmZzZXQoKTsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55
IG9mIHRoZSBpZ25vcmVkIHNwYWNlcy4KKyAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9p
bnRTdGF0ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJl
bmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSkpOwogICAgICAgICAgICAgICAgICAgICBzdG9w
cGVkSWdub3JpbmdTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIEp1c3Qga2VlcCBpZ25vcmluZyB0aGVzZSBzcGFjZXMuCkBAIC03
NjEsMTQgKzc2MSwxNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQo
V29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgV29y
ZE1lYXN1cmVtZW50JiB3b3JkTWVhc3VyZW1lbnQgPSB3b3JkTWVhc3VyZW1lbnRzLmxhc3QoKTsK
IAogICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LnJlbmRlcmVyID0gcmVuZGVyVGV4dDsKLSAg
ICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2N1cnJlbnQubV9wb3M7Cisg
ICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm9mZnNldCgp
OwogICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LnN0YXJ0T2Zmc2V0ID0gbGFzdFNwYWNlOwog
CiAgICAgICAgICAgICBmbG9hdCBhZGRpdGlvbmFsVGVtcFdpZHRoOwogICAgICAgICAgICAgaWYg
KHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggJiYgYyA9PSAnICcpCi0gICAgICAgICAgICAgICAgYWRk
aXRpb25hbFRlbXBXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3Vy
cmVudC5tX3BvcyArIDEgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCks
IGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxs
YmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGg7CisgICAgICAg
ICAgICAgICAgYWRkaXRpb25hbFRlbXBXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0
U3BhY2UsIG1fY3VycmVudC5vZmZzZXQoKSArIDEgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGgu
Y3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRN
ZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAtIHdvcmRUcmFpbGluZ1NwYWNl
V2lkdGg7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYWRkaXRpb25hbFRlbXBX
aWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3VycmVudC5tX3BvcyAt
IGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBt
X2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRM
YXlvdXQpOworICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgo
cmVuZGVyVGV4dCwgbGFzdFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCkgLSBsYXN0U3BhY2UsIGZv
bnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRl
U3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKIAogICAg
ICAgICAgICAgaWYgKHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLmlzRW1wdHkoKSAmJiAh
ZmFsbGJhY2tGb250cy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50
LmZhbGxiYWNrRm9udHMuc3dhcChmYWxsYmFja0ZvbnRzKTsKQEAgLTgwMCw3ICs4MDAsNyBAQCBp
bmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVtZW50cyYg
d29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgIC8vIGFzIGNhbmRpZGF0ZSB3
aWR0aCBmb3IgdGhpcyBsaW5lLgogICAgICAgICAgICAgICAgIGJvb2wgbGluZVdhc1Rvb1dpZGUg
PSBmYWxzZTsKICAgICAgICAgICAgICAgICBpZiAobV93aWR0aC5maXRzT25MaW5lKCkgJiYgbV9j
dXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiBtX2N1cnJlbnRTdHlsZS0+YnJlYWtPbmx5QWZ0ZXJX
aGl0ZVNwYWNlKCkgJiYgIW1pZFdvcmRCcmVhaykgewotICAgICAgICAgICAgICAgICAgICBmbG9h
dCBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm1fcG9zLCAxLCBm
b250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0
ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkgKyAoYXBw
bHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMCk7CisgICAgICAgICAgICAgICAgICAgIGZs
b2F0IGNoYXJXaWR0aCA9IHRleHRXaWR0aChyZW5kZXJUZXh0LCBtX2N1cnJlbnQub2Zmc2V0KCks
IDEsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBz
ZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KSAr
IChhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwKTsKICAgICAgICAgICAgICAgICAg
ICAgLy8gQ2hlY2sgaWYgbGluZSBpcyB0b28gYmlnIGV2ZW4gd2l0aG91dCB0aGUgZXh0cmEgc3Bh
Y2UKICAgICAgICAgICAgICAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gSWYgaXQg
aXMgbm90LCBkbyBub3RoaW5nLgogICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbGluZSBu
ZWVkcyB0aGUgZXh0cmEgd2hpdGVzcGFjZSB0byBiZSB0b28gbG9uZywKQEAgLTgwOCwzMCArODA4
LDMwIEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3Vy
ZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwgd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3dpZHRoLmZp
dHNPbkxpbmVJbmNsdWRpbmdFeHRyYVdpZHRoKGNoYXJXaWR0aCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpbmVXYXNUb29XaWRlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9z
LCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQu
b2Zmc2V0KCksIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2xpbmVCcmVha2VyLnNraXBUcmFpbGluZ1doaXRlc3BhY2UobV9saW5l
QnJlYWssIG1fbGluZUluZm8pOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIGlmIChsaW5lV2FzVG9vV2lkZSB8fCAhbV93aWR0aC5maXRz
T25MaW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbkh5cGhlbmF0ZSAmJiAhbV93
aWR0aC5maXRzT25MaW5lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyeUh5cGhlbmF0
aW5nKHJlbmRlclRleHQsIGZvbnQsIHN0eWxlLmxvY2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0
ZWRMaW5lcywgbV9ibG9ja1N0eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBo
ZW5hdGlvbkxpbWl0QmVmb3JlKCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0
U3BhY2UsIG1fY3VycmVudC5tX3BvcywgbV93aWR0aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9u
YWxUZW1wV2lkdGgsIG1fd2lkdGguYXZhaWxhYmxlV2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2Nv
bGxhcHNlV2hpdGVTcGFjZSwgbGFzdFNwYWNlV29yZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1
cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCksIG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVk
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeUh5cGhlbmF0aW5nKHJlbmRlclRleHQsIGZv
bnQsIHN0eWxlLmxvY2FsZSgpLCBjb25zZWN1dGl2ZUh5cGhlbmF0ZWRMaW5lcywgbV9ibG9ja1N0
eWxlLmh5cGhlbmF0aW9uTGltaXRMaW5lcygpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QmVmb3Jl
KCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpLCBsYXN0U3BhY2UsIG1fY3VycmVudC5v
ZmZzZXQoKSwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSAtIGFkZGl0aW9uYWxUZW1wV2lkdGgsIG1f
d2lkdGguYXZhaWxhYmxlV2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFj
ZSwgbGFzdFNwYWNlV29yZFNwYWNpbmcsIG1fbGluZUJyZWFrLCBtX2N1cnJlbnQubmV4dEJyZWFr
YWJsZVBvc2l0aW9uKCksIG1fbGluZUJyZWFrZXIubV9oeXBoZW5hdGVkKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYXRFbmQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsuYXRUZXh0
UGFyYWdyYXBoU2VwYXJhdG9yKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3Rv
cHBlZElnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVudC5tX3BvcyA+IDApCisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQub2Zmc2V0
KCkgPiAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuc3VyZUNoYXJhY3RlckdldHNM
aW5lQm94KG1fbGluZU1pZHBvaW50U3RhdGUsIG1fY3VycmVudCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IG1fbGluZUluZm8uc2V0UHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KHRydWUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fbGluZUJyZWFrLm1f
cG9zOworICAgICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9
IG1fbGluZUJyZWFrLm9mZnNldCgpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5yZW5kZXJlcigpICYmIG1fbGluZUJyZWFrLm1fcG9z
ICYmIG1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzVGV4dCgpICYmIHRvUmVuZGVyVGV4dChtX2xp
bmVCcmVhay5yZW5kZXJlcigpKS0+dGV4dExlbmd0aCgpICYmIHRvUmVuZGVyVGV4dChtX2xpbmVC
cmVhay5yZW5kZXJlcigpKS0+Y2hhcmFjdGVyQXQobV9saW5lQnJlYWsubV9wb3MgLSAxKSA9PSBz
b2Z0SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fbGluZUJyZWFrLnJlbmRlcmVyKCkgJiYgbV9saW5lQnJlYWsub2Zmc2V0
KCkgJiYgbV9saW5lQnJlYWsucmVuZGVyZXIoKS0+aXNUZXh0KCkgJiYgdG9SZW5kZXJUZXh0KG1f
bGluZUJyZWFrLnJlbmRlcmVyKCkpLT50ZXh0TGVuZ3RoKCkgJiYgdG9SZW5kZXJUZXh0KG1fbGlu
ZUJyZWFrLnJlbmRlcmVyKCkpLT5jaGFyYWN0ZXJBdChtX2xpbmVCcmVhay5vZmZzZXQoKSAtIDEp
ID09IHNvZnRIeXBoZW4gJiYgc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lKQogICAgICAg
ICAgICAgICAgICAgICAgICAgaHlwaGVuYXRlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChtX2xpbmVCcmVhay5tX3BvcyAmJiBtX2xpbmVCcmVhay5tX3BvcyAhPSAodW5zaWduZWQp
d29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCAmJiAhd29yZE1lYXN1cmVtZW50LndpZHRoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5vZmZzZXQoKSAmJiBtX2xpbmVCcmVh
ay5vZmZzZXQoKSAhPSAodW5zaWduZWQpd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCAmJiAhd29y
ZE1lYXN1cmVtZW50LndpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hhcldp
ZHRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9m
ZnNldCA9IG1fbGluZUJyZWFrLm1fcG9zOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdv
cmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2xpbmVCcmVhay5vZmZzZXQoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQud2lkdGggPSBjaGFyV2lkdGg7CiAg
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTg1Miw5
ICs4NTIsOSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1l
YXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBpZiAoYyA9PSAnXG4nICYmIG1fcHJlc2VydmVzTmV3bGluZSkgewotICAgICAgICAg
ICAgICAgIGlmICghc3RvcHBlZElnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVudC5tX3BvcyA+IDAp
CisgICAgICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50
Lm9mZnNldCgpID4gMCkKICAgICAgICAgICAgICAgICAgICAgZW5zdXJlQ2hhcmFjdGVyR2V0c0xp
bmVCb3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKLSAgICAgICAgICAgICAgICBt
X2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bvcywg
bV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwg
bV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICAgICAgICAgICAgICBtX2xpbmVJbmZvLnNldFByZXZp
b3VzTGluZUJyb2tlQ2xlYW5seSh0cnVlKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTg2Myw3ICs4NjMsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRl
eHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAg
aWYgKG1fYXV0b1dyYXAgJiYgYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbV93aWR0
aC5jb21taXQoKTsKICAgICAgICAgICAgICAgICB3cmFwVyA9IDA7Ci0gICAgICAgICAgICAgICAg
bV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3Ms
IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9s
aW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCks
IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAgICAgICAgLy8g
QXV0by13cmFwcGluZyB0ZXh0IHNob3VsZCBub3Qgd3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29y
ZCBvbmNlIGl0IGhhcyBoYWQgYW4KICAgICAgICAgICAgICAgICAvLyBvcHBvcnR1bml0eSB0byBi
cmVhayBhZnRlciBhIHdvcmQuCiAgICAgICAgICAgICAgICAgYnJlYWtXb3JkcyA9IGZhbHNlOwpA
QCAtODcyLDE0ICs4NzIsMTQgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVU
ZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAg
IGlmIChtaWRXb3JkQnJlYWsgJiYgIVUxNl9JU19UUkFJTChjKSAmJiAhKFVfR0VUX0dDX01BU0so
YykgJiBVX0dDX01fTUFTSykpIHsKICAgICAgICAgICAgICAgICAvLyBSZW1lbWJlciB0aGlzIGFz
IGEgYnJlYWthYmxlIHBvc2l0aW9uIGluIGNhc2UKICAgICAgICAgICAgICAgICAvLyBhZGRpbmcg
dGhlIGVuZCB3aWR0aCBmb3JjZXMgYSBicmVhay4KLSAgICAgICAgICAgICAgICBtX2xpbmVCcmVh
ay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9jdXJyZW50
Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5t
b3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50
Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtaWRXb3JkQnJlYWsg
Jj0gKGJyZWFrV29yZHMgfHwgYnJlYWtBbGwpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICBpZiAoYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNwYWNp
bmcgPSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAgICAg
IHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50ID0gKGFwcGx5V29yZFNwYWNpbmcgJiYgd29y
ZE1lYXN1cmVtZW50LndpZHRoKSA/IHdvcmRTcGFjaW5nIDogMDsKLSAgICAgICAgICAgICAgICBs
YXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0g
bV9jdXJyZW50Lm9mZnNldCgpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoIW1f
aWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50U3R5bGUtPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7
CkBAIC05MDIsMzQgKzkwMiwzNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRs
ZVRleHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAg
ICAgbV9pZ25vcmluZ1NwYWNlcyA9IGZhbHNlOwogICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNw
YWNpbmcgPSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAg
d29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAoYXBwbHlXb3JkU3BhY2luZyAmJiB3b3Jk
TWVhc3VyZW1lbnRzLmxhc3QoKS53aWR0aCkgPyB3b3JkU3BhY2luZyA6IDA7Ci0gICAgICAgICAg
ICBsYXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9u
J3QgYWRkIGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCi0gICAgICAgICAgICBtX2xpbmVN
aWRwb2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJl
bnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICBsYXN0U3BhY2Ug
PSBtX2N1cnJlbnQub2Zmc2V0KCk7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRkIGlu
IGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCisgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0
YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVy
ZXIoKSwgbV9jdXJyZW50Lm9mZnNldCgpKSk7CiAgICAgICAgIH0KICNpZiBFTkFCTEUoU1ZHKQot
ICAgICAgICBpZiAoaXNTVkdUZXh0ICYmIG1fY3VycmVudC5tX3BvcyA+IDApIHsKKyAgICAgICAg
aWYgKGlzU1ZHVGV4dCAmJiBtX2N1cnJlbnQub2Zmc2V0KCkgPiAwKSB7CiAgICAgICAgICAgICAv
LyBGb3JjZSBjcmVhdGlvbiBvZiBuZXcgSW5saW5lQm94ZXMgZm9yIGVhY2ggYWJzb2x1dGUgcG9z
aXRpb25lZCBjaGFyYWN0ZXIgKHRob3NlIHRoYXQgc3RhcnQgbmV3IHRleHQgY2h1bmtzKS4KLSAg
ICAgICAgICAgIGlmICh0b1JlbmRlclNWR0lubGluZVRleHQocmVuZGVyVGV4dCktPmNoYXJhY3Rl
clN0YXJ0c05ld1RleHRDaHVuayhtX2N1cnJlbnQubV9wb3MpKQorICAgICAgICAgICAgaWYgKHRv
UmVuZGVyU1ZHSW5saW5lVGV4dChyZW5kZXJUZXh0KS0+Y2hhcmFjdGVyU3RhcnRzTmV3VGV4dENo
dW5rKG1fY3VycmVudC5vZmZzZXQoKSkpCiAgICAgICAgICAgICAgICAgZW5zdXJlQ2hhcmFjdGVy
R2V0c0xpbmVCb3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKICAgICAgICAgfQog
I2VuZGlmCiAKICAgICAgICAgaWYgKG1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgIXByZXZp
b3VzQ2hhcmFjdGVySXNTcGFjZSkgewogICAgICAgICAgICAgbV9zdGFydE9mSWdub3JlZFNwYWNl
cy5zZXRSZW5kZXJlcihtX2N1cnJlbnQucmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICBtX3N0YXJ0
T2ZJZ25vcmVkU3BhY2VzLm1fcG9zID0gbV9jdXJyZW50Lm1fcG9zOworICAgICAgICAgICAgbV9z
dGFydE9mSWdub3JlZFNwYWNlcy5zZXRPZmZzZXQobV9jdXJyZW50Lm9mZnNldCgpKTsKICAgICAg
ICAgICAgIC8vIFNwYWNlcyBhZnRlciByaWdodC1hbGlnbmVkIHRleHQgYW5kIGJlZm9yZSBhIGxp
bmUtYnJlYWsgZ2V0IGNvbGxhcHNlZCBhd2F5IGNvbXBsZXRlbHkgc28gdGhhdCB0aGUgdHJhaWxp
bmcKICAgICAgICAgICAgIC8vIHNwYWNlIGRvZXNuJ3Qgc2VlbSB0byBwdXNoIHRoZSB0ZXh0IG91
dCBmcm9tIHRoZSByaWdodC1oYW5kIGVkZ2UuCiAgICAgICAgICAgICAvLyBGSVhNRTogRG8gdGhp
cyByZWdhcmRsZXNzIG9mIHRoZSBjb250YWluZXIncyBhbGlnbm1lbnQgLSB3aWxsIHJlcXVpcmUg
cmViYXNlbGluaW5nIGEgbG90IG9mIHRlc3QgcmVzdWx0cy4KICAgICAgICAgICAgIGlmIChtX25l
eHRPYmplY3QgJiYgbV9uZXh0T2JqZWN0LT5pc0JSKCkgJiYgKG1fYmxvY2tTdHlsZS50ZXh0QWxp
Z24oKSA9PSBSSUdIVCB8fCBtX2Jsb2NrU3R5bGUudGV4dEFsaWduKCkgPT0gV0VCS0lUX1JJR0hU
KSkgewotICAgICAgICAgICAgICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMubV9wb3MtLTsKKyAg
ICAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLnNldE9mZnNldChtX3N0YXJ0T2ZJ
Z25vcmVkU3BhY2VzLm9mZnNldCgpIC0gMSk7CiAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUn
cyBqdXN0IGEgc2luZ2xlIHRyYWlsaW5nIHNwYWNlIHN0YXJ0IGlnbm9yaW5nIGl0IG5vdyBzbyBp
dCBjb2xsYXBzZXMgYXdheS4KLSAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Lm1fcG9zID09
IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAtIDEpCisgICAgICAgICAgICAgICAgaWYgKG1fY3Vy
cmVudC5vZmZzZXQoKSA9PSByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCkgLSAxKQogICAgICAgICAg
ICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRlLnN0YXJ0SWdub3JpbmdTcGFjZXMobV9zdGFy
dE9mSWdub3JlZFNwYWNlcyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBp
ZiAoIW1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgcHJldmlvdXNDaGFyYWN0ZXJJc1dTKSB7
CiAgICAgICAgICAgICBpZiAobV9hdXRvV3JhcCAmJiBtX2N1cnJlbnRTdHlsZS0+YnJlYWtPbmx5
QWZ0ZXJXaGl0ZVNwYWNlKCkpCi0gICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1f
Y3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MsIG1fY3VycmVudC5uZXh0QnJlYWth
YmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3Vy
cmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCksIG1fY3VycmVudC5uZXh0QnJlYWth
YmxlUG9zaXRpb24oKSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9jb2xsYXBzZVdoaXRl
U3BhY2UgJiYgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiAhbV9pZ25vcmluZ1NwYWNlcykK
QEAgLTk0OCw5ICs5NDgsOSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRl
eHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgIHdvcmRNZWFz
dXJlbWVudC5yZW5kZXJlciA9IHJlbmRlclRleHQ7CiAKICAgICAvLyBJTVBPUlRBTlQ6IGN1cnJl
bnQubV9wb3MgaXMgPiBsZW5ndGggaGVyZSEKLSAgICBmbG9hdCBhZGRpdGlvbmFsVGVtcFdpZHRo
ID0gbV9pZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNl
LCBtX2N1cnJlbnQubV9wb3MgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRo
KCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5m
YWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKKyAgICBmbG9hdCBhZGRpdGlvbmFsVGVtcFdpZHRo
ID0gbV9pZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNl
LCBtX2N1cnJlbnQub2Zmc2V0KCkgLSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdp
ZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVu
dC5mYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKICAgICB3b3JkTWVhc3VyZW1lbnQuc3RhcnRP
ZmZzZXQgPSBsYXN0U3BhY2U7Ci0gICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fY3Vy
cmVudC5tX3BvczsKKyAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm9m
ZnNldCgpOwogICAgIHdvcmRNZWFzdXJlbWVudC53aWR0aCA9IG1faWdub3JpbmdTcGFjZXMgPyAw
IDogYWRkaXRpb25hbFRlbXBXaWR0aCArIHdvcmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50Owog
ICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggKz0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAKQEAgLTk2
OCw3ICs5NjgsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29y
ZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogCiAgICAgaWYgKCFtX3dpZHRo
LmZpdHNPbkxpbmUoKSkgewogICAgICAgICBpZiAoY2FuSHlwaGVuYXRlKQotICAgICAgICAgICAg
dHJ5SHlwaGVuYXRpbmcocmVuZGVyVGV4dCwgZm9udCwgc3R5bGUubG9jYWxlKCksIGNvbnNlY3V0
aXZlSHlwaGVuYXRlZExpbmVzLCBtX2Jsb2NrU3R5bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCks
IHN0eWxlLmh5cGhlbmF0aW9uTGltaXRCZWZvcmUoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEFm
dGVyKCksIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm1fcG9zLCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgp
IC0gYWRkaXRpb25hbFRlbXBXaWR0aCwgbV93aWR0aC5hdmFpbGFibGVXaWR0aCgpLCBpc0ZpeGVk
UGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCBsYXN0U3BhY2VXb3JkU3BhY2luZywgbV9saW5l
QnJlYWssIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSwgbV9saW5lQnJlYWtlci5t
X2h5cGhlbmF0ZWQpOworICAgICAgICAgICAgdHJ5SHlwaGVuYXRpbmcocmVuZGVyVGV4dCwgZm9u
dCwgc3R5bGUubG9jYWxlKCksIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCBtX2Jsb2NrU3R5
bGUuaHlwaGVuYXRpb25MaW1pdExpbmVzKCksIHN0eWxlLmh5cGhlbmF0aW9uTGltaXRCZWZvcmUo
KSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEFmdGVyKCksIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm9m
ZnNldCgpLCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpIC0gYWRkaXRpb25hbFRlbXBXaWR0aCwgbV93
aWR0aC5hdmFpbGFibGVXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNl
LCBsYXN0U3BhY2VXb3JkU3BhY2luZywgbV9saW5lQnJlYWssIG1fY3VycmVudC5uZXh0QnJlYWth
YmxlUG9zaXRpb24oKSwgbV9saW5lQnJlYWtlci5tX2h5cGhlbmF0ZWQpOwogCiAgICAgICAgIGlm
ICghaHlwaGVuYXRlZCAmJiBtX2xpbmVCcmVhay5wcmV2aW91c0luU2FtZU5vZGUoKSA9PSBzb2Z0
SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkgewogICAgICAgICAgICAg
aHlwaGVuYXRlZCA9IHRydWU7CkBAIC0xMDgwLDcgKzEwODAsNyBAQCBpbmxpbmUgdm9pZCBjaGVj
a01pZHBvaW50cyhMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0
ZXJhdG9yJgogICAgICAgICAgICAgLy8gV2UgaGl0IHRoZSBsaW5lIGJyZWFrIGJlZm9yZSB0aGUg
c3RhcnQgcG9pbnQuIFNoYXZlIG9mZiB0aGUgc3RhcnQgcG9pbnQuCiAgICAgICAgICAgICBsaW5l
TWlkcG9pbnRTdGF0ZS5udW1NaWRwb2ludHMtLTsKICAgICAgICAgICAgIGlmIChlbmRwb2ludC5y
ZW5kZXJlcigpLT5zdHlsZSgpLmNvbGxhcHNlV2hpdGVTcGFjZSgpICYmIGVuZHBvaW50LnJlbmRl
cmVyKCktPmlzVGV4dCgpKQotICAgICAgICAgICAgICAgIGVuZHBvaW50Lm1fcG9zLS07CisgICAg
ICAgICAgICAgICAgZW5kcG9pbnQuc2V0T2Zmc2V0KGVuZHBvaW50Lm9mZnNldCgpIC0gMSk7CiAg
ICAgICAgIH0KICAgICB9CiB9CkBAIC0xMDk3LDE5ICsxMDk3LDE5IEBAIElubGluZUl0ZXJhdG9y
IEJyZWFraW5nQ29udGV4dDo6aGFuZGxlRW5kT2ZMaW5lKCkKICAgICAgICAgaWYgKG1fbGluZUJy
ZWFrID09IG1fcmVzb2x2ZXIucG9zaXRpb24oKSkgewogICAgICAgICAgICAgaWYgKCFtX2xpbmVC
cmVhay5yZW5kZXJlcigpIHx8ICFtX2xpbmVCcmVhay5yZW5kZXJlcigpLT5pc0JSKCkpIHsKICAg
ICAgICAgICAgICAgICAvLyB3ZSBqdXN0IGFkZCBhcyBtdWNoIGFzIHBvc3NpYmxlCi0gICAgICAg
ICAgICAgICAgaWYgKG1fYmxvY2tTdHlsZS53aGl0ZVNwYWNlKCkgPT0gUFJFICYmICFtX2N1cnJl
bnQubV9wb3MpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9ibG9ja1N0eWxlLndoaXRlU3BhY2Uo
KSA9PSBQUkUgJiYgIW1fY3VycmVudC5vZmZzZXQoKSkgewogICAgICAgICAgICAgICAgICAgICBt
X2xpbmVCcmVhay5tb3ZlVG8obV9sYXN0T2JqZWN0LCBtX2xhc3RPYmplY3QtPmlzVGV4dCgpID8g
bV9sYXN0T2JqZWN0LT5sZW5ndGgoKSA6IDApOwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
bV9saW5lQnJlYWsucmVuZGVyZXIoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBl
dmVyIGJyZWFrIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkIGlmIHdlIGNhbiBoZWxwIGl0LgogICAg
ICAgICAgICAgICAgICAgICAvLyBUaGVyZSdzIG5vIHJvb20gYXQgYWxsLiBXZSBqdXN0IGhhdmUg
dG8gYmUgb24gdGhpcyBsaW5lLAogICAgICAgICAgICAgICAgICAgICAvLyBldmVuIHRob3VnaCB3
ZSdsbCBzcGlsbCBvdXQuCi0gICAgICAgICAgICAgICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyht
X2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zKTsKKyAgICAgICAgICAgICAgICAg
ICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zm
c2V0KCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8v
IG1ha2Ugc3VyZSB3ZSBjb25zdW1lIGF0IGxlYXN0IG9uZSBjaGFyL29iamVjdC4KICAgICAgICAg
ICAgIGlmIChtX2xpbmVCcmVhayA9PSBtX3Jlc29sdmVyLnBvc2l0aW9uKCkpCiAgICAgICAgICAg
ICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIW1fY3Vy
cmVudC5tX3BvcyAmJiAhbV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICYmIG1fd2lkdGgudW5jb21t
aXR0ZWRXaWR0aCgpICYmICFtX2hhZFVuY29tbWl0dGVkV2lkdGhCZWZvcmVDdXJyZW50KSB7Cisg
ICAgICAgIH0gZWxzZSBpZiAoIW1fY3VycmVudC5vZmZzZXQoKSAmJiAhbV93aWR0aC5jb21taXR0
ZWRXaWR0aCgpICYmIG1fd2lkdGgudW5jb21taXR0ZWRXaWR0aCgpICYmICFtX2hhZFVuY29tbWl0
dGVkV2lkdGhCZWZvcmVDdXJyZW50KSB7CiAgICAgICAgICAgICAvLyBEbyBub3QgcHVzaCB0aGUg
Y3VycmVudCBvYmplY3QgdG8gdGhlIG5leHQgbGluZSwgd2hlbiB0aGlzIGxpbmUgaGFzIHNvbWUg
Y29udGVudCwgYnV0IGl0IGlzIHN0aWxsIGNvbnNpZGVyZWQgZW1wdHkuCiAgICAgICAgICAgICAv
LyBFbXB0eSBpbmxpbmUgZWxlbWVudHMgbGlrZSA8c3Bhbj48L3NwYW4+IGNhbiBwcm9kdWNlIHN1
Y2ggbGluZXMgYW5kIG5vdyB3ZSBqdXN0IGlnbm9yZSB0aGVzZSBicmVhayBvcHBvcnR1bml0aWVz
CiAgICAgICAgICAgICAvLyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lLCBpZiBubyB3aWR0aCBoYXMg
YmVlbiBjb21taXR0ZWQgeWV0LgpAQCAtMTEyNyw4ICsxMTI3LDggQEAgSW5saW5lSXRlcmF0b3Ig
QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUoKQogICAgIC8vIG9mIHRoZSBvYmplY3Qu
IERvIHRoaXMgYWRqdXN0bWVudCB0byBtYWtlIGl0IHBvaW50IHRvIHRoZSBzdGFydAogICAgIC8v
IG9mIHRoZSBuZXh0IG9iamVjdCBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2luZyB0aGUgcmVzdCBv
ZiB0aGUKICAgICAvLyBjb2RlLgotICAgIGlmIChtX2xpbmVCcmVhay5tX3BvcyA+IDApIHsKLSAg
ICAgICAgbV9saW5lQnJlYWsubV9wb3MtLTsKKyAgICBpZiAobV9saW5lQnJlYWsub2Zmc2V0KCkg
PiAwKSB7CisgICAgICAgIG1fbGluZUJyZWFrLnNldE9mZnNldChtX2xpbmVCcmVhay5vZmZzZXQo
KSAtIDEpOwogICAgICAgICBtX2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9UcmFpbGluZ09iamVjdHMuY3BwCmluZGV4
IGE2Y2U4NGE3YWMxYTUwOWMyZjY3ZDFhN2FmYzEzZGZkNGFjMTRlNjUuLjY3NjYzOTIyYzM2ZGQ4
MmE3ZGQ5OWJjOWE0ZTdhMjkyOTdjYzU1MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcApAQCAtNDIsNyArNDIsNyBAQCB2b2lkIFRy
YWlsaW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9p
bnRTdGF0ZSYgbGluZU1pZAogICAgICAgICBmb3IgKCA7IHRyYWlsaW5nU3BhY2VNaWRwb2ludCA+
IDAgJiYgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRwb2ludF0u
cmVuZGVyZXIoKSAhPSBtX3doaXRlc3BhY2U7IC0tdHJhaWxpbmdTcGFjZU1pZHBvaW50KSB7IH0K
ICAgICAgICAgQVNTRVJUKHRyYWlsaW5nU3BhY2VNaWRwb2ludCA+PSAwKTsKICAgICAgICAgaWYg
KGNvbGxhcHNlRmlyc3RTcGFjZSA9PSBDb2xsYXBzZUZpcnN0U3BhY2UpCi0gICAgICAgICAgICBs
aW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50XS5tX3Bvcy0t
OworICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VN
aWRwb2ludF0uc2V0T2Zmc2V0KGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1Nw
YWNlTWlkcG9pbnRdLm9mZnNldCgpIC0xKTsKIAogICAgICAgICAvLyBOb3cgbWFrZSBzdXJlIGV2
ZXJ5IHNpbmdsZSB0cmFpbGluZ1Bvc2l0aW9uZWRCb3ggZm9sbG93aW5nIHRoZSB0cmFpbGluZ1Nw
YWNlTWlkcG9pbnQgcHJvcGVybHkgc3RvcHMgYW5kIHN0YXJ0cwogICAgICAgICAvLyBpZ25vcmlu
ZyBzcGFjZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220020</attachid>
            <date>2013-12-25 20:16:52 -0800</date>
            <delta_ts>2013-12-25 23:28:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125614-20131226131650.patch</filename>
            <type>text/plain</type>
            <size>35111</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4MmNhNDQzNWI5MzBl
MmE0MmQ4NWRjMDAzZjVhNWVkM2VlYWI2Zi4uYmNjYTk0ZjNjNDM5NGQ3ZjZjNGJiZDJkYzU5ZDRj
ZTg5ZTgxNjZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTI1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgU2V0IG1fcG9z
IGFzIHByaXZhdGUgaW4gSW5saW5lSXRlcmF0b3IsIGFuZCB1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIg
ZnVuY3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKwor
ICAgICAgICBJbmxpbmVJdGVyYXRvciBoYXMgYmVlbiBleHBvcnRlZCBtX3BvcyBhcyBwdWJsaWMg
ZGlyZWN0bHkgdGhvdWdoIGl0IGlzIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAgVGhpcyBwYXRj
aCBzZXQgaXQgYXMgcHJpdmF0ZSwgYW5kIGFkZCBnZXR0ZXIvc2V0dGVyIGZ1bmN0aW9ucyBmb3Ig
aXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVJdGVyYXRvcjo6c2V0T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOgor
ICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IhPSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
aWRpUmVzb2x2ZXI6OmFwcGVuZFJ1bik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmFwcGVu
ZFJ1bnNGb3JPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0QmlkaVJ1bnNGb3JM
aW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bGF5b3V0UnVuc0FuZEZs
b2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjptYXRjaGVk
RW5kTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lQnJlYWtlcjo6bmV4dFNlZ21lbnRCcmVh
ayk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVy
cy5oOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250ZXh0OjpoYW5kbGVCUik6CisgICAg
ICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUZsb2F0KToKKyAgICAgICAgKFdl
YkNvcmU6Oml0ZXJhdG9ySXNCZXlvbmRFbmRPZlJlbmRlckNvbWJpbmVUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OmVuc3VyZUNoYXJhY3RlckdldHNMaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6
OkJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpjaGVja01p
ZHBvaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUVuZE9m
TGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYWlsaW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxp
bmdCb3hlcyk6CisKIDIwMTMtMTItMjUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIFtDTWFrZV0gQ2xlYW4gdXAgZ2VuZXJhdGVkIHNvdXJj
ZXMgZGlyZWN0b3JpZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgK
aW5kZXggYWE4NWY1N2U5MDk4ZjFmYjYxYWZhNjMyZGEyZWFmMDI4ZjYyMzQwNC4uYjVmMmExZTk0
NmYyMDhlNTU4Yzc4OTMyMmM4OGJlZTI3OGQxMjkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUl0ZXJhdG9yLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVibGljOgogICAgIFJlbmRl
ck9iamVjdCogcmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyOyB9CiAgICAgdm9p
ZCBzZXRSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSB7IG1fcmVuZGVyZXIgPSByZW5k
ZXJlcjsgfQogICAgIHVuc2lnbmVkIG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9zOyB9Cisg
ICAgdm9pZCBzZXRPZmZzZXQodW5zaWduZWQgcG9zaXRpb24pIHsgbV9wb3MgPSBwb3NpdGlvbjsg
fQogICAgIFJlbmRlckVsZW1lbnQqIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX3Jvb3Q7IH0KICAg
ICBpbnQgbmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0QnJlYWth
YmxlUG9zaXRpb247IH0KICAgICB2b2lkIHNldE5leHRCcmVha2FibGVQb3NpdGlvbihpbnQgcG9z
aXRpb24pIHsgbV9uZXh0QnJlYWthYmxlUG9zaXRpb24gPSBwb3NpdGlvbjsgfQpAQCAtOTgsMjAg
Kzk5LDE3IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCiAgICAg
aW50IG1fbmV4dEJyZWFrYWJsZVBvc2l0aW9uOwotCi0vLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJl
IHByaXZhdGUuCi1wdWJsaWM6CiAgICAgdW5zaWduZWQgbV9wb3M7CiB9OwogCiBpbmxpbmUgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IElubGluZUl0ZXJhdG9yJiBpdDEsIGNvbnN0IElubGluZUl0ZXJh
dG9yJiBpdDIpCiB7Ci0gICAgcmV0dXJuIGl0MS5tX3BvcyA9PSBpdDIubV9wb3MgJiYgaXQxLnJl
bmRlcmVyKCkgPT0gaXQyLnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGl0MS5vZmZzZXQoKSA9PSBp
dDIub2Zmc2V0KCkgJiYgaXQxLnJlbmRlcmVyKCkgPT0gaXQyLnJlbmRlcmVyKCk7CiB9CiAKIGlu
bGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5saW5lSXRlcmF0b3ImIGl0MSwgY29uc3QgSW5s
aW5lSXRlcmF0b3ImIGl0MikKIHsKLSAgICByZXR1cm4gaXQxLm1fcG9zICE9IGl0Mi5tX3BvcyB8
fCBpdDEucmVuZGVyZXIoKSAhPSBpdDIucmVuZGVyZXIoKTsKKyAgICByZXR1cm4gaXQxLm9mZnNl
dCgpICE9IGl0Mi5vZmZzZXQoKSB8fCBpdDEucmVuZGVyZXIoKSAhPSBpdDIucmVuZGVyZXIoKTsK
IH0KIAogc3RhdGljIGlubGluZSBVQ2hhckRpcmVjdGlvbiBlbWJlZENoYXJGcm9tRGlyZWN0aW9u
KFRleHREaXJlY3Rpb24gZGlyZWN0aW9uLCBFVW5pY29kZUJpZGkgdW5pY29kZUJpZGkpCkBAIC01
MTgsNyArNTE2LDcgQEAgaW5saW5lIHZvaWQgSW5saW5lQmlkaVJlc29sdmVyOjphcHBlbmRSdW4o
KQogICAgICAgICAvLyBJbml0aWFsaXplIG91ciBzdGF0ZSBkZXBlbmRpbmcgb24gaWYgd2UncmUg
c3RhcnRpbmcgaW4gdGhlIG1pZGRsZSBvZiBzdWNoIGFuIGlubGluZS4KICAgICAgICAgLy8gRklY
TUU6IENvdWxkIHRoaXMgaW5pdGlhbGl6ZSBmcm9tIHRoaXMtPmluSXNvbGF0ZSgpIGluc3RlYWQg
b2Ygd2Fsa2luZyB1cCB0aGUgcmVuZGVyIHRyZWU/CiAgICAgICAgIElzb2xhdGVUcmFja2VyIGlz
b2xhdGVUcmFja2VyKG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhtX3NvcikpOwotICAgICAgICBp
bnQgc3RhcnQgPSBtX3Nvci5tX3BvczsKKyAgICAgICAgaW50IHN0YXJ0ID0gbV9zb3Iub2Zmc2V0
KCk7CiAgICAgICAgIFJlbmRlck9iamVjdCogb2JqID0gbV9zb3IucmVuZGVyZXIoKTsKICAgICAg
ICAgd2hpbGUgKG9iaiAmJiBvYmogIT0gbV9lb3IucmVuZGVyZXIoKSAmJiBvYmogIT0gZW5kT2ZM
aW5lLnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgIGlmIChpc29sYXRlVHJhY2tlci5pbklzb2xh
dGUoKSkKQEAgLTUzMCwxMCArNTI4LDEwIEBAIGlubGluZSB2b2lkIElubGluZUJpZGlSZXNvbHZl
cjo6YXBwZW5kUnVuKCkKICAgICAgICAgICAgIG9iaiA9IGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlu
bGluZXMoKm1fc29yLnJvb3QoKSwgb2JqLCAmaXNvbGF0ZVRyYWNrZXIpOwogICAgICAgICB9CiAg
ICAgICAgIGlmIChvYmopIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIHBvcyA9IG9iaiA9PSBtX2Vv
ci5yZW5kZXJlcigpID8gbV9lb3IubV9wb3MgOiBVSU5UX01BWDsKLSAgICAgICAgICAgIGlmIChv
YmogPT0gZW5kT2ZMaW5lLnJlbmRlcmVyKCkgJiYgZW5kT2ZMaW5lLm1fcG9zIDw9IHBvcykgewor
ICAgICAgICAgICAgdW5zaWduZWQgcG9zID0gb2JqID09IG1fZW9yLnJlbmRlcmVyKCkgPyBtX2Vv
ci5vZmZzZXQoKSA6IFVJTlRfTUFYOworICAgICAgICAgICAgaWYgKG9iaiA9PSBlbmRPZkxpbmUu
cmVuZGVyZXIoKSAmJiBlbmRPZkxpbmUub2Zmc2V0KCkgPD0gcG9zKSB7CiAgICAgICAgICAgICAg
ICAgbV9yZWFjaGVkRW5kT2ZMaW5lID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBwb3MgPSBlbmRP
ZkxpbmUubV9wb3M7CisgICAgICAgICAgICAgICAgcG9zID0gZW5kT2ZMaW5lLm9mZnNldCgpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gSXQncyBPSyB0byBhZGQgcnVucyBmb3IgemVy
by1sZW5ndGggUmVuZGVyT2JqZWN0cywganVzdCBkb24ndCBtYWtlIHRoZSBydW4gbGFyZ2VyIHRo
YW4gaXQgc2hvdWxkIGJlCiAgICAgICAgICAgICBpbnQgZW5kID0gb2JqLT5sZW5ndGgoKSA/IHBv
cyArIDEgOiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAppbmRleCBkYjUwODllNWRlNjdlMjVjZDQyOTY3ZTU5MzljYzM3NzM3OWI3
ZDhkLi5lOWIzODcwMzFiMzAzNWNiM2Y3MDQ1MmNiYmVkY2UwZTcwYzAxZTlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAt
OTMsNyArOTMsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YXBwZW5kUnVuc0Zvck9iamVjdChC
aWRpUnVuTGlzdDxCaWRpUnVuPiYgcnVucywgaW50IHN0YXJ0LAogICAgICAgICAvLyBUaGlzIGlz
IGEgbmV3IHN0YXJ0IHBvaW50LiBTdG9wIGlnbm9yaW5nIG9iamVjdHMgYW5kCiAgICAgICAgIC8v
IGFkanVzdCBvdXIgc3RhcnQuCiAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLmJldHdlZW5NaWRw
b2ludHMgPSBmYWxzZTsKLSAgICAgICAgc3RhcnQgPSBuZXh0TWlkcG9pbnQubV9wb3M7CisgICAg
ICAgIHN0YXJ0ID0gbmV4dE1pZHBvaW50Lm9mZnNldCgpOwogICAgICAgICBsaW5lTWlkcG9pbnRT
dGF0ZS5jdXJyZW50TWlkcG9pbnQrKzsKICAgICAgICAgaWYgKHN0YXJ0IDwgZW5kKQogICAgICAg
ICAgICAgcmV0dXJuIGFwcGVuZFJ1bnNGb3JPYmplY3QocnVucywgc3RhcnQsIGVuZCwgb2JqLCBy
ZXNvbHZlcik7CkBAIC0xMDUsMTMgKzEwNSwxMyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YXBw
ZW5kUnVuc0Zvck9iamVjdChCaWRpUnVuTGlzdDxCaWRpUnVuPiYgcnVucywgaW50IHN0YXJ0LAog
CiAgICAgICAgIC8vIEFuIGVuZCBtaWRwb2ludCBoYXMgYmVlbiBlbmNvdW50ZXJlZCB3aXRoaW4g
b3VyIG9iamVjdC4gIFdlCiAgICAgICAgIC8vIG5lZWQgdG8gZ28gYWhlYWQgYW5kIGFwcGVuZCBh
IHJ1biB3aXRoIG91ciBlbmRwb2ludC4KLSAgICAgICAgaWYgKHN0YXRpY19jYXN0PGludD4obmV4
dE1pZHBvaW50Lm1fcG9zICsgMSkgPD0gZW5kKSB7CisgICAgICAgIGlmIChzdGF0aWNfY2FzdDxp
bnQ+KG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEpIDw9IGVuZCkgewogICAgICAgICAgICAgbGlu
ZU1pZHBvaW50U3RhdGUuYmV0d2Vlbk1pZHBvaW50cyA9IHRydWU7CiAgICAgICAgICAgICBsaW5l
TWlkcG9pbnRTdGF0ZS5jdXJyZW50TWlkcG9pbnQrKzsKLSAgICAgICAgICAgIGlmIChuZXh0TWlk
cG9pbnQubV9wb3MgIT0gVUlOVF9NQVgpIHsgLy8gVUlOVF9NQVggbWVhbnMgc3RvcCBhdCB0aGUg
b2JqZWN0IGFuZCBkb24ndCBpbmNsdWRlIGFueSBvZiBpdC4KLSAgICAgICAgICAgICAgICBpZiAo
c3RhdGljX2Nhc3Q8aW50PihuZXh0TWlkcG9pbnQubV9wb3MgKyAxKSA+IHN0YXJ0KQotICAgICAg
ICAgICAgICAgICAgICBydW5zLmFkZFJ1bihjcmVhdGVSdW4oc3RhcnQsIG5leHRNaWRwb2ludC5t
X3BvcyArIDEsIG9iaiwgcmVzb2x2ZXIpKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gYXBwZW5k
UnVuc0Zvck9iamVjdChydW5zLCBuZXh0TWlkcG9pbnQubV9wb3MgKyAxLCBlbmQsIG9iaiwgcmVz
b2x2ZXIpOworICAgICAgICAgICAgaWYgKG5leHRNaWRwb2ludC5vZmZzZXQoKSAhPSBVSU5UX01B
WCkgeyAvLyBVSU5UX01BWCBtZWFucyBzdG9wIGF0IHRoZSBvYmplY3QgYW5kIGRvbid0IGluY2x1
ZGUgYW55IG9mIGl0LgorICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG5leHRN
aWRwb2ludC5vZmZzZXQoKSArIDEpID4gc3RhcnQpCisgICAgICAgICAgICAgICAgICAgIHJ1bnMu
YWRkUnVuKGNyZWF0ZVJ1bihzdGFydCwgbmV4dE1pZHBvaW50Lm9mZnNldCgpICsgMSwgb2JqLCBy
ZXNvbHZlcikpOworICAgICAgICAgICAgICAgIHJldHVybiBhcHBlbmRSdW5zRm9yT2JqZWN0KHJ1
bnMsIG5leHRNaWRwb2ludC5vZmZzZXQoKSArIDEsIGVuZCwgb2JqLCByZXNvbHZlcik7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICBydW5zLmFkZFJ1bihjcmVhdGVS
dW4oc3RhcnQsIGVuZCwgb2JqLCByZXNvbHZlcikpOwpAQCAtOTUzLDcgKzk1Myw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2tG
bG93KiBibG9jaywgSW5saW5lCiAgICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRFbmQoaXRl
cmF0b3Iucm9vdCwgaXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRvci5vZmZzZXQpOwogICAgICAgICBp
ZiAoaSkgewogICAgICAgICAgICAgQVNTRVJUKHNlZ21lbnRTdGFydC5yZW5kZXJlcigpKTsKLSAg
ICAgICAgICAgIEJpZGlSdW4qIHNlZ21lbnRNYXJrZXIgPSBjcmVhdGVSdW4oc2VnbWVudFN0YXJ0
Lm1fcG9zLCBzZWdtZW50U3RhcnQubV9wb3MsIHNlZ21lbnRTdGFydC5yZW5kZXJlcigpLCB0b3BS
ZXNvbHZlcik7CisgICAgICAgICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0gY3JlYXRlUnVu
KHNlZ21lbnRTdGFydC5vZmZzZXQoKSwgc2VnbWVudFN0YXJ0Lm9mZnNldCgpLCBzZWdtZW50U3Rh
cnQucmVuZGVyZXIoKSwgdG9wUmVzb2x2ZXIpOwogICAgICAgICAgICAgc2VnbWVudE1hcmtlci0+
bV9zdGFydHNTZWdtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgIGJpZGlSdW5zLmFkZFJ1bihzZWdt
ZW50TWFya2VyKTsKICAgICAgICAgICAgIC8vIERvIG5vdCBjb2xsYXBzZSBtaWRwb2ludHMgYmV0
d2VlbiBzZWdtZW50cwpAQCAtMTM1MSw3ICsxMzUxLDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6
OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUs
IEkKICAgICAgICAgLy8gVGhpcyBpcyBhIHNob3J0LWN1dCBmb3IgZW1wdHkgbGluZXMuCiAgICAg
ICAgIGlmIChsYXlvdXRTdGF0ZS5saW5lSW5mbygpLmlzRW1wdHkoKSkgewogICAgICAgICAgICAg
aWYgKGxhc3RSb290Qm94KCkpCi0gICAgICAgICAgICAgICAgbGFzdFJvb3RCb3goKS0+c2V0TGlu
ZUJyZWFrSW5mbyhlbmQucmVuZGVyZXIoKSwgZW5kLm1fcG9zLCByZXNvbHZlci5zdGF0dXMoKSk7
CisgICAgICAgICAgICAgICAgbGFzdFJvb3RCb3goKS0+c2V0TGluZUJyZWFrSW5mbyhlbmQucmVu
ZGVyZXIoKSwgZW5kLm9mZnNldCgpLCByZXNvbHZlci5zdGF0dXMoKSk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBWaXN1YWxEaXJlY3Rpb25PdmVycmlkZSBvdmVycmlkZSA9IChzdHls
ZVRvVXNlLnJ0bE9yZGVyaW5nKCkgPT0gVmlzdWFsT3JkZXIgPyAoc3R5bGVUb1VzZS5kaXJlY3Rp
b24oKSA9PSBMVFIgPyBWaXN1YWxMZWZ0VG9SaWdodE92ZXJyaWRlIDogVmlzdWFsUmlnaHRUb0xl
ZnRPdmVycmlkZSkgOiBOb1Zpc3VhbE92ZXJyaWRlKTsKIApAQCAtMTM4NCw3ICsxMzg0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKExpbmVMYXlv
dXRTdGF0ZSYgbGF5b3V0U3RhdGUsIEkKICAgICAgICAgICAgIHJlc29sdmVyLm1hcmtDdXJyZW50
UnVuRW1wdHkoKTsgLy8gRklYTUU6IFRoaXMgY2FuIHByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IGFu
IEFTU0VSVCAob3IganVzdCByZW1vdmVkKS4KIAogICAgICAgICAgICAgaWYgKGxpbmVCb3gpIHsK
LSAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5yZW5kZXJlcigp
LCBlbmQubV9wb3MsIHJlc29sdmVyLnN0YXR1cygpKTsKKyAgICAgICAgICAgICAgICBsaW5lQm94
LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5yZW5kZXJlcigpLCBlbmQub2Zmc2V0KCksIHJlc29sdmVy
LnN0YXR1cygpKTsKICAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUudXNlc1JlcGFpbnRC
b3VuZHMoKSkKICAgICAgICAgICAgICAgICAgICAgbGF5b3V0U3RhdGUudXBkYXRlUmVwYWludFJh
bmdlRnJvbUJveChsaW5lQm94KTsKIApAQCAtMTk2Miw3ICsxOTYyLDcgQEAgYm9vbCBSZW5kZXJC
bG9ja0Zsb3c6Om1hdGNoZWRFbmRMaW5lKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNv
bnN0IElubGluZUIKICAgICBSb290SW5saW5lQm94KiBvcmlnaW5hbEVuZExpbmUgPSBsYXlvdXRT
dGF0ZS5lbmRMaW5lKCk7CiAgICAgUm9vdElubGluZUJveCogbGluZSA9IG9yaWdpbmFsRW5kTGlu
ZTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUxpbmVzICYmIGxpbmU7IGkrKywgbGluZSA9
IGxpbmUtPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAgaWYgKGxpbmUtPmxpbmVCcmVha09iaigp
ID09IHJlc29sdmVyLnBvc2l0aW9uKCkucmVuZGVyZXIoKSAmJiBsaW5lLT5saW5lQnJlYWtQb3Mo
KSA9PSByZXNvbHZlci5wb3NpdGlvbigpLm1fcG9zKSB7CisgICAgICAgIGlmIChsaW5lLT5saW5l
QnJlYWtPYmooKSA9PSByZXNvbHZlci5wb3NpdGlvbigpLnJlbmRlcmVyKCkgJiYgbGluZS0+bGlu
ZUJyZWFrUG9zKCkgPT0gcmVzb2x2ZXIucG9zaXRpb24oKS5vZmZzZXQoKSkgewogICAgICAgICAg
ICAgLy8gV2UgaGF2ZSBhIG1hdGNoLgogICAgICAgICAgICAgaWYgKGxpbmUtPmxpbmVCcmVha0Jp
ZGlTdGF0dXMoKSAhPSByZXNvbHZlci5zdGF0dXMoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7IC8vIC4uLmJ1dCB0aGUgYmlkaSBzdGF0ZSBkb2Vzbid0IG1hdGNoLgpAQCAtMjA1Niw3
ICsyMDU2LDcgQEAgSW5saW5lSXRlcmF0b3IgTGluZUJyZWFrZXI6Om5leHRTZWdtZW50QnJlYWso
SW5saW5lQmlkaVJlc29sdmVyJiByZXNvbHZlciwgTGluZUkKIAogICAgIEFTU0VSVChyZXNvbHZl
ci5wb3NpdGlvbigpLnJvb3QoKSA9PSAmbV9ibG9jayk7CiAKLSAgICBib29sIGFwcGxpZWRTdGFy
dFdpZHRoID0gcmVzb2x2ZXIucG9zaXRpb24oKS5tX3BvcyA+IDA7CisgICAgYm9vbCBhcHBsaWVk
U3RhcnRXaWR0aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2Zmc2V0KCk7CiAKICAgICBMaW5lV2lk
dGggd2lkdGgobV9ibG9jaywgbGluZUluZm8uaXNGaXJzdExpbmUoKSwgcmVxdWlyZXNJbmRlbnQo
bGluZUluZm8uaXNGaXJzdExpbmUoKSwgbGluZUluZm8ucHJldmlvdXNMaW5lQnJva2VDbGVhbmx5
KCksIG1fYmxvY2suc3R5bGUoKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKaW5kZXggOTE2
MGI3NTM0YjRjYTJhZDRmODBkMjVjYzRmYWFkOTRiYzYxNjBmMi4uZGMyODlmOTYwMWNmMTBiMGI5
ZWY3Yzc5MzZiMDFlMDQzMmI2MzA2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaApAQCAtMjYw
LDcgKzI2MCw3IEBAIGlubGluZSB2b2lkIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlQlIoRUNsZWFy
JiBjbGVhcikKICAgICAgICAgLy8gY29sbGFwc2VkIGF3YXkgc28gdGhhdCBpdCBkb2Vzbid0IHB1
c2ggdGhlIHRleHQgb3V0IGZyb20gdGhlIGNvbnRhaW5lcidzIHJpZ2h0LWhhbmQgZWRnZS4KICAg
ICAgICAgLy8gRklYTUU6IERvIHRoaXMgcmVnYXJkbGVzcyBvZiB0aGUgY29udGFpbmVyJ3MgYWxp
Z25tZW50IC0gd2lsbCByZXF1aXJlIHJlYmFzZWxpbmluZyBhIGxvdCBvZiB0ZXN0IHJlc3VsdHMu
CiAgICAgICAgIGVsc2UgaWYgKG1faWdub3JpbmdTcGFjZXMgJiYgKG1fYmxvY2tTdHlsZS50ZXh0
QWxpZ24oKSA9PSBSSUdIVCB8fCBtX2Jsb2NrU3R5bGUudGV4dEFsaWduKCkgPT0gV0VCS0lUX1JJ
R0hUKSkKLSAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2Vz
KElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3Mp
KTsKKyAgICAgICAgICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElu
bGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCkp
KTsKIAogICAgICAgICBpZiAoIW1fbGluZUluZm8uaXNFbXB0eSgpKQogICAgICAgICAgICAgY2xl
YXIgPSBtX2N1cnJlbnRTdHlsZS0+Y2xlYXIoKTsKQEAgLTM1NCw3ICszNTQsNyBAQCBpbmxpbmUg
dm9pZCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZUZsb2F0KCkKICAgICBpZiAobV9mbG9hdHNGaXRP
bkxpbmUgJiYgbV93aWR0aC5maXRzT25MaW5lRXhjbHVkaW5nVHJhaWxpbmdXaGl0ZXNwYWNlKG1f
YmxvY2subG9naWNhbFdpZHRoRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpKSkgewogICAgICAgICBt
X2xpbmVCcmVha2VyLnBvc2l0aW9uTmV3RmxvYXRPbkxpbmUoZmxvYXRpbmdPYmplY3QsIG1fbGFz
dEZsb2F0RnJvbVByZXZpb3VzTGluZSwgbV9saW5lSW5mbywgbV93aWR0aCk7CiAgICAgICAgIGlm
IChtX2xpbmVCcmVhay5yZW5kZXJlcigpID09IG1fY3VycmVudC5yZW5kZXJlcigpKSB7Ci0gICAg
ICAgICAgICBBU1NFUlQoIW1fbGluZUJyZWFrLm1fcG9zKTsKKyAgICAgICAgICAgIEFTU0VSVCgh
bV9saW5lQnJlYWsub2Zmc2V0KCkpOwogICAgICAgICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50
KCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UKQEAgLTUxNCw3ICs1MTQsNyBAQCBpbmxpbmUgdm9p
ZCB1cGRhdGVTZWdtZW50c0ZvclNoYXBlcyhSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBjb25zdCBG
bG9hdGluZ09iamVjdAogCiBpbmxpbmUgYm9vbCBpdGVyYXRvcklzQmV5b25kRW5kT2ZSZW5kZXJD
b21iaW5lVGV4dChjb25zdCBJbmxpbmVJdGVyYXRvciYgaXRlciwgUmVuZGVyQ29tYmluZVRleHQm
IHJlbmRlcmVyKQogewotICAgIHJldHVybiBpdGVyLnJlbmRlcmVyKCkgPT0gJnJlbmRlcmVyICYm
IGl0ZXIubV9wb3MgPj0gcmVuZGVyZXIudGV4dExlbmd0aCgpOworICAgIHJldHVybiBpdGVyLnJl
bmRlcmVyKCkgPT0gJnJlbmRlcmVyICYmIGl0ZXIub2Zmc2V0KCkgPj0gcmVuZGVyZXIudGV4dExl
bmd0aCgpOwogfQogCiBpbmxpbmUgdm9pZCBuZXh0Q2hhcmFjdGVyKFVDaGFyJiBjdXJyZW50Q2hh
cmFjdGVyLCBVQ2hhciYgbGFzdENoYXJhY3RlciwgVUNoYXImIHNlY29uZFRvTGFzdENoYXJhY3Rl
cikKQEAgLTU2Miw5ICs1NjIsOSBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IHRleHRXaWR0aChSZW5k
ZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbgogLy8gQWRkaW5n
IGEgcGFpciBvZiBtaWRwb2ludHMgYmVmb3JlIGEgY2hhcmFjdGVyIHdpbGwgc3BsaXQgaXQgb3V0
IGludG8gYSBuZXcgbGluZSBib3guCiBpbmxpbmUgdm9pZCBlbnN1cmVDaGFyYWN0ZXJHZXRzTGlu
ZUJveChMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIElubGluZUl0ZXJhdG9y
JiB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yKQogewotICAgIElubGluZUl0ZXJhdG9yIG1pZHBvaW50
KDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFy
YXRvci5tX3Bvcyk7Ci0gICAgbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhJ
bmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9yLnJlbmRlcmVyKCksIHRleHRQ
YXJhZ3JhcGhTZXBhcmF0b3IubV9wb3MgLSAxKSk7Ci0gICAgbGluZU1pZHBvaW50U3RhdGUuc3Rv
cElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iu
cmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5tX3BvcykpOworICAgIElubGluZUl0
ZXJhdG9yIG1pZHBvaW50KDAsIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4
dFBhcmFncmFwaFNlcGFyYXRvci5vZmZzZXQoKSk7CisgICAgbGluZU1pZHBvaW50U3RhdGUuc3Rh
cnRJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCB0ZXh0UGFyYWdyYXBoU2VwYXJhdG9y
LnJlbmRlcmVyKCksIHRleHRQYXJhZ3JhcGhTZXBhcmF0b3Iub2Zmc2V0KCkgLSAxKSk7CisgICAg
bGluZU1pZHBvaW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIHRl
eHRQYXJhZ3JhcGhTZXBhcmF0b3IucmVuZGVyZXIoKSwgdGV4dFBhcmFncmFwaFNlcGFyYXRvci5v
ZmZzZXQoKSkpOwogfQogCiBpbmxpbmUgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0
ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZp
ZXIsIHVuc2lnbmVkIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzLCBpbnQgY29uc2VjdXRpdmVI
eXBoZW5hdGVkTGluZXNMaW1pdCwgaW50IG1pbmltdW1QcmVmaXhMaW1pdCwgaW50IG1pbmltdW1T
dWZmaXhMaW1pdCwgdW5zaWduZWQgbGFzdFNwYWNlLCB1bnNpZ25lZCBwb3MsIGZsb2F0IHhQb3Ms
IGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0
ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJl
YWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQpAQCAtNjM3LDcgKzYzNyw3
IEBAIGlubGluZSB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZv
bnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluCiAKIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4
dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sJiBo
eXBoZW5hdGVkLCAgdW5zaWduZWQmIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVzKQogewotICAg
IGlmICghbV9jdXJyZW50Lm1fcG9zKQorICAgIGlmICghbV9jdXJyZW50Lm9mZnNldCgpKQogICAg
ICAgICBtX2FwcGxpZWRTdGFydFdpZHRoID0gZmFsc2U7CiAKICAgICBSZW5kZXJUZXh0KiByZW5k
ZXJUZXh0ID0gdG9SZW5kZXJUZXh0KG1fY3VycmVudC5yZW5kZXJlcigpKTsKQEAgLTY2Nyw3ICs2
NjcsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1
cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgIGJvb2wgaXNGaXhlZFBpdGNoID0g
Zm9udC5pc0ZpeGVkUGl0Y2goKTsKICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxlLmh5cGhl
bnMoKSA9PSBIeXBoZW5zQXV0byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUoc3R5bGUubG9jYWxl
KCkpOwogCi0gICAgdW5zaWduZWQgbGFzdFNwYWNlID0gbV9jdXJyZW50Lm1fcG9zOworICAgIHVu
c2lnbmVkIGxhc3RTcGFjZSA9IG1fY3VycmVudC5vZmZzZXQoKTsKICAgICBmbG9hdCB3b3JkU3Bh
Y2luZyA9IG1fY3VycmVudFN0eWxlLT53b3JkU3BhY2luZygpOwogICAgIGZsb2F0IGxhc3RTcGFj
ZVdvcmRTcGFjaW5nID0gMDsKICAgICBmbG9hdCB3b3JkU3BhY2luZ0ZvcldvcmRNZWFzdXJlbWVu
dCA9IDA7CkBAIC03MDgsNyArNzA4LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0Ojpo
YW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKIAogICAg
IFVDaGFyIGxhc3RDaGFyYWN0ZXIgPSBtX3JlbmRlclRleHRJbmZvLm1fbGluZUJyZWFrSXRlcmF0
b3IubGFzdENoYXJhY3RlcigpOwogICAgIFVDaGFyIHNlY29uZFRvTGFzdENoYXJhY3RlciA9IG1f
cmVuZGVyVGV4dEluZm8ubV9saW5lQnJlYWtJdGVyYXRvci5zZWNvbmRUb0xhc3RDaGFyYWN0ZXIo
KTsKLSAgICBmb3IgKDsgbV9jdXJyZW50Lm1fcG9zIDwgcmVuZGVyVGV4dC0+dGV4dExlbmd0aCgp
OyBtX2N1cnJlbnQuZmFzdEluY3JlbWVudEluVGV4dE5vZGUoKSkgeworICAgIGZvciAoOyBtX2N1
cnJlbnQub2Zmc2V0KCkgPCByZW5kZXJUZXh0LT50ZXh0TGVuZ3RoKCk7IG1fY3VycmVudC5mYXN0
SW5jcmVtZW50SW5UZXh0Tm9kZSgpKSB7CiAgICAgICAgIGJvb2wgcHJldmlvdXNDaGFyYWN0ZXJJ
c1NwYWNlID0gbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZTsKICAgICAgICAgYm9vbCBwcmV2aW91
c0NoYXJhY3RlcklzV1MgPSBtX2N1cnJlbnRDaGFyYWN0ZXJJc1dTOwogICAgICAgICBVQ2hhciBj
ID0gbV9jdXJyZW50LmN1cnJlbnQoKTsKQEAgLTcyOCwxMyArNzI4LDEzIEBAIGlubGluZSBib29s
IEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3Vy
ZW1lbnRzLCBib29sCiAKICAgICAgICAgaWYgKChicmVha0FsbCB8fCBicmVha1dvcmRzKSAmJiAh
bWlkV29yZEJyZWFrICYmICghbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSB8fCBzdHlsZS53aGl0
ZVNwYWNlKCkgIT0gUFJFX1dSQVApKSB7CiAgICAgICAgICAgICB3cmFwVyArPSBjaGFyV2lkdGg7
Ci0gICAgICAgICAgICBib29sIG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vycm9nYXRlUGFpciA9IFUx
Nl9JU19MRUFEKGMpICYmIG1fY3VycmVudC5tX3BvcyArIDEgPCByZW5kZXJUZXh0LT50ZXh0TGVu
Z3RoKCkgJiYgVTE2X0lTX1RSQUlMKCgqcmVuZGVyVGV4dClbbV9jdXJyZW50Lm1fcG9zICsgMV0p
OwotICAgICAgICAgICAgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1fY3VycmVu
dC5tX3BvcywgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID8gMiA6IDEsIGZvbnQs
IG1fd2lkdGguY29tbWl0dGVkV2lkdGgoKSArIHdyYXBXLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFw
c2VXaGl0ZVNwYWNlLCBmYWxsYmFja0ZvbnRzLCB0ZXh0TGF5b3V0KTsKKyAgICAgICAgICAgIGJv
b2wgbWlkV29yZEJyZWFrSXNCZWZvcmVTdXJyb2dhdGVQYWlyID0gVTE2X0lTX0xFQUQoYykgJiYg
bV9jdXJyZW50Lm9mZnNldCgpICsgMSA8IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAmJiBVMTZf
SVNfVFJBSUwoKCpyZW5kZXJUZXh0KVttX2N1cnJlbnQub2Zmc2V0KCkgKyAxXSk7CisgICAgICAg
ICAgICBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm9mZnNldCgp
LCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBhaXIgPyAyIDogMSwgZm9udCwgbV93aWR0
aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcsIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRl
U3BhY2UsIGZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpOwogICAgICAgICAgICAgbWlkV29yZEJy
ZWFrID0gbV93aWR0aC5jb21taXR0ZWRXaWR0aCgpICsgd3JhcFcgKyBjaGFyV2lkdGggPiBtX3dp
ZHRoLmF2YWlsYWJsZVdpZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpbnQgbmV4dEJyZWFr
YWJsZVBvc2l0aW9uID0gbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpOwotICAgICAg
ICBib29sIGJldHdlZW5Xb3JkcyA9IGMgPT0gJ1xuJyB8fCAobV9jdXJyV1MgIT0gUFJFICYmICFt
X2F0U3RhcnQgJiYgaXNCcmVha2FibGUobV9yZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVha0l0ZXJh
dG9yLCBtX2N1cnJlbnQubV9wb3MsIG5leHRCcmVha2FibGVQb3NpdGlvbiwgYnJlYWtOQlNQKQor
ICAgICAgICBib29sIGJldHdlZW5Xb3JkcyA9IGMgPT0gJ1xuJyB8fCAobV9jdXJyV1MgIT0gUFJF
ICYmICFtX2F0U3RhcnQgJiYgaXNCcmVha2FibGUobV9yZW5kZXJUZXh0SW5mby5tX2xpbmVCcmVh
a0l0ZXJhdG9yLCBtX2N1cnJlbnQub2Zmc2V0KCksIG5leHRCcmVha2FibGVQb3NpdGlvbiwgYnJl
YWtOQlNQKQogICAgICAgICAgICAgJiYgKHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSB8
fCAobV9jdXJyZW50LnByZXZpb3VzSW5TYW1lTm9kZSgpICE9IHNvZnRIeXBoZW4pKSk7CiAgICAg
ICAgIG1fY3VycmVudC5zZXROZXh0QnJlYWthYmxlUG9zaXRpb24obmV4dEJyZWFrYWJsZVBvc2l0
aW9uKTsKIApAQCAtNzQ3LDggKzc0Nyw4IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6
aGFuZGxlVGV4dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAg
ICAgICAgICAgICAgICAgIC8vIG5ldyBwb2ludC4KICAgICAgICAgICAgICAgICAgICAgbV9pZ25v
cmluZ1NwYWNlcyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB3b3JkU3BhY2luZ0Zvcldv
cmRNZWFzdXJlbWVudCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGxhc3RTcGFjZSA9IG1fY3Vy
cmVudC5tX3BvczsgLy8gZS5nLiwgIkZvbyAgICBnb28iLCBkb24ndCBhZGQgaW4gYW55IG9mIHRo
ZSBpZ25vcmVkIHNwYWNlcy4KLSAgICAgICAgICAgICAgICAgICAgbV9saW5lTWlkcG9pbnRTdGF0
ZS5zdG9wSWdub3JpbmdTcGFjZXMoSW5saW5lSXRlcmF0b3IoMCwgbV9jdXJyZW50LnJlbmRlcmVy
KCksIG1fY3VycmVudC5tX3BvcykpOworICAgICAgICAgICAgICAgICAgICBsYXN0U3BhY2UgPSBt
X2N1cnJlbnQub2Zmc2V0KCk7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRkIGluIGFu
eSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCisgICAgICAgICAgICAgICAgICAgIG1fbGluZU1pZHBv
aW50U3RhdGUuc3RvcElnbm9yaW5nU3BhY2VzKElubGluZUl0ZXJhdG9yKDAsIG1fY3VycmVudC5y
ZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCkpKTsKICAgICAgICAgICAgICAgICAgICAgc3Rv
cHBlZElnbm9yaW5nU3BhY2VzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICAvLyBKdXN0IGtlZXAgaWdub3JpbmcgdGhlc2Ugc3BhY2VzLgpAQCAt
NzYxLDE0ICs3NjEsMTQgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0
KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgIFdv
cmRNZWFzdXJlbWVudCYgd29yZE1lYXN1cmVtZW50ID0gd29yZE1lYXN1cmVtZW50cy5sYXN0KCk7
CiAKICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5yZW5kZXJlciA9IHJlbmRlclRleHQ7Ci0g
ICAgICAgICAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm1fcG9zOwor
ICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LmVuZE9mZnNldCA9IG1fY3VycmVudC5vZmZzZXQo
KTsKICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5zdGFydE9mZnNldCA9IGxhc3RTcGFjZTsK
IAogICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRlbXBXaWR0aDsKICAgICAgICAgICAgIGlm
ICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGMgPT0gJyAnKQotICAgICAgICAgICAgICAgIGFk
ZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNlLCBtX2N1
cnJlbnQubV9wb3MgKyAxIC0gbGFzdFNwYWNlLCBmb250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgp
LCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFs
bGJhY2tGb250cywgdGV4dExheW91dCkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoOworICAgICAg
ICAgICAgICAgIGFkZGl0aW9uYWxUZW1wV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFz
dFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCkgKyAxIC0gbGFzdFNwYWNlLCBmb250LCBtX3dpZHRo
LmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0ZVNwYWNlLCB3b3Jk
TWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkgLSB3b3JkVHJhaWxpbmdTcGFj
ZVdpZHRoOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUZW1w
V2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbGFzdFNwYWNlLCBtX2N1cnJlbnQubV9wb3Mg
LSBsYXN0U3BhY2UsIGZvbnQsIG1fd2lkdGguY3VycmVudFdpZHRoKCksIGlzRml4ZWRQaXRjaCwg
bV9jb2xsYXBzZVdoaXRlU3BhY2UsIHdvcmRNZWFzdXJlbWVudC5mYWxsYmFja0ZvbnRzLCB0ZXh0
TGF5b3V0KTsKKyAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVGVtcFdpZHRoID0gdGV4dFdpZHRo
KHJlbmRlclRleHQsIGxhc3RTcGFjZSwgbV9jdXJyZW50Lm9mZnNldCgpIC0gbGFzdFNwYWNlLCBm
b250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFwc2VXaGl0
ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCk7CiAKICAg
ICAgICAgICAgIGlmICh3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cy5pc0VtcHR5KCkgJiYg
IWZhbGxiYWNrRm9udHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVu
dC5mYWxsYmFja0ZvbnRzLnN3YXAoZmFsbGJhY2tGb250cyk7CkBAIC04MDAsNyArODAwLDcgQEAg
aW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMm
IHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgICAgICAvLyBhcyBjYW5kaWRhdGUg
d2lkdGggZm9yIHRoaXMgbGluZS4KICAgICAgICAgICAgICAgICBib29sIGxpbmVXYXNUb29XaWRl
ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgaWYgKG1fd2lkdGguZml0c09uTGluZSgpICYmIG1f
Y3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgbV9jdXJyZW50U3R5bGUtPmJyZWFrT25seUFmdGVy
V2hpdGVTcGFjZSgpICYmICFtaWRXb3JkQnJlYWspIHsKLSAgICAgICAgICAgICAgICAgICAgZmxv
YXQgY2hhcldpZHRoID0gdGV4dFdpZHRoKHJlbmRlclRleHQsIG1fY3VycmVudC5tX3BvcywgMSwg
Zm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hp
dGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNrRm9udHMsIHRleHRMYXlvdXQpICsgKGFw
cGx5V29yZFNwYWNpbmcgPyB3b3JkU3BhY2luZyA6IDApOworICAgICAgICAgICAgICAgICAgICBm
bG9hdCBjaGFyV2lkdGggPSB0ZXh0V2lkdGgocmVuZGVyVGV4dCwgbV9jdXJyZW50Lm9mZnNldCgp
LCAxLCBmb250LCBtX3dpZHRoLmN1cnJlbnRXaWR0aCgpLCBpc0ZpeGVkUGl0Y2gsIG1fY29sbGFw
c2VXaGl0ZVNwYWNlLCB3b3JkTWVhc3VyZW1lbnQuZmFsbGJhY2tGb250cywgdGV4dExheW91dCkg
KyAoYXBwbHlXb3JkU3BhY2luZyA/IHdvcmRTcGFjaW5nIDogMCk7CiAgICAgICAgICAgICAgICAg
ICAgIC8vIENoZWNrIGlmIGxpbmUgaXMgdG9vIGJpZyBldmVuIHdpdGhvdXQgdGhlIGV4dHJhIHNw
YWNlCiAgICAgICAgICAgICAgICAgICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuIElmIGl0
IGlzIG5vdCwgZG8gbm90aGluZy4KICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGxpbmUg
bmVlZHMgdGhlIGV4dHJhIHdoaXRlc3BhY2UgdG8gYmUgdG9vIGxvbmcsCkBAIC04MDgsMzAgKzgw
OCwzMCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1
cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgICAgICAvLyBh
ZGRpdGlvbmFsIHdoaXRlc3BhY2UuCiAgICAgICAgICAgICAgICAgICAgIGlmICghbV93aWR0aC5m
aXRzT25MaW5lSW5jbHVkaW5nRXh0cmFXaWR0aChjaGFyV2lkdGgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBsaW5lV2FzVG9vV2lkZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3Bv
cywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1fbGluZUJyZWFrLm1vdmVUbyhtX2N1cnJlbnQucmVuZGVyZXIoKSwgbV9jdXJyZW50
Lm9mZnNldCgpLCBtX2N1cnJlbnQubmV4dEJyZWFrYWJsZVBvc2l0aW9uKCkpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgbV9saW5lQnJlYWtlci5za2lwVHJhaWxpbmdXaGl0ZXNwYWNlKG1fbGlu
ZUJyZWFrLCBtX2xpbmVJbmZvKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBpZiAobGluZVdhc1Rvb1dpZGUgfHwgIW1fd2lkdGguZml0
c09uTGluZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjYW5IeXBoZW5hdGUgJiYgIW1f
d2lkdGguZml0c09uTGluZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0cnlIeXBoZW5h
dGluZyhyZW5kZXJUZXh0LCBmb250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBoZW5h
dGVkTGluZXMsIG1fYmxvY2tTdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUuaHlw
aGVuYXRpb25MaW1pdEJlZm9yZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwgbGFz
dFNwYWNlLCBtX2N1cnJlbnQubV9wb3MsIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRpdGlv
bmFsVGVtcFdpZHRoLCBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9j
b2xsYXBzZVdoaXRlU3BhY2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywgbV9j
dXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRl
ZCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0cnlIeXBoZW5hdGluZyhyZW5kZXJUZXh0LCBm
b250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIG1fYmxvY2tT
dHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEJlZm9y
ZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwgbGFzdFNwYWNlLCBtX2N1cnJlbnQu
b2Zmc2V0KCksIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRpdGlvbmFsVGVtcFdpZHRoLCBt
X3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3Bh
Y2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywgbV9jdXJyZW50Lm5leHRCcmVh
a2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWtlci5tX2h5cGhlbmF0ZWQpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2F0RW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaWYgKG1fbGluZUJyZWFrLmF0VGV4
dFBhcmFncmFwaFNlcGFyYXRvcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0
b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQubV9wb3MgPiAwKQorICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50Lm9mZnNl
dCgpID4gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnN1cmVDaGFyYWN0ZXJHZXRz
TGluZUJveChtX2xpbmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2xpbmVJbmZvLnNldFByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSh0cnVlKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2xpbmVCcmVhay5t
X3BvczsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQg
PSBtX2xpbmVCcmVhay5vZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICBpZiAobV9saW5lQnJlYWsucmVuZGVyZXIoKSAmJiBtX2xpbmVCcmVhay5tX3Bv
cyAmJiBtX2xpbmVCcmVhay5yZW5kZXJlcigpLT5pc1RleHQoKSAmJiB0b1JlbmRlclRleHQobV9s
aW5lQnJlYWsucmVuZGVyZXIoKSktPnRleHRMZW5ndGgoKSAmJiB0b1JlbmRlclRleHQobV9saW5l
QnJlYWsucmVuZGVyZXIoKSktPmNoYXJhY3RlckF0KG1fbGluZUJyZWFrLm1fcG9zIC0gMSkgPT0g
c29mdEh5cGhlbiAmJiBzdHlsZS5oeXBoZW5zKCkgIT0gSHlwaGVuc05vbmUpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChtX2xpbmVCcmVhay5yZW5kZXJlcigpICYmIG1fbGluZUJyZWFrLm9mZnNl
dCgpICYmIG1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzVGV4dCgpICYmIHRvUmVuZGVyVGV4dCht
X2xpbmVCcmVhay5yZW5kZXJlcigpKS0+dGV4dExlbmd0aCgpICYmIHRvUmVuZGVyVGV4dChtX2xp
bmVCcmVhay5yZW5kZXJlcigpKS0+Y2hhcmFjdGVyQXQobV9saW5lQnJlYWsub2Zmc2V0KCkgLSAx
KSA9PSBzb2Z0SHlwaGVuICYmIHN0eWxlLmh5cGhlbnMoKSAhPSBIeXBoZW5zTm9uZSkKICAgICAg
ICAgICAgICAgICAgICAgICAgIGh5cGhlbmF0ZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAg
ICBpZiAobV9saW5lQnJlYWsubV9wb3MgJiYgbV9saW5lQnJlYWsubV9wb3MgIT0gKHVuc2lnbmVk
KXdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgJiYgIXdvcmRNZWFzdXJlbWVudC53aWR0aCkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAobV9saW5lQnJlYWsub2Zmc2V0KCkgJiYgbV9saW5lQnJl
YWsub2Zmc2V0KCkgIT0gKHVuc2lnbmVkKXdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgJiYgIXdv
cmRNZWFzdXJlbWVudC53aWR0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoYXJX
aWR0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRNZWFzdXJlbWVudC5lbmRP
ZmZzZXQgPSBtX2xpbmVCcmVhay5tX3BvczsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3
b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9saW5lQnJlYWsub2Zmc2V0KCk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd29yZE1lYXN1cmVtZW50LndpZHRoID0gY2hhcldpZHRoOwog
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CkBAIC04NTIs
OSArODUyLDkgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0KFdvcmRN
ZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgaWYgKGMgPT0gJ1xuJyAmJiBtX3ByZXNlcnZlc05ld2xpbmUpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBtX2N1cnJlbnQubV9wb3MgPiAw
KQorICAgICAgICAgICAgICAgIGlmICghc3RvcHBlZElnbm9yaW5nU3BhY2VzICYmIG1fY3VycmVu
dC5vZmZzZXQoKSkKICAgICAgICAgICAgICAgICAgICAgZW5zdXJlQ2hhcmFjdGVyR2V0c0xpbmVC
b3gobV9saW5lTWlkcG9pbnRTdGF0ZSwgbV9jdXJyZW50KTsKLSAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9j
dXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVC
cmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9j
dXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtX2xpbmVC
cmVhay5pbmNyZW1lbnQoKTsKICAgICAgICAgICAgICAgICBtX2xpbmVJbmZvLnNldFByZXZpb3Vz
TGluZUJyb2tlQ2xlYW5seSh0cnVlKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTg2Myw3ICs4NjMsNyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQo
V29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgaWYg
KG1fYXV0b1dyYXAgJiYgYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbV93aWR0aC5j
b21taXQoKTsKICAgICAgICAgICAgICAgICB3cmFwVyA9IDA7Ci0gICAgICAgICAgICAgICAgbV9s
aW5lQnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MsIG1f
Y3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CisgICAgICAgICAgICAgICAgbV9saW5l
QnJlYWsubW92ZVRvKG1fY3VycmVudC5yZW5kZXJlcigpLCBtX2N1cnJlbnQub2Zmc2V0KCksIG1f
Y3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CiAgICAgICAgICAgICAgICAgLy8gQXV0
by13cmFwcGluZyB0ZXh0IHNob3VsZCBub3Qgd3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBv
bmNlIGl0IGhhcyBoYWQgYW4KICAgICAgICAgICAgICAgICAvLyBvcHBvcnR1bml0eSB0byBicmVh
ayBhZnRlciBhIHdvcmQuCiAgICAgICAgICAgICAgICAgYnJlYWtXb3JkcyA9IGZhbHNlOwpAQCAt
ODcyLDE0ICs4NzIsMTQgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0OjpoYW5kbGVUZXh0
KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAgICAgICAgICAgIGlm
IChtaWRXb3JkQnJlYWsgJiYgIVUxNl9JU19UUkFJTChjKSAmJiAhKFVfR0VUX0dDX01BU0soYykg
JiBVX0dDX01fTUFTSykpIHsKICAgICAgICAgICAgICAgICAvLyBSZW1lbWJlciB0aGlzIGFzIGEg
YnJlYWthYmxlIHBvc2l0aW9uIGluIGNhc2UKICAgICAgICAgICAgICAgICAvLyBhZGRpbmcgdGhl
IGVuZCB3aWR0aCBmb3JjZXMgYSBicmVhay4KLSAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5t
b3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9jdXJyZW50Lm5l
eHRCcmVha2FibGVQb3NpdGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3Zl
VG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50Lm5l
eHRCcmVha2FibGVQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBtaWRXb3JkQnJlYWsgJj0g
KGJyZWFrV29yZHMgfHwgYnJlYWtBbGwpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBp
ZiAoYmV0d2VlbldvcmRzKSB7CiAgICAgICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNwYWNpbmcg
PSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAgICAgIHdv
cmRTcGFjaW5nRm9yV29yZE1lYXN1cmVtZW50ID0gKGFwcGx5V29yZFNwYWNpbmcgJiYgd29yZE1l
YXN1cmVtZW50LndpZHRoKSA/IHdvcmRTcGFjaW5nIDogMDsKLSAgICAgICAgICAgICAgICBsYXN0
U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgICAgICAgICAgICAgbGFzdFNwYWNlID0gbV9j
dXJyZW50Lm9mZnNldCgpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoIW1faWdu
b3JpbmdTcGFjZXMgJiYgbV9jdXJyZW50U3R5bGUtPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CkBA
IC05MDIsMzQgKzkwMiwzNCBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRl
eHQoV29yZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAg
bV9pZ25vcmluZ1NwYWNlcyA9IGZhbHNlOwogICAgICAgICAgICAgbGFzdFNwYWNlV29yZFNwYWNp
bmcgPSBhcHBseVdvcmRTcGFjaW5nID8gd29yZFNwYWNpbmcgOiAwOwogICAgICAgICAgICAgd29y
ZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQgPSAoYXBwbHlXb3JkU3BhY2luZyAmJiB3b3JkTWVh
c3VyZW1lbnRzLmxhc3QoKS53aWR0aCkgPyB3b3JkU3BhY2luZyA6IDA7Ci0gICAgICAgICAgICBs
YXN0U3BhY2UgPSBtX2N1cnJlbnQubV9wb3M7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3Qg
YWRkIGluIGFueSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCi0gICAgICAgICAgICBtX2xpbmVNaWRw
b2ludFN0YXRlLnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQu
cmVuZGVyZXIoKSwgbV9jdXJyZW50Lm1fcG9zKSk7CisgICAgICAgICAgICBsYXN0U3BhY2UgPSBt
X2N1cnJlbnQub2Zmc2V0KCk7IC8vIGUuZy4sICJGb28gICAgZ29vIiwgZG9uJ3QgYWRkIGluIGFu
eSBvZiB0aGUgaWdub3JlZCBzcGFjZXMuCisgICAgICAgICAgICBtX2xpbmVNaWRwb2ludFN0YXRl
LnN0b3BJZ25vcmluZ1NwYWNlcyhJbmxpbmVJdGVyYXRvcigwLCBtX2N1cnJlbnQucmVuZGVyZXIo
KSwgbV9jdXJyZW50Lm9mZnNldCgpKSk7CiAgICAgICAgIH0KICNpZiBFTkFCTEUoU1ZHKQotICAg
ICAgICBpZiAoaXNTVkdUZXh0ICYmIG1fY3VycmVudC5tX3BvcyA+IDApIHsKKyAgICAgICAgaWYg
KGlzU1ZHVGV4dCAmJiBtX2N1cnJlbnQub2Zmc2V0KCkpIHsKICAgICAgICAgICAgIC8vIEZvcmNl
IGNyZWF0aW9uIG9mIG5ldyBJbmxpbmVCb3hlcyBmb3IgZWFjaCBhYnNvbHV0ZSBwb3NpdGlvbmVk
IGNoYXJhY3RlciAodGhvc2UgdGhhdCBzdGFydCBuZXcgdGV4dCBjaHVua3MpLgotICAgICAgICAg
ICAgaWYgKHRvUmVuZGVyU1ZHSW5saW5lVGV4dChyZW5kZXJUZXh0KS0+Y2hhcmFjdGVyU3RhcnRz
TmV3VGV4dENodW5rKG1fY3VycmVudC5tX3BvcykpCisgICAgICAgICAgICBpZiAodG9SZW5kZXJT
VkdJbmxpbmVUZXh0KHJlbmRlclRleHQpLT5jaGFyYWN0ZXJTdGFydHNOZXdUZXh0Q2h1bmsobV9j
dXJyZW50Lm9mZnNldCgpKSkKICAgICAgICAgICAgICAgICBlbnN1cmVDaGFyYWN0ZXJHZXRzTGlu
ZUJveChtX2xpbmVNaWRwb2ludFN0YXRlLCBtX2N1cnJlbnQpOwogICAgICAgICB9CiAjZW5kaWYK
IAogICAgICAgICBpZiAobV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiAhcHJldmlvdXNDaGFy
YWN0ZXJJc1NwYWNlKSB7CiAgICAgICAgICAgICBtX3N0YXJ0T2ZJZ25vcmVkU3BhY2VzLnNldFJl
bmRlcmVyKG1fY3VycmVudC5yZW5kZXJlcigpKTsKLSAgICAgICAgICAgIG1fc3RhcnRPZklnbm9y
ZWRTcGFjZXMubV9wb3MgPSBtX2N1cnJlbnQubV9wb3M7CisgICAgICAgICAgICBtX3N0YXJ0T2ZJ
Z25vcmVkU3BhY2VzLnNldE9mZnNldChtX2N1cnJlbnQub2Zmc2V0KCkpOwogICAgICAgICAgICAg
Ly8gU3BhY2VzIGFmdGVyIHJpZ2h0LWFsaWduZWQgdGV4dCBhbmQgYmVmb3JlIGEgbGluZS1icmVh
ayBnZXQgY29sbGFwc2VkIGF3YXkgY29tcGxldGVseSBzbyB0aGF0IHRoZSB0cmFpbGluZwogICAg
ICAgICAgICAgLy8gc3BhY2UgZG9lc24ndCBzZWVtIHRvIHB1c2ggdGhlIHRleHQgb3V0IGZyb20g
dGhlIHJpZ2h0LWhhbmQgZWRnZS4KICAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB0aGlzIHJlZ2Fy
ZGxlc3Mgb2YgdGhlIGNvbnRhaW5lcidzIGFsaWdubWVudCAtIHdpbGwgcmVxdWlyZSByZWJhc2Vs
aW5pbmcgYSBsb3Qgb2YgdGVzdCByZXN1bHRzLgogICAgICAgICAgICAgaWYgKG1fbmV4dE9iamVj
dCAmJiBtX25leHRPYmplY3QtPmlzQlIoKSAmJiAobV9ibG9ja1N0eWxlLnRleHRBbGlnbigpID09
IFJJR0hUIHx8IG1fYmxvY2tTdHlsZS50ZXh0QWxpZ24oKSA9PSBXRUJLSVRfUklHSFQpKSB7Ci0g
ICAgICAgICAgICAgICAgbV9zdGFydE9mSWdub3JlZFNwYWNlcy5tX3Bvcy0tOworICAgICAgICAg
ICAgICAgIG1fc3RhcnRPZklnbm9yZWRTcGFjZXMuc2V0T2Zmc2V0KG1fc3RhcnRPZklnbm9yZWRT
cGFjZXMub2Zmc2V0KCkgLSAxKTsKICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSdzIGp1c3Qg
YSBzaW5nbGUgdHJhaWxpbmcgc3BhY2Ugc3RhcnQgaWdub3JpbmcgaXQgbm93IHNvIGl0IGNvbGxh
cHNlcyBhd2F5LgotICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnQubV9wb3MgPT0gcmVuZGVy
VGV4dC0+dGV4dExlbmd0aCgpIC0gMSkKKyAgICAgICAgICAgICAgICBpZiAobV9jdXJyZW50Lm9m
ZnNldCgpID09IHJlbmRlclRleHQtPnRleHRMZW5ndGgoKSAtIDEpCiAgICAgICAgICAgICAgICAg
ICAgIG1fbGluZU1pZHBvaW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhtX3N0YXJ0T2ZJZ25v
cmVkU3BhY2VzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGlmICghbV9j
dXJyZW50Q2hhcmFjdGVySXNTcGFjZSAmJiBwcmV2aW91c0NoYXJhY3RlcklzV1MpIHsKICAgICAg
ICAgICAgIGlmIChtX2F1dG9XcmFwICYmIG1fY3VycmVudFN0eWxlLT5icmVha09ubHlBZnRlcldo
aXRlU3BhY2UoKSkKLSAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50
LnJlbmRlcmVyKCksIG1fY3VycmVudC5tX3BvcywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3Np
dGlvbigpKTsKKyAgICAgICAgICAgICAgICBtX2xpbmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJl
bmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSwgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3Np
dGlvbigpKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtX2NvbGxhcHNlV2hpdGVTcGFjZSAm
JiBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYmICFtX2lnbm9yaW5nU3BhY2VzKQpAQCAtOTQ4
LDkgKzk0OCw5IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3Jk
TWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgd29yZE1lYXN1cmVtZW50
LnJlbmRlcmVyID0gcmVuZGVyVGV4dDsKIAogICAgIC8vIElNUE9SVEFOVDogY3VycmVudC5tX3Bv
cyBpcyA+IGxlbmd0aCBoZXJlIQotICAgIGZsb2F0IGFkZGl0aW9uYWxUZW1wV2lkdGggPSBtX2ln
bm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3Vy
cmVudC5tX3BvcyAtIGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwgaXNG
aXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxiYWNr
Rm9udHMsIHRleHRMYXlvdXQpOworICAgIGZsb2F0IGFkZGl0aW9uYWxUZW1wV2lkdGggPSBtX2ln
bm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aChyZW5kZXJUZXh0LCBsYXN0U3BhY2UsIG1fY3Vy
cmVudC5vZmZzZXQoKSAtIGxhc3RTcGFjZSwgZm9udCwgbV93aWR0aC5jdXJyZW50V2lkdGgoKSwg
aXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgd29yZE1lYXN1cmVtZW50LmZhbGxi
YWNrRm9udHMsIHRleHRMYXlvdXQpOwogICAgIHdvcmRNZWFzdXJlbWVudC5zdGFydE9mZnNldCA9
IGxhc3RTcGFjZTsKLSAgICB3b3JkTWVhc3VyZW1lbnQuZW5kT2Zmc2V0ID0gbV9jdXJyZW50Lm1f
cG9zOworICAgIHdvcmRNZWFzdXJlbWVudC5lbmRPZmZzZXQgPSBtX2N1cnJlbnQub2Zmc2V0KCk7
CiAgICAgd29yZE1lYXN1cmVtZW50LndpZHRoID0gbV9pZ25vcmluZ1NwYWNlcyA/IDAgOiBhZGRp
dGlvbmFsVGVtcFdpZHRoICsgd29yZFNwYWNpbmdGb3JXb3JkTWVhc3VyZW1lbnQ7CiAgICAgYWRk
aXRpb25hbFRlbXBXaWR0aCArPSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKIApAQCAtOTY4LDcgKzk2
OCw3IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4dChXb3JkTWVhc3Vy
ZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAKICAgICBpZiAoIW1fd2lkdGguZml0c09u
TGluZSgpKSB7CiAgICAgICAgIGlmIChjYW5IeXBoZW5hdGUpCi0gICAgICAgICAgICB0cnlIeXBo
ZW5hdGluZyhyZW5kZXJUZXh0LCBmb250LCBzdHlsZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBo
ZW5hdGVkTGluZXMsIG1fYmxvY2tTdHlsZS5oeXBoZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUu
aHlwaGVuYXRpb25MaW1pdEJlZm9yZSgpLCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwg
bGFzdFNwYWNlLCBtX2N1cnJlbnQubV9wb3MsIG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRp
dGlvbmFsVGVtcFdpZHRoLCBtX3dpZHRoLmF2YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwg
bV9jb2xsYXBzZVdoaXRlU3BhY2UsIGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywg
bV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3NpdGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVu
YXRlZCk7CisgICAgICAgICAgICB0cnlIeXBoZW5hdGluZyhyZW5kZXJUZXh0LCBmb250LCBzdHls
ZS5sb2NhbGUoKSwgY29uc2VjdXRpdmVIeXBoZW5hdGVkTGluZXMsIG1fYmxvY2tTdHlsZS5oeXBo
ZW5hdGlvbkxpbWl0TGluZXMoKSwgc3R5bGUuaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgpLCBzdHls
ZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSwgbGFzdFNwYWNlLCBtX2N1cnJlbnQub2Zmc2V0KCks
IG1fd2lkdGguY3VycmVudFdpZHRoKCkgLSBhZGRpdGlvbmFsVGVtcFdpZHRoLCBtX3dpZHRoLmF2
YWlsYWJsZVdpZHRoKCksIGlzRml4ZWRQaXRjaCwgbV9jb2xsYXBzZVdoaXRlU3BhY2UsIGxhc3RT
cGFjZVdvcmRTcGFjaW5nLCBtX2xpbmVCcmVhaywgbV9jdXJyZW50Lm5leHRCcmVha2FibGVQb3Np
dGlvbigpLCBtX2xpbmVCcmVha2VyLm1faHlwaGVuYXRlZCk7CiAKICAgICAgICAgaWYgKCFoeXBo
ZW5hdGVkICYmIG1fbGluZUJyZWFrLnByZXZpb3VzSW5TYW1lTm9kZSgpID09IHNvZnRIeXBoZW4g
JiYgc3R5bGUuaHlwaGVucygpICE9IEh5cGhlbnNOb25lKSB7CiAgICAgICAgICAgICBoeXBoZW5h
dGVkID0gdHJ1ZTsKQEAgLTEwODAsNyArMTA4MCw3IEBAIGlubGluZSB2b2lkIGNoZWNrTWlkcG9p
bnRzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSwgSW5saW5lSXRlcmF0b3Im
CiAgICAgICAgICAgICAvLyBXZSBoaXQgdGhlIGxpbmUgYnJlYWsgYmVmb3JlIHRoZSBzdGFydCBw
b2ludC4gU2hhdmUgb2ZmIHRoZSBzdGFydCBwb2ludC4KICAgICAgICAgICAgIGxpbmVNaWRwb2lu
dFN0YXRlLm51bU1pZHBvaW50cy0tOwogICAgICAgICAgICAgaWYgKGVuZHBvaW50LnJlbmRlcmVy
KCktPnN0eWxlKCkuY29sbGFwc2VXaGl0ZVNwYWNlKCkgJiYgZW5kcG9pbnQucmVuZGVyZXIoKS0+
aXNUZXh0KCkpCi0gICAgICAgICAgICAgICAgZW5kcG9pbnQubV9wb3MtLTsKKyAgICAgICAgICAg
ICAgICBlbmRwb2ludC5zZXRPZmZzZXQoZW5kcG9pbnQub2Zmc2V0KCkgLSAxKTsKICAgICAgICAg
fQogICAgIH0KIH0KQEAgLTEwOTcsMTkgKzEwOTcsMTkgQEAgSW5saW5lSXRlcmF0b3IgQnJlYWtp
bmdDb250ZXh0OjpoYW5kbGVFbmRPZkxpbmUoKQogICAgICAgICBpZiAobV9saW5lQnJlYWsgPT0g
bV9yZXNvbHZlci5wb3NpdGlvbigpKSB7CiAgICAgICAgICAgICBpZiAoIW1fbGluZUJyZWFrLnJl
bmRlcmVyKCkgfHwgIW1fbGluZUJyZWFrLnJlbmRlcmVyKCktPmlzQlIoKSkgewogICAgICAgICAg
ICAgICAgIC8vIHdlIGp1c3QgYWRkIGFzIG11Y2ggYXMgcG9zc2libGUKLSAgICAgICAgICAgICAg
ICBpZiAobV9ibG9ja1N0eWxlLndoaXRlU3BhY2UoKSA9PSBQUkUgJiYgIW1fY3VycmVudC5tX3Bv
cykgeworICAgICAgICAgICAgICAgIGlmIChtX2Jsb2NrU3R5bGUud2hpdGVTcGFjZSgpID09IFBS
RSAmJiAhbV9jdXJyZW50Lm9mZnNldCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1fbGluZUJy
ZWFrLm1vdmVUbyhtX2xhc3RPYmplY3QsIG1fbGFzdE9iamVjdC0+aXNUZXh0KCkgPyBtX2xhc3RP
YmplY3QtPmxlbmd0aCgpIDogMCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtX2xpbmVC
cmVhay5yZW5kZXJlcigpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGV2ZXIgYnJl
YWsgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQgaWYgd2UgY2FuIGhlbHAgaXQuCiAgICAgICAgICAg
ICAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gcm9vbSBhdCBhbGwuIFdlIGp1c3QgaGF2ZSB0byBiZSBv
biB0aGlzIGxpbmUsCiAgICAgICAgICAgICAgICAgICAgIC8vIGV2ZW4gdGhvdWdoIHdlJ2xsIHNw
aWxsIG91dC4KLSAgICAgICAgICAgICAgICAgICAgbV9saW5lQnJlYWsubW92ZVRvKG1fY3VycmVu
dC5yZW5kZXJlcigpLCBtX2N1cnJlbnQubV9wb3MpOworICAgICAgICAgICAgICAgICAgICBtX2xp
bmVCcmVhay5tb3ZlVG8obV9jdXJyZW50LnJlbmRlcmVyKCksIG1fY3VycmVudC5vZmZzZXQoKSk7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gbWFrZSBz
dXJlIHdlIGNvbnN1bWUgYXQgbGVhc3Qgb25lIGNoYXIvb2JqZWN0LgogICAgICAgICAgICAgaWYg
KG1fbGluZUJyZWFrID09IG1fcmVzb2x2ZXIucG9zaXRpb24oKSkKICAgICAgICAgICAgICAgICBt
X2xpbmVCcmVhay5pbmNyZW1lbnQoKTsKLSAgICAgICAgfSBlbHNlIGlmICghbV9jdXJyZW50Lm1f
cG9zICYmICFtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgJiYgbV93aWR0aC51bmNvbW1pdHRlZFdp
ZHRoKCkgJiYgIW1faGFkVW5jb21taXR0ZWRXaWR0aEJlZm9yZUN1cnJlbnQpIHsKKyAgICAgICAg
fSBlbHNlIGlmICghbV9jdXJyZW50Lm9mZnNldCgpICYmICFtX3dpZHRoLmNvbW1pdHRlZFdpZHRo
KCkgJiYgbV93aWR0aC51bmNvbW1pdHRlZFdpZHRoKCkgJiYgIW1faGFkVW5jb21taXR0ZWRXaWR0
aEJlZm9yZUN1cnJlbnQpIHsKICAgICAgICAgICAgIC8vIERvIG5vdCBwdXNoIHRoZSBjdXJyZW50
IG9iamVjdCB0byB0aGUgbmV4dCBsaW5lLCB3aGVuIHRoaXMgbGluZSBoYXMgc29tZSBjb250ZW50
LCBidXQgaXQgaXMgc3RpbGwgY29uc2lkZXJlZCBlbXB0eS4KICAgICAgICAgICAgIC8vIEVtcHR5
IGlubGluZSBlbGVtZW50cyBsaWtlIDxzcGFuPjwvc3Bhbj4gY2FuIHByb2R1Y2Ugc3VjaCBsaW5l
cyBhbmQgbm93IHdlIGp1c3QgaWdub3JlIHRoZXNlIGJyZWFrIG9wcG9ydHVuaXRpZXMKICAgICAg
ICAgICAgIC8vIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUsIGlmIG5vIHdpZHRoIGhhcyBiZWVuIGNv
bW1pdHRlZCB5ZXQuCkBAIC0xMTI3LDggKzExMjcsOCBAQCBJbmxpbmVJdGVyYXRvciBCcmVha2lu
Z0NvbnRleHQ6OmhhbmRsZUVuZE9mTGluZSgpCiAgICAgLy8gb2YgdGhlIG9iamVjdC4gRG8gdGhp
cyBhZGp1c3RtZW50IHRvIG1ha2UgaXQgcG9pbnQgdG8gdGhlIHN0YXJ0CiAgICAgLy8gb2YgdGhl
IG5leHQgb2JqZWN0IGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW5nIHRoZSByZXN0IG9mIHRoZQog
ICAgIC8vIGNvZGUuCi0gICAgaWYgKG1fbGluZUJyZWFrLm1fcG9zID4gMCkgewotICAgICAgICBt
X2xpbmVCcmVhay5tX3Bvcy0tOworICAgIGlmIChtX2xpbmVCcmVhay5vZmZzZXQoKSkgeworICAg
ICAgICBtX2xpbmVCcmVhay5zZXRPZmZzZXQobV9saW5lQnJlYWsub2Zmc2V0KCkgLSAxKTsKICAg
ICAgICAgbV9saW5lQnJlYWsuaW5jcmVtZW50KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9UcmFpbGluZ09iamVjdHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcAppbmRleCBhNmNlODRhN2Fj
MWE1MDljMmY2N2QxYTdhZmMxM2RmZDRhYzE0ZTY1Li42NzY2MzkyMmMzNmRkODJhN2RkOTliYzlh
NGU3YTI5Mjk3Y2M1NTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGlu
ZS9UcmFpbGluZ09iamVjdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5l
L1RyYWlsaW5nT2JqZWN0cy5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgdm9pZCBUcmFpbGluZ09iamVj
dHM6OnVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94ZXMoTGluZU1pZHBvaW50U3RhdGUmIGxp
bmVNaWQKICAgICAgICAgZm9yICggOyB0cmFpbGluZ1NwYWNlTWlkcG9pbnQgPiAwICYmIGxpbmVN
aWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLnJlbmRlcmVyKCkg
IT0gbV93aGl0ZXNwYWNlOyAtLXRyYWlsaW5nU3BhY2VNaWRwb2ludCkgeyB9CiAgICAgICAgIEFT
U0VSVCh0cmFpbGluZ1NwYWNlTWlkcG9pbnQgPj0gMCk7CiAgICAgICAgIGlmIChjb2xsYXBzZUZp
cnN0U3BhY2UgPT0gQ29sbGFwc2VGaXJzdFNwYWNlKQotICAgICAgICAgICAgbGluZU1pZHBvaW50
U3RhdGUubWlkcG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRwb2ludF0ubV9wb3MtLTsKKyAgICAgICAg
ICAgIGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLnNl
dE9mZnNldChsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdTcGFjZU1pZHBvaW50
XS5vZmZzZXQoKSAtMSk7CiAKICAgICAgICAgLy8gTm93IG1ha2Ugc3VyZSBldmVyeSBzaW5nbGUg
dHJhaWxpbmdQb3NpdGlvbmVkQm94IGZvbGxvd2luZyB0aGUgdHJhaWxpbmdTcGFjZU1pZHBvaW50
IHByb3Blcmx5IHN0b3BzIGFuZCBzdGFydHMKICAgICAgICAgLy8gaWdub3Jpbmcgc3BhY2VzLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>