<?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>75594</bug_id>
          
          <creation_ts>2012-01-04 18:12:20 -0800</creation_ts>
          <short_desc>Adding feature that suggests turning on the encoding detector.</short_desc>
          <delta_ts>2022-09-16 14:49:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>ap</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>kenjibaheux</cc>
    
    <cc>morrita</cc>
    
    <cc>tzik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yosin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>529931</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-04 18:12:20 -0800</bug_when>
    <thetext>We will be adding a new feature for Chrome that will rescue users from garbled text (character encoding mismatch). 

Many CJK users come across sites with garbled text, but the encoding menu is placed deep inside the menu so they have little chance of finding and fixing it. 

We are working on a new infobar that offers to turn on the encoding detector when necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530041</commentid>
    <comment_count>1</comment_count>
      <attachid>121225</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-04 23:45:47 -0800</bug_when>
    <thetext>Created attachment 121225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530043</commentid>
    <comment_count>2</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-04 23:49:56 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=121225) [details]
&gt; Patch

This patch adds two methods shouldUseEncodingDetector and reloadFromCache.

shouldUseEncodingDetector() returns true when the current document encoding and
auto detected encoding don&apos;t match. If this returns true we will show the
infobar.

reloadFromCache() reloads the page from the backForwardCache. This is used to
quickly reload the page with auto detect turned on.

I tried hard to make the change to WebCore minimal and there will be no behavior
change to ports other than chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530047</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-04 23:55:36 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530303</commentid>
    <comment_count>4</comment_count>
      <attachid>121225</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-05 08:14:09 -0800</bug_when>
    <thetext>Comment on attachment 121225
Patch

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

You might want to consider following up on Jungshik&apos;s promise and addressing bug 24420 prior to further extending detector functionality. The current behavior is simply horrible, as we end up with parts of document being decoded using different decoders.

&gt; Source/WebCore/loader/TextResourceDecoder.cpp:589
&gt; +bool TextResourceDecoder::detectJapaneseEncoding(const char* data, size_t len, TextEncoding* detectedEncoding) const

detectedEncoding should be a reference, not a pointer. This function can not and does not want to deal with a null argument.

&gt; Source/WebCore/loader/TextResourceDecoder.h:57
&gt; +    void setUsesEncodingDetector(bool usesEncodingDetector) { m_usesEncodingDetector = usesEncodingDetector; }

This appears unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531032</commentid>
    <comment_count>5</comment_count>
      <attachid>121421</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-06 03:42:11 -0800</bug_when>
    <thetext>Created attachment 121421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531033</commentid>
    <comment_count>6</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-06 03:43:20 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 121225 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121225&amp;action=review
&gt; 
&gt; You might want to consider following up on Jungshik&apos;s promise and addressing bug 24420 prior to further extending detector functionality. The current behavior is simply horrible, as we end up with parts of document being decoded using different decoders.


I feel the same way. The decoding part needs fixing before doing anything to it.
So I tried not to touch that part yet and place all of the code in WebKit/chromium.

I would like to fix those bugs and refactor the decoding process, once this project is done.

We want to deliver a solution for Japanese users right now.

We realized that turning on auto detection would solve most Japanese garbled text problems.
But turning on auto detection (by default) is difficult because of performance.
And fixing the decoder bugs won&apos;t help with turning on the auto detector.



&gt; &gt; Source/WebCore/loader/TextResourceDecoder.cpp:589
&gt; &gt; +bool TextResourceDecoder::detectJapaneseEncoding(const char* data, size_t len, TextEncoding* detectedEncoding) const
&gt; 
&gt; detectedEncoding should be a reference, not a pointer. This function can not and does not want to deal with a null argument.

Done.

&gt; &gt; Source/WebCore/loader/TextResourceDecoder.h:57
&gt; &gt; +    void setUsesEncodingDetector(bool usesEncodingDetector) { m_usesEncodingDetector = usesEncodingDetector; }
&gt; 
&gt; This appears unused.

Sorry. This was for the next patch. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532805</commentid>
    <comment_count>7</comment_count>
      <attachid>121791</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-09 21:34:43 -0800</bug_when>
    <thetext>Created attachment 121791
Garbled text info bar

Here is a screenshot of the infobar in action. Pressing the &quot;Fix It&quot; button turns on the auto encoding detector for this site.

We are already talking with the Chrome UX team about this.

Darin, this adds WebKit APIs so please take a look at the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534981</commentid>
    <comment_count>8</comment_count>
      <attachid>121421</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-01-12 11:09:03 -0800</bug_when>
    <thetext>Comment on attachment 121421
Patch

Some quick comments:

This change is a bit complex for two reasons:

1-  Adding a big method on WebDocument that doesn&apos;t have an analogy on WebCore::Document.  WebDocument is supposed to just be a thin API wrapper.  This might suggest exposing other primitives in the API or something.  I need to think about this.

2-  Adding a variation of reload will need to be reviewed very carefully.  There are daemons in the navigation system, and this needs to be reviewed very carefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535556</commentid>
    <comment_count>9</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-13 02:55:40 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 121421 [details])
&gt; Some quick comments:

Thanks for the reply! We realized that we won&apos;t make it into M18 but we are still in a rush to deliver this feature.

&gt; This change is a bit complex for two reasons:
&gt; 
&gt; 1-  Adding a big method on WebDocument that doesn&apos;t have an analogy on WebCore::Document.  WebDocument is supposed to just be a thin API wrapper.  This might suggest exposing other primitives in the API or something.  I need to think about this.

The reason I put it there is
1. We wanted chromium to check each frame if it has garbled text. So we didn&apos;t want to add it to WebView
2. I didn&apos;t need to use the Frame object inside shouldUseEncodingDetector()
3. Its a const method and won&apos;t modify the Document.
4. We thought about adding accessor APIs and implementing the logic on the chromium side. But we need access to TextResourceDecoder and that didn&apos;t feel like something that should be exposed to chromium. And it might change drastically when we refactor the decoding process.

How about moving shouldUseEncodingDetector() to WebFrame? Will that help?

&gt; 2-  Adding a variation of reload will need to be reviewed very carefully.  There are daemons in the navigation system, and this needs to be reviewed very carefully.

I&apos;m not entirely sure what your concern about daemons is,
but reloadFromCache is basically WebViewImpl::setPageEncoding without setting a new encoding.
http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/src/WebViewImpl.cpp#L1767

So this type of navigation is already happening when a user chooses an override encoding from the wrench menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536422</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-16 01:27:13 -0800</bug_when>
    <thetext>
&gt; &gt; 2-  Adding a variation of reload will need to be reviewed very carefully.  There are daemons in the navigation system, and this needs to be reviewed very carefully.
&gt; 
&gt; I&apos;m not entirely sure what your concern about daemons is,
&gt; but reloadFromCache is basically WebViewImpl::setPageEncoding without setting a new encoding.
&gt; http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/src/WebViewImpl.cpp#L1767
&gt; 
&gt; So this type of navigation is already happening when a user chooses an override encoding from the wrench menu.
You can clarify the fact by calling WebView::setPageEncoding() from reloadFromCache() or vice versa.
I guess saveDocumentAndScrollState() does make less sense because if the encoding changes, 
the text representation in the page will also change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536481</commentid>
    <comment_count>11</comment_count>
      <attachid>122615</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-16 04:20:59 -0800</bug_when>
    <thetext>Created attachment 122615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536482</commentid>
    <comment_count>12</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-01-16 04:22:52 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; You can clarify the fact by calling WebView::setPageEncoding() from reloadFromCache() or vice versa.

Done.

&gt; I guess saveDocumentAndScrollState() does make less sense because if the encoding changes, 
&gt; the text representation in the page will also change.

I removed it but the scroll position was remembered anyway. FrameLoader::reloadWithOverrideEncoding() must be saving it.
Saving scroll state does make less sense but it can be useful for most pages where the text layout doesn&apos;t change drastically and that&apos;s why I left it in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557061</commentid>
    <comment_count>13</comment_count>
      <attachid>127138</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-02-15 01:52:15 -0800</bug_when>
    <thetext>Created attachment 127138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557063</commentid>
    <comment_count>14</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-02-15 01:57:37 -0800</bug_when>
    <thetext>In this new patch I refactored the TextResourceDecoder by introducing a TextEncodingDetector class.
The logic part, that fishd said didn&apos;t belong in the WebKit layer, was moved to the chromium side,
and only added the necessary accessors to the WebKit API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557092</commentid>
    <comment_count>15</comment_count>
      <attachid>127146</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-02-15 02:58:20 -0800</bug_when>
    <thetext>Created attachment 127146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557138</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 04:07:35 -0800</bug_when>
    <thetext>Attachment 127138 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
Index mismatch: 0dfd183742a71cb5de5dadc3ae177fc72b63a194 != 9cdcda984def14b8bf8a32b6da6784c8a6ef7b3a
rereading 8567f8d3c2539a28a496edaf1048483e973975c2
	M	LayoutTests/fast/forms/radio-nested-labels.html
	M	LayoutTests/ChangeLog
107798 = 3671b2d23de7ade4cb1d1e78a3f6f7673db6a6c9 already exists! Why are we refetching it?
 at /usr/lib/git-core/git-svn line 5210

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557143</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 04:12:47 -0800</bug_when>
    <thetext>Attachment 127146 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
Index mismatch: 0dfd183742a71cb5de5dadc3ae177fc72b63a194 != 9cdcda984def14b8bf8a32b6da6784c8a6ef7b3a
rereading 8567f8d3c2539a28a496edaf1048483e973975c2
	M	LayoutTests/fast/forms/radio-nested-labels.html
	M	LayoutTests/ChangeLog
107798 = 3671b2d23de7ade4cb1d1e78a3f6f7673db6a6c9 already exists! Why are we refetching it?
 at /usr/lib/git-core/git-svn line 5210

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562062</commentid>
    <comment_count>18</comment_count>
      <attachid>128233</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-02-22 09:52:21 -0800</bug_when>
    <thetext>Created attachment 128233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562069</commentid>
    <comment_count>19</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-02-22 09:57:00 -0800</bug_when>
    <thetext>Could ap or someone review the WebCore side of this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562117</commentid>
    <comment_count>20</comment_count>
      <attachid>128233</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-22 10:29:13 -0800</bug_when>
    <thetext>Comment on attachment 128233
Patch

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

I&apos;m confused... Who enabled TextEncodingDetectorICU on Mac, and when?

&gt; Source/WebCore/loader/TextResourceDecoder.cpp:-641
&gt; -    // FIXME: It is wrong to change the encoding downstream after we have already done some decoding.

Where did the FIXME go?

&gt; Source/WebCore/platform/text/TextEncodingDetectorWithICUAndKanjiCode.h:54
&gt; +    bool isAscii;

Style: isASCII.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606236</commentid>
    <comment_count>21</comment_count>
      <attachid>128233</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-04-19 17:34:59 -0700</bug_when>
    <thetext>Comment on attachment 128233
Patch

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

I don&apos;t understand the context at all.  Anyway the patch is large and EWSs are purple. Creating KanjiCode.{cpp,h} should be a separated patch.

&gt; Source/WebCore/platform/text/KanjiCode.cpp:3
&gt; +/*
&gt; + * Copyright (C) 2012 Google Inc. All rights reserved.
&gt; + *

We must respect the copyright notice of the original code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899090</commentid>
    <comment_count>22</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-09-16 14:49:34 -0700</bug_when>
    <thetext>AFAIK, this was only ever likely to land in the Chromium port, which is now long gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121225</attachid>
            <date>2012-01-04 23:45:47 -0800</date>
            <delta_ts>2012-01-06 03:42:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120105164545.patch</filename>
            <type>text/plain</type>
            <size>10782</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I2NmFjOGEzMWRjYThi
ZjQ5ZTQwYWIzODUyNjE4NzE0OWEwOWE4My4uNmE5MGE1YTdkOTUxNjMzZjU3OTI3MThmZWZlNTAx
MTM4NzU4NzczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTA0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9P
UFMhKQorCisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVjb2Rlcjo6ZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpkZWNvZGUpOiBNb2RpZmll
ZCB0byB1c2UgbmV3IGRldGVjdEphcGFuZXNlRW5jb2RpbmcuCisgICAgICAgICogbG9hZGVyL1Rl
eHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29k
ZXI6OmVuY29kaW5nU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29k
ZXI6OnNldFVzZXNFbmNvZGluZ0RldGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNv
dXJjZURlY29kZXI6OmhpbnRFbmNvZGluZyk6CisKIDIwMTItMDEtMDQgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMDQwODQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDM2MzhiODJjN2Rh
NmNkYzUzNGY3MDQ0NGM4ZjhhYzM2NTNkZmE1OWYuLmQyNjY0YWQ3NGM1Yzg0ZTk1M2RmODY0Y2Q5
MjVhNjc3ODAxYjRmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDEtMDQgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgQWRkaW5nIGZlYXR1cmUgdGhhdCBzdWdnZXN0cyB0dXJuaW5nIG9uIHRoZSBlbmNvZGlu
ZyBkZXRlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc1NTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgCisgICAg
ICAgICAqIHB1YmxpYy9XZWJEb2N1bWVudC5oOgorICAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUu
aDoKKyAgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDoKKyAgICAgICAgIChXZWJLaXQ6Oldl
YkRvY3VtZW50OjpzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKTogUmV0dXJucyB0cnVlIHdoZW4K
KyAgICAgICAgIGVuY29kaW5nIGRldGVjdG9yIHNob3VsZCBiZSB0dXJuZWQgb24uIGkuZS4gVGhl
IGN1cnJlbnQgZG9jdW1lbnQgd2FzCisgICAgICAgICBkZWNvZGVkIHVzaW5nIHRoZSBkZWZhdWx0
IGVuY29kaW5nIEFORCB0aGUgY3VycmVudCBlbmNvZGluZyBkb2Vzbid0CisgICAgICAgICBtYXRj
aCB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IncyByZXN1bHQuCisgICAgICAgICAqIHNyYy9XZWJGcmFt
ZUltcGwuY3BwOgorICAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpyZWxvYWRGcm9tQ2Fj
aGUpOiBSZWxvYWRzIHBhZ2UgZnJvbSBjYWNoZS4gVXNlZAorICAgICAgICAgdG8gcXVpY2tseSBy
ZWxvYWQgYWZ0ZXIgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAgICAq
IHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAxMi0wMS0wNCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXR0ZW1wdCBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAKaW5kZXggYzgxOThl
MzA0NzZjZmY1MWIyODYwMTY5OTIwODY2MDc3ODk0NGZkNi4uNTg5YzY2MjcwMDcwZmEwMjMwYTQx
YjE0NjY0NGMzYjNiZDEwNzk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Rl
eHRSZXNvdXJjZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVz
b3VyY2VEZWNvZGVyLmNwcApAQCAtNTg2LDIzICs1ODYsMjQgQEAgYm9vbCBUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpjaGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5n
dGgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGV0
ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQorYm9vbCBU
ZXh0UmVzb3VyY2VEZWNvZGVyOjpkZXRlY3RKYXBhbmVzZUVuY29kaW5nKGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW4sIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZykgY29uc3QKIHsK
ICAgICBzd2l0Y2ggKEthbmppQ29kZTo6anVkZ2UoZGF0YSwgbGVuKSkgewogICAgICAgICBjYXNl
IEthbmppQ29kZTo6SklTOgotICAgICAgICAgICAgc2V0RW5jb2RpbmcoIklTTy0yMDIyLUpQIiwg
QXV0b0RldGVjdGVkRW5jb2RpbmcpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAq
ZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZygiSVNPLTIwMjItSlAiKTsKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEthbmppQ29kZTo6RVVDOgotICAgICAgICAg
ICAgc2V0RW5jb2RpbmcoIkVVQy1KUCIsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKLSAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgKmRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2Rpbmco
IkVVQy1KUCIpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlD
b2RlOjpTSklTOgotICAgICAgICAgICAgc2V0RW5jb2RpbmcoIlNoaWZ0X0pJUyIsIEF1dG9EZXRl
Y3RlZEVuY29kaW5nKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKmRldGVjdGVk
RW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIlNoaWZ0X0pJUyIpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKICAgICAgICAgY2FzZSBLYW5q
aUNvZGU6OlVURjE2OgogICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRGODoKICAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIC8vIFdlIHVzZSB0aGUgZW5j
b2RpbmcgZGV0ZWN0b3IgaW4gdHdvIGNhc2VzOgpAQCAtNjQwLDEzICs2NDEsMTAgQEAgU3RyaW5n
IFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVu
KQogCiAgICAgLy8gRklYTUU6IEl0IGlzIHdyb25nIHRvIGNoYW5nZSB0aGUgZW5jb2RpbmcgZG93
bnN0cmVhbSBhZnRlciB3ZSBoYXZlIGFscmVhZHkgZG9uZSBzb21lIGRlY29kaW5nLgogICAgIGlm
IChzaG91bGRBdXRvRGV0ZWN0KCkpIHsKLSAgICAgICAgaWYgKG1fZW5jb2RpbmcuaXNKYXBhbmVz
ZSgpKQotICAgICAgICAgICAgZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhkYXRhLCBsZW4pOyAvLyBG
SVhNRTogV2Ugc2hvdWxkIHVzZSBkZXRlY3RUZXh0RW5jb2RpbmcoKSBmb3IgYWxsIGxhbmd1YWdl
cy4KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNv
ZGluZzsKLSAgICAgICAgICAgIGlmIChkZXRlY3RUZXh0RW5jb2RpbmcoZGF0YSwgbGVuLCBtX2hp
bnRFbmNvZGluZywgJmRldGVjdGVkRW5jb2RpbmcpKQotICAgICAgICAgICAgICAgIHNldEVuY29k
aW5nKGRldGVjdGVkRW5jb2RpbmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKLSAgICAgICAgfQor
ICAgICAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNvZGluZzsKKyAgICAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCB1c2UgZGV0ZWN0VGV4dEVuY29kaW5nKCkgZm9yIGFsbCBsYW5ndWFnZXMuCisg
ICAgICAgIGlmIChtX2VuY29kaW5nLmlzSmFwYW5lc2UoKSA/IGRldGVjdEphcGFuZXNlRW5jb2Rp
bmcoZGF0YSwgbGVuLCAmZGV0ZWN0ZWRFbmNvZGluZykgOiBkZXRlY3RUZXh0RW5jb2RpbmcoZGF0
YSwgbGVuLCBtX2hpbnRFbmNvZGluZywgJmRldGVjdGVkRW5jb2RpbmcpKQorICAgICAgICAgICAg
c2V0RW5jb2RpbmcoZGV0ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVkRW5jb2RpbmcpOwogICAg
IH0KIAogICAgIEFTU0VSVChtX2VuY29kaW5nLmlzVmFsaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaAppbmRleCA3NzExODVmYjRkNTczMDM4ZjcwZjcy
MWJhYWRjMTE4NTRjYTUyYzcxLi4zODUxOTkzYjcxNTNiN2YxYmI0OGY2NWM5MDg2YTcyYTQ4N2Vk
NDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgKQEAg
LTUyLDkgKzUyLDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuY29kaW5nKGNvbnN0IFRleHRF
bmNvZGluZyYsIEVuY29kaW5nU291cmNlKTsKICAgICBjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29k
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9lbmNvZGluZzsgfQogCisgICAgRW5jb2RpbmdTb3VyY2Ug
ZW5jb2RpbmdTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZTsgfQorCisgICAgdm9pZCBz
ZXRVc2VzRW5jb2RpbmdEZXRlY3Rvcihib29sIHVzZXNFbmNvZGluZ0RldGVjdG9yKSB7IG1fdXNl
c0VuY29kaW5nRGV0ZWN0b3IgPSB1c2VzRW5jb2RpbmdEZXRlY3RvcjsgfQorCiAgICAgU3RyaW5n
IGRlY29kZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKICAgICBTdHJpbmcgZmx1
c2goKTsKIAorICAgIGJvb2wgZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiwgc2l6
ZV90LCBUZXh0RW5jb2RpbmcqKSBjb25zdDsKKworICAgIFRleHRFbmNvZGluZyBoaW50RW5jb2Rp
bmcoKSBjb25zdCB7IHJldHVybiBUZXh0RW5jb2RpbmcobV9oaW50RW5jb2RpbmcpOyB9CiAgICAg
dm9pZCBzZXRIaW50RW5jb2RpbmcoY29uc3QgVGV4dFJlc291cmNlRGVjb2RlciogaGludERlY29k
ZXIpCiAgICAgewogICAgICAgICAvLyBoaW50RW5jb2RpbmcgaXMgZm9yIHVzZSB3aXRoIGF1dG9k
ZXRlY3Rpb24sIHdoaWNoIHNob3VsZCBiZSAKQEAgLTc4LDcgKzg1LDYgQEAgcHJpdmF0ZToKICAg
ICBib29sIGNoZWNrRm9yQ1NTQ2hhcnNldChjb25zdCBjaGFyKiwgc2l6ZV90LCBib29sJiBtb3Zl
ZERhdGFUb0J1ZmZlcik7CiAgICAgYm9vbCBjaGVja0ZvckhlYWRDaGFyc2V0KGNvbnN0IGNoYXIq
LCBzaXplX3QsIGJvb2wmIG1vdmVkRGF0YVRvQnVmZmVyKTsKICAgICBib29sIGNoZWNrRm9yTWV0
YUNoYXJzZXQoY29uc3QgY2hhciosIHNpemVfdCk7Ci0gICAgdm9pZCBkZXRlY3RKYXBhbmVzZUVu
Y29kaW5nKGNvbnN0IGNoYXIqLCBzaXplX3QpOwogICAgIGJvb2wgc2hvdWxkQXV0b0RldGVjdCgp
IGNvbnN0OwogCiAgICAgQ29udGVudFR5cGUgbV9jb250ZW50VHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCmluZGV4IDY3MjVlNzllMWQ3ZThlMWJiMjY4
OTg2YTZhNWQ1MzViNGRkZTc4NjMuLmJjOWJkNmUwNTVlYjQ5YmZkMWViZjUzZWMzMDM2ZTRkN2Jk
YmQwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaApA
QCAtNzgsNiArNzgsOCBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBl
bmNvZGluZygpIGNvbnN0OwogCisgICAgV0VCS0lUX0VYUE9SVCBib29sIHNob3VsZFVzZUVuY29k
aW5nRGV0ZWN0b3IoKSBjb25zdDsKKwogICAgIC8vIFRoZSB1cmwgb2YgdGhlIE9wZW5TZWFyY2gg
RGVzcmlwdGlvbiBEb2N1bWVudCAoaWYgYW55KS4KICAgICBXRUJLSVRfRVhQT1JUIFdlYlVSTCBv
cGVuU2VhcmNoRGVzY3JpcHRpb25VUkwoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lLmgKaW5kZXggODViYmRhMTA4NWViMzYzOTU5MTcxMmEwNDIwYWJkY2M4
Y2NkOGZjOS4uNjIyNWE0ZmYyZjMxMzYxMzgzZmRiNzhiYmZiMTEwOWUwMmM1MDdkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC0yOTgsNiArMjk4LDggQEAg
cHVibGljOgogICAgIC8vIEZhbHNlIHxpZ25vcmVDYWNoZXwgcmV2YWxpZGF0ZXMgYW55IGV4aXN0
aW5nIGNhY2hlIGVudHJpZXMuCiAgICAgdmlydHVhbCB2b2lkIHJlbG9hZChib29sIGlnbm9yZUNh
Y2hlID0gZmFsc2UpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCByZWxvYWRGcm9tQ2FjaGUoKSA9
IDA7CisKICAgICAvLyBMb2FkIHRoZSBnaXZlbiBVUkwuCiAgICAgdmlydHVhbCB2b2lkIGxvYWRS
ZXF1ZXN0KGNvbnN0IFdlYlVSTFJlcXVlc3QmKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRvY3VtZW50LmNwcAppbmRleCA4MGZiZGYxZDllZTk2ZjNiNDM1Y2EyZTE4NTcy
ZTQzYzIxYjY0MGViLi5iMjQ1ZjI5NzkzYWNlYzJjMjdjYTBiN2FmMDU5NDY4ZGFmNjFhMjQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCkBAIC00NSw2ICs0
NSw5IEBACiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZUxpc3Qu
aCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlRleHRFbmNvZGluZy5o
IgorI2luY2x1ZGUgIlRleHRFbmNvZGluZ0RldGVjdG9yLmgiCisjaW5jbHVkZSAiVGV4dFJlc291
cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNs
dWRlICJXZWJET01FdmVudC5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50VHlwZS5oIgpAQCAtNzgs
NiArODEsNDQgQEAgV2ViU3RyaW5nIFdlYkRvY3VtZW50OjplbmNvZGluZygpIGNvbnN0CiAgICAg
cmV0dXJuIGNvbnN0VW53cmFwPERvY3VtZW50PigpLT5lbmNvZGluZygpOwogfQogCitib29sIFdl
YkRvY3VtZW50OjpzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKCkgY29uc3QKK3sKKyAgICBjb25z
dCBEb2N1bWVudCogZG9jdW1lbnQgPSBjb25zdFVud3JhcDxEb2N1bWVudD4oKTsKKyAgICBUZXh0
UmVzb3VyY2VEZWNvZGVyKiBkZWNvZGVyID0gZG9jdW1lbnQtPmRlY29kZXIoKTsKKyAgICBpZiAo
IWRlY29kZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBUZXh0UmVzb3VyY2VEZWNvZGVy
OjpFbmNvZGluZ1NvdXJjZSBlbmNvZGluZ1NvdXJjZSA9IGRlY29kZXItPmVuY29kaW5nU291cmNl
KCk7CisgICAgaWYgKGVuY29kaW5nU291cmNlICE9IFRleHRSZXNvdXJjZURlY29kZXI6OkRlZmF1
bHRFbmNvZGluZworICAgICAgICAmJiAoZW5jb2RpbmdTb3VyY2UgIT0gVGV4dFJlc291cmNlRGVj
b2Rlcjo6RW5jb2RpbmdGcm9tUGFyZW50RnJhbWUgfHwgIWRlY29kZXItPmhpbnRFbmNvZGluZygp
LmlzVmFsaWQoKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGJ1ZiA9IGRvY3VtZW50LT5sb2FkZXIoKS0+bWFpblJlc291cmNlRGF0YSgpOworICAg
IGlmICghYnVmKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBUZXh0RW5jb2RpbmcgZGV0
ZWN0ZWRFbmNvZGluZzsKKyAgICBpZiAoIWRlY29kZXItPmVuY29kaW5nKCkuaXNKYXBhbmVzZSgp
IHx8ICFkZWNvZGVyLT5kZXRlY3RKYXBhbmVzZUVuY29kaW5nKGJ1Zi0+ZGF0YSgpLCBidWYtPnNp
emUoKSwgJmRldGVjdGVkRW5jb2RpbmcpKSB7CisgICAgICAgIGlmICghZGV0ZWN0VGV4dEVuY29k
aW5nKGJ1Zi0+ZGF0YSgpLCBidWYtPnNpemUoKSwgZGVjb2Rlci0+aGludEVuY29kaW5nKCkubmFt
ZSgpLCAmZGV0ZWN0ZWRFbmNvZGluZykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgLy8gV2UgY2hlY2sgd2hldGhlciB0aGUgcGFnZSBpcyBhbGwgYXNjaWksIGJlY2F1
c2UgaWYgc28gdGhlIHBhZ2Ugd2lsbCBub3QKKyAgICAvLyBiZSBnYXJibGVkLCBubyBtYXR0ZXIg
d2hhdCB0aGUgZGVmYXVsdCBlbmNvZGluZyBpcyBzZXQgdG8uCisgICAgaWYgKGRldGVjdGVkRW5j
b2RpbmcubmFtZSgpID09IFRleHRFbmNvZGluZygiSVNPLTg4NTktMSIpKSB7CisgICAgICAgIGJv
b2wgYWxsU2V2ZW5CaXRzID0gdHJ1ZTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGJ1Zi0+c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChidWYtPmRhdGEoKVtpXSAmIDB4
ODApIHsKKyAgICAgICAgICAgICAgICBhbGxTZXZlbkJpdHMgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoYWxsU2V2
ZW5CaXRzKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiBk
ZWNvZGVyLT5lbmNvZGluZygpICE9IGRldGVjdGVkRW5jb2Rpbmc7Cit9CisKIFdlYlVSTCBXZWJE
b2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4g
Y29uc3RfY2FzdDxEb2N1bWVudCo+KGNvbnN0VW53cmFwPERvY3VtZW50PigpKS0+b3BlblNlYXJj
aERlc2NyaXB0aW9uVVJMKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAppbmRleCBlNWFlOWM1MTg5YjE4NThiYWRjOTgwNjFjYTQ3Njk2ODhmNGJmMjI5Li5j
ZjZkMWJkNmVmNTA5YzBmOWEyY2RhNTlkMzQ4ZjNkNzM4NThhMjIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTkzMSw2ICs5MzEsMTIgQEAgdm9p
ZCBXZWJGcmFtZUltcGw6OnJlbG9hZChib29sIGlnbm9yZUNhY2hlKQogICAgIG1fZnJhbWUtPmxv
YWRlcigpLT5yZWxvYWQoaWdub3JlQ2FjaGUpOwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVs
b2FkRnJvbUNhY2hlKCkKK3sKKyAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+aGlzdG9yeSgpLT5zYXZl
RG9jdW1lbnRBbmRTY3JvbGxTdGF0ZSgpOworICAgIG1fZnJhbWUtPmxvYWRlcigpLT5yZWxvYWRX
aXRoT3ZlcnJpZGVFbmNvZGluZyhTdHJpbmcoKSk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBsOjps
b2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIEFTU0VSVCgh
cmVxdWVzdC5pc051bGwoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5oCmluZGV4IDIzZTYwZDk4MDQzMzFjODZmN2E1YjBiMWZjOGFkNGNkZGU3ZjhlMmQuLmEyM2Fl
YWMyMjMyNjIzZTliNGY0NDc0Y2ZlMzdjZWU3YmJmMDg1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMjEsNiArMTIxLDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzRGly
ZWN0b3J5KTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNo
ZSk7CisgICAgdmlydHVhbCB2b2lkIHJlbG9hZEZyb21DYWNoZSgpOwogICAgIHZpcnR1YWwgdm9p
ZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGxv
YWRIaXN0b3J5SXRlbShjb25zdCBXZWJIaXN0b3J5SXRlbSYpOwogICAgIHZpcnR1YWwgdm9pZCBs
b2FkRGF0YSgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121421</attachid>
            <date>2012-01-06 03:42:11 -0800</date>
            <delta_ts>2012-01-16 04:20:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120106204209.patch</filename>
            <type>text/plain</type>
            <size>10755</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I2NmFjOGEzMWRjYThi
ZjQ5ZTQwYWIzODUyNjE4NzE0OWEwOWE4My4uODljNTZjODBiMzA4NzY1YTg5MWI3YjE0MDZkZWVi
YjFiMTZmZWM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTA0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVjb2Rlcjo6
ZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZWNvZGUpOiBNb2RpZmllZCB0byB1c2UgbmV3IGRldGVjdEphcGFuZXNlRW5jb2Rp
bmcuCisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6OmVuY29kaW5nU291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6OmhpbnRFbmNvZGluZyk6CisKIDIwMTItMDEtMDQg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDQwODQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDM2MzhiODJjN2RhNmNkYzUzNGY3MDQ0NGM4ZjhhYzM2NTNkZmE1OWYuLmQyNjY0YWQ3NGM1
Yzg0ZTk1M2RmODY0Y2Q5MjVhNjc3ODAxYjRmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDEtMDQgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgQWRkaW5nIGZlYXR1cmUgdGhhdCBzdWdnZXN0cyB0dXJuaW5n
IG9uIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc1NTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisgCisgICAgICAgICAqIHB1YmxpYy9XZWJEb2N1bWVudC5oOgorICAgICAgICAgKiBw
dWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDoKKyAgICAg
ICAgIChXZWJLaXQ6OldlYkRvY3VtZW50OjpzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKTogUmV0
dXJucyB0cnVlIHdoZW4KKyAgICAgICAgIGVuY29kaW5nIGRldGVjdG9yIHNob3VsZCBiZSB0dXJu
ZWQgb24uIGkuZS4gVGhlIGN1cnJlbnQgZG9jdW1lbnQgd2FzCisgICAgICAgICBkZWNvZGVkIHVz
aW5nIHRoZSBkZWZhdWx0IGVuY29kaW5nIEFORCB0aGUgY3VycmVudCBlbmNvZGluZyBkb2Vzbid0
CisgICAgICAgICBtYXRjaCB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IncyByZXN1bHQuCisgICAgICAg
ICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBs
OjpyZWxvYWRGcm9tQ2FjaGUpOiBSZWxvYWRzIHBhZ2UgZnJvbSBjYWNoZS4gVXNlZAorICAgICAg
ICAgdG8gcXVpY2tseSByZWxvYWQgYWZ0ZXIgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0
b3IuCisgICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAxMi0wMS0wNCAgRGF2aWQg
TGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXR0ZW1wdCBDaHJvbWl1bSBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNl
RGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5j
cHAKaW5kZXggYzgxOThlMzA0NzZjZmY1MWIyODYwMTY5OTIwODY2MDc3ODk0NGZkNi4uZmQ4ZjQ1
NzZjYjc2YjE3YjI4NWUyNDA3ZDc5YTYyYjZmYzYxN2UxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcApAQCAtNTg2LDIzICs1ODYsMjQgQEAgYm9v
bCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpjaGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW5ndGgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dFJlc291
cmNlRGVjb2Rlcjo6ZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QgbGVuKQorYm9vbCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpkZXRlY3RKYXBhbmVzZUVuY29kaW5n
KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sIFRleHRFbmNvZGluZyYgZGV0ZWN0ZWRFbmNv
ZGluZykgY29uc3QKIHsKICAgICBzd2l0Y2ggKEthbmppQ29kZTo6anVkZ2UoZGF0YSwgbGVuKSkg
ewogICAgICAgICBjYXNlIEthbmppQ29kZTo6SklTOgotICAgICAgICAgICAgc2V0RW5jb2Rpbmco
IklTTy0yMDIyLUpQIiwgQXV0b0RldGVjdGVkRW5jb2RpbmcpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJJU08tMjAyMi1K
UCIpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlDb2RlOjpF
VUM6Ci0gICAgICAgICAgICBzZXRFbmNvZGluZygiRVVDLUpQIiwgQXV0b0RldGVjdGVkRW5jb2Rp
bmcpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0g
VGV4dEVuY29kaW5nKCJFVUMtSlAiKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBjYXNlIEthbmppQ29kZTo6U0pJUzoKLSAgICAgICAgICAgIHNldEVuY29kaW5nKCJTaGlmdF9K
SVMiLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIlNoaWZ0X0pJUyIpOworICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKICAgICAg
ICAgY2FzZSBLYW5qaUNvZGU6OlVURjE2OgogICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRGODoK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIC8vIFdl
IHVzZSB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IgaW4gdHdvIGNhc2VzOgpAQCAtNjM3LDE2ICs2Mzgs
MTIgQEAgU3RyaW5nIFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuKQogICAgIGlmICgobV9jb250ZW50VHlwZSA9PSBIVE1MIHx8IG1fY29udGVu
dFR5cGUgPT0gWE1MKSAmJiAhbV9jaGVja2VkRm9ySGVhZENoYXJzZXQpIC8vIEhUTUwgYW5kIFhN
TAogICAgICAgICBpZiAoIWNoZWNrRm9ySGVhZENoYXJzZXQoZGF0YSwgbGVuLCBtb3ZlZERhdGFU
b0J1ZmZlcikpCiAgICAgICAgICAgICByZXR1cm4gIiI7Ci0KICAgICAvLyBGSVhNRTogSXQgaXMg
d3JvbmcgdG8gY2hhbmdlIHRoZSBlbmNvZGluZyBkb3duc3RyZWFtIGFmdGVyIHdlIGhhdmUgYWxy
ZWFkeSBkb25lIHNvbWUgZGVjb2RpbmcuCiAgICAgaWYgKHNob3VsZEF1dG9EZXRlY3QoKSkgewot
ICAgICAgICBpZiAobV9lbmNvZGluZy5pc0phcGFuZXNlKCkpCi0gICAgICAgICAgICBkZXRlY3RK
YXBhbmVzZUVuY29kaW5nKGRhdGEsIGxlbik7IC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGRldGVj
dFRleHRFbmNvZGluZygpIGZvciBhbGwgbGFuZ3VhZ2VzLgotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFRleHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOwotICAgICAgICAgICAgaWYgKGRl
dGVjdFRleHRFbmNvZGluZyhkYXRhLCBsZW4sIG1faGludEVuY29kaW5nLCAmZGV0ZWN0ZWRFbmNv
ZGluZykpCi0gICAgICAgICAgICAgICAgc2V0RW5jb2RpbmcoZGV0ZWN0ZWRFbmNvZGluZywgQXV0
b0RldGVjdGVkRW5jb2RpbmcpOwotICAgICAgICB9CisgICAgICAgIFRleHRFbmNvZGluZyBkZXRl
Y3RlZEVuY29kaW5nOworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBkZXRlY3RUZXh0
RW5jb2RpbmcoKSBmb3IgYWxsIGxhbmd1YWdlcy4KKyAgICAgICAgaWYgKG1fZW5jb2RpbmcuaXNK
YXBhbmVzZSgpID8gZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhkYXRhLCBsZW4sIGRldGVjdGVkRW5j
b2RpbmcpIDogZGV0ZWN0VGV4dEVuY29kaW5nKGRhdGEsIGxlbiwgbV9oaW50RW5jb2RpbmcsICZk
ZXRlY3RlZEVuY29kaW5nKSkKKyAgICAgICAgICAgIHNldEVuY29kaW5nKGRldGVjdGVkRW5jb2Rp
bmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKICAgICB9CiAKICAgICBBU1NFUlQobV9lbmNvZGlu
Zy5pc1ZhbGlkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVy
LmgKaW5kZXggNzcxMTg1ZmI0ZDU3MzAzOGY3MGY3MjFiYWFkYzExODU0Y2E1MmM3MS4uNTRlMTJi
ZTcyODEzN2IwYmM4YWY2ZjAxMzZmZWFkY2Q5ZTc2MGI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCkBAIC01Miw5ICs1MiwxNCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRFbmNvZGluZyhjb25zdCBUZXh0RW5jb2RpbmcmLCBFbmNvZGluZ1NvdXJjZSk7
CiAgICAgY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZW5j
b2Rpbmc7IH0KIAorICAgIEVuY29kaW5nU291cmNlIGVuY29kaW5nU291cmNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zb3VyY2U7IH0KKwogICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbmd0aCk7CiAgICAgU3RyaW5nIGZsdXNoKCk7CiAKKyAgICBib29sIGRldGVjdEph
cGFuZXNlRW5jb2RpbmcoY29uc3QgY2hhciosIHNpemVfdCwgVGV4dEVuY29kaW5nJikgY29uc3Q7
CisKKyAgICBUZXh0RW5jb2RpbmcgaGludEVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gVGV4dEVu
Y29kaW5nKG1faGludEVuY29kaW5nKTsgfQogICAgIHZvaWQgc2V0SGludEVuY29kaW5nKGNvbnN0
IFRleHRSZXNvdXJjZURlY29kZXIqIGhpbnREZWNvZGVyKQogICAgIHsKICAgICAgICAgLy8gaGlu
dEVuY29kaW5nIGlzIGZvciB1c2Ugd2l0aCBhdXRvZGV0ZWN0aW9uLCB3aGljaCBzaG91bGQgYmUg
CkBAIC03OCw3ICs4Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjaGVja0ZvckNTU0NoYXJzZXQo
Y29uc3QgY2hhciosIHNpemVfdCwgYm9vbCYgbW92ZWREYXRhVG9CdWZmZXIpOwogICAgIGJvb2wg
Y2hlY2tGb3JIZWFkQ2hhcnNldChjb25zdCBjaGFyKiwgc2l6ZV90LCBib29sJiBtb3ZlZERhdGFU
b0J1ZmZlcik7CiAgICAgYm9vbCBjaGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqLCBzaXpl
X3QpOwotICAgIHZvaWQgZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiwgc2l6ZV90
KTsKICAgICBib29sIHNob3VsZEF1dG9EZXRlY3QoKSBjb25zdDsKIAogICAgIENvbnRlbnRUeXBl
IG1fY29udGVudFR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJEb2N1bWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1l
bnQuaAppbmRleCA2NzI1ZTc5ZTFkN2U4ZTFiYjI2ODk4NmE2YTVkNTM1YjRkZGU3ODYzLi5iYzli
ZDZlMDU1ZWI0OWJmZDFlYmY1M2VjMzAzNmU0ZDdiZGJkMDc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgKQEAgLTc4LDYgKzc4LDggQEAgcHVibGljOgog
CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZW5jb2RpbmcoKSBjb25zdDsKIAorICAgIFdF
QktJVF9FWFBPUlQgYm9vbCBzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKCkgY29uc3Q7CisKICAg
ICAvLyBUaGUgdXJsIG9mIHRoZSBPcGVuU2VhcmNoIERlc3JpcHRpb24gRG9jdW1lbnQgKGlmIGFu
eSkuCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJVUkwgb3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDg1
YmJkYTEwODVlYjM2Mzk1OTE3MTJhMDQyMGFiZGNjOGNjZDhmYzkuLjYyMjVhNGZmMmYzMTM2MTM4
M2ZkYjc4YmJmYjExMDllMDJjNTA3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRnJhbWUuaApAQCAtMjk4LDYgKzI5OCw4IEBAIHB1YmxpYzoKICAgICAvLyBGYWxzZSB8aWdu
b3JlQ2FjaGV8IHJldmFsaWRhdGVzIGFueSBleGlzdGluZyBjYWNoZSBlbnRyaWVzLgogICAgIHZp
cnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSA9IGZhbHNlKSA9IDA7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgcmVsb2FkRnJvbUNhY2hlKCkgPSAwOworCiAgICAgLy8gTG9hZCB0aGUgZ2l2
ZW4gVVJMLgogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0
JikgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKaW5k
ZXggODBmYmRmMWQ5ZWU5NmYzYjQzNWNhMmUxODU3MmU0M2MyMWI2NDBlYi4uOWEzMmVkYmVmYzdl
ZmQzOTg3OTBjMTcxNWU0MTFiYzBlODA1MmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRvY3VtZW50LmNwcApAQCAtNDUsNiArNDUsOSBAQAogI2luY2x1ZGUgIkhUTUxIZWFk
RWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oIgorI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNs
dWRlICJXZWJEb2N1bWVudFR5cGUuaCIKQEAgLTc4LDYgKzgxLDQ0IEBAIFdlYlN0cmluZyBXZWJE
b2N1bWVudDo6ZW5jb2RpbmcoKSBjb25zdAogICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVu
dD4oKS0+ZW5jb2RpbmcoKTsKIH0KIAorYm9vbCBXZWJEb2N1bWVudDo6c2hvdWxkVXNlRW5jb2Rp
bmdEZXRlY3RvcigpIGNvbnN0Cit7CisgICAgY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29u
c3RVbndyYXA8RG9jdW1lbnQ+KCk7CisgICAgVGV4dFJlc291cmNlRGVjb2RlciogZGVjb2RlciA9
IGRvY3VtZW50LT5kZWNvZGVyKCk7CisgICAgaWYgKCFkZWNvZGVyKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgVGV4dFJlc291cmNlRGVjb2Rlcjo6RW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdT
b3VyY2UgPSBkZWNvZGVyLT5lbmNvZGluZ1NvdXJjZSgpOworICAgIGlmIChlbmNvZGluZ1NvdXJj
ZSAhPSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpEZWZhdWx0RW5jb2RpbmcKKyAgICAgICAgJiYgKGVu
Y29kaW5nU291cmNlICE9IFRleHRSZXNvdXJjZURlY29kZXI6OkVuY29kaW5nRnJvbVBhcmVudEZy
YW1lIHx8ICFkZWNvZGVyLT5oaW50RW5jb2RpbmcoKS5pc1ZhbGlkKCkpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWYgPSBkb2N1bWVudC0+bG9h
ZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICBpZiAoIWJ1ZikKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgVGV4dEVuY29kaW5nIGRldGVjdGVkRW5jb2Rpbmc7CisgICAgaWYgKCFk
ZWNvZGVyLT5lbmNvZGluZygpLmlzSmFwYW5lc2UoKSB8fCAhZGVjb2Rlci0+ZGV0ZWN0SmFwYW5l
c2VFbmNvZGluZyhidWYtPmRhdGEoKSwgYnVmLT5zaXplKCksIGRldGVjdGVkRW5jb2RpbmcpKSB7
CisgICAgICAgIGlmICghZGV0ZWN0VGV4dEVuY29kaW5nKGJ1Zi0+ZGF0YSgpLCBidWYtPnNpemUo
KSwgZGVjb2Rlci0+aGludEVuY29kaW5nKCkubmFtZSgpLCAmZGV0ZWN0ZWRFbmNvZGluZykpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gV2UgY2hlY2sgd2hldGhl
ciB0aGUgcGFnZSBpcyBhbGwgYXNjaWksIGJlY2F1c2UgaWYgc28gdGhlIHBhZ2Ugd2lsbCBub3QK
KyAgICAvLyBiZSBnYXJibGVkLCBubyBtYXR0ZXIgd2hhdCB0aGUgZGVmYXVsdCBlbmNvZGluZyBp
cyBzZXQgdG8uCisgICAgaWYgKGRldGVjdGVkRW5jb2RpbmcubmFtZSgpID09IFRleHRFbmNvZGlu
ZygiSVNPLTg4NTktMSIpKSB7CisgICAgICAgIGJvb2wgYWxsU2V2ZW5CaXRzID0gdHJ1ZTsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJ1Zi0+c2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgIGlmIChidWYtPmRhdGEoKVtpXSAmIDB4ODApIHsKKyAgICAgICAgICAgICAgICBhbGxT
ZXZlbkJpdHMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBpZiAoYWxsU2V2ZW5CaXRzKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKworICAgIHJldHVybiBkZWNvZGVyLT5lbmNvZGluZygpICE9IGRldGVj
dGVkRW5jb2Rpbmc7Cit9CisKIFdlYlVSTCBXZWJEb2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0
aW9uVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4gY29uc3RfY2FzdDxEb2N1bWVudCo+KGNvbnN0
VW53cmFwPERvY3VtZW50PigpKS0+b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBlNWFlOWM1MTg5YjE4
NThiYWRjOTgwNjFjYTQ3Njk2ODhmNGJmMjI5Li5jZjZkMWJkNmVmNTA5YzBmOWEyY2RhNTlkMzQ4
ZjNkNzM4NThhMjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTkzMSw2ICs5MzEsMTIgQEAgdm9pZCBXZWJGcmFtZUltcGw6OnJlbG9hZChib29s
IGlnbm9yZUNhY2hlKQogICAgIG1fZnJhbWUtPmxvYWRlcigpLT5yZWxvYWQoaWdub3JlQ2FjaGUp
OwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVsb2FkRnJvbUNhY2hlKCkKK3sKKyAgICBtX2Zy
YW1lLT5sb2FkZXIoKS0+aGlzdG9yeSgpLT5zYXZlRG9jdW1lbnRBbmRTY3JvbGxTdGF0ZSgpOwor
ICAgIG1fZnJhbWUtPmxvYWRlcigpLT5yZWxvYWRXaXRoT3ZlcnJpZGVFbmNvZGluZyhTdHJpbmco
KSk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBsOjpsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1
ZXN0JiByZXF1ZXN0KQogewogICAgIEFTU0VSVCghcmVxdWVzdC5pc051bGwoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDIzZTYwZDk4MDQzMzFjODZm
N2E1YjBiMWZjOGFkNGNkZGU3ZjhlMmQuLmEyM2FlYWMyMjMyNjIzZTliNGY0NDc0Y2ZlMzdjZWU3
YmJmMDg1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBA
IC0xMjEsNiArMTIxLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKICNlbmRpZgogICAgIHZpcnR1
YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSk7CisgICAgdmlydHVhbCB2b2lkIHJlbG9h
ZEZyb21DYWNoZSgpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxS
ZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRIaXN0b3J5SXRlbShjb25zdCBXZWJIaXN0
b3J5SXRlbSYpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkRGF0YSgK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>121791</attachid>
            <date>2012-01-09 21:34:43 -0800</date>
            <delta_ts>2012-01-09 21:34:43 -0800</delta_ts>
            <desc>Garbled text info bar</desc>
            <filename>Before.png</filename>
            <type>image/png</type>
            <size>184058</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">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
2XA9vvRWbzf3tact+TPbcbYeTP7cr2PM5xrcK3mrqrE+rp52DldnOYeD087BSfXhU1Qfnlb2qRWT
5WTrwTa2HpytIp2cnJ54ZuVx+N0H1+ytuBpuVOtLSERERERERETmdsct7258+FM25ydn9sxyemib
CGCmzop6L37+6qdwpn7u9QBt1etSs4turj/DjRuLo+yfhp97Wb8Pg8V+L91JGUVERERERETk4bXk
hU1f/TgS/ZAf9gYX8LYbRKPRydAgKwun08n96GW5pxgubYXT+25RmhtRolOmIs3KcuJ0Zj3wsn9a
fJbq92E414WVUUREREREREQ+aeXl5fgb/mTB7/M3/hUf/XqYx/KWARAeGb/TbrNZOJ15i6ZCsrKc
5OU9nGV/GHyW6vdhONeFlVFEREREREREHmaZi72As43pJiIiIiIiIiIi8lnwOVWBiIiIiIiIiIjI
4qTwTkREREREREREZJFSeCciIiIiIiIiIrJIKbwTERERERERERFZpBTeiYiIiIiIiIiILFIK70RE
RERERERERBYphXciIiIiIiIiIiKLlMI7ERERERERERGRRUrhnYiIiIiIiIiIyCKl8E5ERERERERE
RGSRUngnIiIiIiIiIiKySCm8ExERERERERERWaQU3omIiIiIiIiIiCxSCu9EREREREREREQWKYV3
IiIiIiIiIiIii5TCOxERERERERERkUVK4Z2IiIiIiIiIiMgipfBORERERERERERkkVJ4JyIiIiIi
IiIiskgpvBMREREREREREVmkFN6JiIiIiIiIiIgsUgrvREREREREREREFimFdyIiIiIiIiIiIouU
wjsREREREREREZFFSuGdiIiIiIiIiIjIIqXwTkREREREREREZJHKVBWIyL30X//rf+Wjjz5i1apV
PPPMM+Tk5NzRfkZGRvj7v//7Bb2nsrISp9OpiyAiIiIiIiKfGgrvRG4hkUjw7W9/m29/+9u8+eab
/Kt/9a8+k/XwL//yL2zfvp3HH3+c3/qt3+LrX/86y5Ytm3Xbv/u7v+O9994D4POf/zzHjx/nueee
W/Axh4eHeemllxb0ni9/+csK70RERERERORTReGdyDTd3d386Z/+KRs3bqSjo4NLly4B8OKLL3L6
9Gk+97n729v8//2//8e5c+dSr7/whS/gdrsfaJ3E43HOnDmTev1nf/ZnXLx4cc4A76bHHnssrew/
+clPiMVis25rGAZf+tKXdAOKiIiIiIiITHHPw7v/+3//Lz//+c8ZHh7Gtm0+//nP43K5yMvLu2WL
mF/96le8/fbbqddPPvkka9asue3xotEogUAg9XrFihV4vd7U6wsXLjA4OJh6/W//7b/lC1/4wm33
293djW3bqdeVlZV3XCfTz20hXC4X69ev1536CUgkEjz//PN0dHQA8OMf/zht/Q9+8AO++c1vsn//
/vtajtHRUUpKSlKvm5qa2Ldv36Kqqz/+4z+eVyvETZs2UVxcnHr9/PPPc+XKlTm37+rq4tlnn511
3SOPPILD4bjl8TIyMnQji4iIiIiIyKfKPQnv/uVf/oW/+Zu/4a233uK9995jfHx81u08Hg9f/vKX
ef7559m+fXvauoGBAZ5//vnU6/z8fAYGBjBN85bHfv/999Pe9+KLL/Kd73wn9fpv//Zv+S//5b+k
Xr/++utUV1ff9pz++I//mIGBgdTrjz/++I7rZ/q5LcRXvvIVzp49qzv1E5CRkcH69etT4d1svvnN
b/Lss89SWlr6ma6rsrIylixZkrbsP//n/8zIyEhaOPejH/2IPXv2APAnf/Int93vzp07OX/+PNnZ
2TPWvfLKKxw8eFA3qoiIiIiIiHym3FV4l0gk+PM//3Oam5vTWqnNxbIsLMvCtu0Z4d104XCYAwcO
cOjQIV0l+cTs3buXs2fP8o//+I+pZdnZ2YyOjqbu+T/6oz+ir6/vtsHyZ83Ro0eJRCJpy3784x+n
WjC+8MILt93Hz372M4aGhigsLFSFioiIiIiIiAB3PHhXJBKhvLwcv98/r+DuTrz22mtcuHBBV0k+
MUuWLKGtrY0VK1aklo2OjqZmTH3kkUd49tlnuXHjxqIq981x+R4mdXV1/OxnP0sb5+6JJ55QcCci
IiIiIiIyxR21vIvFYjz33HNpg+oDLFu2jBdffBGfz4fH4+E3fuM3iMfjXLt2jcuXL/OTn/yEnp4e
HnnkkXkd56OPPqK2tpbu7u5PVaX/3u/9HocPH57XtkuXLtVd+gl79NFH+c53vsNXv/pVALZu3cor
r7xCW1sb/+k//SeeeOKJRVPWWCzGn/3Zn9HS0oJt2/dszLdEIsHQ0FDq9S9/+cu09VevXsWyrNTr
/Pz8tPVf+MIXePTRR/npT3+aWja967nT6SQnJ4f//b//d9pnQ0REREREREQm3VF4t3v37rTgbsmS
JdTX1/Pqq6/OOlbVE088QUlJCf/u3/07gDnHxJvND3/4Q/77f//v/OEf/uGnptJzcnJ48skndfct
Yr/zO79DW1sbX/rSl1ITp0ydCGUx+Kd/+if+43/8j6nWqZZlsXLlynuy71/+8pd88YtfnHP917/+
9bTX0ydkqa+vp7KyMi3Um23cyO9///skEonU62984xu6+URERERERESmWHB419fXx7e//e20Za+/
/jo7duyY/0EzF3bYuro6fu/3fi/VdfGzbPrsuZs3b8YwDH7+859z4cIFPve5z/Fv/s2/4V//6389
473nz5/n5z//OdnZ2axatYq8vLx5HfP69ev8n//zf4hGo4yPj/P5z3+eL37xizz22GMLKvvQ0BDv
v/8+IyMjZGVlsXz5cp544ol5Xddf/vKXDAwM8OGHH/LII4/gcrl44oknePTRR+9bXf/RH/3RorwH
fvGLX/Cnf/qnHD9+PG35wMDAPQvvFmr65BXvvPMOv/71r2/7vu9+97up/1+xYgVf+cpX9K0sIiIi
IiIiMsWCw7s///M/T3v9H/7Df1hQcHcnfvGLX/DNb34zbdbYz6rps+f+4Ac/oLGxkR/96EepZUuW
LOFrX/sa/+2//Td+4zd+g46ODl555RXef//9tG02btzI3/zN38xoBRiNRjl16hSdnZ2cPXuWa9eu
zVqWxx9/nJqaGurq6jAMY9Zt4vE4R44c4a//+q+5fPnyjPVLlizhiSee4MUXX+TAgQNp6z7++GP+
7u/+jr/8y7+kr69v1v17PB6eeeYZvv71r/P7v//7n+prHw6HOXjwIK2trTPG3Pvt3/5tfvM3f/OB
le1zn0sfPvP48eMzwsXpLe/Onz/PP/3TP6Ve//t//+9nhIAiIiIiIiIin3ULmrBidHSUjo6O1OtH
HnmE/fv335eCfeMb38Dj8aRe/+Vf/uVDOSj//fbss8+mBXeQDElOnTrF5s2b+eu//mu+9rWvpQV3
N7f5n//zf/I7v/M7M8K5trY2XnrpJdrb2+cM7gCuXLnCq6++SllZGR999NGM9eFwmKeffpq6urpZ
g7ub5bh8+fKMbpeJRILt27ezY8eOOYM7SHYV/c53vkNjY+On9hr/+Mc/5utf/zqPP/44r732Wlpw
53A4OHDgAP/rf/2v+xreTQ/O/+Iv/iLt9Z2Ebv/jf/yP1P9nZmZSU1OjD7SIiIiIiIjINAtqeXf2
7Fni8Xjq9e/+7u+mdc/s7++fM6SZ7tFHH2XDhg1zrl+6dCmHDx+msrISmJy84gc/+MFDX+m/+MUv
OHXq1Ly2LSsrm3UcwekyMjJwOByMjY2llp07dy5tbMKMjAwM4/+zd+7BjVxV/v8OJFFPIKjDSz0s
oJ7dEPcAhZXwsLIJuIeEsYYQrAQSK0CwAqRGoQAr2YAV4Aeq1C4WG7JWyGMUdok7bBVWagErC8EK
L3dCwM0W4A7s4g67KbUrBHVIFnd4xHcC7P39IY9GsvW0ZNnjOZ+qdrlb/bh97znnnnv6Pjx4+umn
y8eKxSImJiZaXkCjFg888ABuu+02xOPx8rGVlRUMDQ3h5z//+YbuedtttyGbza47/rznPQ9//vOf
q96hFb7yla+s6612ySWXtJS33aCT51cGuSp529vehptuuglnnnnmpr//2kU6/H5/1f7anncejwfP
fvazq8ppbc+7//u//yv//573vAcveclLtm0ZEARBEARBEARBEMRW0Vbw7ic/+UnV/hvf+Maq/S9+
8Yu4+eabW7rXa1/7Wvz4xz9ueM7w8DAOHjyI2dlZAMB3vvMdfOUrX8E73/nO4zrTH3zwQTz44IMt
nVsoFKp6INbioosuwp133okXvOAFuPvuu/Gud71rXaDkoosuwhe/+EW88IUvxMzMDC677LLyQgFf
+cpX1gXvdu3ahWAwiPPPPx/BYBD79u3Di170Ipx88slwHAdf+9rX8LGPfax8D03TqoJ3n/3sZ6sC
d6eccgquv/56vPe974Xf78ef/vQnLC0twTRNPPDAA/jDH/5Q9fwvfOELVWm56aab8L73vQ9erxcA
8Pvf/7487DKfz1cFlWsRi8Xwv//7v1XHVFXtWeCmm88/55xzcMMNN+CCCy7YkucD1YG3o2VUSTqd
xsUXX9zyvIqf+MQnjqsyIAiCIAiCIAiCIIhe0Vbw7oknnqjaX9sbZzP4/Oc/j1e/+tU4cuQIAODa
a6/FW9/6Vmpwr/K6170OX/3qV3HyyScDACKRCG6//XZ8//vfr3vOJZdcgje/+c3lXoyPPfYYHn/8
cfh8PgDAhRdeiMsuu6xuTyhZlnHttddC1/XyMOqf/exnePrpp3HqqafimWeewec///mqa+666y5E
IpHy/rOf/Wz09fWhr6+v5krClYtyBAIBXHPNNVW/n3baaTjnnHNwzjnnYHx8HH/84x93tqKedBJC
oRCuvfZa7N+/f8vTszY4vLbn3ZEjR6p6gda6ppJsNotPfvKTpNAEQRAEQRAEQRAEsYa25rxb22tl
M1f6PMoZZ5yB6667rrz/6KOPrls040Tm7/7u78pBuaO85jWvafucX/3qV+X/X/GKV6wL3P3lL39z
0RoLAAAgAElEQVTBI488gu9///v45je/iXvuuacqGMM5x69//WsAwP3334/l5eXyb+ecc05V4K4V
TjnllPL/S0tLeOqppxqe/5znPGfHlvGll16KRx99FF//+te3ReAOaN7zLh6PY+/evVXHGgXvkslk
1RBvgiAIgiAIgiAIgiBKtBW8qwyoAFi3SMHExASWl5frbvVWJG3Gxz/+cbz85S8v799000347//+
7+M20y+55JKG+VS5Vb53LV760peuO/b85z+/7XNqzSH3pz/9CXfddRfe8pa34LTTTsMZZ5yBN73p
TbjwwgsRDofxjW98o+Y91g6HPjpvYTu86U1vKv//29/+Fueccw7uvPNOFIvFE05Jzz777JaHn/aK
tcG7tT3vWiEcDpeDrn/5y19w1VVX1Vz4hCAIgiAIgiAIgiBOZNoaNvuCF7ygav+3v/1t1f7u3bux
e/furify1FNPxeTkJN7xjncAAJ555hl8+MMfRj6fPy4z/eSTT4Yoipt2/7VB1lbOOTp33VH+8z//
E5deemlbK/weDegsLS1VHX/lK1/Z9jvccMMN+N73vlceLr24uIj3v//9AIAzzzwTQ0NDGBkZwbnn
ntvS/S655BL87ne/WydXveJ4f/7ahUf+67/+q2q/ldVm1/a8e+1rX4vLLrsM73rXuwCUhl7feuut
64ZI75QyIAiCIAiCIAiCIIiN0Fbwbu1QStM0ccUVV/QkoZdccgkOHDiAb33rWwCA++67DzMzM3jZ
y15GpdhlHnnkEaiqum6Y9EknnYSXv/zlOP300yEIAmzbxmOPPbbu+t///vdV+xsJVL7uda/Dvffe
iyuuuGJdb7tf/vKX+OUvf4lbbrkFr3vd63D77bfj9a9/fcP7VS6AsRUc78+/4YYbqvb/6Z/+qWp/
bc+7D3/4w3jrW99adeyss85ad9/LL78c//qv/1pelObGG2/EBz/4wQ330t3OZUAQBEEQBEEQBEEQ
G6GtsW7nnXde1f73vve9nib2lltuqeoxds0116ybFH8ta+d6W9vDrB6V5629x07nQx/6UFXg7hWv
eAXuvvtuuK6LRx55BD/+8Y/x4IMP1lxoAlgfyGk1z9dy/vnn43/+539w88031wz8AKUhuuedd17P
ZZGoZm3Pu1e+8pUIhUI488wzce655yIUCq0bqn2UT3/60+X/i8Ui/u3f/o0ylCAIgiAIgiAIgiBW
aSt4FwgEqhrgpmniBz/4Qc8Se+aZZ+Laa68t7y8tLeEzn/lMw2vWLqqxdqhvPSrP68XCHNuFxx57
rGo48ktf+lIYhoHLLrts3aIQ9fJy7fDqtasUt8Opp56Kj3zkI/jpT3+Kxx57DF/60pcQiUSqemY9
88wz+MAHPrBuHrbjVinXBD8bLfSwXdN8lNHRUbz4xS/Gu9/97rrzVA4MDOBVr3pVeX9mZoYsM0EQ
BEEQBEEQBEEcbXO320C/6qqrqo6NjY3hmWee6VmCP/nJT1YtwNBs3ru1w2pN02z6jEcffbQqMNVs
0YidxEMPPVS1/973vrdujynDMGoeP/PMM6v2FxYWupK2l7zkJbjiiiswPT0Ny7Lg9/vLvxUKBfz0
pz/dEWXQbGGYreCuu+6q2p+dncWjjz6KH/zgB1heXq45r6Gu63jwwQfBGMOXv/xl/O3f/m3dQO7R
+SwB4Ec/+hFZZoIgCIIgCIIgCIJYpe0lIq+99tqqSd5/8pOf4Morr+xZgOE5z3nOuvm2GrF2qO89
99yD3/zmNw2v+Zd/+ZeG99jJMMbW5Xct/v3f/73uYhaVK8UCwN133911+ZBlGYcOHao6Ztv2jiiD
k046qapn4VNPPdXzNOzevRujo6Plbe/evVW/33HHHTjrrLPwwQ9+EKIorut5d/vtt+PNb35z1bG3
vvWtEASh5vNe85rXlP8vFos7phclQRAEQRAEQRAEQXRK28G7F7/4xbjllluqjn35y1+Gqqr48Y9/
3JNEX3rppTj//PNbOnfPnj1QVbW8/8c//hEXX3wxfv3rX9c8f3p6GqlUqurY0dUwTwT27NlTtf+N
b3xj3bDN+fl5XHnllXXv8epXvxr9/f3l/UceeQTxeLxuQOaZZ55Z14Py5ptvxre//e2GQZxCoVC1
v5NWDpUkqfx/veGmm4nX64WmaeXtFa94RdXvuVwOTz75JB566KGavV9//vOfV8nNK1/5Stx11104
7bTTaj5veXm52jA961kgCIIgCIIgCIIgCKLN1WaP8r73vQ8//elPcdttt5WP/fCHP8TrX/969Pf3
Y//+/XjJS16CU045Bb/97W+xtLSEBx54AEeOHOlawm+55Rb09/e31KMrmUxi//795WDCD3/4Q/z1
X/81zj//fOzbtw+CIOCJJ57AAw88sK432UUXXdR0JdN2WVxcXBcgrMfLXvYyvPvd7+6ZQLz2ta+F
1+st9/aan5/HwYMHMTIyAsYYvve97+FrX/ta055R//AP/4C3ve1t5f3bb78duq4jEongjDPOwK5d
u/Doo4/iP/7jP/Cd73wHHo8HjuOUz//2t7+NeDyOF7/4xTh48CDe8IY34OUvfzl2794Nx3Fw7733
Ynp6+pggn3QS3vCGN+wYxTzjjDOwtLQEoDQ0/JZbbsG5556LP//5z3j66afx9NNPw3VdPPbYY3js
scfwq1/9CjfccEPN4aubzdTUFEKhUMNzPvCBD9T9zXVd3HrrreX9E2mYOkEQBEEQBEEQBEE046SN
XnjrrbfC5/Ph05/+dFUPm4ceemjdvGmbwb59+xCPx3HjjTc2PXdwcBB///d/j0984hPlY0eOHME3
v/lNfPOb36x73RlnnAFN07qe9p/97Gf42c9+1tK55557bk+Dd6eccgo++tGP4pOf/GT52H333Yf7
7ruvrftceOGFuO666/C5z32ufOwXv/gFPvWpT9U83+fz1Tz+m9/8Bnfddde6OdfW8qEPfQgvfOEL
d4xiBoNBfPe73wVQmvPuIx/5SNNrrrnmmk1LT6Ng7T333IOnn3666thZZ51VNdfh29/+9nXXff7z
n4dt27jnnnvw5JNPlo+/5S1vIctMEARBEARBEARBEKt0NDbt//2//4e5uTkEg8G2rtu3b9+6hS82
wqc+9Sn81V/9VUvnfvzjH4emaRBFsaXz3/72t+NHP/pR3cUadjLXX389IpFIw3POOOOMhr2pAODG
G2/EjTfeWHees0ZULkrSiF27duHqq69uKYh7PPGe97wHJ53UXmz9z3/+c9fTYZomrrvuOpx11ll1
zzly5AgeeOCBdddV8tWvfnXddU888QS++MUvVgXuTj31VHz0ox8ty0ChUChv4+PjZLEJgiAIgiAI
giCIE46TOr3B4OAg5ufn8eCDD+Lee+/F3NwcHnvssfKqkqeddhpe9rKXYd++fRgYGMD555+PV73q
VV1J/HOf+1x87nOfw+WXX97S+aOjo7jkkkvwpS99Cd/+9rdhmiaefPJJPPPMMxBFEbIs47zzzsN7
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
X/LH5uryjO9vtXhrY5ef9q+Wu7d/wnc22rzVak1c7Y0dftq/4sevdvn2wTs+meoVPzrY4lsH7+r/
v9zmADjW1+t/Ab7e2uZnl1eD9Lf4u/M+55zz49e7fGvv7XLyX13ww50t3m6t843dN/zqDmV12T/h
uxst3t5+xS855+fHr/g6wFsbe1Of/f7VHt8/eMlfvry+Dvje3qtROczJe5O87W5s8Ddn/ZXr9i7f
98+O+Ga7davuW60W33lZ1+3xmwO+0Vrn6+sb/PXx+fQyPX/P3xyd8LP3h3z34IhfXp7z/a0t/ub0
nL873OE7L0f6c3Hymu/svR38vTj9prp9fnzINzb3+cXV/dlGs/I95bvtdd7a3BvW+aRtzdf9m3p+
sNnmB+/Pm0rHT45e852tjaHutVptvrN3wI+Oz4a/eru3yTd2396ym6v+Kd9pr/ON3bc39OI939/Z
4uvX+tze5AevjnjT4nu7tzmUZ/Jq8denF5xzzg+32nz39cnwnouTV7zd3hkrw0v+anvyN+fHb/hW
e50D67y9ucPfvD/hh9ttvvfmZDxT/OjVPt9oDexxvcV3Dt4O0zx6tc832q2hTJvbe/z9eX9hnt4d
bM3IE/jG3vzy29ja5Ucnk3V6/HqXr69v8uObNnl+PHFve3Obv353ervNu+rzl5tt/vKGrlxdnvOD
rTZfb22N8nXV568PDvlJv0mbtLhNu+yf8J32Ogda/OXbk1uynZ8e86O3b/jhwT7f3twY3L/F31/U
fePJm33eam3x44vLO/Vnn5vNf8p2dfc+/oqfHL3iW+31mX31LJto0s/eTSfm28zlxTHfnjLGarVa
fO/18chG9+s0tg/e8stHtInF44Dmz784fcPbrc0J217aJpqP5ha351eX/N2rg5HeYp1vbu+N5Jur
1yO9enOwM2yTtwdlUrfXR3xjfYMfjevWMM1rPdjgB6/fTdTpTTsdt9WHYpqsd5Hj+NXOzD7x4F09
/nizu8G39o+G9tw/f8c3W5vDvoDzK/52b3PiN2fvD3lrYEutVpvvv3rLX+9tTpQ7v+rzNwN7WW+1
eWt9nbc39/n5IJF3L2vZ2u0NvtFu8VZrkx9O6auWydPO4fuhPm+1Wvzw+GI0Ppj7vCv+ZneDb+69
4i93N4fytja2+duT83ut46vLM7630eKtQRvQP3/HNwb979HpxW17PXnL93Z3+e6U6+Wr9wvL6+ry
jO9ubPF3g3nvxckbvrV1cKv9eSj5z9695Dt7B2Pzs5d8f2+fn173d1cX/GDQbp1cPP7c/OTN3rDd
WR/q0saY/jeZs57zw53RGH//6JSfHh3w9sY231hf57tvTvjV1QV/ubXJD16/4nvbG7y9uX9rbLIK
58eHfB1t/rZB37nyuOuqz19utzmwzvffHM/Uucv+Md9qbw3HsRPl/Lou5/Wx/neiXZszNnj6fesV
P369z1sA39p/s+TY4P7m2A/Jt99+y/978h9LX99++y3/RvtH/i+mwf/FNPhvf/tbvpTzjvMrfnF+
wT9OtkcT8d2Ndb6x8+r+0546Tr7go7bhil+cnfHT01N+dnbGzy8u+OXYTadHL3l7vcXb7RZvb+5O
nbQtkv/i7IS/f/+en91DAzx04G1s8Nb6bMdd47qfk/dFedvb3FrYMC4qm7t+P4+LkyP++s07fjGz
I7ji717u8IOj03pSv7HNj/uX/PTtPt8+eMcvL8/4y/3DusG76vPXu1v85buzJdJvJv/FySu+sbE3
HLzdp23Mv/+Knx0fz5R/vu5f8X7/gl9c1Nf5+Qnf22gt4bwjPltmDkYu+bvXrxcOVBfp9Pw27Yqf
vn/Pzxu2mVdXfX7y/j0/H9hI/+wdPzo+v3N/Rjb/qans3fr406NX/OWrt0M9WsZ516SfvatOLBoH
LBpHHL95xd9Mc9R/EjZxbevn/OXO7nAyv8wYkCBGenTJL/r9xc6jq0t+cXHB+9PahKtL3r+44Bf9
R9K1Gc+7ujrne+3W0KF5ddnn/QeU6eL0Ld9YX+eb29t8owXe3tp/wEn5JX+9u8lbm9t8b2+Hb2xs
83d3bGfvV/4rfnZywvsfbXJ+t37h7cE2b7XafO/gFT8+PavnT+9P+Zu9TQ60+c72Bt86eMf7F+/5
1sYOf3/6nr89en9P+a0X6bS3Dhunt2of0z8/5ecLbOLq8pQf7B3MdEpenA/K+XxKGc8ZG3wKfWv/
/IS/PzlbaWxwX3PsT8V5t/bPxjf8f1U/47+d/o9PZrVgVWQoIDcOdPyosAplxSBJ0pOQvyoTWJqJ
FDri9OEPp7hr3hbdf9fvV9860YNpxQiTAIoIpHECSdcho0LJBCRdG15SAIyhKAooZhdR2Fk6psEi
+VlVIMsZVG36qV0PXf6r6H6Z92DozsQWA0EQYfcS+IYCgpivVhUgiitvA3nS/QXZ/LPkoXXurjbx
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
7bG/bxGla/odkw62F2J+8xxs/3ADFssJML95AbaHu8MaYBe305uXcU7g2WRliTfkhFF2pQ1vdq6L
W4jF7V0f3tb18p7020350qLh6/WCvsj4/PEjHj58RBAm9KZPttwtwdgWGZ0VsPAdREREROR8e38X
fPH6f43f8t+f/A9F456ahnnH2s6eN6c4/QZIXCCDdah4yc3Vq4AotxnatYIhb9XYV4ReQlDUpL6t
gIio74qIiIjcCV9++SXL//ybK39u+V9+y//93/+T/2D9LQAv/8//44P7FJi9PTWOC724JEa/gN+/
5yF6/VrN5BZuyWirDsuJFAp560w7YJ0nhHGMW5eH0/pE5O6axo40WmClaxZK3ImIiIhc6l4l75R4
EXn3xr6hGQw818GYRqo8ZVlPLOtAwZF3wglSuj5VIER+JAzTYd10CoSIiIjIjj5QCETkJsa+YREt
ef7NvFvjg5/8jGVZsfAsBUdERERERETkhpS8E5Ebsf0F3bBQIERERERERETegr9RCERERERERERE
RO4mJe9ERERERERERETuKCXvRERERERERERE7igl70TkrRn6jn4YFQjFX0RERERERK5Jybu3pF5D
2V39c9NbPr7Iu5SFPsGiVCAUfxEREREREbmme5u8awoIPDD2YG8P9gxwPKj6o/esQzBMqIfTn88j
sIOjnxcueGdsqDmN4JsQb98fT1Csj3/XZaYJFj64AfSXZfCucXy5f4Y2xzYs1u1WA556ItvEMFzq
Ydpqpw2eabLYNJrMt/CS20nqtHmE5URntlvLAMM0bumMJ5piReA5GHt77O3tsWcYOF5I1Y9b/drB
ML1j5//m83nkYAfrrX5t4Z2R3JrGFt80ibcy5G2REXguprH57r09DMsmStcM0+2ew225rfhfJaa3
0W7Oc5X62qkPdTm2YZO3wxU/V2Dv7REX+guKiIiIiIi8ffcveTdBFsHnvwLTg+oJHBzAswayZL6Z
3fb9t5Cmu49426kIE3Q9/P7nm8ThHhgG1OP5708D+O1f4PmfwQ8vTuBd9fhyP5m2i21MNN1R4mEc
OtphAnqafuv5vmXAwnfMd1pGwzAwjFtI3k0DWeTx+a8yTC+hevKUg4MDnjU1WRJinfiO77/9K2la
3Gq/HscRN0zIy695+vQZT58+IV9GtOsFfry+9XO4U/F/SzH9oRmGiePYmFeMkXHqHyIiIiIiIm/P
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
k2K79L3L+sIuddmUS6IooVH2TkRERETk3rh3yTvLgamDzx/Do0fwRTivLZd/DcXiemusdQ10nL8J
hRfNUzTfJK7i9ZxUyyL4+GP4xIFlcfZnDQOyErxhTuBdZepTtIJVBGkA+/tzks5ezEmx7fO0PTC/
AeyjjR8s5+g5d4d72XgN6zfftTd/X5TOm14AhCvI/HnHV8uad5KNV8eTW9EKshCSz2H/Y1i1kGVX
X3/uqmXble3OCdH0i/kY4fLotaGdN63Y34ePP4G8nzevsH9kyTvDdFnnS/pVyP6egRMs8dI1sftg
l08TrUpWkUkaPGJ/fx83TLEXa8pVeIPdLg3idck6tskij48//phPHJ9l0byV77XdmDSySb94xP7+
x4TL6iYR5WeLNZFR49kf8/HDx9T4lNX6sG2EyzWBWeOYJrbtsu491qv/eIVy3fz8h7Yk8l329/f5
+JNH5L1NXq52ar9vrVyGRVo0fL1e0BcZnz9+xMOHjwjChN70yZbRpbEP0hU/e3A882w6IVVT4E4N
0Ref8/jxY6I0x03WVHmy8xqj3/z1tzx++JCHxx7uqZF+t9v3LusLN6tLERERERH5cdr7u+CL1/9r
/Jb//uR/KBryztUriPI5OSZ3rW5CwhWMfalgiIiIiIiIiFzBl19+yfI//+bKn1v+l9/yf//3/+Q/
WH8LwMv/8//44D4FZm9PjUN19+69fn0/62TsBgzTVeMUERERERER+QHdq2mzJ3cb1eNuPV4dwJ+e
wKvv4LtX8K//DB99CP/85Md9XvfLxND31OWaZdFi+4GukiIiIiIiIiI/oA8UAnlXxn7etOL5N/PP
D34yb1ix8BSbu2LoCrxHf8/w0QP8cMlqqeSdiIiIiIiIyA9JyTt5Z2wfukFxuMssJ6Z/HSsQIiIi
IiIiInfE3ygEIiIiIiIiIiIid5OSdyIiIiIiIiIiIneUknciIiIiIiIiIiJ3lJJ3IiIiIiIiIiIi
d5SSdyIiIiIiIiIiIneUknciIiIiIiIiIiJ3lJJ3IiIiIiIiIiIid5SSdyIiIiIiIiIiIneUknci
IiIiIiIiIiJ3lJJ3IiIiIiIiIiIid5SSdyIiIiIiIiIiIneUknciIiIiIiIiIiJ3lJJ3IiIiIiIi
IiIid5SSdyIiIiIiIiIiIneUknciIiIiIiIiIiJ3lJJ3IiIiIiIiIiIid5SSdyIiIiIiIiIiIneU
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
xbJcgEEX3n4b3vsVfPt88d6fv4I4WgQM981Gi6BiNILedLF3nbNBGzYVzL55xf3elCRZQxz7WJZH
HDrMZ9mpP+7nox6TwmNevmD32WP8OqU/SC6cp+P3qduWJw8fsH33AU/39mjblqZKDoJNk17IKINZ
sUvb7pGOfEZxRFI2h0HH8QjiCbu7T4mdgrjbZZhAWlTsPBpSTAfM8vMDMLYXU7UtuzsPuXNrmz/s
7C7LkuJZi3ySQUg/qRjPC/b29ijSEdWkTzRYDYKU8wlhNMKJRmQ7T5lE5+2Xtr6Olu0znCY8fbbL
7u4z0nFEMugd2TvQMOsvyjZKnrD7YpdnRcYwDlZy+jYZMEgaJvOSpzuPCUxOvz89P7BpKgZRj9rr
8+zFi0W95zOi5YO7vg83Kf8m48qQDCKGacM0e8qLvZpxbDPqTzk6QXTTvE7vo83yuOSTduHxeun+
X9OHFwnc9boRdTBiPusvZ1CfP34dv4dv1yQre/4Z8mmC3e3RdeyXHnvrn53V/tzbqxnHFsP+mPpC
/bnJ36H14/f8Z3SzPERERERE5IL+Lvyo/Sj46/am+fB2297aPv87u0/b9u522+682CzNvRdt+/Dz
tn3/Ttv+9vEyjZ1FGk82TOPJw7a9c69td5evH33etnc+bNsXG37+xf22vfdx2+4tX7941rZ3b7ft
o+UNTx+17d17bbu717Z7u217b7ttHz07zH/n8eL7X3zdto++btv3t9v2Dztt2+617Wf3Duu1qHDb
Prjbtp8/Wb7cbdu7t9r27vtt+4evD8twnhf7ZdhdlO3WyqLaxbV97+r6/emj37Z3733SPlsWbvfJ
F+3dO/fbnRerpf3s3u12+94n7e7e0b550G7febA2j92nD9s7t+60D3d2V97fefig3b774CDvgzZ4
9nV799Z2+/mTZ0ffbX/74Z32/uePDspz7+OHB2369OuP21u37rRfP1v2/N6z9uO7t9tf/+HJRu1w
Vhlf7D5q793ebn/7+Nlqu339Wbt9+/328bJBPrt3u4WT95/ZzxvU8eQD9az9+O52++DhzjKNR+3d
W7fbz75+emY+n3+43d6+8+uV/nz69Sft7dsfnujj1Wf3SXvv1u0T9T7urD7cpPybjKu93cft+7dv
t58cq+PjL37d3rp178J5ndZHL53H0h9+fbcFTly37/y6fbrXXt14vWD/b9qHZ42b9z/5sn2x+6T9
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
TZmTphmvKV4tIiIiIiIiV+jGBu9MA8M+OBF0l7+7bRfmJfT9g9/IJ374GgPDCDIgmcF0AsUEknKz
fIsc8mPX0R/QQQ++/EwD78r7uy6YZQ3dKDgxY8yyPaLAPvPU2atiuz5WXTDPS4xpqJdrLW23yyBy
GcV9krzEAMY0FNn8lIM0Xi3b7TKMXaa9ZVmMocwS+v0ZXm9I4Fgvne55dbTdANeumSU5hsXBDYPe
mObW8bJ5THs9pvOCpmmoq4JsXlxRvc9O+6raZZN8NhkLz7MR/eGMqjHUZc6gN8AEPeLAWTveAPJ0
RBz3yRW9ExERERER+dm7kcG7bAaBB3MD0/Hq8j97sTqOyAW3C40F+5PwTAP9AKYFzOYQOBDEMIzZ
aNmcqWEQQxgeXnEPjH2YB0A8gZ1HcP+eBuBVKfMZJS5RcNoMKYsgDqizGUX96oIZrt9jGLsMP3qX
ra23iEbzg/x70znT2GEY+mx1OmxtOcTD6bknpL4aFvEkZRLbDMN32drawo+GuIMp6SS6xL5659fR
sn2msxHVJGKrY+GFI4LhlJ6/fSyNlGnPZRwHvPXWW7ztdRkl+ZXU+/y0r6pd1uezfixYfNifEDQJ
vrPF2+92KZ2YNB2tHLBz9ngTERERERGRm6Tzd+FH7X82P/BvT/79xlQqn8GshMHw7OWxdQVVvZiN
d/Tgx2QMTgxd9ycqrIG6WZySKyIy8B3KOGE+7KoxREREREREfqbu37/P6J8uvvRy9M+/53/+6z/4
K+cvAdj97/+9WafNdjqrr//1X14yod/99GVvWw1sERERERERERFZdaOCdwqAiYiIiIiIiIjITfIX
agIREREREREREZHr6RdqAhGR62NS1GoEEREREREROaCZdyIiIiIiIiIiIteUgnciIiIiIiIiIiLX
lIJ3IiIiIiIiIiIi15SCdyIiIiIiIiIiIteUgnciIiIiIiIiIiLXlIJ3IiIiIiIiIiIi15SCdyIi
IiIiIiIiIteUgnciIiIiIiIiIiLXlIJ3IiIiIiIiIiIi15SCdyIiIiIiIiIiIteUgnciIiIiIiIi
IiLXlIJ3IiIiIiIiIiIi15SCdyIiIiIiIiIiIteUgnciIiIiIiIiIiLXlIJ3IiIiIiIiIiIi15SC
dyIiIiIiIiIiIteUgnciIiIiIiIiIiLXlIJ3IiIiIiIiIiIi15SCdyIiIiIiIiIiIteUgnciIiIi
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
Hh62ezuv259e7sz6wPI8Ly/zsvHpRXv3lI2PbPXjs0ft1t3H7Y+vd9vDw8N299WL9vH2Vvv4+U/H
/XPl+l6Djfd3fmjvbt09LvPrF1+323d/2+6cyvgqNvnu0Xb7+PlPK5a5j3/3a8fzBsXLfbZ/O93a
3m4fPf2u3d0/aPf3XrVP72+1D5++uFbfXyuPpX3hYhv1scHl/r5k7GKrffLsh3Z3/6A92N9pv/3t
/Xbr/tPj8fnp3a326x93Fp579f2Tdvvhs579bdn3a4w9a9i175h8ebvP2me7a5+Dw4P21Ytv2/tb
t9pbtx4ueSfoV/bL+uZlY9T+7ov27q277YsV6/PD04ft1t0n7U87e+3BwX7703dft9tbt9qtu09X
9uXdl8/b7e3HZ8YvQRAEQRCEi/j1r3/d/vfpf135+vWvf91+Zf379l8cu/0Xx27/6Z/+qRXx7hwB
79H2SXzZrVurCXdt27aPt9r21vbVi93n+f3dtr0/JwQte/71D227fb9t92bvnK9+aNu7j9tzJwR9
8n/1fdtubbXtyzmB7uW3bfvwadseHLbtt48Xhb0jserJdtt+96prmxfftu2rvf522fmpbZ9+27a7
M/Hu5Yu2/fqH+UlB2959eCJ4vfyuq+ORib5/0rYPv54TG2eC2cv9i8W7o/q9/K5t7z9p2/2Dtn1y
t21f7LTtD193+e+9btv7F4h3z16e/HxZ/qu0z1XY/elZe+vWw/Z1j0nHd4+3261TAsvuT8/ara1L
Ji2He+3X97fbpy925iZWWy0sTrYum/jNP3+w97K9f2urff7T7uU+MZsI7p0Rq39q79/abr97vbcw
qf728d32yXcvVy9f27aHB6/bh7e22m8vcNo+eV5W5qVj0zmT17Zt24P9l+3Dre0z5dr96Xm7vfWo
fbV/eKX6XoeN2/aw/fH54/buo+ft7t6r9sn29rltehWbfH1/q/3tD69XKnMf/+7bjmfb/3KfXaWd
th8+a/cPTwkeR2LDNfn+Onks6wsX2qinDS7z92Vj1/bjbxf+sHO4/7p9tLXVPn+5u5p4tyT/C/vj
GmPPVe26yph8Wbsf7r9qH21ttc9O+fCr73+7VLzrW/bL+uZlY9T54t3y+jyca/sTQe/+sXi3is33
X3/fbm/db1/ui3gnCIIgCMKHF+/+jcQezi8TA9eBxoIfX8LrV90BCCMbgqh/OrrZLYm8Kr2eb7hw
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
j/NbDOcp86HNZPAut27dwg8nuNGCdB6u3a+7Xf+8clw87atpQxERERERETmp9/eDj5f/2f7Iv333
AdlKkgAAIABJREFU76qNSypiiKsu+ORdozXYmwoqA33/7O+UGdgBuGflezV6z4pgHOyf/mDQ7Vpr
RpCMjt6bpzANwZ/DPDxKaxJCYiBLr1ddyuWlUcCkHlKmEa9S3CbyHaphQjbpv5TXFxERERERkd3d
vXuX6T9/tvd503/5nP/5r//gb5y/BuDgv//3Zu022+tdj3z8/rc3uPd9Bb+84Kl/+QH4Fr769Oi9
j9/v/vz27+DzU85xFbi7UUxbskhqBvEADbgSERERERER2e5GBe+WSzWoyHVW5QtKy2cWuKoMERER
ERERkR38lapARJ6PlmSe4YZjfFvj7kRERERERER28ZqqQESeD5tZXr+ypZ8/q51yntP1RURERERE
5MXQyDsREREREREREZFrSsE7ERERERERERGRa0rBOxERERERERERkWtKwTsREREREREREZFrSsE7
ERERERERERGRa0rBOxERERERERERkWtKwTsREREREREREZFrSsE7ERERERERERGRa0rBOxERERER
ERERkWtKwTsREREREREREZFrSsE7ERERERERERGRa0rBOxERERERERERkWtKwTsREREREREREZFr
SsE7ERERERERERGRa0rBOxERERERERERkWtKwTsREREREREREZFrSsE7ERERERERERGRa0rBOxER
ERERERERkWtKwTsREREREREREZFrSsE7ERERERERERGRa0rBOxERERERERERkWtKwTsRERERERER
EZFrSsE7ERERERERERGRa0rBuwtoq4w4yTHXLmeGuiyo24vnrCkTZvP0EmVriaMRi6LZM+stbdsQ
zyZkdatOJiIiIiIiIiICvHaTCtM2Da05HnaycFwHa9vJpqUsq1OCVhau7+OsXaAuE6Zzm8Gwj3Ol
JTCUeYHtBzg0FGVL0PfX8n7+58bUROGQIM6Z9N1T6qeiOhYYsywHz3cPr1GXKYvUZxyxvc7OLEOO
6bewR+0sRn3mZsjYyZmEDXmxwLOsZ9ZX6nzGaNaQZ3P9CoiIiIiIiIjItXVjgnemLQm9gG9//OnY
J6/zm2+qU4NZZTpjllY0tUUy9xl8+EsenfjW2edffRkqouGIYVYwMAmjYUZaZfi2tdPnFhaOZY5G
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
q0VvDFFWcP+zHlnYZZSWM8detYwyHHrhmAcPd9ndfUg08Bl320fW24r7bYaZTZw/YTcNGmUAAA1N
SURBVPfhlzhlRKc7nqqTTy+qCJMHPHlWMggM+p2Q/WXpdEHXb1PaHR4+edLUOx7hO9aJ0TLsgKKu
2b3/Mdc2d/jw/i51XVMVEbZaJZ6Qx0M8v4/p90nuP2Don7zG1cLYrFinqkxpt3xKt0886rBoBv6i
mI/aPoNEMbr/kCdPcjpWRqcbneqefrivnn1/0ow6TXv1x/fYfbLLwyyhF7in6ier9OV//lmPqGqR
FE94snsf30jxvc4kGbx8fzqJ6XQo65p7H7/Nzo23efDs2aTfrr547MJjrR2zBW0h96qV+6AQQggh
hFjB97zX6tfcv64vizs7db19o64fPpv9/Wcf1PXmdl3fe7L+sW9v1/XmztHfv3Wtrt/7cvLDs7p+
50Zd3/10+fLPntT1u7frqfFxB6/ta01d7n9y8Ltrtw/qt3u/rl+5UdfXrs2+NqnrOz+e/Z6P79b1
9k5d79yo6wfPVqv7J3ebc/nyQV3f3pmq7yH3P67rnWurH198szz49J16c/NWfe/JyR3lye5n9a3t
nfq9Lx8eKv9uvbP9Sv3lblP+3Vvb9a27H9fP9t+/W29uXqs/fTi54J89rO/e2K7f+vDe/jHWKXP0
4n1Y372xU7/98f2Z4+7ceqfenaravY/frneuvd0U2f2yfmV7u37n0wczh/ryx2/Vm5u3JveEe/Wt
ze0j9V7W7oOP62ub1+qP7++uHU84Wn4lh2KzTJ0+uL1Tv/LOJ/WT3Xv1Wzd26lfuflg/WaJuy8T8
1vZ2/e5n0zF/Vn/49o16e/KZk3z41o0aOPLavvbW/r3uPPrTk4ef1Tc2t+t3D/WVg387TtdPFvXl
D27v1Du335tpg2e79+pXJrFctj+9fW27vvvJ/UP9/U69c+udQ/9+vF3v3Hj7yL/f6/T14461bswW
tYXcqx7KP2xCCCGEEIe88cYb9f9K/ufKrzfeeKN+zf3r+m99r/5b36tff/31+tKNvKs0uJ2ja8O5
Ppi62URhXZYDtr3ov8035zBvbfh55XUFXf9gc4ppm9swHIMJjKZGDU6PwDOdpk5FMfvqvgLG1FCV
vbUAe4PmeKvyh9ACfA8yYO4gHA3DATgdJqN8hDjl9ZwnFJj4zmyvtVwfUxekxd4oEoVpH6xHpgwT
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
RK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122615</attachid>
            <date>2012-01-16 04:20:59 -0800</date>
            <delta_ts>2012-02-15 01:52:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120116212057.patch</filename>
            <type>text/plain</type>
            <size>10671</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I2NmFjOGEzMWRjYThi
ZjQ5ZTQwYWIzODUyNjE4NzE0OWEwOWE4My4uODljNTZjODBiMzA4NzY1YTg5MWI3YjE0MDZkZWVi
YjFiMTZmZWM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTA0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVjb2Rlcjo6
ZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZWNvZGUpOiBNb2RpZmllZCB0byB1c2UgbmV3IGRldGVjdEphcGFuZXNlRW5jb2Rp
bmcuCisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6OmVuY29kaW5nU291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6OmhpbnRFbmNvZGluZyk6CisKIDIwMTItMDEtMDQg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDQwODQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDM2MzhiODJjN2RhNmNkYzUzNGY3MDQ0NGM4ZjhhYzM2NTNkZmE1OWYuLmQyNjY0YWQ3NGM1
Yzg0ZTk1M2RmODY0Y2Q5MjVhNjc3ODAxYjRmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDEtMDQgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgQWRkaW5nIGZlYXR1cmUgdGhhdCBzdWdnZXN0cyB0dXJuaW5n
IG9uIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc1NTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisgCisgICAgICAgICAqIHB1YmxpYy9XZWJEb2N1bWVudC5oOgorICAgICAgICAgKiBw
dWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDoKKyAgICAg
ICAgIChXZWJLaXQ6OldlYkRvY3VtZW50OjpzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKTogUmV0
dXJucyB0cnVlIHdoZW4KKyAgICAgICAgIGVuY29kaW5nIGRldGVjdG9yIHNob3VsZCBiZSB0dXJu
ZWQgb24uIGkuZS4gVGhlIGN1cnJlbnQgZG9jdW1lbnQgd2FzCisgICAgICAgICBkZWNvZGVkIHVz
aW5nIHRoZSBkZWZhdWx0IGVuY29kaW5nIEFORCB0aGUgY3VycmVudCBlbmNvZGluZyBkb2Vzbid0
CisgICAgICAgICBtYXRjaCB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IncyByZXN1bHQuCisgICAgICAg
ICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBs
OjpyZWxvYWRGcm9tQ2FjaGUpOiBSZWxvYWRzIHBhZ2UgZnJvbSBjYWNoZS4gVXNlZAorICAgICAg
ICAgdG8gcXVpY2tseSByZWxvYWQgYWZ0ZXIgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0
b3IuCisgICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAxMi0wMS0wNCAgRGF2aWQg
TGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXR0ZW1wdCBDaHJvbWl1bSBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNl
RGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5j
cHAKaW5kZXggYzgxOThlMzA0NzZjZmY1MWIyODYwMTY5OTIwODY2MDc3ODk0NGZkNi4uZmQ4ZjQ1
NzZjYjc2YjE3YjI4NWUyNDA3ZDc5YTYyYjZmYzYxN2UxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcApAQCAtNTg2LDIzICs1ODYsMjQgQEAgYm9v
bCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpjaGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW5ndGgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dFJlc291
cmNlRGVjb2Rlcjo6ZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QgbGVuKQorYm9vbCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpkZXRlY3RKYXBhbmVzZUVuY29kaW5n
KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sIFRleHRFbmNvZGluZyYgZGV0ZWN0ZWRFbmNv
ZGluZykgY29uc3QKIHsKICAgICBzd2l0Y2ggKEthbmppQ29kZTo6anVkZ2UoZGF0YSwgbGVuKSkg
ewogICAgICAgICBjYXNlIEthbmppQ29kZTo6SklTOgotICAgICAgICAgICAgc2V0RW5jb2Rpbmco
IklTTy0yMDIyLUpQIiwgQXV0b0RldGVjdGVkRW5jb2RpbmcpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJJU08tMjAyMi1K
UCIpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlDb2RlOjpF
VUM6Ci0gICAgICAgICAgICBzZXRFbmNvZGluZygiRVVDLUpQIiwgQXV0b0RldGVjdGVkRW5jb2Rp
bmcpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0g
VGV4dEVuY29kaW5nKCJFVUMtSlAiKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBjYXNlIEthbmppQ29kZTo6U0pJUzoKLSAgICAgICAgICAgIHNldEVuY29kaW5nKCJTaGlmdF9K
SVMiLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIlNoaWZ0X0pJUyIpOworICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKICAgICAg
ICAgY2FzZSBLYW5qaUNvZGU6OlVURjE2OgogICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRGODoK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIC8vIFdl
IHVzZSB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IgaW4gdHdvIGNhc2VzOgpAQCAtNjM3LDE2ICs2Mzgs
MTIgQEAgU3RyaW5nIFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuKQogICAgIGlmICgobV9jb250ZW50VHlwZSA9PSBIVE1MIHx8IG1fY29udGVu
dFR5cGUgPT0gWE1MKSAmJiAhbV9jaGVja2VkRm9ySGVhZENoYXJzZXQpIC8vIEhUTUwgYW5kIFhN
TAogICAgICAgICBpZiAoIWNoZWNrRm9ySGVhZENoYXJzZXQoZGF0YSwgbGVuLCBtb3ZlZERhdGFU
b0J1ZmZlcikpCiAgICAgICAgICAgICByZXR1cm4gIiI7Ci0KICAgICAvLyBGSVhNRTogSXQgaXMg
d3JvbmcgdG8gY2hhbmdlIHRoZSBlbmNvZGluZyBkb3duc3RyZWFtIGFmdGVyIHdlIGhhdmUgYWxy
ZWFkeSBkb25lIHNvbWUgZGVjb2RpbmcuCiAgICAgaWYgKHNob3VsZEF1dG9EZXRlY3QoKSkgewot
ICAgICAgICBpZiAobV9lbmNvZGluZy5pc0phcGFuZXNlKCkpCi0gICAgICAgICAgICBkZXRlY3RK
YXBhbmVzZUVuY29kaW5nKGRhdGEsIGxlbik7IC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGRldGVj
dFRleHRFbmNvZGluZygpIGZvciBhbGwgbGFuZ3VhZ2VzLgotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFRleHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOwotICAgICAgICAgICAgaWYgKGRl
dGVjdFRleHRFbmNvZGluZyhkYXRhLCBsZW4sIG1faGludEVuY29kaW5nLCAmZGV0ZWN0ZWRFbmNv
ZGluZykpCi0gICAgICAgICAgICAgICAgc2V0RW5jb2RpbmcoZGV0ZWN0ZWRFbmNvZGluZywgQXV0
b0RldGVjdGVkRW5jb2RpbmcpOwotICAgICAgICB9CisgICAgICAgIFRleHRFbmNvZGluZyBkZXRl
Y3RlZEVuY29kaW5nOworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBkZXRlY3RUZXh0
RW5jb2RpbmcoKSBmb3IgYWxsIGxhbmd1YWdlcy4KKyAgICAgICAgaWYgKG1fZW5jb2RpbmcuaXNK
YXBhbmVzZSgpID8gZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhkYXRhLCBsZW4sIGRldGVjdGVkRW5j
b2RpbmcpIDogZGV0ZWN0VGV4dEVuY29kaW5nKGRhdGEsIGxlbiwgbV9oaW50RW5jb2RpbmcsICZk
ZXRlY3RlZEVuY29kaW5nKSkKKyAgICAgICAgICAgIHNldEVuY29kaW5nKGRldGVjdGVkRW5jb2Rp
bmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKICAgICB9CiAKICAgICBBU1NFUlQobV9lbmNvZGlu
Zy5pc1ZhbGlkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVy
LmgKaW5kZXggNzcxMTg1ZmI0ZDU3MzAzOGY3MGY3MjFiYWFkYzExODU0Y2E1MmM3MS4uNTRlMTJi
ZTcyODEzN2IwYmM4YWY2ZjAxMzZmZWFkY2Q5ZTc2MGI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCkBAIC01Miw5ICs1MiwxNCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRFbmNvZGluZyhjb25zdCBUZXh0RW5jb2RpbmcmLCBFbmNvZGluZ1NvdXJjZSk7
CiAgICAgY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZW5j
b2Rpbmc7IH0KIAorICAgIEVuY29kaW5nU291cmNlIGVuY29kaW5nU291cmNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zb3VyY2U7IH0KKwogICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbmd0aCk7CiAgICAgU3RyaW5nIGZsdXNoKCk7CiAKKyAgICBib29sIGRldGVjdEph
cGFuZXNlRW5jb2RpbmcoY29uc3QgY2hhciosIHNpemVfdCwgVGV4dEVuY29kaW5nJikgY29uc3Q7
CisKKyAgICBUZXh0RW5jb2RpbmcgaGludEVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gVGV4dEVu
Y29kaW5nKG1faGludEVuY29kaW5nKTsgfQogICAgIHZvaWQgc2V0SGludEVuY29kaW5nKGNvbnN0
IFRleHRSZXNvdXJjZURlY29kZXIqIGhpbnREZWNvZGVyKQogICAgIHsKICAgICAgICAgLy8gaGlu
dEVuY29kaW5nIGlzIGZvciB1c2Ugd2l0aCBhdXRvZGV0ZWN0aW9uLCB3aGljaCBzaG91bGQgYmUg
CkBAIC03OCw3ICs4Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjaGVja0ZvckNTU0NoYXJzZXQo
Y29uc3QgY2hhciosIHNpemVfdCwgYm9vbCYgbW92ZWREYXRhVG9CdWZmZXIpOwogICAgIGJvb2wg
Y2hlY2tGb3JIZWFkQ2hhcnNldChjb25zdCBjaGFyKiwgc2l6ZV90LCBib29sJiBtb3ZlZERhdGFU
b0J1ZmZlcik7CiAgICAgYm9vbCBjaGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqLCBzaXpl
X3QpOwotICAgIHZvaWQgZGV0ZWN0SmFwYW5lc2VFbmNvZGluZyhjb25zdCBjaGFyKiwgc2l6ZV90
KTsKICAgICBib29sIHNob3VsZEF1dG9EZXRlY3QoKSBjb25zdDsKIAogICAgIENvbnRlbnRUeXBl
IG1fY29udGVudFR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJEb2N1bWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1l
bnQuaAppbmRleCA2NzI1ZTc5ZTFkN2U4ZTFiYjI2ODk4NmE2YTVkNTM1YjRkZGU3ODYzLi5iYzli
ZDZlMDU1ZWI0OWJmZDFlYmY1M2VjMzAzNmU0ZDdiZGJkMDc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgKQEAgLTc4LDYgKzc4LDggQEAgcHVibGljOgog
CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZW5jb2RpbmcoKSBjb25zdDsKIAorICAgIFdF
QktJVF9FWFBPUlQgYm9vbCBzaG91bGRVc2VFbmNvZGluZ0RldGVjdG9yKCkgY29uc3Q7CisKICAg
ICAvLyBUaGUgdXJsIG9mIHRoZSBPcGVuU2VhcmNoIERlc3JpcHRpb24gRG9jdW1lbnQgKGlmIGFu
eSkuCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJVUkwgb3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDg1
YmJkYTEwODVlYjM2Mzk1OTE3MTJhMDQyMGFiZGNjOGNjZDhmYzkuLjYyMjVhNGZmMmYzMTM2MTM4
M2ZkYjc4YmJmYjExMDllMDJjNTA3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRnJhbWUuaApAQCAtMjk4LDYgKzI5OCw4IEBAIHB1YmxpYzoKICAgICAvLyBGYWxzZSB8aWdu
b3JlQ2FjaGV8IHJldmFsaWRhdGVzIGFueSBleGlzdGluZyBjYWNoZSBlbnRyaWVzLgogICAgIHZp
cnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSA9IGZhbHNlKSA9IDA7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgcmVsb2FkRnJvbUNhY2hlKCkgPSAwOworCiAgICAgLy8gTG9hZCB0aGUgZ2l2
ZW4gVVJMLgogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0
JikgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKaW5k
ZXggODBmYmRmMWQ5ZWU5NmYzYjQzNWNhMmUxODU3MmU0M2MyMWI2NDBlYi4uOWEzMmVkYmVmYzdl
ZmQzOTg3OTBjMTcxNWU0MTFiYzBlODA1MmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRvY3VtZW50LmNwcApAQCAtNDUsNiArNDUsOSBAQAogI2luY2x1ZGUgIkhUTUxIZWFk
RWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oIgorI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNs
dWRlICJXZWJEb2N1bWVudFR5cGUuaCIKQEAgLTc4LDYgKzgxLDQ0IEBAIFdlYlN0cmluZyBXZWJE
b2N1bWVudDo6ZW5jb2RpbmcoKSBjb25zdAogICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVu
dD4oKS0+ZW5jb2RpbmcoKTsKIH0KIAorYm9vbCBXZWJEb2N1bWVudDo6c2hvdWxkVXNlRW5jb2Rp
bmdEZXRlY3RvcigpIGNvbnN0Cit7CisgICAgY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29u
c3RVbndyYXA8RG9jdW1lbnQ+KCk7CisgICAgVGV4dFJlc291cmNlRGVjb2RlciogZGVjb2RlciA9
IGRvY3VtZW50LT5kZWNvZGVyKCk7CisgICAgaWYgKCFkZWNvZGVyKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgVGV4dFJlc291cmNlRGVjb2Rlcjo6RW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdT
b3VyY2UgPSBkZWNvZGVyLT5lbmNvZGluZ1NvdXJjZSgpOworICAgIGlmIChlbmNvZGluZ1NvdXJj
ZSAhPSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpEZWZhdWx0RW5jb2RpbmcKKyAgICAgICAgJiYgKGVu
Y29kaW5nU291cmNlICE9IFRleHRSZXNvdXJjZURlY29kZXI6OkVuY29kaW5nRnJvbVBhcmVudEZy
YW1lIHx8ICFkZWNvZGVyLT5oaW50RW5jb2RpbmcoKS5pc1ZhbGlkKCkpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWYgPSBkb2N1bWVudC0+bG9h
ZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICBpZiAoIWJ1ZikKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgVGV4dEVuY29kaW5nIGRldGVjdGVkRW5jb2Rpbmc7CisgICAgaWYgKCFk
ZWNvZGVyLT5lbmNvZGluZygpLmlzSmFwYW5lc2UoKSB8fCAhZGVjb2Rlci0+ZGV0ZWN0SmFwYW5l
c2VFbmNvZGluZyhidWYtPmRhdGEoKSwgYnVmLT5zaXplKCksIGRldGVjdGVkRW5jb2RpbmcpKSB7
CisgICAgICAgIGlmICghZGV0ZWN0VGV4dEVuY29kaW5nKGJ1Zi0+ZGF0YSgpLCBidWYtPnNpemUo
KSwgZGVjb2Rlci0+aGludEVuY29kaW5nKCkubmFtZSgpLCAmZGV0ZWN0ZWRFbmNvZGluZykpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gV2UgY2hlY2sgd2hldGhl
ciB0aGUgcGFnZSBpcyBhbGwgYXNjaWksIGJlY2F1c2UgaWYgc28gdGhlIHBhZ2Ugd2lsbCBub3QK
KyAgICAvLyBiZSBnYXJibGVkLCBubyBtYXR0ZXIgd2hhdCB0aGUgZGVmYXVsdCBlbmNvZGluZyBp
cyBzZXQgdG8uCisgICAgaWYgKGRldGVjdGVkRW5jb2RpbmcubmFtZSgpID09IFRleHRFbmNvZGlu
ZygiSVNPLTg4NTktMSIpKSB7CisgICAgICAgIGJvb2wgYWxsU2V2ZW5CaXRzID0gdHJ1ZTsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJ1Zi0+c2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgIGlmIChidWYtPmRhdGEoKVtpXSAmIDB4ODApIHsKKyAgICAgICAgICAgICAgICBhbGxT
ZXZlbkJpdHMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBpZiAoYWxsU2V2ZW5CaXRzKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKworICAgIHJldHVybiBkZWNvZGVyLT5lbmNvZGluZygpICE9IGRldGVj
dGVkRW5jb2Rpbmc7Cit9CisKIFdlYlVSTCBXZWJEb2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0
aW9uVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4gY29uc3RfY2FzdDxEb2N1bWVudCo+KGNvbnN0
VW53cmFwPERvY3VtZW50PigpKS0+b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBlNWFlOWM1MTg5YjE4
NThiYWRjOTgwNjFjYTQ3Njk2ODhmNGJmMjI5Li40NTUwYjRhMmM0Njk3ODcyMGY2ZDViM2ZhMzkx
NTcwZDA0N2I1NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTkzMSw2ICs5MzEsMTEgQEAgdm9pZCBXZWJGcmFtZUltcGw6OnJlbG9hZChib29s
IGlnbm9yZUNhY2hlKQogICAgIG1fZnJhbWUtPmxvYWRlcigpLT5yZWxvYWQoaWdub3JlQ2FjaGUp
OwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVsb2FkRnJvbUNhY2hlKCkKK3sKKyAgICB2aWV3
KCktPnNldFBhZ2VFbmNvZGluZyhXZWJTdHJpbmcoKSk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBs
Ojpsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIEFTU0VS
VCghcmVxdWVzdC5pc051bGwoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oCmluZGV4IDIzZTYwZDk4MDQzMzFjODZmN2E1YjBiMWZjOGFkNGNkZGU3ZjhlMmQuLmEy
M2FlYWMyMjMyNjIzZTliNGY0NDc0Y2ZlMzdjZWU3YmJmMDg1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMjEsNiArMTIxLDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlz
RGlyZWN0b3J5KTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVD
YWNoZSk7CisgICAgdmlydHVhbCB2b2lkIHJlbG9hZEZyb21DYWNoZSgpOwogICAgIHZpcnR1YWwg
dm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lk
IGxvYWRIaXN0b3J5SXRlbShjb25zdCBXZWJIaXN0b3J5SXRlbSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBsb2FkRGF0YSgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127138</attachid>
            <date>2012-02-15 01:52:15 -0800</date>
            <delta_ts>2012-02-15 02:58:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120215185213.patch</filename>
            <type>text/plain</type>
            <size>78077</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U0OTYyMDA3MDg1NjFk
M2ZjOTM1ZmFkYzU2NjIwOTE0ZjMwNGVmMS4uMWM1MDY0YTZkYjM5ZTliNGU2NTgxOTI5ZjM5Mzcy
NWFjMTkyMDdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTAyLTE1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9ycyB0aGUgVGV4
dEVuY29kaW5nRGV0ZWN0b3IgaW50byBhIGNsYXNzIHdoaWNoIGNhbiBiZSBleGNoYW5nZWQgZGVw
ZW5kaW5nIG9uIHRoZSBkZXRlY3RvciB5b3Ugd2FudC4KKyAgICAgICAgVGhlcmUgc2hvdWxkIGJl
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtRWZs
LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6aGludEVuY29kaW5nKTogR2V0cyB0aGUgaGludEVuY29kaW5n
IHRoYXQgd2FzIHVzZWQgaW4gdGhlIGRlY29kZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6ZW5jb2RpbmdTb3VyY2UpOiBHZXRzIHRoZSBlbmNvZGluZyBzb3VyY2UuCisgICAgICAgIChE
b2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwOiBNb3Zl
ZCBLYW5qaUNvZGUgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6
OmRlY29kZSk6IFVzZSBUZXh0RW5jb2RpbmdEZXRlY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRSZXNvdXJjZURlY29kZXI6OmZsdXNoKTogVXNlIFRleHRFbmNvZGluZ0RldGVjdG9yLgorICAg
ICAgICAqIGxvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFRleHRSZXNvdXJjZURlY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJl
c291cmNlRGVjb2Rlcjo6ZW5jb2RpbmdTb3VyY2UpOiBBZGRlZC4gUmV0dXJucyB0aGUgZW5jb2Rp
bmcgc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVjb2Rlcjo6c2V0VXNl
c0VuY29kaW5nRGV0ZWN0b3IpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJj
ZURlY29kZXI6OnNldEhpbnRFbmNvZGluZyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFJlc291cmNlRGVjb2Rlcjo6aGludEVuY29kaW5nKTogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChUZXh0RW5jb2RpbmdEZXRlY3Rvcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEVuY29kaW5nRGV0ZWN0b3I6On5UZXh0RW5jb2RpbmdEZXRlY3Rvcik6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRkRGF0YSk6IENhbGxlZCB3aGVuIGFkZGluZyBk
YXRhIHRvIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNv
ZGluZ0RldGVjdG9yOjplbmREYXRhKTogQ2FsbGVkIHdoZW4gdGhlcmUgaXMgbm8gbW9yZSBkYXRh
IHNvIHRoZSBlbmNvZGluZyBkZXRlY3RvciBjYW4gbWFrZSBhIGZpbmFsIGRlY2lzaW9uLgorICAg
ICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yOjpjcmVhdGUpOiBSZXR1cm5z
IGEgbmV3IFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5jcHAuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmU6OlRleHRFbmNvZGluZ0RldGVjdG9yTm9uZSk6
CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRL
YW5qaUNvZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoS2FuamlD
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkthbmppQ29kZTo6SVNrYW5qaSk6CisgICAgICAgIChX
ZWJDb3JlOjpLYW5qaUNvZGU6OklTa2FuYSk6CisgICAgICAgIChXZWJDb3JlOjpLYW5qaUNvZGU6
Omp1ZGdlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFu
ZEthbmppQ29kZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlKTogU2hv
dWxkIG1hdGNoIHRoZSBjdXJyZW50IGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6VGV4dEVu
Y29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKTogSWYgdGhlIGRhdGEg
d2FzIGFsbCBhc2NpaSBjaGFyYWN0ZXJzLCB0aGVuIGRvbid0IHJ1biB0aGUgZW5jb2RpbmcgZGV0
ZWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRL
YW5qaUNvZGU6OmVuZERhdGEpOiBSZXR1cm5zIHRoZSBkZWZhdWx0IGVuY29kaW5nIGlmIHRoZSBk
YXRhIHdhcyBhbGwgYXNjaWkgY2hhcmFjdGVycy4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZTo6ZGV0ZWN0VGV4dEVuY29kaW5nV2l0aEth
bmppQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VB
bmRLYW5qaUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNyZWF0ZSk6IFJldHVybnMgYSBuZXcgVGV4dEVuY29k
aW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNV
QW5kS2FuamlDb2RlKToKKwogMjAxMi0wMi0xMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBzY3JvbGxpbmcgdHJlZSBuZWVkcyB0byBrbm93IGFi
b3V0IHRoZSBiYWNrIGZvcndhcmQgc3RhdGUgb2YgdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggMjhlMjFjYmQwNDgwNDJjZjkzNTRiYmFmMmRmYTkwNjA4NmUwMDk3OC4uODY1
NjI0MWVhMjY5MDMzYjEwZmMwOTc5NzdlNWM0YmViYjQwNTJhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMi0wMi0xNSAgS2Vpc2hpIEhhdHRvcmkgIDxr
ZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGRpbmcgZmVhdHVyZSB0aGF0IHN1Z2dlc3Rz
IHR1cm5pbmcgb24gdGhlIGVuY29kaW5nIGRldGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogcHVibGlj
L1dlYkRhdGFTb3VyY2UuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJEYXRhU291
cmNlKToKKyAgICAgICAgKiBwdWJsaWMvV2ViRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkRvY3Vt
ZW50KToKKyAgICAgICAgKiBwdWJsaWMvV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvci5o
LgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlRleHRFbmNvZGluZ0RldGVjdG9yKToK
KyAgICAgICAgKFdlYktpdDo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6On5XZWJUZXh0RW5jb2Rp
bmdEZXRlY3Rvcik6CisgICAgICAgICogc3JjL1dlYkRhdGFTb3VyY2VJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OmVuYWJsZUVuY29kaW5nRGV0ZWN0aW9uKTog
RW5hYmxlcyBlbmNvZGluZyBkZXRlY3Rpb24gZm9yIHRoaXMgZGF0YXNvdXJjZS4gVHVybnMgb24g
ZmxhZyBtX2VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjptYWluUmVzb3VyY2VEYXRhKTogUmV0dXJu
cyB0aGUgZGF0YSBmb3IgdGhlIG1haW4gcmVzb3VyY2UuCisgICAgICAgIChXZWJLaXQ6OldlYkRh
dGFTb3VyY2VJbXBsOjpXZWJEYXRhU291cmNlSW1wbCk6CisgICAgICAgICogc3JjL1dlYkRhdGFT
b3VyY2VJbXBsLmg6CisgICAgICAgIChXZWJEYXRhU291cmNlSW1wbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGFTb3VyY2VJbXBsOjppc0VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZCk6IFJldHVy
bnMgZmxhZyBpZiBlbmNvZGluZyBkZXRlY3Rpb24gc2hvdWxkIGJlIGVuYWJsZWQgZm9yIHRoaXMg
ZGF0YXNvdXJjZS4KKyAgICAgICAgV2ViRnJhbWVJbXBsOjpjb21taXREb2N1bWVudERhdGEgdXNl
cyB0aGlzLgorICAgICAgICAqIHNyYy9XZWJEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkRvY3VtZW50OjplbmNvZGluZ1NvdXJjZSk6IFdyYXBzIERvY3VtZW50OjplbmNvZGluZ1Nv
dXJjZSgpCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6
aGludEVuY29kaW5nKTogV3JhcHMgRG9jdW1lbnQ6OmhpbnRFbmNvZGluZygpCisgICAgICAgICog
c3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cmVs
b2FkRnJvbUNhY2hlKTogUmVsb2FkcyBmcm9tIGNhY2hlIGFuZCBvbmx5IGxvYWRzIHdoZW4gdGhl
cmUgaXMgbm8gY2FjaGUuIERhdGEgbWF5IGJlIHN0YWxlLgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjb21taXREb2N1bWVudERhdGEpOiBUdXJucyBv
biB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IgaWYgaXQgaGFzIGJlZW4gZW5hYmxlZCBpbiB0aGUgZGF0
YXNvdXJjZS4KKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJGcmFt
ZUltcGwpOgorICAgICAgICAqIHNyYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5jcHA6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JO
b25lLmNwcC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRleHRFbmNv
ZGluZ0RldGVjdG9yOjpXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcik6IFdyYXBwZXIgZm9yIFRleHRF
bmNvZGluZ0RldGVjdG9yCisgICAgICAgIChXZWJLaXQ6OldlYlRleHRFbmNvZGluZ0RldGVjdG9y
OjphZGREYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6OmVu
ZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6cmVzZXQp
OgorCiAyMDEyLTAyLTEzICBZb3NpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbRm9ybXNdIFVzZSBlbnVtIGluc3RlYWQgb2YgYm9vbCBmb3IgSFRNTElucHV0RWxl
bWVudDo6c2V0VmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk0OWNlYjEw
NzBjNjM2ZWMyMWIzMGQ5MGQ4OWFmZTBjNDk5ODkzNDguLjhmNzIzMmZjZGFiY2FjMGE5YTQ2MmY1
MTg3YmRjMDE5ZGYyYTYyNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzMz
OSw2ICszMzM5LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJy
eS5jbWFrZQppbmRleCBjZWM3ODFhNDJiYzc0ZTYwZmE4MTk0ZWU2YTEwZGJjOTZhY2Q3NWVkLi42
NTcyYjllYzhlYjUzZDcwYzg4MThkYmI5MmM2Mzg0ODdhZjI5ZGNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC04MCw3ICs4MCw3IEBAIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL3Bvc2l4L1NoYXJlZEJ1ZmZlclBPU0lYLmNwcAog
ICAgIHBsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRlcmF0b3JJQ1UuY3BwCiAgICAgcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNJQ1UuY3BwCi0gICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRl
Y3RvcklDVS5jcHAKKyAgICBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElD
VUFuZEthbmppQ29kZS5jcHAKICAgICBwbGF0Zm9ybS90ZXh0L2JsYWNrYmVycnkvVGV4dEJyZWFr
SXRlcmF0b3JJbnRlcm5hbElDVUJsYWNrQmVycnkuY3BwCiApCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggMjhmMzY0MDgwNjFkOGI2MGU1YjkzZTZlMDdhNGNmMzc4MjBmM2ZmYS4uZTQ1
NDc3ZGI2NmFlMDc4ZTlhMWU3NGYwM2I2ZGY0YjI3NGMwM2YwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1F
ZmwuY21ha2UKQEAgLTE3NSw3ICsxNzUsNyBAQCBFTkRJRiAoKQogSUYgKFdURl9VU0VfSUNVX1VO
SUNPREUpCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGVkaXRpbmcvU21hcnRS
ZXBsYWNlSUNVLmNwcAotICAgIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1Uu
Y3BwCisgICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5q
aUNvZGUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9UZXh0QnJlYWtJdGVyYXRvcklDVS5jcHAKICAg
ICBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKICAgKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDlkM2Y4MmMxOTQ0MzcyYmJhOTdiODRlYjU1ZmUzODIwNDBjMmZiOWMuLjE5YTQ5YTUzM2ZiNjZh
OTMxNjIyMjBkMDExOGEzMmVmYmZhMTZlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQwOTAsOCAr
NDA5MCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVc2VyRGVmaW5l
ZC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvci5oJywKLSAgICAg
ICAgICAgICdwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9ySUNVLmNwcCcsCi0gICAg
ICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmUuY3BwJywKKyAg
ICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEth
bmppQ29kZS5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0
ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1Rl
eHRTdHJlYW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1VuaWNvZGVSYW5nZS5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGZkYWM4OGNlYTgyOTM2NDQxNmIwNGRmODBiYjBmZWE4OWExOTdjYTcuLmEzZDZk
Nzg4ZjVkNmRhNTZhYWNhN2E1YTEzZjA1ZWUxZmUwNzg1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU1MDQsMTAgKzU1MDQs
MTEgQEAKIAkJQzBDMDU0Q0UxMTE4QzhFNDAwQ0UyNjM2IC8qIElETFN0cnVjdHVyZS5wbSBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjhCMzA4MEEzMDBG
RUEwMEY2MUFCOCAvKiBJRExTdHJ1Y3R1cmUucG0gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzBERkM4NzAwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29u
c29sZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMERGQzg2RjBEQjY4NDFBMDAzRUFFN0MgLyogSlNDb25zb2xlQ3VzdG9tLmNwcCAqLzsg
fTsKIAkJQzBGMkE0NDExMzg2OUFBQjAwNjZDNTM0IC8qIHByZXByb2Nlc3Nvci5wbSBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwRjJBNDNGMTM4NjlBMjgw
MDY2QzUzNCAvKiBwcmVwcm9jZXNzb3IucG0gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJQzEwNURBNjIwRjNBQTY4RjAwMURENDRGIC8qIFRleHRFbmNv
ZGluZ0RldGVjdG9ySUNVLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMxMDVEQTYxMEYzQUE2OEYwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3Rv
cklDVS5jcHAgKi87IH07CiAJCUMxMDVEQTY0MEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2Rp
bmdEZXRlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzEwNURBNjMwRjNBQTZCODAwMURENDRGIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yLmggKi87
IH07CiAJCUMzMzBBMjIzMTNFQzE5NkIwMDAwQjQ1QiAvKiBDb2xvckNob29zZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzMzBBMjIxMTNFQzE5NkIw
MDAwQjQ1QiAvKiBDb2xvckNob29zZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDMzdDREVCRDE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JDaG9v
c2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMzdDREVCQzE0OUVGMjAzMDA0MjA5MEQgLyogQ29sb3JDaG9vc2VyQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzNBMDg4QjIxNEU5
NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDM0EwODhC
MDE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlD
b2RlLmNwcCAqLzsgfTsKKwkJQzNBMDg4QjMxNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGlu
Z0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzNBMDg4QjExNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oICovOyB9OwogCQlDNTBCNTYxNjEyMTE5
RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTBCNTYxNDEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBT
ZXR0aW5ncy5jcHAgKi87IH07CiAJCUM1MEI1NjE3MTIxMTlEMjMwMDhCNDZFMCAvKiBHcm91cFNl
dHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTBCNTYxNTEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM1MEQwRTgyMEZGNDI3MjkwMEFD
MjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM1MEQwRTgwMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFt
ZXNwYWNlLmNwcCAqLzsgfTsKQEAgLTEyNDQ2LDEwICsxMjQ0NywxMSBAQAogCQlDMDQ2RTFBQjEy
MDhBOUZFMDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbGl6ZWRTdHJpbmdzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzBERkM4NkYwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29uc29sZUN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbnNvbGVDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEYyQTQzRjEzODY5QTI4MDA2
NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IHByZXByb2Nlc3Nvci5w
bTsgcGF0aCA9IHNjcmlwdHMvcHJlcHJvY2Vzc29yLnBtOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDMTA1REE2MTBGM0FBNjhGMDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JJ
Q1UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dEVuY29kaW5n
RGV0ZWN0b3JJQ1UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTA1REE2MzBG
M0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzMzMEEyMjExM0VDMTk2QjAwMDBCNDVCIC8qIENvbG9yQ2hvb3Nlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xvckNob29zZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9y
Q2hvb3NlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xvckNo
b29zZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzNBMDg4QjAxNEU5
NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0RW5jb2RpbmdEZXRl
Y3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDM0EwODhCMTE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNV
QW5kS2FuamlDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNTBCNTYxNDEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHcm91cFNldHRpbmdzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzUwQjU2MTUxMjExOUQyMzAwOEI0NkUwIC8qIEdy
b3VwU2V0dGluZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR3JvdXBTZXR0
aW5ncy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTBEMEU4MDBGRjQyNzI5MDBB
QzI2NDQgLyogU3RvcmFnZU5hbWVzcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdG9yYWdlTmFtZXNwYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE4OTkzLDcgKzE4OTk1LDggQEAKIAkJCQlCMkMzREExNjBEMDA2QzFEMDBFRjZGMjYg
LyogVGV4dEVuY29kaW5nLmNwcCAqLywKIAkJCQlCMkMzREExNzBEMDA2QzFEMDBFRjZGMjYgLyog
VGV4dEVuY29kaW5nLmggKi8sCiAJCQkJQzEwNURBNjMwRjNBQTZCODAwMURENDRGIC8qIFRleHRF
bmNvZGluZ0RldGVjdG9yLmggKi8sCi0JCQkJQzEwNURBNjEwRjNBQTY4RjAwMURENDRGIC8qIFRl
eHRFbmNvZGluZ0RldGVjdG9ySUNVLmNwcCAqLywKKwkJCQlDM0EwODhCMDE0RTk1NUUyMDA0QUE5
MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmNwcCAqLywKKwkJ
CQlDM0EwODhCMTE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNV
QW5kS2FuamlDb2RlLmggKi8sCiAJCQkJQjJDM0RBMTgwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRF
bmNvZGluZ1JlZ2lzdHJ5LmNwcCAqLywKIAkJCQlCMkMzREExOTBEMDA2QzFEMDBFRjZGMjYgLyog
VGV4dEVuY29kaW5nUmVnaXN0cnkuaCAqLywKIAkJCQlCQ0QzRjk4MjEzMjZDOTM3MDAwOThBNjAg
LyogVGV4dE9yaWVudGF0aW9uLmggKi8sCkBAIC0yNDE5NCw2ICsyNDE5Nyw3IEBACiAJCQkJNEFE
RTI1RkExNEUzQkI0QzAwNEMyMjEzIC8qIFdlYlNvY2tldEV4dGVuc2lvblByb2Nlc3Nvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTcyRTkyRkMxNEU1NDA1ODAwODdGRkJBIC8qIFNoYWRvd1Jvb3RM
aXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0NDM0FFMzE0RThFNEEyMDA4OTQ5ODggLyogTmF2
aWdhdG9yU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzNBMDg4QjMxNEU5NTVFMjAw
NEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0yNjkyNyw3ICsyNjkzMSw2IEBACiAJCQkJOTdCQzg0QjMxMjM3MTE4MDAw
MEM2MTYxIC8qIFRleHREb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0JDODQ4MzEy
MzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyQzNEQTQ2MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJQzEwNURBNjIwRjNBQTY4RjAwMURENDRGIC8qIFRleHRFbmNvZGluZ0RldGVj
dG9ySUNVLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTQ4MEQwMDZDMUQwMEVGNkYyNiAv
KiBUZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzNBMTQyRTBC
N0QxODg2MDBBNTNGRkQgLyogVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIz
REQ3MTI1MUYxMkQwMDNFRjI2OSAvKiBUZXh0RmllbGRJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNzEzNiw2ICsyNzEzOSw3IEBACiAJCQkJNEE5NTdGMDYxNEUyNDEyQTAwNDlEQkZC
IC8qIFdlYlNvY2tldEV4dGVuc2lvbkRpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTcyRTkyRkIxNEU1NDA1ODAwODdGRkJBIC8qIFNoYWRvd1Jvb3RMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk3Q0MzQUUyMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUMzQTA4OEIyMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0
RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IGE0YmRhZDY4NWNjMzRkY2UyZGIwNmM2MjA3OWNiZGM5ZjUx
NGNlYzIuLjU3OTA5NmU1YzkxMzczZjQyOWE0MDBjMGVlNDFmNmViN2E0NWVjODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiU3RyaW5n
V2l0aERpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgogI2luY2x1ZGUgIlZpZXdwb3J0
QXJndW1lbnRzLmgiCkBAIC05ODcsNiArOTg4LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVj
b2RlcihQYXNzUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+KTsKICAgICBUZXh0UmVzb3VyY2VE
ZWNvZGVyKiBkZWNvZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZWNvZGVyLmdldCgpOyB9CiAKKyAg
ICBjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZGVj
b2Rlci0+aGludEVuY29kaW5nKCk7IH0KKyAgICBUZXh0UmVzb3VyY2VEZWNvZGVyOjpFbmNvZGlu
Z1NvdXJjZSBlbmNvZGluZ1NvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2Rlci0+ZW5jb2Rp
bmdTb3VyY2UoKTsgfQorCiAgICAgU3RyaW5nIGRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2Rp
bmcoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBkaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pIGNvbnN0
OwogICAgIHZvaWQgZGlzcGxheUJ1ZmZlck1vZGlmaWVkQnlFbmNvZGluZyhVQ2hhciogYnVmZmVy
LCB1bnNpZ25lZCBsZW4pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RleHRSZXNvdXJjZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuY3BwCmluZGV4IGM4MTk4ZTMwNDc2Y2ZmNTFiMjg2MDE2OTkyMDg2NjA3Nzg5
NDRmZDYuLmE1MjAxODcyZDdmMDM1MzY3ZDRjOWI3NzMxYTA0NmZjNDEwYzdmMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAKQEAgLTcwLDIxNSAr
NzAsNiBAQCBzdGF0aWMgVGV4dEVuY29kaW5nIGZpbmRUZXh0RW5jb2RpbmcoY29uc3QgY2hhciog
ZW5jb2RpbmdOYW1lLCBpbnQgbGVuZ3RoKQogICAgIHJldHVybiBidWZmZXIuZGF0YSgpOwogfQog
Ci1jbGFzcyBLYW5qaUNvZGUgewotcHVibGljOgotICAgIGVudW0gVHlwZSB7IEFTQ0lJLCBKSVMs
IEVVQywgU0pJUywgVVRGMTYsIFVURjggfTsKLSAgICBzdGF0aWMgZW51bSBUeXBlIGp1ZGdlKGNv
bnN0IGNoYXIqIHN0ciwgaW50IGxlbmd0aCk7Ci0gICAgc3RhdGljIGNvbnN0IGludCBFU0MgPSAw
eDFiOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHNqaXNNYXBbMjU2XTsKLSAgICBz
dGF0aWMgaW50IElTa2FuamkoaW50IGNvZGUpCi0gICAgewotICAgICAgICBpZiAoY29kZSA+PSAw
eDEwMCkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4gc2ppc01hcFtjb2Rl
ICYgMHhmZl0gJiAxOwotICAgIH0KLSAgICBzdGF0aWMgaW50IElTa2FuYShpbnQgY29kZSkKLSAg
ICB7Ci0gICAgICAgIGlmIChjb2RlID49IDB4MTAwKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgICAgIHJldHVybiBzamlzTWFwW2NvZGUgJiAweGZmXSAmIDI7Ci0gICAgfQotfTsKLQotY29u
c3QgdW5zaWduZWQgY2hhciBLYW5qaUNvZGU6OnNqaXNNYXBbMjU2XSA9IHsKLSAgICAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsCi0gICAgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLAotICAgIDAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIs
Ci0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwKLSAg
ICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLAotICAgIDIs
IDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsCi0gICAgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLSAgICAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwCi19OwotCi0vKgotICogRVVDLUpQ
IGlzCi0gKiAgICAgWzB4YTEgLSAweGZlXVsweGExIC0gMHhmZV0KLSAqICAgICAweDhlWzB4YTEg
LSAweGZlXShTUzIpCi0gKiAgICAgMHg4ZlsweGExIC0gMHhmZV1bMHhhMSAtIDB4ZmVdKFNTMykK
LSAqCi0gKiBTaGlmdF9KaXMgaXMKLSAqICAgICBbMHg4MSAtIDB4OWYsIDB4ZTAgLSAweGVmKDB4
ZmU/KV1bMHg0MCAtIDB4N2UsIDB4ODAgLSAweGZjXQotICoKLSAqIFNoaWZ0X0ppcyBIYW5rYWt1
IEthbmEgaXMKLSAqICAgICBbMHhhMSAtIDB4ZGZdCi0gKi8KLQotLyoKLSAqIEthbmppQ29kZTo6
anVkZ2UoKSBpcyBiYXNlZCBvbiBqdWRnZV9qY29kZSgpIGZyb20ganZpbQotICogICAgIGh0dHA6
Ly9ocC52ZWN0b3IuY28uanAvYXV0aG9ycy9WQTAwMzQ1Ny92aW0vCi0gKgotICogU3BlY2lhbCBU
aGFua3MgdG8gS2VuaWNoaSBUc3VjaGlkYQotICovCi0KLWVudW0gS2FuamlDb2RlOjpUeXBlIEth
bmppQ29kZTo6anVkZ2UoY29uc3QgY2hhciogc3RyLCBpbnQgc2l6ZSkKLXsKLSAgICBlbnVtIFR5
cGUgY29kZTsKLSAgICBpbnQgaTsKLSAgICBpbnQgYmZyID0gZmFsc2U7ICAgICAgICAgICAgLyog
S2FuYSBNb2ppICovCi0gICAgaW50IGJmayA9IDA7ICAgICAgICAgICAgICAgIC8qIEVVQyBLYW5h
ICovCi0gICAgaW50IHNqaXMgPSAwOwotICAgIGludCBldWMgPSAwOwotCi0gICAgY29uc3QgdW5z
aWduZWQgY2hhciogcHRyID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4o
c3RyKTsKLQotICAgIGNvZGUgPSBBU0NJSTsKLQotICAgIGkgPSAwOwotICAgIHdoaWxlIChpIDwg
c2l6ZSkgewotICAgICAgICBpZiAocHRyW2ldID09IEVTQyAmJiAoc2l6ZSAtIGkgPj0gMykpIHsK
LSAgICAgICAgICAgIGlmICgocHRyW2kgKyAxXSA9PSAnJCcgJiYgcHRyW2kgKyAyXSA9PSAnQicp
Ci0gICAgICAgICAgICB8fCAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAyXSA9PSAnQicp
KSB7Ci0gICAgICAgICAgICAgICAgY29kZSA9IEpJUzsKLSAgICAgICAgICAgICAgICBnb3RvIGJy
ZWFrQnJlYWs7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKChwdHJbaSArIDFdID09ICckJyAmJiBw
dHJbaSArIDJdID09ICdAJykKLSAgICAgICAgICAgICAgICAgICAgfHwgKHB0cltpICsgMV0gPT0g
JygnICYmIHB0cltpICsgMl0gPT0gJ0onKSkgewotICAgICAgICAgICAgICAgIGNvZGUgPSBKSVM7
Ci0gICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgfSBlbHNlIGlm
IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdJJykgewotICAgICAgICAgICAg
ICAgIGNvZGUgPSBKSVM7Ci0gICAgICAgICAgICAgICAgaSArPSAzOwotICAgICAgICAgICAgfSBl
bHNlIGlmIChwdHJbaSArIDFdID09ICcpJyAmJiBwdHJbaSArIDJdID09ICdJJykgewotICAgICAg
ICAgICAgICAgIGNvZGUgPSBKSVM7Ci0gICAgICAgICAgICAgICAgaSArPSAzOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBiZnIgPSBmYWxzZTsKLSAgICAgICAgICAgIGJmayA9IDA7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBpZiAocHRyW2ldIDwgMHgyMCkgewotICAgICAgICAgICAgICAgIGJmciA9
IGZhbHNlOwotICAgICAgICAgICAgICAgIGJmayA9IDA7Ci0gICAgICAgICAgICAgICAgLyogPz8g
Y2hlY2sga3Vkb2t1dGVuID8/ICYmID8/IGhpcmFnYW5hID8/ICovCi0gICAgICAgICAgICAgICAg
aWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4ODEpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAmJiAoMHg0MSA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHg0OSkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7Ci0gICAgICAgICAgICAgICAgICAgIHNqaXMg
Kz0gMTAwOyAgICAgICAgLyoga3Vkb2t1dGVuICovCi0gICAgICAgICAgICAgICAgfSBlbHNlIGlm
ICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweGExKQotICAgICAgICAgICAgICAgICAgICAg
ICAgJiYgKDB4YTIgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4YWEpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7Ci0gICAgICAgICAgICAgICAgICAgIGV1YyArPSAx
MDA7ICAgICAgICAgLyoga3Vkb2t1dGVuICovCi0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgo
aSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweDgyKSAmJiAoMHhhMCA8PSBwdHJbaSAtIDFdKSkg
ewotICAgICAgICAgICAgICAgICAgICBzamlzICs9IDQwOyAgICAgICAgIC8qIGhpcmFnYW5hICov
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAw
eGE0KSAmJiAoMHhhMCA8PSBwdHJbaSAtIDFdKSkgewotICAgICAgICAgICAgICAgICAgICBldWMg
Kz0gNDA7ICAgICAgICAgIC8qIGhpcmFnYW5hICovCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvKiA/PyBjaGVjayBoaXJhZ2FuYSBvciBr
YXRhbmEgPz8gKi8KLSAgICAgICAgICAgICAgICBpZiAoKHNpemUgLSBpID4gMSkgJiYgKHB0cltp
XSA9PSAweDgyKSAmJiAoMHhhMCA8PSBwdHJbaSArIDFdKSkgewotICAgICAgICAgICAgICAgICAg
ICBzamlzKys7ICAgICAvKiBoaXJhZ2FuYSAqLwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
KHNpemUgLSBpID4gMSkgJiYgKHB0cltpXSA9PSAweDgzKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICYmICgweDQwIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweDlmKSkgewotICAg
ICAgICAgICAgICAgICAgICBzamlzKys7ICAgICAvKiBrYXRha2FuYSAqLwotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoKHNpemUgLSBpID4gMSkgJiYgKHB0cltpXSA9PSAweGE0KSAmJiAoMHhh
MCA8PSBwdHJbaSArIDFdKSkgewotICAgICAgICAgICAgICAgICAgICBldWMrKzsgICAgICAvKiBo
aXJhZ2FuYSAqLwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHNpemUgLSBpID4gMSkgJiYg
KHB0cltpXSA9PSAweGE1KSAmJiAoMHhhMCA8PSBwdHJbaSArIDFdKSkgewotICAgICAgICAgICAg
ICAgICAgICBldWMrKzsgICAgICAvKiBrYXRha2FuYSAqLwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBpZiAoYmZyKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgoaSA+PSAx
KSAmJiAoMHg0MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4YTApICYmIElTa2FuamkocHRyW2kg
LSAxXSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKChpID49IDEpICYmICgweDgxIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAw
eDlmKSAmJiAoKDB4NDAgPD0gcHRyW2ldICYmIHB0cltpXSA8IDB4N2UpIHx8ICgweDdlIDwgcHRy
W2ldICYmIHB0cltpXSA8PSAweGZjKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUg
PSBTSklTOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDEpICYmICgweGZkIDw9IHB0cltpXSAmJiBw
dHJbaV0gPD0gMHhmZSkgJiYgKDB4YTEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4
ZmUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gRVVDOwotICAgICAgICAgICAg
ICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKChpID49IDEpICYmICgweGZkIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZl
KSAmJiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjb2RlID0gRVVDOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVh
a0JyZWFrOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDEpICYmIChwdHJb
aV0gPCAweGEwIHx8IDB4ZGYgPCBwdHJbaV0pICYmICgweDhlID09IHB0cltpIC0gMV0pKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdHJb
aV0gPD0gMHg3ZikgewotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoMHhhMSA8PSBwdHJbaV0gJiYg
cHRyW2ldIDw9IDB4YTYpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBldWMrKzsgICAg
ICAvKiBzamlzIGhhbmtha3Uga2FuYSBraWdvICovCi0gICAgICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGRmKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAgLyogc2ppcyBoYW5rYWt1IGthbmEgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ld
IDw9IDB4ZmUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBldWMrKzsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0pIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBldWMrKzsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoMHgyMCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzamlzKys7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBiZnIgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJmayA9
IDA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4
OGUgPT0gcHRyW2ldKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzaXplIC0gaSA8PSAxKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICA7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoMHhhMSA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhkZikgewotICAgICAgICAg
ICAgICAgICAgICAgICAgLyogRVVDIEtBTkEgb3IgU0pJUyBLQU5KSSAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGJmayA9PSAxKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXVjICs9IDEwMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJmaysrOwotICAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgLyogU0pJUyBvbmx5ICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoMHg4MSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4OWYpIHsKLSAg
ICAgICAgICAgICAgICAgICAgLyogU0pJUyBvbmx5ICovCi0gICAgICAgICAgICAgICAgICAgIGNv
ZGUgPSBTSklTOwotICAgICAgICAgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49IDEpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgKCgweDQwIDw9IHB0cltpICsgMV0gJiYgcHRyW2kg
KyAxXSA8PSAweDdlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgweDgwIDw9IHB0
cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweGZjKSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgLyogRVVDIG9ubHkgKi8KLSAgICAgICAgICAgICAgICAgICAgY29kZSA9
IEVVQzsKLSAgICAgICAgICAgICAgICAgICAgaWYgKChzaXplIC0gaSA+PSAxKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICYmICgweGExIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8
PSAweGZlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdHJbaV0gPD0g
MHg3ZikgewotICAgICAgICAgICAgICAgICAgICA7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgYmZyID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgYmZr
ID0gMDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpKys7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKGNvZGUgPT0gQVNDSUkpIHsKLSAgICAgICAgaWYg
KHNqaXMgPiBldWMpIHsKLSAgICAgICAgICAgIGNvZGUgPSBTSklTOwotICAgICAgICB9IGVsc2Ug
aWYgKHNqaXMgPCBldWMpIHsKLSAgICAgICAgICAgIGNvZGUgPSBFVUM7Ci0gICAgICAgIH0KLSAg
ICB9Ci1icmVha0JyZWFrOgotICAgIHJldHVybiAoY29kZSk7Ci19Ci0KIFRleHRSZXNvdXJjZURl
Y29kZXI6OkNvbnRlbnRUeXBlIFRleHRSZXNvdXJjZURlY29kZXI6OmRldGVybWluZUNvbnRlbnRU
eXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG1pbWVUeXBlLCAidGV4dC9jc3MiKSkKQEAgLTMwNSw3ICs5Niw3IEBAIFRleHRSZXNvdXJjZURl
Y29kZXI6OlRleHRSZXNvdXJjZURlY29kZXIoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3Qg
VGV4dEVuY29kCiAgICAgOiBtX2NvbnRlbnRUeXBlKGRldGVybWluZUNvbnRlbnRUeXBlKG1pbWVU
eXBlKSkKICAgICAsIG1fZW5jb2RpbmcoZGVmYXVsdEVuY29kaW5nKG1fY29udGVudFR5cGUsIHNw
ZWNpZmllZERlZmF1bHRFbmNvZGluZykpCiAgICAgLCBtX3NvdXJjZShEZWZhdWx0RW5jb2Rpbmcp
Ci0gICAgLCBtX2hpbnRFbmNvZGluZygwKQorICAgICwgbV9oaW50RW5jb2RpbmcoKQogICAgICwg
bV9jaGVja2VkRm9yQk9NKGZhbHNlKQogICAgICwgbV9jaGVja2VkRm9yQ1NTQ2hhcnNldChmYWxz
ZSkKICAgICAsIG1fY2hlY2tlZEZvckhlYWRDaGFyc2V0KGZhbHNlKQpAQCAtNTg2LDI1ICszNzcs
NiBAQCBib29sIFRleHRSZXNvdXJjZURlY29kZXI6OmNoZWNrRm9yTWV0YUNoYXJzZXQoY29uc3Qg
Y2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBU
ZXh0UmVzb3VyY2VEZWNvZGVyOjpkZXRlY3RKYXBhbmVzZUVuY29kaW5nKGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW4pCi17Ci0gICAgc3dpdGNoIChLYW5qaUNvZGU6Omp1ZGdlKGRhdGEsIGxl
bikpIHsKLSAgICAgICAgY2FzZSBLYW5qaUNvZGU6OkpJUzoKLSAgICAgICAgICAgIHNldEVuY29k
aW5nKCJJU08tMjAyMi1KUCIsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEthbmppQ29kZTo6RVVDOgotICAgICAgICAgICAgc2V0RW5jb2Rp
bmcoIkVVQy1KUCIsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEthbmppQ29kZTo6U0pJUzoKLSAgICAgICAgICAgIHNldEVuY29kaW5nKCJT
aGlmdF9KSVMiLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBLYW5qaUNvZGU6OkFTQ0lJOgotICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRG
MTY6Ci0gICAgICAgIGNhc2UgS2FuamlDb2RlOjpVVEY4OgotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgfQotfQotCiAvLyBXZSB1c2UgdGhlIGVuY29kaW5nIGRldGVjdG9yIGluIHR3byBjYXNlczoK
IC8vICAgMS4gRW5jb2RpbmcgZGV0ZWN0b3IgaXMgdHVybmVkIE9OIGFuZCBubyBvdGhlciBlbmNv
ZGluZyBzb3VyY2UgaXMKIC8vICAgICAgYXZhaWxhYmxlICh0aGF0IGlzLCBpdCdzIERlZmF1bHRF
bmNvZGluZykuCkBAIC02MTksNyArMzkxLDcgQEAgYm9vbCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpz
aG91bGRBdXRvRGV0ZWN0KCkgY29uc3QKICAgICAvLyBKdXN0IGNoZWNraW5nIG1faGludEVuY29k
aW5nIHN1ZmZpY2VzIGhlcmUgYmVjYXVzZSBpdCdzIG9ubHkgc2V0CiAgICAgLy8gaW4gc2V0SGlu
dEVuY29kaW5nIHdoZW4gdGhlIHNvdXJjZSBpcyBBdXRvRGV0ZWN0ZWRFbmNvZGluZy4KICAgICBy
ZXR1cm4gbV91c2VzRW5jb2RpbmdEZXRlY3RvcgotICAgICAgICAmJiAobV9zb3VyY2UgPT0gRGVm
YXVsdEVuY29kaW5nIHx8IChtX3NvdXJjZSA9PSBFbmNvZGluZ0Zyb21QYXJlbnRGcmFtZSAmJiBt
X2hpbnRFbmNvZGluZykpOyAKKyAgICAgICAgJiYgKG1fc291cmNlID09IERlZmF1bHRFbmNvZGlu
ZyB8fCAobV9zb3VyY2UgPT0gRW5jb2RpbmdGcm9tUGFyZW50RnJhbWUgJiYgbV9oaW50RW5jb2Rp
bmcpKTsKIH0KIAogU3RyaW5nIFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFy
KiBkYXRhLCBzaXplX3QgbGVuKQpAQCAtNjM4LDE1ICs0MTAsMTYgQEAgU3RyaW5nIFRleHRSZXNv
dXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQogICAgICAg
ICBpZiAoIWNoZWNrRm9ySGVhZENoYXJzZXQoZGF0YSwgbGVuLCBtb3ZlZERhdGFUb0J1ZmZlcikp
CiAgICAgICAgICAgICByZXR1cm4gIiI7CiAKLSAgICAvLyBGSVhNRTogSXQgaXMgd3JvbmcgdG8g
Y2hhbmdlIHRoZSBlbmNvZGluZyBkb3duc3RyZWFtIGFmdGVyIHdlIGhhdmUgYWxyZWFkeSBkb25l
IHNvbWUgZGVjb2RpbmcuCiAgICAgaWYgKHNob3VsZEF1dG9EZXRlY3QoKSkgewotICAgICAgICBp
ZiAobV9lbmNvZGluZy5pc0phcGFuZXNlKCkpCi0gICAgICAgICAgICBkZXRlY3RKYXBhbmVzZUVu
Y29kaW5nKGRhdGEsIGxlbik7IC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGRldGVjdFRleHRFbmNv
ZGluZygpIGZvciBhbGwgbGFuZ3VhZ2VzLgotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFRl
eHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOwotICAgICAgICAgICAgaWYgKGRldGVjdFRleHRF
bmNvZGluZyhkYXRhLCBsZW4sIG1faGludEVuY29kaW5nLCAmZGV0ZWN0ZWRFbmNvZGluZykpCi0g
ICAgICAgICAgICAgICAgc2V0RW5jb2RpbmcoZGV0ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVk
RW5jb2RpbmcpOwotICAgICAgICB9CisgICAgICAgIGlmICghbV9lbmNvZGluZ0RldGVjdG9yKQor
ICAgICAgICAgICAgbV9lbmNvZGluZ0RldGVjdG9yID0gVGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNy
ZWF0ZShtX2hpbnRFbmNvZGluZywgbV9lbmNvZGluZyk7CisKKyAgICAgICAgVGV4dEVuY29kaW5n
IGRldGVjdGVkRW5jb2RpbmcgPSBtX2VuY29kaW5nRGV0ZWN0b3ItPmFkZERhdGEoZGF0YSwgbGVu
KTsKKyAgICAgICAgaWYgKGRldGVjdGVkRW5jb2RpbmcuaXNWYWxpZCgpKSB7CisgICAgICAgICAg
ICBzZXRFbmNvZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Cisg
ICAgICAgICAgICBtX2VuY29kaW5nRGV0ZWN0b3IuY2xlYXIoKTsKKyAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgfQogCiAgICAgQVNTRVJUKG1fZW5jb2RpbmcuaXNW
YWxpZCgpKTsKQEAgLTY3MCwyMSArNDQzLDI3IEBAIFN0cmluZyBUZXh0UmVzb3VyY2VEZWNvZGVy
OjpkZWNvZGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbikKIAogU3RyaW5nIFRleHRSZXNv
dXJjZURlY29kZXI6OmZsdXNoKCkKIHsKLSAgIC8vIElmIHdlIGNhbiBub3QgaWRlbnRpZnkgdGhl
IGVuY29kaW5nIGV2ZW4gYWZ0ZXIgYSBkb2N1bWVudCBpcyBjb21wbGV0ZWx5Ci0gICAvLyBsb2Fk
ZWQsIHdlIG5lZWQgdG8gZGV0ZWN0IHRoZSBlbmNvZGluZyBpZiBvdGhlciBjb25kaXRpb25zIGZv
cgotICAgLy8gYXV0b2RldGVjdGlvbiBpcyBzYXRpc2ZpZWQuCisgICAgLy8gSWYgd2UgY2FuIG5v
dCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgZXZlbiBhZnRlciBhIGRvY3VtZW50IGlzIGNvbXBsZXRl
bHkKKyAgICAvLyBsb2FkZWQsIHdlIG5lZWQgdG8gZGV0ZWN0IHRoZSBlbmNvZGluZyBpZiBvdGhl
ciBjb25kaXRpb25zIGZvcgorICAgIC8vIGF1dG9kZXRlY3Rpb24gaXMgc2F0aXNmaWVkLgogICAg
IGlmIChtX2J1ZmZlci5zaXplKCkgJiYgc2hvdWxkQXV0b0RldGVjdCgpCiAgICAgICAgICYmICgo
IW1fY2hlY2tlZEZvckhlYWRDaGFyc2V0ICYmIChtX2NvbnRlbnRUeXBlID09IEhUTUwgfHwgbV9j
b250ZW50VHlwZSA9PSBYTUwpKSB8fCAoIW1fY2hlY2tlZEZvckNTU0NoYXJzZXQgJiYgKG1fY29u
dGVudFR5cGUgPT0gQ1NTKSkpKSB7Ci0gICAgICAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNv
ZGluZzsKLSAgICAgICAgIGlmIChkZXRlY3RUZXh0RW5jb2RpbmcobV9idWZmZXIuZGF0YSgpLCBt
X2J1ZmZlci5zaXplKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faGludEVu
Y29kaW5nLCAmZGV0ZWN0ZWRFbmNvZGluZykpCi0gICAgICAgICAgICAgc2V0RW5jb2RpbmcoZGV0
ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVkRW5jb2RpbmcpOworICAgICAgICBUZXh0RW5jb2Rp
bmcgZGV0ZWN0ZWRFbmNvZGluZzsKKyAgICAgICAgaWYgKCFtX2VuY29kaW5nRGV0ZWN0b3IpIHsK
KyAgICAgICAgICAgIG1fZW5jb2RpbmdEZXRlY3RvciA9IFRleHRFbmNvZGluZ0RldGVjdG9yOjpj
cmVhdGUobV9oaW50RW5jb2RpbmcsIG1fZW5jb2RpbmcpOworICAgICAgICAgICAgZGV0ZWN0ZWRF
bmNvZGluZyA9IG1fZW5jb2RpbmdEZXRlY3Rvci0+YWRkRGF0YShtX2J1ZmZlci5kYXRhKCksIG1f
YnVmZmVyLnNpemUoKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFkZXRlY3RlZEVuY29kaW5n
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGRldGVjdGVkRW5jb2RpbmcgPSBtX2VuY29kaW5nRGV0
ZWN0b3ItPmVuZERhdGEoKTsKKyAgICAgICAgaWYgKGRldGVjdGVkRW5jb2RpbmcuaXNWYWxpZCgp
KQorICAgICAgICAgICAgc2V0RW5jb2RpbmcoZGV0ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVk
RW5jb2RpbmcpOwogICAgIH0KIAogICAgIGlmICghbV9jb2RlYykKICAgICAgICAgbV9jb2RlYyA9
IG5ld1RleHRDb2RlYyhtX2VuY29kaW5nKTsKIAogICAgIFN0cmluZyByZXN1bHQgPSBtX2NvZGVj
LT5kZWNvZGUobV9idWZmZXIuZGF0YSgpLCBtX2J1ZmZlci5zaXplKCksIHRydWUsIG1fY29udGVu
dFR5cGUgPT0gWE1MICYmICFtX3VzZUxlbmllbnRYTUxEZWNvZGluZywgbV9zYXdFcnJvcik7Cisg
ICAgbV9lbmNvZGluZ0RldGVjdG9yLmNsZWFyKCk7CiAgICAgbV9idWZmZXIuY2xlYXIoKTsKICAg
ICBtX2NvZGVjLmNsZWFyKCk7CiAgICAgbV9jaGVja2VkRm9yQk9NID0gZmFsc2U7IC8vIFNraXAg
Qk9NIGFnYWluIHdoZW4gcmUtZGVjb2RpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRS
ZXNvdXJjZURlY29kZXIuaAppbmRleCA3NzExODVmYjRkNTczMDM4ZjcwZjcyMWJhYWRjMTE4NTRj
YTUyYzcxLi5lMWIyNTcyMDI0NWI0Zjc2Yzc5Y2YzNzRiOWZlMGIxNzNlMGYyZmUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgKQEAgLTI5LDYgKzI5LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTE1ldGFDaGFyc2V0UGFyc2VyOwor
Y2xhc3MgVGV4dEVuY29kaW5nRGV0ZWN0b3I7CiAKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxUZXh0UmVzb3VyY2VEZWNvZGVyPiB7CiBwdWJsaWM6CkBAIC01
Miw2ICs1MywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmNvZGluZyhjb25zdCBUZXh0RW5j
b2RpbmcmLCBFbmNvZGluZ1NvdXJjZSk7CiAgICAgY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2Rpbmc7IH0KIAorICAgIEVuY29kaW5nU291cmNlIGVu
Y29kaW5nU291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0KKworICAgIHZvaWQgc2V0
VXNlc0VuY29kaW5nRGV0ZWN0b3IoYm9vbCB1c2VzRW5jb2RpbmdEZXRlY3RvcikgeyBtX3VzZXNF
bmNvZGluZ0RldGVjdG9yID0gdXNlc0VuY29kaW5nRGV0ZWN0b3I7IH0KKwogICAgIFN0cmluZyBk
ZWNvZGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7CiAgICAgU3RyaW5nIGZsdXNo
KCk7CiAKQEAgLTYwLDkgKzY1LDEwIEBAIHB1YmxpYzoKICAgICAgICAgLy8gaGludEVuY29kaW5n
IGlzIGZvciB1c2Ugd2l0aCBhdXRvZGV0ZWN0aW9uLCB3aGljaCBzaG91bGQgYmUgCiAgICAgICAg
IC8vIG9ubHkgaW52b2tlZCB3aGVuIGhpbnRFbmNvZGluZyBjb21lcyBmcm9tIGF1dG8tZGV0ZWN0
aW9uLgogICAgICAgICBpZiAoaGludERlY29kZXIgJiYgaGludERlY29kZXItPm1fc291cmNlID09
IEF1dG9EZXRlY3RlZEVuY29kaW5nKQotICAgICAgICAgICAgbV9oaW50RW5jb2RpbmcgPSBoaW50
RGVjb2Rlci0+ZW5jb2RpbmcoKS5uYW1lKCk7CisgICAgICAgICAgICBtX2hpbnRFbmNvZGluZyA9
IFRleHRFbmNvZGluZyhoaW50RGVjb2Rlci0+ZW5jb2RpbmcoKS5uYW1lKCkpOwogICAgIH0KLSAg
IAorICAgIGNvbnN0IFRleHRFbmNvZGluZyYgaGludEVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9oaW50RW5jb2Rpbmc7IH0KKwogICAgIHZvaWQgdXNlTGVuaWVudFhNTERlY29kaW5nKCkgeyBt
X3VzZUxlbmllbnRYTUxEZWNvZGluZyA9IHRydWU7IH0KICAgICBib29sIHNhd0Vycm9yKCkgY29u
c3QgeyByZXR1cm4gbV9zYXdFcnJvcjsgfQogCkBAIC03OCwxNCArODQsMTQgQEAgcHJpdmF0ZToK
ICAgICBib29sIGNoZWNrRm9yQ1NTQ2hhcnNldChjb25zdCBjaGFyKiwgc2l6ZV90LCBib29sJiBt
b3ZlZERhdGFUb0J1ZmZlcik7CiAgICAgYm9vbCBjaGVja0ZvckhlYWRDaGFyc2V0KGNvbnN0IGNo
YXIqLCBzaXplX3QsIGJvb2wmIG1vdmVkRGF0YVRvQnVmZmVyKTsKICAgICBib29sIGNoZWNrRm9y
TWV0YUNoYXJzZXQoY29uc3QgY2hhciosIHNpemVfdCk7Ci0gICAgdm9pZCBkZXRlY3RKYXBhbmVz
ZUVuY29kaW5nKGNvbnN0IGNoYXIqLCBzaXplX3QpOwogICAgIGJvb2wgc2hvdWxkQXV0b0RldGVj
dCgpIGNvbnN0OwogCiAgICAgQ29udGVudFR5cGUgbV9jb250ZW50VHlwZTsKICAgICBUZXh0RW5j
b2RpbmcgbV9lbmNvZGluZzsKICAgICBPd25QdHI8VGV4dENvZGVjPiBtX2NvZGVjOwogICAgIEVu
Y29kaW5nU291cmNlIG1fc291cmNlOwotICAgIGNvbnN0IGNoYXIqIG1faGludEVuY29kaW5nOwor
ICAgIE93blB0cjxUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gbV9lbmNvZGluZ0RldGVjdG9yOworICAg
IFRleHRFbmNvZGluZyBtX2hpbnRFbmNvZGluZzsKICAgICBWZWN0b3I8Y2hhcj4gbV9idWZmZXI7
CiAgICAgYm9vbCBtX2NoZWNrZWRGb3JCT007CiAgICAgYm9vbCBtX2NoZWNrZWRGb3JDU1NDaGFy
c2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2Rp
bmdEZXRlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oCmluZGV4IDlmMTZhYjA3MDdhZDJlNjBmNTk5Y2E2MGJkZTUxMTAwOTA1YzJiMmIu
LmNiMWIwZDc4YjI4MWQ4ZjQzM2ZhYzJjMzgwNGViZGFhZGZhMGUwNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMxLDE3
ICszMSwyNiBAQAogI2lmbmRlZiBUZXh0RW5jb2RpbmdEZXRlY3Rvcl9oCiAjZGVmaW5lIFRleHRF
bmNvZGluZ0RldGVjdG9yX2gKIAorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFRl
eHRFbmNvZGluZzsKK2NsYXNzIFRleHRFbmNvZGluZzsKKworY2xhc3MgVGV4dEVuY29kaW5nRGV0
ZWN0b3IgeworcHVibGljOgorICAgIHZpcnR1YWwgflRleHRFbmNvZGluZ0RldGVjdG9yKCkgeyB9
CisKKyAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gY3JlYXRlKGNv
bnN0IFRleHRFbmNvZGluZyYgaGludEVuY29kaW5nLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1
bHRFbmNvZGluZyk7CisKKyAgICAvLyBDYWxsZWQgd2hlbiBuZXcgZGF0YSBoYXMgYmVlbiBhcHBl
bmRlZCB0byB0aGUgYnVmZmVyLiBSZXR1cm5zIHRydWUgaWYgYW4gZW5jb2Rpbmcgd2FzIGRldGVj
dGVkLgorICAgIHZpcnR1YWwgVGV4dEVuY29kaW5nIGFkZERhdGEoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbikgPSAwOwogCi0gICAgLy8gR2l2ZW4gYSBzZXF1ZW5jZSBvZiBieXRlcyBpbiB8
ZGF0YXwgb2YgbGVuZ3RoIHxsZW58IGFuZCBhbiBvcHRpb25hbAotICAgIC8vIGhpbnRFbmNvZGlu
Z05hbWUsIGRldGVjdCB0aGUgbW9zdCBsaWtlbHkgY2hhcmFjdGVyIGVuY29kaW5nLiAKLSAgICAv
LyBUaGUgd2F5IGhpbnRFbmNvZGluZ05hbWUgaXMgdXNlZCBpcyB1cCB0byBhbiBpbXBsZW1lbnRh
dGlvbi4KLSAgICAvLyBDdXJyZW50bHksIHRoZSBvbmx5IGNhbGxlciBzZXRzIGl0IHRvIHRoZSBw
YXJlbnQgZnJhbWUgZW5jb2RpbmcuCi0gICAgYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmcoY29uc3Qg
Y2hhciogZGF0YSwgc2l6ZV90IGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBjaGFyKiBoaW50RW5jb2RpbmdOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRl
eHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZyk7CisgICAgLy8gQ2FsbGVkIHdoZW4gdGhlcmUg
aXMgbm8gbW9yZSBkYXRhIGZvciB0aGUgZGV0ZWN0b3IgdG8gdXNlLgorICAgIC8vIFJldHVybnMg
dHJ1ZSBpZiBhbiBlbmNvZGluZyB3YXMgZGV0ZWN0ZWQuCisgICAgdmlydHVhbCBUZXh0RW5jb2Rp
bmcgZW5kRGF0YSgpID0gMDsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcklD
VS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9y
SUNVLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk0ODc1ODNmNTNiMTg4MDkw
OTBhMGI5ODRmN2NkYzIxM2NjZDQwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0Rl
dGVjdG9ySUNVLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRp
c3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRleHRFbmNvZGluZ0RldGVjdG9yLmgiCi0KLSNpbmNs
dWRlICJUZXh0RW5jb2RpbmcuaCIKLSNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KLQotI2lu
Y2x1ZGUgInVuaWNvZGUvdWNudi5oIgotI2luY2x1ZGUgInVuaWNvZGUvdWNzZGV0LmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmcoY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90IGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhp
bnRFbmNvZGluZ05hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBUZXh0RW5jb2RpbmcqIGRl
dGVjdGVkRW5jb2RpbmcpCi17Ci0gICAgKmRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2Rpbmco
KTsKLSAgICBpbnQgbWF0Y2hlc0NvdW50ID0gMDsgCi0gICAgVUVycm9yQ29kZSBzdGF0dXMgPSBV
X1pFUk9fRVJST1I7Ci0gICAgVUNoYXJzZXREZXRlY3RvciogZGV0ZWN0b3IgPSB1Y3NkZXRfb3Bl
bigmc3RhdHVzKTsKLSAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB1Y3NkZXRfZW5hYmxlSW5wdXRGaWx0ZXIoZGV0ZWN0b3IsIHRydWUpOwotICAg
IHVjc2RldF9zZXRUZXh0KGRldGVjdG9yLCBkYXRhLCBzdGF0aWNfY2FzdDxpbnQzMl90PihsZW4p
LCAmc3RhdHVzKTsgCi0gICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICAvLyBGSVhNRTogQSBmZXcgdGhpbmdzIHdlIGNhbiBkbyBvdGhlciB0aGFu
IGltcHJvdmluZwotICAgIC8vIHRoZSBJQ1UgZGV0ZWN0b3IgaXRzZWxmLiAKLSAgICAvLyAxLiBV
c2UgdWNzZGV0X2RldGVjdEFsbCBhbmQgcGljayB0aGUgbW9zdCBsaWtlbHkgb25lIGdpdmVuCi0g
ICAgLy8gInRoZSBjb250ZXh0IiAocGFyZW50LWVuY29kaW5nLCByZWZlcnJlciBlbmNvZGluZywg
ZXRjKS4KLSAgICAvLyAyLiAnRW11bGF0ZScgRmlyZWZveC9JRSdzIG5vbi1Vbml2ZXJzYWwgZGV0
ZWN0b3JzIChlLmcuCi0gICAgLy8gQ2hpbmVzZSwgSmFwYW5lc2UsIFJ1c3NpYW4sIEtvcmVhbiBh
bmQgSGVicmV3KSBieSBwaWNraW5nIHRoZSAKLSAgICAvLyBlbmNvZGluZyB3aXRoIGEgaGlnaGVz
dCBjb25maWRlbmNlIGFtb25nIHRoZSBkZXRlY3Rvci1zcGVjaWZpYwotICAgIC8vIGxpbWl0ZWQg
c2V0IG9mIGNhbmRpZGF0ZSBlbmNvZGluZ3MuCi0gICAgLy8gQmVsb3cgaXMgYSBwYXJ0aWFsIGlt
cGxlbWVudGF0aW9uIG9mIHRoZSBmaXJzdCBwYXJ0IG9mIHdoYXQncyBvdXRsaW5lZAotICAgIC8v
IGFib3ZlLgotICAgIGNvbnN0IFVDaGFyc2V0TWF0Y2gqKiBtYXRjaGVzID0gdWNzZGV0X2RldGVj
dEFsbChkZXRlY3RvciwgJm1hdGNoZXNDb3VudCwgJnN0YXR1cyk7Ci0gICAgaWYgKFVfRkFJTFVS
RShzdGF0dXMpKSB7Ci0gICAgICAgIHVjc2RldF9jbG9zZShkZXRlY3Rvcik7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBjb25zdCBjaGFyKiBlbmNvZGluZyA9IDA7Ci0gICAg
aWYgKGhpbnRFbmNvZGluZ05hbWUpIHsKLSAgICAgICAgVGV4dEVuY29kaW5nIGhpbnRFbmNvZGlu
ZyhoaW50RW5jb2RpbmdOYW1lKTsKLSAgICAgICAgLy8gMTAgaXMgdGhlIG1pbmltdW0gY29uZmlk
ZW5jZSB2YWx1ZSBjb25zaXN0ZW50IHdpdGggdGhlIGNvZGVwb2ludAotICAgICAgICAvLyBhbGxv
Y2F0aW9uIGluIGEgZ2l2ZW4gZW5jb2RpbmcuIFRoZSBzaXplIG9mIGEgY2h1bmsgcGFzc2VkIHRv
Ci0gICAgICAgIC8vIHVzIHZhcmllcyBldmVuIGZvciB0aGUgc2FtZSBodG1sIGZpbGUgKGFwcGFy
ZW50bHkgZGVwZW5kaW5nIG9uIAotICAgICAgICAvLyB0aGUgbmV0d29yayBsb2FkKS4gV2hlbiB3
ZSdyZSBnaXZlbiBhIHJhdGhlciBzaG9ydCBjaHVuaywgd2UgCi0gICAgICAgIC8vIGRvbid0IGhh
dmUgYSBzdWZmaWNpZW50bHkgcmVsaWFibGUgc2lnbmFsIG90aGVyIHRoYW4gdGhlIGZhY3QgdGhh
dAotICAgICAgICAvLyB0aGUgY2h1bmsgaXMgY29uc2lzdGVudCB3aXRoIGEgc2V0IG9mIGVuY29k
aW5ncy4gU28sIGluc3RlYWQgb2YKLSAgICAgICAgLy8gc2V0dGluZyBhbiBhcmJpdHJhcnkgdGhy
ZXNob2xkLCB3ZSBoYXZlIHRvIHNjYW4gYWxsIHRoZSBlbmNvZGluZ3MKLSAgICAgICAgLy8gY29u
c2lzdGVudCB3aXRoIHRoZSBkYXRhLiAgCi0gICAgICAgIGNvbnN0IGludDMyX3Qga1RocmVzb2xk
ID0gMTA7Ci0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbWF0Y2hlc0NvdW50OyArK2kpIHsK
LSAgICAgICAgICAgIGludDMyX3QgY29uZmlkZW5jZSA9IHVjc2RldF9nZXRDb25maWRlbmNlKG1h
dGNoZXNbaV0sICZzdGF0dXMpOwotICAgICAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKSB7
Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGNvbmZpZGVuY2UgPCBr
VGhyZXNvbGQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjb25zdCBjaGFy
KiBtYXRjaEVuY29kaW5nID0gdWNzZGV0X2dldE5hbWUobWF0Y2hlc1tpXSwgJnN0YXR1cyk7Ci0g
ICAgICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKLSAgICAgICAgICAgICAgICBzdGF0
dXMgPSBVX1pFUk9fRVJST1I7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZiAoVGV4dEVuY29kaW5nKG1hdGNoRW5jb2RpbmcpID09IGhpbnRF
bmNvZGluZykgewotICAgICAgICAgICAgICAgIGVuY29kaW5nID0gaGludEVuY29kaW5nTmFtZTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0K
LSAgICAvLyBJZiBubyBtYXRjaCBpcyBmb3VuZCBzbyBmYXIsIGp1c3QgcGljayB0aGUgdG9wIG1h
dGNoLiAKLSAgICAvLyBUaGlzIGNhbiBoYXBwZW4sIHNheSwgd2hlbiBhIHBhcmVudCBmcmFtZSBp
biBFVUMtSlAgcmVmZXJzIHRvCi0gICAgLy8gYSBjaGlsZCBmcmFtZSBpbiBTaGlmdF9KSVMgYW5k
IGJvdGggZnJhbWVzIGRvIE5PVCBzcGVjaWZ5IHRoZSBlbmNvZGluZwotICAgIC8vIG1ha2luZyB1
cyByZXNvcnQgdG8gYXV0by1kZXRlY3Rpb24gKHdoZW4gaXQgSVMgdHVybmVkIG9uKS4KLSAgICBp
ZiAoIWVuY29kaW5nICYmIG1hdGNoZXNDb3VudCA+IDApCi0gICAgICAgIGVuY29kaW5nID0gdWNz
ZGV0X2dldE5hbWUobWF0Y2hlc1swXSwgJnN0YXR1cyk7Ci0gICAgaWYgKFVfU1VDQ0VTUyhzdGF0
dXMpKSB7Ci0gICAgICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKGVuY29kaW5n
KTsKLSAgICAgICAgdWNzZGV0X2Nsb3NlKGRldGVjdG9yKTsKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfSAgICAKLSAgICB1Y3NkZXRfY2xvc2UoZGV0ZWN0b3IpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmdEZXRlY3Rvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmUuY3BwCmluZGV4IDNiNjJiYzViMDVlZjkxZWI4ZjRmN2Q1
NWEwNzRlODg2MmMwYjQ4NWMuLmQ3NDlkZmM0ZDAwZjE2N2E0NjU5Mjk0YTk0ZjYyZGM3YTMxZWY0
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5n
RGV0ZWN0b3JOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ0RldGVjdG9yTm9uZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI4LDE3ICsyOCwxMSBAQAogICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCIKLQotI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWJvb2wgZGV0ZWN0VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqLCBzaXplX3QsIGNvbnN0IGNo
YXIqLCBUZXh0RW5jb2RpbmcqIGRldGVjdGVkRW5jb2RpbmcpCitQYXNzT3duUHRyPFRleHRFbmNv
ZGluZ0RldGVjdG9yPiBUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRlKGNvbnN0IFRleHRFbmNv
ZGluZyYgaGludEVuY29kaW5nLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1bHRFbmNvZGluZykK
IHsKLSAgICAqZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZygpOwotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZSho
aW50RW5jb2RpbmcsIGRlZmF1bHRFbmNvZGluZykpOwogfQogCi19CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9u
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkwMjk5YjlmM2FiOTg5Yjk3NmQxOGJlZWRkYmVlMjYwMGQ5YTU2NjMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZ0RldGVjdG9yTm9uZS5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFRleHRFbmNvZGluZ0Rl
dGVjdG9yTm9uZV9oCisjZGVmaW5lIFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZV9oCisKKyNpbmNs
dWRlICJUZXh0RW5jb2RpbmcuaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZSA6
IHB1YmxpYyBUZXh0RW5jb2RpbmdEZXRlY3RvciB7CitwdWJsaWM6CisgICAgVGV4dEVuY29kaW5n
RGV0ZWN0b3JOb25lKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IFRleHRFbmNvZGluZyYpIHsg
fQorCisgICAgdmlydHVhbCBUZXh0RW5jb2RpbmcgYWRkRGF0YShjb25zdCBjaGFyKiwgc2l6ZV90
KSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBlbmREYXRhKCkgT1ZFUlJJ
REUgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJ
Q1VBbmRLYW5qaUNvZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5j
b2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYmZjYTg1
YTFhMzE4OTY1ZGY1YThkMWNiYzEwNTNhOWM5MTgzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEth
bmppQ29kZS5jcHAKQEAgLTAsMCArMSw0MDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmgiCisKKyNpbmNsdWRl
ICJ1bmljb2RlL3VjbnYuaCIKKyNpbmNsdWRlICJ1bmljb2RlL3Vjc2RldC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIEthbmppQ29kZSB7CitwdWJsaWM6CisgICAgZW51bSBUeXBl
IHsgQVNDSUksIEpJUywgRVVDLCBTSklTLCBVVEYxNiwgVVRGOCB9OworICAgIHN0YXRpYyBlbnVt
IFR5cGUganVkZ2UoY29uc3QgY2hhciogc3RyLCBpbnQgbGVuZ3RoKTsKKyAgICBzdGF0aWMgY29u
c3QgaW50IEVTQyA9IDB4MWI7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2ppc01h
cFsyNTZdOworICAgIHN0YXRpYyBpbnQgSVNrYW5qaShpbnQgY29kZSkKKyAgICB7CisgICAgICAg
IGlmIChjb2RlID49IDB4MTAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVy
biBzamlzTWFwW2NvZGUgJiAweGZmXSAmIDE7CisgICAgfQorICAgIHN0YXRpYyBpbnQgSVNrYW5h
KGludCBjb2RlKQorICAgIHsKKyAgICAgICAgaWYgKGNvZGUgPj0gMHgxMDApCisgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHNqaXNNYXBbY29kZSAmIDB4ZmZdICYgMjsKKyAg
ICB9Cit9OworCitjb25zdCB1bnNpZ25lZCBjaGFyIEthbmppQ29kZTo6c2ppc01hcFsyNTZdID0g
eworICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisg
ICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsCisgICAgMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwg
MiwgMiwgMiwgMiwgMiwKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LCAyLCAyLCAyLAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIs
IDIsIDIsCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwg
MiwKKyAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAor
ICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDAsIDAsIDAKK307CisK
Ky8qCisgKiBFVUMtSlAgaXMKKyAqICAgICBbMHhhMSAtIDB4ZmVdWzB4YTEgLSAweGZlXQorICog
ICAgIDB4OGVbMHhhMSAtIDB4ZmVdKFNTMikKKyAqICAgICAweDhmWzB4YTEgLSAweGZlXVsweGEx
IC0gMHhmZV0oU1MzKQorICoKKyAqIFNoaWZ0X0ppcyBpcworICogICAgIFsweDgxIC0gMHg5Ziwg
MHhlMCAtIDB4ZWYoMHhmZT8pXVsweDQwIC0gMHg3ZSwgMHg4MCAtIDB4ZmNdCisgKgorICogU2hp
ZnRfSmlzIEhhbmtha3UgS2FuYSBpcworICogICAgIFsweGExIC0gMHhkZl0KKyAqLworCisvKgor
ICogS2FuamlDb2RlOjpqdWRnZSgpIGlzIGJhc2VkIG9uIGp1ZGdlX2pjb2RlKCkgZnJvbSBqdmlt
CisgKiAgICAgaHR0cDovL2hwLnZlY3Rvci5jby5qcC9hdXRob3JzL1ZBMDAzNDU3L3ZpbS8KKyAq
CisgKiBTcGVjaWFsIFRoYW5rcyB0byBLZW5pY2hpIFRzdWNoaWRhCisgKi8KKworZW51bSBLYW5q
aUNvZGU6OlR5cGUgS2FuamlDb2RlOjpqdWRnZShjb25zdCBjaGFyKiBzdHIsIGludCBzaXplKQor
eworICAgIGVudW0gVHlwZSBjb2RlOworICAgIGludCBpOworICAgIGludCBiZnIgPSBmYWxzZTsg
ICAgICAgICAgICAvKiBLYW5hIE1vamkgKi8KKyAgICBpbnQgYmZrID0gMDsgICAgICAgICAgICAg
ICAgLyogRVVDIEthbmEgKi8KKyAgICBpbnQgc2ppcyA9IDA7CisgICAgaW50IGV1YyA9IDA7CisK
KyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVu
c2lnbmVkIGNoYXIqPihzdHIpOworCisgICAgY29kZSA9IEFTQ0lJOworCisgICAgaSA9IDA7Cisg
ICAgd2hpbGUgKGkgPCBzaXplKSB7CisgICAgICAgIGlmIChwdHJbaV0gPT0gRVNDICYmIChzaXpl
IC0gaSA+PSAzKSkgeworICAgICAgICAgICAgaWYgKChwdHJbaSArIDFdID09ICckJyAmJiBwdHJb
aSArIDJdID09ICdCJykKKyAgICAgICAgICAgIHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJb
aSArIDJdID09ICdCJykpIHsKKyAgICAgICAgICAgICAgICBjb2RlID0gSklTOworICAgICAgICAg
ICAgICAgIGdvdG8gYnJlYWtCcmVhazsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKHB0cltpICsg
MV0gPT0gJyQnICYmIHB0cltpICsgMl0gPT0gJ0AnKQorICAgICAgICAgICAgICAgICAgICB8fCAo
cHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAyXSA9PSAnSicpKSB7CisgICAgICAgICAgICAg
ICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKHB0cltpICsgMV0gPT0gJygnICYmIHB0cltpICsgMl0gPT0gJ0knKSB7
CisgICAgICAgICAgICAgICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBpICs9IDM7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltpICsgMV0gPT0gJyknICYmIHB0cltpICsgMl0gPT0g
J0knKSB7CisgICAgICAgICAgICAgICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBpICs9
IDM7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGJmciA9IGZhbHNlOworICAgICAgICAgICAgYmZrID0gMDsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChwdHJbaV0gPCAweDIwKSB7CisgICAgICAg
ICAgICAgICAgYmZyID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAg
ICAgICAgICAvKiA/PyBjaGVjayBrdWRva3V0ZW4gPz8gJiYgPz8gaGlyYWdhbmEgPz8gKi8KKyAg
ICAgICAgICAgICAgICBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHg4MSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICYmICgweDQxIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8
PSAweDQ5KSkgeworICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKKyAgICAgICAgICAg
ICAgICAgICAgc2ppcyArPSAxMDA7ICAgICAgICAvKiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4YTEpCisgICAgICAg
ICAgICAgICAgICAgICAgICAmJiAoMHhhMiA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0g
MHhhYSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29kZSA9IEVVQzsKKyAgICAgICAgICAgICAg
ICAgICAgZXVjICs9IDEwMDsgICAgICAgICAvKiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4ODIpICYmICgweGEwIDw9
IHB0cltpIC0gMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIHNqaXMgKz0gNDA7ICAgICAgICAg
LyogaGlyYWdhbmEgKi8KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDIpICYmIChw
dHJbaSAtIDJdID09IDB4YTQpICYmICgweGEwIDw9IHB0cltpIC0gMV0pKSB7CisgICAgICAgICAg
ICAgICAgICAgIGV1YyArPSA0MDsgICAgICAgICAgLyogaGlyYWdhbmEgKi8KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8qID8/IGNoZWNr
IGhpcmFnYW5hIG9yIGthdGFuYSA/PyAqLworICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAtIGkg
PiAxKSAmJiAocHRyW2ldID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAg
ICAgICAgICAgICAgICAgIHNqaXMrKzsgICAgIC8qIGhpcmFnYW5hICovCisgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4ODMpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgJiYgKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9
IDB4OWYpKSB7CisgICAgICAgICAgICAgICAgICAgIHNqaXMrKzsgICAgIC8qIGthdGFrYW5hICov
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09
IDB4YTQpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIGV1
YysrOyAgICAgIC8qIGhpcmFnYW5hICovCisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6
ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4YTUpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7
CisgICAgICAgICAgICAgICAgICAgIGV1YysrOyAgICAgIC8qIGthdGFrYW5hICovCisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChiZnIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKChpID49IDEpICYmICgweDQwIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhhMCkgJiYg
SVNrYW5qaShwdHJbaSAtIDFdKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNK
SVM7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ODEgPD0gcHRyW2kgLSAxXSAmJiBw
dHJbaSAtIDFdIDw9IDB4OWYpICYmICgoMHg0MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDwgMHg3ZSkg
fHwgKDB4N2UgPCBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmMpKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgY29kZSA9IFNKSVM7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFr
QnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQg
PD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSAmJiAoMHhhMSA8PSBwdHJbaSAtIDFdICYmIHB0
cltpIC0gMV0gPD0gMHhmZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7
CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0gcHRyW2kgLSAxXSAmJiBwdHJb
aSAtIDFdIDw9IDB4ZmUpICYmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7CisgICAgICAgICAgICAgICAgICAg
ICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkg
Pj0gMSkgJiYgKHB0cltpXSA8IDB4YTAgfHwgMHhkZiA8IHB0cltpXSkgJiYgKDB4OGUgPT0gcHRy
W2kgLSAxXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOworICAgICAg
ICAgICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKHB0cltpXSA8PSAweDdmKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb2Rl
ID0gU0pJUzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgweGEx
IDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhhNikgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV1YysrOyAgICAgIC8qIHNqaXMgaGFua2FrdSBrYW5hIGtpZ28gKi8KKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZGYp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgICAvKiBzamlzIGhhbmth
a3Uga2FuYSAqLworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0
cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1
YysrOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1YysrOworICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmICgweDIwIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHg3ZikgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNqaXMrKzsKKyAgICAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJmciA9IGZhbHNlOworICAgICAgICAgICAgICAg
ICAgICAgICAgYmZrID0gMDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNp
emUgLSBpIDw9IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweGRm
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBFVUMgS0FOQSBvciBTSklTIEtBTkpJICov
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmZrID09IDEpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBldWMgKz0gMTAwOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgYmZrKys7CisgICAgICAgICAgICAgICAgICAgICAgICBpKys7
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAv
KiBTSklTIG9ubHkgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOworICAg
ICAgICAgICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweDgxIDw9IHB0cltpXSAmJiBwdHJbaV0g
PD0gMHg5ZikgeworICAgICAgICAgICAgICAgICAgICAvKiBTSklTIG9ubHkgKi8KKyAgICAgICAg
ICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAgICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAt
IGkgPj0gMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoKDB4NDAgPD0gcHRyW2kg
KyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4N2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fHwgKDB4ODAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmMpKSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGZkIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0g
MHhmZSkgeworICAgICAgICAgICAgICAgICAgICAvKiBFVUMgb25seSAqLworICAgICAgICAgICAg
ICAgICAgICBjb2RlID0gRVVDOworICAgICAgICAgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49
IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKDB4YTEgPD0gcHRyW2kgKyAxXSAm
JiBwdHJbaSArIDFdIDw9IDB4ZmUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJy
ZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKHB0cltpXSA8PSAweDdmKSB7CisgICAgICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBiZnIgPSB0cnVlOworICAgICAgICAg
ICAgICAgICAgICBiZmsgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGkrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoY29kZSA9PSBBU0NJSSkg
eworICAgICAgICBpZiAoc2ppcyA+IGV1YykgeworICAgICAgICAgICAgY29kZSA9IFNKSVM7Cisg
ICAgICAgIH0gZWxzZSBpZiAoc2ppcyA8IGV1YykgeworICAgICAgICAgICAgY29kZSA9IEVVQzsK
KyAgICAgICAgfQorICAgIH0KK2JyZWFrQnJlYWs6CisgICAgcmV0dXJuIChjb2RlKTsKK30KKwor
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpUZXh0RW5jb2RpbmdEZXRl
Y3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUoY29uc3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2Rpbmcs
IGNvbnN0IFRleHRFbmNvZGluZyYgZGVmYXVsdEVuY29kaW5nKQorICAgIDogaXNBc2NpaSh0cnVl
KQorICAgICwgbV9oaW50RW5jb2RpbmcoaGludEVuY29kaW5nKQorICAgICwgbV9kZWZhdWx0RW5j
b2RpbmcoZGVmYXVsdEVuY29kaW5nKQoreworfQorCitUZXh0RW5jb2RpbmcgVGV4dEVuY29kaW5n
RGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW4pCit7CisgICAgaWYgKGxlbiA9PSAwKQorICAgICAgICByZXR1cm4gVGV4dEVuY29k
aW5nKCk7CisKKyAgICBpZiAoaXNBc2NpaSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxlbjsgKytpKSB7CisgICAgICAgICAgICBpZiAoZGF0YVtpXSA9PSAweDFiIHx8IGRhdGFb
aV0gJiAweDgwKSB7CisgICAgICAgICAgICAgICAgaXNBc2NpaSA9IGZhbHNlOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGlmIChp
c0FzY2lpKQorICAgICAgICByZXR1cm4gVGV4dEVuY29kaW5nKCk7CisKKyAgICBUZXh0RW5jb2Rp
bmcgZGV0ZWN0ZWRFbmNvZGluZzsKKyAgICBpZiAobV9kZWZhdWx0RW5jb2RpbmcuaXNKYXBhbmVz
ZSgpKQorICAgICAgICBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2FuamlDb2RlKGRhdGEsIGxlbiwg
JmRldGVjdGVkRW5jb2RpbmcpOworICAgIGVsc2UKKyAgICAgICAgZGV0ZWN0VGV4dEVuY29kaW5n
V2l0aElDVShkYXRhLCBsZW4sIG1faGludEVuY29kaW5nLCAmZGV0ZWN0ZWRFbmNvZGluZyk7CisK
KyAgICBpZiAoZGV0ZWN0ZWRFbmNvZGluZy5pc1ZhbGlkKCkpCisgICAgICAgIG1fYnVmZmVyLmNs
ZWFyKCk7CisgICAgZWxzZSB7CisgICAgICAgIHNpemVfdCBvbGRTaXplID0gbV9idWZmZXIuc2l6
ZSgpOworICAgICAgICBtX2J1ZmZlci5ncm93KG9sZFNpemUgKyBsZW4pOworICAgICAgICBtZW1j
cHkobV9idWZmZXIuZGF0YSgpICsgb2xkU2l6ZSwgZGF0YSwgbGVuKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZGV0ZWN0ZWRFbmNvZGluZzsKK30KKworVGV4dEVuY29kaW5nIFRleHRFbmNvZGluZ0Rl
dGVjdG9yV2l0aElDVUFuZEthbmppQ29kZTo6ZW5kRGF0YSgpCit7CisgICAgaWYgKGlzQXNjaWkp
CisgICAgICAgIHJldHVybiBtX2RlZmF1bHRFbmNvZGluZzsKKworICAgIGlmIChtX2J1ZmZlci5z
aXplKCkgPT0gMCkKKyAgICAgICAgcmV0dXJuIFRleHRFbmNvZGluZygpOworICAgIFRleHRFbmNv
ZGluZyBkZXRlY3RlZEVuY29kaW5nOworICAgIGRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UobV9i
dWZmZXIuZGF0YSgpLCBtX2J1ZmZlci5zaXplKCksIG1faGludEVuY29kaW5nLCAmZGV0ZWN0ZWRF
bmNvZGluZyk7CisgICAgbV9idWZmZXIuY2xlYXIoKTsKKyAgICByZXR1cm4gZGV0ZWN0ZWRFbmNv
ZGluZzsKK30KKworYm9vbCBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGU6
OmRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90
IGxlbiwgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQoreworICAgIHN3aXRjaCAoS2Fu
amlDb2RlOjpqdWRnZShkYXRhLCBsZW4pKSB7CisgICAgY2FzZSBLYW5qaUNvZGU6OkpJUzoKKyAg
ICAgICAgKmRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIklTTy0yMDIyLUpQIik7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgS2FuamlDb2RlOjpFVUM6CisgICAgICAgICpk
ZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJFVUMtSlAiKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgY2FzZSBLYW5qaUNvZGU6OlNKSVM6CisgICAgICAgICpkZXRlY3RlZEVuY29k
aW5nID0gVGV4dEVuY29kaW5nKCJTaGlmdF9KSVMiKTsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgY2FzZSBLYW5qaUNvZGU6OkFTQ0lJOgorICAgIGNhc2UgS2FuamlDb2RlOjpVVEYxNjoKKyAg
ICBjYXNlIEthbmppQ29kZTo6VVRGODoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNv
ZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxl
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHRFbmNvZGluZyYgaGludEVuY29kaW5nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQoreworICAgICpkZXRl
Y3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCk7CisgICAgaW50IG1hdGNoZXNDb3VudCA9IDA7
IAorICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOworICAgIFVDaGFyc2V0RGV0
ZWN0b3IqIGRldGVjdG9yID0gdWNzZGV0X29wZW4oJnN0YXR1cyk7CisgICAgaWYgKFVfRkFJTFVS
RShzdGF0dXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgdWNzZGV0X2VuYWJsZUlucHV0
RmlsdGVyKGRldGVjdG9yLCB0cnVlKTsKKyAgICB1Y3NkZXRfc2V0VGV4dChkZXRlY3RvciwgZGF0
YSwgc3RhdGljX2Nhc3Q8aW50MzJfdD4obGVuKSwgJnN0YXR1cyk7IAorICAgIGlmIChVX0ZBSUxV
UkUoc3RhdHVzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRklYTUU6IEEgZmV3
IHRoaW5ncyB3ZSBjYW4gZG8gb3RoZXIgdGhhbiBpbXByb3ZpbmcKKyAgICAvLyB0aGUgSUNVIGRl
dGVjdG9yIGl0c2VsZi4gCisgICAgLy8gMS4gVXNlIHVjc2RldF9kZXRlY3RBbGwgYW5kIHBpY2sg
dGhlIG1vc3QgbGlrZWx5IG9uZSBnaXZlbgorICAgIC8vICJ0aGUgY29udGV4dCIgKHBhcmVudC1l
bmNvZGluZywgcmVmZXJyZXIgZW5jb2RpbmcsIGV0YykuCisgICAgLy8gMi4gJ0VtdWxhdGUnIEZp
cmVmb3gvSUUncyBub24tVW5pdmVyc2FsIGRldGVjdG9ycyAoZS5nLgorICAgIC8vIENoaW5lc2Us
IEphcGFuZXNlLCBSdXNzaWFuLCBLb3JlYW4gYW5kIEhlYnJldykgYnkgcGlja2luZyB0aGUgCisg
ICAgLy8gZW5jb2Rpbmcgd2l0aCBhIGhpZ2hlc3QgY29uZmlkZW5jZSBhbW9uZyB0aGUgZGV0ZWN0
b3Itc3BlY2lmaWMKKyAgICAvLyBsaW1pdGVkIHNldCBvZiBjYW5kaWRhdGUgZW5jb2RpbmdzLgor
ICAgIC8vIEJlbG93IGlzIGEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlyc3QgcGFy
dCBvZiB3aGF0J3Mgb3V0bGluZWQKKyAgICAvLyBhYm92ZS4KKyAgICBjb25zdCBVQ2hhcnNldE1h
dGNoKiogbWF0Y2hlcyA9IHVjc2RldF9kZXRlY3RBbGwoZGV0ZWN0b3IsICZtYXRjaGVzQ291bnQs
ICZzdGF0dXMpOworICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkgeworICAgICAgICB1Y3NkZXRf
Y2xvc2UoZGV0ZWN0b3IpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29u
c3QgY2hhciogZW5jb2RpbmcgPSAwOworICAgIGlmIChoaW50RW5jb2RpbmcuaXNWYWxpZCgpKSB7
CisgICAgICAgIC8vIDEwIGlzIHRoZSBtaW5pbXVtIGNvbmZpZGVuY2UgdmFsdWUgY29uc2lzdGVu
dCB3aXRoIHRoZSBjb2RlcG9pbnQKKyAgICAgICAgLy8gYWxsb2NhdGlvbiBpbiBhIGdpdmVuIGVu
Y29kaW5nLiBUaGUgc2l6ZSBvZiBhIGNodW5rIHBhc3NlZCB0bworICAgICAgICAvLyB1cyB2YXJp
ZXMgZXZlbiBmb3IgdGhlIHNhbWUgaHRtbCBmaWxlIChhcHBhcmVudGx5IGRlcGVuZGluZyBvbiAK
KyAgICAgICAgLy8gdGhlIG5ldHdvcmsgbG9hZCkuIFdoZW4gd2UncmUgZ2l2ZW4gYSByYXRoZXIg
c2hvcnQgY2h1bmssIHdlIAorICAgICAgICAvLyBkb24ndCBoYXZlIGEgc3VmZmljaWVudGx5IHJl
bGlhYmxlIHNpZ25hbCBvdGhlciB0aGFuIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgLy8gdGhlIGNo
dW5rIGlzIGNvbnNpc3RlbnQgd2l0aCBhIHNldCBvZiBlbmNvZGluZ3MuIFNvLCBpbnN0ZWFkIG9m
CisgICAgICAgIC8vIHNldHRpbmcgYW4gYXJiaXRyYXJ5IHRocmVzaG9sZCwgd2UgaGF2ZSB0byBz
Y2FuIGFsbCB0aGUgZW5jb2RpbmdzCisgICAgICAgIC8vIGNvbnNpc3RlbnQgd2l0aCB0aGUgZGF0
YS4gIAorICAgICAgICBjb25zdCBpbnQzMl90IGtUaHJlc29sZCA9IDEwOworICAgICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG1hdGNoZXNDb3VudDsgKytpKSB7CisgICAgICAgICAgICBpbnQzMl90
IGNvbmZpZGVuY2UgPSB1Y3NkZXRfZ2V0Q29uZmlkZW5jZShtYXRjaGVzW2ldLCAmc3RhdHVzKTsK
KyAgICAgICAgICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkgeworICAgICAgICAgICAgICAgIHN0
YXR1cyA9IFVfWkVST19FUlJPUjsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGlmIChjb25maWRlbmNlIDwga1RocmVzb2xkKQorICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY29uc3QgY2hhciogbWF0Y2hFbmNvZGluZyA9IHVj
c2RldF9nZXROYW1lKG1hdGNoZXNbaV0sICZzdGF0dXMpOworICAgICAgICAgICAgaWYgKFVfRkFJ
TFVSRShzdGF0dXMpKSB7CisgICAgICAgICAgICAgICAgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KFRleHRFbmNvZGluZyhtYXRjaEVuY29kaW5nKSA9PSBoaW50RW5jb2RpbmcpIHsKKyAgICAgICAg
ICAgICAgICBlbmNvZGluZyA9IGhpbnRFbmNvZGluZy5uYW1lKCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgLy8gSWYgbm8gbWF0
Y2ggaXMgZm91bmQgc28gZmFyLCBqdXN0IHBpY2sgdGhlIHRvcCBtYXRjaC4gCisgICAgLy8gVGhp
cyBjYW4gaGFwcGVuLCBzYXksIHdoZW4gYSBwYXJlbnQgZnJhbWUgaW4gRVVDLUpQIHJlZmVycyB0
bworICAgIC8vIGEgY2hpbGQgZnJhbWUgaW4gU2hpZnRfSklTIGFuZCBib3RoIGZyYW1lcyBkbyBO
T1Qgc3BlY2lmeSB0aGUgZW5jb2RpbmcKKyAgICAvLyBtYWtpbmcgdXMgcmVzb3J0IHRvIGF1dG8t
ZGV0ZWN0aW9uICh3aGVuIGl0IElTIHR1cm5lZCBvbikuCisgICAgaWYgKCFlbmNvZGluZyAmJiBt
YXRjaGVzQ291bnQgPiAwKQorICAgICAgICBlbmNvZGluZyA9IHVjc2RldF9nZXROYW1lKG1hdGNo
ZXNbMF0sICZzdGF0dXMpOworICAgIGlmIChVX1NVQ0NFU1Moc3RhdHVzKSkgeworICAgICAgICAq
ZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZyhlbmNvZGluZyk7CisgICAgICAgIHVjc2Rl
dF9jbG9zZShkZXRlY3Rvcik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0gICAgCisgICAg
dWNzZGV0X2Nsb3NlKGRldGVjdG9yKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Bhc3NPd25Q
dHI8VGV4dEVuY29kaW5nRGV0ZWN0b3I+IFRleHRFbmNvZGluZ0RldGVjdG9yOjpjcmVhdGUoY29u
c3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2RpbmcsIGNvbnN0IFRleHRFbmNvZGluZyYgZGVmYXVs
dEVuY29kaW5nKQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dEVuY29kaW5nRGV0ZWN0
b3JXaXRoSUNVQW5kS2FuamlDb2RlKGhpbnRFbmNvZGluZywgZGVmYXVsdEVuY29kaW5nKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFu
ZEthbmppQ29kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NTAyNDgwM2Y1NjQ3MmQyMzM0MjZiNGJhNThmOTcy
YThjNzE0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oCkBAIC0wLDAgKzEsNjIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZV9oCisjZGVm
aW5lIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZV9oCisKKyNpbmNsdWRl
ICJUZXh0RW5jb2RpbmcuaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFu
ZEthbmppQ29kZSA6IHB1YmxpYyBUZXh0RW5jb2RpbmdEZXRlY3RvciB7CitwdWJsaWM6CisgICAg
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlKGNvbnN0IFRleHRFbmNvZGlu
ZyYgaGludEVuY29kaW5nLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1bHRFbmNvZGluZyk7CisK
KyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBhZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVf
dCBsZW4pIE9WRVJSSURFOworICAgIHZpcnR1YWwgVGV4dEVuY29kaW5nIGVuZERhdGEoKSBPVkVS
UklERTsKKworcHJpdmF0ZToKKyAgICBib29sIGRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNv
ZGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKTsKKyAgICBi
b29sIGRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxl
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGV4dEVuY29kaW5n
JiBoaW50RW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHRF
bmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZyk7CisKKyAgICAvLyBGbGFnIGlmIHRoZSBkYXRhIHNv
IGZhciBpcyBhbGwgYXNjaWkgY2hhcmFjdGVycy4KKyAgICBib29sIGlzQXNjaWk7CisgICAgVmVj
dG9yPGNoYXI+IG1fYnVmZmVyOworICAgIFRleHRFbmNvZGluZyBtX2hpbnRFbmNvZGluZzsKKyAg
ICBUZXh0RW5jb2RpbmcgbV9kZWZhdWx0RW5jb2Rpbmc7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDEyYWMxYWIy
MjcwMjdhNzdiNzQ3N2UwOWIxODliNTc3YjAzMzc2OGIuLmE0ZjgyMWI4N2E2NzJlODllZWU5NmI2
Mjc5MTVkNzJhMWQxNmJhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTE2Miw2
ICsxNjIsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRm9ybUNvbnRyb2xFbGVtZW50
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRm9ybUVsZW1lbnQuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJGcmFtZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dl
YlRleHRFbmNvZGluZ0RldGVjdG9yLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRnJh
bWVDbGllbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJHZW9sb2NhdGlvbkNsaWVu
dC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ2xpZW50TW9jay5o
JywKQEAgLTU0NCw2ICs1NDUsNyBAQAogICAgICAgICAgICAgICAgICdzcmMvV2ViRm9udEltcGwu
aCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJGb3JtQ29udHJvbEVsZW1lbnQuY3BwJywKICAg
ICAgICAgICAgICAgICAnc3JjL1dlYkZvcm1FbGVtZW50LmNwcCcsCisgICAgICAgICAgICAgICAg
J3NyYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMv
V2ViRnJhbWVJbXBsLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJGcmFtZUltcGwuaCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaAppbmRleCAwN2I2
MzQ5MGMxN2I1YTEyODFkODljMDViM2EwYzU4ZDk5NjY1YmJlLi5kMzBmOTY3YzEzOWUzYmVkMWNm
MTFiMTNlMmVkOGMwZDAyNTk1MWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRGF0YVNvdXJjZS5oCkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7CitjbGFzcyBXZWJEYXRhOwogY2xhc3Mg
V2ViU3RyaW5nOwogY2xhc3MgV2ViVVJMOwogY2xhc3MgV2ViVVJMUmVxdWVzdDsKQEAgLTk5LDYg
KzEwMCwxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGFwcGxpY2F0aW9uIGNhY2hlIGhvc3QgYXNz
b2NpYXRlZCB3aXRoIHRoaXMgZGF0YXNvdXJjZS4KICAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9u
Q2FjaGVIb3N0KiBhcHBsaWNhdGlvbkNhY2hlSG9zdCgpID0gMDsKIAorICAgIC8vIEVuYWJsZSBl
bmNvZGluZyBkZXRlY3Rpb24ganVzdCBmb3IgdGhpcyBkYXRhc291cmNlLgorICAgIHZpcnR1YWwg
dm9pZCBlbmFibGVFbmNvZGluZ0RldGVjdGlvbigpID0gMDsKKworICAgIC8vIFJldHVybnMgdGhl
IGRhdGEgZm9yIHRoZSBtYWluIHJlc291cmNlLgorICAgIHZpcnR1YWwgV2ViRGF0YSBtYWluUmVz
b3VyY2VEYXRhKCkgY29uc3QgPSAwOworCiAgICAgLy8gU2V0IGRlZmVyTWFpblJlc291cmNlRGF0
YUxvYWQgZmxhZyBvbiB0aGUgbG9hZGVyLiAgVGhpcyBpcyB1c2VkIGZvcgogICAgIC8vIHRlc3Rp
bmcuCiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoYm9vbCkg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1l
bnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgKaW5kZXgg
NjcyNWU3OWUxZDdlOGUxYmIyNjg5ODZhNmE1ZDUzNWI0ZGRlNzg2My4uMjkwMDcxOTk5NDJhMjUy
M2YwZGE1ZGM4MmI0MDlkMzYxZjdlNDFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJEb2N1bWVudC5oCkBAIC01NCw2ICs1NCwxNyBAQCBjbGFzcyBXZWJOb2RlTGlzdDsK
IGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKIAorZW51bSBXZWJFbmNvZGluZ1NvdXJj
ZSB7CisgICAgRGVmYXVsdEVuY29kaW5nLAorICAgIEF1dG9EZXRlY3RlZEVuY29kaW5nLAorICAg
IEVuY29kaW5nRnJvbVhNTEhlYWRlciwKKyAgICBFbmNvZGluZ0Zyb21NZXRhVGFnLAorICAgIEVu
Y29kaW5nRnJvbUNTU0NoYXJzZXQsCisgICAgRW5jb2RpbmdGcm9tSFRUUEhlYWRlciwKKyAgICBV
c2VyQ2hvc2VuRW5jb2RpbmcsCisgICAgRW5jb2RpbmdGcm9tUGFyZW50RnJhbWUKK307CisKIC8v
IFByb3ZpZGVzIHJlYWRvbmx5IGFjY2VzcyB0byBzb21lIHByb3BlcnRpZXMgb2YgYSBET00gZG9j
dW1lbnQuCiBjbGFzcyBXZWJEb2N1bWVudCA6IHB1YmxpYyBXZWJOb2RlIHsKIHB1YmxpYzoKQEAg
LTYyLDYgKzczLDggQEAgcHVibGljOgogICAgICAgICBVc2VyU3R5bGVBdXRob3JMZXZlbAogICAg
IH07CiAKKworCiAgICAgV2ViRG9jdW1lbnQoKSB7IH0KICAgICBXZWJEb2N1bWVudChjb25zdCBX
ZWJEb2N1bWVudCYgZSkgOiBXZWJOb2RlKGUpIHsgfQogCkBAIC03OCw2ICs5MSwxMCBAQCBwdWJs
aWM6CiAKICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBlbmNvZGluZygpIGNvbnN0OwogCisg
ICAgV0VCS0lUX0VYUE9SVCBXZWJFbmNvZGluZ1NvdXJjZSBlbmNvZGluZ1NvdXJjZSgpIGNvbnN0
OworCisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaGludEVuY29kaW5nKCkgY29uc3Q7CisK
ICAgICAvLyBUaGUgdXJsIG9mIHRoZSBPcGVuU2VhcmNoIERlc3JpcHRpb24gRG9jdW1lbnQgKGlm
IGFueSkuCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJVUkwgb3BlblNlYXJjaERlc2NyaXB0aW9uVVJM
KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlRleHRFbmNvZGluZ0RldGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNTgwNDJkNjQzODBjN2IyNGFi
Y2UwZTU3MjE0MWYzYzIwOTY1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oCkBAIC0wLDAgKzEsNjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFdlYlRleHRFbmNvZGluZ0RldGVjdG9yX2gKKyNkZWZpbmUgV2ViVGV4dEVuY29kaW5n
RGV0ZWN0b3JfaAorCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViUHJpdmF0ZU93blB0ci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNz
IFRleHRFbmNvZGluZ0RldGVjdG9yOyB9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJTdHJpbmc7CisKKy8vIFdyYXBwZXIgZm9yIFRleHRFbmNvZGluZ0RldGVjdG9yLgorY2xhc3Mg
V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IgeworcHVibGljOiAgICAKKyAgICB+V2ViVGV4dEVuY29k
aW5nRGV0ZWN0b3IoKSB7IHJlc2V0KCk7IH0KKworICAgIFdlYlRleHRFbmNvZGluZ0RldGVjdG9y
KGNvbnN0IFdlYlN0cmluZyYgaGludEVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdEVuY29kaW5nKTsKKworICAgIC8vIENhbGxlZCB0
byBhZGQgZGF0YSB0byB0aGUgdGV4dCBlbmNvZGluZyBkZXRlY3Rvci4gUmV0dXJucyB0aGUgZGV0
ZWN0ZWQKKyAgICAvLyBlbmNvZGluZy4KKyAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhZGRE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pOworCisgICAgLy8gQ2FsbGVkIHRvIHRl
bGwgdGhlIHRleHQgZW5jb2RpbmcgZGV0ZWN0b3IgdGhhdCB0aGVyZSBpcyBubyBtb3JlIGRhdGEu
CisgICAgLy8gUmV0dXJucyB0aGUgZGV0ZWN0ZWQgZW5jb2RpbmcuCisgICAgV0VCS0lUX0VYUE9S
VCBXZWJTdHJpbmcgZW5kRGF0YSgpOworCitwcml2YXRlOgorICAgIFdFQktJVF9FWFBPUlQgdm9p
ZCByZXNldCgpOworCisgICAgV2ViUHJpdmF0ZU93blB0cjxXZWJDb3JlOjpUZXh0RW5jb2RpbmdE
ZXRlY3Rvcj4gbV9wcml2YXRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUlt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuY3Bw
CmluZGV4IGQ2ZDk4Yzc1MjJiMzM0MmE2Njc0ZjNkZmU1NDM3MWViMmJhNzBmYjcuLjlhMzU4ZDQ5
YzA0MTUyYjE0YTI1MzBmZWZkNGI4YzFhMzJhMGFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRhdGFTb3VyY2VJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNp
bmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZUhvc3RJbnRlcm5hbC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkRhdGEuaCIKICNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkxFcnJvci5oIgog
I2luY2x1ZGUgInBsYXRmb3JtL1dlYlZlY3Rvci5oIgpAQCAtMTI0LDYgKzEyNSwxNiBAQCBXZWJB
cHBsaWNhdGlvbkNhY2hlSG9zdCogV2ViRGF0YVNvdXJjZUltcGw6OmFwcGxpY2F0aW9uQ2FjaGVI
b3N0KCkKICAgICByZXR1cm4gQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbDo6dG9XZWJBcHBs
aWNhdGlvbkNhY2hlSG9zdChEb2N1bWVudExvYWRlcjo6YXBwbGljYXRpb25DYWNoZUhvc3QoKSk7
CiB9CiAKK3ZvaWQgV2ViRGF0YVNvdXJjZUltcGw6OmVuYWJsZUVuY29kaW5nRGV0ZWN0aW9uKCkK
K3sKKyAgICBtX2VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZCA9IHRydWU7Cit9CisKK1dlYkRhdGEg
V2ViRGF0YVNvdXJjZUltcGw6Om1haW5SZXNvdXJjZURhdGEoKSBjb25zdAoreworICAgIHJldHVy
biBXZWJEYXRhKERvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2VEYXRhKCkpOworfQorCiB2b2lk
IFdlYkRhdGFTb3VyY2VJbXBsOjpzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkKGJvb2wgZGVm
ZXIpCiB7CiAgICAgRG9jdW1lbnRMb2FkZXI6OnNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQo
ZGVmZXIpOwpAQCAtMTcxLDYgKzE4Miw3IEBAIHZvaWQgV2ViRGF0YVNvdXJjZUltcGw6OnNldE5l
eHRQbHVnaW5Mb2FkT2JzZXJ2ZXIoUGFzc093blB0cjxXZWJQbHVnaW5Mb2FkT2JzZXJ2CiAKIFdl
YkRhdGFTb3VyY2VJbXBsOjpXZWJEYXRhU291cmNlSW1wbChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBkYXRhKQogICAgIDogRG9jdW1lbnRMb2Fk
ZXIocmVxdWVzdCwgZGF0YSkKKyAgICAsIG1fZW5jb2RpbmdEZXRlY3Rpb25FbmFibGVkKGZhbHNl
KQogewogICAgIGlmICghbmV4dFBsdWdpbkxvYWRPYnNlcnZlcigpKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuaAppbmRl
eCA4Y2MyYzgwYzYwMTQyMzA0ZGY5Y2FjODNkMWIxNDFlOWY4MjBmM2U2Li5mMmUwMzQ2MDE5OGE4
MTkyNGVmOTQ4NGVlZmI1MmIxYzk4OGZhY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRhdGFTb3VyY2VJbXBsLmgKQEAgLTY5LDYgKzY5LDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0RXh0cmFEYXRhKEV4dHJhRGF0YSopOwogICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNo
ZUhvc3QqIGFwcGxpY2F0aW9uQ2FjaGVIb3N0KCk7CisgICAgdmlydHVhbCB2b2lkIGVuYWJsZUVu
Y29kaW5nRGV0ZWN0aW9uKCk7CisgICAgdmlydHVhbCBXZWJEYXRhIG1haW5SZXNvdXJjZURhdGEo
KSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChi
b29sKTsKIAogICAgIHN0YXRpYyBXZWJOYXZpZ2F0aW9uVHlwZSB0b1dlYk5hdmlnYXRpb25UeXBl
KFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlIHR5cGUpOwpAQCAtNzgsNiArODAsNyBAQCBwdWJsaWM6
CiAgICAgY29uc3QgV2ViQ29yZTo6S1VSTCYgZW5kT2ZSZWRpcmVjdENoYWluKCkgY29uc3Q7CiAg
ICAgdm9pZCBjbGVhclJlZGlyZWN0Q2hhaW4oKTsKICAgICB2b2lkIGFwcGVuZFJlZGlyZWN0KGNv
bnN0IFdlYkNvcmU6OktVUkwmIHVybCk7CisgICAgYm9vbCBpc0VuY29kaW5nRGV0ZWN0aW9uRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RpbmdEZXRlY3Rpb25FbmFibGVkOyB9CiAKICAg
ICBQYXNzT3duUHRyPFdlYlBsdWdpbkxvYWRPYnNlcnZlcj4gcmVsZWFzZVBsdWdpbkxvYWRPYnNl
cnZlcigpIHsgcmV0dXJuIG1fcGx1Z2luTG9hZE9ic2VydmVyLnJlbGVhc2UoKTsgfQogICAgIHN0
YXRpYyB2b2lkIHNldE5leHRQbHVnaW5Mb2FkT2JzZXJ2ZXIoUGFzc093blB0cjxXZWJQbHVnaW5M
b2FkT2JzZXJ2ZXI+KTsKQEAgLTg2LDYgKzg5LDggQEAgcHJpdmF0ZToKICAgICBXZWJEYXRhU291
cmNlSW1wbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpT
dWJzdGl0dXRlRGF0YSYpOwogICAgIH5XZWJEYXRhU291cmNlSW1wbCgpOwogCisgICAgYm9vbCBt
X2VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZDsKKwogICAgIC8vIE11dGFibGUgYmVjYXVzZSB0aGUg
Y29uc3QgZ2V0dGVycyB3aWxsIG1hZ2ljYWxseSBzeW5jIHRoZXNlIHRvIHRoZQogICAgIC8vIGxh
dGVzdCB2ZXJzaW9uIGZyb20gV2ViS2l0LgogICAgIG11dGFibGUgV3JhcHBlZFJlc291cmNlUmVx
dWVzdCBtX29yaWdpbmFsUmVxdWVzdFdyYXBwZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEb2N1bWVudC5jcHAKaW5kZXggODBmYmRmMWQ5ZWU5NmYzYjQzNWNhMmUxODU3MmU0M2My
MWI2NDBlYi4uYjRjNzNkMWJhODU5MGRjZTk1Yzg2Y2U5MzFjYjgwN2YxNDNlNGZhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcApAQCAtNDUsNiArNDUsNyBA
QAogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3Rv
ci5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJE
T01FdmVudC5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50VHlwZS5oIgpAQCAtNTMsNiArNTQsNyBA
QAogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYk5vZGVDb2xsZWN0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViTm9kZUxpc3QuaCIKKyNpbmNsdWRlICJXZWJUZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KQEAgLTc4LDYgKzgwLDE2IEBAIFdlYlN0cmluZyBXZWJEb2N1bWVudDo6
ZW5jb2RpbmcoKSBjb25zdAogICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVudD4oKS0+ZW5j
b2RpbmcoKTsKIH0KIAorV2ViRW5jb2RpbmdTb3VyY2UgV2ViRG9jdW1lbnQ6OmVuY29kaW5nU291
cmNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViRW5jb2RpbmdTb3VyY2U+
KGNvbnN0VW53cmFwPERvY3VtZW50PigpLT5lbmNvZGluZ1NvdXJjZSgpKTsKK30KKworV2ViU3Ry
aW5nIFdlYkRvY3VtZW50OjpoaW50RW5jb2RpbmcoKSBjb25zdAoreworICAgIHJldHVybiBXZWJT
dHJpbmcoU3RyaW5nOjpmcm9tVVRGOChjb25zdFVud3JhcDxEb2N1bWVudD4oKS0+aGludEVuY29k
aW5nKCkubmFtZSgpKSk7Cit9CisKIFdlYlVSTCBXZWJEb2N1bWVudDo6b3BlblNlYXJjaERlc2Ny
aXB0aW9uVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4gY29uc3RfY2FzdDxEb2N1bWVudCo+KGNv
bnN0VW53cmFwPERvY3VtZW50PigpKS0+b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBmOGQyMDM0ZmQ4
MzI3NTc5NGI2MTM0ZWU1ZDBlZjY3NzY1OTA1YWU4Li42M2U4NTk0ODY2MzY2ZWU5NGFkNzE1M2Uw
M2IwNDk3NzQ3ZGExYzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2luY2x1ZGUgIlN1YnN0aXR1dGVEYXRhLmgi
CiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisj
aW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaCIKICNpbmNs
dWRlICJXZWJDb25zb2xlTWVzc2FnZS5oIgpAQCAtOTMxLDYgKzkzMiwxMSBAQCB2b2lkIFdlYkZy
YW1lSW1wbDo6cmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpCiAgICAgbV9mcmFtZS0+bG9hZGVyKCkt
PnJlbG9hZChpZ25vcmVDYWNoZSk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVJbXBsOjpyZWxvYWRGcm9t
Q2FjaGUoKQoreworICAgIHZpZXcoKS0+c2V0UGFnZUVuY29kaW5nKFdlYlN0cmluZygpKTsKK30K
Kwogdm9pZCBXZWJGcmFtZUltcGw6OmxvYWRSZXF1ZXN0KGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJl
cXVlc3QpCiB7CiAgICAgQVNTRVJUKCFyZXF1ZXN0LmlzTnVsbCgpKTsKQEAgLTExMDIsNyArMTEw
OCwxMyBAQCBXZWJVUkxMb2FkZXIqIFdlYkZyYW1lSW1wbDo6Y3JlYXRlQXNzb2NpYXRlZFVSTExv
YWRlcihjb25zdCBXZWJVUkxMb2FkZXJPcHRpb25zJgogCiB2b2lkIFdlYkZyYW1lSW1wbDo6Y29t
bWl0RG9jdW1lbnREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCiB7Ci0gICAg
bV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmNvbW1pdERhdGEoZGF0YSwgbGVu
Z3RoKTsKKyAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBtX2ZyYW1lLT5sb2Fk
ZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoZGF0YVNvdXJjZUltcGwoKS0+aXNFbmNv
ZGluZ0RldGVjdGlvbkVuYWJsZWQoKSkgeworICAgICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgY29t
bWl0RGF0YSBoZXJlIGJlY2F1c2UgdGhlIGZpcnN0IGNhbGwgdG8gY29tbWl0RGF0YSBkZWxldGVz
IHRoZSBUZXh0UmVzb3VyY2VEZWNvZGVyLgorICAgICAgICBkb2N1bWVudExvYWRlci0+Y29tbWl0
RGF0YSgwLCAwKTsKKyAgICAgICAgZG9jdW1lbnRMb2FkZXItPndyaXRlcigpLT5jcmVhdGVEZWNv
ZGVySWZOZWVkZWQoKS0+c2V0VXNlc0VuY29kaW5nRGV0ZWN0b3IodHJ1ZSk7CisgICAgfQorICAg
IGRvY3VtZW50TG9hZGVyLT5jb21taXREYXRhKGRhdGEsIGxlbmd0aCk7CiB9CiAKIHVuc2lnbmVk
IFdlYkZyYW1lSW1wbDo6dW5sb2FkTGlzdGVuZXJDb3VudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IGRlMzhkMGRjYWVhN2Q3YWUwY2Q1NzE3
NmQxNzY1MjExMDAxM2ZiZGEuLjkxMTBhNTJjZmI0ZjQ5YWZlYjdmNjZhOGM0NDQzMWVhZGI0MjNh
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMjEs
NiArMTIxLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9p
ZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSk7CisgICAgdmlydHVhbCB2b2lkIHJlbG9hZEZyb21D
YWNoZSgpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0
Jik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRIaXN0b3J5SXRlbShjb25zdCBXZWJIaXN0b3J5SXRl
bSYpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkRGF0YSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YWRhOTdjZWQxNzc4YjNlNjgyMDBlOWRiODZkMWI1NmI1MzUzZjY5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuY3Bw
CkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViVGV4dEVu
Y29kaW5nRGV0ZWN0b3IuaCIKKworI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgorI2luY2x1ZGUg
IlRleHRFbmNvZGluZ0RldGVjdG9yLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgi
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6V2ViVGV4
dEVuY29kaW5nRGV0ZWN0b3IoY29uc3QgV2ViU3RyaW5nJiBoaW50RW5jb2RpbmcsIGNvbnN0IFdl
YlN0cmluZyYgZGVmYXVsdEVuY29kaW5nKQorICAgIDogbV9wcml2YXRlKFdlYkNvcmU6OlRleHRF
bmNvZGluZ0RldGVjdG9yOjpjcmVhdGUoV2ViQ29yZTo6VGV4dEVuY29kaW5nKGhpbnRFbmNvZGlu
ZyksIFdlYkNvcmU6OlRleHRFbmNvZGluZyhkZWZhdWx0RW5jb2RpbmcpKS5sZWFrUHRyKCkpCit7
Cit9CisKK1dlYlN0cmluZyBXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRkRGF0YShjb25zdCBj
aGFyKiBkYXRhLCBzaXplX3QgbGVuKQoreworICAgIHJldHVybiBXZWJTdHJpbmcoU3RyaW5nOjpm
cm9tVVRGOChtX3ByaXZhdGUtPmFkZERhdGEoZGF0YSwgbGVuKS5uYW1lKCkpKTsKK30KKworV2Vi
U3RyaW5nIFdlYlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmREYXRhKCkKK3sKKyAgICByZXR1cm4g
V2ViU3RyaW5nKFN0cmluZzo6ZnJvbVVURjgobV9wcml2YXRlLT5lbmREYXRhKCkubmFtZSgpKSk7
Cit9CisKK3ZvaWQgV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6OnJlc2V0KCkKK3sKKyAgICBtX3By
aXZhdGUucmVzZXQoMCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127146</attachid>
            <date>2012-02-15 02:58:20 -0800</date>
            <delta_ts>2012-02-22 09:52:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120215195818.patch</filename>
            <type>text/plain</type>
            <size>89516</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U0OTYyMDA3MDg1NjFk
M2ZjOTM1ZmFkYzU2NjIwOTE0ZjMwNGVmMS4uODM4NzE5NDRlNzMwZTJkNjkxNWFjOGI1ZjcyM2Rk
Yzc4MmU5MWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9ycyB0aGUgVGV4
dEVuY29kaW5nRGV0ZWN0b3IgaW50byBhIGNsYXNzIHdoaWNoIGNhbiBiZSBleGNoYW5nZWQgZGVw
ZW5kaW5nIG9uIHRoZSBkZXRlY3RvciB5b3Ugd2FudC4KKyAgICAgICAgVGhlcmUgc2hvdWxkIGJl
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtRWZs
LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6aGludEVuY29kaW5nKTogR2V0cyB0aGUgaGludEVuY29kaW5n
IHRoYXQgd2FzIHVzZWQgaW4gdGhlIGRlY29kZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6ZW5jb2RpbmdTb3VyY2UpOiBHZXRzIHRoZSBlbmNvZGluZyBzb3VyY2UuCisgICAgICAgIChE
b2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwOiBNb3Zl
ZCBLYW5qaUNvZGUgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6
OlRleHRSZXNvdXJjZURlY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVj
b2Rlcjo6c2hvdWxkQXV0b0RldGVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZWNvZGUpOiBVc2UgVGV4dEVuY29kaW5nRGV0ZWN0b3IuCisgICAgICAgIChXZWJD
b3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6IFVzZSBUZXh0RW5jb2RpbmdEZXRlY3Rv
ci4KKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjplbmNvZGluZ1Nv
dXJjZSk6IEFkZGVkLiBSZXR1cm5zIHRoZSBlbmNvZGluZyBzb3VyY2UuCisgICAgICAgIChUZXh0
UmVzb3VyY2VEZWNvZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6
OnNldFVzZXNFbmNvZGluZ0RldGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJj
ZURlY29kZXI6OnNldEhpbnRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3Vy
Y2VEZWNvZGVyOjpoaW50RW5jb2RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvS2FuamlD
b2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okth
bmppQ29kZTo6anVkZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvS2FuamlDb2RlLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEthbmppQ29kZSk6CisgICAgICAgIChXZWJDb3Jl
OjpLYW5qaUNvZGU6OklTa2FuamkpOgorICAgICAgICAoV2ViQ29yZTo6S2FuamlDb2RlOjpJU2th
bmEpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dEVuY29kaW5nRGV0ZWN0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3I6On5UZXh0RW5jb2RpbmdEZXRlY3Rvcik6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRkRGF0YSk6IENhbGxl
ZCB3aGVuIGFkZGluZyBkYXRhIHRvIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgKFdl
YkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmREYXRhKTogQ2FsbGVkIHdoZW4gdGhlcmUg
aXMgbm8gbW9yZSBkYXRhIHNvIHRoZSBlbmNvZGluZyBkZXRlY3RvciBjYW4gbWFrZSBhIGZpbmFs
IGRlY2lzaW9uLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JX
aXRoSUNVQW5kS2FuamlDb2RlLmNwcDogVGV4dEVuY29kaW5nRGV0ZWN0b3IgZm9yIHBvcnRzIHRo
YXQgdXNlZCBUZXh0RW5jb2RpbmdEZXRlY3RvcklDVS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpU
ZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKTogSWYg
dGhlIGRhdGEgd2FzIGFsbCBhc2NpaSBjaGFyYWN0ZXJzLCB0aGVuIGRvbid0IHJ1biB0aGUgZW5j
b2RpbmcgZGV0ZWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcldp
dGhJQ1VBbmRLYW5qaUNvZGU6OmVuZERhdGEpOiBSZXR1cm5zIHRoZSBkZWZhdWx0IGVuY29kaW5n
IGlmIHRoZSBkYXRhIHdhcyBhbGwgYXNjaWkgY2hhcmFjdGVycy4KKyAgICAgICAgKFdlYkNvcmU6
OlRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZTo6ZGV0ZWN0VGV4dEVuY29k
aW5nV2l0aEthbmppQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhJQ1VBbmRLYW5qaUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNyZWF0ZSk6IFJldHVybnMgYSBuZXcg
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEth
bmppQ29kZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvcldp
dGhLYW5qaUNvZGUuY3BwOiBUZXh0RW5jb2RpbmdEZXRlY3RvciBmb3IgcG9ydHMgdGhhdCB1c2Vk
IFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlOjpUZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhLYW5qaUNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0
ZWN0b3JXaXRoS2FuamlDb2RlOjphZGREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZTo6ZW5kRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRlKTogUmV0dXJucyBhIG5ldyBUZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhLYW5qaUNvZGUuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRl
Y3RvcldpdGhLYW5qaUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aEth
bmppQ29kZSk6CisKIDIwMTItMDItMTMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBUaGUgc2Nyb2xsaW5nIHRyZWUgbmVlZHMgdG8ga25vdyBhYm91dCB0
aGUgYmFjayBmb3J3YXJkIHN0YXRlIG9mIHRoZSBwYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDI4ZTIxY2JkMDQ4MDQyY2Y5MzU0YmJhZjJkZmE5MDYwODZlMDA5NzguLjg2NTYyNDFl
YTI2OTAzM2IxMGZjMDk3OTc3ZTVjNGJlYmI0MDUyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTItMDItMTUgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hp
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkaW5nIGZlYXR1cmUgdGhhdCBzdWdnZXN0cyB0dXJu
aW5nIG9uIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJE
YXRhU291cmNlLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRGF0YVNvdXJjZSk6
CisgICAgICAgICogcHVibGljL1dlYkRvY3VtZW50Lmg6CisgICAgICAgIChXZWJEb2N1bWVudCk6
CisgICAgICAgICogcHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaC4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlRleHRFbmNvZGluZ0RldGVjdG9yOjp+V2ViVGV4dEVuY29kaW5nRGV0
ZWN0b3IpOgorICAgICAgICAqIHNyYy9XZWJEYXRhU291cmNlSW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjplbmFibGVFbmNvZGluZ0RldGVjdGlvbik6IEVuYWJs
ZXMgZW5jb2RpbmcgZGV0ZWN0aW9uIGZvciB0aGlzIGRhdGFzb3VyY2UuIFR1cm5zIG9uIGZsYWcg
bV9lbmNvZGluZ0RldGVjdGlvbkVuYWJsZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEYXRhU291cmNlSW1wbDo6bWFpblJlc291cmNlRGF0YSk6IFJldHVybnMgdGhl
IGRhdGEgZm9yIHRoZSBtYWluIHJlc291cmNlLgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhU291
cmNlSW1wbDo6V2ViRGF0YVNvdXJjZUltcGwpOgorICAgICAgICAqIHNyYy9XZWJEYXRhU291cmNl
SW1wbC5oOgorICAgICAgICAoV2ViRGF0YVNvdXJjZUltcGwpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJEYXRhU291cmNlSW1wbDo6aXNFbmNvZGluZ0RldGVjdGlvbkVuYWJsZWQpOiBSZXR1cm5zIGZs
YWcgaWYgZW5jb2RpbmcgZGV0ZWN0aW9uIHNob3VsZCBiZSBlbmFibGVkIGZvciB0aGlzIGRhdGFz
b3VyY2UuCisgICAgICAgIFdlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhIHVzZXMgdGhp
cy4KKyAgICAgICAgKiBzcmMvV2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJE
b2N1bWVudDo6ZW5jb2RpbmdTb3VyY2UpOiBXcmFwcyBEb2N1bWVudDo6ZW5jb2RpbmdTb3VyY2Uo
KQorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6OmhpbnRF
bmNvZGluZyk6IFdyYXBzIERvY3VtZW50OjpoaW50RW5jb2RpbmcoKQorICAgICAgICAqIHNyYy9X
ZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnJlbG9hZEZy
b21DYWNoZSk6IFJlbG9hZHMgZnJvbSBjYWNoZSBhbmQgb25seSBsb2FkcyB3aGVuIHRoZXJlIGlz
IG5vIGNhY2hlLiBEYXRhIG1heSBiZSBzdGFsZS4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhKTogVHVybnMgb24gdGhl
IGVuY29kaW5nIGRldGVjdG9yIGlmIGl0IGhhcyBiZWVuIGVuYWJsZWQgaW4gdGhlIGRhdGFzb3Vy
Y2UuCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAoV2ViRnJhbWVJbXBs
KToKKyAgICAgICAgKiBzcmMvV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5j
cHAuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJUZXh0RW5jb2RpbmdE
ZXRlY3Rvcjo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IpOiBXcmFwcGVyIGZvciBUZXh0RW5jb2Rp
bmdEZXRlY3RvcgorICAgICAgICAoV2ViS2l0OjpXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRk
RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmREYXRh
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6OnJlc2V0KToKKwog
MjAxMi0wMi0xMyAgWW9zaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Zvcm1zXSBVc2UgZW51bSBpbnN0ZWFkIG9mIGJvb2wgZm9yIEhUTUxJbnB1dEVsZW1lbnQ6
OnNldFZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NDljZWIxMDcwYzYz
NmVjMjFiMzBkOTBkODlhZmUwYzQ5OTg5MzQ4Li4zMzg2YTA2YWNjZTRiNzJiOTQ4OTBiODI1Zjky
YzE0ZTMxYzE1Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMyOTksNiAr
MzI5OSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9EZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9IeXBoZW5hdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvSHlw
aGVuYXRpb24uaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9LYW5qaUNvZGUuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0thbmppQ29kZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xpbmVCcmVha0l0ZXJhdG9yUG9vbElDVS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuaCBcCkBAIC0zMzM4LDcgKzMzNDAsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dERpcmVj
dGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBc
Ci0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9y
V2l0aEthbmppQ29kZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ1JlZ2lzdHJ5LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1CbGFja0JlcnJ5LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNt
YWtlCmluZGV4IGNlYzc4MWE0MmJjNzRlNjBmYTgxOTRlZTZhMTBkYmM5NmFjZDc1ZWQuLjRhNDZi
MDAxOTdiMWJkODA2MTIwM2UzNWRlZDY3YWRkOGE5NGM0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUJsYWNrQmVycnkuY21ha2UKQEAgLTc4LDkgKzc4LDEwIEBAIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJbWFnZUVuY29kZXIu
Y3BwCiAgICAgcGxhdGZvcm0vcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcAogICAgIHBsYXRmb3Jt
L3Bvc2l4L1NoYXJlZEJ1ZmZlclBPU0lYLmNwcAorICAgIHBsYXRmb3JtL3RleHQvS2FuamlDb2Rl
LmNwcAogICAgIHBsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRlcmF0b3JJQ1UuY3BwCiAgICAgcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCi0gICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2Rp
bmdEZXRlY3RvcklDVS5jcHAKKyAgICBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9y
V2l0aElDVUFuZEthbmppQ29kZS5jcHAKICAgICBwbGF0Zm9ybS90ZXh0L2JsYWNrYmVycnkvVGV4
dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUJsYWNrQmVycnkuY3BwCiApCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1FZmwuY21ha2UKaW5kZXggMjhmMzY0MDgwNjFkOGI2MGU1YjkzZTZlMDdhNGNmMzc4MjBmM2Zm
YS4uZTQ1NDc3ZGI2NmFlMDc4ZTlhMWU3NGYwM2I2ZGY0YjI3NGMwM2YwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UKQEAgLTE3NSw3ICsxNzUsNyBAQCBFTkRJRiAoKQogSUYgKFdURl9VU0Vf
SUNVX1VOSUNPREUpCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGVkaXRpbmcv
U21hcnRSZXBsYWNlSUNVLmNwcAotICAgIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0
b3JJQ1UuY3BwCisgICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VB
bmRLYW5qaUNvZGUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9UZXh0QnJlYWtJdGVyYXRvcklDVS5j
cHAKICAgICBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKICAgKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDlkM2Y4MmMxOTQ0MzcyYmJhOTdiODRlYjU1ZmUzODIwNDBjMmZiOWMuLmI5NTgzMmU0
OWI0NzlkNTczYjQ1MzlhMTUwOGVjMzIzODFhMWU3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQw
NjEsNiArNDA2MSw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9CaWRpQ29udGV4dC5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uY3BwJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS90ZXh0L0h5cGhlbmF0aW9uLmgnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL3RleHQvS2FuamlDb2RlLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9LYW5q
aUNvZGUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9MaW5lRW5kaW5nLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmdEZWZhdWx0LmNwcCcs
CkBAIC00MDkwLDggKzQwOTIsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjVXNlckRlZmluZWQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcklD
VS5jcHAnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JO
b25lLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9V
bmljb2RlUmFuZ2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBmZGFjODhjZWE4MjkzNjQ0MTZiMDRkZjgwYmIwZmVhODlh
MTk3Y2E3Li41MTJjZGU1OGQ0ODBjZjQzNzgyNDkzMGI0M2VmYjYyNTA1M2U3NWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
NTA0LDEwICs1NTA0LDEzIEBACiAJCUMwQzA1NENFMTExOEM4RTQwMENFMjYzNiAvKiBJRExTdHJ1
Y3R1cmUucG0gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0Y4QjMwODBBMzAwRkVBMDBGNjFBQjggLyogSURMU3RydWN0dXJlLnBtICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMwREZDODcwMERCNjg0MUEwMDNF
QUU3QyAvKiBKU0NvbnNvbGVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzBERkM4NkYwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29uc29sZUN1
c3RvbS5jcHAgKi87IH07CiAJCUMwRjJBNDQxMTM4NjlBQUIwMDY2QzUzNCAvKiBwcmVwcm9jZXNz
b3IucG0gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEYy
QTQzRjEzODY5QTI4MDA2NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUMxMDVEQTYyMEYzQUE2OEYwMDFERDQ0
RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTA1REE2MTBGM0FBNjhGMDAxREQ0NEYgLyogVGV4dEVu
Y29kaW5nRGV0ZWN0b3JJQ1UuY3BwICovOyB9OwogCQlDMTA1REE2NDBGM0FBNkI4MDAxREQ0NEYg
LyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMxMDVEQTYzMEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oICovOyB9OwogCQlDMzMwQTIyMzEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9v
c2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMzMw
QTIyMTEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzM3Q0RFQkQxNDlFRjIwMzAwNDIwOTBE
IC8qIENvbG9yQ2hvb3NlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3NlckNs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUMzQTA4OEIyMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VB
bmRLYW5qaUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzNBMDg4QjAxNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0
aElDVUFuZEthbmppQ29kZS5jcHAgKi87IH07CisJCUMzQTA4OEIzMTRFOTU1RTIwMDRBQTkwQSAv
KiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzQTA4OEIxMTRFOTU1RTIwMDRBQTkw
QSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCAqLzsgfTsKKwkJ
QzNBMDg4QzAxNEVCQkNENjAwNEFBOTBBIC8qIEthbmppQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDM0EwODhCRTE0RUJCQ0Q2MDA0QUE5MEEg
LyogS2FuamlDb2RlLmNwcCAqLzsgfTsKKwkJQzNBMDg4QzExNEVCQkNENjAwNEFBOTBBIC8qIEth
bmppQ29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzNBMDg4QkYxNEVCQkNENjAwNEFBOTBBIC8qIEthbmppQ29kZS5oICovOyB9OwogCQlDNTBCNTYx
NjEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTBCNTYxNDEyMTE5RDIzMDA4QjQ2RTAgLyog
R3JvdXBTZXR0aW5ncy5jcHAgKi87IH07CiAJCUM1MEI1NjE3MTIxMTlEMjMwMDhCNDZFMCAvKiBH
cm91cFNldHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTBCNTYxNTEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM1MEQwRTgyMEZGNDI3
MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MEQwRTgwMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9y
YWdlTmFtZXNwYWNlLmNwcCAqLzsgfTsKQEAgLTEyNDQ2LDEwICsxMjQ0OSwxMyBAQAogCQlDMDQ2
RTFBQjEyMDhBOUZFMDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbGl6ZWRTdHJpbmdzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBERkM4NkYwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29uc29s
ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbnNv
bGVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEYyQTQzRjEzODY5
QTI4MDA2NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IHByZXByb2Nl
c3Nvci5wbTsgcGF0aCA9IHNjcmlwdHMvcHJlcHJvY2Vzc29yLnBtOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlDMTA1REE2MTBGM0FBNjhGMDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0
ZWN0b3JJQ1UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dEVu
Y29kaW5nRGV0ZWN0b3JJQ1UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTA1
REE2MzBGM0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzMzMEEyMjExM0VDMTk2QjAwMDBCNDVCIC8qIENvbG9yQ2hv
b3Nlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xvckNob29zZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8q
IENvbG9yQ2hvb3NlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b2xvckNob29zZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzNBMDg4
QjAxNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmpp
Q29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDM0EwODhCMTE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JX
aXRoSUNVQW5kS2FuamlDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRl
eHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDM0EwODhCRTE0RUJCQ0Q2MDA0QUE5MEEgLyogS2FuamlDb2RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEthbmppQ29kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMzQTA4OEJGMTRFQkJDRDYwMDRBQTkwQSAvKiBLYW5q
aUNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2FuamlDb2RlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MEI1NjE0MTIxMTlEMjMwMDhCNDZFMCAvKiBH
cm91cFNldHRpbmdzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdy
b3VwU2V0dGluZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTBCNTYxNTEy
MTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHcm91cFNldHRpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM1MEQwRTgwMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0b3JhZ2VOYW1lc3BhY2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg5NTAsNiArMTg5NTYsOCBAQAogCQkJCUE4QzQw
MjkyMTM0OEIyMjIwMDYzRjFFNSAvKiBCaWRpUnVuTGlzdC5oICovLAogCQkJCUNFQ0NGQzNBMTQx
OTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCAqLywKIAkJCQkzNzVDRDIz
MTExOUQ0M0M4MDBBMkE4NTkgLyogSHlwaGVuYXRpb24uaCAqLywKKwkJCQlDM0EwODhCRTE0RUJC
Q0Q2MDA0QUE5MEEgLyogS2FuamlDb2RlLmNwcCAqLywKKwkJCQlDM0EwODhCRjE0RUJCQ0Q2MDA0
QUE5MEEgLyogS2FuamlDb2RlLmggKi8sCiAJCQkJQTVBQkI3ODYxM0I5MDRCQzAwRjE5N0UzIC8q
IExpbmVCcmVha0l0ZXJhdG9yUG9vbElDVS5oICovLAogCQkJCTg5QjVFQTlGMTFFODAwM0QwMEYy
MzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLywKIAkJCQk4OUI1RUFBMDExRTgwMDNEMDBGMjM2N0Ug
LyogTGluZUVuZGluZy5oICovLApAQCAtMTg5OTMsNyArMTkwMDEsOCBAQAogCQkJCUIyQzNEQTE2
MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmcuY3BwICovLAogCQkJCUIyQzNEQTE3MEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmcuaCAqLywKIAkJCQlDMTA1REE2MzBGM0FBNkI4
MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCAqLywKLQkJCQlDMTA1REE2MTBGM0FB
NjhGMDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwICovLAorCQkJCUMzQTA4
OEIwMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5q
aUNvZGUuY3BwICovLAorCQkJCUMzQTA4OEIxMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCAqLywKIAkJCQlCMkMzREExODBEMDA2QzFE
MDBFRjZGMjYgLyogVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwICovLAogCQkJCUIyQzNEQTE5MEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmdSZWdpc3RyeS5oICovLAogCQkJCUJDRDNGOTgy
MTMyNkM5MzcwMDA5OEE2MCAvKiBUZXh0T3JpZW50YXRpb24uaCAqLywKQEAgLTI0MTk0LDYgKzI0
MjAzLDggQEAKIAkJCQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyogV2ViU29ja2V0RXh0ZW5z
aW9uUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJGQzE0RTU0MDU4MDA4N0ZG
QkEgLyogU2hhZG93Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3Q0MzQUUzMTRFOEU0
QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlD
M0EwODhCMzE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5k
S2FuamlDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDM0EwODhDMTE0RUJCQ0Q2MDA0QUE5MEEg
LyogS2FuamlDb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI2OTI3LDcgKzI2OTM4LDYgQEAKIAkJ
CQk5N0JDODRCMzEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNDYwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRF
bmNvZGluZy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDMTA1REE2MjBGM0FBNjhGMDAxREQ0NEYg
LyogVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RB
NDgwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzM0ExNDJFMEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRjU1QjNERDcxMjUxRjEyRDAwM0VGMjY5IC8qIFRleHRGaWVsZElucHV0
VHlwZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3MTM2LDYgKzI3MTQ2LDggQEAKIAkJCQk0QTk1
N0YwNjE0RTI0MTJBMDA0OURCRkIgLyogV2ViU29ja2V0RXh0ZW5zaW9uRGlzcGF0Y2hlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1NzJFOTJGQjE0RTU0MDU4MDA4N0ZGQkEgLyogU2hhZG93Um9v
dExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdDQzNBRTIxNEU4RTRBMjAwODk0OTg4IC8q
IE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzNBMDg4QjIxNEU5
NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlDM0EwODhDMDE0RUJCQ0Q2MDA0QUE5MEEgLyogS2FuamlD
b2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhNGJkYWQ2ODVj
YzM0ZGNlMmRiMDZjNjIwNzljYmRjOWY1MTRjZWMyLi41NzkwOTZlNWM5MTM3M2Y0MjlhNDAwYzBl
ZTQxZjZlYjdhNDVlYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNDQsNiArNDQsNyBAQAog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eVBv
bGljeS5oIgogI2luY2x1ZGUgIlN0cmluZ1dpdGhEaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJUZXh0
UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgpAQCAtOTg3LDYgKzk4OCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldERlY29kZXIoUGFzc1JlZlB0cjxUZXh0UmVzb3VyY2VEZWNv
ZGVyPik7CiAgICAgVGV4dFJlc291cmNlRGVjb2RlciogZGVjb2RlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGVjb2Rlci5nZXQoKTsgfQogCisgICAgY29uc3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2Rp
bmcoKSBjb25zdCB7IHJldHVybiBtX2RlY29kZXItPmhpbnRFbmNvZGluZygpOyB9CisgICAgVGV4
dFJlc291cmNlRGVjb2Rlcjo6RW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdTb3VyY2UoKSBjb25zdCB7
IHJldHVybiBtX2RlY29kZXItPmVuY29kaW5nU291cmNlKCk7IH0KKwogICAgIFN0cmluZyBkaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIFBh
c3NSZWZQdHI8U3RyaW5nSW1wbD4gZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNvZGluZyhQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+KSBjb25zdDsKICAgICB2b2lkIGRpc3BsYXlCdWZmZXJNb2RpZmll
ZEJ5RW5jb2RpbmcoVUNoYXIqIGJ1ZmZlciwgdW5zaWduZWQgbGVuKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAppbmRleCBjODE5OGUzMDQ3
NmNmZjUxYjI4NjAxNjk5MjA4NjYwNzc4OTQ0ZmQ2Li44YzcyMjY4ZGIyZmY5NWFhYzg2NjY5OTRj
OTA5ZmU0M2QyMWNhZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJl
c291cmNlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJj
ZURlY29kZXIuY3BwCkBAIC03MCwyMTUgKzcwLDYgQEAgc3RhdGljIFRleHRFbmNvZGluZyBmaW5k
VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqIGVuY29kaW5nTmFtZSwgaW50IGxlbmd0aCkKICAgICBy
ZXR1cm4gYnVmZmVyLmRhdGEoKTsKIH0KIAotY2xhc3MgS2FuamlDb2RlIHsKLXB1YmxpYzoKLSAg
ICBlbnVtIFR5cGUgeyBBU0NJSSwgSklTLCBFVUMsIFNKSVMsIFVURjE2LCBVVEY4IH07Ci0gICAg
c3RhdGljIGVudW0gVHlwZSBqdWRnZShjb25zdCBjaGFyKiBzdHIsIGludCBsZW5ndGgpOwotICAg
IHN0YXRpYyBjb25zdCBpbnQgRVNDID0gMHgxYjsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBzamlzTWFwWzI1Nl07Ci0gICAgc3RhdGljIGludCBJU2thbmppKGludCBjb2RlKQotICAg
IHsKLSAgICAgICAgaWYgKGNvZGUgPj0gMHgxMDApCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAg
ICAgICAgcmV0dXJuIHNqaXNNYXBbY29kZSAmIDB4ZmZdICYgMTsKLSAgICB9Ci0gICAgc3RhdGlj
IGludCBJU2thbmEoaW50IGNvZGUpCi0gICAgewotICAgICAgICBpZiAoY29kZSA+PSAweDEwMCkK
LSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4gc2ppc01hcFtjb2RlICYgMHhm
Zl0gJiAyOwotICAgIH0KLX07Ci0KLWNvbnN0IHVuc2lnbmVkIGNoYXIgS2FuamlDb2RlOjpzamlz
TWFwWzI1Nl0gPSB7Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAg
ICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLSAgICAwLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIs
IDIsIDIsIDIsIDIsIDIsIDIsIDIsCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwg
MiwgMiwgMiwgMiwgMiwgMiwKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LCAyLCAyLCAyLCAyLAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwg
MCwgMAotfTsKLQotLyoKLSAqIEVVQy1KUCBpcwotICogICAgIFsweGExIC0gMHhmZV1bMHhhMSAt
IDB4ZmVdCi0gKiAgICAgMHg4ZVsweGExIC0gMHhmZV0oU1MyKQotICogICAgIDB4OGZbMHhhMSAt
IDB4ZmVdWzB4YTEgLSAweGZlXShTUzMpCi0gKgotICogU2hpZnRfSmlzIGlzCi0gKiAgICAgWzB4
ODEgLSAweDlmLCAweGUwIC0gMHhlZigweGZlPyldWzB4NDAgLSAweDdlLCAweDgwIC0gMHhmY10K
LSAqCi0gKiBTaGlmdF9KaXMgSGFua2FrdSBLYW5hIGlzCi0gKiAgICAgWzB4YTEgLSAweGRmXQot
ICovCi0KLS8qCi0gKiBLYW5qaUNvZGU6Omp1ZGdlKCkgaXMgYmFzZWQgb24ganVkZ2VfamNvZGUo
KSBmcm9tIGp2aW0KLSAqICAgICBodHRwOi8vaHAudmVjdG9yLmNvLmpwL2F1dGhvcnMvVkEwMDM0
NTcvdmltLwotICoKLSAqIFNwZWNpYWwgVGhhbmtzIHRvIEtlbmljaGkgVHN1Y2hpZGEKLSAqLwot
Ci1lbnVtIEthbmppQ29kZTo6VHlwZSBLYW5qaUNvZGU6Omp1ZGdlKGNvbnN0IGNoYXIqIHN0ciwg
aW50IHNpemUpCi17Ci0gICAgZW51bSBUeXBlIGNvZGU7Ci0gICAgaW50IGk7Ci0gICAgaW50IGJm
ciA9IGZhbHNlOyAgICAgICAgICAgIC8qIEthbmEgTW9qaSAqLwotICAgIGludCBiZmsgPSAwOyAg
ICAgICAgICAgICAgICAvKiBFVUMgS2FuYSAqLwotICAgIGludCBzamlzID0gMDsKLSAgICBpbnQg
ZXVjID0gMDsKLQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KHN0cik7Ci0KLSAgICBjb2RlID0gQVNDSUk7Ci0KLSAg
ICBpID0gMDsKLSAgICB3aGlsZSAoaSA8IHNpemUpIHsKLSAgICAgICAgaWYgKHB0cltpXSA9PSBF
U0MgJiYgKHNpemUgLSBpID49IDMpKSB7Ci0gICAgICAgICAgICBpZiAoKHB0cltpICsgMV0gPT0g
JyQnICYmIHB0cltpICsgMl0gPT0gJ0InKQotICAgICAgICAgICAgfHwgKHB0cltpICsgMV0gPT0g
JygnICYmIHB0cltpICsgMl0gPT0gJ0InKSkgewotICAgICAgICAgICAgICAgIGNvZGUgPSBKSVM7
Ci0gICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgfSBlbHNlIGlm
ICgocHRyW2kgKyAxXSA9PSAnJCcgJiYgcHRyW2kgKyAyXSA9PSAnQCcpCi0gICAgICAgICAgICAg
ICAgICAgIHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdKJykpIHsKLSAg
ICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVh
azsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAy
XSA9PSAnSScpIHsKLSAgICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAgICAgICAg
IGkgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKScgJiYgcHRy
W2kgKyAyXSA9PSAnSScpIHsKLSAgICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAg
ICAgICAgIGkgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaSsr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYmZyID0gZmFsc2U7Ci0gICAgICAgICAgICBi
ZmsgPSAwOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHB0cltpXSA8IDB4MjAp
IHsKLSAgICAgICAgICAgICAgICBiZnIgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBiZmsgPSAw
OwotICAgICAgICAgICAgICAgIC8qID8/IGNoZWNrIGt1ZG9rdXRlbiA/PyAmJiA/PyBoaXJhZ2Fu
YSA/PyAqLwotICAgICAgICAgICAgICAgIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAw
eDgxKQotICAgICAgICAgICAgICAgICAgICAgICAgJiYgKDB4NDEgPD0gcHRyW2kgLSAxXSAmJiBw
dHJbaSAtIDFdIDw9IDB4NDkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOwot
ICAgICAgICAgICAgICAgICAgICBzamlzICs9IDEwMDsgICAgICAgIC8qIGt1ZG9rdXRlbiAqLwot
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHhh
MSkKLSAgICAgICAgICAgICAgICAgICAgICAgICYmICgweGEyIDw9IHB0cltpIC0gMV0gJiYgcHRy
W2kgLSAxXSA8PSAweGFhKSkgewotICAgICAgICAgICAgICAgICAgICBjb2RlID0gRVVDOwotICAg
ICAgICAgICAgICAgICAgICBldWMgKz0gMTAwOyAgICAgICAgIC8qIGt1ZG9rdXRlbiAqLwotICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHg4Mikg
JiYgKDB4YTAgPD0gcHRyW2kgLSAxXSkpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcyArPSA0
MDsgICAgICAgICAvKiBoaXJhZ2FuYSAqLwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkg
Pj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kgLSAxXSkpIHsK
LSAgICAgICAgICAgICAgICAgICAgZXVjICs9IDQwOyAgICAgICAgICAvKiBoaXJhZ2FuYSAqLwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
LyogPz8gY2hlY2sgaGlyYWdhbmEgb3Iga2F0YW5hID8/ICovCi0gICAgICAgICAgICAgICAgaWYg
KChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHg4MikgJiYgKDB4YTAgPD0gcHRyW2kgKyAx
XSkpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcysrOyAgICAgLyogaGlyYWdhbmEgKi8KLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHg4
MykKLSAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoMHg0MCA8PSBwdHJbaSArIDFdICYmIHB0
cltpICsgMV0gPD0gMHg5ZikpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcysrOyAgICAgLyog
a2F0YWthbmEgKi8KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYm
IChwdHJbaV0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgZXVjKys7ICAgICAgLyogaGlyYWdhbmEgKi8KLSAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHhhNSkgJiYgKDB4YTAgPD0gcHRy
W2kgKyAxXSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZXVjKys7ICAgICAgLyoga2F0YWthbmEg
Ki8KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKGJmcikgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoKGkgPj0gMSkgJiYgKDB4NDAgPD0gcHRyW2ldICYmIHB0cltpXSA8
PSAweGEwKSAmJiBJU2thbmppKHB0cltpIC0gMV0pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsK
LSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAxKSAmJiAoMHg4MSA8PSBwdHJb
aSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHg5ZikgJiYgKCgweDQwIDw9IHB0cltpXSAmJiBwdHJb
aV0gPCAweDdlKSB8fCAoMHg3ZSA8IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmYykpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAx
KSAmJiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpICYmICgweGExIDw9IHB0cltp
IC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
Y29kZSA9IEVVQzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAxKSAmJiAoMHhmZCA8PSBwdHJbaSAt
IDFdICYmIHB0cltpIC0gMV0gPD0gMHhmZSkgJiYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8
PSAweGZlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IEVVQzsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICgoaSA+PSAxKSAmJiAocHRyW2ldIDwgMHhhMCB8fCAweGRmIDwgcHRyW2ldKSAmJiAo
MHg4ZSA9PSBwdHJbaSAtIDFdKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNK
SVM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvZGUgPSBTSklTOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVha0Jy
ZWFrOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGE2KSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXVjKys7ICAgICAgLyogc2ppcyBoYW5rYWt1IGthbmEga2lnbyAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJb
aV0gPD0gMHhkZikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgIC8q
IHNqaXMgaGFua2FrdSBrYW5hICovCi0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZXVjKys7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4OGUg
PT0gcHRyW2ldKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXVjKys7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4MjAgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAw
eDdmKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ppcysrOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgYmZyID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBiZmsgPSAwOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoc2l6ZSAtIGkgPD0gMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgOwotICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4YTEgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSAr
IDFdIDw9IDB4ZGYpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVVQyBLQU5BIG9yIFNK
SVMgS0FOSkkgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiZmsgPT0gMSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGV1YyArPSAxMDA7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBiZmsrKzsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGkrKzsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIC8qIFNKSVMgb25seSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9
IFNKSVM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4ODEgPD0gcHRyW2ld
ICYmIHB0cltpXSA8PSAweDlmKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIFNKSVMgb25seSAq
LwotICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKChzaXplIC0gaSA+PSAxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICgoMHg0
MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHg3ZSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8fCAoMHg4MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhmYykp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4ZmQgPD0gcHRyW2ldICYm
IHB0cltpXSA8PSAweGZlKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEVVQyBvbmx5ICovCi0g
ICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgo
c2l6ZSAtIGkgPj0gMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoMHhhMSA8PSBw
dHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhmZSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAgICAgOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGJmciA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgIGJmayA9IDA7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaSsrOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChjb2Rl
ID09IEFTQ0lJKSB7Ci0gICAgICAgIGlmIChzamlzID4gZXVjKSB7Ci0gICAgICAgICAgICBjb2Rl
ID0gU0pJUzsKLSAgICAgICAgfSBlbHNlIGlmIChzamlzIDwgZXVjKSB7Ci0gICAgICAgICAgICBj
b2RlID0gRVVDOwotICAgICAgICB9Ci0gICAgfQotYnJlYWtCcmVhazoKLSAgICByZXR1cm4gKGNv
ZGUpOwotfQotCiBUZXh0UmVzb3VyY2VEZWNvZGVyOjpDb250ZW50VHlwZSBUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZXRlcm1pbmVDb250ZW50VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShtaW1lVHlwZSwgInRleHQvY3NzIikpCkBAIC0zMDUs
NyArOTYsNyBAQCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpUZXh0UmVzb3VyY2VEZWNvZGVyKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFRleHRFbmNvZAogICAgIDogbV9jb250ZW50VHlwZShk
ZXRlcm1pbmVDb250ZW50VHlwZShtaW1lVHlwZSkpCiAgICAgLCBtX2VuY29kaW5nKGRlZmF1bHRF
bmNvZGluZyhtX2NvbnRlbnRUeXBlLCBzcGVjaWZpZWREZWZhdWx0RW5jb2RpbmcpKQogICAgICwg
bV9zb3VyY2UoRGVmYXVsdEVuY29kaW5nKQotICAgICwgbV9oaW50RW5jb2RpbmcoMCkKKyAgICAs
IG1faGludEVuY29kaW5nKCkKICAgICAsIG1fY2hlY2tlZEZvckJPTShmYWxzZSkKICAgICAsIG1f
Y2hlY2tlZEZvckNTU0NoYXJzZXQoZmFsc2UpCiAgICAgLCBtX2NoZWNrZWRGb3JIZWFkQ2hhcnNl
dChmYWxzZSkKQEAgLTU4NiwyNSArMzc3LDYgQEAgYm9vbCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpj
aGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGV0ZWN0SmFwYW5l
c2VFbmNvZGluZyhjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQotewotICAgIHN3aXRjaCAo
S2FuamlDb2RlOjpqdWRnZShkYXRhLCBsZW4pKSB7Ci0gICAgICAgIGNhc2UgS2FuamlDb2RlOjpK
SVM6Ci0gICAgICAgICAgICBzZXRFbmNvZGluZygiSVNPLTIwMjItSlAiLCBBdXRvRGV0ZWN0ZWRF
bmNvZGluZyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBLYW5qaUNvZGU6OkVV
QzoKLSAgICAgICAgICAgIHNldEVuY29kaW5nKCJFVUMtSlAiLCBBdXRvRGV0ZWN0ZWRFbmNvZGlu
Zyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBLYW5qaUNvZGU6OlNKSVM6Ci0g
ICAgICAgICAgICBzZXRFbmNvZGluZygiU2hpZnRfSklTIiwgQXV0b0RldGVjdGVkRW5jb2Rpbmcp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKLSAg
ICAgICAgY2FzZSBLYW5qaUNvZGU6OlVURjE2OgotICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRG
ODoKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQogLy8gV2UgdXNlIHRoZSBlbmNvZGlu
ZyBkZXRlY3RvciBpbiB0d28gY2FzZXM6CiAvLyAgIDEuIEVuY29kaW5nIGRldGVjdG9yIGlzIHR1
cm5lZCBPTiBhbmQgbm8gb3RoZXIgZW5jb2Rpbmcgc291cmNlIGlzCiAvLyAgICAgIGF2YWlsYWJs
ZSAodGhhdCBpcywgaXQncyBEZWZhdWx0RW5jb2RpbmcpLgpAQCAtNjE5LDcgKzM5MSw3IEBAIGJv
b2wgVGV4dFJlc291cmNlRGVjb2Rlcjo6c2hvdWxkQXV0b0RldGVjdCgpIGNvbnN0CiAgICAgLy8g
SnVzdCBjaGVja2luZyBtX2hpbnRFbmNvZGluZyBzdWZmaWNlcyBoZXJlIGJlY2F1c2UgaXQncyBv
bmx5IHNldAogICAgIC8vIGluIHNldEhpbnRFbmNvZGluZyB3aGVuIHRoZSBzb3VyY2UgaXMgQXV0
b0RldGVjdGVkRW5jb2RpbmcuCiAgICAgcmV0dXJuIG1fdXNlc0VuY29kaW5nRGV0ZWN0b3IKLSAg
ICAgICAgJiYgKG1fc291cmNlID09IERlZmF1bHRFbmNvZGluZyB8fCAobV9zb3VyY2UgPT0gRW5j
b2RpbmdGcm9tUGFyZW50RnJhbWUgJiYgbV9oaW50RW5jb2RpbmcpKTsgCisgICAgICAgICYmICht
X3NvdXJjZSA9PSBEZWZhdWx0RW5jb2RpbmcgfHwgKG1fc291cmNlID09IEVuY29kaW5nRnJvbVBh
cmVudEZyYW1lICYmIG1faGludEVuY29kaW5nLmlzVmFsaWQoKSkpOwogfQogCiBTdHJpbmcgVGV4
dFJlc291cmNlRGVjb2Rlcjo6ZGVjb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pCkBA
IC02MzgsMTUgKzQxMCwxNiBAQCBTdHJpbmcgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGVjb2RlKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pCiAgICAgICAgIGlmICghY2hlY2tGb3JIZWFkQ2hh
cnNldChkYXRhLCBsZW4sIG1vdmVkRGF0YVRvQnVmZmVyKSkKICAgICAgICAgICAgIHJldHVybiAi
IjsKIAotICAgIC8vIEZJWE1FOiBJdCBpcyB3cm9uZyB0byBjaGFuZ2UgdGhlIGVuY29kaW5nIGRv
d25zdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhbHJlYWR5IGRvbmUgc29tZSBkZWNvZGluZy4KICAgICBp
ZiAoc2hvdWxkQXV0b0RldGVjdCgpKSB7Ci0gICAgICAgIGlmIChtX2VuY29kaW5nLmlzSmFwYW5l
c2UoKSkKLSAgICAgICAgICAgIGRldGVjdEphcGFuZXNlRW5jb2RpbmcoZGF0YSwgbGVuKTsgLy8g
RklYTUU6IFdlIHNob3VsZCB1c2UgZGV0ZWN0VGV4dEVuY29kaW5nKCkgZm9yIGFsbCBsYW5ndWFn
ZXMuCi0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVGV4dEVuY29kaW5nIGRldGVjdGVkRW5j
b2Rpbmc7Ci0gICAgICAgICAgICBpZiAoZGV0ZWN0VGV4dEVuY29kaW5nKGRhdGEsIGxlbiwgbV9o
aW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29kaW5nKSkKLSAgICAgICAgICAgICAgICBzZXRFbmNv
ZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKCFtX2VuY29kaW5nRGV0ZWN0b3IpCisgICAgICAgICAgICBtX2VuY29kaW5n
RGV0ZWN0b3IgPSBUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRlKG1faGludEVuY29kaW5nLCBt
X2VuY29kaW5nKTsKKworICAgICAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNvZGluZyA9IG1f
ZW5jb2RpbmdEZXRlY3Rvci0+YWRkRGF0YShkYXRhLCBsZW4pOworICAgICAgICBpZiAoZGV0ZWN0
ZWRFbmNvZGluZy5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIHNldEVuY29kaW5nKGRldGVjdGVk
RW5jb2RpbmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsKKyAgICAgICAgICAgIG1fZW5jb2RpbmdE
ZXRlY3Rvci5jbGVhcigpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiAiIjsK
ICAgICB9CiAKICAgICBBU1NFUlQobV9lbmNvZGluZy5pc1ZhbGlkKCkpOwpAQCAtNjcwLDIxICs0
NDMsMjcgQEAgU3RyaW5nIFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuKQogCiBTdHJpbmcgVGV4dFJlc291cmNlRGVjb2Rlcjo6Zmx1c2goKQog
ewotICAgLy8gSWYgd2UgY2FuIG5vdCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgZXZlbiBhZnRlciBh
IGRvY3VtZW50IGlzIGNvbXBsZXRlbHkKLSAgIC8vIGxvYWRlZCwgd2UgbmVlZCB0byBkZXRlY3Qg
dGhlIGVuY29kaW5nIGlmIG90aGVyIGNvbmRpdGlvbnMgZm9yCi0gICAvLyBhdXRvZGV0ZWN0aW9u
IGlzIHNhdGlzZmllZC4KKyAgICAvLyBJZiB3ZSBjYW4gbm90IGlkZW50aWZ5IHRoZSBlbmNvZGlu
ZyBldmVuIGFmdGVyIGEgZG9jdW1lbnQgaXMgY29tcGxldGVseQorICAgIC8vIGxvYWRlZCwgd2Ug
bmVlZCB0byBkZXRlY3QgdGhlIGVuY29kaW5nIGlmIG90aGVyIGNvbmRpdGlvbnMgZm9yCisgICAg
Ly8gYXV0b2RldGVjdGlvbiBpcyBzYXRpc2ZpZWQuCiAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSAm
JiBzaG91bGRBdXRvRGV0ZWN0KCkKICAgICAgICAgJiYgKCghbV9jaGVja2VkRm9ySGVhZENoYXJz
ZXQgJiYgKG1fY29udGVudFR5cGUgPT0gSFRNTCB8fCBtX2NvbnRlbnRUeXBlID09IFhNTCkpIHx8
ICghbV9jaGVja2VkRm9yQ1NTQ2hhcnNldCAmJiAobV9jb250ZW50VHlwZSA9PSBDU1MpKSkpIHsK
LSAgICAgICAgIFRleHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOwotICAgICAgICAgaWYgKGRl
dGVjdFRleHRFbmNvZGluZyhtX2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLnNpemUoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9oaW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29k
aW5nKSkKLSAgICAgICAgICAgICBzZXRFbmNvZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0
ZWN0ZWRFbmNvZGluZyk7CisgICAgICAgIFRleHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOwor
ICAgICAgICBpZiAoIW1fZW5jb2RpbmdEZXRlY3RvcikgeworICAgICAgICAgICAgbV9lbmNvZGlu
Z0RldGVjdG9yID0gVGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNyZWF0ZShtX2hpbnRFbmNvZGluZywg
bV9lbmNvZGluZyk7CisgICAgICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0gbV9lbmNvZGluZ0Rl
dGVjdG9yLT5hZGREYXRhKG1fYnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuc2l6ZSgpKTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoIWRldGVjdGVkRW5jb2RpbmcuaXNWYWxpZCgpKQorICAgICAgICAg
ICAgZGV0ZWN0ZWRFbmNvZGluZyA9IG1fZW5jb2RpbmdEZXRlY3Rvci0+ZW5kRGF0YSgpOworICAg
ICAgICBpZiAoZGV0ZWN0ZWRFbmNvZGluZy5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzZXRFbmNv
ZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7CiAgICAgfQogCiAg
ICAgaWYgKCFtX2NvZGVjKQogICAgICAgICBtX2NvZGVjID0gbmV3VGV4dENvZGVjKG1fZW5jb2Rp
bmcpOwogCiAgICAgU3RyaW5nIHJlc3VsdCA9IG1fY29kZWMtPmRlY29kZShtX2J1ZmZlci5kYXRh
KCksIG1fYnVmZmVyLnNpemUoKSwgdHJ1ZSwgbV9jb250ZW50VHlwZSA9PSBYTUwgJiYgIW1fdXNl
TGVuaWVudFhNTERlY29kaW5nLCBtX3Nhd0Vycm9yKTsKKyAgICBtX2VuY29kaW5nRGV0ZWN0b3Iu
Y2xlYXIoKTsKICAgICBtX2J1ZmZlci5jbGVhcigpOwogICAgIG1fY29kZWMuY2xlYXIoKTsKICAg
ICBtX2NoZWNrZWRGb3JCT00gPSBmYWxzZTsgLy8gU2tpcCBCT00gYWdhaW4gd2hlbiByZS1kZWNv
ZGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNv
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCmluZGV4
IDc3MTE4NWZiNGQ1NzMwMzhmNzBmNzIxYmFhZGMxMTg1NGNhNTJjNzEuLmUxYjI1NzIwMjQ1YjRm
NzZjNzljZjM3NGI5ZmUwYjE3M2UwZjJmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Rl
eHRSZXNvdXJjZURlY29kZXIuaApAQCAtMjksNiArMjksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBIVE1MTWV0YUNoYXJzZXRQYXJzZXI7CitjbGFzcyBUZXh0RW5jb2RpbmdEZXRl
Y3RvcjsKIAogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFRl
eHRSZXNvdXJjZURlY29kZXI+IHsKIHB1YmxpYzoKQEAgLTUyLDYgKzUzLDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEVuY29kaW5nKGNvbnN0IFRleHRFbmNvZGluZyYsIEVuY29kaW5nU291cmNl
KTsKICAgICBjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9l
bmNvZGluZzsgfQogCisgICAgRW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdTb3VyY2UoKSBjb25zdCB7
IHJldHVybiBtX3NvdXJjZTsgfQorCisgICAgdm9pZCBzZXRVc2VzRW5jb2RpbmdEZXRlY3Rvcihi
b29sIHVzZXNFbmNvZGluZ0RldGVjdG9yKSB7IG1fdXNlc0VuY29kaW5nRGV0ZWN0b3IgPSB1c2Vz
RW5jb2RpbmdEZXRlY3RvcjsgfQorCiAgICAgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuZ3RoKTsKICAgICBTdHJpbmcgZmx1c2goKTsKIApAQCAtNjAsOSArNjUsMTAg
QEAgcHVibGljOgogICAgICAgICAvLyBoaW50RW5jb2RpbmcgaXMgZm9yIHVzZSB3aXRoIGF1dG9k
ZXRlY3Rpb24sIHdoaWNoIHNob3VsZCBiZSAKICAgICAgICAgLy8gb25seSBpbnZva2VkIHdoZW4g
aGludEVuY29kaW5nIGNvbWVzIGZyb20gYXV0by1kZXRlY3Rpb24uCiAgICAgICAgIGlmIChoaW50
RGVjb2RlciAmJiBoaW50RGVjb2Rlci0+bV9zb3VyY2UgPT0gQXV0b0RldGVjdGVkRW5jb2Rpbmcp
Ci0gICAgICAgICAgICBtX2hpbnRFbmNvZGluZyA9IGhpbnREZWNvZGVyLT5lbmNvZGluZygpLm5h
bWUoKTsKKyAgICAgICAgICAgIG1faGludEVuY29kaW5nID0gVGV4dEVuY29kaW5nKGhpbnREZWNv
ZGVyLT5lbmNvZGluZygpLm5hbWUoKSk7CiAgICAgfQotICAgCisgICAgY29uc3QgVGV4dEVuY29k
aW5nJiBoaW50RW5jb2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2hpbnRFbmNvZGluZzsgfQorCiAg
ICAgdm9pZCB1c2VMZW5pZW50WE1MRGVjb2RpbmcoKSB7IG1fdXNlTGVuaWVudFhNTERlY29kaW5n
ID0gdHJ1ZTsgfQogICAgIGJvb2wgc2F3RXJyb3IoKSBjb25zdCB7IHJldHVybiBtX3Nhd0Vycm9y
OyB9CiAKQEAgLTc4LDE0ICs4NCwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgY2hlY2tGb3JDU1ND
aGFyc2V0KGNvbnN0IGNoYXIqLCBzaXplX3QsIGJvb2wmIG1vdmVkRGF0YVRvQnVmZmVyKTsKICAg
ICBib29sIGNoZWNrRm9ySGVhZENoYXJzZXQoY29uc3QgY2hhciosIHNpemVfdCwgYm9vbCYgbW92
ZWREYXRhVG9CdWZmZXIpOwogICAgIGJvb2wgY2hlY2tGb3JNZXRhQ2hhcnNldChjb25zdCBjaGFy
Kiwgc2l6ZV90KTsKLSAgICB2b2lkIGRldGVjdEphcGFuZXNlRW5jb2RpbmcoY29uc3QgY2hhcios
IHNpemVfdCk7CiAgICAgYm9vbCBzaG91bGRBdXRvRGV0ZWN0KCkgY29uc3Q7CiAKICAgICBDb250
ZW50VHlwZSBtX2NvbnRlbnRUeXBlOwogICAgIFRleHRFbmNvZGluZyBtX2VuY29kaW5nOwogICAg
IE93blB0cjxUZXh0Q29kZWM+IG1fY29kZWM7CiAgICAgRW5jb2RpbmdTb3VyY2UgbV9zb3VyY2U7
Ci0gICAgY29uc3QgY2hhciogbV9oaW50RW5jb2Rpbmc7CisgICAgT3duUHRyPFRleHRFbmNvZGlu
Z0RldGVjdG9yPiBtX2VuY29kaW5nRGV0ZWN0b3I7CisgICAgVGV4dEVuY29kaW5nIG1faGludEVu
Y29kaW5nOwogICAgIFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKICAgICBib29sIG1fY2hlY2tlZEZv
ckJPTTsKICAgICBib29sIG1fY2hlY2tlZEZvckNTU0NoYXJzZXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0thbmppQ29kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0thbmppQ29kZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjlhNmE1OGQxZWJmODI3NjU2
N2RjNDBlNjZjMjJlMTE2OGY4NGFjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvS2FuamlDb2RlLmNwcApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJLYW5qaUNvZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Citjb25zdCB1bnNpZ25lZCBjaGFyIEthbmppQ29kZTo6c2ppc01hcFsyNTZdID0geworICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsCisgICAgMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwg
MiwgMiwKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsCisg
ICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwKKyAgICAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAorICAgIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDAsIDAsIDAKK307CisKKy8qCisgKiBF
VUMtSlAgaXMKKyAqICAgICBbMHhhMSAtIDB4ZmVdWzB4YTEgLSAweGZlXQorICogICAgIDB4OGVb
MHhhMSAtIDB4ZmVdKFNTMikKKyAqICAgICAweDhmWzB4YTEgLSAweGZlXVsweGExIC0gMHhmZV0o
U1MzKQorICoKKyAqIFNoaWZ0X0ppcyBpcworICogICAgIFsweDgxIC0gMHg5ZiwgMHhlMCAtIDB4
ZWYoMHhmZT8pXVsweDQwIC0gMHg3ZSwgMHg4MCAtIDB4ZmNdCisgKgorICogU2hpZnRfSmlzIEhh
bmtha3UgS2FuYSBpcworICogICAgIFsweGExIC0gMHhkZl0KKyAqLworCisvKgorICogS2FuamlD
b2RlOjpqdWRnZSgpIGlzIGJhc2VkIG9uIGp1ZGdlX2pjb2RlKCkgZnJvbSBqdmltCisgKiAgICAg
aHR0cDovL2hwLnZlY3Rvci5jby5qcC9hdXRob3JzL1ZBMDAzNDU3L3ZpbS8KKyAqCisgKiBTcGVj
aWFsIFRoYW5rcyB0byBLZW5pY2hpIFRzdWNoaWRhCisgKi8KKworZW51bSBLYW5qaUNvZGU6OlR5
cGUgS2FuamlDb2RlOjpqdWRnZShjb25zdCBjaGFyKiBzdHIsIGludCBzaXplKQoreworICAgIGVu
dW0gVHlwZSBjb2RlOworICAgIGludCBpOworICAgIGludCBiZnIgPSBmYWxzZTsgICAgICAgICAg
ICAvKiBLYW5hIE1vamkgKi8KKyAgICBpbnQgYmZrID0gMDsgICAgICAgICAgICAgICAgLyogRVVD
IEthbmEgKi8KKyAgICBpbnQgc2ppcyA9IDA7CisgICAgaW50IGV1YyA9IDA7CisKKyAgICBjb25z
dCB1bnNpZ25lZCBjaGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNo
YXIqPihzdHIpOworCisgICAgY29kZSA9IEFTQ0lJOworCisgICAgaSA9IDA7CisgICAgd2hpbGUg
KGkgPCBzaXplKSB7CisgICAgICAgIGlmIChwdHJbaV0gPT0gRVNDICYmIChzaXplIC0gaSA+PSAz
KSkgeworICAgICAgICAgICAgaWYgKChwdHJbaSArIDFdID09ICckJyAmJiBwdHJbaSArIDJdID09
ICdCJykKKyAgICAgICAgICAgIHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09
ICdCJykpIHsKKyAgICAgICAgICAgICAgICBjb2RlID0gSklTOworICAgICAgICAgICAgICAgIGdv
dG8gYnJlYWtCcmVhazsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKHB0cltpICsgMV0gPT0gJyQn
ICYmIHB0cltpICsgMl0gPT0gJ0AnKQorICAgICAgICAgICAgICAgICAgICB8fCAocHRyW2kgKyAx
XSA9PSAnKCcgJiYgcHRyW2kgKyAyXSA9PSAnSicpKSB7CisgICAgICAgICAgICAgICAgY29kZSA9
IEpJUzsKKyAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICB9IGVs
c2UgaWYgKHB0cltpICsgMV0gPT0gJygnICYmIHB0cltpICsgMl0gPT0gJ0knKSB7CisgICAgICAg
ICAgICAgICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBpICs9IDM7CisgICAgICAgICAg
ICB9IGVsc2UgaWYgKHB0cltpICsgMV0gPT0gJyknICYmIHB0cltpICsgMl0gPT0gJ0knKSB7Cisg
ICAgICAgICAgICAgICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBpICs9IDM7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJmciA9IGZhbHNlOworICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmIChwdHJbaV0gPCAweDIwKSB7CisgICAgICAgICAgICAgICAg
YmZyID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAgICAgICAgICAv
KiA/PyBjaGVjayBrdWRva3V0ZW4gPz8gJiYgPz8gaGlyYWdhbmEgPz8gKi8KKyAgICAgICAgICAg
ICAgICBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHg4MSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICYmICgweDQxIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweDQ5KSkg
eworICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKKyAgICAgICAgICAgICAgICAgICAg
c2ppcyArPSAxMDA7ICAgICAgICAvKiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4YTEpCisgICAgICAgICAgICAgICAg
ICAgICAgICAmJiAoMHhhMiA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHhhYSkpIHsK
KyAgICAgICAgICAgICAgICAgICAgY29kZSA9IEVVQzsKKyAgICAgICAgICAgICAgICAgICAgZXVj
ICs9IDEwMDsgICAgICAgICAvKiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpIC0g
MV0pKSB7CisgICAgICAgICAgICAgICAgICAgIHNqaXMgKz0gNDA7ICAgICAgICAgLyogaGlyYWdh
bmEgKi8KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJd
ID09IDB4YTQpICYmICgweGEwIDw9IHB0cltpIC0gMV0pKSB7CisgICAgICAgICAgICAgICAgICAg
IGV1YyArPSA0MDsgICAgICAgICAgLyogaGlyYWdhbmEgKi8KKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8qID8/IGNoZWNrIGhpcmFnYW5h
IG9yIGthdGFuYSA/PyAqLworICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAo
cHRyW2ldID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAgICAgICAg
ICAgICAgIHNqaXMrKzsgICAgIC8qIGhpcmFnYW5hICovCisgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4ODMpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgJiYgKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4OWYpKSB7
CisgICAgICAgICAgICAgICAgICAgIHNqaXMrKzsgICAgIC8qIGthdGFrYW5hICovCisgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4YTQpICYm
ICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIGV1YysrOyAgICAg
IC8qIGhpcmFnYW5hICovCisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAx
KSAmJiAocHRyW2ldID09IDB4YTUpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAg
ICAgICAgICAgICAgIGV1YysrOyAgICAgIC8qIGthdGFrYW5hICovCisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIGlmIChiZnIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChp
ID49IDEpICYmICgweDQwIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhhMCkgJiYgSVNrYW5qaShw
dHJbaSAtIDFdKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAg
ICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ODEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFd
IDw9IDB4OWYpICYmICgoMHg0MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDwgMHg3ZSkgfHwgKDB4N2Ug
PCBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmMpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
Y29kZSA9IFNKSVM7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0gcHRyW2ld
ICYmIHB0cltpXSA8PSAweGZlKSAmJiAoMHhhMSA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0g
PD0gMHhmZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7CisgICAgICAg
ICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9
IDB4ZmUpICYmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3Rv
IGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYg
KHB0cltpXSA8IDB4YTAgfHwgMHhkZiA8IHB0cltpXSkgJiYgKDB4OGUgPT0gcHRyW2kgLSAxXSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOworICAgICAgICAgICAgICAg
ICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KHB0cltpXSA8PSAweDdmKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgweGExIDw9IHB0cltp
XSAmJiBwdHJbaV0gPD0gMHhhNikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1Yysr
OyAgICAgIC8qIHNqaXMgaGFua2FrdSBrYW5hIGtpZ28gKi8KKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZGYpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgICAvKiBzamlzIGhhbmtha3Uga2FuYSAq
LworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBw
dHJbaV0gPD0gMHhmZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1YysrOworICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV1YysrOworICAgICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICgweDIwIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHg3ZikgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNqaXMrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJmciA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAg
YmZrID0gMDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoMHg4ZSA9PSBwdHJbaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNpemUgLSBpIDw9
IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICgweGExIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweGRmKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvKiBFVUMgS0FOQSBvciBTSklTIEtBTkpJICovCisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoYmZrID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBldWMgKz0gMTAwOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAgICAgYmZrKys7CisgICAgICAgICAgICAgICAgICAgICAgICBpKys7CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBTSklTIG9u
bHkgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOworICAgICAgICAgICAg
ICAgICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmICgweDgxIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHg5Zikg
eworICAgICAgICAgICAgICAgICAgICAvKiBTSklTIG9ubHkgKi8KKyAgICAgICAgICAgICAgICAg
ICAgY29kZSA9IFNKSVM7CisgICAgICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAtIGkgPj0gMSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBw
dHJbaSArIDFdIDw9IDB4N2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKDB4ODAg
PD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmMpKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgZ290byBicmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICgweGZkIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkgewor
ICAgICAgICAgICAgICAgICAgICAvKiBFVUMgb25seSAqLworICAgICAgICAgICAgICAgICAgICBj
b2RlID0gRVVDOworICAgICAgICAgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49IDEpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgKDB4YTEgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSAr
IDFdIDw9IDB4ZmUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltp
XSA8PSAweDdmKSB7CisgICAgICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBiZnIgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICBiZmsgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGkrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoY29kZSA9PSBBU0NJSSkgeworICAgICAg
ICBpZiAoc2ppcyA+IGV1YykgeworICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAgICAgIH0g
ZWxzZSBpZiAoc2ppcyA8IGV1YykgeworICAgICAgICAgICAgY29kZSA9IEVVQzsKKyAgICAgICAg
fQorICAgIH0KK2JyZWFrQnJlYWs6CisgICAgcmV0dXJuIChjb2RlKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9L
YW5qaUNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvS2FuamlDb2RlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjJmMjEzMWQzZDE2M2NkYmY1ZDJjZWRiMWYzMzgwNzJiZmMzMzk3MgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvS2FuamlDb2RlLmgKQEAg
LTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgS2FuamlDb2RlX2gKKyNkZWZpbmUgS2FuamlDb2RlX2gKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBLYW5qaUNvZGUgeworcHVibGljOgorICAgIGVu
dW0gVHlwZSB7IEFTQ0lJLCBKSVMsIEVVQywgU0pJUywgVVRGMTYsIFVURjggfTsKKyAgICBzdGF0
aWMgZW51bSBUeXBlIGp1ZGdlKGNvbnN0IGNoYXIqIHN0ciwgaW50IGxlbmd0aCk7CisgICAgc3Rh
dGljIGNvbnN0IGludCBFU0MgPSAweDFiOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IHNqaXNNYXBbMjU2XTsKKyAgICBzdGF0aWMgaW50IElTa2FuamkoaW50IGNvZGUpCisgICAgewor
ICAgICAgICBpZiAoY29kZSA+PSAweDEwMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gc2ppc01hcFtjb2RlICYgMHhmZl0gJiAxOworICAgIH0KKyAgICBzdGF0aWMgaW50
IElTa2FuYShpbnQgY29kZSkKKyAgICB7CisgICAgICAgIGlmIChjb2RlID49IDB4MTAwKQorICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBzamlzTWFwW2NvZGUgJiAweGZmXSAm
IDI7CisgICAgfQorfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaAppbmRleCA5ZjE2YWIwNzA3YWQyZTYw
ZjU5OWNhNjBiZGU1MTEwMDkwNWMyYjJiLi5jYjFiMGQ3OGIyODFkOGY0MzNmYWMyYzM4MDRlYmRh
YWRmYTBlMDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ0RldGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmdEZXRlY3Rvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC0zMSwxNyArMzEsMjYgQEAKICNpZm5kZWYgVGV4dEVuY29kaW5n
RGV0ZWN0b3JfaAogI2RlZmluZSBUZXh0RW5jb2RpbmdEZXRlY3Rvcl9oCiAKKyNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBUZXh0RW5jb2Rpbmc7CitjbGFzcyBUZXh0RW5jb2Rpbmc7
CisKK2NsYXNzIFRleHRFbmNvZGluZ0RldGVjdG9yIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5U
ZXh0RW5jb2RpbmdEZXRlY3RvcigpIHsgfQorCisgICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dEVu
Y29kaW5nRGV0ZWN0b3I+IGNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywg
Y29uc3QgVGV4dEVuY29kaW5nJiBkZWZhdWx0RW5jb2RpbmcpOworCisgICAgLy8gQ2FsbGVkIHdo
ZW4gbmV3IGRhdGEgaGFzIGJlZW4gYXBwZW5kZWQgdG8gdGhlIGJ1ZmZlci4gUmV0dXJucyB0cnVl
IGlmIGFuIGVuY29kaW5nIHdhcyBkZXRlY3RlZC4KKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBh
ZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pID0gMDsKIAotICAgIC8vIEdpdmVu
IGEgc2VxdWVuY2Ugb2YgYnl0ZXMgaW4gfGRhdGF8IG9mIGxlbmd0aCB8bGVufCBhbmQgYW4gb3B0
aW9uYWwKLSAgICAvLyBoaW50RW5jb2RpbmdOYW1lLCBkZXRlY3QgdGhlIG1vc3QgbGlrZWx5IGNo
YXJhY3RlciBlbmNvZGluZy4gCi0gICAgLy8gVGhlIHdheSBoaW50RW5jb2RpbmdOYW1lIGlzIHVz
ZWQgaXMgdXAgdG8gYW4gaW1wbGVtZW50YXRpb24uCi0gICAgLy8gQ3VycmVudGx5LCB0aGUgb25s
eSBjYWxsZXIgc2V0cyBpdCB0byB0aGUgcGFyZW50IGZyYW1lIGVuY29kaW5nLgotICAgIGJvb2wg
ZGV0ZWN0VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogaGludEVuY29kaW5nTmFtZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBUZXh0RW5jb2RpbmcqIGRldGVjdGVkRW5jb2RpbmcpOwor
ICAgIC8vIENhbGxlZCB3aGVuIHRoZXJlIGlzIG5vIG1vcmUgZGF0YSBmb3IgdGhlIGRldGVjdG9y
IHRvIHVzZS4KKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgYW4gZW5jb2Rpbmcgd2FzIGRldGVjdGVk
LgorICAgIHZpcnR1YWwgVGV4dEVuY29kaW5nIGVuZERhdGEoKSA9IDA7Cit9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM5NDg3NTgzZjUzYjE4ODA5MDkwYTBiOTg0ZjdjZGMyMTNjY2Q0MDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0g
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUZXh0RW5j
b2RpbmdEZXRlY3Rvci5oIgotCi0jaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCi0jaW5jbHVkZSA8
d3RmL1VudXNlZFBhcmFtLmg+Ci0KLSNpbmNsdWRlICJ1bmljb2RlL3VjbnYuaCIKLSNpbmNsdWRl
ICJ1bmljb2RlL3Vjc2RldC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWJvb2wgZGV0ZWN0
VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBjaGFyKiBoaW50RW5jb2RpbmdOYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQotewotICAgICpkZXRlY3Rl
ZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCk7Ci0gICAgaW50IG1hdGNoZXNDb3VudCA9IDA7IAot
ICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgIFVDaGFyc2V0RGV0ZWN0
b3IqIGRldGVjdG9yID0gdWNzZGV0X29wZW4oJnN0YXR1cyk7Ci0gICAgaWYgKFVfRkFJTFVSRShz
dGF0dXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdWNzZGV0X2VuYWJsZUlucHV0Rmls
dGVyKGRldGVjdG9yLCB0cnVlKTsKLSAgICB1Y3NkZXRfc2V0VGV4dChkZXRlY3RvciwgZGF0YSwg
c3RhdGljX2Nhc3Q8aW50MzJfdD4obGVuKSwgJnN0YXR1cyk7IAotICAgIGlmIChVX0ZBSUxVUkUo
c3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gRklYTUU6IEEgZmV3IHRo
aW5ncyB3ZSBjYW4gZG8gb3RoZXIgdGhhbiBpbXByb3ZpbmcKLSAgICAvLyB0aGUgSUNVIGRldGVj
dG9yIGl0c2VsZi4gCi0gICAgLy8gMS4gVXNlIHVjc2RldF9kZXRlY3RBbGwgYW5kIHBpY2sgdGhl
IG1vc3QgbGlrZWx5IG9uZSBnaXZlbgotICAgIC8vICJ0aGUgY29udGV4dCIgKHBhcmVudC1lbmNv
ZGluZywgcmVmZXJyZXIgZW5jb2RpbmcsIGV0YykuCi0gICAgLy8gMi4gJ0VtdWxhdGUnIEZpcmVm
b3gvSUUncyBub24tVW5pdmVyc2FsIGRldGVjdG9ycyAoZS5nLgotICAgIC8vIENoaW5lc2UsIEph
cGFuZXNlLCBSdXNzaWFuLCBLb3JlYW4gYW5kIEhlYnJldykgYnkgcGlja2luZyB0aGUgCi0gICAg
Ly8gZW5jb2Rpbmcgd2l0aCBhIGhpZ2hlc3QgY29uZmlkZW5jZSBhbW9uZyB0aGUgZGV0ZWN0b3It
c3BlY2lmaWMKLSAgICAvLyBsaW1pdGVkIHNldCBvZiBjYW5kaWRhdGUgZW5jb2RpbmdzLgotICAg
IC8vIEJlbG93IGlzIGEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlyc3QgcGFydCBv
ZiB3aGF0J3Mgb3V0bGluZWQKLSAgICAvLyBhYm92ZS4KLSAgICBjb25zdCBVQ2hhcnNldE1hdGNo
KiogbWF0Y2hlcyA9IHVjc2RldF9kZXRlY3RBbGwoZGV0ZWN0b3IsICZtYXRjaGVzQ291bnQsICZz
dGF0dXMpOwotICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkgewotICAgICAgICB1Y3NkZXRfY2xv
c2UoZGV0ZWN0b3IpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgY29uc3Qg
Y2hhciogZW5jb2RpbmcgPSAwOwotICAgIGlmIChoaW50RW5jb2RpbmdOYW1lKSB7Ci0gICAgICAg
IFRleHRFbmNvZGluZyBoaW50RW5jb2RpbmcoaGludEVuY29kaW5nTmFtZSk7Ci0gICAgICAgIC8v
IDEwIGlzIHRoZSBtaW5pbXVtIGNvbmZpZGVuY2UgdmFsdWUgY29uc2lzdGVudCB3aXRoIHRoZSBj
b2RlcG9pbnQKLSAgICAgICAgLy8gYWxsb2NhdGlvbiBpbiBhIGdpdmVuIGVuY29kaW5nLiBUaGUg
c2l6ZSBvZiBhIGNodW5rIHBhc3NlZCB0bwotICAgICAgICAvLyB1cyB2YXJpZXMgZXZlbiBmb3Ig
dGhlIHNhbWUgaHRtbCBmaWxlIChhcHBhcmVudGx5IGRlcGVuZGluZyBvbiAKLSAgICAgICAgLy8g
dGhlIG5ldHdvcmsgbG9hZCkuIFdoZW4gd2UncmUgZ2l2ZW4gYSByYXRoZXIgc2hvcnQgY2h1bmss
IHdlIAotICAgICAgICAvLyBkb24ndCBoYXZlIGEgc3VmZmljaWVudGx5IHJlbGlhYmxlIHNpZ25h
bCBvdGhlciB0aGFuIHRoZSBmYWN0IHRoYXQKLSAgICAgICAgLy8gdGhlIGNodW5rIGlzIGNvbnNp
c3RlbnQgd2l0aCBhIHNldCBvZiBlbmNvZGluZ3MuIFNvLCBpbnN0ZWFkIG9mCi0gICAgICAgIC8v
IHNldHRpbmcgYW4gYXJiaXRyYXJ5IHRocmVzaG9sZCwgd2UgaGF2ZSB0byBzY2FuIGFsbCB0aGUg
ZW5jb2RpbmdzCi0gICAgICAgIC8vIGNvbnNpc3RlbnQgd2l0aCB0aGUgZGF0YS4gIAotICAgICAg
ICBjb25zdCBpbnQzMl90IGtUaHJlc29sZCA9IDEwOwotICAgICAgICBmb3IgKGludCBpID0gMDsg
aSA8IG1hdGNoZXNDb3VudDsgKytpKSB7Ci0gICAgICAgICAgICBpbnQzMl90IGNvbmZpZGVuY2Ug
PSB1Y3NkZXRfZ2V0Q29uZmlkZW5jZShtYXRjaGVzW2ldLCAmc3RhdHVzKTsKLSAgICAgICAgICAg
IGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkgewotICAgICAgICAgICAgICAgIHN0YXR1cyA9IFVfWkVS
T19FUlJPUjsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmIChjb25maWRlbmNlIDwga1RocmVzb2xkKQotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY29uc3QgY2hhciogbWF0Y2hFbmNvZGluZyA9IHVjc2RldF9nZXROYW1l
KG1hdGNoZXNbaV0sICZzdGF0dXMpOwotICAgICAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMp
KSB7Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKFRleHRFbmNvZGlu
ZyhtYXRjaEVuY29kaW5nKSA9PSBoaW50RW5jb2RpbmcpIHsKLSAgICAgICAgICAgICAgICBlbmNv
ZGluZyA9IGhpbnRFbmNvZGluZ05hbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLy8gSWYgbm8gbWF0Y2ggaXMgZm91bmQgc28g
ZmFyLCBqdXN0IHBpY2sgdGhlIHRvcCBtYXRjaC4gCi0gICAgLy8gVGhpcyBjYW4gaGFwcGVuLCBz
YXksIHdoZW4gYSBwYXJlbnQgZnJhbWUgaW4gRVVDLUpQIHJlZmVycyB0bwotICAgIC8vIGEgY2hp
bGQgZnJhbWUgaW4gU2hpZnRfSklTIGFuZCBib3RoIGZyYW1lcyBkbyBOT1Qgc3BlY2lmeSB0aGUg
ZW5jb2RpbmcKLSAgICAvLyBtYWtpbmcgdXMgcmVzb3J0IHRvIGF1dG8tZGV0ZWN0aW9uICh3aGVu
IGl0IElTIHR1cm5lZCBvbikuCi0gICAgaWYgKCFlbmNvZGluZyAmJiBtYXRjaGVzQ291bnQgPiAw
KQotICAgICAgICBlbmNvZGluZyA9IHVjc2RldF9nZXROYW1lKG1hdGNoZXNbMF0sICZzdGF0dXMp
OwotICAgIGlmIChVX1NVQ0NFU1Moc3RhdHVzKSkgewotICAgICAgICAqZGV0ZWN0ZWRFbmNvZGlu
ZyA9IFRleHRFbmNvZGluZyhlbmNvZGluZyk7Ci0gICAgICAgIHVjc2RldF9jbG9zZShkZXRlY3Rv
cik7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gICAgCi0gICAgdWNzZGV0X2Nsb3NlKGRl
dGVjdG9yKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I2MmJjNWIwNWVmOTFlYjhmNGY3ZDU1YTA3NGU4
ODYyYzBiNDg1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlRleHRFbmNvZGluZ0RldGVjdG9yLmgiCi0KLSNpbmNsdWRlICJUZXh0RW5jb2Rpbmcu
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1ib29sIGRldGVjdFRleHRFbmNvZGluZyhjb25z
dCBjaGFyKiwgc2l6ZV90LCBjb25zdCBjaGFyKiwgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29k
aW5nKQotewotICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCk7Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmpp
Q29kZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBlMDBhNjA2YTYxNThmNTA1N2RmMzUxZGMzZjI5MGUwYThi
NTcyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmNwcApAQCAtMCwwICsxLDE5NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJ
Q1VBbmRLYW5qaUNvZGUuaCIKKworI2luY2x1ZGUgIkthbmppQ29kZS5oIgorI2luY2x1ZGUgInVu
aWNvZGUvdWNudi5oIgorI2luY2x1ZGUgInVuaWNvZGUvdWNzZGV0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpUZXh0
RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUoY29uc3QgVGV4dEVuY29kaW5nJiBo
aW50RW5jb2RpbmcsIGNvbnN0IFRleHRFbmNvZGluZyYgZGVmYXVsdEVuY29kaW5nKQorICAgIDog
aXNBc2NpaSh0cnVlKQorICAgICwgbV9oaW50RW5jb2RpbmcoaGludEVuY29kaW5nKQorICAgICwg
bV9kZWZhdWx0RW5jb2RpbmcoZGVmYXVsdEVuY29kaW5nKQoreworfQorCitUZXh0RW5jb2Rpbmcg
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKGNvbnN0IGNo
YXIqIGRhdGEsIHNpemVfdCBsZW4pCit7CisgICAgaWYgKCFsZW4pCisgICAgICAgIHJldHVybiBU
ZXh0RW5jb2RpbmcoKTsKKworICAgIGlmIChpc0FzY2lpKSB7CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChkYXRhW2ldID09IDB4MWIg
fHwgZGF0YVtpXSAmIDB4ODApIHsKKyAgICAgICAgICAgICAgICBpc0FzY2lpID0gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cisg
ICAgaWYgKGlzQXNjaWkpCisgICAgICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKKworICAgIFRl
eHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOworICAgIGlmIChtX2RlZmF1bHRFbmNvZGluZy5p
c0phcGFuZXNlKCkpCisgICAgICAgIGRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUoZGF0
YSwgbGVuLCAmZGV0ZWN0ZWRFbmNvZGluZyk7CisgICAgZWxzZQorICAgICAgICBkZXRlY3RUZXh0
RW5jb2RpbmdXaXRoSUNVKGRhdGEsIGxlbiwgbV9oaW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29k
aW5nKTsKKworICAgIGlmIChkZXRlY3RlZEVuY29kaW5nLmlzVmFsaWQoKSkKKyAgICAgICAgbV9i
dWZmZXIuY2xlYXIoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgc2l6ZV90IG9sZFNpemUgPSBtX2J1
ZmZlci5zaXplKCk7CisgICAgICAgIG1fYnVmZmVyLmdyb3cob2xkU2l6ZSArIGxlbik7CisgICAg
ICAgIG1lbWNweShtX2J1ZmZlci5kYXRhKCkgKyBvbGRTaXplLCBkYXRhLCBsZW4pOworICAgIH0K
KworICAgIHJldHVybiBkZXRlY3RlZEVuY29kaW5nOworfQorCitUZXh0RW5jb2RpbmcgVGV4dEVu
Y29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjplbmREYXRhKCkKK3sKKyAgICBpZiAo
aXNBc2NpaSkKKyAgICAgICAgcmV0dXJuIG1fZGVmYXVsdEVuY29kaW5nOworCisgICAgaWYgKCFt
X2J1ZmZlci5zaXplKCkpCisgICAgICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKKyAgICBUZXh0
RW5jb2RpbmcgZGV0ZWN0ZWRFbmNvZGluZzsKKyAgICBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoSUNV
KG1fYnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuc2l6ZSgpLCBtX2hpbnRFbmNvZGluZywgJmRldGVj
dGVkRW5jb2RpbmcpOworICAgIG1fYnVmZmVyLmNsZWFyKCk7CisgICAgcmV0dXJuIGRldGVjdGVk
RW5jb2Rpbmc7Cit9CisKK2Jvb2wgVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlD
b2RlOjpkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2FuamlDb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW4sIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZykKK3sKKyAgICBzd2l0Y2gg
KEthbmppQ29kZTo6anVkZ2UoZGF0YSwgbGVuKSkgeworICAgIGNhc2UgS2FuamlDb2RlOjpKSVM6
CisgICAgICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJJU08tMjAyMi1KUCIp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNlIEthbmppQ29kZTo6RVVDOgorICAgICAg
ICAqZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZygiRVVDLUpQIik7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGNhc2UgS2FuamlDb2RlOjpTSklTOgorICAgICAgICAqZGV0ZWN0ZWRF
bmNvZGluZyA9IFRleHRFbmNvZGluZygiU2hpZnRfSklTIik7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKKyAgICBjYXNlIEthbmppQ29kZTo6VVRGMTY6
CisgICAgY2FzZSBLYW5qaUNvZGU6OlVURjg6CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2Fu
amlDb2RlOjpkZXRlY3RUZXh0RW5jb2RpbmdXaXRoSUNVKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVf
dCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZykKK3sKKyAgICAq
ZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZygpOworICAgIGludCBtYXRjaGVzQ291bnQg
PSAwOyAKKyAgICBVRXJyb3JDb2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKKyAgICBVQ2hhcnNl
dERldGVjdG9yKiBkZXRlY3RvciA9IHVjc2RldF9vcGVuKCZzdGF0dXMpOworICAgIGlmIChVX0ZB
SUxVUkUoc3RhdHVzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVjc2RldF9lbmFibGVJ
bnB1dEZpbHRlcihkZXRlY3RvciwgdHJ1ZSk7CisgICAgdWNzZGV0X3NldFRleHQoZGV0ZWN0b3Is
IGRhdGEsIHN0YXRpY19jYXN0PGludDMyX3Q+KGxlbiksICZzdGF0dXMpOyAKKyAgICBpZiAoVV9G
QUlMVVJFKHN0YXR1cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEZJWE1FOiBB
IGZldyB0aGluZ3Mgd2UgY2FuIGRvIG90aGVyIHRoYW4gaW1wcm92aW5nCisgICAgLy8gdGhlIElD
VSBkZXRlY3RvciBpdHNlbGYuIAorICAgIC8vIDEuIFVzZSB1Y3NkZXRfZGV0ZWN0QWxsIGFuZCBw
aWNrIHRoZSBtb3N0IGxpa2VseSBvbmUgZ2l2ZW4KKyAgICAvLyAidGhlIGNvbnRleHQiIChwYXJl
bnQtZW5jb2RpbmcsIHJlZmVycmVyIGVuY29kaW5nLCBldGMpLgorICAgIC8vIDIuICdFbXVsYXRl
JyBGaXJlZm94L0lFJ3Mgbm9uLVVuaXZlcnNhbCBkZXRlY3RvcnMgKGUuZy4KKyAgICAvLyBDaGlu
ZXNlLCBKYXBhbmVzZSwgUnVzc2lhbiwgS29yZWFuIGFuZCBIZWJyZXcpIGJ5IHBpY2tpbmcgdGhl
IAorICAgIC8vIGVuY29kaW5nIHdpdGggYSBoaWdoZXN0IGNvbmZpZGVuY2UgYW1vbmcgdGhlIGRl
dGVjdG9yLXNwZWNpZmljCisgICAgLy8gbGltaXRlZCBzZXQgb2YgY2FuZGlkYXRlIGVuY29kaW5n
cy4KKyAgICAvLyBCZWxvdyBpcyBhIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIGZpcnN0
IHBhcnQgb2Ygd2hhdCdzIG91dGxpbmVkCisgICAgLy8gYWJvdmUuCisgICAgY29uc3QgVUNoYXJz
ZXRNYXRjaCoqIG1hdGNoZXMgPSB1Y3NkZXRfZGV0ZWN0QWxsKGRldGVjdG9yLCAmbWF0Y2hlc0Nv
dW50LCAmc3RhdHVzKTsKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKyAgICAgICAgdWNz
ZGV0X2Nsb3NlKGRldGVjdG9yKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IGNvbnN0IGNoYXIqIGVuY29kaW5nID0gMDsKKyAgICBpZiAoaGludEVuY29kaW5nLmlzVmFsaWQo
KSkgeworICAgICAgICAvLyAxMCBpcyB0aGUgbWluaW11bSBjb25maWRlbmNlIHZhbHVlIGNvbnNp
c3RlbnQgd2l0aCB0aGUgY29kZXBvaW50CisgICAgICAgIC8vIGFsbG9jYXRpb24gaW4gYSBnaXZl
biBlbmNvZGluZy4gVGhlIHNpemUgb2YgYSBjaHVuayBwYXNzZWQgdG8KKyAgICAgICAgLy8gdXMg
dmFyaWVzIGV2ZW4gZm9yIHRoZSBzYW1lIGh0bWwgZmlsZSAoYXBwYXJlbnRseSBkZXBlbmRpbmcg
b24gCisgICAgICAgIC8vIHRoZSBuZXR3b3JrIGxvYWQpLiBXaGVuIHdlJ3JlIGdpdmVuIGEgcmF0
aGVyIHNob3J0IGNodW5rLCB3ZSAKKyAgICAgICAgLy8gZG9uJ3QgaGF2ZSBhIHN1ZmZpY2llbnRs
eSByZWxpYWJsZSBzaWduYWwgb3RoZXIgdGhhbiB0aGUgZmFjdCB0aGF0CisgICAgICAgIC8vIHRo
ZSBjaHVuayBpcyBjb25zaXN0ZW50IHdpdGggYSBzZXQgb2YgZW5jb2RpbmdzLiBTbywgaW5zdGVh
ZCBvZgorICAgICAgICAvLyBzZXR0aW5nIGFuIGFyYml0cmFyeSB0aHJlc2hvbGQsIHdlIGhhdmUg
dG8gc2NhbiBhbGwgdGhlIGVuY29kaW5ncworICAgICAgICAvLyBjb25zaXN0ZW50IHdpdGggdGhl
IGRhdGEuICAKKyAgICAgICAgY29uc3QgaW50MzJfdCBrVGhyZXNvbGQgPSAxMDsKKyAgICAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBtYXRjaGVzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgaW50
MzJfdCBjb25maWRlbmNlID0gdWNzZGV0X2dldENvbmZpZGVuY2UobWF0Y2hlc1tpXSwgJnN0YXR1
cyk7CisgICAgICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKyAgICAgICAgICAgICAg
ICBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBpZiAoY29uZmlkZW5jZSA8IGtUaHJlc29sZCkKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1hdGNoRW5jb2Rpbmcg
PSB1Y3NkZXRfZ2V0TmFtZShtYXRjaGVzW2ldLCAmc3RhdHVzKTsKKyAgICAgICAgICAgIGlmIChV
X0ZBSUxVUkUoc3RhdHVzKSkgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IFVfWkVST19FUlJP
UjsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGlmIChUZXh0RW5jb2RpbmcobWF0Y2hFbmNvZGluZykgPT0gaGludEVuY29kaW5nKSB7CisgICAg
ICAgICAgICAgICAgZW5jb2RpbmcgPSBoaW50RW5jb2RpbmcubmFtZSgpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIC8vIElmIG5v
IG1hdGNoIGlzIGZvdW5kIHNvIGZhciwganVzdCBwaWNrIHRoZSB0b3AgbWF0Y2guIAorICAgIC8v
IFRoaXMgY2FuIGhhcHBlbiwgc2F5LCB3aGVuIGEgcGFyZW50IGZyYW1lIGluIEVVQy1KUCByZWZl
cnMgdG8KKyAgICAvLyBhIGNoaWxkIGZyYW1lIGluIFNoaWZ0X0pJUyBhbmQgYm90aCBmcmFtZXMg
ZG8gTk9UIHNwZWNpZnkgdGhlIGVuY29kaW5nCisgICAgLy8gbWFraW5nIHVzIHJlc29ydCB0byBh
dXRvLWRldGVjdGlvbiAod2hlbiBpdCBJUyB0dXJuZWQgb24pLgorICAgIGlmICghZW5jb2Rpbmcg
JiYgbWF0Y2hlc0NvdW50ID4gMCkKKyAgICAgICAgZW5jb2RpbmcgPSB1Y3NkZXRfZ2V0TmFtZSht
YXRjaGVzWzBdLCAmc3RhdHVzKTsKKyAgICBpZiAoVV9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAg
ICAgKmRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoZW5jb2RpbmcpOworICAgICAgICB1
Y3NkZXRfY2xvc2UoZGV0ZWN0b3IpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9ICAgIAor
ICAgIHVjc2RldF9jbG9zZShkZXRlY3Rvcik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitQYXNz
T3duUHRyPFRleHRFbmNvZGluZ0RldGVjdG9yPiBUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRl
KGNvbnN0IFRleHRFbmNvZGluZyYgaGludEVuY29kaW5nLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRl
ZmF1bHRFbmNvZGluZykKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRFbmNvZGluZ0Rl
dGVjdG9yV2l0aElDVUFuZEthbmppQ29kZShoaW50RW5jb2RpbmcsIGRlZmF1bHRFbmNvZGluZykp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJ
Q1VBbmRLYW5qaUNvZGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODUwMjQ4MDNmNTY0NzJkMjMzNDI2YjRiYTU4
Zjk3MmE4YzcxNDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaApAQCAtMCwwICsx
LDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGVfaAor
I2RlZmluZSBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGVfaAorCisjaW5j
bHVkZSAiVGV4dEVuY29kaW5nLmgiCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJ
Q1VBbmRLYW5qaUNvZGUgOiBwdWJsaWMgVGV4dEVuY29kaW5nRGV0ZWN0b3IgeworcHVibGljOgor
ICAgIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZShjb25zdCBUZXh0RW5j
b2RpbmcmIGhpbnRFbmNvZGluZywgY29uc3QgVGV4dEVuY29kaW5nJiBkZWZhdWx0RW5jb2Rpbmcp
OworCisgICAgdmlydHVhbCBUZXh0RW5jb2RpbmcgYWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBz
aXplX3QgbGVuKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBlbmREYXRhKCkg
T1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2Fu
amlDb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZyk7Cisg
ICAgYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoSUNVKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVf
dCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHRFbmNv
ZGluZyYgaGludEVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
ZXh0RW5jb2RpbmcqIGRldGVjdGVkRW5jb2RpbmcpOworCisgICAgLy8gRmxhZyBpZiB0aGUgZGF0
YSBzbyBmYXIgaXMgYWxsIGFzY2lpIGNoYXJhY3RlcnMuCisgICAgYm9vbCBpc0FzY2lpOworICAg
IFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKKyAgICBUZXh0RW5jb2RpbmcgbV9oaW50RW5jb2Rpbmc7
CisgICAgVGV4dEVuY29kaW5nIG1fZGVmYXVsdEVuY29kaW5nOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NmNjM2Y3NTZmZTNlZTM5MDZmNWMyNGIyNmM3NjExOGRhMzE2ZjNkCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhLYW5qaUNvZGUuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmgiCisKKyNp
bmNsdWRlICJLYW5qaUNvZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhLYW5qaUNvZGU6OlRleHRFbmNvZGluZ0RldGVjdG9yV2l0aEthbmppQ29k
ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1bHRFbmNvZGlu
ZykKKyAgICA6IG1fZGVmYXVsdEVuY29kaW5nKGRlZmF1bHRFbmNvZGluZykKK3sKK30KKworVGV4
dEVuY29kaW5nIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZTo6YWRkRGF0YShjb25z
dCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQoreworICAgIGlmICghbGVuKQorICAgICAgICByZXR1
cm4gVGV4dEVuY29kaW5nKCk7CisKKyAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNvZGluZzsK
KyAgICBpZiAobV9kZWZhdWx0RW5jb2RpbmcuaXNKYXBhbmVzZSgpKQorICAgICAgICBkZXRlY3RU
ZXh0RW5jb2RpbmdXaXRoS2FuamlDb2RlKGRhdGEsIGxlbiwgJmRldGVjdGVkRW5jb2RpbmcpOwor
CisgICAgcmV0dXJuIGRldGVjdGVkRW5jb2Rpbmc7Cit9CisKK1RleHRFbmNvZGluZyBUZXh0RW5j
b2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGU6OmVuZERhdGEoKQoreworICAgIHJldHVybiBUZXh0
RW5jb2RpbmcoKTsKK30KKworUGFzc093blB0cjxUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gVGV4dEVu
Y29kaW5nRGV0ZWN0b3I6OmNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywg
Y29uc3QgVGV4dEVuY29kaW5nJiBkZWZhdWx0RW5jb2RpbmcpCit7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGUoaGludEVuY29kaW5nLCBk
ZWZhdWx0RW5jb2RpbmcpKTsKK30KKworYm9vbCBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5q
aUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbiwgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQoreworICAgIHN3aXRj
aCAoS2FuamlDb2RlOjpqdWRnZShkYXRhLCBsZW4pKSB7CisgICAgY2FzZSBLYW5qaUNvZGU6OkpJ
UzoKKyAgICAgICAgKmRldGVjdGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIklTTy0yMDIyLUpQ
Iik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgS2FuamlDb2RlOjpFVUM6CisgICAg
ICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJFVUMtSlAiKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgY2FzZSBLYW5qaUNvZGU6OlNKSVM6CisgICAgICAgICpkZXRlY3Rl
ZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJTaGlmdF9KSVMiKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgY2FzZSBLYW5qaUNvZGU6OkFTQ0lJOgorICAgIGNhc2UgS2FuamlDb2RlOjpVVEYx
NjoKKyAgICBjYXNlIEthbmppQ29kZTo6VVRGODoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NTY4MWVjMGY5ODA0N2RlYTNiMTYxYzdjMGM4Y2VhMjE4ZjU3MTNkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhLYW5qaUNvZGUuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBUZXh0RW5j
b2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGVfaAorI2RlZmluZSBUZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhLYW5qaUNvZGVfaAorCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCisjaW5jbHVkZSAi
VGV4dEVuY29kaW5nRGV0ZWN0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBU
ZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGUgOiBwdWJsaWMgVGV4dEVuY29kaW5nRGV0
ZWN0b3IgeworcHVibGljOgorICAgIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmpp
Q29kZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywgY29uc3QgVGV4dEVuY29kaW5n
JiBkZWZhdWx0RW5jb2RpbmcpOworCisgICAgdmlydHVhbCBUZXh0RW5jb2RpbmcgYWRkRGF0YShj
b25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFRleHRF
bmNvZGluZyBlbmREYXRhKCkgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgYm9vbCBkZXRlY3RU
ZXh0RW5jb2RpbmdXaXRoS2FuamlDb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHRFbmNvZGluZyogZGV0
ZWN0ZWRFbmNvZGluZyk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDEyYWMxYWIyMjcwMjdhNzdiNzQ3N2UwOWIx
ODliNTc3YjAzMzc2OGIuLmE0ZjgyMWI4N2E2NzJlODllZWU5NmI2Mjc5MTVkNzJhMWQxNmJhMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTE2Miw2ICsxNjIsNyBAQAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViRm9ybUNvbnRyb2xFbGVtZW50LmgnLAogICAgICAgICAgICAg
ICAgICdwdWJsaWMvV2ViRm9ybUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJGcmFtZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVj
dG9yLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRnJhbWVDbGllbnQuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJHZW9sb2NhdGlvbkNsaWVudC5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ2xpZW50TW9jay5oJywKQEAgLTU0NCw2ICs1NDUs
NyBAQAogICAgICAgICAgICAgICAgICdzcmMvV2ViRm9udEltcGwuaCcsCiAgICAgICAgICAgICAg
ICAgJ3NyYy9XZWJGb3JtQ29udHJvbEVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYkZvcm1FbGVtZW50LmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXh0RW5jb2Rp
bmdEZXRlY3Rvci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViRnJhbWVJbXBsLmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJGcmFtZUltcGwuaCcsCiAgICAgICAgICAgICAgICAg
J3NyYy9XZWJHZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRhdGFTb3VyY2UuaAppbmRleCAwN2I2MzQ5MGMxN2I1YTEyODFkODlj
MDViM2EwYzU4ZDk5NjY1YmJlLi5kMzBmOTY3YzEzOWUzYmVkMWNmMTFiMTNlMmVkOGMwZDAyNTk1
MWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhU291
cmNlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YVNvdXJjZS5o
CkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQXBwbGlj
YXRpb25DYWNoZUhvc3Q7CitjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViU3RyaW5nOwogY2xhc3Mg
V2ViVVJMOwogY2xhc3MgV2ViVVJMUmVxdWVzdDsKQEAgLTk5LDYgKzEwMCwxMiBAQCBwdWJsaWM6
CiAgICAgLy8gVGhlIGFwcGxpY2F0aW9uIGNhY2hlIGhvc3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMg
ZGF0YXNvdXJjZS4KICAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNh
dGlvbkNhY2hlSG9zdCgpID0gMDsKIAorICAgIC8vIEVuYWJsZSBlbmNvZGluZyBkZXRlY3Rpb24g
anVzdCBmb3IgdGhpcyBkYXRhc291cmNlLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVFbmNvZGlu
Z0RldGVjdGlvbigpID0gMDsKKworICAgIC8vIFJldHVybnMgdGhlIGRhdGEgZm9yIHRoZSBtYWlu
IHJlc291cmNlLgorICAgIHZpcnR1YWwgV2ViRGF0YSBtYWluUmVzb3VyY2VEYXRhKCkgY29uc3Qg
PSAwOworCiAgICAgLy8gU2V0IGRlZmVyTWFpblJlc291cmNlRGF0YUxvYWQgZmxhZyBvbiB0aGUg
bG9hZGVyLiAgVGhpcyBpcyB1c2VkIGZvcgogICAgIC8vIHRlc3RpbmcuCiAgICAgdmlydHVhbCB2
b2lkIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoYm9vbCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgKaW5kZXggNjcyNWU3OWUxZDdlOGUxYmIy
Njg5ODZhNmE1ZDUzNWI0ZGRlNzg2My4uMjkwMDcxOTk5NDJhMjUyM2YwZGE1ZGM4MmI0MDlkMzYx
ZjdlNDFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9j
dW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5o
CkBAIC01NCw2ICs1NCwxNyBAQCBjbGFzcyBXZWJOb2RlTGlzdDsKIGNsYXNzIFdlYlN0cmluZzsK
IGNsYXNzIFdlYlVSTDsKIAorZW51bSBXZWJFbmNvZGluZ1NvdXJjZSB7CisgICAgRGVmYXVsdEVu
Y29kaW5nLAorICAgIEF1dG9EZXRlY3RlZEVuY29kaW5nLAorICAgIEVuY29kaW5nRnJvbVhNTEhl
YWRlciwKKyAgICBFbmNvZGluZ0Zyb21NZXRhVGFnLAorICAgIEVuY29kaW5nRnJvbUNTU0NoYXJz
ZXQsCisgICAgRW5jb2RpbmdGcm9tSFRUUEhlYWRlciwKKyAgICBVc2VyQ2hvc2VuRW5jb2Rpbmcs
CisgICAgRW5jb2RpbmdGcm9tUGFyZW50RnJhbWUKK307CisKIC8vIFByb3ZpZGVzIHJlYWRvbmx5
IGFjY2VzcyB0byBzb21lIHByb3BlcnRpZXMgb2YgYSBET00gZG9jdW1lbnQuCiBjbGFzcyBXZWJE
b2N1bWVudCA6IHB1YmxpYyBXZWJOb2RlIHsKIHB1YmxpYzoKQEAgLTYyLDYgKzczLDggQEAgcHVi
bGljOgogICAgICAgICBVc2VyU3R5bGVBdXRob3JMZXZlbAogICAgIH07CiAKKworCiAgICAgV2Vi
RG9jdW1lbnQoKSB7IH0KICAgICBXZWJEb2N1bWVudChjb25zdCBXZWJEb2N1bWVudCYgZSkgOiBX
ZWJOb2RlKGUpIHsgfQogCkBAIC03OCw2ICs5MSwxMCBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRf
RVhQT1JUIFdlYlN0cmluZyBlbmNvZGluZygpIGNvbnN0OwogCisgICAgV0VCS0lUX0VYUE9SVCBX
ZWJFbmNvZGluZ1NvdXJjZSBlbmNvZGluZ1NvdXJjZSgpIGNvbnN0OworCisgICAgV0VCS0lUX0VY
UE9SVCBXZWJTdHJpbmcgaGludEVuY29kaW5nKCkgY29uc3Q7CisKICAgICAvLyBUaGUgdXJsIG9m
IHRoZSBPcGVuU2VhcmNoIERlc3JpcHRpb24gRG9jdW1lbnQgKGlmIGFueSkuCiAgICAgV0VCS0lU
X0VYUE9SVCBXZWJVUkwgb3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVj
dG9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXh0RW5jb2RpbmdEZXRl
Y3Rvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNlNTgwNDJkNjQzODBjN2IyNGFiY2UwZTU3MjE0MWYzYzIwOTY1
YTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJU
ZXh0RW5jb2RpbmdEZXRlY3Rvci5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlRleHRFbmNv
ZGluZ0RldGVjdG9yX2gKKyNkZWZpbmUgV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3JfaAorCisjaW5j
bHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViUHJpdmF0
ZU93blB0ci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIFRleHRFbmNvZGluZ0RldGVj
dG9yOyB9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTdHJpbmc7CisKKy8vIFdy
YXBwZXIgZm9yIFRleHRFbmNvZGluZ0RldGVjdG9yLgorY2xhc3MgV2ViVGV4dEVuY29kaW5nRGV0
ZWN0b3IgeworcHVibGljOiAgICAKKyAgICB+V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IoKSB7IHJl
c2V0KCk7IH0KKworICAgIFdlYlRleHRFbmNvZGluZ0RldGVjdG9yKGNvbnN0IFdlYlN0cmluZyYg
aGludEVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgZGVmYXVsdEVuY29kaW5nKTsKKworICAgIC8vIENhbGxlZCB0byBhZGQgZGF0YSB0byB0aGUg
dGV4dCBlbmNvZGluZyBkZXRlY3Rvci4gUmV0dXJucyB0aGUgZGV0ZWN0ZWQKKyAgICAvLyBlbmNv
ZGluZy4KKyAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhZGREYXRhKGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW4pOworCisgICAgLy8gQ2FsbGVkIHRvIHRlbGwgdGhlIHRleHQgZW5jb2Rp
bmcgZGV0ZWN0b3IgdGhhdCB0aGVyZSBpcyBubyBtb3JlIGRhdGEuCisgICAgLy8gUmV0dXJucyB0
aGUgZGV0ZWN0ZWQgZW5jb2RpbmcuCisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZW5kRGF0
YSgpOworCitwcml2YXRlOgorICAgIFdFQktJVF9FWFBPUlQgdm9pZCByZXNldCgpOworCisgICAg
V2ViUHJpdmF0ZU93blB0cjxXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gbV9wcml2YXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwCmluZGV4IGQ2ZDk4Yzc1MjJi
MzM0MmE2Njc0ZjNkZmU1NDM3MWViMmJhNzBmYjcuLjlhMzU4ZDQ5YzA0MTUyYjE0YTI1MzBmZWZk
NGI4YzFhMzJhMGFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRhdGFTb3VyY2VJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
YXRhU291cmNlSW1wbC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJXZWJEYXRhU291
cmNlSW1wbC5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oIgor
I2luY2x1ZGUgInBsYXRmb3JtL1dlYkRhdGEuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwu
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkxFcnJvci5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYlZlY3Rvci5oIgpAQCAtMTI0LDYgKzEyNSwxNiBAQCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9z
dCogV2ViRGF0YVNvdXJjZUltcGw6OmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkKICAgICByZXR1cm4g
QXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbDo6dG9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdChE
b2N1bWVudExvYWRlcjo6YXBwbGljYXRpb25DYWNoZUhvc3QoKSk7CiB9CiAKK3ZvaWQgV2ViRGF0
YVNvdXJjZUltcGw6OmVuYWJsZUVuY29kaW5nRGV0ZWN0aW9uKCkKK3sKKyAgICBtX2VuY29kaW5n
RGV0ZWN0aW9uRW5hYmxlZCA9IHRydWU7Cit9CisKK1dlYkRhdGEgV2ViRGF0YVNvdXJjZUltcGw6
Om1haW5SZXNvdXJjZURhdGEoKSBjb25zdAoreworICAgIHJldHVybiBXZWJEYXRhKERvY3VtZW50
TG9hZGVyOjptYWluUmVzb3VyY2VEYXRhKCkpOworfQorCiB2b2lkIFdlYkRhdGFTb3VyY2VJbXBs
OjpzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkKGJvb2wgZGVmZXIpCiB7CiAgICAgRG9jdW1l
bnRMb2FkZXI6OnNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoZGVmZXIpOwpAQCAtMTcxLDYg
KzE4Miw3IEBAIHZvaWQgV2ViRGF0YVNvdXJjZUltcGw6OnNldE5leHRQbHVnaW5Mb2FkT2JzZXJ2
ZXIoUGFzc093blB0cjxXZWJQbHVnaW5Mb2FkT2JzZXJ2CiAKIFdlYkRhdGFTb3VyY2VJbXBsOjpX
ZWJEYXRhU291cmNlSW1wbChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1
YnN0aXR1dGVEYXRhJiBkYXRhKQogICAgIDogRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGF0YSkK
KyAgICAsIG1fZW5jb2RpbmdEZXRlY3Rpb25FbmFibGVkKGZhbHNlKQogewogICAgIGlmICghbmV4
dFBsdWdpbkxvYWRPYnNlcnZlcigpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuaAppbmRleCA4Y2MyYzgwYzYwMTQyMzA0
ZGY5Y2FjODNkMWIxNDFlOWY4MjBmM2U2Li5mMmUwMzQ2MDE5OGE4MTkyNGVmOTQ4NGVlZmI1MmIx
Yzk4OGZhY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRh
U291cmNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFTb3Vy
Y2VJbXBsLmgKQEAgLTY5LDYgKzY5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXh0cmFEYXRh
KiBleHRyYURhdGEoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXh0cmFEYXRhKEV4dHJh
RGF0YSopOwogICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGFwcGxpY2F0aW9u
Q2FjaGVIb3N0KCk7CisgICAgdmlydHVhbCB2b2lkIGVuYWJsZUVuY29kaW5nRGV0ZWN0aW9uKCk7
CisgICAgdmlydHVhbCBXZWJEYXRhIG1haW5SZXNvdXJjZURhdGEoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChib29sKTsKIAogICAgIHN0YXRp
YyBXZWJOYXZpZ2F0aW9uVHlwZSB0b1dlYk5hdmlnYXRpb25UeXBlKFdlYkNvcmU6Ok5hdmlnYXRp
b25UeXBlIHR5cGUpOwpAQCAtNzgsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29y
ZTo6S1VSTCYgZW5kT2ZSZWRpcmVjdENoYWluKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhclJlZGly
ZWN0Q2hhaW4oKTsKICAgICB2b2lkIGFwcGVuZFJlZGlyZWN0KGNvbnN0IFdlYkNvcmU6OktVUkwm
IHVybCk7CisgICAgYm9vbCBpc0VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZW5jb2RpbmdEZXRlY3Rpb25FbmFibGVkOyB9CiAKICAgICBQYXNzT3duUHRyPFdlYlBs
dWdpbkxvYWRPYnNlcnZlcj4gcmVsZWFzZVBsdWdpbkxvYWRPYnNlcnZlcigpIHsgcmV0dXJuIG1f
cGx1Z2luTG9hZE9ic2VydmVyLnJlbGVhc2UoKTsgfQogICAgIHN0YXRpYyB2b2lkIHNldE5leHRQ
bHVnaW5Mb2FkT2JzZXJ2ZXIoUGFzc093blB0cjxXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXI+KTsKQEAg
LTg2LDYgKzg5LDggQEAgcHJpdmF0ZToKICAgICBXZWJEYXRhU291cmNlSW1wbChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpOwog
ICAgIH5XZWJEYXRhU291cmNlSW1wbCgpOwogCisgICAgYm9vbCBtX2VuY29kaW5nRGV0ZWN0aW9u
RW5hYmxlZDsKKwogICAgIC8vIE11dGFibGUgYmVjYXVzZSB0aGUgY29uc3QgZ2V0dGVycyB3aWxs
IG1hZ2ljYWxseSBzeW5jIHRoZXNlIHRvIHRoZQogICAgIC8vIGxhdGVzdCB2ZXJzaW9uIGZyb20g
V2ViS2l0LgogICAgIG11dGFibGUgV3JhcHBlZFJlc291cmNlUmVxdWVzdCBtX29yaWdpbmFsUmVx
dWVzdFdyYXBwZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAK
aW5kZXggODBmYmRmMWQ5ZWU5NmYzYjQzNWNhMmUxODU3MmU0M2MyMWI2NDBlYi4uYjRjNzNkMWJh
ODU5MGRjZTk1Yzg2Y2U5MzFjYjgwN2YxNDNlNGZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRvY3VtZW50LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkhUTUxI
ZWFkRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgogI2luY2x1ZGUgIldl
YkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJET01FdmVudC5oIgogI2luY2x1
ZGUgIldlYkRvY3VtZW50VHlwZS5oIgpAQCAtNTMsNiArNTQsNyBAQAogI2luY2x1ZGUgIldlYkZy
YW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYk5vZGVDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2Vi
Tm9kZUxpc3QuaCIKKyNpbmNsdWRlICJXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgogI2luY2x1
ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTc4LDYgKzgwLDE2IEBAIFdlYlN0cmluZyBXZWJEb2N1bWVudDo6ZW5jb2RpbmcoKSBjb25zdAog
ICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVudD4oKS0+ZW5jb2RpbmcoKTsKIH0KIAorV2Vi
RW5jb2RpbmdTb3VyY2UgV2ViRG9jdW1lbnQ6OmVuY29kaW5nU291cmNlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViRW5jb2RpbmdTb3VyY2U+KGNvbnN0VW53cmFwPERvY3Vt
ZW50PigpLT5lbmNvZGluZ1NvdXJjZSgpKTsKK30KKworV2ViU3RyaW5nIFdlYkRvY3VtZW50Ojpo
aW50RW5jb2RpbmcoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJpbmcoU3RyaW5nOjpmcm9t
VVRGOChjb25zdFVud3JhcDxEb2N1bWVudD4oKS0+aGludEVuY29kaW5nKCkubmFtZSgpKSk7Cit9
CisKIFdlYlVSTCBXZWJEb2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkgY29uc3QK
IHsKICAgICByZXR1cm4gY29uc3RfY2FzdDxEb2N1bWVudCo+KGNvbnN0VW53cmFwPERvY3VtZW50
PigpKS0+b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBmOGQyMDM0ZmQ4MzI3NTc5NGI2MTM0ZWU1ZDBl
ZjY3NzY1OTA1YWU4Li42M2U4NTk0ODY2MzY2ZWU5NGFkNzE1M2UwM2IwNDk3NzQ3ZGExYzJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTEzOCw2
ICsxMzgsNyBAQAogI2luY2x1ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFm
ZmluaXR5LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVGV4dFJlc291
cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVk
ZSAiV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaCIKICNpbmNsdWRlICJXZWJDb25zb2xlTWVz
c2FnZS5oIgpAQCAtOTMxLDYgKzkzMiwxMSBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6cmVsb2FkKGJv
b2wgaWdub3JlQ2FjaGUpCiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPnJlbG9hZChpZ25vcmVDYWNo
ZSk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVJbXBsOjpyZWxvYWRGcm9tQ2FjaGUoKQoreworICAgIHZp
ZXcoKS0+c2V0UGFnZUVuY29kaW5nKFdlYlN0cmluZygpKTsKK30KKwogdm9pZCBXZWJGcmFtZUlt
cGw6OmxvYWRSZXF1ZXN0KGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgQVNT
RVJUKCFyZXF1ZXN0LmlzTnVsbCgpKTsKQEAgLTExMDIsNyArMTEwOCwxMyBAQCBXZWJVUkxMb2Fk
ZXIqIFdlYkZyYW1lSW1wbDo6Y3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlcihjb25zdCBXZWJVUkxM
b2FkZXJPcHRpb25zJgogCiB2b2lkIFdlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCiB7Ci0gICAgbV9mcmFtZS0+bG9hZGVyKCkt
PmRvY3VtZW50TG9hZGVyKCktPmNvbW1pdERhdGEoZGF0YSwgbGVuZ3RoKTsKKyAgICBEb2N1bWVu
dExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2Fk
ZXIoKTsKKyAgICBpZiAoZGF0YVNvdXJjZUltcGwoKS0+aXNFbmNvZGluZ0RldGVjdGlvbkVuYWJs
ZWQoKSkgeworICAgICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgY29tbWl0RGF0YSBoZXJlIGJlY2F1
c2UgdGhlIGZpcnN0IGNhbGwgdG8gY29tbWl0RGF0YSBkZWxldGVzIHRoZSBUZXh0UmVzb3VyY2VE
ZWNvZGVyLgorICAgICAgICBkb2N1bWVudExvYWRlci0+Y29tbWl0RGF0YSgwLCAwKTsKKyAgICAg
ICAgZG9jdW1lbnRMb2FkZXItPndyaXRlcigpLT5jcmVhdGVEZWNvZGVySWZOZWVkZWQoKS0+c2V0
VXNlc0VuY29kaW5nRGV0ZWN0b3IodHJ1ZSk7CisgICAgfQorICAgIGRvY3VtZW50TG9hZGVyLT5j
b21taXREYXRhKGRhdGEsIGxlbmd0aCk7CiB9CiAKIHVuc2lnbmVkIFdlYkZyYW1lSW1wbDo6dW5s
b2FkTGlzdGVuZXJDb3VudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5oCmluZGV4IGRlMzhkMGRjYWVhN2Q3YWUwY2Q1NzE3NmQxNzY1MjExMDAxM2ZiZGEu
LjkxMTBhNTJjZmI0ZjQ5YWZlYjdmNjZhOGM0NDQzMWVhZGI0MjNhNDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMjEsNiArMTIxLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGlzRGlyZWN0b3J5KTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25v
cmVDYWNoZSk7CisgICAgdmlydHVhbCB2b2lkIHJlbG9hZEZyb21DYWNoZSgpOwogICAgIHZpcnR1
YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2
b2lkIGxvYWRIaXN0b3J5SXRlbShjb25zdCBXZWJIaXN0b3J5SXRlbSYpOwogICAgIHZpcnR1YWwg
dm9pZCBsb2FkRGF0YSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlRleHRFbmNvZGluZ0RldGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlRleHRFbmNvZGluZ0RldGVjdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWRhOTdjZWQxNzc4YjNlNjgy
MDBlOWRiODZkMWI1NmI1MzUzZjY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuY3BwCkBAIC0wLDAgKzEsNjAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCIK
KworI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgorI2luY2x1ZGUgIlRleHRFbmNvZGluZ0RldGVj
dG9yLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3Io
Y29uc3QgV2ViU3RyaW5nJiBoaW50RW5jb2RpbmcsIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdEVu
Y29kaW5nKQorICAgIDogbV9wcml2YXRlKFdlYkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yOjpj
cmVhdGUoV2ViQ29yZTo6VGV4dEVuY29kaW5nKGhpbnRFbmNvZGluZyksIFdlYkNvcmU6OlRleHRF
bmNvZGluZyhkZWZhdWx0RW5jb2RpbmcpKS5sZWFrUHRyKCkpCit7Cit9CisKK1dlYlN0cmluZyBX
ZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3Qg
bGVuKQoreworICAgIHJldHVybiBXZWJTdHJpbmcoU3RyaW5nOjpmcm9tVVRGOChtX3ByaXZhdGUt
PmFkZERhdGEoZGF0YSwgbGVuKS5uYW1lKCkpKTsKK30KKworV2ViU3RyaW5nIFdlYlRleHRFbmNv
ZGluZ0RldGVjdG9yOjplbmREYXRhKCkKK3sKKyAgICByZXR1cm4gV2ViU3RyaW5nKFN0cmluZzo6
ZnJvbVVURjgobV9wcml2YXRlLT5lbmREYXRhKCkubmFtZSgpKSk7Cit9CisKK3ZvaWQgV2ViVGV4
dEVuY29kaW5nRGV0ZWN0b3I6OnJlc2V0KCkKK3sKKyAgICBtX3ByaXZhdGUucmVzZXQoMCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128233</attachid>
            <date>2012-02-22 09:52:21 -0800</date>
            <delta_ts>2012-04-19 17:34:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75594-20120223025219.patch</filename>
            <type>text/plain</type>
            <size>89441</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U0OTYyMDA3MDg1NjFk
M2ZjOTM1ZmFkYzU2NjIwOTE0ZjMwNGVmMS4uODM4NzE5NDRlNzMwZTJkNjkxNWFjOGI1ZjcyM2Rk
Yzc4MmU5MWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZGluZyBmZWF0dXJl
IHRoYXQgc3VnZ2VzdHMgdHVybmluZyBvbiB0aGUgZW5jb2RpbmcgZGV0ZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9ycyB0aGUgVGV4
dEVuY29kaW5nRGV0ZWN0b3IgaW50byBhIGNsYXNzIHdoaWNoIGNhbiBiZSBleGNoYW5nZWQgZGVw
ZW5kaW5nIG9uIHRoZSBkZXRlY3RvciB5b3Ugd2FudC4KKyAgICAgICAgVGhlcmUgc2hvdWxkIGJl
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtRWZs
LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6aGludEVuY29kaW5nKTogR2V0cyB0aGUgaGludEVuY29kaW5n
IHRoYXQgd2FzIHVzZWQgaW4gdGhlIGRlY29kZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6ZW5jb2RpbmdTb3VyY2UpOiBHZXRzIHRoZSBlbmNvZGluZyBzb3VyY2UuCisgICAgICAgIChE
b2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwOiBNb3Zl
ZCBLYW5qaUNvZGUgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6
OlRleHRSZXNvdXJjZURlY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJlc291cmNlRGVj
b2Rlcjo6c2hvdWxkQXV0b0RldGVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZWNvZGUpOiBVc2UgVGV4dEVuY29kaW5nRGV0ZWN0b3IuCisgICAgICAgIChXZWJD
b3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6IFVzZSBUZXh0RW5jb2RpbmdEZXRlY3Rv
ci4KKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjplbmNvZGluZ1Nv
dXJjZSk6IEFkZGVkLiBSZXR1cm5zIHRoZSBlbmNvZGluZyBzb3VyY2UuCisgICAgICAgIChUZXh0
UmVzb3VyY2VEZWNvZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJjZURlY29kZXI6
OnNldFVzZXNFbmNvZGluZ0RldGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSZXNvdXJj
ZURlY29kZXI6OnNldEhpbnRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3Vy
Y2VEZWNvZGVyOjpoaW50RW5jb2RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvS2FuamlD
b2RlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okth
bmppQ29kZTo6anVkZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvS2FuamlDb2RlLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEthbmppQ29kZSk6CisgICAgICAgIChXZWJDb3Jl
OjpLYW5qaUNvZGU6OklTa2FuamkpOgorICAgICAgICAoV2ViQ29yZTo6S2FuamlDb2RlOjpJU2th
bmEpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dEVuY29kaW5nRGV0ZWN0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3I6On5UZXh0RW5jb2RpbmdEZXRlY3Rvcik6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRkRGF0YSk6IENhbGxl
ZCB3aGVuIGFkZGluZyBkYXRhIHRvIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgKFdl
YkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmREYXRhKTogQ2FsbGVkIHdoZW4gdGhlcmUg
aXMgbm8gbW9yZSBkYXRhIHNvIHRoZSBlbmNvZGluZyBkZXRlY3RvciBjYW4gbWFrZSBhIGZpbmFs
IGRlY2lzaW9uLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JX
aXRoSUNVQW5kS2FuamlDb2RlLmNwcDogVGV4dEVuY29kaW5nRGV0ZWN0b3IgZm9yIHBvcnRzIHRo
YXQgdXNlZCBUZXh0RW5jb2RpbmdEZXRlY3RvcklDVS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpU
ZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKTogSWYg
dGhlIGRhdGEgd2FzIGFsbCBhc2NpaSBjaGFyYWN0ZXJzLCB0aGVuIGRvbid0IHJ1biB0aGUgZW5j
b2RpbmcgZGV0ZWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcldp
dGhJQ1VBbmRLYW5qaUNvZGU6OmVuZERhdGEpOiBSZXR1cm5zIHRoZSBkZWZhdWx0IGVuY29kaW5n
IGlmIHRoZSBkYXRhIHdhcyBhbGwgYXNjaWkgY2hhcmFjdGVycy4KKyAgICAgICAgKFdlYkNvcmU6
OlRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZTo6ZGV0ZWN0VGV4dEVuY29k
aW5nV2l0aEthbmppQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhJQ1VBbmRLYW5qaUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhJQ1UpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNyZWF0ZSk6IFJldHVybnMgYSBuZXcg
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEth
bmppQ29kZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvcldp
dGhLYW5qaUNvZGUuY3BwOiBUZXh0RW5jb2RpbmdEZXRlY3RvciBmb3IgcG9ydHMgdGhhdCB1c2Vk
IFRleHRFbmNvZGluZ0RldGVjdG9yTm9uZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlOjpUZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhLYW5qaUNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nRGV0
ZWN0b3JXaXRoS2FuamlDb2RlOjphZGREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZTo6ZW5kRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRlKTogUmV0dXJucyBhIG5ldyBUZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhLYW5qaUNvZGUuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRl
Y3RvcldpdGhLYW5qaUNvZGU6OmRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aEth
bmppQ29kZSk6CisKIDIwMTItMDItMTMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBUaGUgc2Nyb2xsaW5nIHRyZWUgbmVlZHMgdG8ga25vdyBhYm91dCB0
aGUgYmFjayBmb3J3YXJkIHN0YXRlIG9mIHRoZSBwYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDI4ZTIxY2JkMDQ4MDQyY2Y5MzU0YmJhZjJkZmE5MDYwODZlMDA5NzguLjg2NTYyNDFl
YTI2OTAzM2IxMGZjMDk3OTc3ZTVjNGJlYmI0MDUyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTItMDItMTUgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hp
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkaW5nIGZlYXR1cmUgdGhhdCBzdWdnZXN0cyB0dXJu
aW5nIG9uIHRoZSBlbmNvZGluZyBkZXRlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJE
YXRhU291cmNlLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRGF0YVNvdXJjZSk6
CisgICAgICAgICogcHVibGljL1dlYkRvY3VtZW50Lmg6CisgICAgICAgIChXZWJEb2N1bWVudCk6
CisgICAgICAgICogcHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaC4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlRleHRFbmNvZGluZ0RldGVjdG9yOjp+V2ViVGV4dEVuY29kaW5nRGV0
ZWN0b3IpOgorICAgICAgICAqIHNyYy9XZWJEYXRhU291cmNlSW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjplbmFibGVFbmNvZGluZ0RldGVjdGlvbik6IEVuYWJs
ZXMgZW5jb2RpbmcgZGV0ZWN0aW9uIGZvciB0aGlzIGRhdGFzb3VyY2UuIFR1cm5zIG9uIGZsYWcg
bV9lbmNvZGluZ0RldGVjdGlvbkVuYWJsZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEYXRhU291cmNlSW1wbDo6bWFpblJlc291cmNlRGF0YSk6IFJldHVybnMgdGhl
IGRhdGEgZm9yIHRoZSBtYWluIHJlc291cmNlLgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhU291
cmNlSW1wbDo6V2ViRGF0YVNvdXJjZUltcGwpOgorICAgICAgICAqIHNyYy9XZWJEYXRhU291cmNl
SW1wbC5oOgorICAgICAgICAoV2ViRGF0YVNvdXJjZUltcGwpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJEYXRhU291cmNlSW1wbDo6aXNFbmNvZGluZ0RldGVjdGlvbkVuYWJsZWQpOiBSZXR1cm5zIGZs
YWcgaWYgZW5jb2RpbmcgZGV0ZWN0aW9uIHNob3VsZCBiZSBlbmFibGVkIGZvciB0aGlzIGRhdGFz
b3VyY2UuCisgICAgICAgIFdlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhIHVzZXMgdGhp
cy4KKyAgICAgICAgKiBzcmMvV2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJE
b2N1bWVudDo6ZW5jb2RpbmdTb3VyY2UpOiBXcmFwcyBEb2N1bWVudDo6ZW5jb2RpbmdTb3VyY2Uo
KQorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6OmhpbnRF
bmNvZGluZyk6IFdyYXBzIERvY3VtZW50OjpoaW50RW5jb2RpbmcoKQorICAgICAgICAqIHNyYy9X
ZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnJlbG9hZEZy
b21DYWNoZSk6IFJlbG9hZHMgZnJvbSBjYWNoZSBhbmQgb25seSBsb2FkcyB3aGVuIHRoZXJlIGlz
IG5vIGNhY2hlLiBEYXRhIG1heSBiZSBzdGFsZS4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhKTogVHVybnMgb24gdGhl
IGVuY29kaW5nIGRldGVjdG9yIGlmIGl0IGhhcyBiZWVuIGVuYWJsZWQgaW4gdGhlIGRhdGFzb3Vy
Y2UuCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAoV2ViRnJhbWVJbXBs
KToKKyAgICAgICAgKiBzcmMvV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5j
cHAuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJUZXh0RW5jb2RpbmdE
ZXRlY3Rvcjo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IpOiBXcmFwcGVyIGZvciBUZXh0RW5jb2Rp
bmdEZXRlY3RvcgorICAgICAgICAoV2ViS2l0OjpXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6YWRk
RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmREYXRh
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6OnJlc2V0KToKKwog
MjAxMi0wMi0xMyAgWW9zaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Zvcm1zXSBVc2UgZW51bSBpbnN0ZWFkIG9mIGJvb2wgZm9yIEhUTUxJbnB1dEVsZW1lbnQ6
OnNldFZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NDljZWIxMDcwYzYz
NmVjMjFiMzBkOTBkODlhZmUwYzQ5OTg5MzQ4Li4zMzg2YTA2YWNjZTRiNzJiOTQ4OTBiODI1Zjky
YzE0ZTMxYzE1Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMyOTksNiAr
MzI5OSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9EZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9IeXBoZW5hdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvSHlw
aGVuYXRpb24uaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9LYW5qaUNvZGUuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0thbmppQ29kZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xpbmVCcmVha0l0ZXJhdG9yUG9vbElDVS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuaCBcCkBAIC0zMzM4LDcgKzMzNDAsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dERpcmVj
dGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZy5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBc
Ci0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvck5vbmUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9y
V2l0aEthbmppQ29kZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ1JlZ2lzdHJ5LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1CbGFja0JlcnJ5LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNt
YWtlCmluZGV4IGNlYzc4MWE0MmJjNzRlNjBmYTgxOTRlZTZhMTBkYmM5NmFjZDc1ZWQuLjRhNDZi
MDAxOTdiMWJkODA2MTIwM2UzNWRlZDY3YWRkOGE5NGM0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUJsYWNrQmVycnkuY21ha2UKQEAgLTc4LDkgKzc4LDEwIEBAIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJbWFnZUVuY29kZXIu
Y3BwCiAgICAgcGxhdGZvcm0vcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcAogICAgIHBsYXRmb3Jt
L3Bvc2l4L1NoYXJlZEJ1ZmZlclBPU0lYLmNwcAorICAgIHBsYXRmb3JtL3RleHQvS2FuamlDb2Rl
LmNwcAogICAgIHBsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRlcmF0b3JJQ1UuY3BwCiAgICAgcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCi0gICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2Rp
bmdEZXRlY3RvcklDVS5jcHAKKyAgICBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9y
V2l0aElDVUFuZEthbmppQ29kZS5jcHAKICAgICBwbGF0Zm9ybS90ZXh0L2JsYWNrYmVycnkvVGV4
dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUJsYWNrQmVycnkuY3BwCiApCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1FZmwuY21ha2UKaW5kZXggMjhmMzY0MDgwNjFkOGI2MGU1YjkzZTZlMDdhNGNmMzc4MjBmM2Zm
YS4uZTQ1NDc3ZGI2NmFlMDc4ZTlhMWU3NGYwM2I2ZGY0YjI3NGMwM2YwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UKQEAgLTE3NSw3ICsxNzUsNyBAQCBFTkRJRiAoKQogSUYgKFdURl9VU0Vf
SUNVX1VOSUNPREUpCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGVkaXRpbmcv
U21hcnRSZXBsYWNlSUNVLmNwcAotICAgIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0
b3JJQ1UuY3BwCisgICAgcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VB
bmRLYW5qaUNvZGUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9UZXh0QnJlYWtJdGVyYXRvcklDVS5j
cHAKICAgICBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKICAgKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDlkM2Y4MmMxOTQ0MzcyYmJhOTdiODRlYjU1ZmUzODIwNDBjMmZiOWMuLmI5NTgzMmU0
OWI0NzlkNTczYjQ1MzlhMTUwOGVjMzIzODFhMWU3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQw
NjEsNiArNDA2MSw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9CaWRpQ29udGV4dC5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uY3BwJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS90ZXh0L0h5cGhlbmF0aW9uLmgnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL3RleHQvS2FuamlDb2RlLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9LYW5q
aUNvZGUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9MaW5lRW5kaW5nLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmdEZWZhdWx0LmNwcCcs
CkBAIC00MDkwLDggKzQwOTIsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjVXNlckRlZmluZWQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcklD
VS5jcHAnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JO
b25lLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vdGV4dC9UZXh0U3RyZWFtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9V
bmljb2RlUmFuZ2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBmZGFjODhjZWE4MjkzNjQ0MTZiMDRkZjgwYmIwZmVhODlh
MTk3Y2E3Li41MTJjZGU1OGQ0ODBjZjQzNzgyNDkzMGI0M2VmYjYyNTA1M2U3NWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
NTA0LDEwICs1NTA0LDEzIEBACiAJCUMwQzA1NENFMTExOEM4RTQwMENFMjYzNiAvKiBJRExTdHJ1
Y3R1cmUucG0gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0Y4QjMwODBBMzAwRkVBMDBGNjFBQjggLyogSURMU3RydWN0dXJlLnBtICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMwREZDODcwMERCNjg0MUEwMDNF
QUU3QyAvKiBKU0NvbnNvbGVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzBERkM4NkYwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29uc29sZUN1
c3RvbS5jcHAgKi87IH07CiAJCUMwRjJBNDQxMTM4NjlBQUIwMDY2QzUzNCAvKiBwcmVwcm9jZXNz
b3IucG0gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEYy
QTQzRjEzODY5QTI4MDA2NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUMxMDVEQTYyMEYzQUE2OEYwMDFERDQ0
RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTA1REE2MTBGM0FBNjhGMDAxREQ0NEYgLyogVGV4dEVu
Y29kaW5nRGV0ZWN0b3JJQ1UuY3BwICovOyB9OwogCQlDMTA1REE2NDBGM0FBNkI4MDAxREQ0NEYg
LyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMxMDVEQTYzMEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdE
ZXRlY3Rvci5oICovOyB9OwogCQlDMzMwQTIyMzEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9v
c2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMzMw
QTIyMTEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzM3Q0RFQkQxNDlFRjIwMzAwNDIwOTBE
IC8qIENvbG9yQ2hvb3NlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8qIENvbG9yQ2hvb3NlckNs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUMzQTA4OEIyMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VB
bmRLYW5qaUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzNBMDg4QjAxNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0
aElDVUFuZEthbmppQ29kZS5jcHAgKi87IH07CisJCUMzQTA4OEIzMTRFOTU1RTIwMDRBQTkwQSAv
KiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzQTA4OEIxMTRFOTU1RTIwMDRBQTkw
QSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCAqLzsgfTsKKwkJ
QzNBMDg4QzAxNEVCQkNENjAwNEFBOTBBIC8qIEthbmppQ29kZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDM0EwODhCRTE0RUJCQ0Q2MDA0QUE5MEEg
LyogS2FuamlDb2RlLmNwcCAqLzsgfTsKKwkJQzNBMDg4QzExNEVCQkNENjAwNEFBOTBBIC8qIEth
bmppQ29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzNBMDg4QkYxNEVCQkNENjAwNEFBOTBBIC8qIEthbmppQ29kZS5oICovOyB9OwogCQlDNTBCNTYx
NjEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTBCNTYxNDEyMTE5RDIzMDA4QjQ2RTAgLyog
R3JvdXBTZXR0aW5ncy5jcHAgKi87IH07CiAJCUM1MEI1NjE3MTIxMTlEMjMwMDhCNDZFMCAvKiBH
cm91cFNldHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTBCNTYxNTEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM1MEQwRTgyMEZGNDI3
MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MEQwRTgwMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9y
YWdlTmFtZXNwYWNlLmNwcCAqLzsgfTsKQEAgLTEyNDQ2LDEwICsxMjQ0OSwxMyBAQAogCQlDMDQ2
RTFBQjEyMDhBOUZFMDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbGl6ZWRTdHJpbmdzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBERkM4NkYwREI2ODQxQTAwM0VBRTdDIC8qIEpTQ29uc29s
ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbnNv
bGVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEYyQTQzRjEzODY5
QTI4MDA2NkM1MzQgLyogcHJlcHJvY2Vzc29yLnBtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFtZSA9IHByZXByb2Nl
c3Nvci5wbTsgcGF0aCA9IHNjcmlwdHMvcHJlcHJvY2Vzc29yLnBtOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlDMTA1REE2MTBGM0FBNjhGMDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0
ZWN0b3JJQ1UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dEVu
Y29kaW5nRGV0ZWN0b3JJQ1UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTA1
REE2MzBGM0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEVuY29kaW5nRGV0ZWN0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzMzMEEyMjExM0VDMTk2QjAwMDBCNDVCIC8qIENvbG9yQ2hv
b3Nlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xvckNob29zZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzM3Q0RFQkMxNDlFRjIwMzAwNDIwOTBEIC8q
IENvbG9yQ2hvb3NlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b2xvckNob29zZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzNBMDg4
QjAxNEU5NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmpp
Q29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDM0EwODhCMTE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JX
aXRoSUNVQW5kS2FuamlDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRl
eHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDM0EwODhCRTE0RUJCQ0Q2MDA0QUE5MEEgLyogS2FuamlDb2RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEthbmppQ29kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMzQTA4OEJGMTRFQkJDRDYwMDRBQTkwQSAvKiBLYW5q
aUNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2FuamlDb2RlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MEI1NjE0MTIxMTlEMjMwMDhCNDZFMCAvKiBH
cm91cFNldHRpbmdzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdy
b3VwU2V0dGluZ3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTBCNTYxNTEy
MTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHcm91cFNldHRpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM1MEQwRTgwMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0b3JhZ2VOYW1lc3BhY2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg5NTAsNiArMTg5NTYsOCBAQAogCQkJCUE4QzQw
MjkyMTM0OEIyMjIwMDYzRjFFNSAvKiBCaWRpUnVuTGlzdC5oICovLAogCQkJCUNFQ0NGQzNBMTQx
OTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCAqLywKIAkJCQkzNzVDRDIz
MTExOUQ0M0M4MDBBMkE4NTkgLyogSHlwaGVuYXRpb24uaCAqLywKKwkJCQlDM0EwODhCRTE0RUJC
Q0Q2MDA0QUE5MEEgLyogS2FuamlDb2RlLmNwcCAqLywKKwkJCQlDM0EwODhCRjE0RUJCQ0Q2MDA0
QUE5MEEgLyogS2FuamlDb2RlLmggKi8sCiAJCQkJQTVBQkI3ODYxM0I5MDRCQzAwRjE5N0UzIC8q
IExpbmVCcmVha0l0ZXJhdG9yUG9vbElDVS5oICovLAogCQkJCTg5QjVFQTlGMTFFODAwM0QwMEYy
MzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLywKIAkJCQk4OUI1RUFBMDExRTgwMDNEMDBGMjM2N0Ug
LyogTGluZUVuZGluZy5oICovLApAQCAtMTg5OTMsNyArMTkwMDEsOCBAQAogCQkJCUIyQzNEQTE2
MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmcuY3BwICovLAogCQkJCUIyQzNEQTE3MEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmcuaCAqLywKIAkJCQlDMTA1REE2MzBGM0FBNkI4
MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCAqLywKLQkJCQlDMTA1REE2MTBGM0FB
NjhGMDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwICovLAorCQkJCUMzQTA4
OEIwMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5q
aUNvZGUuY3BwICovLAorCQkJCUMzQTA4OEIxMTRFOTU1RTIwMDRBQTkwQSAvKiBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCAqLywKIAkJCQlCMkMzREExODBEMDA2QzFE
MDBFRjZGMjYgLyogVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwICovLAogCQkJCUIyQzNEQTE5MEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmdSZWdpc3RyeS5oICovLAogCQkJCUJDRDNGOTgy
MTMyNkM5MzcwMDA5OEE2MCAvKiBUZXh0T3JpZW50YXRpb24uaCAqLywKQEAgLTI0MTk0LDYgKzI0
MjAzLDggQEAKIAkJCQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyogV2ViU29ja2V0RXh0ZW5z
aW9uUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJGQzE0RTU0MDU4MDA4N0ZG
QkEgLyogU2hhZG93Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3Q0MzQUUzMTRFOEU0
QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlD
M0EwODhCMzE0RTk1NUUyMDA0QUE5MEEgLyogVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5k
S2FuamlDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDM0EwODhDMTE0RUJCQ0Q2MDA0QUE5MEEg
LyogS2FuamlDb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI2OTI3LDcgKzI2OTM4LDYgQEAKIAkJ
CQk5N0JDODRCMzEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNDYwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRF
bmNvZGluZy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDMTA1REE2MjBGM0FBNjhGMDAxREQ0NEYg
LyogVGV4dEVuY29kaW5nRGV0ZWN0b3JJQ1UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RB
NDgwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzM0ExNDJFMEI3RDE4ODYwMEE1M0ZGRCAvKiBUZXh0RXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRjU1QjNERDcxMjUxRjEyRDAwM0VGMjY5IC8qIFRleHRGaWVsZElucHV0
VHlwZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3MTM2LDYgKzI3MTQ2LDggQEAKIAkJCQk0QTk1
N0YwNjE0RTI0MTJBMDA0OURCRkIgLyogV2ViU29ja2V0RXh0ZW5zaW9uRGlzcGF0Y2hlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1NzJFOTJGQjE0RTU0MDU4MDA4N0ZGQkEgLyogU2hhZG93Um9v
dExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdDQzNBRTIxNEU4RTRBMjAwODk0OTg4IC8q
IE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzNBMDg4QjIxNEU5
NTVFMjAwNEFBOTBBIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlDM0EwODhDMDE0RUJCQ0Q2MDA0QUE5MEEgLyogS2FuamlD
b2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhNGJkYWQ2ODVj
YzM0ZGNlMmRiMDZjNjIwNzljYmRjOWY1MTRjZWMyLi41NzkwOTZlNWM5MTM3M2Y0MjlhNDAwYzBl
ZTQxZjZlYjdhNDVlYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNDQsNiArNDQsNyBAQAog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eVBv
bGljeS5oIgogI2luY2x1ZGUgIlN0cmluZ1dpdGhEaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJUZXh0
UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJUcmVlU2Nv
cGUuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgpAQCAtOTg3LDYgKzk4OCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldERlY29kZXIoUGFzc1JlZlB0cjxUZXh0UmVzb3VyY2VEZWNv
ZGVyPik7CiAgICAgVGV4dFJlc291cmNlRGVjb2RlciogZGVjb2RlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGVjb2Rlci5nZXQoKTsgfQogCisgICAgY29uc3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2Rp
bmcoKSBjb25zdCB7IHJldHVybiBtX2RlY29kZXItPmhpbnRFbmNvZGluZygpOyB9CisgICAgVGV4
dFJlc291cmNlRGVjb2Rlcjo6RW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdTb3VyY2UoKSBjb25zdCB7
IHJldHVybiBtX2RlY29kZXItPmVuY29kaW5nU291cmNlKCk7IH0KKwogICAgIFN0cmluZyBkaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIFBh
c3NSZWZQdHI8U3RyaW5nSW1wbD4gZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNvZGluZyhQYXNz
UmVmUHRyPFN0cmluZ0ltcGw+KSBjb25zdDsKICAgICB2b2lkIGRpc3BsYXlCdWZmZXJNb2RpZmll
ZEJ5RW5jb2RpbmcoVUNoYXIqIGJ1ZmZlciwgdW5zaWduZWQgbGVuKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAppbmRleCBjODE5OGUzMDQ3
NmNmZjUxYjI4NjAxNjk5MjA4NjYwNzc4OTQ0ZmQ2Li4yYzE0YWZkNzQ1MWI1YTExYjI4NzI1Y2E4
MjhiZjZmMzczYTJiMTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJl
c291cmNlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJj
ZURlY29kZXIuY3BwCkBAIC03MCwyMTUgKzcwLDYgQEAgc3RhdGljIFRleHRFbmNvZGluZyBmaW5k
VGV4dEVuY29kaW5nKGNvbnN0IGNoYXIqIGVuY29kaW5nTmFtZSwgaW50IGxlbmd0aCkKICAgICBy
ZXR1cm4gYnVmZmVyLmRhdGEoKTsKIH0KIAotY2xhc3MgS2FuamlDb2RlIHsKLXB1YmxpYzoKLSAg
ICBlbnVtIFR5cGUgeyBBU0NJSSwgSklTLCBFVUMsIFNKSVMsIFVURjE2LCBVVEY4IH07Ci0gICAg
c3RhdGljIGVudW0gVHlwZSBqdWRnZShjb25zdCBjaGFyKiBzdHIsIGludCBsZW5ndGgpOwotICAg
IHN0YXRpYyBjb25zdCBpbnQgRVNDID0gMHgxYjsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBzamlzTWFwWzI1Nl07Ci0gICAgc3RhdGljIGludCBJU2thbmppKGludCBjb2RlKQotICAg
IHsKLSAgICAgICAgaWYgKGNvZGUgPj0gMHgxMDApCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAg
ICAgICAgcmV0dXJuIHNqaXNNYXBbY29kZSAmIDB4ZmZdICYgMTsKLSAgICB9Ci0gICAgc3RhdGlj
IGludCBJU2thbmEoaW50IGNvZGUpCi0gICAgewotICAgICAgICBpZiAoY29kZSA+PSAweDEwMCkK
LSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4gc2ppc01hcFtjb2RlICYgMHhm
Zl0gJiAyOwotICAgIH0KLX07Ci0KLWNvbnN0IHVuc2lnbmVkIGNoYXIgS2FuamlDb2RlOjpzamlz
TWFwWzI1Nl0gPSB7Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAg
ICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLSAgICAwLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIs
IDIsIDIsIDIsIDIsIDIsIDIsIDIsCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwg
MiwgMiwgMiwgMiwgMiwgMiwKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAy
LCAyLCAyLCAyLCAyLAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwg
MCwgMAotfTsKLQotLyoKLSAqIEVVQy1KUCBpcwotICogICAgIFsweGExIC0gMHhmZV1bMHhhMSAt
IDB4ZmVdCi0gKiAgICAgMHg4ZVsweGExIC0gMHhmZV0oU1MyKQotICogICAgIDB4OGZbMHhhMSAt
IDB4ZmVdWzB4YTEgLSAweGZlXShTUzMpCi0gKgotICogU2hpZnRfSmlzIGlzCi0gKiAgICAgWzB4
ODEgLSAweDlmLCAweGUwIC0gMHhlZigweGZlPyldWzB4NDAgLSAweDdlLCAweDgwIC0gMHhmY10K
LSAqCi0gKiBTaGlmdF9KaXMgSGFua2FrdSBLYW5hIGlzCi0gKiAgICAgWzB4YTEgLSAweGRmXQot
ICovCi0KLS8qCi0gKiBLYW5qaUNvZGU6Omp1ZGdlKCkgaXMgYmFzZWQgb24ganVkZ2VfamNvZGUo
KSBmcm9tIGp2aW0KLSAqICAgICBodHRwOi8vaHAudmVjdG9yLmNvLmpwL2F1dGhvcnMvVkEwMDM0
NTcvdmltLwotICoKLSAqIFNwZWNpYWwgVGhhbmtzIHRvIEtlbmljaGkgVHN1Y2hpZGEKLSAqLwot
Ci1lbnVtIEthbmppQ29kZTo6VHlwZSBLYW5qaUNvZGU6Omp1ZGdlKGNvbnN0IGNoYXIqIHN0ciwg
aW50IHNpemUpCi17Ci0gICAgZW51bSBUeXBlIGNvZGU7Ci0gICAgaW50IGk7Ci0gICAgaW50IGJm
ciA9IGZhbHNlOyAgICAgICAgICAgIC8qIEthbmEgTW9qaSAqLwotICAgIGludCBiZmsgPSAwOyAg
ICAgICAgICAgICAgICAvKiBFVUMgS2FuYSAqLwotICAgIGludCBzamlzID0gMDsKLSAgICBpbnQg
ZXVjID0gMDsKLQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KHN0cik7Ci0KLSAgICBjb2RlID0gQVNDSUk7Ci0KLSAg
ICBpID0gMDsKLSAgICB3aGlsZSAoaSA8IHNpemUpIHsKLSAgICAgICAgaWYgKHB0cltpXSA9PSBF
U0MgJiYgKHNpemUgLSBpID49IDMpKSB7Ci0gICAgICAgICAgICBpZiAoKHB0cltpICsgMV0gPT0g
JyQnICYmIHB0cltpICsgMl0gPT0gJ0InKQotICAgICAgICAgICAgfHwgKHB0cltpICsgMV0gPT0g
JygnICYmIHB0cltpICsgMl0gPT0gJ0InKSkgewotICAgICAgICAgICAgICAgIGNvZGUgPSBKSVM7
Ci0gICAgICAgICAgICAgICAgZ290byBicmVha0JyZWFrOwotICAgICAgICAgICAgfSBlbHNlIGlm
ICgocHRyW2kgKyAxXSA9PSAnJCcgJiYgcHRyW2kgKyAyXSA9PSAnQCcpCi0gICAgICAgICAgICAg
ICAgICAgIHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdKJykpIHsKLSAg
ICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVh
azsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAy
XSA9PSAnSScpIHsKLSAgICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAgICAgICAg
IGkgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKScgJiYgcHRy
W2kgKyAyXSA9PSAnSScpIHsKLSAgICAgICAgICAgICAgICBjb2RlID0gSklTOwotICAgICAgICAg
ICAgICAgIGkgKz0gMzsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaSsr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYmZyID0gZmFsc2U7Ci0gICAgICAgICAgICBi
ZmsgPSAwOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHB0cltpXSA8IDB4MjAp
IHsKLSAgICAgICAgICAgICAgICBiZnIgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBiZmsgPSAw
OwotICAgICAgICAgICAgICAgIC8qID8/IGNoZWNrIGt1ZG9rdXRlbiA/PyAmJiA/PyBoaXJhZ2Fu
YSA/PyAqLwotICAgICAgICAgICAgICAgIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAw
eDgxKQotICAgICAgICAgICAgICAgICAgICAgICAgJiYgKDB4NDEgPD0gcHRyW2kgLSAxXSAmJiBw
dHJbaSAtIDFdIDw9IDB4NDkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvZGUgPSBTSklTOwot
ICAgICAgICAgICAgICAgICAgICBzamlzICs9IDEwMDsgICAgICAgIC8qIGt1ZG9rdXRlbiAqLwot
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHhh
MSkKLSAgICAgICAgICAgICAgICAgICAgICAgICYmICgweGEyIDw9IHB0cltpIC0gMV0gJiYgcHRy
W2kgLSAxXSA8PSAweGFhKSkgewotICAgICAgICAgICAgICAgICAgICBjb2RlID0gRVVDOwotICAg
ICAgICAgICAgICAgICAgICBldWMgKz0gMTAwOyAgICAgICAgIC8qIGt1ZG9rdXRlbiAqLwotICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHg4Mikg
JiYgKDB4YTAgPD0gcHRyW2kgLSAxXSkpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcyArPSA0
MDsgICAgICAgICAvKiBoaXJhZ2FuYSAqLwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkg
Pj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kgLSAxXSkpIHsK
LSAgICAgICAgICAgICAgICAgICAgZXVjICs9IDQwOyAgICAgICAgICAvKiBoaXJhZ2FuYSAqLwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
LyogPz8gY2hlY2sgaGlyYWdhbmEgb3Iga2F0YW5hID8/ICovCi0gICAgICAgICAgICAgICAgaWYg
KChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHg4MikgJiYgKDB4YTAgPD0gcHRyW2kgKyAx
XSkpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcysrOyAgICAgLyogaGlyYWdhbmEgKi8KLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHg4
MykKLSAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoMHg0MCA8PSBwdHJbaSArIDFdICYmIHB0
cltpICsgMV0gPD0gMHg5ZikpIHsKLSAgICAgICAgICAgICAgICAgICAgc2ppcysrOyAgICAgLyog
a2F0YWthbmEgKi8KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYm
IChwdHJbaV0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgZXVjKys7ICAgICAgLyogaGlyYWdhbmEgKi8KLSAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHhhNSkgJiYgKDB4YTAgPD0gcHRy
W2kgKyAxXSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZXVjKys7ICAgICAgLyoga2F0YWthbmEg
Ki8KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKGJmcikgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoKGkgPj0gMSkgJiYgKDB4NDAgPD0gcHRyW2ldICYmIHB0cltpXSA8
PSAweGEwKSAmJiBJU2thbmppKHB0cltpIC0gMV0pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsK
LSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAxKSAmJiAoMHg4MSA8PSBwdHJb
aSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHg5ZikgJiYgKCgweDQwIDw9IHB0cltpXSAmJiBwdHJb
aV0gPCAweDdlKSB8fCAoMHg3ZSA8IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmYykpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAx
KSAmJiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpICYmICgweGExIDw9IHB0cltp
IC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
Y29kZSA9IEVVQzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAxKSAmJiAoMHhmZCA8PSBwdHJbaSAt
IDFdICYmIHB0cltpIC0gMV0gPD0gMHhmZSkgJiYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8
PSAweGZlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IEVVQzsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICgoaSA+PSAxKSAmJiAocHRyW2ldIDwgMHhhMCB8fCAweGRmIDwgcHRyW2ldKSAmJiAo
MHg4ZSA9PSBwdHJbaSAtIDFdKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNK
SVM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvZGUgPSBTSklTOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVha0Jy
ZWFrOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGE2KSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXVjKys7ICAgICAgLyogc2ppcyBoYW5rYWt1IGthbmEga2lnbyAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJb
aV0gPD0gMHhkZikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgIC8q
IHNqaXMgaGFua2FrdSBrYW5hICovCi0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZXVjKys7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4OGUg
PT0gcHRyW2ldKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXVjKys7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4MjAgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAw
eDdmKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ppcysrOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgYmZyID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBiZmsgPSAwOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoc2l6ZSAtIGkgPD0gMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgOwotICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4YTEgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSAr
IDFdIDw9IDB4ZGYpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVVQyBLQU5BIG9yIFNK
SVMgS0FOSkkgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiZmsgPT0gMSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGV1YyArPSAxMDA7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBiZmsrKzsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGkrKzsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIC8qIFNKSVMgb25seSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9
IFNKSVM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4ODEgPD0gcHRyW2ld
ICYmIHB0cltpXSA8PSAweDlmKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIFNKSVMgb25seSAq
LwotICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKChzaXplIC0gaSA+PSAxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICgoMHg0
MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHg3ZSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8fCAoMHg4MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhmYykp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDB4ZmQgPD0gcHRyW2ldICYm
IHB0cltpXSA8PSAweGZlKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEVVQyBvbmx5ICovCi0g
ICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgo
c2l6ZSAtIGkgPj0gMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoMHhhMSA8PSBw
dHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhmZSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gYnJlYWtCcmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAgICAgOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGJmciA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgIGJmayA9IDA7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaSsrOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChjb2Rl
ID09IEFTQ0lJKSB7Ci0gICAgICAgIGlmIChzamlzID4gZXVjKSB7Ci0gICAgICAgICAgICBjb2Rl
ID0gU0pJUzsKLSAgICAgICAgfSBlbHNlIGlmIChzamlzIDwgZXVjKSB7Ci0gICAgICAgICAgICBj
b2RlID0gRVVDOwotICAgICAgICB9Ci0gICAgfQotYnJlYWtCcmVhazoKLSAgICByZXR1cm4gKGNv
ZGUpOwotfQotCiBUZXh0UmVzb3VyY2VEZWNvZGVyOjpDb250ZW50VHlwZSBUZXh0UmVzb3VyY2VE
ZWNvZGVyOjpkZXRlcm1pbmVDb250ZW50VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShtaW1lVHlwZSwgInRleHQvY3NzIikpCkBAIC0zMDUs
NyArOTYsNyBAQCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpUZXh0UmVzb3VyY2VEZWNvZGVyKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFRleHRFbmNvZAogICAgIDogbV9jb250ZW50VHlwZShk
ZXRlcm1pbmVDb250ZW50VHlwZShtaW1lVHlwZSkpCiAgICAgLCBtX2VuY29kaW5nKGRlZmF1bHRF
bmNvZGluZyhtX2NvbnRlbnRUeXBlLCBzcGVjaWZpZWREZWZhdWx0RW5jb2RpbmcpKQogICAgICwg
bV9zb3VyY2UoRGVmYXVsdEVuY29kaW5nKQotICAgICwgbV9oaW50RW5jb2RpbmcoMCkKKyAgICAs
IG1faGludEVuY29kaW5nKCkKICAgICAsIG1fY2hlY2tlZEZvckJPTShmYWxzZSkKICAgICAsIG1f
Y2hlY2tlZEZvckNTU0NoYXJzZXQoZmFsc2UpCiAgICAgLCBtX2NoZWNrZWRGb3JIZWFkQ2hhcnNl
dChmYWxzZSkKQEAgLTU4NiwyNSArMzc3LDYgQEAgYm9vbCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpj
aGVja0Zvck1ldGFDaGFyc2V0KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGV0ZWN0SmFwYW5l
c2VFbmNvZGluZyhjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQotewotICAgIHN3aXRjaCAo
S2FuamlDb2RlOjpqdWRnZShkYXRhLCBsZW4pKSB7Ci0gICAgICAgIGNhc2UgS2FuamlDb2RlOjpK
SVM6Ci0gICAgICAgICAgICBzZXRFbmNvZGluZygiSVNPLTIwMjItSlAiLCBBdXRvRGV0ZWN0ZWRF
bmNvZGluZyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBLYW5qaUNvZGU6OkVV
QzoKLSAgICAgICAgICAgIHNldEVuY29kaW5nKCJFVUMtSlAiLCBBdXRvRGV0ZWN0ZWRFbmNvZGlu
Zyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBLYW5qaUNvZGU6OlNKSVM6Ci0g
ICAgICAgICAgICBzZXRFbmNvZGluZygiU2hpZnRfSklTIiwgQXV0b0RldGVjdGVkRW5jb2Rpbmcp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgS2FuamlDb2RlOjpBU0NJSToKLSAg
ICAgICAgY2FzZSBLYW5qaUNvZGU6OlVURjE2OgotICAgICAgICBjYXNlIEthbmppQ29kZTo6VVRG
ODoKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQogLy8gV2UgdXNlIHRoZSBlbmNvZGlu
ZyBkZXRlY3RvciBpbiB0d28gY2FzZXM6CiAvLyAgIDEuIEVuY29kaW5nIGRldGVjdG9yIGlzIHR1
cm5lZCBPTiBhbmQgbm8gb3RoZXIgZW5jb2Rpbmcgc291cmNlIGlzCiAvLyAgICAgIGF2YWlsYWJs
ZSAodGhhdCBpcywgaXQncyBEZWZhdWx0RW5jb2RpbmcpLgpAQCAtNjE5LDcgKzM5MSw3IEBAIGJv
b2wgVGV4dFJlc291cmNlRGVjb2Rlcjo6c2hvdWxkQXV0b0RldGVjdCgpIGNvbnN0CiAgICAgLy8g
SnVzdCBjaGVja2luZyBtX2hpbnRFbmNvZGluZyBzdWZmaWNlcyBoZXJlIGJlY2F1c2UgaXQncyBv
bmx5IHNldAogICAgIC8vIGluIHNldEhpbnRFbmNvZGluZyB3aGVuIHRoZSBzb3VyY2UgaXMgQXV0
b0RldGVjdGVkRW5jb2RpbmcuCiAgICAgcmV0dXJuIG1fdXNlc0VuY29kaW5nRGV0ZWN0b3IKLSAg
ICAgICAgJiYgKG1fc291cmNlID09IERlZmF1bHRFbmNvZGluZyB8fCAobV9zb3VyY2UgPT0gRW5j
b2RpbmdGcm9tUGFyZW50RnJhbWUgJiYgbV9oaW50RW5jb2RpbmcpKTsgCisgICAgICAgICYmICht
X3NvdXJjZSA9PSBEZWZhdWx0RW5jb2RpbmcgfHwgKG1fc291cmNlID09IEVuY29kaW5nRnJvbVBh
cmVudEZyYW1lICYmIG1faGludEVuY29kaW5nLmlzVmFsaWQoKSkpOwogfQogCiBTdHJpbmcgVGV4
dFJlc291cmNlRGVjb2Rlcjo6ZGVjb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pCkBA
IC02MzgsMTQgKzQxMCwxNCBAQCBTdHJpbmcgVGV4dFJlc291cmNlRGVjb2Rlcjo6ZGVjb2RlKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pCiAgICAgICAgIGlmICghY2hlY2tGb3JIZWFkQ2hh
cnNldChkYXRhLCBsZW4sIG1vdmVkRGF0YVRvQnVmZmVyKSkKICAgICAgICAgICAgIHJldHVybiAi
IjsKIAotICAgIC8vIEZJWE1FOiBJdCBpcyB3cm9uZyB0byBjaGFuZ2UgdGhlIGVuY29kaW5nIGRv
d25zdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhbHJlYWR5IGRvbmUgc29tZSBkZWNvZGluZy4KICAgICBp
ZiAoc2hvdWxkQXV0b0RldGVjdCgpKSB7Ci0gICAgICAgIGlmIChtX2VuY29kaW5nLmlzSmFwYW5l
c2UoKSkKLSAgICAgICAgICAgIGRldGVjdEphcGFuZXNlRW5jb2RpbmcoZGF0YSwgbGVuKTsgLy8g
RklYTUU6IFdlIHNob3VsZCB1c2UgZGV0ZWN0VGV4dEVuY29kaW5nKCkgZm9yIGFsbCBsYW5ndWFn
ZXMuCi0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVGV4dEVuY29kaW5nIGRldGVjdGVkRW5j
b2Rpbmc7Ci0gICAgICAgICAgICBpZiAoZGV0ZWN0VGV4dEVuY29kaW5nKGRhdGEsIGxlbiwgbV9o
aW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29kaW5nKSkKLSAgICAgICAgICAgICAgICBzZXRFbmNv
ZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7CisgICAgICAgIGlm
ICghbV9lbmNvZGluZ0RldGVjdG9yKQorICAgICAgICAgICAgbV9lbmNvZGluZ0RldGVjdG9yID0g
VGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNyZWF0ZShtX2hpbnRFbmNvZGluZywgbV9lbmNvZGluZyk7
CisKKyAgICAgICAgVGV4dEVuY29kaW5nIGRldGVjdGVkRW5jb2RpbmcgPSBtX2VuY29kaW5nRGV0
ZWN0b3ItPmFkZERhdGEoZGF0YSwgbGVuKTsKKyAgICAgICAgaWYgKGRldGVjdGVkRW5jb2Rpbmcu
aXNWYWxpZCgpKSB7CisgICAgICAgICAgICBzZXRFbmNvZGluZyhkZXRlY3RlZEVuY29kaW5nLCBB
dXRvRGV0ZWN0ZWRFbmNvZGluZyk7CisgICAgICAgICAgICBtX2VuY29kaW5nRGV0ZWN0b3IuY2xl
YXIoKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNjcwLDIxICs0NDIsMjcgQEAgU3RyaW5nIFRl
eHRSZXNvdXJjZURlY29kZXI6OmRlY29kZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQog
CiBTdHJpbmcgVGV4dFJlc291cmNlRGVjb2Rlcjo6Zmx1c2goKQogewotICAgLy8gSWYgd2UgY2Fu
IG5vdCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgZXZlbiBhZnRlciBhIGRvY3VtZW50IGlzIGNvbXBs
ZXRlbHkKLSAgIC8vIGxvYWRlZCwgd2UgbmVlZCB0byBkZXRlY3QgdGhlIGVuY29kaW5nIGlmIG90
aGVyIGNvbmRpdGlvbnMgZm9yCi0gICAvLyBhdXRvZGV0ZWN0aW9uIGlzIHNhdGlzZmllZC4KKyAg
ICAvLyBJZiB3ZSBjYW4gbm90IGlkZW50aWZ5IHRoZSBlbmNvZGluZyBldmVuIGFmdGVyIGEgZG9j
dW1lbnQgaXMgY29tcGxldGVseQorICAgIC8vIGxvYWRlZCwgd2UgbmVlZCB0byBkZXRlY3QgdGhl
IGVuY29kaW5nIGlmIG90aGVyIGNvbmRpdGlvbnMgZm9yCisgICAgLy8gYXV0b2RldGVjdGlvbiBp
cyBzYXRpc2ZpZWQuCiAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSAmJiBzaG91bGRBdXRvRGV0ZWN0
KCkKICAgICAgICAgJiYgKCghbV9jaGVja2VkRm9ySGVhZENoYXJzZXQgJiYgKG1fY29udGVudFR5
cGUgPT0gSFRNTCB8fCBtX2NvbnRlbnRUeXBlID09IFhNTCkpIHx8ICghbV9jaGVja2VkRm9yQ1NT
Q2hhcnNldCAmJiAobV9jb250ZW50VHlwZSA9PSBDU1MpKSkpIHsKLSAgICAgICAgIFRleHRFbmNv
ZGluZyBkZXRlY3RlZEVuY29kaW5nOwotICAgICAgICAgaWYgKGRldGVjdFRleHRFbmNvZGluZyht
X2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLnNpemUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9oaW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29kaW5nKSkKLSAgICAgICAgICAg
ICBzZXRFbmNvZGluZyhkZXRlY3RlZEVuY29kaW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7Cisg
ICAgICAgIFRleHRFbmNvZGluZyBkZXRlY3RlZEVuY29kaW5nOworICAgICAgICBpZiAoIW1fZW5j
b2RpbmdEZXRlY3RvcikgeworICAgICAgICAgICAgbV9lbmNvZGluZ0RldGVjdG9yID0gVGV4dEVu
Y29kaW5nRGV0ZWN0b3I6OmNyZWF0ZShtX2hpbnRFbmNvZGluZywgbV9lbmNvZGluZyk7CisgICAg
ICAgICAgICBkZXRlY3RlZEVuY29kaW5nID0gbV9lbmNvZGluZ0RldGVjdG9yLT5hZGREYXRhKG1f
YnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuc2l6ZSgpKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
IWRldGVjdGVkRW5jb2RpbmcuaXNWYWxpZCgpKQorICAgICAgICAgICAgZGV0ZWN0ZWRFbmNvZGlu
ZyA9IG1fZW5jb2RpbmdEZXRlY3Rvci0+ZW5kRGF0YSgpOworICAgICAgICBpZiAoZGV0ZWN0ZWRF
bmNvZGluZy5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzZXRFbmNvZGluZyhkZXRlY3RlZEVuY29k
aW5nLCBBdXRvRGV0ZWN0ZWRFbmNvZGluZyk7CiAgICAgfQogCiAgICAgaWYgKCFtX2NvZGVjKQog
ICAgICAgICBtX2NvZGVjID0gbmV3VGV4dENvZGVjKG1fZW5jb2RpbmcpOwogCiAgICAgU3RyaW5n
IHJlc3VsdCA9IG1fY29kZWMtPmRlY29kZShtX2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLnNpemUo
KSwgdHJ1ZSwgbV9jb250ZW50VHlwZSA9PSBYTUwgJiYgIW1fdXNlTGVuaWVudFhNTERlY29kaW5n
LCBtX3Nhd0Vycm9yKTsKKyAgICBtX2VuY29kaW5nRGV0ZWN0b3IuY2xlYXIoKTsKICAgICBtX2J1
ZmZlci5jbGVhcigpOwogICAgIG1fY29kZWMuY2xlYXIoKTsKICAgICBtX2NoZWNrZWRGb3JCT00g
PSBmYWxzZTsgLy8gU2tpcCBCT00gYWdhaW4gd2hlbiByZS1kZWNvZGluZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCmluZGV4IDc3MTE4NWZiNGQ1NzMwMzhm
NzBmNzIxYmFhZGMxMTg1NGNhNTJjNzEuLmUxYjI1NzIwMjQ1YjRmNzZjNzljZjM3NGI5ZmUwYjE3
M2UwZjJmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VE
ZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIu
aApAQCAtMjksNiArMjksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MTWV0
YUNoYXJzZXRQYXJzZXI7CitjbGFzcyBUZXh0RW5jb2RpbmdEZXRlY3RvcjsKIAogY2xhc3MgVGV4
dFJlc291cmNlRGVjb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRSZXNvdXJjZURlY29kZXI+
IHsKIHB1YmxpYzoKQEAgLTUyLDYgKzUzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuY29k
aW5nKGNvbnN0IFRleHRFbmNvZGluZyYsIEVuY29kaW5nU291cmNlKTsKICAgICBjb25zdCBUZXh0
RW5jb2RpbmcmIGVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9lbmNvZGluZzsgfQogCisgICAg
RW5jb2RpbmdTb3VyY2UgZW5jb2RpbmdTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZTsg
fQorCisgICAgdm9pZCBzZXRVc2VzRW5jb2RpbmdEZXRlY3Rvcihib29sIHVzZXNFbmNvZGluZ0Rl
dGVjdG9yKSB7IG1fdXNlc0VuY29kaW5nRGV0ZWN0b3IgPSB1c2VzRW5jb2RpbmdEZXRlY3Rvcjsg
fQorCiAgICAgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsK
ICAgICBTdHJpbmcgZmx1c2goKTsKIApAQCAtNjAsOSArNjUsMTAgQEAgcHVibGljOgogICAgICAg
ICAvLyBoaW50RW5jb2RpbmcgaXMgZm9yIHVzZSB3aXRoIGF1dG9kZXRlY3Rpb24sIHdoaWNoIHNo
b3VsZCBiZSAKICAgICAgICAgLy8gb25seSBpbnZva2VkIHdoZW4gaGludEVuY29kaW5nIGNvbWVz
IGZyb20gYXV0by1kZXRlY3Rpb24uCiAgICAgICAgIGlmIChoaW50RGVjb2RlciAmJiBoaW50RGVj
b2Rlci0+bV9zb3VyY2UgPT0gQXV0b0RldGVjdGVkRW5jb2RpbmcpCi0gICAgICAgICAgICBtX2hp
bnRFbmNvZGluZyA9IGhpbnREZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKTsKKyAgICAgICAgICAg
IG1faGludEVuY29kaW5nID0gVGV4dEVuY29kaW5nKGhpbnREZWNvZGVyLT5lbmNvZGluZygpLm5h
bWUoKSk7CiAgICAgfQotICAgCisgICAgY29uc3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2Rpbmco
KSBjb25zdCB7IHJldHVybiBtX2hpbnRFbmNvZGluZzsgfQorCiAgICAgdm9pZCB1c2VMZW5pZW50
WE1MRGVjb2RpbmcoKSB7IG1fdXNlTGVuaWVudFhNTERlY29kaW5nID0gdHJ1ZTsgfQogICAgIGJv
b2wgc2F3RXJyb3IoKSBjb25zdCB7IHJldHVybiBtX3Nhd0Vycm9yOyB9CiAKQEAgLTc4LDE0ICs4
NCwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgY2hlY2tGb3JDU1NDaGFyc2V0KGNvbnN0IGNoYXIq
LCBzaXplX3QsIGJvb2wmIG1vdmVkRGF0YVRvQnVmZmVyKTsKICAgICBib29sIGNoZWNrRm9ySGVh
ZENoYXJzZXQoY29uc3QgY2hhciosIHNpemVfdCwgYm9vbCYgbW92ZWREYXRhVG9CdWZmZXIpOwog
ICAgIGJvb2wgY2hlY2tGb3JNZXRhQ2hhcnNldChjb25zdCBjaGFyKiwgc2l6ZV90KTsKLSAgICB2
b2lkIGRldGVjdEphcGFuZXNlRW5jb2RpbmcoY29uc3QgY2hhciosIHNpemVfdCk7CiAgICAgYm9v
bCBzaG91bGRBdXRvRGV0ZWN0KCkgY29uc3Q7CiAKICAgICBDb250ZW50VHlwZSBtX2NvbnRlbnRU
eXBlOwogICAgIFRleHRFbmNvZGluZyBtX2VuY29kaW5nOwogICAgIE93blB0cjxUZXh0Q29kZWM+
IG1fY29kZWM7CiAgICAgRW5jb2RpbmdTb3VyY2UgbV9zb3VyY2U7Ci0gICAgY29uc3QgY2hhciog
bV9oaW50RW5jb2Rpbmc7CisgICAgT3duUHRyPFRleHRFbmNvZGluZ0RldGVjdG9yPiBtX2VuY29k
aW5nRGV0ZWN0b3I7CisgICAgVGV4dEVuY29kaW5nIG1faGludEVuY29kaW5nOwogICAgIFZlY3Rv
cjxjaGFyPiBtX2J1ZmZlcjsKICAgICBib29sIG1fY2hlY2tlZEZvckJPTTsKICAgICBib29sIG1f
Y2hlY2tlZEZvckNTU0NoYXJzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0thbmppQ29kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0thbmpp
Q29kZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjlhNmE1OGQxZWJmODI3NjU2N2RjNDBlNjZjMjJlMTE2OGY4
NGFjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvS2Fu
amlDb2RlLmNwcApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJLYW5qaUNvZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBj
aGFyIEthbmppQ29kZTo6c2ppc01hcFsyNTZdID0geworICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwK
KyAgICAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAorICAg
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCisgICAgMCwg
MiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwKKyAgICAyLCAyLCAy
LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLAorICAgIDIsIDIsIDIsIDIs
IDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsCisgICAgMiwgMiwgMiwgMiwgMiwg
MiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwKKyAgICAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDAsIDAsIDAKK307CisKKy8qCisgKiBFVUMtSlAgaXMKKyAqICAgICBb
MHhhMSAtIDB4ZmVdWzB4YTEgLSAweGZlXQorICogICAgIDB4OGVbMHhhMSAtIDB4ZmVdKFNTMikK
KyAqICAgICAweDhmWzB4YTEgLSAweGZlXVsweGExIC0gMHhmZV0oU1MzKQorICoKKyAqIFNoaWZ0
X0ppcyBpcworICogICAgIFsweDgxIC0gMHg5ZiwgMHhlMCAtIDB4ZWYoMHhmZT8pXVsweDQwIC0g
MHg3ZSwgMHg4MCAtIDB4ZmNdCisgKgorICogU2hpZnRfSmlzIEhhbmtha3UgS2FuYSBpcworICog
ICAgIFsweGExIC0gMHhkZl0KKyAqLworCisvKgorICogS2FuamlDb2RlOjpqdWRnZSgpIGlzIGJh
c2VkIG9uIGp1ZGdlX2pjb2RlKCkgZnJvbSBqdmltCisgKiAgICAgaHR0cDovL2hwLnZlY3Rvci5j
by5qcC9hdXRob3JzL1ZBMDAzNDU3L3ZpbS8KKyAqCisgKiBTcGVjaWFsIFRoYW5rcyB0byBLZW5p
Y2hpIFRzdWNoaWRhCisgKi8KKworZW51bSBLYW5qaUNvZGU6OlR5cGUgS2FuamlDb2RlOjpqdWRn
ZShjb25zdCBjaGFyKiBzdHIsIGludCBzaXplKQoreworICAgIGVudW0gVHlwZSBjb2RlOworICAg
IGludCBpOworICAgIGludCBiZnIgPSBmYWxzZTsgICAgICAgICAgICAvKiBLYW5hIE1vamkgKi8K
KyAgICBpbnQgYmZrID0gMDsgICAgICAgICAgICAgICAgLyogRVVDIEthbmEgKi8KKyAgICBpbnQg
c2ppcyA9IDA7CisgICAgaW50IGV1YyA9IDA7CisKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBw
dHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihzdHIpOworCisgICAg
Y29kZSA9IEFTQ0lJOworCisgICAgaSA9IDA7CisgICAgd2hpbGUgKGkgPCBzaXplKSB7CisgICAg
ICAgIGlmIChwdHJbaV0gPT0gRVNDICYmIChzaXplIC0gaSA+PSAzKSkgeworICAgICAgICAgICAg
aWYgKChwdHJbaSArIDFdID09ICckJyAmJiBwdHJbaSArIDJdID09ICdCJykKKyAgICAgICAgICAg
IHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdCJykpIHsKKyAgICAgICAg
ICAgICAgICBjb2RlID0gSklTOworICAgICAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsKKyAg
ICAgICAgICAgIH0gZWxzZSBpZiAoKHB0cltpICsgMV0gPT0gJyQnICYmIHB0cltpICsgMl0gPT0g
J0AnKQorICAgICAgICAgICAgICAgICAgICB8fCAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kg
KyAyXSA9PSAnSicpKSB7CisgICAgICAgICAgICAgICAgY29kZSA9IEpJUzsKKyAgICAgICAgICAg
ICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltpICsgMV0g
PT0gJygnICYmIHB0cltpICsgMl0gPT0gJ0knKSB7CisgICAgICAgICAgICAgICAgY29kZSA9IEpJ
UzsKKyAgICAgICAgICAgICAgICBpICs9IDM7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltp
ICsgMV0gPT0gJyknICYmIHB0cltpICsgMl0gPT0gJ0knKSB7CisgICAgICAgICAgICAgICAgY29k
ZSA9IEpJUzsKKyAgICAgICAgICAgICAgICBpICs9IDM7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJmciA9IGZh
bHNlOworICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGlmIChwdHJbaV0gPCAweDIwKSB7CisgICAgICAgICAgICAgICAgYmZyID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAgICAgICAgICAvKiA/PyBjaGVjayBrdWRva3V0
ZW4gPz8gJiYgPz8gaGlyYWdhbmEgPz8gKi8KKyAgICAgICAgICAgICAgICBpZiAoKGkgPj0gMikg
JiYgKHB0cltpIC0gMl0gPT0gMHg4MSkKKyAgICAgICAgICAgICAgICAgICAgICAgICYmICgweDQx
IDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweDQ5KSkgeworICAgICAgICAgICAgICAg
ICAgICBjb2RlID0gU0pJUzsKKyAgICAgICAgICAgICAgICAgICAgc2ppcyArPSAxMDA7ICAgICAg
ICAvKiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDIpICYm
IChwdHJbaSAtIDJdID09IDB4YTEpCisgICAgICAgICAgICAgICAgICAgICAgICAmJiAoMHhhMiA8
PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHhhYSkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgY29kZSA9IEVVQzsKKyAgICAgICAgICAgICAgICAgICAgZXVjICs9IDEwMDsgICAgICAgICAv
KiBrdWRva3V0ZW4gKi8KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDIpICYmIChw
dHJbaSAtIDJdID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpIC0gMV0pKSB7CisgICAgICAgICAg
ICAgICAgICAgIHNqaXMgKz0gNDA7ICAgICAgICAgLyogaGlyYWdhbmEgKi8KKyAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09IDB4YTQpICYmICgweGEw
IDw9IHB0cltpIC0gMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIGV1YyArPSA0MDsgICAgICAg
ICAgLyogaGlyYWdhbmEgKi8KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIC8qID8/IGNoZWNrIGhpcmFnYW5hIG9yIGthdGFuYSA/PyAqLwor
ICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4ODIpICYm
ICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIHNqaXMrKzsgICAg
IC8qIGhpcmFnYW5hICovCisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAx
KSAmJiAocHRyW2ldID09IDB4ODMpCisgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKDB4NDAg
PD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4OWYpKSB7CisgICAgICAgICAgICAgICAg
ICAgIHNqaXMrKzsgICAgIC8qIGthdGFrYW5hICovCisgICAgICAgICAgICAgICAgfSBlbHNlIGlm
ICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4YTQpICYmICgweGEwIDw9IHB0cltpICsg
MV0pKSB7CisgICAgICAgICAgICAgICAgICAgIGV1YysrOyAgICAgIC8qIGhpcmFnYW5hICovCisg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4
YTUpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7CisgICAgICAgICAgICAgICAgICAgIGV1Yysr
OyAgICAgIC8qIGthdGFrYW5hICovCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGlmIChiZnIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChpID49IDEpICYmICgweDQwIDw9
IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhhMCkgJiYgSVNrYW5qaShwdHJbaSAtIDFdKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAgICAgICAgICAgICAgICAgICAg
ICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0g
MSkgJiYgKDB4ODEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4OWYpICYmICgoMHg0
MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDwgMHg3ZSkgfHwgKDB4N2UgPCBwdHJbaV0gJiYgcHRyW2ld
IDw9IDB4ZmMpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAg
ICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZl
KSAmJiAoMHhhMSA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHhmZSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvZGUgPSBFVUM7CisgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkg
JiYgKDB4ZmQgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4ZmUpICYmICgweGExIDw9
IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
ZGUgPSBFVUM7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKHB0cltpXSA8IDB4YTAgfHwg
MHhkZiA8IHB0cltpXSkgJiYgKDB4OGUgPT0gcHRyW2kgLSAxXSkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvZGUgPSBTSklTOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVh
a0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltpXSA8PSAweDdmKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gU0pJUzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gYnJlYWtCcmVhazsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhh
NikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1YysrOyAgICAgIC8qIHNqaXMgaGFu
a2FrdSBrYW5hIGtpZ28gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMHhh
MSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZGYpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA7ICAgICAgICAgICAvKiBzamlzIGhhbmtha3Uga2FuYSAqLworICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV1YysrOworICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV1YysrOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweDIwIDw9IHB0
cltpXSAmJiBwdHJbaV0gPD0gMHg3ZikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNq
aXMrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGJmciA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgYmZrID0gMDsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0p
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNpemUgLSBpIDw9IDEpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIDsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0
cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweGRmKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAvKiBFVUMgS0FOQSBvciBTSklTIEtBTkpJICovCisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYmZrID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBldWMgKz0gMTAwOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgYmZrKys7
CisgICAgICAgICAgICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBTSklTIG9ubHkgKi8KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvZGUgPSBTSklTOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBi
cmVha0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICgweDgxIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHg5ZikgeworICAgICAgICAgICAgICAg
ICAgICAvKiBTSklTIG9ubHkgKi8KKyAgICAgICAgICAgICAgICAgICAgY29kZSA9IFNKSVM7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICgoc2l6ZSAtIGkgPj0gMSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmJiAoKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4N2Up
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKDB4ODAgPD0gcHRyW2kgKyAxXSAmJiBw
dHJbaSArIDFdIDw9IDB4ZmMpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBicmVh
a0JyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlm
ICgweGZkIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkgeworICAgICAgICAgICAgICAgICAg
ICAvKiBFVUMgb25seSAqLworICAgICAgICAgICAgICAgICAgICBjb2RlID0gRVVDOworICAgICAg
ICAgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49IDEpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgKDB4YTEgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmUpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltpXSA8PSAweDdmKSB7CisgICAg
ICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICBiZnIgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBiZmsgPSAwOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGkrKzsKKyAgICAgICAgfQor
ICAgIH0KKyAgICBpZiAoY29kZSA9PSBBU0NJSSkgeworICAgICAgICBpZiAoc2ppcyA+IGV1Yykg
eworICAgICAgICAgICAgY29kZSA9IFNKSVM7CisgICAgICAgIH0gZWxzZSBpZiAoc2ppcyA8IGV1
YykgeworICAgICAgICAgICAgY29kZSA9IEVVQzsKKyAgICAgICAgfQorICAgIH0KK2JyZWFrQnJl
YWs6CisgICAgcmV0dXJuIChjb2RlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9LYW5qaUNvZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvS2FuamlDb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJmMjEzMWQz
ZDE2M2NkYmY1ZDJjZWRiMWYzMzgwNzJiZmMzMzk3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvS2FuamlDb2RlLmgKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgS2FuamlDb2RlX2gKKyNkZWZpbmUgS2FuamlDb2RlX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBLYW5qaUNvZGUgeworcHVibGljOgorICAgIGVudW0gVHlwZSB7IEFTQ0lJLCBK
SVMsIEVVQywgU0pJUywgVVRGMTYsIFVURjggfTsKKyAgICBzdGF0aWMgZW51bSBUeXBlIGp1ZGdl
KGNvbnN0IGNoYXIqIHN0ciwgaW50IGxlbmd0aCk7CisgICAgc3RhdGljIGNvbnN0IGludCBFU0Mg
PSAweDFiOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHNqaXNNYXBbMjU2XTsKKyAg
ICBzdGF0aWMgaW50IElTa2FuamkoaW50IGNvZGUpCisgICAgeworICAgICAgICBpZiAoY29kZSA+
PSAweDEwMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gc2ppc01hcFtj
b2RlICYgMHhmZl0gJiAxOworICAgIH0KKyAgICBzdGF0aWMgaW50IElTa2FuYShpbnQgY29kZSkK
KyAgICB7CisgICAgICAgIGlmIChjb2RlID49IDB4MTAwKQorICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgIHJldHVybiBzamlzTWFwW2NvZGUgJiAweGZmXSAmIDI7CisgICAgfQorfTsKKwor
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nRGV0ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nRGV0ZWN0b3IuaAppbmRleCA5ZjE2YWIwNzA3YWQyZTYwZjU5OWNhNjBiZGU1MTEwMDkw
NWMyYjJiLi5jYjFiMGQ3OGIyODFkOGY0MzNmYWMyYzM4MDRlYmRhYWRmYTBlMDQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3Rvci5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC0zMSwxNyArMzEsMjYgQEAKICNpZm5kZWYgVGV4dEVuY29kaW5nRGV0ZWN0b3JfaAogI2RlZmlu
ZSBUZXh0RW5jb2RpbmdEZXRlY3Rvcl9oCiAKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBj
bGFzcyBUZXh0RW5jb2Rpbmc7CitjbGFzcyBUZXh0RW5jb2Rpbmc7CisKK2NsYXNzIFRleHRFbmNv
ZGluZ0RldGVjdG9yIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5UZXh0RW5jb2RpbmdEZXRlY3Rv
cigpIHsgfQorCisgICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dEVuY29kaW5nRGV0ZWN0b3I+IGNy
ZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywgY29uc3QgVGV4dEVuY29kaW5n
JiBkZWZhdWx0RW5jb2RpbmcpOworCisgICAgLy8gQ2FsbGVkIHdoZW4gbmV3IGRhdGEgaGFzIGJl
ZW4gYXBwZW5kZWQgdG8gdGhlIGJ1ZmZlci4gUmV0dXJucyB0cnVlIGlmIGFuIGVuY29kaW5nIHdh
cyBkZXRlY3RlZC4KKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBhZGREYXRhKGNvbnN0IGNoYXIq
IGRhdGEsIHNpemVfdCBsZW4pID0gMDsKIAotICAgIC8vIEdpdmVuIGEgc2VxdWVuY2Ugb2YgYnl0
ZXMgaW4gfGRhdGF8IG9mIGxlbmd0aCB8bGVufCBhbmQgYW4gb3B0aW9uYWwKLSAgICAvLyBoaW50
RW5jb2RpbmdOYW1lLCBkZXRlY3QgdGhlIG1vc3QgbGlrZWx5IGNoYXJhY3RlciBlbmNvZGluZy4g
Ci0gICAgLy8gVGhlIHdheSBoaW50RW5jb2RpbmdOYW1lIGlzIHVzZWQgaXMgdXAgdG8gYW4gaW1w
bGVtZW50YXRpb24uCi0gICAgLy8gQ3VycmVudGx5LCB0aGUgb25seSBjYWxsZXIgc2V0cyBpdCB0
byB0aGUgcGFyZW50IGZyYW1lIGVuY29kaW5nLgotICAgIGJvb2wgZGV0ZWN0VGV4dEVuY29kaW5n
KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgY2hhciogaGludEVuY29kaW5nTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBUZXh0RW5jb2RpbmcqIGRldGVjdGVkRW5jb2RpbmcpOworICAgIC8vIENhbGxlZCB3aGVu
IHRoZXJlIGlzIG5vIG1vcmUgZGF0YSBmb3IgdGhlIGRldGVjdG9yIHRvIHVzZS4KKyAgICAvLyBS
ZXR1cm5zIHRydWUgaWYgYW4gZW5jb2Rpbmcgd2FzIGRldGVjdGVkLgorICAgIHZpcnR1YWwgVGV4
dEVuY29kaW5nIGVuZERhdGEoKSA9IDA7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0
ZWN0b3JJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdE
ZXRlY3RvcklDVS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NDg3NTgzZjUz
YjE4ODA5MDkwYTBiOTg0ZjdjZGMyMTNjY2Q0MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5j
b2RpbmdEZXRlY3RvcklDVS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgot
Ci0jaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCi0jaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+
Ci0KLSNpbmNsdWRlICJ1bmljb2RlL3VjbnYuaCIKLSNpbmNsdWRlICJ1bmljb2RlL3Vjc2RldC5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWJvb2wgZGV0ZWN0VGV4dEVuY29kaW5nKGNvbnN0
IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiBoaW50RW5jb2RpbmdOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgVGV4dEVuY29k
aW5nKiBkZXRlY3RlZEVuY29kaW5nKQotewotICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVu
Y29kaW5nKCk7Ci0gICAgaW50IG1hdGNoZXNDb3VudCA9IDA7IAotICAgIFVFcnJvckNvZGUgc3Rh
dHVzID0gVV9aRVJPX0VSUk9SOwotICAgIFVDaGFyc2V0RGV0ZWN0b3IqIGRldGVjdG9yID0gdWNz
ZGV0X29wZW4oJnN0YXR1cyk7Ci0gICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgdWNzZGV0X2VuYWJsZUlucHV0RmlsdGVyKGRldGVjdG9yLCB0cnVl
KTsKLSAgICB1Y3NkZXRfc2V0VGV4dChkZXRlY3RvciwgZGF0YSwgc3RhdGljX2Nhc3Q8aW50MzJf
dD4obGVuKSwgJnN0YXR1cyk7IAotICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gRklYTUU6IEEgZmV3IHRoaW5ncyB3ZSBjYW4gZG8gb3Ro
ZXIgdGhhbiBpbXByb3ZpbmcKLSAgICAvLyB0aGUgSUNVIGRldGVjdG9yIGl0c2VsZi4gCi0gICAg
Ly8gMS4gVXNlIHVjc2RldF9kZXRlY3RBbGwgYW5kIHBpY2sgdGhlIG1vc3QgbGlrZWx5IG9uZSBn
aXZlbgotICAgIC8vICJ0aGUgY29udGV4dCIgKHBhcmVudC1lbmNvZGluZywgcmVmZXJyZXIgZW5j
b2RpbmcsIGV0YykuCi0gICAgLy8gMi4gJ0VtdWxhdGUnIEZpcmVmb3gvSUUncyBub24tVW5pdmVy
c2FsIGRldGVjdG9ycyAoZS5nLgotICAgIC8vIENoaW5lc2UsIEphcGFuZXNlLCBSdXNzaWFuLCBL
b3JlYW4gYW5kIEhlYnJldykgYnkgcGlja2luZyB0aGUgCi0gICAgLy8gZW5jb2Rpbmcgd2l0aCBh
IGhpZ2hlc3QgY29uZmlkZW5jZSBhbW9uZyB0aGUgZGV0ZWN0b3Itc3BlY2lmaWMKLSAgICAvLyBs
aW1pdGVkIHNldCBvZiBjYW5kaWRhdGUgZW5jb2RpbmdzLgotICAgIC8vIEJlbG93IGlzIGEgcGFy
dGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlyc3QgcGFydCBvZiB3aGF0J3Mgb3V0bGluZWQK
LSAgICAvLyBhYm92ZS4KLSAgICBjb25zdCBVQ2hhcnNldE1hdGNoKiogbWF0Y2hlcyA9IHVjc2Rl
dF9kZXRlY3RBbGwoZGV0ZWN0b3IsICZtYXRjaGVzQ291bnQsICZzdGF0dXMpOwotICAgIGlmIChV
X0ZBSUxVUkUoc3RhdHVzKSkgewotICAgICAgICB1Y3NkZXRfY2xvc2UoZGV0ZWN0b3IpOwotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgY29uc3QgY2hhciogZW5jb2RpbmcgPSAw
OwotICAgIGlmIChoaW50RW5jb2RpbmdOYW1lKSB7Ci0gICAgICAgIFRleHRFbmNvZGluZyBoaW50
RW5jb2RpbmcoaGludEVuY29kaW5nTmFtZSk7Ci0gICAgICAgIC8vIDEwIGlzIHRoZSBtaW5pbXVt
IGNvbmZpZGVuY2UgdmFsdWUgY29uc2lzdGVudCB3aXRoIHRoZSBjb2RlcG9pbnQKLSAgICAgICAg
Ly8gYWxsb2NhdGlvbiBpbiBhIGdpdmVuIGVuY29kaW5nLiBUaGUgc2l6ZSBvZiBhIGNodW5rIHBh
c3NlZCB0bwotICAgICAgICAvLyB1cyB2YXJpZXMgZXZlbiBmb3IgdGhlIHNhbWUgaHRtbCBmaWxl
IChhcHBhcmVudGx5IGRlcGVuZGluZyBvbiAKLSAgICAgICAgLy8gdGhlIG5ldHdvcmsgbG9hZCku
IFdoZW4gd2UncmUgZ2l2ZW4gYSByYXRoZXIgc2hvcnQgY2h1bmssIHdlIAotICAgICAgICAvLyBk
b24ndCBoYXZlIGEgc3VmZmljaWVudGx5IHJlbGlhYmxlIHNpZ25hbCBvdGhlciB0aGFuIHRoZSBm
YWN0IHRoYXQKLSAgICAgICAgLy8gdGhlIGNodW5rIGlzIGNvbnNpc3RlbnQgd2l0aCBhIHNldCBv
ZiBlbmNvZGluZ3MuIFNvLCBpbnN0ZWFkIG9mCi0gICAgICAgIC8vIHNldHRpbmcgYW4gYXJiaXRy
YXJ5IHRocmVzaG9sZCwgd2UgaGF2ZSB0byBzY2FuIGFsbCB0aGUgZW5jb2RpbmdzCi0gICAgICAg
IC8vIGNvbnNpc3RlbnQgd2l0aCB0aGUgZGF0YS4gIAotICAgICAgICBjb25zdCBpbnQzMl90IGtU
aHJlc29sZCA9IDEwOwotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1hdGNoZXNDb3VudDsg
KytpKSB7Ci0gICAgICAgICAgICBpbnQzMl90IGNvbmZpZGVuY2UgPSB1Y3NkZXRfZ2V0Q29uZmlk
ZW5jZShtYXRjaGVzW2ldLCAmc3RhdHVzKTsKLSAgICAgICAgICAgIGlmIChVX0ZBSUxVUkUoc3Rh
dHVzKSkgewotICAgICAgICAgICAgICAgIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb25maWRl
bmNlIDwga1RocmVzb2xkKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY29u
c3QgY2hhciogbWF0Y2hFbmNvZGluZyA9IHVjc2RldF9nZXROYW1lKG1hdGNoZXNbaV0sICZzdGF0
dXMpOwotICAgICAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKSB7Ci0gICAgICAgICAgICAg
ICAgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgaWYgKFRleHRFbmNvZGluZyhtYXRjaEVuY29kaW5nKSA9
PSBoaW50RW5jb2RpbmcpIHsKLSAgICAgICAgICAgICAgICBlbmNvZGluZyA9IGhpbnRFbmNvZGlu
Z05hbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0gICAgLy8gSWYgbm8gbWF0Y2ggaXMgZm91bmQgc28gZmFyLCBqdXN0IHBpY2sgdGhl
IHRvcCBtYXRjaC4gCi0gICAgLy8gVGhpcyBjYW4gaGFwcGVuLCBzYXksIHdoZW4gYSBwYXJlbnQg
ZnJhbWUgaW4gRVVDLUpQIHJlZmVycyB0bwotICAgIC8vIGEgY2hpbGQgZnJhbWUgaW4gU2hpZnRf
SklTIGFuZCBib3RoIGZyYW1lcyBkbyBOT1Qgc3BlY2lmeSB0aGUgZW5jb2RpbmcKLSAgICAvLyBt
YWtpbmcgdXMgcmVzb3J0IHRvIGF1dG8tZGV0ZWN0aW9uICh3aGVuIGl0IElTIHR1cm5lZCBvbiku
Ci0gICAgaWYgKCFlbmNvZGluZyAmJiBtYXRjaGVzQ291bnQgPiAwKQotICAgICAgICBlbmNvZGlu
ZyA9IHVjc2RldF9nZXROYW1lKG1hdGNoZXNbMF0sICZzdGF0dXMpOwotICAgIGlmIChVX1NVQ0NF
U1Moc3RhdHVzKSkgewotICAgICAgICAqZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNvZGluZyhl
bmNvZGluZyk7Ci0gICAgICAgIHVjc2RldF9jbG9zZShkZXRlY3Rvcik7Ci0gICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0gICAgCi0gICAgdWNzZGV0X2Nsb3NlKGRldGVjdG9yKTsKLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggM2I2MmJjNWIwNWVmOTFlYjhmNGY3ZDU1YTA3NGU4ODYyYzBiNDg1Yy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yTm9uZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRleHRFbmNvZGlu
Z0RldGVjdG9yLmgiCi0KLSNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1ib29sIGRldGVjdFRleHRFbmNvZGluZyhjb25zdCBjaGFyKiwgc2l6ZV90LCBj
b25zdCBjaGFyKiwgVGV4dEVuY29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQotewotICAgICpkZXRl
Y3RlZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ0Rl
dGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTBlMDBhNjA2YTYxNThmNTA1N2RmMzUxZGMzZjI5MGUwYThiNTcyYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JX
aXRoSUNVQW5kS2FuamlDb2RlLmNwcApAQCAtMCwwICsxLDE5NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaCIK
KworI2luY2x1ZGUgIkthbmppQ29kZS5oIgorI2luY2x1ZGUgInVuaWNvZGUvdWNudi5oIgorI2lu
Y2x1ZGUgInVuaWNvZGUvdWNzZGV0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVGV4dEVu
Y29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcldp
dGhJQ1VBbmRLYW5qaUNvZGUoY29uc3QgVGV4dEVuY29kaW5nJiBoaW50RW5jb2RpbmcsIGNvbnN0
IFRleHRFbmNvZGluZyYgZGVmYXVsdEVuY29kaW5nKQorICAgIDogaXNBc2NpaSh0cnVlKQorICAg
ICwgbV9oaW50RW5jb2RpbmcoaGludEVuY29kaW5nKQorICAgICwgbV9kZWZhdWx0RW5jb2Rpbmco
ZGVmYXVsdEVuY29kaW5nKQoreworfQorCitUZXh0RW5jb2RpbmcgVGV4dEVuY29kaW5nRGV0ZWN0
b3JXaXRoSUNVQW5kS2FuamlDb2RlOjphZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBs
ZW4pCit7CisgICAgaWYgKCFsZW4pCisgICAgICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKKwor
ICAgIGlmIChpc0FzY2lpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuOyAr
K2kpIHsKKyAgICAgICAgICAgIGlmIChkYXRhW2ldID09IDB4MWIgfHwgZGF0YVtpXSAmIDB4ODAp
IHsKKyAgICAgICAgICAgICAgICBpc0FzY2lpID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGlzQXNjaWkpCisg
ICAgICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKKworICAgIFRleHRFbmNvZGluZyBkZXRlY3Rl
ZEVuY29kaW5nOworICAgIGlmIChtX2RlZmF1bHRFbmNvZGluZy5pc0phcGFuZXNlKCkpCisgICAg
ICAgIGRldGVjdFRleHRFbmNvZGluZ1dpdGhLYW5qaUNvZGUoZGF0YSwgbGVuLCAmZGV0ZWN0ZWRF
bmNvZGluZyk7CisgICAgZWxzZQorICAgICAgICBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoSUNVKGRh
dGEsIGxlbiwgbV9oaW50RW5jb2RpbmcsICZkZXRlY3RlZEVuY29kaW5nKTsKKworICAgIGlmIChk
ZXRlY3RlZEVuY29kaW5nLmlzVmFsaWQoKSkKKyAgICAgICAgbV9idWZmZXIuY2xlYXIoKTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgc2l6ZV90IG9sZFNpemUgPSBtX2J1ZmZlci5zaXplKCk7CisgICAg
ICAgIG1fYnVmZmVyLmdyb3cob2xkU2l6ZSArIGxlbik7CisgICAgICAgIG1lbWNweShtX2J1ZmZl
ci5kYXRhKCkgKyBvbGRTaXplLCBkYXRhLCBsZW4pOworICAgIH0KKworICAgIHJldHVybiBkZXRl
Y3RlZEVuY29kaW5nOworfQorCitUZXh0RW5jb2RpbmcgVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRo
SUNVQW5kS2FuamlDb2RlOjplbmREYXRhKCkKK3sKKyAgICBpZiAoaXNBc2NpaSkKKyAgICAgICAg
cmV0dXJuIG1fZGVmYXVsdEVuY29kaW5nOworCisgICAgaWYgKCFtX2J1ZmZlci5zaXplKCkpCisg
ICAgICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKKyAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRF
bmNvZGluZzsKKyAgICBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoSUNVKG1fYnVmZmVyLmRhdGEoKSwg
bV9idWZmZXIuc2l6ZSgpLCBtX2hpbnRFbmNvZGluZywgJmRldGVjdGVkRW5jb2RpbmcpOworICAg
IG1fYnVmZmVyLmNsZWFyKCk7CisgICAgcmV0dXJuIGRldGVjdGVkRW5jb2Rpbmc7Cit9CisKK2Jv
b2wgVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpkZXRlY3RUZXh0RW5j
b2RpbmdXaXRoS2FuamlDb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sIFRleHRFbmNv
ZGluZyogZGV0ZWN0ZWRFbmNvZGluZykKK3sKKyAgICBzd2l0Y2ggKEthbmppQ29kZTo6anVkZ2Uo
ZGF0YSwgbGVuKSkgeworICAgIGNhc2UgS2FuamlDb2RlOjpKSVM6CisgICAgICAgICpkZXRlY3Rl
ZEVuY29kaW5nID0gVGV4dEVuY29kaW5nKCJJU08tMjAyMi1KUCIpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBjYXNlIEthbmppQ29kZTo6RVVDOgorICAgICAgICAqZGV0ZWN0ZWRFbmNvZGlu
ZyA9IFRleHRFbmNvZGluZygiRVVDLUpQIik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNh
c2UgS2FuamlDb2RlOjpTSklTOgorICAgICAgICAqZGV0ZWN0ZWRFbmNvZGluZyA9IFRleHRFbmNv
ZGluZygiU2hpZnRfSklTIik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgS2FuamlD
b2RlOjpBU0NJSToKKyAgICBjYXNlIEthbmppQ29kZTo6VVRGMTY6CisgICAgY2FzZSBLYW5qaUNv
ZGU6OlVURjg6CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K2Jvb2wgVGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoSUNVQW5kS2FuamlDb2RlOjpkZXRlY3RUZXh0
RW5jb2RpbmdXaXRoSUNVKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRl
eHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZykKK3sKKyAgICAqZGV0ZWN0ZWRFbmNvZGluZyA9
IFRleHRFbmNvZGluZygpOworICAgIGludCBtYXRjaGVzQ291bnQgPSAwOyAKKyAgICBVRXJyb3JD
b2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKKyAgICBVQ2hhcnNldERldGVjdG9yKiBkZXRlY3Rv
ciA9IHVjc2RldF9vcGVuKCZzdGF0dXMpOworICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVjc2RldF9lbmFibGVJbnB1dEZpbHRlcihkZXRlY3Rv
ciwgdHJ1ZSk7CisgICAgdWNzZGV0X3NldFRleHQoZGV0ZWN0b3IsIGRhdGEsIHN0YXRpY19jYXN0
PGludDMyX3Q+KGxlbiksICZzdGF0dXMpOyAKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEZJWE1FOiBBIGZldyB0aGluZ3Mgd2UgY2Fu
IGRvIG90aGVyIHRoYW4gaW1wcm92aW5nCisgICAgLy8gdGhlIElDVSBkZXRlY3RvciBpdHNlbGYu
IAorICAgIC8vIDEuIFVzZSB1Y3NkZXRfZGV0ZWN0QWxsIGFuZCBwaWNrIHRoZSBtb3N0IGxpa2Vs
eSBvbmUgZ2l2ZW4KKyAgICAvLyAidGhlIGNvbnRleHQiIChwYXJlbnQtZW5jb2RpbmcsIHJlZmVy
cmVyIGVuY29kaW5nLCBldGMpLgorICAgIC8vIDIuICdFbXVsYXRlJyBGaXJlZm94L0lFJ3Mgbm9u
LVVuaXZlcnNhbCBkZXRlY3RvcnMgKGUuZy4KKyAgICAvLyBDaGluZXNlLCBKYXBhbmVzZSwgUnVz
c2lhbiwgS29yZWFuIGFuZCBIZWJyZXcpIGJ5IHBpY2tpbmcgdGhlIAorICAgIC8vIGVuY29kaW5n
IHdpdGggYSBoaWdoZXN0IGNvbmZpZGVuY2UgYW1vbmcgdGhlIGRldGVjdG9yLXNwZWNpZmljCisg
ICAgLy8gbGltaXRlZCBzZXQgb2YgY2FuZGlkYXRlIGVuY29kaW5ncy4KKyAgICAvLyBCZWxvdyBp
cyBhIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIGZpcnN0IHBhcnQgb2Ygd2hhdCdzIG91
dGxpbmVkCisgICAgLy8gYWJvdmUuCisgICAgY29uc3QgVUNoYXJzZXRNYXRjaCoqIG1hdGNoZXMg
PSB1Y3NkZXRfZGV0ZWN0QWxsKGRldGVjdG9yLCAmbWF0Y2hlc0NvdW50LCAmc3RhdHVzKTsKKyAg
ICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKyAgICAgICAgdWNzZGV0X2Nsb3NlKGRldGVjdG9y
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNvbnN0IGNoYXIqIGVuY29k
aW5nID0gMDsKKyAgICBpZiAoaGludEVuY29kaW5nLmlzVmFsaWQoKSkgeworICAgICAgICAvLyAx
MCBpcyB0aGUgbWluaW11bSBjb25maWRlbmNlIHZhbHVlIGNvbnNpc3RlbnQgd2l0aCB0aGUgY29k
ZXBvaW50CisgICAgICAgIC8vIGFsbG9jYXRpb24gaW4gYSBnaXZlbiBlbmNvZGluZy4gVGhlIHNp
emUgb2YgYSBjaHVuayBwYXNzZWQgdG8KKyAgICAgICAgLy8gdXMgdmFyaWVzIGV2ZW4gZm9yIHRo
ZSBzYW1lIGh0bWwgZmlsZSAoYXBwYXJlbnRseSBkZXBlbmRpbmcgb24gCisgICAgICAgIC8vIHRo
ZSBuZXR3b3JrIGxvYWQpLiBXaGVuIHdlJ3JlIGdpdmVuIGEgcmF0aGVyIHNob3J0IGNodW5rLCB3
ZSAKKyAgICAgICAgLy8gZG9uJ3QgaGF2ZSBhIHN1ZmZpY2llbnRseSByZWxpYWJsZSBzaWduYWwg
b3RoZXIgdGhhbiB0aGUgZmFjdCB0aGF0CisgICAgICAgIC8vIHRoZSBjaHVuayBpcyBjb25zaXN0
ZW50IHdpdGggYSBzZXQgb2YgZW5jb2RpbmdzLiBTbywgaW5zdGVhZCBvZgorICAgICAgICAvLyBz
ZXR0aW5nIGFuIGFyYml0cmFyeSB0aHJlc2hvbGQsIHdlIGhhdmUgdG8gc2NhbiBhbGwgdGhlIGVu
Y29kaW5ncworICAgICAgICAvLyBjb25zaXN0ZW50IHdpdGggdGhlIGRhdGEuICAKKyAgICAgICAg
Y29uc3QgaW50MzJfdCBrVGhyZXNvbGQgPSAxMDsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBtYXRjaGVzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgaW50MzJfdCBjb25maWRlbmNlID0g
dWNzZGV0X2dldENvbmZpZGVuY2UobWF0Y2hlc1tpXSwgJnN0YXR1cyk7CisgICAgICAgICAgICBp
ZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBVX1pFUk9f
RVJST1I7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBpZiAoY29uZmlkZW5jZSA8IGtUaHJlc29sZCkKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1hdGNoRW5jb2RpbmcgPSB1Y3NkZXRfZ2V0TmFtZSht
YXRjaGVzW2ldLCAmc3RhdHVzKTsKKyAgICAgICAgICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkg
eworICAgICAgICAgICAgICAgIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChUZXh0RW5jb2Rpbmco
bWF0Y2hFbmNvZGluZykgPT0gaGludEVuY29kaW5nKSB7CisgICAgICAgICAgICAgICAgZW5jb2Rp
bmcgPSBoaW50RW5jb2RpbmcubmFtZSgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIC8vIElmIG5vIG1hdGNoIGlzIGZvdW5kIHNv
IGZhciwganVzdCBwaWNrIHRoZSB0b3AgbWF0Y2guIAorICAgIC8vIFRoaXMgY2FuIGhhcHBlbiwg
c2F5LCB3aGVuIGEgcGFyZW50IGZyYW1lIGluIEVVQy1KUCByZWZlcnMgdG8KKyAgICAvLyBhIGNo
aWxkIGZyYW1lIGluIFNoaWZ0X0pJUyBhbmQgYm90aCBmcmFtZXMgZG8gTk9UIHNwZWNpZnkgdGhl
IGVuY29kaW5nCisgICAgLy8gbWFraW5nIHVzIHJlc29ydCB0byBhdXRvLWRldGVjdGlvbiAod2hl
biBpdCBJUyB0dXJuZWQgb24pLgorICAgIGlmICghZW5jb2RpbmcgJiYgbWF0Y2hlc0NvdW50ID4g
MCkKKyAgICAgICAgZW5jb2RpbmcgPSB1Y3NkZXRfZ2V0TmFtZShtYXRjaGVzWzBdLCAmc3RhdHVz
KTsKKyAgICBpZiAoVV9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgKmRldGVjdGVkRW5jb2Rp
bmcgPSBUZXh0RW5jb2RpbmcoZW5jb2RpbmcpOworICAgICAgICB1Y3NkZXRfY2xvc2UoZGV0ZWN0
b3IpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9ICAgIAorICAgIHVjc2RldF9jbG9zZShk
ZXRlY3Rvcik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitQYXNzT3duUHRyPFRleHRFbmNvZGlu
Z0RldGVjdG9yPiBUZXh0RW5jb2RpbmdEZXRlY3Rvcjo6Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGlu
ZyYgaGludEVuY29kaW5nLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1bHRFbmNvZGluZykKK3sK
KyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEth
bmppQ29kZShoaW50RW5jb2RpbmcsIGRlZmF1bHRFbmNvZGluZykpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wODUwMjQ4MDNmNTY0NzJkMjMzNDI2YjRiYTU4Zjk3MmE4YzcxNDQxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdE
ZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBUZXh0
RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGVfaAorI2RlZmluZSBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGVfaAorCisjaW5jbHVkZSAiVGV4dEVuY29kaW5n
LmgiCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhJQ1VBbmRLYW5qaUNvZGUgOiBw
dWJsaWMgVGV4dEVuY29kaW5nRGV0ZWN0b3IgeworcHVibGljOgorICAgIFRleHRFbmNvZGluZ0Rl
dGVjdG9yV2l0aElDVUFuZEthbmppQ29kZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGlu
ZywgY29uc3QgVGV4dEVuY29kaW5nJiBkZWZhdWx0RW5jb2RpbmcpOworCisgICAgdmlydHVhbCBU
ZXh0RW5jb2RpbmcgYWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBlbmREYXRhKCkgT1ZFUlJJREU7CisKK3ByaXZh
dGU6CisgICAgYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2FuamlDb2RlKGNvbnN0IGNoYXIq
IGRhdGEsIHNpemVfdCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZyk7CisgICAgYm9vbCBkZXRlY3RUZXh0
RW5jb2RpbmdXaXRoSUNVKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHRFbmNvZGluZyYgaGludEVuY29kaW5n
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0RW5jb2RpbmcqIGRldGVj
dGVkRW5jb2RpbmcpOworCisgICAgLy8gRmxhZyBpZiB0aGUgZGF0YSBzbyBmYXIgaXMgYWxsIGFz
Y2lpIGNoYXJhY3RlcnMuCisgICAgYm9vbCBpc0FzY2lpOworICAgIFZlY3RvcjxjaGFyPiBtX2J1
ZmZlcjsKKyAgICBUZXh0RW5jb2RpbmcgbV9oaW50RW5jb2Rpbmc7CisgICAgVGV4dEVuY29kaW5n
IG1fZGVmYXVsdEVuY29kaW5nOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5n
RGV0ZWN0b3JXaXRoS2FuamlDb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmNjM2Y3
NTZmZTNlZTM5MDZmNWMyNGIyNmM3NjExOGRhMzE2ZjNkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNv
ZGUuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVGV4
dEVuY29kaW5nRGV0ZWN0b3JXaXRoS2FuamlDb2RlLmgiCisKKyNpbmNsdWRlICJLYW5qaUNvZGUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5q
aUNvZGU6OlRleHRFbmNvZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZShjb25zdCBUZXh0RW5jb2Rp
bmcmLCBjb25zdCBUZXh0RW5jb2RpbmcmIGRlZmF1bHRFbmNvZGluZykKKyAgICA6IG1fZGVmYXVs
dEVuY29kaW5nKGRlZmF1bHRFbmNvZGluZykKK3sKK30KKworVGV4dEVuY29kaW5nIFRleHRFbmNv
ZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZTo6YWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QgbGVuKQoreworICAgIGlmICghbGVuKQorICAgICAgICByZXR1cm4gVGV4dEVuY29kaW5nKCk7
CisKKyAgICBUZXh0RW5jb2RpbmcgZGV0ZWN0ZWRFbmNvZGluZzsKKyAgICBpZiAobV9kZWZhdWx0
RW5jb2RpbmcuaXNKYXBhbmVzZSgpKQorICAgICAgICBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2Fu
amlDb2RlKGRhdGEsIGxlbiwgJmRldGVjdGVkRW5jb2RpbmcpOworCisgICAgcmV0dXJuIGRldGVj
dGVkRW5jb2Rpbmc7Cit9CisKK1RleHRFbmNvZGluZyBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhL
YW5qaUNvZGU6OmVuZERhdGEoKQoreworICAgIHJldHVybiBUZXh0RW5jb2RpbmcoKTsKK30KKwor
UGFzc093blB0cjxUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gVGV4dEVuY29kaW5nRGV0ZWN0b3I6OmNy
ZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmIGhpbnRFbmNvZGluZywgY29uc3QgVGV4dEVuY29kaW5n
JiBkZWZhdWx0RW5jb2RpbmcpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0RW5jb2Rp
bmdEZXRlY3RvcldpdGhLYW5qaUNvZGUoaGludEVuY29kaW5nLCBkZWZhdWx0RW5jb2RpbmcpKTsK
K30KKworYm9vbCBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGU6OmRldGVjdFRleHRF
bmNvZGluZ1dpdGhLYW5qaUNvZGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbiwgVGV4dEVu
Y29kaW5nKiBkZXRlY3RlZEVuY29kaW5nKQoreworICAgIHN3aXRjaCAoS2FuamlDb2RlOjpqdWRn
ZShkYXRhLCBsZW4pKSB7CisgICAgY2FzZSBLYW5qaUNvZGU6OkpJUzoKKyAgICAgICAgKmRldGVj
dGVkRW5jb2RpbmcgPSBUZXh0RW5jb2RpbmcoIklTTy0yMDIyLUpQIik7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIGNhc2UgS2FuamlDb2RlOjpFVUM6CisgICAgICAgICpkZXRlY3RlZEVuY29k
aW5nID0gVGV4dEVuY29kaW5nKCJFVUMtSlAiKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
Y2FzZSBLYW5qaUNvZGU6OlNKSVM6CisgICAgICAgICpkZXRlY3RlZEVuY29kaW5nID0gVGV4dEVu
Y29kaW5nKCJTaGlmdF9KSVMiKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBLYW5q
aUNvZGU6OkFTQ0lJOgorICAgIGNhc2UgS2FuamlDb2RlOjpVVEYxNjoKKyAgICBjYXNlIEthbmpp
Q29kZTo6VVRGODoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ0RldGVjdG9yV2l0aEthbmppQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGUuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTY4
MWVjMGY5ODA0N2RlYTNiMTYxYzdjMGM4Y2VhMjE4ZjU3MTNkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5q
aUNvZGUuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhL
YW5qaUNvZGVfaAorI2RlZmluZSBUZXh0RW5jb2RpbmdEZXRlY3RvcldpdGhLYW5qaUNvZGVfaAor
CisjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUZXh0RW5jb2RpbmdEZXRlY3Rv
cldpdGhLYW5qaUNvZGUgOiBwdWJsaWMgVGV4dEVuY29kaW5nRGV0ZWN0b3IgeworcHVibGljOgor
ICAgIFRleHRFbmNvZGluZ0RldGVjdG9yV2l0aElDVUFuZEthbmppQ29kZShjb25zdCBUZXh0RW5j
b2RpbmcmIGhpbnRFbmNvZGluZywgY29uc3QgVGV4dEVuY29kaW5nJiBkZWZhdWx0RW5jb2Rpbmcp
OworCisgICAgdmlydHVhbCBUZXh0RW5jb2RpbmcgYWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBz
aXplX3QgbGVuKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFRleHRFbmNvZGluZyBlbmREYXRhKCkg
T1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgYm9vbCBkZXRlY3RUZXh0RW5jb2RpbmdXaXRoS2Fu
amlDb2RlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRleHRFbmNvZGluZyogZGV0ZWN0ZWRFbmNvZGluZyk7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCmluZGV4IDEyYWMxYWIyMjcwMjdhNzdiNzQ3N2UwOWIxODliNTc3YjAzMzc2OGIuLmE0
ZjgyMWI4N2E2NzJlODllZWU5NmI2Mjc5MTVkNzJhMWQxNmJhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdC5neXAKQEAgLTE2Miw2ICsxNjIsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMv
V2ViRm9ybUNvbnRyb2xFbGVtZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRm9y
bUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGcmFtZS5oJywKKyAgICAg
ICAgICAgICAgICAncHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmgnLAogICAgICAgICAg
ICAgICAgICdwdWJsaWMvV2ViRnJhbWVDbGllbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJHZW9sb2NhdGlvbkNsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdl
b2xvY2F0aW9uQ2xpZW50TW9jay5oJywKQEAgLTU0NCw2ICs1NDUsNyBAQAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViRm9udEltcGwuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkZvcm1FbGVtZW50LmNw
cCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5jcHAnLAog
ICAgICAgICAgICAgICAgICdzcmMvV2ViRnJhbWVJbXBsLmNwcCcsCiAgICAgICAgICAgICAgICAg
J3NyYy9XZWJGcmFtZUltcGwuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJHZW9sb2NhdGlv
bkNvbnRyb2xsZXIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkRhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRh
dGFTb3VyY2UuaAppbmRleCAwN2I2MzQ5MGMxN2I1YTEyODFkODljMDViM2EwYzU4ZDk5NjY1YmJl
Li5kMzBmOTY3YzEzOWUzYmVkMWNmMTFiMTNlMmVkOGMwZDAyNTk1MWFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhU291cmNlLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YVNvdXJjZS5oCkBAIC0zOCw2ICszOCw3IEBA
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7Citj
bGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViU3RyaW5nOwogY2xhc3MgV2ViVVJMOwogY2xhc3MgV2Vi
VVJMUmVxdWVzdDsKQEAgLTk5LDYgKzEwMCwxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGFwcGxp
Y2F0aW9uIGNhY2hlIGhvc3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGF0YXNvdXJjZS4KICAgICB2
aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlvbkNhY2hlSG9zdCgpID0g
MDsKIAorICAgIC8vIEVuYWJsZSBlbmNvZGluZyBkZXRlY3Rpb24ganVzdCBmb3IgdGhpcyBkYXRh
c291cmNlLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGVFbmNvZGluZ0RldGVjdGlvbigpID0gMDsK
KworICAgIC8vIFJldHVybnMgdGhlIGRhdGEgZm9yIHRoZSBtYWluIHJlc291cmNlLgorICAgIHZp
cnR1YWwgV2ViRGF0YSBtYWluUmVzb3VyY2VEYXRhKCkgY29uc3QgPSAwOworCiAgICAgLy8gU2V0
IGRlZmVyTWFpblJlc291cmNlRGF0YUxvYWQgZmxhZyBvbiB0aGUgbG9hZGVyLiAgVGhpcyBpcyB1
c2VkIGZvcgogICAgIC8vIHRlc3RpbmcuCiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVyTWFpblJl
c291cmNlRGF0YUxvYWQoYm9vbCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkRvY3VtZW50LmgKaW5kZXggNjcyNWU3OWUxZDdlOGUxYmIyNjg5ODZhNmE1ZDUzNWI0ZGRl
Nzg2My4uMjkwMDcxOTk5NDJhMjUyM2YwZGE1ZGM4MmI0MDlkMzYxZjdlNDFkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCkBAIC01NCw2ICs1NCwxNyBA
QCBjbGFzcyBXZWJOb2RlTGlzdDsKIGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKIAor
ZW51bSBXZWJFbmNvZGluZ1NvdXJjZSB7CisgICAgRGVmYXVsdEVuY29kaW5nLAorICAgIEF1dG9E
ZXRlY3RlZEVuY29kaW5nLAorICAgIEVuY29kaW5nRnJvbVhNTEhlYWRlciwKKyAgICBFbmNvZGlu
Z0Zyb21NZXRhVGFnLAorICAgIEVuY29kaW5nRnJvbUNTU0NoYXJzZXQsCisgICAgRW5jb2RpbmdG
cm9tSFRUUEhlYWRlciwKKyAgICBVc2VyQ2hvc2VuRW5jb2RpbmcsCisgICAgRW5jb2RpbmdGcm9t
UGFyZW50RnJhbWUKK307CisKIC8vIFByb3ZpZGVzIHJlYWRvbmx5IGFjY2VzcyB0byBzb21lIHBy
b3BlcnRpZXMgb2YgYSBET00gZG9jdW1lbnQuCiBjbGFzcyBXZWJEb2N1bWVudCA6IHB1YmxpYyBX
ZWJOb2RlIHsKIHB1YmxpYzoKQEAgLTYyLDYgKzczLDggQEAgcHVibGljOgogICAgICAgICBVc2Vy
U3R5bGVBdXRob3JMZXZlbAogICAgIH07CiAKKworCiAgICAgV2ViRG9jdW1lbnQoKSB7IH0KICAg
ICBXZWJEb2N1bWVudChjb25zdCBXZWJEb2N1bWVudCYgZSkgOiBXZWJOb2RlKGUpIHsgfQogCkBA
IC03OCw2ICs5MSwxMCBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBl
bmNvZGluZygpIGNvbnN0OwogCisgICAgV0VCS0lUX0VYUE9SVCBXZWJFbmNvZGluZ1NvdXJjZSBl
bmNvZGluZ1NvdXJjZSgpIGNvbnN0OworCisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaGlu
dEVuY29kaW5nKCkgY29uc3Q7CisKICAgICAvLyBUaGUgdXJsIG9mIHRoZSBPcGVuU2VhcmNoIERl
c3JpcHRpb24gRG9jdW1lbnQgKGlmIGFueSkuCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJVUkwgb3Bl
blNlYXJjaERlc2NyaXB0aW9uVVJMKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlRleHRFbmNvZGluZ0RldGVjdG9yLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNlNTgwNDJkNjQzODBjN2IyNGFiY2UwZTU3MjE0MWYzYzIwOTY1YTIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXh0RW5jb2RpbmdEZXRlY3Rv
ci5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlRleHRFbmNvZGluZ0RldGVjdG9yX2gKKyNk
ZWZpbmUgV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3JfaAorCisjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
Q29tbW9uLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViUHJpdmF0ZU93blB0ci5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7IGNsYXNzIFRleHRFbmNvZGluZ0RldGVjdG9yOyB9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJTdHJpbmc7CisKKy8vIFdyYXBwZXIgZm9yIFRleHRFbmNv
ZGluZ0RldGVjdG9yLgorY2xhc3MgV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IgeworcHVibGljOiAg
ICAKKyAgICB+V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IoKSB7IHJlc2V0KCk7IH0KKworICAgIFdl
YlRleHRFbmNvZGluZ0RldGVjdG9yKGNvbnN0IFdlYlN0cmluZyYgaGludEVuY29kaW5nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdEVuY29kaW5n
KTsKKworICAgIC8vIENhbGxlZCB0byBhZGQgZGF0YSB0byB0aGUgdGV4dCBlbmNvZGluZyBkZXRl
Y3Rvci4gUmV0dXJucyB0aGUgZGV0ZWN0ZWQKKyAgICAvLyBlbmNvZGluZy4KKyAgICBXRUJLSVRf
RVhQT1JUIFdlYlN0cmluZyBhZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pOwor
CisgICAgLy8gQ2FsbGVkIHRvIHRlbGwgdGhlIHRleHQgZW5jb2RpbmcgZGV0ZWN0b3IgdGhhdCB0
aGVyZSBpcyBubyBtb3JlIGRhdGEuCisgICAgLy8gUmV0dXJucyB0aGUgZGV0ZWN0ZWQgZW5jb2Rp
bmcuCisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgZW5kRGF0YSgpOworCitwcml2YXRlOgor
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCByZXNldCgpOworCisgICAgV2ViUHJpdmF0ZU93blB0cjxX
ZWJDb3JlOjpUZXh0RW5jb2RpbmdEZXRlY3Rvcj4gbV9wcml2YXRlOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRGF0YVNvdXJjZUltcGwuY3BwCmluZGV4IGQ2ZDk4Yzc1MjJiMzM0MmE2Njc0ZjNkZmU1NDM3
MWViMmJhNzBmYjcuLjlhMzU4ZDQ5YzA0MTUyYjE0YTI1MzBmZWZkNGI4YzFhMzJhMGFkNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFTb3VyY2VJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogCiAjaW5j
bHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3RJbnRlcm5hbC5oIgorI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYkRhdGEuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJVUkxFcnJvci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlZlY3Rvci5oIgpAQCAt
MTI0LDYgKzEyNSwxNiBAQCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogV2ViRGF0YVNvdXJjZUlt
cGw6OmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkKICAgICByZXR1cm4gQXBwbGljYXRpb25DYWNoZUhv
c3RJbnRlcm5hbDo6dG9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdChEb2N1bWVudExvYWRlcjo6YXBw
bGljYXRpb25DYWNoZUhvc3QoKSk7CiB9CiAKK3ZvaWQgV2ViRGF0YVNvdXJjZUltcGw6OmVuYWJs
ZUVuY29kaW5nRGV0ZWN0aW9uKCkKK3sKKyAgICBtX2VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZCA9
IHRydWU7Cit9CisKK1dlYkRhdGEgV2ViRGF0YVNvdXJjZUltcGw6Om1haW5SZXNvdXJjZURhdGEo
KSBjb25zdAoreworICAgIHJldHVybiBXZWJEYXRhKERvY3VtZW50TG9hZGVyOjptYWluUmVzb3Vy
Y2VEYXRhKCkpOworfQorCiB2b2lkIFdlYkRhdGFTb3VyY2VJbXBsOjpzZXREZWZlck1haW5SZXNv
dXJjZURhdGFMb2FkKGJvb2wgZGVmZXIpCiB7CiAgICAgRG9jdW1lbnRMb2FkZXI6OnNldERlZmVy
TWFpblJlc291cmNlRGF0YUxvYWQoZGVmZXIpOwpAQCAtMTcxLDYgKzE4Miw3IEBAIHZvaWQgV2Vi
RGF0YVNvdXJjZUltcGw6OnNldE5leHRQbHVnaW5Mb2FkT2JzZXJ2ZXIoUGFzc093blB0cjxXZWJQ
bHVnaW5Mb2FkT2JzZXJ2CiAKIFdlYkRhdGFTb3VyY2VJbXBsOjpXZWJEYXRhU291cmNlSW1wbChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBkYXRh
KQogICAgIDogRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGF0YSkKKyAgICAsIG1fZW5jb2RpbmdE
ZXRlY3Rpb25FbmFibGVkKGZhbHNlKQogewogICAgIGlmICghbmV4dFBsdWdpbkxvYWRPYnNlcnZl
cigpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEYXRhU291cmNlSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGF0YVNvdXJjZUltcGwuaAppbmRleCA4Y2MyYzgwYzYwMTQyMzA0ZGY5Y2FjODNkMWIxNDFlOWY4
MjBmM2U2Li5mMmUwMzQ2MDE5OGE4MTkyNGVmOTQ4NGVlZmI1MmIxYzk4OGZhY2UzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhU291cmNlSW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFTb3VyY2VJbXBsLmgKQEAgLTY5LDYg
KzY5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXh0cmFEYXRhKEV4dHJhRGF0YSopOwogICAgIHZpcnR1
YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGFwcGxpY2F0aW9uQ2FjaGVIb3N0KCk7CisgICAg
dmlydHVhbCB2b2lkIGVuYWJsZUVuY29kaW5nRGV0ZWN0aW9uKCk7CisgICAgdmlydHVhbCBXZWJE
YXRhIG1haW5SZXNvdXJjZURhdGEoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJN
YWluUmVzb3VyY2VEYXRhTG9hZChib29sKTsKIAogICAgIHN0YXRpYyBXZWJOYXZpZ2F0aW9uVHlw
ZSB0b1dlYk5hdmlnYXRpb25UeXBlKFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlIHR5cGUpOwpAQCAt
NzgsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29yZTo6S1VSTCYgZW5kT2ZSZWRp
cmVjdENoYWluKCkgY29uc3Q7CiAgICAgdm9pZCBjbGVhclJlZGlyZWN0Q2hhaW4oKTsKICAgICB2
b2lkIGFwcGVuZFJlZGlyZWN0KGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCk7CisgICAgYm9vbCBp
c0VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RpbmdEZXRl
Y3Rpb25FbmFibGVkOyB9CiAKICAgICBQYXNzT3duUHRyPFdlYlBsdWdpbkxvYWRPYnNlcnZlcj4g
cmVsZWFzZVBsdWdpbkxvYWRPYnNlcnZlcigpIHsgcmV0dXJuIG1fcGx1Z2luTG9hZE9ic2VydmVy
LnJlbGVhc2UoKTsgfQogICAgIHN0YXRpYyB2b2lkIHNldE5leHRQbHVnaW5Mb2FkT2JzZXJ2ZXIo
UGFzc093blB0cjxXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXI+KTsKQEAgLTg2LDYgKzg5LDggQEAgcHJp
dmF0ZToKICAgICBXZWJEYXRhU291cmNlSW1wbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpOwogICAgIH5XZWJEYXRhU291cmNl
SW1wbCgpOwogCisgICAgYm9vbCBtX2VuY29kaW5nRGV0ZWN0aW9uRW5hYmxlZDsKKwogICAgIC8v
IE11dGFibGUgYmVjYXVzZSB0aGUgY29uc3QgZ2V0dGVycyB3aWxsIG1hZ2ljYWxseSBzeW5jIHRo
ZXNlIHRvIHRoZQogICAgIC8vIGxhdGVzdCB2ZXJzaW9uIGZyb20gV2ViS2l0LgogICAgIG11dGFi
bGUgV3JhcHBlZFJlc291cmNlUmVxdWVzdCBtX29yaWdpbmFsUmVxdWVzdFdyYXBwZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKaW5kZXggODBmYmRmMWQ5ZWU5
NmYzYjQzNWNhMmUxODU3MmU0M2MyMWI2NDBlYi4uYjRjNzNkMWJhODU5MGRjZTk1Yzg2Y2U5MzFj
YjgwN2YxNDNlNGZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50
LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRl
ICJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJXZWJET01FdmVudC5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50VHlw
ZS5oIgpAQCAtNTMsNiArNTQsNyBAQAogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1
ZGUgIldlYk5vZGVDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViTm9kZUxpc3QuaCIKKyNpbmNs
dWRlICJXZWJUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVS
TC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTc4LDYgKzgwLDE2IEBAIFdl
YlN0cmluZyBXZWJEb2N1bWVudDo6ZW5jb2RpbmcoKSBjb25zdAogICAgIHJldHVybiBjb25zdFVu
d3JhcDxEb2N1bWVudD4oKS0+ZW5jb2RpbmcoKTsKIH0KIAorV2ViRW5jb2RpbmdTb3VyY2UgV2Vi
RG9jdW1lbnQ6OmVuY29kaW5nU291cmNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8V2ViRW5jb2RpbmdTb3VyY2U+KGNvbnN0VW53cmFwPERvY3VtZW50PigpLT5lbmNvZGluZ1Nv
dXJjZSgpKTsKK30KKworV2ViU3RyaW5nIFdlYkRvY3VtZW50OjpoaW50RW5jb2RpbmcoKSBjb25z
dAoreworICAgIHJldHVybiBXZWJTdHJpbmcoU3RyaW5nOjpmcm9tVVRGOChjb25zdFVud3JhcDxE
b2N1bWVudD4oKS0+aGludEVuY29kaW5nKCkubmFtZSgpKSk7Cit9CisKIFdlYlVSTCBXZWJEb2N1
bWVudDo6b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkgY29uc3QKIHsKICAgICByZXR1cm4gY29u
c3RfY2FzdDxEb2N1bWVudCo+KGNvbnN0VW53cmFwPERvY3VtZW50PigpKS0+b3BlblNlYXJjaERl
c2NyaXB0aW9uVVJMKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAppbmRleCBmOGQyMDM0ZmQ4MzI3NTc5NGI2MTM0ZWU1ZDBlZjY3NzY1OTA1YWU4Li42M2U4
NTk0ODY2MzY2ZWU5NGFkNzE1M2UwM2IwNDk3NzQ3ZGExYzJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2luY2x1
ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAjaW5jbHVk
ZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2lu
Y2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uQ29u
dHJvbGxlckltcGwuaCIKICNpbmNsdWRlICJXZWJDb25zb2xlTWVzc2FnZS5oIgpAQCAtOTMxLDYg
KzkzMiwxMSBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6cmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpCiAg
ICAgbV9mcmFtZS0+bG9hZGVyKCktPnJlbG9hZChpZ25vcmVDYWNoZSk7CiB9CiAKK3ZvaWQgV2Vi
RnJhbWVJbXBsOjpyZWxvYWRGcm9tQ2FjaGUoKQoreworICAgIHZpZXcoKS0+c2V0UGFnZUVuY29k
aW5nKFdlYlN0cmluZygpKTsKK30KKwogdm9pZCBXZWJGcmFtZUltcGw6OmxvYWRSZXF1ZXN0KGNv
bnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgQVNTRVJUKCFyZXF1ZXN0LmlzTnVs
bCgpKTsKQEAgLTExMDIsNyArMTEwOCwxMyBAQCBXZWJVUkxMb2FkZXIqIFdlYkZyYW1lSW1wbDo6
Y3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlcihjb25zdCBXZWJVUkxMb2FkZXJPcHRpb25zJgogCiB2
b2lkIFdlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW5ndGgpCiB7Ci0gICAgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkt
PmNvbW1pdERhdGEoZGF0YSwgbGVuZ3RoKTsKKyAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRM
b2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoZGF0
YVNvdXJjZUltcGwoKS0+aXNFbmNvZGluZ0RldGVjdGlvbkVuYWJsZWQoKSkgeworICAgICAgICAv
LyBXZSBuZWVkIHRvIGNhbGwgY29tbWl0RGF0YSBoZXJlIGJlY2F1c2UgdGhlIGZpcnN0IGNhbGwg
dG8gY29tbWl0RGF0YSBkZWxldGVzIHRoZSBUZXh0UmVzb3VyY2VEZWNvZGVyLgorICAgICAgICBk
b2N1bWVudExvYWRlci0+Y29tbWl0RGF0YSgwLCAwKTsKKyAgICAgICAgZG9jdW1lbnRMb2FkZXIt
PndyaXRlcigpLT5jcmVhdGVEZWNvZGVySWZOZWVkZWQoKS0+c2V0VXNlc0VuY29kaW5nRGV0ZWN0
b3IodHJ1ZSk7CisgICAgfQorICAgIGRvY3VtZW50TG9hZGVyLT5jb21taXREYXRhKGRhdGEsIGxl
bmd0aCk7CiB9CiAKIHVuc2lnbmVkIFdlYkZyYW1lSW1wbDo6dW5sb2FkTGlzdGVuZXJDb3VudCgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IGRl
MzhkMGRjYWVhN2Q3YWUwY2Q1NzE3NmQxNzY1MjExMDAxM2ZiZGEuLjkxMTBhNTJjZmI0ZjQ5YWZl
YjdmNjZhOGM0NDQzMWVhZGI0MjNhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZyYW1lSW1wbC5oCkBAIC0xMjEsNiArMTIxLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKICNl
bmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSk7CisgICAgdmly
dHVhbCB2b2lkIHJlbG9hZEZyb21DYWNoZSgpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVz
dChjb25zdCBXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRIaXN0b3J5SXRl
bShjb25zdCBXZWJIaXN0b3J5SXRlbSYpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkRGF0YSgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRleHRFbmNvZGluZ0RldGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRleHRFbmNvZGluZ0RldGVj
dG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYWRhOTdjZWQxNzc4YjNlNjgyMDBlOWRiODZkMWI1NmI1MzUz
ZjY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGV4
dEVuY29kaW5nRGV0ZWN0b3IuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IuaCIKKworI2luY2x1ZGUgIlRleHRF
bmNvZGluZy5oIgorI2luY2x1ZGUgIlRleHRFbmNvZGluZ0RldGVjdG9yLmgiCisjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJUZXh0RW5j
b2RpbmdEZXRlY3Rvcjo6V2ViVGV4dEVuY29kaW5nRGV0ZWN0b3IoY29uc3QgV2ViU3RyaW5nJiBo
aW50RW5jb2RpbmcsIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdEVuY29kaW5nKQorICAgIDogbV9w
cml2YXRlKFdlYkNvcmU6OlRleHRFbmNvZGluZ0RldGVjdG9yOjpjcmVhdGUoV2ViQ29yZTo6VGV4
dEVuY29kaW5nKGhpbnRFbmNvZGluZyksIFdlYkNvcmU6OlRleHRFbmNvZGluZyhkZWZhdWx0RW5j
b2RpbmcpKS5sZWFrUHRyKCkpCit7Cit9CisKK1dlYlN0cmluZyBXZWJUZXh0RW5jb2RpbmdEZXRl
Y3Rvcjo6YWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQoreworICAgIHJldHVy
biBXZWJTdHJpbmcoU3RyaW5nOjpmcm9tVVRGOChtX3ByaXZhdGUtPmFkZERhdGEoZGF0YSwgbGVu
KS5uYW1lKCkpKTsKK30KKworV2ViU3RyaW5nIFdlYlRleHRFbmNvZGluZ0RldGVjdG9yOjplbmRE
YXRhKCkKK3sKKyAgICByZXR1cm4gV2ViU3RyaW5nKFN0cmluZzo6ZnJvbVVURjgobV9wcml2YXRl
LT5lbmREYXRhKCkubmFtZSgpKSk7Cit9CisKK3ZvaWQgV2ViVGV4dEVuY29kaW5nRGV0ZWN0b3I6
OnJlc2V0KCkKK3sKKyAgICBtX3ByaXZhdGUucmVzZXQoMCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAo=
</data>
<flag name="review"
          id="130547"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>