<?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>155141</bug_id>
          
          <creation_ts>2016-03-07 15:13:50 -0800</creation_ts>
          <short_desc>Add separate WK and WK2 preferences for requiring user gestures for video media, distinct from user gestures for media generally</short_desc>
          <delta_ts>2016-10-10 14:47:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>163244</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>bdakin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171789</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-07 15:13:50 -0800</bug_when>
    <thetext>Add separate WK and WK2 preferences for requiring user gestures for video media, distinct from user gestures for media generally</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171802</commentid>
    <comment_count>1</comment_count>
      <attachid>273227</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-07 15:25:35 -0800</bug_when>
    <thetext>Created attachment 273227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171886</commentid>
    <comment_count>2</comment_count>
      <attachid>273227</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-07 18:36:54 -0800</bug_when>
    <thetext>Comment on attachment 273227
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:3766
&gt; +//    ASSERT(obscuredInsets.top &gt;= 0);
&gt; +//    ASSERT(obscuredInsets.left &gt;= 0);
&gt; +//    ASSERT(obscuredInsets.bottom &gt;= 0);
&gt; +//    ASSERT(obscuredInsets.right &gt;= 0);

Oops!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172089</commentid>
    <comment_count>3</comment_count>
      <attachid>273305</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-08 10:43:01 -0800</bug_when>
    <thetext>Created attachment 273305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172421</commentid>
    <comment_count>4</comment_count>
      <attachid>273397</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-08 22:42:34 -0800</bug_when>
    <thetext>Created attachment 273397
Patch

Fixed some broken layout tests, and added a TestWebKitAPI test to ensure these new preferences don&apos;t break clients of our existing APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172422</commentid>
    <comment_count>5</comment_count>
      <attachid>273398</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-08 22:48:29 -0800</bug_when>
    <thetext>Created attachment 273398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172530</commentid>
    <comment_count>6</comment_count>
      <attachid>273398</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-03-09 08:00:21 -0800</bug_when>
    <thetext>Comment on attachment 273398
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:65
&gt; +@property (nonatomic) BOOL allowsInlineMediaPlayback;
&gt; +@property (nonatomic) BOOL requiresUserActionForMediaPlayback;

If this is SPI it needs to be prefixed with _.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172532</commentid>
    <comment_count>7</comment_count>
      <attachid>273398</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-09 08:10:27 -0800</bug_when>
    <thetext>Comment on attachment 273398
Patch

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

&gt; Tools/ChangeLog:10
&gt; +        * TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html:
&gt; +        * TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html:

Should these still be in the ios directory?

&gt; Tools/ChangeLog:32
&gt; +2016-03-07  Jer Noble  &lt;jer.noble@apple.com&gt;
&gt; +
&gt; +        Add separate WK and WK2 preferences for requiring user gestures for video media, distinct from user gestures for media generally
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=155141
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Set the default values for media preferences unconditionally, not just on PLATFORM(IOS). Set &quot;video requires user gesture&quot;
&gt; +        to sane defaults in addition to &quot;audio requires user gesture&quot; and (in the case of DumpREnderTree) instead of &quot;media requires user gesture&quot;.
&gt; +
&gt; +        * DumpRenderTree/mac/DumpRenderTree.mm:
&gt; +        (resetWebPreferencesToConsistentValues):
&gt; +        * TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
&gt; +        (TEST):

Double entry.

&gt; Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:331
&gt; +		CD47E7971C8F6FF6004BCFDC /* RequireUserGestureForPlayback.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD47E7961C8F6FF6004BCFDC /* RequireUserGestureForPlayback.mm */; };

It looks like you forgot to add this new test to the repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172539</commentid>
    <comment_count>8</comment_count>
      <attachid>273398</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-09 08:50:17 -0800</bug_when>
    <thetext>Comment on attachment 273398
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:65
&gt;&gt; +@property (nonatomic) BOOL requiresUserActionForMediaPlayback;
&gt; 
&gt; If this is SPI it needs to be prefixed with _.

They&apos;re not really SPI, in that they exist as API for TARGET_OS_IPHONE. I was trying to avoid modifying the WKWebViewConfiguration API (to remove the TARGET_OS_IPHONE conditional), which is why they&apos;re here.  Should I add a note saying so, just remove the conditional in the public header, or prefix the !TARGET_OS_IPHONE properties and add a bunch of #if TARGET_OS_IPHOSE conditionals where they&apos;re accessed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172540</commentid>
    <comment_count>9</comment_count>
      <attachid>273432</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-09 08:52:52 -0800</bug_when>
    <thetext>Created attachment 273432
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172766</commentid>
    <comment_count>10</comment_count>
      <attachid>273478</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-09 14:20:28 -0800</bug_when>
    <thetext>Created attachment 273478
Patch

Removed the non-underscore-prefixed SPI properties from WKWebViewConfigurationPrivate.h and replaced them with nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172781</commentid>
    <comment_count>11</comment_count>
      <attachid>273484</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-09 14:36:19 -0800</bug_when>
    <thetext>Created attachment 273484
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173251</commentid>
    <comment_count>12</comment_count>
      <attachid>273600</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 12:28:39 -0800</bug_when>
    <thetext>Created attachment 273600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173256</commentid>
    <comment_count>13</comment_count>
      <attachid>273600</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-10 12:38:46 -0800</bug_when>
    <thetext>Comment on attachment 273600
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        to sane defaults in addition to &quot;audio requires user gesture&quot; and (in the case of DumpREnderTree) instead of &quot;media requires user gesture&quot;.

Nit: DumpREnderTree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173264</commentid>
    <comment_count>14</comment_count>
      <attachid>273600</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-10 12:50:52 -0800</bug_when>
    <thetext>Comment on attachment 273600
Patch

These changes look good to  me, but a WK2 reviewer should give it the final nod.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173273</commentid>
    <comment_count>15</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 13:00:47 -0800</bug_when>
    <thetext>The gtk-wk2 failure is unrelated; the mac build failures are due to changing Settings.in and not having the derived InternalSettingsGenerated.idl get updated by DerivedSources.make. A clean build will solve that build issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173296</commentid>
    <comment_count>16</comment_count>
      <attachid>273600</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 13:28:23 -0800</bug_when>
    <thetext>Comment on attachment 273600
Patch

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

r+ for WK2

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:404
&gt; +#endif

You should add a comment after the #endif to say what the #if was. That will make this more readable.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:-110
&gt; -#endif

This might also benefit from a comment for what the #if was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173299</commentid>
    <comment_count>17</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 13:35:03 -0800</bug_when>
    <thetext>Committed r197953: &lt;http://trac.webkit.org/changeset/197953&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173515</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-10 18:39:24 -0800</bug_when>
    <thetext>This broke windows:
https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/93666/steps/compile-webkit/logs/stdio
C:\cygwin\home\buildbot\slave\win-debug\build\Source\WebKit\win\WebView.cpp(5308): error C2039: &apos;setRequiresUserGestureForVideoPlayback&apos;: is not a member of &apos;WebCore::Settings&apos; [C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173516</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-10 18:40:27 -0800</bug_when>
    <thetext>The test is also crashing in debug:
https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r197955%20(10663)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173552</commentid>
    <comment_count>20</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 20:12:10 -0800</bug_when>
    <thetext>On it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173554</commentid>
    <comment_count>21</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 20:17:00 -0800</bug_when>
    <thetext>Committed build-fix, r197988: &lt;http://trac.webkit.org/changeset/197988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173555</commentid>
    <comment_count>22</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-03-10 20:19:13 -0800</bug_when>
    <thetext>And the crash is the same as &lt;https://bugs.webkit.org/show_bug.cgi?id=155209&gt;, which I&apos;m about to land a fix for.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273227</attachid>
            <date>2016-03-07 15:25:35 -0800</date>
            <delta_ts>2016-03-08 10:42:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160307152521.patch</filename>
            <type>text/plain</type>
            <size>48256</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFlMTcxZmFkYzgwM2Jh
YTkzYTM3MWI2NWZhMTlmNzg3NzNmZGUxOC4uN2Q0NDM1ZGViMjIzMjRkZGI0N2JmMThiOWEzOGZj
ZDA1MGQwMzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMi0y
OSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXVtNYWNd
IFN1cHBvcnQgcGFpbnRpbmcgTVNFIHZpZGVvLWVsZW1lbnQgdG8gY2FudmFzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDQ5MGRjNWQ1ZTY1MDRlMDcwN2E1NmMxOGQyNTEyMzczNjBiYmZmYi4uYTNkN2Vi
ZTI1ZTVmNDQwNDQ0ZjRhODMxYWYxOTQ1Y2JiY2FmYjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1
aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBn
ZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAyLTI2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciB3aGVuIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSIGNvbnRhaW5zIHNwYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZmFlYjcwMjQ4MmNjODlkNmQ5NGEz
NWNlMTdhMDI5ZjBmZjRiMjMyLi5kMzJjOWYyNmJmZGY4OGZkMjNmMjk3YTMxMDAwN2U1NGY0MjRh
NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIg
cHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwg
ZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcmVmZXJl
bmNlLCB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSwgZGlzdGluY3QgZnJvbSBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZS4gTGVnYWN5IGNsaWVudHMgb2YgCisgICAgICAg
IG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHdpbGwgc3RpbGwgYmUgYWJsZSB0byB1
c2UgaXQgbm9ybWFsbHksIGFzIHNldHRpbmcgdGhhdCBwcmVmZXJlbmNlIHRvIHRydWUgd2lsbCBl
ZmZlY3RpdmVseQorICAgICAgICBzZXQgYm90aCBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZSBhbmQgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgdG8gdHJ1ZS4gTWFrZSB0
aGVzZSBwcmVmZXJlbmNlcyBhbGwgYXZhaWxhYmxlCisgICAgICAgIHVuaXZlcnNhbGx5LCByYXRo
ZXIgdGhhbiBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIGEgZGVm
aW5pdGlvbiBmb3IgLXNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6CisgICAg
ICAgIGFuZCAtcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayBvbiAhUExBVEZPUk0o
SU9TKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6
XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1l
ZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRSZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDE2LTAyLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXZWJLaXQgMiBJUEMgbGF5ZXIgZWFzaWx5
IGNvbmZ1c2VkIGFib3V0IG11bHRpcGxlIHdlYiBwcm9jZXNzZXMgYmVpbmcgY29ubmVjdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDU0NmJmY2QzOWVmODg4ZjAyZGE4M2FiYzFhY2ZhMTY4YzMwYmY0OGMuLmE3ZmU2MTM0NmVm
YzYyMDAxNmFlZTI5ZTBiM2I1ZjMzZmVjZTBmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lk
IEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0Q29tbW9uKCkKICAgICBtX2xpc3RlbmVyID0gQXVkaW9M
aXN0ZW5lcjo6Y3JlYXRlKCk7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKCFkb2N1bWVu
dCgpLT5zZXR0aW5ncygpIHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLT5zZXR0aW5ncygp
IHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKCkpCiAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9TdGFydFJlc3RyaWN0aW9uKTsKICAgICBlbHNlCiAgICAgICAgIG1fcmVzdHJpY3Rp
b25zID0gTm9SZXN0cmljdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCA2NDFhZTYzM2JiMTkwZWQ0ZDIwZTkwZGMwZmNjOTI4MjU0OTQ5ZTJmLi5iZTVh
Y2M4MzVjM2Y1YzhlYzlhMDhiNWM3YWFkMGVkMGIyNzcxYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQxMiwzMSArNDEyLDI1IEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24o
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UpOwogI2VuZGlmCiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFuIHVwIGFu
ZCBsb29rIHRvIGJldHRlciBtZXJnZSB0aGUgaU9TIGFuZCBub24taU9TIGNvZGUgYmVsb3cuCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQuc2V0dGluZ3MoKTsKLSNpZiAhUExBVEZP
Uk0oSU9TKQotICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2soKSkgewotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZp
b3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JS
YXRlQ2hhbmdlKTsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAg
fQotI2Vsc2UKICAgICBtX3NlbmRQcm9ncmVzc0V2ZW50cyA9IGZhbHNlOwotICAgIGlmICghc2V0
dGluZ3MgfHwgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKCkp
IHsKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdzLT52aWRlb1BsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIC8vIEFsbG93IGF1dG9wbGF5IGluIGEgTWVkaWFEb2N1
bWVudCB0aGF0IGlzIG5vdCBpbiBhbiBpZnJhbWUuCi0gICAgICAgIGlmIChkb2N1bWVudC5vd25l
ckVsZW1lbnQoKSB8fCAhZG9jdW1lbnQuaXNNZWRpYURvY3VtZW50KCkpCi0gICAgICAgICAgICBt
X21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlKTsKKyAgICAgICAgaWYgKGRvY3VtZW50
Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5pc01lZGlhRG9jdW1lbnQoKSkgeworICAgICAg
ICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlKTsKKyAgICAgICAg
ICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNl
c3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQpOworICAgICAgICB9CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJl
aGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJl
VG9TaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOwogI2VuZGlmCiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgLy8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiB3aGVuIHJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlzIG5vdCBzZXQ6CisgICAgICAgIC8vIFJlbGF4
IFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4gd2hlbiB2aWRlb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZSBpcyBub3Qgc2V0OgogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+cmVtb3Zl
QmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1
cmVGb3JGdWxsc2NyZWVuKTsKICAgICB9CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5p
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCgpKQogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+
YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2libGVBdXRv
cGxheU5vdFBlcm1pdHRlZCk7Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAotICAgIGlmIChz
ZXR0aW5ncyAmJiBzZXR0aW5ncy0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSAm
JiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKSkKKyAgICBp
ZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KCkpCiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSk7CiAK
ICAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5KCkpCkBAIC02MTY4LDcgKzYxNjIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92
ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpCiAgICAgICAgIHwg
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UKICNlbmRpZgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVV
c2VyR2VzdHVyZUZvckxvYWQKLSAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJl
VXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlCisgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlCiAgICAgICAg
IHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbgog
ICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OkludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0
dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXgg
MWE0ZGU2NDBhNDQ3MDk5Nzg0YWFlMjVhY2E3NDc2MWRkMjg1NzVjYi4uYjFkNWNlOWRkZjUxYWQx
OTczZGNhMjg0NGYwYmM1YjRkMTg2YWI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBTdHJpbmcgcmVzdHJp
Y3Rpb25OYW1lKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25zIHJlc3Ry
aWN0CiAKICAgICBDQVNFKE5vUmVzdHJpY3Rpb25zKTsKICAgICBDQVNFKFJlcXVpcmVVc2VyR2Vz
dHVyZUZvckxvYWQpOwotICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSk7
CisgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UpOwogICAgIENB
U0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlKTsKICAgICBDQVNFKFJlcXVp
cmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIENBU0UoUmVxdWlyZVBhZ2VDb25zZW50
VG9Mb2FkTWVkaWEpOwpAQCAtMTMwLDcgKzEzMCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lv
bjo6cGxheWJhY2tQZXJtaXR0ZWQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkgY29u
CiAgICAgaWYgKHBhZ2VFeHBsaWNpdGx5QWxsb3dzRWxlbWVudFRvQXV0b3BsYXlJbmxpbmUoZWxl
bWVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKG1fcmVzdHJpY3Rpb25zICYg
UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0aW9ucyAm
IFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBMT0coTWVkaWEs
ICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCAtIHJldHVybmluZyBGQUxT
RSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAzNTFjYjBlYmRlNTAwMjJhNWVjYmJhY2U0YzZhZDVk
YmEzNDM5YTY1Li4xOGVlMmFjMjViNmU5NDlhYmYzMzBkMTMyN2U0NjM1OTg0MWFiMTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtNzksNyArNzksNyBA
QCBwdWJsaWM6CiAgICAgZW51bSBCZWhhdmlvclJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBO
b1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQgPSAx
IDw8IDAsCi0gICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgPSAxIDw8IDEs
CisgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSA9IDEgPDwgMSwK
ICAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiA9IDEgPDwgMiwKICAgICAg
ICAgUmVxdWlyZVBhZ2VDb25zZW50VG9Mb2FkTWVkaWEgPSAxIDw8IDMsCiAgICAgICAgIFJlcXVp
cmVQYWdlQ29uc2VudFRvUmVzdW1lTWVkaWEgPSAxIDw8IDQsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCmluZGV4IDY3NjI3ODY5NWFmYmI2OGYzZDNiMzYwNTUwZTU2NGUzOTlhM2EzZjguLmFkNGE3
MDQxYTBiMGJmNjZlZDg3NzBmZTM4Zjc0M2U0ODkxYTY0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVk
QmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudCA9IHRydWU7CiBzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVk
ID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0SW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSB0cnVlOwotc3RhdGljIGNvbnN0IGJvb2wg
ZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrID0gdHJ1ZTsKK3N0YXRp
YyBjb25zdCBib29sIGRlZmF1bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdE1lZGlhRGF0YUxvYWRzQXV0
b21hdGljYWxseSA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNob3VsZFJlc3Bl
Y3RJbWFnZU9yaWVudGF0aW9uID0gdHJ1ZTsKQEAgLTE0OCw3ICsxNDgsNyBAQCBzdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0Rml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50ID0g
ZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zv
ckZpeGVkUG9zaXRpb25FbmFibGVkID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSBmYWxz
ZTsKLXN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjayA9IGZhbHNlOworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVk
aW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29s
IGRlZmF1bHRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSB0cnVlOwogc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgppbmRleCBiNTRmOGQzMWQ3ZDk2ZDhkNDczOTYyNmJmOGZjYzgzNjFk
NTYyODU4Li4zMTc2ZmFlMWFlZDZkNGJmZTBkNTI3NTIyOGU5ZDE4MzI3MmQzNDFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTEyNSw3ICsxMjUsNyBAQCBzaG91bGRJbmplY3RVc2VyU2Ny
aXB0c0luSW5pdGlhbEVtcHR5RG9jdW1lbnQgaW5pdGlhbD1mYWxzZQogZml4ZWRFbGVtZW50c0xh
eW91dFJlbGF0aXZlVG9GcmFtZSBpbml0aWFsPWZhbHNlCiBhbGxvd0Rpc3BsYXlPZkluc2VjdXJl
Q29udGVudCBpbml0aWFsPWZhbHNlCiBhbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCBpbml0
aWFsPWZhbHNlCi1yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayBpbml0aWFsPWRl
ZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjawordmlkZW9QbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUgaW5pdGlhbD1kZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUKIGF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVs
dEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrIGluaXRpYWw9ZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sKIGlubGluZU1lZGlh
UGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIGluaXRpYWw9ZGVmYXVsdElubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggYTliNTI0ZDg0MjY1MmFhN2Q4ZTVmMzM2MTc2YjFlYzUx
Mzk2NGEyZC4uODQ4ZjdhNzNkMzI5MjFjYTNjMGM0N2YyMTkwNzA5ZTEyYWRlZGE4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzA0NSw4ICszMDQ1LDggQEAgdm9pZCBJ
bnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVtZW50KiBl
bGVtZW50LCBjb25zdCBTdHIKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1l
bnRTZXNzaW9uOjpOb1Jlc3RyaWN0aW9uczsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJlZm9ybG9h
ZCIpKQogICAgICAgICAgICAgcmVzdHJpY3Rpb25zIHw9IE1lZGlhRWxlbWVudFNlc3Npb246OlJl
cXVpcmVVc2VyR2VzdHVyZUZvckxvYWQ7Ci0gICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcnJhdGVj
aGFuZ2UiKSkKLSAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlOworICAgICAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1
cmVmb3J2aWRlb3JhdGVjaGFuZ2UiKSkKKyAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2U7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmlu
ZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcmZ1bGxzY3JlZW4iKSkKICAgICAgICAgICAgIHJlc3Ry
aWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxs
c2NyZWVuOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJp
Y3Rpb25TdHJpbmcsICJyZXF1aXJlcGFnZWNvbnNlbnR0b2xvYWRtZWRpYSIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5k
ZXggMWI0ZGY2ZDhlMzY3ZWJhOWNlYmY3OTI4ZmM3MjBjYmEwYTRhOGY0ZC4uNTE3MTIzMjQ5MmFl
NjYwM2MzOGE1NDgyNzFiYTI4ZDU3NTEzMWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMjEsNyArMTIxLDcg
QEAKICNkZWZpbmUgV2ViS2l0QVZGb3VuZGF0aW9uRW5hYmxlZEtleSBAIldlYktpdEFWRm91bmRh
dGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJs
ZWRLZXkgQCJXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCisjZGVmaW5lIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRl
b1BsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlIgogI2RlZmluZSBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFj
a1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIK
ICNkZWZpbmUgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIgogI2RlZmluZSBXZWJLaXRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSBAIklubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggOTliNzg1YWNkZjIwMGZkYjQ1OGFiNGE0Njdk
YmM1MGU4NjZjMTI2Mi4uODM5ZWMyNWEwNTA3NDg5YTJmZWVlMDMyYzM0Y2RmZWRjY2NiNjJlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC01MjEs
NyArNTIxLDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWRLZXksCiAgICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U3VwcHJlc3Nlc0luY3JlbWVudGFs
UmVuZGVyaW5nS2V5LAogI2lmICFQTEFURk9STShJT1MpCi0gICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJh
Y2tQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
IFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1By
ZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICBXZWJL
aXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSwKQEAg
LTUzNSw3ICs1MzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpOT10sICAgV2ViS2l0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb25LZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0TWVkaWFEYXRhTG9hZHNBdXRv
bWF0aWNhbGx5UHJlZmVyZW5jZUtleSwKICNlbHNlCi0gICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpZRVNdLCAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdl
YktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yQXVkaW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDphbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSwgICBXZWJLaXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOnJlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdLCBXZWJLaXRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSwKQEAgLTIyMTEsMTQgKzIy
MTEsMjUgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogfQogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPUykKIAorLy8gRGVwcmVjYXRlZC4gSGFzIG5vIGVmZmVjdC4gCiAt
IChCT09MKW1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiB7Ci0gICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2tQcmVmZXJlbmNlS2V5XTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKKy8vIERlcHJlY2F0
ZWQuIEhhcyBubyBlZmZlY3QuCiAtICh2b2lkKXNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlOihCT09MKWZsYWcKIHsKLSAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5
OldlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07
Cit9CisKKy0gKEJPT0wpdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKK3sKKyAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmZsYWcgZm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNr
UHJlZmVyZW5jZUtleV07CiB9CiAKIC0gKEJPT0wpYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IDBiNzQ3ZDI2NmNjYTg3ZGI0Y2I5YTQ5YjVkNTc2YjYzMTdlYzg1OWYuLjcw
NDE0NzczNmNmMWQxMzkxOTA0YjdjYjMwNjA3ZjA1ZGMwYTI3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjQ4LDkgKzI0
OCwxMyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJ
bnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOwog
LSAodm9pZClzZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAorLy8g
RGVwcmVjYXRlZC4gSGFzIG5vIGVmZmVjdC4KIC0gKHZvaWQpc2V0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmU6KEJPT0wpZmxhZzsKIC0gKEJPT0wpbWVkaWFQbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmU7CiAKKy0gKHZvaWQpc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmU6KEJPT0wpZmxhZzsKKy0gKEJPT0wpdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU7
CisKIC0gKHZvaWQpc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6KEJPT0wpZmxh
ZzsKIC0gKEJPT0wpYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2YmU5MjU1NTdhMzYwYTk3YjZjMDVhMzQ1YWU2
MmY4MjNhNjM0YWVkLi5lN2Q5MzM4MTRlNTRhNmNkZTg0OGY0ZTE4MzA1Y2Y5YzQ3ODQzMzYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMzMyLDcgKzIzMzIsNyBAQCBz
dGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGlu
Z3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbkVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRWYWxpZGF0aW9uTWVzc2Fn
ZVRpbWVyTWFnbmlmaWNhdGlvbihbc2VsZiB2YWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNh
dGlvbl0pOwogCi0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7Cisg
ICAgc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoW3ByZWZlcmVu
Y2VzIHZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7CiAgICAgc2V0dGluZ3Muc2V0
QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoW3ByZWZlcmVuY2VzIGF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja0FsbG93c0lubGluZV0pOwogICAg
IHNldHRpbmdzLnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKFtwcmVmZXJlbmNlcyBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmgKaW5kZXggN2JlOTZkMjQ2MzE3MDBjNWQwMGZiMzU0OTQ1ZWNiMjhkZjU1ZWNh
MC4uNTdlNGVmZDFkMDUxN2UyMTQ3Njg4YmUyYWVkMWE4ZTRjODU1ODJiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC03MCw3
ICs3MCw2IEBACiAjZGVmaW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRU
RUQgdHJ1ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSBm
YWxzZQogI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVESUFfUExB
WUJBQ0sgdHJ1ZQotI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVE
SU9fUExBWUJBQ0sgdHJ1ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJ
VEhfUEFHRV9aT09NIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JU
X1JFVEVOVElPTl9FTkFCTEVEIGZhbHNlCiAjZWxzZQpAQCAtODcsNyArODYsNiBAQAogI2RlZmlu
ZSBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExBWV9OT1RfUEVSTUlUVEVEIGZhbHNlCiAjZGVmaW5l
IERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFUSUNBTExZIHRydWUKICNkZWZpbmUgREVG
QVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLIGZhbHNlCi0jZGVm
aW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFDSyBmYWxz
ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIHRy
dWUKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJM
RUQgdHJ1ZQogI2VuZGlmCkBAIC0xNTEsNyArMTQ5LDggQEAKICAgICBtYWNybyhBVkZvdW5kYXRp
b25FbmFibGVkLCBpc0FWRm91bmRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAg
ICBtYWNybyhBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkLCBpc0FWRm91bmRhdGlvbk5T
VVJMU2Vzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oUmVxdWly
ZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1Jf
TUVESUFfUExBWUJBQ0spIFwKLSAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9Q
bGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIEJvb2wsIGJvb2ws
IERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFDSykgXAorICAg
IG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrLCByZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhS
ZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZv
ckF1ZGlvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFjaywgYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwg
REVGQVVMVF9BTExPV1NfSU5MSU5FX01FRElBX1BMQVlCQUNLKSBcCiAgICAgbWFjcm8oSW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUsIGlubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBCb29sLCBib29sLCBERUZBVUxUX0lO
TElORV9NRURJQV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRFKSBcCiAg
ICAgbWFjcm8oSW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQsIGludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkLCBCb29sLCBib29sLCBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExBWV9OT1Rf
UEVSTUlUVEVEKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKaW5kZXggOWViYzg4ZjY5NzliNDVlZGRmYzhlNGY4NjQ0MGI0MTVlZmMwNzM4
Ny4uNDJmZTgzNGMwMzQ3MzQxZTMwMWExOGMzMTZjNjQzMjRiZWY3NjllZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtNzU4LDYg
Kzc1OCwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuYwogICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaygpOwogfQog
Cit2b2lkIFdLUHJlZmVyZW5jZXNTZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2so
ZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXli
YWNrKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVk
aW9QbGF5YmFjayhmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggM2E4MDg4MzI1YTg4NGEzYzFm
NWM0ZTMzZjdiOWM3NzcwYjg5OGQ5My4uNTMwOWJhN2MyMmVlMWU3ODRmZGM1NTY2MjE4MjZmMjBi
NjQ3YmNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTE3OCw2ICsxNzgsMTAgQEAgV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdL
UHJlZmVyZW5jZXNSZWYKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsK
IAogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRl
b1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA2Zjg1MzdhYTc4NzY1ODMxZDg1YWQ4NGIyMDA3NTc4MzM1NGFjZTlj
Li5kNGY1ODUwMDQxODMzMWEyNDRmMGU0NmRkYmQ5NTAzYjMzZmIxYTllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMzkyLDE2ICsz
OTIsMTggQEAgc3RhdGljIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzIGZyb21XS0RhdGFEZXRl
Y3RvclR5cGVzKHVpbnQ2NF90IHR5cGVzKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJl
bmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmltYWdlQ29udHJvbHNF
bmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZp
Z3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSkpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShJT1MpCi0gICAgcGFnZUNvbmZpZ3VyYXRpb24tPnNldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eShbX2NvbmZpZ3VyYXRpb24gX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eV0p
OwotCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0tleSgpLCBXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKSk7Ci0gICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZl
cmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFja10gJiYgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpKSk7CiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSwg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiByZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSkpOworICAgIHBhZ2VDb25maWd1cmF0aW9u
LT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVp
cmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1
ZGlvUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMo
KS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1
ZGlvUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFja10pKTsKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5OjppbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZEtleSgpLCBXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZF0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjptZWRpYURhdGFMb2Fkc0F1
dG9tYXRpY2FsbHlLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5XSkpOworCisjaWYgUExB
VEZPUk0oSU9TKQorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBbHdheXNSdW5zQXRGb3JlZ3Jv
dW5kUHJpb3JpdHkoW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHldKTsKKworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3Vy
YXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSkpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERB
VEFfREVURUNUSU9OKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCku
c2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmRhdGFEZXRlY3RvclR5cGVzS2V5KCksIFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGZy
b21XS0RhdGFEZXRlY3RvclR5cGVzKFtfY29uZmlndXJhdGlvbiBkYXRhRGV0ZWN0b3JUeXBlc10p
KSkpOwpAQCAtMzc1OCwxMSArMzc2MCwxMSBAQCBzdGF0aWMgaW5saW5lIFdlYktpdDo6RmluZE9w
dGlvbnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRpb25zKQogCiAtICh2
b2lkKV9zZXRPYnNjdXJlZEluc2V0czooVUlFZGdlSW5zZXRzKW9ic2N1cmVkSW5zZXRzCiB7Ci0g
ICAgQVNTRVJUKG9ic2N1cmVkSW5zZXRzLnRvcCA+PSAwKTsKLSAgICBBU1NFUlQob2JzY3VyZWRJ
bnNldHMubGVmdCA+PSAwKTsKLSAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMuYm90dG9tID49IDAp
OwotICAgIEFTU0VSVChvYnNjdXJlZEluc2V0cy5yaWdodCA+PSAwKTsKLSAgICAKKy8vICAgIEFT
U0VSVChvYnNjdXJlZEluc2V0cy50b3AgPj0gMCk7CisvLyAgICBBU1NFUlQob2JzY3VyZWRJbnNl
dHMubGVmdCA+PSAwKTsKKy8vICAgIEFTU0VSVChvYnNjdXJlZEluc2V0cy5ib3R0b20gPj0gMCk7
CisvLyAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMucmlnaHQgPj0gMCk7CisKICAgICBfaGF2ZVNl
dE9ic2N1cmVkSW5zZXRzID0gWUVTOwogCiAgICAgaWYgKFVJRWRnZUluc2V0c0VxdWFsVG9FZGdl
SW5zZXRzKF9vYnNjdXJlZEluc2V0cywgb2JzY3VyZWRJbnNldHMpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLm1tCmluZGV4IDEzMDIzYmE2NmVkNjg0OWRlMWQyNzBmNzk5NjBkNTRhMDA2ZDc1YTEuLmY0
ZmFhZjQwZWQzZDkwNmRkZjczOGQ5YjJiN2I2MDc2MGVkZGFiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW0KQEAgLTk4LDE0ICs5OCwxNyBAQCBwcml2YXRlOgogICAgIEJPT0wgX2NvbnZlcnRz
UG9zaXRpb25TdHlsZU9uQ29weTsKICAgICBCT09MIF9hbGxvd3NNZXRhUmVmcmVzaDsKIAotI2lm
IFBMQVRGT1JNKElPUykKLSAgICBMYXp5SW5pdGlhbGl6ZWQ8UmV0YWluUHRyPFdLV2ViVmlld0Nv
bnRlbnRQcm92aWRlclJlZ2lzdHJ5Pj4gX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5OwotICAgIEJP
T0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKICAgICBCT09MIF9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrOwogICAgIEJPT0wgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1Bs
YXlzSW5saW5lQXR0cmlidXRlOwogICAgIEJPT0wgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0
dGVkOwogICAgIEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTsKKyAgICBCT09MIF9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOworICAgIEJPT0wgX3JlcXVpcmVzVXNl
ckFjdGlvbkZvclZpZGVvUGxheWJhY2s7CiAgICAgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
QXVkaW9QbGF5YmFjazsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBMYXp5SW5pdGlhbGl6ZWQ8
UmV0YWluUHRyPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Pj4gX2NvbnRlbnRQcm92
aWRlclJlZ2lzdHJ5OworICAgIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsK
ICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBCT09MIF9zaG93c1VSTHNJblRvb2xUaXBz
OwpAQCAtMTI1LDEyICsxMjgsMjAgQEAgcHJpdmF0ZToKICAgICAKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBZRVM7Ci0gICAgX3Jl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBZRVM7Ci0gICAgX2FsbG93c1BpY3R1
cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwogICAgIF9hbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrID0gV2ViQ29yZTo6ZGV2aWNlQ2xhc3MoKSA9PSBNR0RldmljZUNsYXNzaVBhZDsKLSAg
ICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSAhX2Fs
bG93c0lubGluZU1lZGlhUGxheWJhY2s7Ci0gICAgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0
dGVkID0gWUVTOwogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBOTzsKKyNlbHNl
CisgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBOTzsKKyAgICBfYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFlFUzsKKyAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5ID0gWUVTOworI2VuZGlmCisgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxh
eWJhY2sgPSBOTzsKKyAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IE5P
OworICAgIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9
ICFfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKKyAgICBfaW52aXNpYmxlQXV0b3BsYXlOb3RQ
ZXJtaXR0ZWQgPSBOTzsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBfYWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2sgPSBZRVM7CiAgICAgX3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlv
biA9IFlFUzsKICAgICBfcHJpbnRzQmFja2dyb3VuZHMgPSBZRVM7CiAjZW5kaWYKQEAgLTE3NCw5
ICsxODUsMTAgQEAgcHJpdmF0ZToKICAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxmLmFsbG93c0Fp
clBsYXlGb3JNZWRpYVBsYXliYWNrIGZvcktleTpAImFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXli
YWNrIl07CiAgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2VsZi5kYXRhRGV0ZWN0b3JUeXBlcyBm
b3JLZXk6QCJkYXRhRGV0ZWN0b3JUeXBlcyJdOwogCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIFtj
b2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJh
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrIl07CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrIGZvcktleTpAInJlcXVpcmVzVXNlckFj
dGlvbkZvck1lZGlhUGxheWJhY2siXTsKKworI2lmIFBMQVRGT1JNKElPUykKICAgICBbY29kZXIg
ZW5jb2RlSW50ZWdlcjpzZWxmLnNlbGVjdGlvbkdyYW51bGFyaXR5IGZvcktleTpAInNlbGVjdGlv
bkdyYW51bGFyaXR5Il07CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NQaWN0dXJl
SW5QaWN0dXJlTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayJdOwogI2VuZGlmCkBAIC0xOTcsOSArMjA5LDEwIEBAIHByaXZhdGU6CiAgICAg
c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9y
S2V5OkAiYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2siXTsKICAgICBzZWxmLmRhdGFEZXRl
Y3RvclR5cGVzID0gW2NvZGVyIGRlY29kZUludGVnZXJGb3JLZXk6QCJkYXRhRGV0ZWN0b3JUeXBl
cyJdOwogCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIHNlbGYuYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
ayJdOwogICAgIHNlbGYucmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayA9IFtjb2Rl
ciBkZWNvZGVCb29sRm9yS2V5OkAicmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayJd
OworCisjaWYgUExBVEZPUk0oSU9TKQogICAgIHNlbGYuc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBz
dGF0aWNfY2FzdDxXS1NlbGVjdGlvbkdyYW51bGFyaXR5PihbY29kZXIgZGVjb2RlSW50ZWdlckZv
cktleTpAInNlbGVjdGlvbkdyYW51bGFyaXR5Il0pOwogICAgIHNlbGYuYWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c1Bp
Y3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrIl07CiAjZW5kaWYKQEAgLTIzMywxNSArMjQ2LDE3
IEBAIHByaXZhdGU6CiAgICAgY29uZmlndXJhdGlvbi0+X2NvbnZlcnRzUG9zaXRpb25TdHlsZU9u
Q29weSA9IHNlbGYtPl9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHk7CiAgICAgY29uZmlndXJh
dGlvbi0+X2FsbG93c01ldGFSZWZyZXNoID0gc2VsZi0+X2FsbG93c01ldGFSZWZyZXNoOwogCi0j
aWYgUExBVEZPUk0oSU9TKQogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrID0gc2VsZi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAgY29uZmlndXJh
dGlvbi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0g
c2VsZi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOwog
ICAgIGNvbmZpZ3VyYXRpb24tPl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IHNlbGYt
Pl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDsKICAgICBjb25maWd1cmF0aW9uLT5fbWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gc2VsZi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseTsKLSAgICBjb25maWd1cmF0aW9uLT5fYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2sgPSBzZWxmLT5fYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s7Ci0gICAg
Y29uZmlndXJhdGlvbi0+X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IF9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7CiAgICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNl
ckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVk
aWFQbGF5YmFjazsKKyAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlk
ZW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOwog
ICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0g
c2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CisKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgY29uZmlndXJhdGlvbi0+X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrID0gc2VsZi0+X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOworICAg
IGNvbmZpZ3VyYXRpb24tPl9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSBfYWx3YXlz
UnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZWxlY3Rpb25H
cmFudWxhcml0eSA9IHNlbGYtPl9zZWxlY3Rpb25HcmFudWxhcml0eTsKICNlbmRpZgogI2lmIFBM
QVRGT1JNKE1BQykKQEAgLTUwNiw2ICs1MjEsMjcgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0
QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KCkKIHsKICAgICBfYWx3YXlzUnVuc0F0Rm9yZWdy
b3VuZFByaW9yaXR5ID0gYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OwogfQorI2Vsc2UK
Ky0gKEJPT0wpcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjaworeworICAgIHJldHVy
biBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjazsKK30KKworLSAodm9pZClzZXRS
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOihCT09MKXJlcXVpcmVzVXNlckFjdGlv
bkZvck1lZGlhUGxheWJhY2sKK3sKKyAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5
YmFjayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s7Cit9CisKKy0gKEJPT0wp
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaworeworICAgIHJldHVybiBfYWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjazsKK30KKworLSAodm9pZClzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOihC
T09MKWFsbG93c0lubGluZU1lZGlhUGxheWJhY2sKK3sKKyAgICBfYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFjayA9IGFsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Cit9CisjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TKQogCiAtIChCT09MKV9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGlu
ZUF0dHJpYnV0ZQogewpAQCAtNTM3LDYgKzU3MywxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmRlZmF1
bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHkgPSBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CiB9CiAKKy0gKEJPT0wpX3Jl
cXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sKKyAgICByZXR1cm4gX3JlcXVpcmVz
VXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7Cit9CisKKy0gKHZvaWQpX3NldFJlcXVpcmVzVXNl
ckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KEJPT0wpcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9Q
bGF5YmFjaworeworICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gcmVx
dWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKK30KKwogLSAoQk9PTClfcmVxdWlyZXNV
c2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjawogewogICAgIHJldHVybiBfcmVxdWlyZXNVc2VyQWN0
aW9uRm9yQXVkaW9QbGF5YmFjazsKQEAgLTU0Nyw4ICs1OTMsNiBAQCBzdGF0aWMgTlNTdHJpbmcg
KmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogICAgIF9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFj
azsKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLQogI2lmIFBMQVRGT1JNKE1BQykKIC0g
KEJPT0wpX3Nob3dzVVJMc0luVG9vbFRpcHMKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaAppbmRleCBmOTYwNWY5MjZlMTViYTYwNGQxY2ZiY2Q4OTA5MGFkOGFmN2EyMDA4Li42
OTQ2MTUxMDA2MzE3NDhjZDk0ZWJlOWNiYWRhNzdjNmEyZDc0NzJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC00OSwxOCArNDksMjAgQEAKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c0phdmFTY3JpcHRNYXJrdXA6KSBCT09MIF9hbGxvd3NK
YXZhU2NyaXB0TWFya3VwIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvbnZlcnRzUG9zaXRpb25TdHlsZU9uQ29w
eTopIEJPT0wgX2NvbnZlcnRzUG9zaXRpb25TdHlsZU9uQ29weSBXS19BVkFJTEFCTEUoV0tfTUFD
X1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBbGxv
d3NNZXRhUmVmcmVzaDopIEJPT0wgX2FsbG93c01ldGFSZWZyZXNoIFdLX0FWQUlMQUJMRShXS19N
QUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rp
b25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvclZp
ZGVvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrIFdL
X0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlOikgQk9PTCBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1
dGUgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ6KSBCT09MIF9p
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tf
SU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNZWRpYURhdGFMb2Fk
c0F1dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgV0tfQVZB
SUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFBy
aW9yaXR5OikgQk9PTCBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5IFdLX0FWQUlMQUJM
RShOQSwgOV8wKTsKLQotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0UmVxdWlyZXNV
c2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazopIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1
ZGlvUGxheWJhY2sgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlOikgQk9PTCBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGUgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikgQk9PTCBfaW52
aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsK
LUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseTopIEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSBXS19BVkFJTEFCTEUoTkEs
IFdLX0lPU19UQkEpOwogI2Vsc2UKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNo
b3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93c1VSTHNJblRvb2xUaXBzIFdLX0FWQUlMQUJM
RShXS19NQUNfVEJBLCBOQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2
aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BVkFJ
TEFCTEUoV0tfTUFDX1RCQSwgTkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCBXS19BVkFJ
TEFCTEUoV0tfTUFDX1RCQSwgTkEpOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjazsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlcXVpcmVz
VXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s7CiAjZW5kaWYKIAogQHByb3BlcnR5IChub25hdG9t
aWMsIHN0cm9uZywgc2V0dGVyPV9zZXRWaXNpdGVkTGlua1Byb3ZpZGVyOikgX1dLVmlzaXRlZExp
bmtQcm92aWRlciAqX3Zpc2l0ZWRMaW5rUHJvdmlkZXIgV0tfREVQUkVDQVRFRCgxMF8xMCwgV0tf
TUFDX1RCQSwgOF8wLCBXS19JT1NfVEJBLCAiUGxlYXNlIHVzZSBfdmlzaXRlZExpbmtTdG9yZSBp
bnN0ZWFkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggNDEwNjQzNDU1YTM3MTI0NzdiZjc5NGZhNTRlN2Y0NmQ5YmZkYzZkNC4uNGM5Yjlj
Yjk5ZmYzNzA0NWVkYWEwMzIyODU3NTkwOTI0NWU0YzdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjg3NCw4ICsyODc0LDkgQEAgdm9p
ZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSkKICAgICBzZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJHTEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdz
LnNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ0tleSgpKSk7CiAg
ICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZEtl
eSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJh
Y2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0QXVkaW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja0tleSgpKSk7
CisgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgPSBzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrS2V5KCkpOworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSB8fCBzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXli
YWNrS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZShyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFj
a0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlh
UGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1
aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1
dGVLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVk
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW52aXNpYmxlQXV0
b3BsYXlOb3RQZXJtaXR0ZWRLZXkoKSkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDEwYzE2YzA3M2ZmZjVlNjY5MmExZGE2MmJmZmE5MDkwNTY1
OTYxMjMuLmNkNjllZjVkOGNlNWZjMWI5MTVhYzk4ZGM4NjQzYmM0ZTJjYWVhOWMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNlcyBmb3IgcmVxdWlyaW5nIHVzZXIg
Z2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBmcm9tIHVzZXIgZ2VzdHVyZXMgZm9y
IG1lZGlhIGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgbWVkaWEgcHJlZmVyZW5jZXMgdW5j
b25kaXRpb25hbGx5LCBub3QganVzdCBvbiBQTEFURk9STShJT1MpLiBTZXQgInZpZGVvIHJlcXVp
cmVzIHVzZXIgZ2VzdHVyZSIKKyAgICAgICAgdG8gc2FuZSBkZWZhdWx0cyBpbiBhZGRpdGlvbiB0
byAiYXVkaW8gcmVxdWlyZXMgdXNlciBnZXN0dXJlIiBhbmQgKGluIHRoZSBjYXNlIG9mIER1bXBS
RW5kZXJUcmVlKSBpbnN0ZWFkIG9mICJtZWRpYSByZXF1aXJlcyB1c2VyIGdlc3R1cmUiLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAo
cmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tOgorICAgICAgICAoVEVTVCk6CisK
IDIwMTYtMDItMTkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
RW5hYmxlIGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2luKiB0ZXN0cwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDNkNzgxMWJhMDNh
ODYyOTVlNGUwNmYzYzNmZmRlY2ZiZjNiNzMzMTIuLjUzNmI5YjFkY2IxMWRkMzg0MDNiZDkyOTcy
OWZhYTRkZDUxYTYyZTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KQEAgLTkzOSwxMiArOTM5LDEzIEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxl
U2hlZXRFbmFibGVkOllFU107CiAgICAgfSBlbHNlCiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRV
c2VyU3R5bGVTaGVldEVuYWJsZWQ6Tk9dOwotI2lmIFBMQVRGT1JNKElPUykKICAgICBbcHJlZmVy
ZW5jZXMgc2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZTpZRVNdOwotICAgIFtwcmVmZXJlbmNl
cyBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTpOT107CisgICAgW3ByZWZlcmVu
Y2VzIHNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKKyAgICBbcHJlZmVy
ZW5jZXMgc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6Tk9dOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ6Tk9dOwogCisjaWYgUExBVEZP
Uk0oSU9TKQogICAgIC8vIEVuYWJsZSB0aGUgdHJhY2tlciBiZWZvcmUgY3JlYXRpbmcgdGhlIGZp
cnN0IFdlYlZpZXcgd2lsbAogICAgIC8vIGNhdXNlIGluaXRpYWxpemF0aW9uIHRvIHVzZSB0aGUg
Y29ycmVjdCBkYXRhYmFzZSBwYXRocy4KICAgICBbcHJlZmVyZW5jZXMgc2V0U3RvcmFnZVRyYWNr
ZXJFbmFibGVkOllFU107CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9Db2RpbmcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJD
b2NvYS9Db2RpbmcubW0KaW5kZXggYjJlNmZkMzZhYzdlNDc3YjNmMGY3ODgzMDU1ZjkyNTgxMTQ3
OTc0NC4uMjA0MDgxOGU2NWJiMzg5ZTRiNzE5MmM1N2ExNGZmYmZiN2Y5NzQxMCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbQpAQCAtMjgs
NiArMjgsNyBAQAogI2lmIFdLX0FQSV9FTkFCTEVECiAKICNpbXBvcnQgPFdlYktpdC9XS1Byb2Nl
c3NQb29sUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Q
cml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CkBAIC05OSw5ICsxMDAsMTEgQEAgVEVTVChDb2RpbmcsIFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24pCiAgICAgW2Egc2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2s6Tk9dOwogICAgIFth
IHNldERhdGFEZXRlY3RvclR5cGVzOldLRGF0YURldGVjdG9yVHlwZUFsbF07CiAKLSNpZiBQTEFU
Rk9STShJT1MpCiAgICAgW2Egc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazpZRVNdOwogICAg
IFthIHNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6Tk9dOworICAgIFthIF9z
ZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOk5PXTsKKyAgICBbYSBfc2V0UmVx
dWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazpOT107CisjaWYgUExBVEZPUk0oSU9TKQog
ICAgIFthIHNldFNlbGVjdGlvbkdyYW51bGFyaXR5OldLU2VsZWN0aW9uR3JhbnVsYXJpdHlDaGFy
YWN0ZXJdOwogICAgIFthIHNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOk5P
XTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDNjMmU2YTRhOWNjYjc0OGQ0MzM5MjVjZDMzODU2Y2Q3N2NkNDQ4
OWUuLmM1ODdiMzc4NTQ5MDNiY2ZkNjEwZGI3ZDk0MmQwYjA4Y2RhOWU4MzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNlcyBmb3IgcmVxdWly
aW5nIHVzZXIgZ2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBmcm9tIHVzZXIgZ2Vz
dHVyZXMgZm9yIG1lZGlhIGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlIGxheW91dCB0ZXN0cyB0byByZWZsZWN0IG5ldyByZXN0
cmljdGlvbiBuYW1lLgorCisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rp
b24tcGxheS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2stcmVz
dHJpY3Rpb24tcGxheS5odG1sOgorICAgICAgICAqIG1lZGlhL25vLWF1dG9wbGF5LXdpdGgtdXNl
ci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tbG9hZC1y
ZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXBsYXktcmVx
dWlyZS11c2VyLWdlc3R1cmUuaHRtbDoKKwogMjAxNi0wMi0yOSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXVtNYWNdIFN1cHBvcnQgcGFpbnRpbmcgTVNF
IHZpZGVvLWVsZW1lbnQgdG8gY2FudmFzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9h
dWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0CmluZGV4
IGEzNzMxNGQ1OGViNDA4N2E1MjA1ZDgyOWE2NzZmZmFjNDQ4MGIwYTQuLjY1ODlmODFjYTI4Y2U4
NjJhZTQ4ZjViODhiZmFlOTc2NDA4YzI0NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlh
L2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0
CkBAIC0xLDcgKzEsNyBAQAotVGVzdCB0aGF0LCB3aGVuIGJvdGggUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yUmF0ZUNoYW5nZSBhbmQgUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlz
IHNldCwgc3RhcnRpbmcgcGxheWJhY2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIg
Z2VzdHVyZS4KK1Rlc3QgdGhhdCwgd2hlbiBSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVD
aGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBhbiBhdWRpbyBmaWxlIHJlcXVpcmVz
IGEgdXNlciBnZXN0dXJlLgogCiAKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJp
Y3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxSZXF1aXJlVXNl
ckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKSkKK1JVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVt
ZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hh
bmdlIikpCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgnYXVkaW8nLCAnY29udGVudC90
ZXN0JykpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2aWRlby5wbGF5KCkpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5Lmh0
bWwKaW5kZXggMzliYjUwODMyNGY1Mjk4MTQzMzI1MTg0Yjg3OGY4MTI4ZWVmMmIzNS4uOWZmZjNk
MzZkY2Y2ZDE4NGM5ODdmMWIxOGJlN2QwNTZjY2RkZmEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS5odG1sCisrKyBiL0xheW91
dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbApAQCAtMTEs
NyArMTEsNyBAQAogICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdhdWRpbycpWzBdOwogCiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAg
ICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1Jh
dGVDaGFuZ2UiKScpOworICAgICAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50
UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdl
IiknKTsKIAogICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwogICAgICAgICB3
YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwpAQCAtMzYsNyAr
MzYsNyBAQAogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGVz
dCB0aGF0LCB3aGVuIGJvdGggUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSBhbmQgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3RhcnRpbmcgcGxheWJh
Y2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS48L3A+CisgICAgPHA+
VGVzdCB0aGF0LCB3aGVuIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSBpcyBz
ZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZpbGUgcmVxdWlyZXMgYSB1c2VyIGdl
c3R1cmUuPC9wPgogICAgIDxhdWRpbyBjb250cm9scyBhdXRvcGxheT48L2F1ZGlvPgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3BsYXktd2l0
aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL25vLWF1
dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwKaW5kZXggNDg2MzQzNWE2
ZjY4MWJkZTUyOThjOWVkNzIwNjVkNmNiOTAzOTFjZC4uNWNlZGJiODE4YWEzYTZhMzc2ODhhYTU5
ZGRjNGU4ZTMzZjZkNmM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3Bs
YXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5odG1sCkBAIC01
LDcgKzUsNyBAQAogICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0Pgog
ICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIAotICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2Vz
dHVyZUZvck1lZGlhUGxheWJhY2sodHJ1ZSk7CisgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSh0cnVlKTsK
IAogICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFBsYXkoKQogICAgICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2VzdHVyZS5o
dG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2VzdHVyZS5o
dG1sCmluZGV4IDExN2I0ODhiNzE4MTJmZWE2MTMwNzU1MTg2OGQyOGIxZmRkNzdmOTAuLjNiMzEy
NTdjYzUwZjQ4ZGExNzYwZTA5ZGFjZTJjMGUwYmE0YzIwMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKQEAgLTcs
NyArNyw3IEBACiAgICAgICAgICAgICB2YXIgdXNlckdlc3R1cmVJbml0aWF0ZWQgPSAwOwogCiAg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZp
ZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAgICAgICAgICBmdW5j
dGlvbiBmaW5pc2hUZXN0KHN1Y2Nlc3MpCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKaW5kZXgg
NDZjMTliZmJhYzUxMmIxNDA4YTlkYWUxYjZmYTY3NjgyM2IxMjc5Yy4uZjVjZjYwNDAyMGM3YmE0
ZGYzNGExMTQ5ODkwMmQ0M2FjNzU3OWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbApAQCAtNyw3ICs3LDcgQEAK
ICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgIHZhciB1c2VyR2VzdHVyZUluaXRpYXRlZCA9
IDA7CiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAgICAgICAg
ICBmdW5jdGlvbiBjbGljaygpCiAgICAgICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273305</attachid>
            <date>2016-03-08 10:43:01 -0800</date>
            <delta_ts>2016-03-08 22:42:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160308104247.patch</filename>
            <type>text/plain</type>
            <size>47650</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFlMTcxZmFkYzgwM2Jh
YTkzYTM3MWI2NWZhMTlmNzg3NzNmZGUxOC4uN2Q0NDM1ZGViMjIzMjRkZGI0N2JmMThiOWEzOGZj
ZDA1MGQwMzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMi0y
OSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXVtNYWNd
IFN1cHBvcnQgcGFpbnRpbmcgTVNFIHZpZGVvLWVsZW1lbnQgdG8gY2FudmFzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDQ5MGRjNWQ1ZTY1MDRlMDcwN2E1NmMxOGQyNTEyMzczNjBiYmZmYi4uYTNkN2Vi
ZTI1ZTVmNDQwNDQ0ZjRhODMxYWYxOTQ1Y2JiY2FmYjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1
aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBn
ZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAyLTI2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciB3aGVuIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSIGNvbnRhaW5zIHNwYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZmFlYjcwMjQ4MmNjODlkNmQ5NGEz
NWNlMTdhMDI5ZjBmZjRiMjMyLi5kMzJjOWYyNmJmZGY4OGZkMjNmMjk3YTMxMDAwN2U1NGY0MjRh
NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIg
cHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwg
ZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcmVmZXJl
bmNlLCB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSwgZGlzdGluY3QgZnJvbSBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZS4gTGVnYWN5IGNsaWVudHMgb2YgCisgICAgICAg
IG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHdpbGwgc3RpbGwgYmUgYWJsZSB0byB1
c2UgaXQgbm9ybWFsbHksIGFzIHNldHRpbmcgdGhhdCBwcmVmZXJlbmNlIHRvIHRydWUgd2lsbCBl
ZmZlY3RpdmVseQorICAgICAgICBzZXQgYm90aCBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZSBhbmQgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgdG8gdHJ1ZS4gTWFrZSB0
aGVzZSBwcmVmZXJlbmNlcyBhbGwgYXZhaWxhYmxlCisgICAgICAgIHVuaXZlcnNhbGx5LCByYXRo
ZXIgdGhhbiBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIGEgZGVm
aW5pdGlvbiBmb3IgLXNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6CisgICAg
ICAgIGFuZCAtcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayBvbiAhUExBVEZPUk0o
SU9TKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6
XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1l
ZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRSZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDE2LTAyLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXZWJLaXQgMiBJUEMgbGF5ZXIgZWFzaWx5
IGNvbmZ1c2VkIGFib3V0IG11bHRpcGxlIHdlYiBwcm9jZXNzZXMgYmVpbmcgY29ubmVjdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDU0NmJmY2QzOWVmODg4ZjAyZGE4M2FiYzFhY2ZhMTY4YzMwYmY0OGMuLmE3ZmU2MTM0NmVm
YzYyMDAxNmFlZTI5ZTBiM2I1ZjMzZmVjZTBmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lk
IEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0Q29tbW9uKCkKICAgICBtX2xpc3RlbmVyID0gQXVkaW9M
aXN0ZW5lcjo6Y3JlYXRlKCk7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKCFkb2N1bWVu
dCgpLT5zZXR0aW5ncygpIHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLT5zZXR0aW5ncygp
IHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKCkpCiAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9TdGFydFJlc3RyaWN0aW9uKTsKICAgICBlbHNlCiAgICAgICAgIG1fcmVzdHJpY3Rp
b25zID0gTm9SZXN0cmljdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCA2NDFhZTYzM2JiMTkwZWQ0ZDIwZTkwZGMwZmNjOTI4MjU0OTQ5ZTJmLi5iZTVh
Y2M4MzVjM2Y1YzhlYzlhMDhiNWM3YWFkMGVkMGIyNzcxYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQxMiwzMSArNDEyLDI1IEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24o
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UpOwogI2VuZGlmCiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFuIHVwIGFu
ZCBsb29rIHRvIGJldHRlciBtZXJnZSB0aGUgaU9TIGFuZCBub24taU9TIGNvZGUgYmVsb3cuCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQuc2V0dGluZ3MoKTsKLSNpZiAhUExBVEZP
Uk0oSU9TKQotICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2soKSkgewotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZp
b3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JS
YXRlQ2hhbmdlKTsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAg
fQotI2Vsc2UKICAgICBtX3NlbmRQcm9ncmVzc0V2ZW50cyA9IGZhbHNlOwotICAgIGlmICghc2V0
dGluZ3MgfHwgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKCkp
IHsKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdzLT52aWRlb1BsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIC8vIEFsbG93IGF1dG9wbGF5IGluIGEgTWVkaWFEb2N1
bWVudCB0aGF0IGlzIG5vdCBpbiBhbiBpZnJhbWUuCi0gICAgICAgIGlmIChkb2N1bWVudC5vd25l
ckVsZW1lbnQoKSB8fCAhZG9jdW1lbnQuaXNNZWRpYURvY3VtZW50KCkpCi0gICAgICAgICAgICBt
X21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlKTsKKyAgICAgICAgaWYgKGRvY3VtZW50
Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5pc01lZGlhRG9jdW1lbnQoKSkgeworICAgICAg
ICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlKTsKKyAgICAgICAg
ICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNl
c3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQpOworICAgICAgICB9CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJl
aGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJl
VG9TaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOwogI2VuZGlmCiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgLy8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiB3aGVuIHJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlzIG5vdCBzZXQ6CisgICAgICAgIC8vIFJlbGF4
IFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4gd2hlbiB2aWRlb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZSBpcyBub3Qgc2V0OgogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+cmVtb3Zl
QmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1
cmVGb3JGdWxsc2NyZWVuKTsKICAgICB9CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5p
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCgpKQogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+
YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2libGVBdXRv
cGxheU5vdFBlcm1pdHRlZCk7Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAotICAgIGlmIChz
ZXR0aW5ncyAmJiBzZXR0aW5ncy0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSAm
JiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKSkKKyAgICBp
ZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KCkpCiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSk7CiAK
ICAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5KCkpCkBAIC02MTY4LDcgKzYxNjIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92
ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpCiAgICAgICAgIHwg
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UKICNlbmRpZgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVV
c2VyR2VzdHVyZUZvckxvYWQKLSAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJl
VXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlCisgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlCiAgICAgICAg
IHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbgog
ICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OkludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0
dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXgg
MWE0ZGU2NDBhNDQ3MDk5Nzg0YWFlMjVhY2E3NDc2MWRkMjg1NzVjYi4uYjFkNWNlOWRkZjUxYWQx
OTczZGNhMjg0NGYwYmM1YjRkMTg2YWI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBTdHJpbmcgcmVzdHJp
Y3Rpb25OYW1lKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25zIHJlc3Ry
aWN0CiAKICAgICBDQVNFKE5vUmVzdHJpY3Rpb25zKTsKICAgICBDQVNFKFJlcXVpcmVVc2VyR2Vz
dHVyZUZvckxvYWQpOwotICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSk7
CisgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UpOwogICAgIENB
U0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlKTsKICAgICBDQVNFKFJlcXVp
cmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIENBU0UoUmVxdWlyZVBhZ2VDb25zZW50
VG9Mb2FkTWVkaWEpOwpAQCAtMTMwLDcgKzEzMCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lv
bjo6cGxheWJhY2tQZXJtaXR0ZWQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkgY29u
CiAgICAgaWYgKHBhZ2VFeHBsaWNpdGx5QWxsb3dzRWxlbWVudFRvQXV0b3BsYXlJbmxpbmUoZWxl
bWVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKG1fcmVzdHJpY3Rpb25zICYg
UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0aW9ucyAm
IFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBMT0coTWVkaWEs
ICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCAtIHJldHVybmluZyBGQUxT
RSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAzNTFjYjBlYmRlNTAwMjJhNWVjYmJhY2U0YzZhZDVk
YmEzNDM5YTY1Li4xOGVlMmFjMjViNmU5NDlhYmYzMzBkMTMyN2U0NjM1OTg0MWFiMTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtNzksNyArNzksNyBA
QCBwdWJsaWM6CiAgICAgZW51bSBCZWhhdmlvclJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBO
b1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQgPSAx
IDw8IDAsCi0gICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgPSAxIDw8IDEs
CisgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSA9IDEgPDwgMSwK
ICAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiA9IDEgPDwgMiwKICAgICAg
ICAgUmVxdWlyZVBhZ2VDb25zZW50VG9Mb2FkTWVkaWEgPSAxIDw8IDMsCiAgICAgICAgIFJlcXVp
cmVQYWdlQ29uc2VudFRvUmVzdW1lTWVkaWEgPSAxIDw8IDQsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCmluZGV4IDY3NjI3ODY5NWFmYmI2OGYzZDNiMzYwNTUwZTU2NGUzOTlhM2EzZjguLmFkNGE3
MDQxYTBiMGJmNjZlZDg3NzBmZTM4Zjc0M2U0ODkxYTY0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVk
QmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudCA9IHRydWU7CiBzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVk
ID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0SW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSB0cnVlOwotc3RhdGljIGNvbnN0IGJvb2wg
ZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrID0gdHJ1ZTsKK3N0YXRp
YyBjb25zdCBib29sIGRlZmF1bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdE1lZGlhRGF0YUxvYWRzQXV0
b21hdGljYWxseSA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNob3VsZFJlc3Bl
Y3RJbWFnZU9yaWVudGF0aW9uID0gdHJ1ZTsKQEAgLTE0OCw3ICsxNDgsNyBAQCBzdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0Rml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50ID0g
ZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zv
ckZpeGVkUG9zaXRpb25FbmFibGVkID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSBmYWxz
ZTsKLXN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjayA9IGZhbHNlOworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVk
aW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29s
IGRlZmF1bHRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSB0cnVlOwogc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgppbmRleCBiNTRmOGQzMWQ3ZDk2ZDhkNDczOTYyNmJmOGZjYzgzNjFk
NTYyODU4Li4zMTc2ZmFlMWFlZDZkNGJmZTBkNTI3NTIyOGU5ZDE4MzI3MmQzNDFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTEyNSw3ICsxMjUsNyBAQCBzaG91bGRJbmplY3RVc2VyU2Ny
aXB0c0luSW5pdGlhbEVtcHR5RG9jdW1lbnQgaW5pdGlhbD1mYWxzZQogZml4ZWRFbGVtZW50c0xh
eW91dFJlbGF0aXZlVG9GcmFtZSBpbml0aWFsPWZhbHNlCiBhbGxvd0Rpc3BsYXlPZkluc2VjdXJl
Q29udGVudCBpbml0aWFsPWZhbHNlCiBhbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCBpbml0
aWFsPWZhbHNlCi1yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayBpbml0aWFsPWRl
ZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjawordmlkZW9QbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUgaW5pdGlhbD1kZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUKIGF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVs
dEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrIGluaXRpYWw9ZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sKIGlubGluZU1lZGlh
UGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIGluaXRpYWw9ZGVmYXVsdElubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggYTliNTI0ZDg0MjY1MmFhN2Q4ZTVmMzM2MTc2YjFlYzUx
Mzk2NGEyZC4uODQ4ZjdhNzNkMzI5MjFjYTNjMGM0N2YyMTkwNzA5ZTEyYWRlZGE4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzA0NSw4ICszMDQ1LDggQEAgdm9pZCBJ
bnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVtZW50KiBl
bGVtZW50LCBjb25zdCBTdHIKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1l
bnRTZXNzaW9uOjpOb1Jlc3RyaWN0aW9uczsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJlZm9ybG9h
ZCIpKQogICAgICAgICAgICAgcmVzdHJpY3Rpb25zIHw9IE1lZGlhRWxlbWVudFNlc3Npb246OlJl
cXVpcmVVc2VyR2VzdHVyZUZvckxvYWQ7Ci0gICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcnJhdGVj
aGFuZ2UiKSkKLSAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlOworICAgICAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1
cmVmb3J2aWRlb3JhdGVjaGFuZ2UiKSkKKyAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2U7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmlu
ZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcmZ1bGxzY3JlZW4iKSkKICAgICAgICAgICAgIHJlc3Ry
aWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxs
c2NyZWVuOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJp
Y3Rpb25TdHJpbmcsICJyZXF1aXJlcGFnZWNvbnNlbnR0b2xvYWRtZWRpYSIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5k
ZXggMWI0ZGY2ZDhlMzY3ZWJhOWNlYmY3OTI4ZmM3MjBjYmEwYTRhOGY0ZC4uNTE3MTIzMjQ5MmFl
NjYwM2MzOGE1NDgyNzFiYTI4ZDU3NTEzMWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMjEsNyArMTIxLDcg
QEAKICNkZWZpbmUgV2ViS2l0QVZGb3VuZGF0aW9uRW5hYmxlZEtleSBAIldlYktpdEFWRm91bmRh
dGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJs
ZWRLZXkgQCJXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCisjZGVmaW5lIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRl
b1BsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlIgogI2RlZmluZSBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFj
a1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIK
ICNkZWZpbmUgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIgogI2RlZmluZSBXZWJLaXRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSBAIklubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggOTliNzg1YWNkZjIwMGZkYjQ1OGFiNGE0Njdk
YmM1MGU4NjZjMTI2Mi4uODM5ZWMyNWEwNTA3NDg5YTJmZWVlMDMyYzM0Y2RmZWRjY2NiNjJlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC01MjEs
NyArNTIxLDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWRLZXksCiAgICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U3VwcHJlc3Nlc0luY3JlbWVudGFs
UmVuZGVyaW5nS2V5LAogI2lmICFQTEFURk9STShJT1MpCi0gICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJh
Y2tQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
IFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1By
ZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICBXZWJL
aXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSwKQEAg
LTUzNSw3ICs1MzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpOT10sICAgV2ViS2l0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb25LZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0TWVkaWFEYXRhTG9hZHNBdXRv
bWF0aWNhbGx5UHJlZmVyZW5jZUtleSwKICNlbHNlCi0gICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpZRVNdLCAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdl
YktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yQXVkaW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDphbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSwgICBXZWJLaXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOnJlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdLCBXZWJLaXRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSwKQEAgLTIyMTEsMTQgKzIy
MTEsMjUgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogfQogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPUykKIAorLy8gRGVwcmVjYXRlZC4gSGFzIG5vIGVmZmVjdC4gCiAt
IChCT09MKW1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiB7Ci0gICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2tQcmVmZXJlbmNlS2V5XTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKKy8vIERlcHJlY2F0
ZWQuIEhhcyBubyBlZmZlY3QuCiAtICh2b2lkKXNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlOihCT09MKWZsYWcKIHsKLSAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5
OldlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07
Cit9CisKKy0gKEJPT0wpdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKK3sKKyAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmZsYWcgZm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNr
UHJlZmVyZW5jZUtleV07CiB9CiAKIC0gKEJPT0wpYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IDBiNzQ3ZDI2NmNjYTg3ZGI0Y2I5YTQ5YjVkNTc2YjYzMTdlYzg1OWYuLjcw
NDE0NzczNmNmMWQxMzkxOTA0YjdjYjMwNjA3ZjA1ZGMwYTI3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjQ4LDkgKzI0
OCwxMyBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJ
bnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOwog
LSAodm9pZClzZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAorLy8g
RGVwcmVjYXRlZC4gSGFzIG5vIGVmZmVjdC4KIC0gKHZvaWQpc2V0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmU6KEJPT0wpZmxhZzsKIC0gKEJPT0wpbWVkaWFQbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmU7CiAKKy0gKHZvaWQpc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmU6KEJPT0wpZmxhZzsKKy0gKEJPT0wpdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU7
CisKIC0gKHZvaWQpc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6KEJPT0wpZmxh
ZzsKIC0gKEJPT0wpYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2YmU5MjU1NTdhMzYwYTk3YjZjMDVhMzQ1YWU2
MmY4MjNhNjM0YWVkLi5lN2Q5MzM4MTRlNTRhNmNkZTg0OGY0ZTE4MzA1Y2Y5YzQ3ODQzMzYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMzMyLDcgKzIzMzIsNyBAQCBz
dGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGlu
Z3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoW3NlbGYgaW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbkVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRWYWxpZGF0aW9uTWVzc2Fn
ZVRpbWVyTWFnbmlmaWNhdGlvbihbc2VsZiB2YWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNh
dGlvbl0pOwogCi0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7Cisg
ICAgc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoW3ByZWZlcmVu
Y2VzIHZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7CiAgICAgc2V0dGluZ3Muc2V0
QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoW3ByZWZlcmVuY2VzIGF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja0FsbG93c0lubGluZV0pOwogICAg
IHNldHRpbmdzLnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKFtwcmVmZXJlbmNlcyBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmgKaW5kZXggN2JlOTZkMjQ2MzE3MDBjNWQwMGZiMzU0OTQ1ZWNiMjhkZjU1ZWNh
MC4uNTdlNGVmZDFkMDUxN2UyMTQ3Njg4YmUyYWVkMWE4ZTRjODU1ODJiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC03MCw3
ICs3MCw2IEBACiAjZGVmaW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRU
RUQgdHJ1ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSBm
YWxzZQogI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVESUFfUExB
WUJBQ0sgdHJ1ZQotI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVE
SU9fUExBWUJBQ0sgdHJ1ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJ
VEhfUEFHRV9aT09NIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JU
X1JFVEVOVElPTl9FTkFCTEVEIGZhbHNlCiAjZWxzZQpAQCAtODcsNyArODYsNiBAQAogI2RlZmlu
ZSBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExBWV9OT1RfUEVSTUlUVEVEIGZhbHNlCiAjZGVmaW5l
IERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFUSUNBTExZIHRydWUKICNkZWZpbmUgREVG
QVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLIGZhbHNlCi0jZGVm
aW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFDSyBmYWxz
ZQogI2RlZmluZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIHRy
dWUKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJM
RUQgdHJ1ZQogI2VuZGlmCkBAIC0xNTEsNyArMTQ5LDggQEAKICAgICBtYWNybyhBVkZvdW5kYXRp
b25FbmFibGVkLCBpc0FWRm91bmRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAg
ICBtYWNybyhBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkLCBpc0FWRm91bmRhdGlvbk5T
VVJMU2Vzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oUmVxdWly
ZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1Jf
TUVESUFfUExBWUJBQ0spIFwKLSAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9Q
bGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIEJvb2wsIGJvb2ws
IERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFDSykgXAorICAg
IG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrLCByZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhS
ZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZv
ckF1ZGlvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFjaywgYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwg
REVGQVVMVF9BTExPV1NfSU5MSU5FX01FRElBX1BMQVlCQUNLKSBcCiAgICAgbWFjcm8oSW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUsIGlubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBCb29sLCBib29sLCBERUZBVUxUX0lO
TElORV9NRURJQV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRFKSBcCiAg
ICAgbWFjcm8oSW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQsIGludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkLCBCb29sLCBib29sLCBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExBWV9OT1Rf
UEVSTUlUVEVEKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKaW5kZXggOWViYzg4ZjY5NzliNDVlZGRmYzhlNGY4NjQ0MGI0MTVlZmMwNzM4
Ny4uNDJmZTgzNGMwMzQ3MzQxZTMwMWExOGMzMTZjNjQzMjRiZWY3NjllZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtNzU4LDYg
Kzc1OCwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuYwogICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaygpOwogfQog
Cit2b2lkIFdLUHJlZmVyZW5jZXNTZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2so
ZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXli
YWNrKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVk
aW9QbGF5YmFjayhmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggM2E4MDg4MzI1YTg4NGEzYzFm
NWM0ZTMzZjdiOWM3NzcwYjg5OGQ5My4uNTMwOWJhN2MyMmVlMWU3ODRmZGM1NTY2MjE4MjZmMjBi
NjQ3YmNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTE3OCw2ICsxNzgsMTAgQEAgV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdL
UHJlZmVyZW5jZXNSZWYKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsK
IAogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRl
b1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKworLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA2Zjg1MzdhYTc4NzY1ODMxZDg1YWQ4NGIyMDA3NTc4MzM1NGFjZTlj
Li5lM2Y2NDIxNDQzZDY3NDFhYmY1YjUxYzRiMmYyZGIyNzE2MzgzNmU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMzkyLDE2ICsz
OTIsMTggQEAgc3RhdGljIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzIGZyb21XS0RhdGFEZXRl
Y3RvclR5cGVzKHVpbnQ2NF90IHR5cGVzKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJl
bmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmltYWdlQ29udHJvbHNF
bmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZp
Z3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSkpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShJT1MpCi0gICAgcGFnZUNvbmZpZ3VyYXRpb24tPnNldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eShbX2NvbmZpZ3VyYXRpb24gX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eV0p
OwotCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0tleSgpLCBXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKSk7Ci0gICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZl
cmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFja10gJiYgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpKSk7CiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSwg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiByZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSkpOworICAgIHBhZ2VDb25maWd1cmF0aW9u
LT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVp
cmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1
ZGlvUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMo
KS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1
ZGlvUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFja10pKTsKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5OjppbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZEtleSgpLCBXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZF0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjptZWRpYURhdGFMb2Fkc0F1
dG9tYXRpY2FsbHlLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5XSkpOworCisjaWYgUExB
VEZPUk0oSU9TKQorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBbHdheXNSdW5zQXRGb3JlZ3Jv
dW5kUHJpb3JpdHkoW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHldKTsKKworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3Vy
YXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSkpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERB
VEFfREVURUNUSU9OKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCku
c2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmRhdGFEZXRlY3RvclR5cGVzS2V5KCksIFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGZy
b21XS0RhdGFEZXRlY3RvclR5cGVzKFtfY29uZmlndXJhdGlvbiBkYXRhRGV0ZWN0b3JUeXBlc10p
KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDEzMDIzYmE2NmVkNjg0OWRlMWQyNzBm
Nzk5NjBkNTRhMDA2ZDc1YTEuLmY0ZmFhZjQwZWQzZDkwNmRkZjczOGQ5YjJiN2I2MDc2MGVkZGFi
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTk4LDE0ICs5OCwxNyBAQCBwcml2YXRl
OgogICAgIEJPT0wgX2NvbnZlcnRzUG9zaXRpb25TdHlsZU9uQ29weTsKICAgICBCT09MIF9hbGxv
d3NNZXRhUmVmcmVzaDsKIAotI2lmIFBMQVRGT1JNKElPUykKLSAgICBMYXp5SW5pdGlhbGl6ZWQ8
UmV0YWluUHRyPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Pj4gX2NvbnRlbnRQcm92
aWRlclJlZ2lzdHJ5OwotICAgIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsK
ICAgICBCT09MIF9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIEJPT0wgX2lubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOwogICAgIEJPT0wgX2ludmlz
aWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOwogICAgIEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21h
dGljYWxseTsKKyAgICBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOwor
ICAgIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7CiAgICAgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKKworI2lmIFBMQVRGT1JNKElPUykK
KyAgICBMYXp5SW5pdGlhbGl6ZWQ8UmV0YWluUHRyPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJl
Z2lzdHJ5Pj4gX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5OworICAgIEJPT0wgX2Fsd2F5c1J1bnNB
dEZvcmVncm91bmRQcmlvcml0eTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBCT09M
IF9zaG93c1VSTHNJblRvb2xUaXBzOwpAQCAtMTI1LDEyICsxMjgsMjAgQEAgcHJpdmF0ZToKICAg
ICAKICNpZiBQTEFURk9STShJT1MpCiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxh
eWJhY2sgPSBZRVM7Ci0gICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBZ
RVM7Ci0gICAgX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwogICAg
IF9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gV2ViQ29yZTo6ZGV2aWNlQ2xhc3MoKSA9PSBN
R0RldmljZUNsYXNzaVBhZDsKLSAgICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJ
bmxpbmVBdHRyaWJ1dGUgPSAhX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Ci0gICAgX2ludmlz
aWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gWUVTOwogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHkgPSBOTzsKKyNlbHNlCisgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxh
eWJhY2sgPSBOTzsKKyAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFlFUzsKKyAgICBf
bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gWUVTOworI2VuZGlmCisgICAgX3JlcXVpcmVz
VXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBOTzsKKyAgICBfcmVxdWlyZXNVc2VyQWN0aW9u
Rm9yQXVkaW9QbGF5YmFjayA9IE5POworICAgIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZSA9ICFfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKKyAgICBf
aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBOTzsKKworI2lmIFBMQVRGT1JNKElPUykK
KyAgICBfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBZRVM7CiAgICAgX3Jl
c3BlY3RzSW1hZ2VPcmllbnRhdGlvbiA9IFlFUzsKICAgICBfcHJpbnRzQmFja2dyb3VuZHMgPSBZ
RVM7CiAjZW5kaWYKQEAgLTE3NCw5ICsxODUsMTAgQEAgcHJpdmF0ZToKICAgICBbY29kZXIgZW5j
b2RlQm9vbDpzZWxmLmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrIGZvcktleTpAImFsbG93
c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrIl07CiAgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2Vs
Zi5kYXRhRGV0ZWN0b3JUeXBlcyBmb3JLZXk6QCJkYXRhRGV0ZWN0b3JUeXBlcyJdOwogCi0jaWYg
UExBVEZPUk0oSU9TKQogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrIl07CiAgICAgW2Nv
ZGVyIGVuY29kZUJvb2w6c2VsZi5yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrIGZv
cktleTpAInJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2siXTsKKworI2lmIFBMQVRG
T1JNKElPUykKICAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLnNlbGVjdGlvbkdyYW51bGFy
aXR5IGZvcktleTpAInNlbGVjdGlvbkdyYW51bGFyaXR5Il07CiAgICAgW2NvZGVyIGVuY29kZUJv
b2w6c2VsZi5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayJdOwogI2VuZGlmCkBAIC0xOTcsOSArMjA5
LDEwIEBAIHByaXZhdGU6CiAgICAgc2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayA9
IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2si
XTsKICAgICBzZWxmLmRhdGFEZXRlY3RvclR5cGVzID0gW2NvZGVyIGRlY29kZUludGVnZXJGb3JL
ZXk6QCJkYXRhRGV0ZWN0b3JUeXBlcyJdOwogCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIHNlbGYu
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayJdOwogICAgIHNlbGYucmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAicmVxdWlyZXNVc2VyQWN0
aW9uRm9yTWVkaWFQbGF5YmFjayJdOworCisjaWYgUExBVEZPUk0oSU9TKQogICAgIHNlbGYuc2Vs
ZWN0aW9uR3JhbnVsYXJpdHkgPSBzdGF0aWNfY2FzdDxXS1NlbGVjdGlvbkdyYW51bGFyaXR5Pihb
Y29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAInNlbGVjdGlvbkdyYW51bGFyaXR5Il0pOwogICAg
IHNlbGYuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2Rl
Qm9vbEZvcktleTpAImFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrIl07CiAjZW5k
aWYKQEAgLTIzMywxNSArMjQ2LDE3IEBAIHByaXZhdGU6CiAgICAgY29uZmlndXJhdGlvbi0+X2Nv
bnZlcnRzUG9zaXRpb25TdHlsZU9uQ29weSA9IHNlbGYtPl9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVP
bkNvcHk7CiAgICAgY29uZmlndXJhdGlvbi0+X2FsbG93c01ldGFSZWZyZXNoID0gc2VsZi0+X2Fs
bG93c01ldGFSZWZyZXNoOwogCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbmZpZ3VyYXRpb24t
Pl9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c0lubGluZU1lZGlhUGxh
eWJhY2s7CiAgICAgY29uZmlndXJhdGlvbi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1Bs
YXlzSW5saW5lQXR0cmlidXRlID0gc2VsZi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1Bs
YXlzSW5saW5lQXR0cmlidXRlOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbnZpc2libGVBdXRvcGxh
eU5vdFBlcm1pdHRlZCA9IHNlbGYtPl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDsKICAg
ICBjb25maWd1cmF0aW9uLT5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gc2VsZi0+X21l
ZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTsKLSAgICBjb25maWd1cmF0aW9uLT5fYWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBzZWxmLT5fYWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2s7Ci0gICAgY29uZmlndXJhdGlvbi0+X2Fsd2F5c1J1bnNBdEZvcmVncm91
bmRQcmlvcml0eSA9IF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7CiAgICAgY29uZmln
dXJhdGlvbi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBzZWxmLT5fcmVx
dWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjazsKKyAgICBjb25maWd1cmF0aW9uLT5fcmVx
dWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rp
b25Gb3JWaWRlb1BsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rp
b25Gb3JBdWRpb1BsYXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxh
eWJhY2s7CisKKyNpZiBQTEFURk9STShJT1MpCisgICAgY29uZmlndXJhdGlvbi0+X2FsbG93c1Bp
Y3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrOworICAgIGNvbmZpZ3VyYXRpb24tPl9hbHdheXNSdW5zQXRGb3JlZ3Jv
dW5kUHJpb3JpdHkgPSBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OwogICAgIGNvbmZp
Z3VyYXRpb24tPl9zZWxlY3Rpb25HcmFudWxhcml0eSA9IHNlbGYtPl9zZWxlY3Rpb25HcmFudWxh
cml0eTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTUwNiw2ICs1MjEsMjcgQEAgc3Rh
dGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KCkKIHsKICAg
ICBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gYWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5OwogfQorI2Vsc2UKKy0gKEJPT0wpcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQ
bGF5YmFjaworeworICAgIHJldHVybiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFj
azsKK30KKworLSAodm9pZClzZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOihC
T09MKXJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sKK3sKKyAgICBfcmVxdWlyZXNV
c2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxh
eWJhY2s7Cit9CisKKy0gKEJPT0wpYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaworeworICAgIHJl
dHVybiBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKK30KKworLSAodm9pZClzZXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrOihCT09MKWFsbG93c0lubGluZU1lZGlhUGxheWJhY2sKK3sKKyAg
ICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IGFsbG93c0lubGluZU1lZGlhUGxheWJhY2s7
Cit9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAtIChCT09MKV9pbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZQogewpAQCAtNTM3LDYgKzU3MywxNiBAQCBz
dGF0aWMgTlNTdHJpbmcgKmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogICAg
IF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2Fs
bHk7CiB9CiAKKy0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sK
KyAgICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7Cit9CisKKy0g
KHZvaWQpX3NldFJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KEJPT0wpcmVxdWly
ZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjaworeworICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25G
b3JWaWRlb1BsYXliYWNrID0gcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKK30K
KwogLSAoQk9PTClfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjawogewogICAgIHJl
dHVybiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKQEAgLTU0Nyw4ICs1OTMs
NiBAQCBzdGF0aWMgTlNTdHJpbmcgKmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQo
KQogICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gcmVxdWlyZXNVc2Vy
QWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLQog
I2lmIFBMQVRGT1JNKE1BQykKIC0gKEJPT0wpX3Nob3dzVVJMc0luVG9vbFRpcHMKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCBmOTYwNWY5MjZlMTViYTYwNGQxY2Zi
Y2Q4OTA5MGFkOGFmN2EyMDA4Li42OTQ2MTUxMDA2MzE3NDhjZDk0ZWJlOWNiYWRhNzdjNmEyZDc0
NzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC00OSwxOCArNDks
MjAgQEAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c0phdmFTY3JpcHRN
YXJrdXA6KSBCT09MIF9hbGxvd3NKYXZhU2NyaXB0TWFya3VwIFdLX0FWQUlMQUJMRShXS19NQUNf
VEJBLCBXS19JT1NfVEJBKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvbnZl
cnRzUG9zaXRpb25TdHlsZU9uQ29weTopIEJPT0wgX2NvbnZlcnRzUG9zaXRpb25TdHlsZU9uQ29w
eSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRBbGxvd3NNZXRhUmVmcmVzaDopIEJPT0wgX2FsbG93c01ldGFSZWZy
ZXNoIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6KSBC
T09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlMQUJMRShXS19N
QUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJl
cXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rp
b25Gb3JWaWRlb1BsYXliYWNrIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElubGluZU1lZGlhUGxheWJhY2tSZXF1
aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOikgQk9PTCBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19U
QkEpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQ6KSBCT09MIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCBXS19BVkFJ
TEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRpYURhdGFMb2Fk
c0F1dG9tYXRpY2FsbHkgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCiAj
aWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OikgQk9PTCBfYWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5IFdLX0FWQUlMQUJMRShOQSwgOV8wKTsKLQotQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazopIEJPT0wgX3Jl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1Nf
VEJBKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElubGluZU1lZGlhUGxheWJh
Y2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOikgQk9PTCBfaW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJB
KTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEludmlzaWJsZUF1dG9wbGF5Tm90
UGVybWl0dGVkOikgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgV0tfQVZBSUxB
QkxFKE5BLCBXS19JT1NfVEJBKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1l
ZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTopIEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseSBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwogI2Vsc2UKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFNob3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93c1VSTHNJ
blRvb2xUaXBzIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNv
bnRyb2xzRW5hYmxlZCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9pbWFnZUNv
bnRyb2xzRW5hYmxlZCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOworQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s7CiAjZW5kaWYK
IAogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywgc2V0dGVyPV9zZXRWaXNpdGVkTGlua1By
b3ZpZGVyOikgX1dLVmlzaXRlZExpbmtQcm92aWRlciAqX3Zpc2l0ZWRMaW5rUHJvdmlkZXIgV0tf
REVQUkVDQVRFRCgxMF8xMCwgV0tfTUFDX1RCQSwgOF8wLCBXS19JT1NfVEJBLCAiUGxlYXNlIHVz
ZSBfdmlzaXRlZExpbmtTdG9yZSBpbnN0ZWFkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDEwNjQzNDU1YTM3MTI0NzdiZjc5NGZhNTRl
N2Y0NmQ5YmZkYzZkNC4uNGM5YjljYjk5ZmYzNzA0NWVkYWEwMzIyODU3NTkwOTI0NWU0YzdhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
Mjg3NCw4ICsyODc0LDkgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJHTEVuYWJsZWRL
ZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlU29mdHdhcmVXZWJH
TFJlbmRlcmluZ0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphY2NlbGVy
YXRlZDJkQ2FudmFzRW5hYmxlZEtleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2Vy
R2VzdHVyZUZvck1lZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKSk7Ci0g
ICAgc2V0dGluZ3Muc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9y
QXVkaW9QbGF5YmFja0tleSgpKSk7CisgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVk
aWEgPSBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCkpOworICAgIHNldHRpbmdzLnNldFZpZGVv
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSB8
fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNl
ckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRBdWRpb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgfHwg
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yQXVkaW9QbGF5YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmFsbG93c0lubGluZU1lZGlhUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEludmlzaWJs
ZUF1dG9wbGF5Tm90UGVybWl0dGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWRLZXkoKSkpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDEwYzE2YzA3M2ZmZjVl
NjY5MmExZGE2MmJmZmE5MDkwNTY1OTYxMjMuLmNkNjllZjVkOGNlNWZjMWI5MTVhYzk4ZGM4NjQz
YmM0ZTJjYWVhOWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNl
cyBmb3IgcmVxdWlyaW5nIHVzZXIgZ2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBm
cm9tIHVzZXIgZ2VzdHVyZXMgZm9yIG1lZGlhIGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3Ig
bWVkaWEgcHJlZmVyZW5jZXMgdW5jb25kaXRpb25hbGx5LCBub3QganVzdCBvbiBQTEFURk9STShJ
T1MpLiBTZXQgInZpZGVvIHJlcXVpcmVzIHVzZXIgZ2VzdHVyZSIKKyAgICAgICAgdG8gc2FuZSBk
ZWZhdWx0cyBpbiBhZGRpdGlvbiB0byAiYXVkaW8gcmVxdWlyZXMgdXNlciBnZXN0dXJlIiBhbmQg
KGluIHRoZSBjYXNlIG9mIER1bXBSRW5kZXJUcmVlKSBpbnN0ZWFkIG9mICJtZWRpYSByZXF1aXJl
cyB1c2VyIGdlc3R1cmUiLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cyk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1t
OgorICAgICAgICAoVEVTVCk6CisKIDIwMTYtMDItMTkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jv
c3Mtb3JpZ2luKiB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCmluZGV4IDNkNzgxMWJhMDNhODYyOTVlNGUwNmYzYzNmZmRlY2ZiZjNiNzMzMTIuLjUzNmI5
YjFkY2IxMWRkMzg0MDNiZDkyOTcyOWZhYTRkZDUxYTYyZTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTkzOSwxMiArOTM5LDEzIEBAIHN0YXRpYyB2
b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAgICBbcHJl
ZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOllFU107CiAgICAgfSBlbHNlCiAgICAg
ICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6Tk9dOwotI2lmIFBMQVRG
T1JNKElPUykKICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZTpZ
RVNdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZTpOT107CisgICAgW3ByZWZlcmVuY2VzIHNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlOk5PXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmU6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2Fs
bHk6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0
ZWQ6Tk9dOwogCisjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEVuYWJsZSB0aGUgdHJhY2tlciBi
ZWZvcmUgY3JlYXRpbmcgdGhlIGZpcnN0IFdlYlZpZXcgd2lsbAogICAgIC8vIGNhdXNlIGluaXRp
YWxpemF0aW9uIHRvIHVzZSB0aGUgY29ycmVjdCBkYXRhYmFzZSBwYXRocy4KICAgICBbcHJlZmVy
ZW5jZXMgc2V0U3RvcmFnZVRyYWNrZXJFbmFibGVkOllFU107CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Db2RpbmcubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Db2RpbmcubW0KaW5kZXggYjJlNmZkMzZhYzdlNDc3
YjNmMGY3ODgzMDU1ZjkyNTgxMTQ3OTc0NC4uMjA0MDgxOGU2NWJiMzg5ZTRiNzE5MmM1N2ExNGZm
YmZiN2Y5NzQxMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQ29kaW5nLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL0NvZGluZy5tbQpAQCAtMjgsNiArMjgsNyBAQAogI2lmIFdLX0FQSV9FTkFCTEVECiAKICNp
bXBvcnQgPFdlYktpdC9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC05OSw5ICsxMDAsMTEgQEAgVEVTVChDb2Rpbmcs
IFdLV2ViVmlld0NvbmZpZ3VyYXRpb24pCiAgICAgW2Egc2V0QWxsb3dzQWlyUGxheUZvck1lZGlh
UGxheWJhY2s6Tk9dOwogICAgIFthIHNldERhdGFEZXRlY3RvclR5cGVzOldLRGF0YURldGVjdG9y
VHlwZUFsbF07CiAKLSNpZiBQTEFURk9STShJT1MpCiAgICAgW2Egc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjazpZRVNdOwogICAgIFthIHNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxh
eWJhY2s6Tk9dOworICAgIFthIF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNr
Ok5PXTsKKyAgICBbYSBfc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazpOT107
CisjaWYgUExBVEZPUk0oSU9TKQogICAgIFthIHNldFNlbGVjdGlvbkdyYW51bGFyaXR5OldLU2Vs
ZWN0aW9uR3JhbnVsYXJpdHlDaGFyYWN0ZXJdOwogICAgIFthIHNldEFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrOk5PXTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNjMmU2YTRhOWNjYjc0OGQ0
MzM5MjVjZDMzODU2Y2Q3N2NkNDQ4OWUuLmM1ODdiMzc4NTQ5MDNiY2ZkNjEwZGI3ZDk0MmQwYjA4
Y2RhOWU4MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBw
cmVmZXJlbmNlcyBmb3IgcmVxdWlyaW5nIHVzZXIgZ2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBk
aXN0aW5jdCBmcm9tIHVzZXIgZ2VzdHVyZXMgZm9yIG1lZGlhIGdlbmVyYWxseQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGxheW91dCB0ZXN0
cyB0byByZWZsZWN0IG5ldyByZXN0cmljdGlvbiBuYW1lLgorCisgICAgICAgICogbWVkaWEvYXVk
aW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVk
aWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS5odG1sOgorICAgICAgICAqIG1lZGlh
L25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWw6CisgICAgICAg
ICogbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sOgorICAgICAgICAq
IG1lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbDoKKwogMjAxNi0wMi0y
OSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXVtNYWNd
IFN1cHBvcnQgcGFpbnRpbmcgTVNFIHZpZGVvLWVsZW1lbnQgdG8gY2FudmFzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBs
YXktZXhwZWN0ZWQudHh0CmluZGV4IGEzNzMxNGQ1OGViNDA4N2E1MjA1ZDgyOWE2NzZmZmFjNDQ4
MGIwYTQuLjY1ODlmODFjYTI4Y2U4NjJhZTQ4ZjViODhiZmFlOTc2NDA4YzI0NjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0
aW9uLXBsYXktZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAotVGVzdCB0aGF0LCB3aGVuIGJv
dGggUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSBhbmQgUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3RhcnRpbmcgcGxheWJhY2sgb2YgYW4gYXVkaW8g
ZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS4KK1Rlc3QgdGhhdCwgd2hlbiBSZXF1aXJlVXNl
ckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBh
biBhdWRpbyBmaWxlIHJlcXVpcmVzIGEgdXNlciBnZXN0dXJlLgogCiAKLVJVTihpbnRlcm5hbHMu
c2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9y
UmF0ZUNoYW5nZSxSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKSkKK1JVTihp
bnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJH
ZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIikpCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmls
ZSgnYXVkaW8nLCAnY29udGVudC90ZXN0JykpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2
aWRlby5wbGF5KCkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFj
ay1yZXN0cmljdGlvbi1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFj
ay1yZXN0cmljdGlvbi1wbGF5Lmh0bWwKaW5kZXggMzliYjUwODMyNGY1Mjk4MTQzMzI1MTg0Yjg3
OGY4MTI4ZWVmMmIzNS4uOWZmZjNkMzZkY2Y2ZDE4NGM5ODdmMWIxOGJlN2QwNTZjY2RkZmEzNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24t
cGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0
aW9uLXBsYXkuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogICAgICAgICB2aWRlbyA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhdWRpbycpWzBdOwogCiAgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQotICAgICAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVz
dHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxSZXF1aXJl
VXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKScpOworICAgICAgICAgICAgcnVuKCdpbnRl
cm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0
dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIiknKTsKIAogICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWls
KCdlcnJvcicpOwogICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxh
eXRocm91Z2gpOwpAQCAtMzYsNyArMzYsNyBAQAogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci0gICAgPHA+VGVzdCB0aGF0LCB3aGVuIGJvdGggUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yUmF0ZUNoYW5nZSBhbmQgUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlz
IHNldCwgc3RhcnRpbmcgcGxheWJhY2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIg
Z2VzdHVyZS48L3A+CisgICAgPHA+VGVzdCB0aGF0LCB3aGVuIFJlcXVpcmVVc2VyR2VzdHVyZUZv
ckF1ZGlvUmF0ZUNoYW5nZSBpcyBzZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZp
bGUgcmVxdWlyZXMgYSB1c2VyIGdlc3R1cmUuPC9wPgogICAgIDxhdWRpbyBjb250cm9scyBhdXRv
cGxheT48L2F1ZGlvPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbCBiL0xh
eW91dFRlc3RzL21lZGlhL25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50
Lmh0bWwKaW5kZXggNDg2MzQzNWE2ZjY4MWJkZTUyOThjOWVkNzIwNjVkNmNiOTAzOTFjZC4uNWNl
ZGJiODE4YWEzYTZhMzc2ODhhYTU5ZGRjNGU4ZTMzZjZkNmM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvbWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1y
ZXF1aXJlbWVudC5odG1sCkBAIC01LDcgKzUsNyBAQAogICAgICAgICA8c2NyaXB0IHNyYz12aWRl
by10ZXN0LmpzPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIAotICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sodHJ1ZSk7CisgICAgICAg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZSh0cnVlKTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFBsYXkoKQog
ICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1y
ZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1y
ZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCmluZGV4IDExN2I0ODhiNzE4MTJmZWE2MTMwNzU1MTg2
OGQyOGIxZmRkNzdmOTAuLjNiMzEyNTdjYzUwZjQ4ZGExNzYwZTA5ZGFjZTJjMGUwYmE0YzIwMjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVxdWlyZS11c2VyLWdl
c3R1cmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwKQEAgLTcsNyArNyw3IEBACiAgICAgICAgICAgICB2YXIgdXNlckdlc3R1
cmVJbml0aWF0ZWQgPSAwOwogCiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0g
ICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWFQbGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUp
OwogCiAgICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KHN1Y2Nlc3MpCiAgICAgICAgICAg
ICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwKaW5kZXggNDZjMTliZmJhYzUxMmIxNDA4YTlkYWUxYjZmYTY3NjgyM2Ix
Mjc5Yy4uZjVjZjYwNDAyMGM3YmE0ZGYzNGExMTQ5ODkwMmQ0M2FjNzU3OWIxNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUu
aHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgIHZhciB1
c2VyR2VzdHVyZUluaXRpYXRlZCA9IDA7CiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykgCi0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KHRydWUpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBjbGljaygpCiAgICAgICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273397</attachid>
            <date>2016-03-08 22:42:34 -0800</date>
            <delta_ts>2016-03-08 22:48:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160308224220.patch</filename>
            <type>text/plain</type>
            <size>11396</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY4NGExN2Y5YzE3OTA2
Y2M3NTI2ZTkyOTFlODNlZjAzNjM3ZmNlZS4uNDczZmQzMzA5M2VkNjdhMDk0Y2YzYmNiYzAzOGQ3
MDIwZDBmNzAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDUkFTSCBhdCBX
ZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVWaXNpYmxlVmlld3BvcnRSZWN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNTQ2YmZj
ZDM5ZWY4ODhmMDJkYTgzYWJjMWFjZmExNjhjMzBiZjQ4Yy4uYTdmZTYxMzQ2ZWZjNjIwMDE2YWVl
MjllMGIzYjVmMzNmZWNlMGZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgQXVkaW9Db250
ZXh0Ojpjb25zdHJ1Y3RDb21tb24oKQogICAgIG1fbGlzdGVuZXIgPSBBdWRpb0xpc3RlbmVyOjpj
cmVhdGUoKTsKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoIWRvY3VtZW50KCktPnNldHRp
bmdzKCkgfHwgZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2soKSkKKyAgICBpZiAoIWRvY3VtZW50KCktPnNldHRpbmdzKCkgfHwgZG9jdW1l
bnQoKS0+c2V0dGluZ3MoKS0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSkKICAg
ICAgICAgYWRkQmVoYXZpb3JSZXN0cmljdGlvbihSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1N0
YXJ0UmVzdHJpY3Rpb24pOwogICAgIGVsc2UKICAgICAgICAgbV9yZXN0cmljdGlvbnMgPSBOb1Jl
c3RyaWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4
IGYxNzJkZGM5NWJiNTM4ZjQxNjZkODlmMWY4OGQ3ZWNhNjU1MWRkYzAuLjk4ZjkyZjQ5NTU1NDlk
YjFiN2E3MDA0MzM5MzVmMDQ2YTBmNGQ5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtNDEyLDMxICs0MTIsMzAgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRN
TE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9j
dW0KICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1l
bnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVUb0F1dG9wbGF5VG9FeHRlcm5hbERldmljZSk7
CiAjZW5kaWYKIAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgY2xlYW4gdXAgYW5kIGxvb2sgdG8g
YmV0dGVyIG1lcmdlIHRoZSBpT1MgYW5kIG5vbi1pT1MgY29kZSBiZWxvdy4KICAgICBTZXR0aW5n
cyogc2V0dGluZ3MgPSBkb2N1bWVudC5zZXR0aW5ncygpOwotI2lmICFQTEFURk9STShJT1MpCi0g
ICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjaygpKSB7Ci0gICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0
aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2Up
OwotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkKTsKLSAgICB9Ci0jZWxzZQor
I2lmIFBMQVRGT1JNKElPUykKICAgICBtX3NlbmRQcm9ncmVzc0V2ZW50cyA9IGZhbHNlOwotICAg
IGlmICghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrKCkpIHsKKyNlbmRpZgorICAgIGlmICghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPnZpZGVv
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKCkpIHsKICAgICAgICAgLy8gQWxsb3cgYXV0b3Bs
YXkgaW4gYSBNZWRpYURvY3VtZW50IHRoYXQgaXMgbm90IGluIGFuIGlmcmFtZS4KLSAgICAgICAg
aWYgKGRvY3VtZW50Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5pc01lZGlhRG9jdW1lbnQo
KSkKLSAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1l
ZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UpOworICAg
ICAgICBpZiAoZG9jdW1lbnQub3duZXJFbGVtZW50KCkgfHwgIWRvY3VtZW50LmlzTWVkaWFEb2N1
bWVudCgpKSB7CisgICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmlj
dGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVD
aGFuZ2UpOworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7CisgICAg
ICAgIH0KICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgICAgICBtX21l
ZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpS
ZXF1aXJlVXNlckdlc3R1cmVUb1Nob3dQbGF5YmFja1RhcmdldFBpY2tlcik7CiAjZW5kaWYKLSAg
ICB9IGVsc2UgewotICAgICAgICAvLyBSZWxheCBSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2Ny
ZWVuIHdoZW4gcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sgaXMgbm90IHNldDoK
KyAgICB9CisjaWYgUExBVEZPUk0oSU9TKQorICAgIGVsc2UgeworICAgICAgICAvLyBSZWxheCBS
ZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuIHdoZW4gdmlkZW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUgaXMgbm90IHNldDoKICAgICAgICAgbV9tZWRpYVNlc3Npb24tPnJlbW92ZUJl
aGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJl
Rm9yRnVsbHNjcmVlbik7CiAgICAgfQorI2VuZGlmCiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRp
bmdzLT5pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCgpKQogICAgICAgICBtX21lZGlhU2Vz
c2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZCk7Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAotICAg
IGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUoKSAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKSkK
KyAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKCkpCiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9u
KE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5n
ZSk7CiAKICAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+bWVkaWFEYXRhTG9hZHNBdXRv
bWF0aWNhbGx5KCkpCkBAIC02MTY4LDcgKzYxNjcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpCiAgICAg
ICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRv
RXh0ZXJuYWxEZXZpY2UKICNlbmRpZgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJl
cXVpcmVVc2VyR2VzdHVyZUZvckxvYWQKLSAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpS
ZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlCisgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlCiAg
ICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNj
cmVlbgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OkludmlzaWJsZUF1dG9wbGF5Tm90
UGVybWl0dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
aW5kZXggMWE0ZGU2NDBhNDQ3MDk5Nzg0YWFlMjVhY2E3NDc2MWRkMjg1NzVjYi4uYjFkNWNlOWRk
ZjUxYWQxOTczZGNhMjg0NGYwYmM1YjRkMTg2YWI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBTdHJpbmcg
cmVzdHJpY3Rpb25OYW1lKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25z
IHJlc3RyaWN0CiAKICAgICBDQVNFKE5vUmVzdHJpY3Rpb25zKTsKICAgICBDQVNFKFJlcXVpcmVV
c2VyR2VzdHVyZUZvckxvYWQpOwotICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNo
YW5nZSk7CisgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UpOwog
ICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlKTsKICAgICBDQVNF
KFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIENBU0UoUmVxdWlyZVBhZ2VD
b25zZW50VG9Mb2FkTWVkaWEpOwpAQCAtMTMwLDcgKzEzMCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVu
dCkgY29uCiAgICAgaWYgKHBhZ2VFeHBsaWNpdGx5QWxsb3dzRWxlbWVudFRvQXV0b3BsYXlJbmxp
bmUoZWxlbWVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKG1fcmVzdHJpY3Rp
b25zICYgUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0
aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29u
dHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBMT0co
TWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCAtIHJldHVybmlu
ZyBGQUxTRSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAzNTFjYjBlYmRlNTAwMjJhNWVjYmJhY2U0
YzZhZDVkYmEzNDM5YTY1Li4xOGVlMmFjMjViNmU5NDlhYmYzMzBkMTMyN2U0NjM1OTg0MWFiMTc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtNzksNyAr
NzksNyBAQCBwdWJsaWM6CiAgICAgZW51bSBCZWhhdmlvclJlc3RyaWN0aW9uRmxhZ3MgewogICAg
ICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckxv
YWQgPSAxIDw8IDAsCi0gICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgPSAx
IDw8IDEsCisgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSA9IDEg
PDwgMSwKICAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiA9IDEgPDwgMiwK
ICAgICAgICAgUmVxdWlyZVBhZ2VDb25zZW50VG9Mb2FkTWVkaWEgPSAxIDw8IDMsCiAgICAgICAg
IFJlcXVpcmVQYWdlQ29uc2VudFRvUmVzdW1lTWVkaWEgPSAxIDw8IDQsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCmluZGV4IDY3NjI3ODY5NWFmYmI2OGYzZDNiMzYwNTUwZTU2NGUzOTlhM2EzZjgu
LmFkNGE3MDQxYTBiMGJmNjZlZDg3NzBmZTM4Zjc0M2U0ODkxYTY0ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVs
dEZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudCA9IHRydWU7CiBzdGF0aWMg
Y29uc3QgYm9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25F
bmFibGVkID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0SW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSB0cnVlOwotc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrID0gdHJ1ZTsK
K3N0YXRpYyBjb25zdCBib29sIGRlZmF1bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZSA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdE1lZGlhRGF0YUxv
YWRzQXV0b21hdGljYWxseSA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNob3Vs
ZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uID0gdHJ1ZTsKQEAgLTE0OCw3ICsxNDgsNyBAQCBzdGF0
aWMgY29uc3QgYm9vbCBkZWZhdWx0Rml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3Vt
ZW50ID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBk
ZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9v
bCBkZWZhdWx0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUg
PSBmYWxzZTsKLXN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjayA9IGZhbHNlOworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFZpZGVvUGxh
eWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmYWxzZTsKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSB0cnVlOwogc3RhdGlj
IGNvbnN0IGJvb2wgZGVmYXVsdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCBiNTRmOGQzMWQ3ZDk2ZDhkNDczOTYyNmJmOGZj
YzgzNjFkNTYyODU4Li4zMTc2ZmFlMWFlZDZkNGJmZTBkNTI3NTIyOGU5ZDE4MzI3MmQzNDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTEyNSw3ICsxMjUsNyBAQCBzaG91bGRJbmplY3RV
c2VyU2NyaXB0c0luSW5pdGlhbEVtcHR5RG9jdW1lbnQgaW5pdGlhbD1mYWxzZQogZml4ZWRFbGVt
ZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSBpbml0aWFsPWZhbHNlCiBhbGxvd0Rpc3BsYXlPZklu
c2VjdXJlQ29udGVudCBpbml0aWFsPWZhbHNlCiBhbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVu
dCBpbml0aWFsPWZhbHNlCi1yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayBpbml0
aWFsPWRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjawordmlkZW9QbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgaW5pdGlhbD1kZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUKIGF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9
ZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrIGluaXRpYWw9ZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sKIGlubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIGluaXRpYWw9ZGVmYXVs
dElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYTliNTI0ZDg0MjY1MmFhN2Q4ZTVmMzM2MTc2
YjFlYzUxMzk2NGEyZC4uODQ4ZjdhNzNkMzI5MjFjYTNjMGM0N2YyMTkwNzA5ZTEyYWRlZGE4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzA0NSw4ICszMDQ1LDggQEAg
dm9pZCBJbnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVt
ZW50KiBlbGVtZW50LCBjb25zdCBTdHIKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpOb1Jlc3RyaWN0aW9uczsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJl
Zm9ybG9hZCIpKQogICAgICAgICAgICAgcmVzdHJpY3Rpb25zIHw9IE1lZGlhRWxlbWVudFNlc3Np
b246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQ7Ci0gICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZv
cnJhdGVjaGFuZ2UiKSkKLSAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlOworICAgICAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNl
cmdlc3R1cmVmb3J2aWRlb3JhdGVjaGFuZ2UiKSkKKyAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8
PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFu
Z2U7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlv
blN0cmluZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcmZ1bGxzY3JlZW4iKSkKICAgICAgICAgICAg
IHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVG
b3JGdWxsc2NyZWVuOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJlcGFnZWNvbnNlbnR0b2xvYWRtZWRpYSIpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273398</attachid>
            <date>2016-03-08 22:48:29 -0800</date>
            <delta_ts>2016-03-09 14:20:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160308224816.patch</filename>
            <type>text/plain</type>
            <size>54789</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY4NGExN2Y5YzE3OTA2
Y2M3NTI2ZTkyOTFlODNlZjAzNjM3ZmNlZS4uNDczZmQzMzA5M2VkNjdhMDk0Y2YzYmNiYzAzOGQ3
MDIwZDBmNzAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDUkFTSCBhdCBX
ZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVWaXNpYmxlVmlld3BvcnRSZWN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDQ5MGRjNWQ1ZTY1MDRlMDcwN2E1NmMxOGQyNTEyMzczNjBiYmZmYi4uYTNkN2Vi
ZTI1ZTVmNDQwNDQ0ZjRhODMxYWYxOTQ1Y2JiY2FmYjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1
aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBn
ZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAyLTI2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciB3aGVuIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSIGNvbnRhaW5zIHNwYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZmFlYjcwMjQ4MmNjODlkNmQ5NGEz
NWNlMTdhMDI5ZjBmZjRiMjMyLi5kMzJjOWYyNmJmZGY4OGZkMjNmMjk3YTMxMDAwN2U1NGY0MjRh
NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIg
cHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwg
ZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcmVmZXJl
bmNlLCB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSwgZGlzdGluY3QgZnJvbSBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZS4gTGVnYWN5IGNsaWVudHMgb2YgCisgICAgICAg
IG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHdpbGwgc3RpbGwgYmUgYWJsZSB0byB1
c2UgaXQgbm9ybWFsbHksIGFzIHNldHRpbmcgdGhhdCBwcmVmZXJlbmNlIHRvIHRydWUgd2lsbCBl
ZmZlY3RpdmVseQorICAgICAgICBzZXQgYm90aCBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZSBhbmQgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgdG8gdHJ1ZS4gTWFrZSB0
aGVzZSBwcmVmZXJlbmNlcyBhbGwgYXZhaWxhYmxlCisgICAgICAgIHVuaXZlcnNhbGx5LCByYXRo
ZXIgdGhhbiBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIGEgZGVm
aW5pdGlvbiBmb3IgLXNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6CisgICAg
ICAgIGFuZCAtcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayBvbiAhUExBVEZPUk0o
SU9TKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6
XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1l
ZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRSZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDE2LTAyLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXZWJLaXQgMiBJUEMgbGF5ZXIgZWFzaWx5
IGNvbmZ1c2VkIGFib3V0IG11bHRpcGxlIHdlYiBwcm9jZXNzZXMgYmVpbmcgY29ubmVjdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDU0NmJmY2QzOWVmODg4ZjAyZGE4M2FiYzFhY2ZhMTY4YzMwYmY0OGMuLmE3ZmU2MTM0NmVm
YzYyMDAxNmFlZTI5ZTBiM2I1ZjMzZmVjZTBmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lk
IEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0Q29tbW9uKCkKICAgICBtX2xpc3RlbmVyID0gQXVkaW9M
aXN0ZW5lcjo6Y3JlYXRlKCk7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKCFkb2N1bWVu
dCgpLT5zZXR0aW5ncygpIHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLT5zZXR0aW5ncygp
IHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKCkpCiAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9TdGFydFJlc3RyaWN0aW9uKTsKICAgICBlbHNlCiAgICAgICAgIG1fcmVzdHJpY3Rp
b25zID0gTm9SZXN0cmljdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCBmMTcyZGRjOTViYjUzOGY0MTY2ZDg5ZjFmODhkN2VjYTY1NTFkZGMwLi45OGY5
MmY0OTU1NTQ5ZGIxYjdhNzAwNDMzOTM1ZjA0NmEwZjRkOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQxMiwzMSArNDEyLDMwIEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24o
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UpOwogI2VuZGlmCiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFuIHVwIGFu
ZCBsb29rIHRvIGJldHRlciBtZXJnZSB0aGUgaU9TIGFuZCBub24taU9TIGNvZGUgYmVsb3cuCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQuc2V0dGluZ3MoKTsKLSNpZiAhUExBVEZP
Uk0oSU9TKQotICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2soKSkgewotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZp
b3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JS
YXRlQ2hhbmdlKTsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAg
fQotI2Vsc2UKKyNpZiBQTEFURk9STShJT1MpCiAgICAgbV9zZW5kUHJvZ3Jlc3NFdmVudHMgPSBm
YWxzZTsKLSAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yTWVkaWFQbGF5YmFjaygpKSB7CisjZW5kaWYKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRp
bmdzLT52aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIC8vIEFs
bG93IGF1dG9wbGF5IGluIGEgTWVkaWFEb2N1bWVudCB0aGF0IGlzIG5vdCBpbiBhbiBpZnJhbWUu
Ci0gICAgICAgIGlmIChkb2N1bWVudC5vd25lckVsZW1lbnQoKSB8fCAhZG9jdW1lbnQuaXNNZWRp
YURvY3VtZW50KCkpCi0gICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0
cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hh
bmdlKTsKKyAgICAgICAgaWYgKGRvY3VtZW50Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5p
c01lZGlhRG9jdW1lbnQoKSkgeworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
VmlkZW9SYXRlQ2hhbmdlKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlv
clJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxv
YWQpOworICAgICAgICB9CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAg
ICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9TaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOwog
I2VuZGlmCi0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yRnVsbHNjcmVlbiB3aGVuIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlz
IG5vdCBzZXQ6CisgICAgfQorI2lmIFBMQVRGT1JNKElPUykKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiB3aGVuIHZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlIGlzIG5vdCBzZXQ6CiAgICAgICAgIG1fbWVkaWFTZXNzaW9u
LT5yZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVV
c2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIH0KKyNlbmRpZgogICAgIGlmIChzZXR0aW5n
cyAmJiBzZXR0aW5ncy0+aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQoKSkKICAgICAgICAg
bV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lv
bjo6SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQpOwotI2VuZGlmIC8vICFQTEFURk9STShJ
T1MpCiAKLSAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlKCkgJiYgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrKCkpCisgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5hdWRpb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZSgpKQogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JS
ZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UpOwogCiAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPm1lZGlhRGF0
YUxvYWRzQXV0b21hdGljYWxseSgpKQpAQCAtNjE2OCw3ICs2MTY3LDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1
cmUoKQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRv
QXV0b3BsYXlUb0V4dGVybmFsRGV2aWNlCiAjZW5kaWYKICAgICAgICAgfCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkCi0gICAgICAgIHwgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZQorICAgICAgICB8IE1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZQogICAg
ICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0
ZUNoYW5nZQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVy
ZUZvckZ1bGxzY3JlZW4KICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCmluZGV4IDFhNGRlNjQwYTQ0NzA5OTc4NGFhZTI1YWNhNzQ3NjFkZDI4NTc1Y2Iu
LmIxZDVjZTlkZGY1MWFkMTk3M2RjYTI4NDRmMGJjNWI0ZDE4NmFiNjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0
aWMgU3RyaW5nIHJlc3RyaWN0aW9uTmFtZShNZWRpYUVsZW1lbnRTZXNzaW9uOjpCZWhhdmlvclJl
c3RyaWN0aW9ucyByZXN0cmljdAogCiAgICAgQ0FTRShOb1Jlc3RyaWN0aW9ucyk7CiAgICAgQ0FT
RShSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkKTsKLSAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVy
ZUZvclJhdGVDaGFuZ2UpOworICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRl
Q2hhbmdlKTsKICAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSk7
CiAgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuKTsKICAgICBDQVNFKFJl
cXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCBib29sIE1l
ZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1l
bnQmIGVsZW1lbnQpIGNvbgogICAgIGlmIChwYWdlRXhwbGljaXRseUFsbG93c0VsZW1lbnRUb0F1
dG9wbGF5SW5saW5lKGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmICht
X3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgJiYgIVNjcmlw
dENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKKyAgICBpZiAo
bV9yZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UgJiYg
IVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKICAg
ICAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQg
LSByZXR1cm5pbmcgRkFMU0UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggMzUxY2IwZWJkZTUwMDIy
YTVlY2JiYWNlNGM2YWQ1ZGJhMzQzOWE2NS4uMThlZTJhYzI1YjZlOTQ5YWJmMzMwZDEzMjdlNDYz
NTk4NDFhYjE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgK
QEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIGVudW0gQmVoYXZpb3JSZXN0cmljdGlvbkZs
YWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBSZXF1aXJlVXNlckdl
c3R1cmVGb3JMb2FkID0gMSA8PCAwLAotICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRl
Q2hhbmdlID0gMSA8PCAxLAorICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVD
aGFuZ2UgPSAxIDw8IDEsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4g
PSAxIDw8IDIsCiAgICAgICAgIFJlcXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhID0gMSA8PCAz
LAogICAgICAgICBSZXF1aXJlUGFnZUNvbnNlbnRUb1Jlc3VtZU1lZGlhID0gMSA8PCA0LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA2NzYyNzg2OTVhZmJiNjhmM2QzYjM2MDU1MGU1NjRl
Mzk5YTNhM2Y4Li5hZDRhNzA0MWEwYjBiZjY2ZWQ4NzcwZmUzOGY3NDNlNDg5MWE2NGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRGaXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9jdW1lbnQgPSB0cnVl
Owogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gdHJ1ZTsKLXN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayA9IHRydWU7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRN
ZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRl
ZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9IHRydWU7CkBAIC0xNDgsNyArMTQ4
LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0
aXZlVG9Eb2N1bWVudCA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCA9IGZhbHNlOwogc3RhdGljIGNv
bnN0IGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogc3RhdGlj
IGNvbnN0IGJvb2wgZGVmYXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlID0gZmFsc2U7Ci1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2Vy
R2VzdHVyZUZvck1lZGlhUGxheWJhY2sgPSBmYWxzZTsKK3N0YXRpYyBjb25zdCBib29sIGRlZmF1
bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IGZhbHNlOwogc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBz
dGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gdHJ1
ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlv
biA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggYjU0ZjhkMzFkN2Q5NmQ4ZDQ3
Mzk2MjZiZjhmY2M4MzYxZDU2Mjg1OC4uMzE3NmZhZTFhZWQ2ZDRiZmUwZDUyNzUyMjhlOWQxODMy
NzJkMzQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0xMjUsNyArMTI1LDcgQEAgc2hv
dWxkSW5qZWN0VXNlclNjcmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50IGluaXRpYWw9ZmFsc2UK
IGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUgaW5pdGlhbD1mYWxzZQogYWxsb3dE
aXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQogYWxsb3dSdW5uaW5nT2ZJbnNl
Y3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQotcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2sgaW5pdGlhbD1kZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sK
K3ZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVsdFZpZGVvUGxh
eWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZSBpbml0aWFsPWRlZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQogYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrCiBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSBpbml0
aWFsPWRlZmF1bHRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGE5YjUyNGQ4NDI2NTJhYTdk
OGU1ZjMzNjE3NmIxZWM1MTM5NjRhMmQuLjg0OGY3YTczZDMyOTIxY2EzYzBjNDdmMjE5MDcwOWUx
MmFkZWRhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMwNDUsOCAr
MzA0NSw4IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMoSFRN
TE1lZGlhRWxlbWVudCogZWxlbWVudCwgY29uc3QgU3RyCiAgICAgICAgICAgICByZXN0cmljdGlv
bnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6Tm9SZXN0cmljdGlvbnM7CiAgICAgICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1
c2VyZ2VzdHVyZWZvcmxvYWQiKSkKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkOwotICAgICAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNl
cmdlc3R1cmVmb3JyYXRlY2hhbmdlIikpCi0gICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVk
aWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZTsKKyAgICAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAi
cmVxdWlyZXVzZXJnZXN0dXJlZm9ydmlkZW9yYXRlY2hhbmdlIikpCisgICAgICAgICAgICByZXN0
cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlk
ZW9SYXRlQ2hhbmdlOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1cmVmb3JmdWxsc2NyZWVuIikpCiAg
ICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVz
ZXJHZXN0dXJlRm9yRnVsbHNjcmVlbjsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXBhZ2Vjb25zZW50dG9sb2FkbWVk
aWEiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCmluZGV4IDFiNGRmNmQ4ZTM2N2ViYTljZWJmNzkyOGZjNzIwY2JhMGE0YThm
NGQuLjUxNzEyMzI0OTJhZTY2MDNjMzhhNTQ4MjcxYmEyOGQ1NzUxMzFmNDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApA
QCAtMTIxLDcgKzEyMSw3IEBACiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlvbkVuYWJsZWRLZXkg
QCJXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJLaXRBVkZvdW5kYXRpb25O
U1VSTFNlc3Npb25FbmFibGVkS2V5IEAiV2ViS2l0QVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZEtleSBA
IldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCi0jZGVmaW5lIFdlYktpdFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIgorI2RlZmluZSBXZWJLaXRSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRWaWRlb1BsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXVkaW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKICNkZWZpbmUg
V2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkg
QCJJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDk5Yjc4NWFjZGYy
MDBmZGI0NThhYjRhNDY3ZGJjNTBlODY2YzEyNjIuLjgzOWVjMjVhMDUwNzQ4OWEyZmVlZTAzMmMz
NGNkZmVkY2NjYjYyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtNTIxLDcgKzUyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVk
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFN1cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSwKICNpZiAhUExBVEZPUk0oSU9TKQotICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1
cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFj
a1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAg
V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6Tk9dLCAgV2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGVLZXksCkBAIC01MzUsNyArNTM1LDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0
aW9uS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdE1l
ZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseVByZWZlcmVuY2VLZXksCiAjZWxzZQotICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1By
ZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2Vi
S2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja10s
ICAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpyZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlXSwg
V2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXks
CkBAIC0yMjExLDE0ICsyMjExLDI1IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJ
RCA9IG5pbDsKIH0KICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKKy8vIERlcHJlY2F0ZWQuIEhh
cyBubyBlZmZlY3QuIAogLSAoQk9PTCltZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQog
ewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCisvLyBEZXByZWNhdGVkLiBIYXMgbm8gZWZmZWN0LgogLSAodm9pZClzZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXldOworfQorCistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9p
ZClzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCit7CisgICAg
W3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09MKWF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAwYjc0N2QyNjZjY2E4N2RiNGNiOWE0OWI1ZDU3
NmI2MzE3ZWM4NTlmLi43MDQxNDc3MzZjZjFkMTM5MTkwNGI3Y2IzMDYwN2YwNWRjMGEyNzUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKQEAgLTI0OCw5ICsyNDgsMTMgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0Nh
Y2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09MKWh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDsKIC0gKHZvaWQpc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOihCT09M
KWVuYWJsZWQ7CiAKKy8vIERlcHJlY2F0ZWQuIEhhcyBubyBlZmZlY3QuCiAtICh2b2lkKXNldE1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKW1lZGlh
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOwogCistICh2b2lkKXNldFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlOworCiAtICh2b2lkKXNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKWF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNmJlOTI1NTU3YTM2
MGE5N2I2YzA1YTM0NWFlNjJmODIzYTYzNGFlZC4uZTdkOTMzODE0ZTU0YTZjZGU4NDhmNGUxODMw
NWNmOWM0Nzg0MzM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjMz
Miw3ICsyMzMyLDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVp
cmsoKQogICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtz
ZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0
VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb24oW3NlbGYgdmFsaWRhdGlvbk1lc3Nh
Z2VUaW1lck1hZ25pZmljYXRpb25dKTsKIAotICAgIHNldHRpbmdzLnNldFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZV0pOworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKFtwcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwog
ICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVmZXJl
bmNlcyBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNl
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tBbGxv
d3NJbmxpbmVdKTsKICAgICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZShbcHJlZmVyZW5jZXMgaW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IDdiZTk2ZDI0NjMxNzAwYzVkMDBmYjM1
NDk0NWVjYjI4ZGY1NWVjYTAuLjU3ZTRlZmQxZDA1MTdlMjE0NzY4OGJlMmFlZDFhOGU0Yzg1NTgy
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaApAQCAtNzAsNyArNzAsNiBAQAogI2RlZmluZSBERUZBVUxUX0lOVklTSUJMRV9BVVRP
UExBWV9OT1RfUEVSTUlUVEVEIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURT
X0FVVE9NQVRJQ0FMTFkgZmFsc2UKICNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RV
UkVfRk9SX01FRElBX1BMQVlCQUNLIHRydWUKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VS
X0dFU1RVUkVfRk9SX0FVRElPX1BMQVlCQUNLIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9D
T05UUk9MU19TQ0FMRV9XSVRIX1BBR0VfWk9PTSBmYWxzZQogI2RlZmluZSBERUZBVUxUX1RFTVBP
UkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJT05fRU5BQkxFRCBmYWxzZQogI2Vsc2UKQEAgLTg3LDcg
Kzg2LDYgQEAKICNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRF
RCBmYWxzZQogI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSB0
cnVlCiAjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZ
QkFDSyBmYWxzZQotI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVE
SU9fUExBWUJBQ0sgZmFsc2UKICNkZWZpbmUgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FMRV9X
SVRIX1BBR0VfWk9PTSB0cnVlCiAjZGVmaW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JU
X1JFVEVOVElPTl9FTkFCTEVEIHRydWUKICNlbmRpZgpAQCAtMTUxLDcgKzE0OSw4IEBACiAgICAg
bWFjcm8oQVZGb3VuZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCiAgICAgbWFjcm8oQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwg
aXNBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAog
ICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19V
U0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNVc2Vy
R2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXli
YWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9f
UExBWUJBQ0spIFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFj
aywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCisgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVp
cmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAg
IG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJQV9QTEFZQkFDSykgXAog
ICAgIG1hY3JvKElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
LCBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgQm9vbCwg
Ym9vbCwgREVGQVVMVF9JTkxJTkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5F
X0FUVFJJQlVURSkgXAogICAgIG1hY3JvKEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBp
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTlZJU0lC
TEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDllYmM4OGY2OTc5YjQ1ZWRkZmM4ZTRm
ODY0NDBiNDE1ZWZjMDczODcuLjQyZmU4MzRjMDM0NzM0MWUzMDFhMThjMzE2YzY0MzI0YmVmNzY5
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAKQEAgLTc1OCw2ICs3NTgsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmMKICAgICBy
ZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlh
UGxheWJhY2soKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0VmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JWaWRlb1BsYXliYWNrKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRlb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0
dXJlRm9yVmlkZW9QbGF5YmFjaygpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBdWRpb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2soZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNh
ODA4ODMyNWE4ODRhM2MxZjVjNGUzM2Y3YjljNzc3MGI4OThkOTMuLjUzMDliYTdjMjJlZTFlNzg0
ZmRjNTU2NjIxODI2ZjIwYjY0N2JjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC0xNzgsNiArMTc4
LDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNmY4NTM3YWE3ODc2NTgzMWQ4NWFkODRi
MjAwNzU3ODMzNTRhY2U5Yy4uZTNjYWMyOWRkNDc4N2U1NGU4ZjZkN2RiODFkMTA1ZTc0ZDkzMmJi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTM5MiwxNiArMzkyLDE4IEBAIHN0YXRpYyBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBl
cyBmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyh1aW50NjRfdCB0eXBlcykKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
OjppbWFnZUNvbnRyb2xzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xzRW5hYmxlZF0pKTsKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oSU9TKQotICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHldKTsKLQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFs
dWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmln
dXJhdGlvbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSkpOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6Omlu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5KCksIFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2lubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlXSkpOwotICAgIHBhZ2VDb25m
aWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNL
ZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gYWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlh
UGxheWJhY2soKSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCku
c2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2Nv
bmZpZ3VyYXRpb24gcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFja10pKTsKKyAgICBw
YWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZl
cmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpLCBXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9yZXF1aXJl
c1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5w
cmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVz
VXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5z
ZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0
ZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJh
dGlvbiBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWRdKSk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6
bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5S2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eV0pKTsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0QWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KFtfY29uZmlndXJhdGlvbiBfYWx3YXlzUnVuc0F0
Rm9yZWdyb3VuZFByaW9yaXR5XSk7CisKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZh
bHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
XSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkpKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpkYXRhRGV0ZWN0
b3JUeXBlc0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKHN0YXRpY19j
YXN0PHVpbnQzMl90Pihmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyhbX2NvbmZpZ3VyYXRpb24gZGF0
YURldGVjdG9yVHlwZXNdKSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCAxMzAyM2Jh
NjZlZDY4NDlkZTFkMjcwZjc5OTYwZDU0YTAwNmQ3NWExLi5mNGZhYWY0MGVkM2Q5MDZkZGY3Mzhk
OWIyYjdiNjA3NjBlZGRhYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC05OCwxNCAr
OTgsMTcgQEAgcHJpdmF0ZToKICAgICBCT09MIF9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHk7
CiAgICAgQk9PTCBfYWxsb3dzTWV0YVJlZnJlc2g7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAg
TGF6eUluaXRpYWxpemVkPFJldGFpblB0cjxXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eT4+IF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeTsKLSAgICBCT09MIF9hbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHk7CiAgICAgQk9PTCBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKICAg
ICBCT09MIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsK
ICAgICBCT09MIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDsKICAgICBCT09MIF9tZWRp
YURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazsKKyAgICBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXli
YWNrOwogICAgIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CisKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgTGF6eUluaXRpYWxpemVkPFJldGFpblB0cjxXS1dlYlZpZXdD
b250ZW50UHJvdmlkZXJSZWdpc3RyeT4+IF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeTsKKyAgICBC
T09MIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7CiAjZW5kaWYKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKQEAgLTEyNSwxMiArMTI4LDIw
IEBAIHByaXZhdGU6CiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIF9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gWUVTOwotICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JB
dWRpb1BsYXliYWNrID0gWUVTOwotICAgIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFjayA9IFlFUzsKICAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFdlYkNvcmU6OmRl
dmljZUNsYXNzKCkgPT0gTUdEZXZpY2VDbGFzc2lQYWQ7Ci0gICAgX2lubGluZU1lZGlhUGxheWJh
Y2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gIV9hbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrOwotICAgIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IFlFUzsKICAgICBfbWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87CisjZWxzZQorICAgIF9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gTk87CisgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJh
Y2sgPSBZRVM7CisgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyNlbmRp
ZgorICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gTk87CisgICAgX3Jl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBOTzsKKyAgICBfaW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSAhX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2s7CisgICAgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gTk87CisKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
ID0gWUVTOwogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBZRVM7CiAgICAgX3ByaW50
c0JhY2tncm91bmRzID0gWUVTOwogI2VuZGlmCkBAIC0xNzQsOSArMTg1LDEwIEBAIHByaXZhdGU6
CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFj
ayBmb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogICAgIFtjb2RlciBl
bmNvZGVJbnRlZ2VyOnNlbGYuZGF0YURldGVjdG9yVHlwZXMgZm9yS2V5OkAiZGF0YURldGVjdG9y
VHlwZXMiXTsKIAotI2lmIFBMQVRGT1JNKElPUykKICAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxm
LmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFjayJdOwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYucmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjayBmb3JLZXk6QCJyZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNr
Il07CisKKyNpZiBQTEFURk9STShJT1MpCiAgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2VsZi5z
ZWxlY3Rpb25HcmFudWxhcml0eSBmb3JLZXk6QCJzZWxlY3Rpb25HcmFudWxhcml0eSJdOwogICAg
IFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2sgZm9yS2V5OkAiYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2siXTsKICNlbmRp
ZgpAQCAtMTk3LDkgKzIwOSwxMCBAQCBwcml2YXRlOgogICAgIHNlbGYuYWxsb3dzQWlyUGxheUZv
ck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c0FpclBsYXlG
b3JNZWRpYVBsYXliYWNrIl07CiAgICAgc2VsZi5kYXRhRGV0ZWN0b3JUeXBlcyA9IFtjb2RlciBk
ZWNvZGVJbnRlZ2VyRm9yS2V5OkAiZGF0YURldGVjdG9yVHlwZXMiXTsKIAotI2lmIFBMQVRGT1JN
KElPUykKICAgICBzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2Rl
Qm9vbEZvcktleTpAImFsbG93c0lubGluZU1lZGlhUGxheWJhY2siXTsKICAgICBzZWxmLnJlcXVp
cmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpA
InJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2siXTsKKworI2lmIFBMQVRGT1JNKElP
UykKICAgICBzZWxmLnNlbGVjdGlvbkdyYW51bGFyaXR5ID0gc3RhdGljX2Nhc3Q8V0tTZWxlY3Rp
b25HcmFudWxhcml0eT4oW2NvZGVyIGRlY29kZUludGVnZXJGb3JLZXk6QCJzZWxlY3Rpb25HcmFu
dWxhcml0eSJdKTsKICAgICBzZWxmLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
ID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjayJdOwogI2VuZGlmCkBAIC0yMzMsMTUgKzI0NiwxNyBAQCBwcml2YXRlOgogICAgIGNv
bmZpZ3VyYXRpb24tPl9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHkgPSBzZWxmLT5fY29udmVy
dHNQb3NpdGlvblN0eWxlT25Db3B5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NNZXRhUmVm
cmVzaCA9IHNlbGYtPl9hbGxvd3NNZXRhUmVmcmVzaDsKIAotI2lmIFBMQVRGT1JNKElPUykKICAg
ICBjb25maWd1cmF0aW9uLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9pbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKICAgICBjb25maWd1cmF0aW9uLT5f
aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBzZWxmLT5faW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseSA9IHNlbGYtPl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7Ci0gICAgY29uZmlndXJh
dGlvbi0+X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwotICAgIGNvbmZpZ3VyYXRpb24tPl9hbHdh
eXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9y
aXR5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXli
YWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s7CisgICAgY29u
ZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBzZWxmLT5f
cmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5f
cmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrOworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIGNvbmZpZ3Vy
YXRpb24tPl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKKyAgICBjb25maWd1cmF0aW9uLT5fYWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlv
cml0eTsKICAgICBjb25maWd1cmF0aW9uLT5fc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBzZWxmLT5f
c2VsZWN0aW9uR3JhbnVsYXJpdHk7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCkBAIC01MDYs
NiArNTIxLDI3IEBAIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZvclVz
ZXJBZ2VudCgpCiB7CiAgICAgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IGFsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKIH0KKyNlbHNlCistIChCT09MKXJlcXVpcmVzVXNl
ckFjdGlvbkZvck1lZGlhUGxheWJhY2sKK3sKKyAgICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlv
bkZvck1lZGlhUGxheWJhY2s7Cit9CisKKy0gKHZvaWQpc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazooQk9PTClyZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrCit7
CisgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSByZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrOworfQorCistIChCT09MKWFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2sKK3sKKyAgICByZXR1cm4gX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Cit9CisKKy0g
KHZvaWQpc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazooQk9PTClhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrCit7CisgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBhbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrOworfQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogLSAoQk9PTClf
aW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUKIHsKQEAgLTUz
Nyw2ICs1NzMsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50KCkKICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gbWVkaWFEYXRh
TG9hZHNBdXRvbWF0aWNhbGx5OwogfQogCistIChCT09MKV9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JW
aWRlb1BsYXliYWNrCit7CisgICAgcmV0dXJuIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1Bs
YXliYWNrOworfQorCistICh2b2lkKV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXli
YWNrOihCT09MKXJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sKKyAgICBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvclZp
ZGVvUGxheWJhY2s7Cit9CisKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxh
eWJhY2sKIHsKICAgICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7
CkBAIC01NDcsOCArNTkzLDYgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25O
YW1lRm9yVXNlckFnZW50KCkKICAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFj
ayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CiB9CiAKLSNlbmRpZiAvLyBQ
TEFURk9STShJT1MpCi0KICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93c1VSTHNJblRv
b2xUaXBzCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggZjk2MDVm
OTI2ZTE1YmE2MDRkMWNmYmNkODkwOTBhZDhhZjdhMjAwOC4uNjk0NjE1MTAwNjMxNzQ4Y2Q5NGVi
ZTljYmFkYTc3YzZhMmQ3NDcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aApAQCAtNDksMTggKzQ5LDIwIEBACiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRB
bGxvd3NKYXZhU2NyaXB0TWFya3VwOikgQk9PTCBfYWxsb3dzSmF2YVNjcmlwdE1hcmt1cCBXS19B
VkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRDb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHk6KSBCT09MIF9jb252ZXJ0c1Bv
c2l0aW9uU3R5bGVPbkNvcHkgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzTWV0YVJlZnJlc2g6KSBCT09M
IF9hbGxvd3NNZXRhUmVmcmVzaCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JB
dWRpb1BsYXliYWNrOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayBX
S19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOikgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayBXS19BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbmxpbmVN
ZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTopIEJPT0wgX2lubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIFdLX0FWQUlMQUJMRShXS19N
QUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElu
dmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQ
ZXJtaXR0ZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5
IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OikgQk9P
TCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBX
S19JT1NfVEJBKTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBXS19BVkFJTEFCTEUoTkEsIDlfMCk7Ci0KLUBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxh
eWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlM
QUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJ
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTopIEJPT0wgX2lu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIFdLX0FWQUlMQUJM
RShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbnZp
c2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDopIEJPT0wgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVy
bWl0dGVkIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRpYURh
dGFMb2Fkc0F1dG9tYXRpY2FsbHkgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKICNlbHNl
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikg
Qk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZDop
IEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5B
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVk
OikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5B
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2s7
CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBs
YXliYWNrOwogI2VuZGlmCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIHNldHRlcj1f
c2V0VmlzaXRlZExpbmtQcm92aWRlcjopIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXIgKl92aXNpdGVk
TGlua1Byb3ZpZGVyIFdLX0RFUFJFQ0FURUQoMTBfMTAsIFdLX01BQ19UQkEsIDhfMCwgV0tfSU9T
X1RCQSwgIlBsZWFzZSB1c2UgX3Zpc2l0ZWRMaW5rU3RvcmUgaW5zdGVhZCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDQxMDY0MzQ1NWEz
NzEyNDc3YmY3OTRmYTU0ZTdmNDZkOWJmZGM2ZDQuLjRjOWI5Y2I5OWZmMzcwNDVlZGFhMDMyMjg1
NzU5MDkyNDVlNGM3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTI4NzQsOCArMjg3NCw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Mu
c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRGb3JjZVNvZnR3YXJlV2Vi
R0xSZW5kZXJpbmcoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpm
b3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6YWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRLZXkoKSkpOwotICAgIHNldHRpbmdz
LnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2tLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSkpOworICAgIGJvb2wgcmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhID0gc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKTsKKyAgICBz
ZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShyZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpKSk7CisgICAgc2V0
dGluZ3Muc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2Vz
dHVyZUZvck1lZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRp
bmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrS2V5KCkpKTsKICAg
ICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJp
YnV0ZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmlubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5KCkpKTsKICAgICBzZXR0
aW5ncy5zZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkS2V5
KCkpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAxMGMxNmMwNzNmZmY1ZTY2OTJhMWRhNjJiZmZhOTA5MDU2NTk2MTIzLi43NjcwNmM5ZTllYTYw
ZTgwNmRiNDAwMGVhMzg4MTFmZDBjNGU5ZDljIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTYtMDMtMDggIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFu
ZCBXSzIgcHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBt
ZWRpYSwgZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbDoKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRp
by5odG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1JlcXVpcmVz
VXNlckFjdGlvbkZvclBsYXliYWNrLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpudWxsSmF2YVNjcmlwdENhbGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmlzTVNF
RW5hYmxlZENhbGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRG
b3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjppc1BsYXlpbmdBdWRpb0RpZENoYW5n
ZUNhbGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldFVwQ2xpZW50cyk6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKworMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVm
ZXJlbmNlcyBmb3IgcmVxdWlyaW5nIHVzZXIgZ2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0
aW5jdCBmcm9tIHVzZXIgZ2VzdHVyZXMgZm9yIG1lZGlhIGdlbmVyYWxseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHRoZSBkZWZhdWx0IHZhbHVl
cyBmb3IgbWVkaWEgcHJlZmVyZW5jZXMgdW5jb25kaXRpb25hbGx5LCBub3QganVzdCBvbiBQTEFU
Rk9STShJT1MpLiBTZXQgInZpZGVvIHJlcXVpcmVzIHVzZXIgZ2VzdHVyZSIKKyAgICAgICAgdG8g
c2FuZSBkZWZhdWx0cyBpbiBhZGRpdGlvbiB0byAiYXVkaW8gcmVxdWlyZXMgdXNlciBnZXN0dXJl
IiBhbmQgKGluIHRoZSBjYXNlIG9mIER1bXBSRW5kZXJUcmVlKSBpbnN0ZWFkIG9mICJtZWRpYSBy
ZXF1aXJlcyB1c2VyIGdlc3R1cmUiLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29k
aW5nLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMTYtMDItMTkgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlk
ZW8tY3Jvc3Mtb3JpZ2luKiB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCmluZGV4IDNkNzgxMWJhMDNhODYyOTVlNGUwNmYzYzNmZmRlY2ZiZjNiNzMzMTIu
LjUzNmI5YjFkY2IxMWRkMzg0MDNiZDkyOTcyOWZhYTRkZDUxYTYyZTYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTkzOSwxMiArOTM5LDEzIEBAIHN0
YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAg
ICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOllFU107CiAgICAgfSBlbHNl
CiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6Tk9dOwotI2lm
IFBMQVRGT1JNKElPUykKICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFQbGF5YmFja0FsbG93c0lu
bGluZTpZRVNdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZTpOT107CisgICAgW3ByZWZlcmVuY2VzIHNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlOk5PXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmU6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHk6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0SW52aXNpYmxlQXV0b3BsYXlOb3RQ
ZXJtaXR0ZWQ6Tk9dOwogCisjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEVuYWJsZSB0aGUgdHJh
Y2tlciBiZWZvcmUgY3JlYXRpbmcgdGhlIGZpcnN0IFdlYlZpZXcgd2lsbAogICAgIC8vIGNhdXNl
IGluaXRpYWxpemF0aW9uIHRvIHVzZSB0aGUgY29ycmVjdCBkYXRhYmFzZSBwYXRocy4KICAgICBb
cHJlZmVyZW5jZXMgc2V0U3RvcmFnZVRyYWNrZXJFbmFibGVkOllFU107CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGYzNjg5OTY3OGM3NGI1MDc5M2FjMDIxMTI2YjgxNTUzNjgzYTNmMWMuLjFk
MjFmOTNjNjczY2M2NmU5ZjQwOGU3NjNjZTZhZjE4MjhmNGNhNzAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0zMjgsNiArMzI4LDcgQEAKIAkJQzU0MjM3RjExNkI4OTU3RDAwRTYzOEZDIC8q
IFBhc3RlYm9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFz
dGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzVFMUFGRkUxNkIyMjFG
MTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVFMUFGRkQxNkIyMjE3OTAwNkNDMUYyIC8qIGV4ZWND
b3B5Lmh0bWwgKi87IH07CiAJCUNEMjI1QzA4MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJzZWRDb250
ZW50UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0QyMjVDMDcxQzQ1QTY5MjAwMTQwNzYxIC8qIFBhcnNlZENvbnRlbnRSYW5nZS5jcHAgKi87
IH07CisJCUNENDdFNzk3MUM4RjZGRjYwMDRCQ0ZEQyAvKiBSZXF1aXJlVXNlckdlc3R1cmVGb3JQ
bGF5YmFjay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENDdFNzk2MUM4RjZGRjYwMDRCQ0ZEQyAvKiBSZXF1aXJlVXNlckdlc3R1cmVGb3JQbGF5YmFj
ay5tbSAqLzsgfTsKIAkJQ0Q1OUY1MzQxOUU5MTEwRDAwQ0YxODM1IC8qIGZpbGUtd2l0aC1tc2Uu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDU5RjUzMjE5RTkxMEFBMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sICovOyB9Owog
CQlDRDU5RjUzNTE5RTkxMTBEMDBDRjE4MzUgLyogdGVzdC1tc2UubXA0IGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMzMTlFOTEwQkMw
MENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgKi87IH07CiAJCUNEODlEMDNBMUM0RURCMkEwMDA0MEEw
NCAvKiBXZWJDb3JlTlNVUkxTZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q4OUQwMzgxQzRFREIyQTAwMDQwQTA0IC8qIFdlYkNvcmVOU1VS
TFNlc3Npb24ubW0gKi87IH07CkBAIC04MjAsNiArODIxLDcgQEAKIAkJQzVFMUFGRkQxNkIyMjE3
OTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBl
eGVjQ29weS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU1MDFCRTE5QUQy
RkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBQcmVmZXJlbmNlcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0QyMjVDMDcxQzQ1QTY5MjAwMTQwNzYxIC8qIFBhcnNlZENvbnRlbnRSYW5nZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZWRDb250ZW50UmFuZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDQ3RTc5NjFDOEY2RkY2MDA0QkNGREMg
LyogUmVxdWlyZVVzZXJHZXN0dXJlRm9yUGxheWJhY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBSZXF1aXJlVXNlckdlc3R1cmVGb3JQbGF5YmFjay5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3MTIzIC8qIE1E
NS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNRDUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hB
MS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTSEExLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5MzZGIC8qIENT
U1BhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NQYXJz
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwMiw2ICsxMDA0LDcgQEAK
IAkJCQkxQTRGODFEMDFCREZGRENGMDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAq
LywKIAkJCQkxQTRGODFDODFCREZGRDE4MDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnku
bW0gKi8sCiAJCQkJMUE0RjgxQ0QxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lz
dHJ5UGx1Z0luLm1tICovLAorCQkJCUNENDdFNzk2MUM4RjZGRjYwMDRCQ0ZEQyAvKiBSZXF1aXJl
VXNlckdlc3R1cmVGb3JQbGF5YmFjay5tbSAqLywKIAkJCQkzN0JDQTYxQjFCNTk2QkE5MDAyMDEy
Q0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9ucy5tbSAqLywKIAkJ
CQkyRDlBNTNBRTFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9GaXQubW0gKi8sCiAJCQkJN0ND
M0UxRkExOTdFMjM0MTAwQkU2MjUyIC8qIFVzZXJDb250ZW50Q29udHJvbGxlci5tbSAqLywKQEAg
LTE4OTcsNiArMTkwMCw3IEBACiAJCQlmaWxlcyA9ICgKIAkJCQkyRDlBNTNBRjFCMzFGQThEMDA3
NEQ1QUEgLyogU2hyaW5rVG9GaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUI0NTRFQzFCNEUy
MzZCMDA4NUVBQTYgLyogV2ViVmlld0Nsb3NlSW5zaWRlRGlkRmluaXNoTG9hZEZvckZyYW1lLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q0N0U3OTcxQzhGNkZGNjAwNEJDRkRDIC8qIFJlcXVpcmVV
c2VyR2VzdHVyZUZvclBsYXliYWNrLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBMDIxQkIxQUIw
OUVBNzAwNTI5NTNGIC8qIERhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMUZFMEIw
MUFENDY1QzEwMDZDRDlFNiAvKiBGaXhlZExheW91dFNpemUubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQ0I5QkMzODFBNjc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13
aXRoLWF1ZGlvLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3Mvdmlk
ZW8td2l0aC1hdWRpby5odG1sCmluZGV4IGQwZDY2YmI2YzBkMzE5NGY1ZTkzNzg5ZjVkNjQ4ZTg5
ODc1OWI1M2UuLjAzMDFmMTAzMWMyY2U0N2RlY2Q3Yzg3OWIzNGJmYzAyZGFhYTgzODcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRoLWF1
ZGlvLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVv
LXdpdGgtYXVkaW8uaHRtbApAQCAtMiwxMyArMiwyOSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8
c2NyaXB0PgorICAgIHZhciB0aW1lb3V0OworCiAgICAgZnVuY3Rpb24gZ28oKSB7CiAgICAgICAg
IHZhciB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOwot
ICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnY2FsbGJhY2s6cGxheWluZyc7Ci0gICAgICAg
IH0pOworICAgICAgICB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQobm90UGxheWluZywgMTAw
MCk7CisgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nKTsK
ICAgICAgICAgdmlkZW8ucGxheSgpOwogICAgIH0KKworICAgIGZ1bmN0aW9uIHBsYXlpbmcoKSB7
CisgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dCk7CisgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5wbGF5aW5nSGFuZGxlci5w
b3N0TWVzc2FnZSgncGxheWluZycpOworICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAg
IHdpbmRvdy5sb2NhdGlvbiA9ICdjYWxsYmFjazpwbGF5aW5nJzsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGZ1bmN0aW9uIG5vdFBsYXlpbmcoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5wbGF5aW5nSGFuZGxlci5wb3N0TWVzc2Fn
ZSgnbm90IHBsYXlpbmcnKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9CiAgICA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0iZ28oKSI+CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRpby5odG1sIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGhvdXQtYXVkaW8u
aHRtbAppbmRleCAzODRjOTYzM2FhMmU3MmI2ZTdiNDE5OTQ1NWQ4ODQ3OGE3NjM5ZjhjLi44YzI3
ZTliMWE4OTRiMTBmZGIwNWFhN2ZiYWNmMmM3NDNlY2FkNTVhIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRpby5odG1sCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRob3V0LWF1
ZGlvLmh0bWwKQEAgLTQsMTEgKzQsMjUgQEAKICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdv
KCkgewogICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
dmlkZW8nKVswXTsKLSAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gJ2NhbGxiYWNrOnBsYXlp
bmcnOwotICAgICAgICB9KTsKKyAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KG5v
dFBsYXlpbmcsIDEwMDApOworICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5n
JywgcGxheWluZyk7CiAgICAgICAgIHZpZGVvLnBsYXkoKTsKICAgICB9CisKKyAgICBmdW5jdGlv
biBwbGF5aW5nKCkgeworICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpOworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxh
eWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ3BsYXlpbmcnKTsKKyAgICAgICAgfSBjYXRjaChlKSB7
CisgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnY2FsbGJhY2s6cGxheWluZyc7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBub3RQbGF5aW5nKCkgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRs
ZXIucG9zdE1lc3NhZ2UoJ25vdCBwbGF5aW5nJyk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9Cisg
ICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJnbygpIj4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbQppbmRleCBi
MmU2ZmQzNmFjN2U0NzdiM2YwZjc4ODMwNTVmOTI1ODExNDc5NzQ0Li4yMDQwODE4ZTY1YmIzODll
NGI3MTkyYzU3YTE0ZmZiZmI3Zjk3NDEwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9Db2RpbmcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgV0tfQVBJ
X0VOQUJMRUQKIAogI2ltcG9ydCA8V2ViS2l0L1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmg+CisjaW1w
b3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTk5LDkgKzEwMCwxMSBA
QCBURVNUKENvZGluZywgV0tXZWJWaWV3Q29uZmlndXJhdGlvbikKICAgICBbYSBzZXRBbGxvd3NB
aXJQbGF5Rm9yTWVkaWFQbGF5YmFjazpOT107CiAgICAgW2Egc2V0RGF0YURldGVjdG9yVHlwZXM6
V0tEYXRhRGV0ZWN0b3JUeXBlQWxsXTsKIAotI2lmIFBMQVRGT1JNKElPUykKICAgICBbYSBzZXRB
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOllFU107CiAgICAgW2Egc2V0UmVxdWlyZXNVc2VyQWN0
aW9uRm9yTWVkaWFQbGF5YmFjazpOT107CisgICAgW2EgX3NldFJlcXVpcmVzVXNlckFjdGlvbkZv
clZpZGVvUGxheWJhY2s6Tk9dOworICAgIFthIF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRp
b1BsYXliYWNrOk5PXTsKKyNpZiBQTEFURk9STShJT1MpCiAgICAgW2Egc2V0U2VsZWN0aW9uR3Jh
bnVsYXJpdHk6V0tTZWxlY3Rpb25HcmFudWxhcml0eUNoYXJhY3Rlcl07CiAgICAgW2Egc2V0QWxs
b3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6Tk9dOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDcw
NWEzNTVmMjU0Yzk0ZjgyZDIyZjRiMTgzZGQyNzZjMjhiNDdkMS4uOTlmMDIzYjVjMmQ0NmViYjBl
MDI5ODUwZDQ4ZTVlYTI2NDczNDYyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTAzLTA3
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0
ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3Ig
dmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJh
bGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUx
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgbGF5b3V0IHRlc3RzIHRvIHJlZmxlY3QgbmV3IHJlc3RyaWN0aW9uIG5hbWUuCisKKyAgICAg
ICAgKiBtZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBtZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5Lmh0bWw6Cisg
ICAgICAgICogbWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQu
aHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0
bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1s
OgorCiAyMDE2LTAzLTA4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIENSQVNIIGF0IFdlYkNvcmU6OlJlbmRlclZpZXc6OnVwZGF0ZVZpc2libGVWaWV3cG9ydFJl
Y3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0
aW9uLXBsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2st
cmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQKaW5kZXggYTM3MzE0ZDU4ZWI0MDg3YTUyMDVk
ODI5YTY3NmZmYWM0NDgwYjBhNC4uNjU4OWY4MWNhMjhjZTg2MmFlNDhmNWI4OGJmYWU5NzY0MDhj
MjQ2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJp
Y3Rpb24tcGxheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxh
eWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACi1UZXN0
IHRoYXQsIHdoZW4gYm90aCBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlIGFuZCBSZXF1
aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFj
ayBvZiBhbiBhdWRpbyBmaWxlIHJlcXVpcmVzIGEgdXNlciBnZXN0dXJlLgorVGVzdCB0aGF0LCB3
aGVuIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSBpcyBzZXQsIHN0YXJ0aW5n
IHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZpbGUgcmVxdWlyZXMgYSB1c2VyIGdlc3R1cmUuCiAKIAot
UlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJl
VXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlLFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNo
YW5nZSIpKQorUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8s
ICJSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKSkKIFJVTih2aWRlby5zcmMg
PSBmaW5kTWVkaWFGaWxlKCdhdWRpbycsICdjb250ZW50L3Rlc3QnKSkKIEVWRU5UKGNhbnBsYXl0
aHJvdWdoKQogUlVOKHZpZGVvLnBsYXkoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbAppbmRleCAzOWJiNTA4MzI0ZjUy
OTgxNDMzMjUxODRiODc4ZjgxMjhlZWYyYjM1Li45ZmZmM2QzNmRjZjZkMTg0Yzk4N2YxYjE4YmU3
ZDA1NmNjZGRmYTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFj
ay1yZXN0cmljdGlvbi1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxh
eWJhY2stcmVzdHJpY3Rpb24tcGxheS5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgICAgIHZp
ZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2F1ZGlvJylbMF07CiAKICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgICAgICBydW4oJ2ludGVybmFscy5zZXRN
ZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRl
Q2hhbmdlLFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSIpJyk7CisgICAgICAg
ICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJS
ZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKScpOwogCiAgICAgICAgIHdhaXRG
b3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CiAgICAgICAgIHdhaXRGb3JFdmVudCgnY2FucGxheXRo
cm91Z2gnLCBjYW5wbGF5dGhyb3VnaCk7CkBAIC0zNiw3ICszNiw3IEBACiA8L2hlYWQ+CiAKIDxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0IHRoYXQsIHdoZW4gYm90aCBSZXF1
aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlIGFuZCBSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBhbiBhdWRpbyBmaWxlIHJl
cXVpcmVzIGEgdXNlciBnZXN0dXJlLjwvcD4KKyAgICA8cD5UZXN0IHRoYXQsIHdoZW4gUmVxdWly
ZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3RhcnRpbmcgcGxheWJhY2sg
b2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS48L3A+CiAgICAgPGF1ZGlv
IGNvbnRyb2xzIGF1dG9wbGF5PjwvYXVkaW8+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJl
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1
cmUtcmVxdWlyZW1lbnQuaHRtbAppbmRleCA0ODYzNDM1YTZmNjgxYmRlNTI5OGM5ZWQ3MjA2NWQ2
Y2I5MDM5MWNkLi41Y2VkYmI4MThhYTNhNmEzNzY4OGFhNTlkZGM0ZThlMzNmNmQ2Yzk5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1y
ZXF1aXJlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL25vLWF1dG9wbGF5LXdpdGgt
dXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwKQEAgLTUsNyArNSw3IEBACiAgICAgICAgIDxz
Y3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQ+CiAgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayh0
cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZpZGVv
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAgICAgICAgICBmdW5jdGlv
biB0ZXN0UGxheSgpCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKaW5kZXggMTE3YjQ4OGI3MTgx
MmZlYTYxMzA3NTUxODY4ZDI4YjFmZGQ3N2Y5MC4uM2IzMTI1N2NjNTBmNDhkYTE3NjBlMDlkYWNl
MmMwZTBiYTRjMjAyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1y
ZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxv
YWQtcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICAgICAgICAg
IHZhciB1c2VyR2VzdHVyZUluaXRpYXRlZCA9IDA7CiAKICAgICAgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSAKLSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHRydWUpOworICAgICAgICAgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUodHJ1ZSk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3Qoc3VjY2Vz
cykKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBs
YXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBs
YXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbAppbmRleCA0NmMxOWJmYmFjNTEyYjE0MDhhOWRh
ZTFiNmZhNjc2ODIzYjEyNzljLi5mNWNmNjA0MDIwYzdiYTRkZjM0YTExNDk4OTAyZDQzYWM3NTc5
YjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJl
LXVzZXItZ2VzdHVyZS5odG1sCkBAIC03LDcgKzcsNyBAQAogICAgICAgICA8c2NyaXB0PgogICAg
ICAgICAgICAgdmFyIHVzZXJHZXN0dXJlSW5pdGlhdGVkID0gMDsKICAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSAKLSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHRydWUpOworICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUodHJ1ZSk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGNsaWNrKCkKICAg
ICAgICAgICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273432</attachid>
            <date>2016-03-09 08:52:52 -0800</date>
            <delta_ts>2016-03-09 14:20:25 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-155141-20160309085239.patch</filename>
            <type>text/plain</type>
            <size>60644</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY4NGExN2Y5YzE3OTA2
Y2M3NTI2ZTkyOTFlODNlZjAzNjM3ZmNlZS4uNDczZmQzMzA5M2VkNjdhMDk0Y2YzYmNiYzAzOGQ3
MDIwZDBmNzAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDUkFTSCBhdCBX
ZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVWaXNpYmxlVmlld3BvcnRSZWN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDQ5MGRjNWQ1ZTY1MDRlMDcwN2E1NmMxOGQyNTEyMzczNjBiYmZmYi4uYTNkN2Vi
ZTI1ZTVmNDQwNDQ0ZjRhODMxYWYxOTQ1Y2JiY2FmYjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1
aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBn
ZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAyLTI2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciB3aGVuIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSIGNvbnRhaW5zIHNwYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZmFlYjcwMjQ4MmNjODlkNmQ5NGEz
NWNlMTdhMDI5ZjBmZjRiMjMyLi5kMzJjOWYyNmJmZGY4OGZkMjNmMjk3YTMxMDAwN2U1NGY0MjRh
NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIg
cHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwg
ZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcmVmZXJl
bmNlLCB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSwgZGlzdGluY3QgZnJvbSBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZS4gTGVnYWN5IGNsaWVudHMgb2YgCisgICAgICAg
IG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHdpbGwgc3RpbGwgYmUgYWJsZSB0byB1
c2UgaXQgbm9ybWFsbHksIGFzIHNldHRpbmcgdGhhdCBwcmVmZXJlbmNlIHRvIHRydWUgd2lsbCBl
ZmZlY3RpdmVseQorICAgICAgICBzZXQgYm90aCBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZSBhbmQgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgdG8gdHJ1ZS4gTWFrZSB0
aGVzZSBwcmVmZXJlbmNlcyBhbGwgYXZhaWxhYmxlCisgICAgICAgIHVuaXZlcnNhbGx5LCByYXRo
ZXIgdGhhbiBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIGEgZGVm
aW5pdGlvbiBmb3IgLXNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6CisgICAg
ICAgIGFuZCAtcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayBvbiAhUExBVEZPUk0o
SU9TKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6
XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1l
ZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRSZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDE2LTAyLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXZWJLaXQgMiBJUEMgbGF5ZXIgZWFzaWx5
IGNvbmZ1c2VkIGFib3V0IG11bHRpcGxlIHdlYiBwcm9jZXNzZXMgYmVpbmcgY29ubmVjdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDU0NmJmY2QzOWVmODg4ZjAyZGE4M2FiYzFhY2ZhMTY4YzMwYmY0OGMuLmE3ZmU2MTM0NmVm
YzYyMDAxNmFlZTI5ZTBiM2I1ZjMzZmVjZTBmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lk
IEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0Q29tbW9uKCkKICAgICBtX2xpc3RlbmVyID0gQXVkaW9M
aXN0ZW5lcjo6Y3JlYXRlKCk7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKCFkb2N1bWVu
dCgpLT5zZXR0aW5ncygpIHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLT5zZXR0aW5ncygp
IHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKCkpCiAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9TdGFydFJlc3RyaWN0aW9uKTsKICAgICBlbHNlCiAgICAgICAgIG1fcmVzdHJpY3Rp
b25zID0gTm9SZXN0cmljdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCBmMTcyZGRjOTViYjUzOGY0MTY2ZDg5ZjFmODhkN2VjYTY1NTFkZGMwLi45OGY5
MmY0OTU1NTQ5ZGIxYjdhNzAwNDMzOTM1ZjA0NmEwZjRkOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQxMiwzMSArNDEyLDMwIEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24o
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UpOwogI2VuZGlmCiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFuIHVwIGFu
ZCBsb29rIHRvIGJldHRlciBtZXJnZSB0aGUgaU9TIGFuZCBub24taU9TIGNvZGUgYmVsb3cuCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQuc2V0dGluZ3MoKTsKLSNpZiAhUExBVEZP
Uk0oSU9TKQotICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2soKSkgewotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZp
b3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JS
YXRlQ2hhbmdlKTsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAg
fQotI2Vsc2UKKyNpZiBQTEFURk9STShJT1MpCiAgICAgbV9zZW5kUHJvZ3Jlc3NFdmVudHMgPSBm
YWxzZTsKLSAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yTWVkaWFQbGF5YmFjaygpKSB7CisjZW5kaWYKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRp
bmdzLT52aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIC8vIEFs
bG93IGF1dG9wbGF5IGluIGEgTWVkaWFEb2N1bWVudCB0aGF0IGlzIG5vdCBpbiBhbiBpZnJhbWUu
Ci0gICAgICAgIGlmIChkb2N1bWVudC5vd25lckVsZW1lbnQoKSB8fCAhZG9jdW1lbnQuaXNNZWRp
YURvY3VtZW50KCkpCi0gICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0
cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hh
bmdlKTsKKyAgICAgICAgaWYgKGRvY3VtZW50Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5p
c01lZGlhRG9jdW1lbnQoKSkgeworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
VmlkZW9SYXRlQ2hhbmdlKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlv
clJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxv
YWQpOworICAgICAgICB9CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAg
ICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9TaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOwog
I2VuZGlmCi0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yRnVsbHNjcmVlbiB3aGVuIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlz
IG5vdCBzZXQ6CisgICAgfQorI2lmIFBMQVRGT1JNKElPUykKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiB3aGVuIHZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlIGlzIG5vdCBzZXQ6CiAgICAgICAgIG1fbWVkaWFTZXNzaW9u
LT5yZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVV
c2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIH0KKyNlbmRpZgogICAgIGlmIChzZXR0aW5n
cyAmJiBzZXR0aW5ncy0+aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQoKSkKICAgICAgICAg
bV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lv
bjo6SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQpOwotI2VuZGlmIC8vICFQTEFURk9STShJ
T1MpCiAKLSAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlKCkgJiYgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrKCkpCisgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5hdWRpb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZSgpKQogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JS
ZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UpOwogCiAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPm1lZGlhRGF0
YUxvYWRzQXV0b21hdGljYWxseSgpKQpAQCAtNjE2OCw3ICs2MTY3LDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1
cmUoKQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRv
QXV0b3BsYXlUb0V4dGVybmFsRGV2aWNlCiAjZW5kaWYKICAgICAgICAgfCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkCi0gICAgICAgIHwgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZQorICAgICAgICB8IE1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZQogICAg
ICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0
ZUNoYW5nZQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVy
ZUZvckZ1bGxzY3JlZW4KICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCmluZGV4IDFhNGRlNjQwYTQ0NzA5OTc4NGFhZTI1YWNhNzQ3NjFkZDI4NTc1Y2Iu
LmIxZDVjZTlkZGY1MWFkMTk3M2RjYTI4NDRmMGJjNWI0ZDE4NmFiNjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0
aWMgU3RyaW5nIHJlc3RyaWN0aW9uTmFtZShNZWRpYUVsZW1lbnRTZXNzaW9uOjpCZWhhdmlvclJl
c3RyaWN0aW9ucyByZXN0cmljdAogCiAgICAgQ0FTRShOb1Jlc3RyaWN0aW9ucyk7CiAgICAgQ0FT
RShSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkKTsKLSAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVy
ZUZvclJhdGVDaGFuZ2UpOworICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRl
Q2hhbmdlKTsKICAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSk7
CiAgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuKTsKICAgICBDQVNFKFJl
cXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCBib29sIE1l
ZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkKGNvbnN0IEhUTUxNZWRpYUVsZW1l
bnQmIGVsZW1lbnQpIGNvbgogICAgIGlmIChwYWdlRXhwbGljaXRseUFsbG93c0VsZW1lbnRUb0F1
dG9wbGF5SW5saW5lKGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmICht
X3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgJiYgIVNjcmlw
dENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKKyAgICBpZiAo
bV9yZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UgJiYg
IVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKICAg
ICAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQg
LSByZXR1cm5pbmcgRkFMU0UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggMzUxY2IwZWJkZTUwMDIy
YTVlY2JiYWNlNGM2YWQ1ZGJhMzQzOWE2NS4uMThlZTJhYzI1YjZlOTQ5YWJmMzMwZDEzMjdlNDYz
NTk4NDFhYjE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgK
QEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIGVudW0gQmVoYXZpb3JSZXN0cmljdGlvbkZs
YWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBSZXF1aXJlVXNlckdl
c3R1cmVGb3JMb2FkID0gMSA8PCAwLAotICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRl
Q2hhbmdlID0gMSA8PCAxLAorICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVD
aGFuZ2UgPSAxIDw8IDEsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4g
PSAxIDw8IDIsCiAgICAgICAgIFJlcXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhID0gMSA8PCAz
LAogICAgICAgICBSZXF1aXJlUGFnZUNvbnNlbnRUb1Jlc3VtZU1lZGlhID0gMSA8PCA0LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA2NzYyNzg2OTVhZmJiNjhmM2QzYjM2MDU1MGU1NjRl
Mzk5YTNhM2Y4Li5hZDRhNzA0MWEwYjBiZjY2ZWQ4NzcwZmUzOGY3NDNlNDg5MWE2NGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRGaXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9jdW1lbnQgPSB0cnVl
Owogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gdHJ1ZTsKLXN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayA9IHRydWU7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRN
ZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRl
ZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9IHRydWU7CkBAIC0xNDgsNyArMTQ4
LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0
aXZlVG9Eb2N1bWVudCA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCA9IGZhbHNlOwogc3RhdGljIGNv
bnN0IGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogc3RhdGlj
IGNvbnN0IGJvb2wgZGVmYXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlID0gZmFsc2U7Ci1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2Vy
R2VzdHVyZUZvck1lZGlhUGxheWJhY2sgPSBmYWxzZTsKK3N0YXRpYyBjb25zdCBib29sIGRlZmF1
bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IGZhbHNlOwogc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBz
dGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gdHJ1
ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlv
biA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggYjU0ZjhkMzFkN2Q5NmQ4ZDQ3
Mzk2MjZiZjhmY2M4MzYxZDU2Mjg1OC4uMzE3NmZhZTFhZWQ2ZDRiZmUwZDUyNzUyMjhlOWQxODMy
NzJkMzQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0xMjUsNyArMTI1LDcgQEAgc2hv
dWxkSW5qZWN0VXNlclNjcmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50IGluaXRpYWw9ZmFsc2UK
IGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUgaW5pdGlhbD1mYWxzZQogYWxsb3dE
aXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQogYWxsb3dSdW5uaW5nT2ZJbnNl
Y3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQotcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2sgaW5pdGlhbD1kZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sK
K3ZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVsdFZpZGVvUGxh
eWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZSBpbml0aWFsPWRlZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQogYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrCiBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSBpbml0
aWFsPWRlZmF1bHRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGE5YjUyNGQ4NDI2NTJhYTdk
OGU1ZjMzNjE3NmIxZWM1MTM5NjRhMmQuLjg0OGY3YTczZDMyOTIxY2EzYzBjNDdmMjE5MDcwOWUx
MmFkZWRhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMwNDUsOCAr
MzA0NSw4IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMoSFRN
TE1lZGlhRWxlbWVudCogZWxlbWVudCwgY29uc3QgU3RyCiAgICAgICAgICAgICByZXN0cmljdGlv
bnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6Tm9SZXN0cmljdGlvbnM7CiAgICAgICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1
c2VyZ2VzdHVyZWZvcmxvYWQiKSkKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkOwotICAgICAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNl
cmdlc3R1cmVmb3JyYXRlY2hhbmdlIikpCi0gICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVk
aWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZTsKKyAgICAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAi
cmVxdWlyZXVzZXJnZXN0dXJlZm9ydmlkZW9yYXRlY2hhbmdlIikpCisgICAgICAgICAgICByZXN0
cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlk
ZW9SYXRlQ2hhbmdlOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
cmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1cmVmb3JmdWxsc2NyZWVuIikpCiAg
ICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVz
ZXJHZXN0dXJlRm9yRnVsbHNjcmVlbjsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXBhZ2Vjb25zZW50dG9sb2FkbWVk
aWEiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCmluZGV4IDFiNGRmNmQ4ZTM2N2ViYTljZWJmNzkyOGZjNzIwY2JhMGE0YThm
NGQuLjUxNzEyMzI0OTJhZTY2MDNjMzhhNTQ4MjcxYmEyOGQ1NzUxMzFmNDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApA
QCAtMTIxLDcgKzEyMSw3IEBACiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlvbkVuYWJsZWRLZXkg
QCJXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJLaXRBVkZvdW5kYXRpb25O
U1VSTFNlc3Npb25FbmFibGVkS2V5IEAiV2ViS2l0QVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZEtleSBA
IldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCi0jZGVmaW5lIFdlYktpdFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIgorI2RlZmluZSBXZWJLaXRSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRWaWRlb1BsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXVkaW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKICNkZWZpbmUg
V2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkg
QCJJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDk5Yjc4NWFjZGYy
MDBmZGI0NThhYjRhNDY3ZGJjNTBlODY2YzEyNjIuLjgzOWVjMjVhMDUwNzQ4OWEyZmVlZTAzMmMz
NGNkZmVkY2NjYjYyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtNTIxLDcgKzUyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVk
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFN1cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSwKICNpZiAhUExBVEZPUk0oSU9TKQotICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1
cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFj
a1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAg
V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6Tk9dLCAgV2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGVLZXksCkBAIC01MzUsNyArNTM1LDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0
aW9uS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdE1l
ZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseVByZWZlcmVuY2VLZXksCiAjZWxzZQotICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1By
ZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2Vi
S2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja10s
ICAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpyZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlXSwg
V2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXks
CkBAIC0yMjExLDE0ICsyMjExLDI1IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJ
RCA9IG5pbDsKIH0KICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKKy8vIERlcHJlY2F0ZWQuIEhh
cyBubyBlZmZlY3QuIAogLSAoQk9PTCltZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQog
ewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCisvLyBEZXByZWNhdGVkLiBIYXMgbm8gZWZmZWN0LgogLSAodm9pZClzZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXldOworfQorCistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9p
ZClzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCit7CisgICAg
W3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09MKWF1ZGlvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAwYjc0N2QyNjZjY2E4N2RiNGNiOWE0OWI1ZDU3
NmI2MzE3ZWM4NTlmLi43MDQxNDc3MzZjZjFkMTM5MTkwNGI3Y2IzMDYwN2YwNWRjMGEyNzUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKQEAgLTI0OCw5ICsyNDgsMTMgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0Nh
Y2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09MKWh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDsKIC0gKHZvaWQpc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOihCT09M
KWVuYWJsZWQ7CiAKKy8vIERlcHJlY2F0ZWQuIEhhcyBubyBlZmZlY3QuCiAtICh2b2lkKXNldE1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKW1lZGlh
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOwogCistICh2b2lkKXNldFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlOworCiAtICh2b2lkKXNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKWF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNmJlOTI1NTU3YTM2
MGE5N2I2YzA1YTM0NWFlNjJmODIzYTYzNGFlZC4uZTdkOTMzODE0ZTU0YTZjZGU4NDhmNGUxODMw
NWNmOWM0Nzg0MzM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjMz
Miw3ICsyMzMyLDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVp
cmsoKQogICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtz
ZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0
VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb24oW3NlbGYgdmFsaWRhdGlvbk1lc3Nh
Z2VUaW1lck1hZ25pZmljYXRpb25dKTsKIAotICAgIHNldHRpbmdzLnNldFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZV0pOworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKFtwcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwog
ICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVmZXJl
bmNlcyBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNl
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tBbGxv
d3NJbmxpbmVdKTsKICAgICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZShbcHJlZmVyZW5jZXMgaW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IDdiZTk2ZDI0NjMxNzAwYzVkMDBmYjM1
NDk0NWVjYjI4ZGY1NWVjYTAuLjU3ZTRlZmQxZDA1MTdlMjE0NzY4OGJlMmFlZDFhOGU0Yzg1NTgy
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaApAQCAtNzAsNyArNzAsNiBAQAogI2RlZmluZSBERUZBVUxUX0lOVklTSUJMRV9BVVRP
UExBWV9OT1RfUEVSTUlUVEVEIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURT
X0FVVE9NQVRJQ0FMTFkgZmFsc2UKICNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RV
UkVfRk9SX01FRElBX1BMQVlCQUNLIHRydWUKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VS
X0dFU1RVUkVfRk9SX0FVRElPX1BMQVlCQUNLIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9D
T05UUk9MU19TQ0FMRV9XSVRIX1BBR0VfWk9PTSBmYWxzZQogI2RlZmluZSBERUZBVUxUX1RFTVBP
UkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJT05fRU5BQkxFRCBmYWxzZQogI2Vsc2UKQEAgLTg3LDcg
Kzg2LDYgQEAKICNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRF
RCBmYWxzZQogI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSB0
cnVlCiAjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZ
QkFDSyBmYWxzZQotI2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVE
SU9fUExBWUJBQ0sgZmFsc2UKICNkZWZpbmUgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FMRV9X
SVRIX1BBR0VfWk9PTSB0cnVlCiAjZGVmaW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JU
X1JFVEVOVElPTl9FTkFCTEVEIHRydWUKICNlbmRpZgpAQCAtMTUxLDcgKzE0OSw4IEBACiAgICAg
bWFjcm8oQVZGb3VuZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCiAgICAgbWFjcm8oQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwg
aXNBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAog
ICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19V
U0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNVc2Vy
R2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXli
YWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9f
UExBWUJBQ0spIFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFj
aywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCisgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVp
cmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAg
IG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJQV9QTEFZQkFDSykgXAog
ICAgIG1hY3JvKElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
LCBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgQm9vbCwg
Ym9vbCwgREVGQVVMVF9JTkxJTkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5F
X0FUVFJJQlVURSkgXAogICAgIG1hY3JvKEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBp
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTlZJU0lC
TEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDllYmM4OGY2OTc5YjQ1ZWRkZmM4ZTRm
ODY0NDBiNDE1ZWZjMDczODcuLjQyZmU4MzRjMDM0NzM0MWUzMDFhMThjMzE2YzY0MzI0YmVmNzY5
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAKQEAgLTc1OCw2ICs3NTgsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmMKICAgICBy
ZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlh
UGxheWJhY2soKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0VmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JWaWRlb1BsYXliYWNrKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRlb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0
dXJlRm9yVmlkZW9QbGF5YmFjaygpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBdWRpb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2soZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNh
ODA4ODMyNWE4ODRhM2MxZjVjNGUzM2Y3YjljNzc3MGI4OThkOTMuLjUzMDliYTdjMjJlZTFlNzg0
ZmRjNTU2NjIxODI2ZjIwYjY0N2JjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC0xNzgsNiArMTc4
LDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNmY4NTM3YWE3ODc2NTgzMWQ4NWFkODRi
MjAwNzU3ODMzNTRhY2U5Yy4uZTNjYWMyOWRkNDc4N2U1NGU4ZjZkN2RiODFkMTA1ZTc0ZDkzMmJi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTM5MiwxNiArMzkyLDE4IEBAIHN0YXRpYyBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBl
cyBmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyh1aW50NjRfdCB0eXBlcykKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
OjppbWFnZUNvbnRyb2xzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xzRW5hYmxlZF0pKTsKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oSU9TKQotICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoW19jb25maWd1cmF0aW9uIF9hbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHldKTsKLQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFs
dWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmln
dXJhdGlvbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSkpOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6Omlu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5KCksIFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2lubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlXSkpOwotICAgIHBhZ2VDb25m
aWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNL
ZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gYWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlh
UGxheWJhY2soKSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCku
c2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2Nv
bmZpZ3VyYXRpb24gcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFja10pKTsKKyAgICBw
YWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZl
cmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpLCBXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9yZXF1aXJl
c1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5w
cmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVz
VXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5z
ZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0
ZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJh
dGlvbiBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWRdKSk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6
bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5S2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eV0pKTsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0QWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KFtfY29uZmlndXJhdGlvbiBfYWx3YXlzUnVuc0F0
Rm9yZWdyb3VuZFByaW9yaXR5XSk7CisKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZh
bHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
XSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkpKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpkYXRhRGV0ZWN0
b3JUeXBlc0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKHN0YXRpY19j
YXN0PHVpbnQzMl90Pihmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyhbX2NvbmZpZ3VyYXRpb24gZGF0
YURldGVjdG9yVHlwZXNdKSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCAxMzAyM2Jh
NjZlZDY4NDlkZTFkMjcwZjc5OTYwZDU0YTAwNmQ3NWExLi5mNGZhYWY0MGVkM2Q5MDZkZGY3Mzhk
OWIyYjdiNjA3NjBlZGRhYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC05OCwxNCAr
OTgsMTcgQEAgcHJpdmF0ZToKICAgICBCT09MIF9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHk7
CiAgICAgQk9PTCBfYWxsb3dzTWV0YVJlZnJlc2g7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAg
TGF6eUluaXRpYWxpemVkPFJldGFpblB0cjxXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3Ry
eT4+IF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeTsKLSAgICBCT09MIF9hbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHk7CiAgICAgQk9PTCBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKICAg
ICBCT09MIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsK
ICAgICBCT09MIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDsKICAgICBCT09MIF9tZWRp
YURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazsKKyAgICBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXli
YWNrOwogICAgIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CisKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgTGF6eUluaXRpYWxpemVkPFJldGFpblB0cjxXS1dlYlZpZXdD
b250ZW50UHJvdmlkZXJSZWdpc3RyeT4+IF9jb250ZW50UHJvdmlkZXJSZWdpc3RyeTsKKyAgICBC
T09MIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7CiAjZW5kaWYKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKQEAgLTEyNSwxMiArMTI4LDIw
IEBAIHByaXZhdGU6CiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIF9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gWUVTOwotICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JB
dWRpb1BsYXliYWNrID0gWUVTOwotICAgIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFjayA9IFlFUzsKICAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFdlYkNvcmU6OmRl
dmljZUNsYXNzKCkgPT0gTUdEZXZpY2VDbGFzc2lQYWQ7Ci0gICAgX2lubGluZU1lZGlhUGxheWJh
Y2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gIV9hbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrOwotICAgIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IFlFUzsKICAgICBfbWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87CisjZWxzZQorICAgIF9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gTk87CisgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJh
Y2sgPSBZRVM7CisgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyNlbmRp
ZgorICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gTk87CisgICAgX3Jl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBOTzsKKyAgICBfaW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSAhX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2s7CisgICAgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gTk87CisKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
ID0gWUVTOwogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBZRVM7CiAgICAgX3ByaW50
c0JhY2tncm91bmRzID0gWUVTOwogI2VuZGlmCkBAIC0xNzQsOSArMTg1LDEwIEBAIHByaXZhdGU6
CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFj
ayBmb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogICAgIFtjb2RlciBl
bmNvZGVJbnRlZ2VyOnNlbGYuZGF0YURldGVjdG9yVHlwZXMgZm9yS2V5OkAiZGF0YURldGVjdG9y
VHlwZXMiXTsKIAotI2lmIFBMQVRGT1JNKElPUykKICAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxm
LmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFjayJdOwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYucmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjayBmb3JLZXk6QCJyZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNr
Il07CisKKyNpZiBQTEFURk9STShJT1MpCiAgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2VsZi5z
ZWxlY3Rpb25HcmFudWxhcml0eSBmb3JLZXk6QCJzZWxlY3Rpb25HcmFudWxhcml0eSJdOwogICAg
IFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2sgZm9yS2V5OkAiYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2siXTsKICNlbmRp
ZgpAQCAtMTk3LDkgKzIwOSwxMCBAQCBwcml2YXRlOgogICAgIHNlbGYuYWxsb3dzQWlyUGxheUZv
ck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c0FpclBsYXlG
b3JNZWRpYVBsYXliYWNrIl07CiAgICAgc2VsZi5kYXRhRGV0ZWN0b3JUeXBlcyA9IFtjb2RlciBk
ZWNvZGVJbnRlZ2VyRm9yS2V5OkAiZGF0YURldGVjdG9yVHlwZXMiXTsKIAotI2lmIFBMQVRGT1JN
KElPUykKICAgICBzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2Rl
Qm9vbEZvcktleTpAImFsbG93c0lubGluZU1lZGlhUGxheWJhY2siXTsKICAgICBzZWxmLnJlcXVp
cmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpA
InJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2siXTsKKworI2lmIFBMQVRGT1JNKElP
UykKICAgICBzZWxmLnNlbGVjdGlvbkdyYW51bGFyaXR5ID0gc3RhdGljX2Nhc3Q8V0tTZWxlY3Rp
b25HcmFudWxhcml0eT4oW2NvZGVyIGRlY29kZUludGVnZXJGb3JLZXk6QCJzZWxlY3Rpb25HcmFu
dWxhcml0eSJdKTsKICAgICBzZWxmLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
ID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjayJdOwogI2VuZGlmCkBAIC0yMzMsMTUgKzI0NiwxNyBAQCBwcml2YXRlOgogICAgIGNv
bmZpZ3VyYXRpb24tPl9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHkgPSBzZWxmLT5fY29udmVy
dHNQb3NpdGlvblN0eWxlT25Db3B5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NNZXRhUmVm
cmVzaCA9IHNlbGYtPl9hbGxvd3NNZXRhUmVmcmVzaDsKIAotI2lmIFBMQVRGT1JNKElPUykKICAg
ICBjb25maWd1cmF0aW9uLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9pbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKICAgICBjb25maWd1cmF0aW9uLT5f
aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBzZWxmLT5faW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGlj
YWxseSA9IHNlbGYtPl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7Ci0gICAgY29uZmlndXJh
dGlvbi0+X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwotICAgIGNvbmZpZ3VyYXRpb24tPl9hbHdh
eXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9y
aXR5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXli
YWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s7CisgICAgY29u
ZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBzZWxmLT5f
cmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5f
cmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrOworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIGNvbmZpZ3Vy
YXRpb24tPl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKKyAgICBjb25maWd1cmF0aW9uLT5fYWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlv
cml0eTsKICAgICBjb25maWd1cmF0aW9uLT5fc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBzZWxmLT5f
c2VsZWN0aW9uR3JhbnVsYXJpdHk7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCkBAIC01MDYs
NiArNTIxLDI3IEBAIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZvclVz
ZXJBZ2VudCgpCiB7CiAgICAgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9IGFsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKIH0KKyNlbHNlCistIChCT09MKXJlcXVpcmVzVXNl
ckFjdGlvbkZvck1lZGlhUGxheWJhY2sKK3sKKyAgICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlv
bkZvck1lZGlhUGxheWJhY2s7Cit9CisKKy0gKHZvaWQpc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazooQk9PTClyZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrCit7
CisgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSByZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrOworfQorCistIChCT09MKWFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2sKK3sKKyAgICByZXR1cm4gX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Cit9CisKKy0g
KHZvaWQpc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazooQk9PTClhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrCit7CisgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBhbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrOworfQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogLSAoQk9PTClf
aW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUKIHsKQEAgLTUz
Nyw2ICs1NzMsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50KCkKICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gbWVkaWFEYXRh
TG9hZHNBdXRvbWF0aWNhbGx5OwogfQogCistIChCT09MKV9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JW
aWRlb1BsYXliYWNrCit7CisgICAgcmV0dXJuIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1Bs
YXliYWNrOworfQorCistICh2b2lkKV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXli
YWNrOihCT09MKXJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sKKyAgICBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvclZp
ZGVvUGxheWJhY2s7Cit9CisKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxh
eWJhY2sKIHsKICAgICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7
CkBAIC01NDcsOCArNTkzLDYgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25O
YW1lRm9yVXNlckFnZW50KCkKICAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFj
ayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CiB9CiAKLSNlbmRpZiAvLyBQ
TEFURk9STShJT1MpCi0KICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93c1VSTHNJblRv
b2xUaXBzCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggZjk2MDVm
OTI2ZTE1YmE2MDRkMWNmYmNkODkwOTBhZDhhZjdhMjAwOC4uNjk0NjE1MTAwNjMxNzQ4Y2Q5NGVi
ZTljYmFkYTc3YzZhMmQ3NDcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aApAQCAtNDksMTggKzQ5LDIwIEBACiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRB
bGxvd3NKYXZhU2NyaXB0TWFya3VwOikgQk9PTCBfYWxsb3dzSmF2YVNjcmlwdE1hcmt1cCBXS19B
VkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRDb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHk6KSBCT09MIF9jb252ZXJ0c1Bv
c2l0aW9uU3R5bGVPbkNvcHkgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzTWV0YVJlZnJlc2g6KSBCT09M
IF9hbGxvd3NNZXRhUmVmcmVzaCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JB
dWRpb1BsYXliYWNrOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayBX
S19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOikgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayBXS19BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbmxpbmVN
ZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTopIEJPT0wgX2lubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIFdLX0FWQUlMQUJMRShXS19N
QUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElu
dmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQ
ZXJtaXR0ZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5
IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OikgQk9P
TCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBX
S19JT1NfVEJBKTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBXS19BVkFJTEFCTEUoTkEsIDlfMCk7Ci0KLUBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxh
eWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlM
QUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJ
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTopIEJPT0wgX2lu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIFdLX0FWQUlMQUJM
RShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbnZp
c2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDopIEJPT0wgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVy
bWl0dGVkIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRpYURh
dGFMb2Fkc0F1dG9tYXRpY2FsbHkgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKICNlbHNl
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikg
Qk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZDop
IEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5B
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVk
OikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5B
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2s7
CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBs
YXliYWNrOwogI2VuZGlmCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIHNldHRlcj1f
c2V0VmlzaXRlZExpbmtQcm92aWRlcjopIF9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXIgKl92aXNpdGVk
TGlua1Byb3ZpZGVyIFdLX0RFUFJFQ0FURUQoMTBfMTAsIFdLX01BQ19UQkEsIDhfMCwgV0tfSU9T
X1RCQSwgIlBsZWFzZSB1c2UgX3Zpc2l0ZWRMaW5rU3RvcmUgaW5zdGVhZCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDQxMDY0MzQ1NWEz
NzEyNDc3YmY3OTRmYTU0ZTdmNDZkOWJmZGM2ZDQuLjRjOWI5Y2I5OWZmMzcwNDVlZGFhMDMyMjg1
NzU5MDkyNDVlNGM3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTI4NzQsOCArMjg3NCw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Mu
c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRGb3JjZVNvZnR3YXJlV2Vi
R0xSZW5kZXJpbmcoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpm
b3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6YWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRLZXkoKSkpOwotICAgIHNldHRpbmdz
LnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2tLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSkpOworICAgIGJvb2wgcmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhID0gc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKTsKKyAgICBz
ZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShyZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpKSk7CisgICAgc2V0
dGluZ3Muc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2Vz
dHVyZUZvck1lZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRp
bmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrS2V5KCkpKTsKICAg
ICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJp
YnV0ZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmlubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5KCkpKTsKICAgICBzZXR0
aW5ncy5zZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkS2V5
KCkpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAxMGMxNmMwNzNmZmY1ZTY2OTJhMWRhNjJiZmZhOTA5MDU2NTk2MTIzLi5iOTQ4YzRlNjFkMTNj
YTgwMWQ5MTZmZjFjZjQ0M2U4MjY1MjY5MjEyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTYtMDMtMDggIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFu
ZCBXSzIgcHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBt
ZWRpYSwgZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgZGVm
YXVsdCB2YWx1ZXMgZm9yIG1lZGlhIHByZWZlcmVuY2VzIHVuY29uZGl0aW9uYWxseSwgbm90IGp1
c3Qgb24gUExBVEZPUk0oSU9TKS4gU2V0ICJ2aWRlbyByZXF1aXJlcyB1c2VyIGdlc3R1cmUiCisg
ICAgICAgIHRvIHNhbmUgZGVmYXVsdHMgaW4gYWRkaXRpb24gdG8gImF1ZGlvIHJlcXVpcmVzIHVz
ZXIgZ2VzdHVyZSIgYW5kIChpbiB0aGUgY2FzZSBvZiBEdW1wUkVuZGVyVHJlZSkgaW5zdGVhZCBv
ZiAibWVkaWEgcmVxdWlyZXMgdXNlciBnZXN0dXJlIi4KKworICAgICAgICBBZGQgYSBuZXcgdGVz
dCBvZiBXSzIgdXNlciBnZXN0dXJlIHJlcXVpcmVtZW50IHByZWZlcmVuY2VzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRX
ZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbDoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRpby5o
dG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1JlcXVpcmVzVXNl
ckFjdGlvbkZvclBsYXliYWNrLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpu
dWxsSmF2YVNjcmlwdENhbGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmlzTVNFRW5h
YmxlZENhbGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRGb3JG
cmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjppc1BsYXlpbmdBdWRpb0RpZENoYW5nZUNh
bGxiYWNrKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldFVwQ2xpZW50cyk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9Db2RpbmcubW06CisgICAgICAgIChURVNUKToKKwogMjAxNi0wMi0xOSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgaHR0cC90ZXN0
cy9zZWN1cml0eS92aWRlby1jcm9zcy1vcmlnaW4qIHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggM2Q3ODExYmEwM2E4NjI5NWU0ZTA2ZjNjM2Zm
ZGVjZmJmM2I3MzMxMi4uNTM2YjliMWRjYjExZGQzODQwM2JkOTI5NzI5ZmFhNGRkNTFhNjJlNiAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtOTM5LDEy
ICs5MzksMTMgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcygpCiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6WUVT
XTsKICAgICB9IGVsc2UKICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0RW5h
YmxlZDpOT107Ci0jaWYgUExBVEZPUk0oSU9TKQogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVBs
YXliYWNrQWxsb3dzSW5saW5lOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0VmlkZW9QbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRBdWRpb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlh
RGF0YUxvYWRzQXV0b21hdGljYWxseTpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRJbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZDpOT107CiAKKyNpZiBQTEFURk9STShJT1MpCiAgICAgLy8g
RW5hYmxlIHRoZSB0cmFja2VyIGJlZm9yZSBjcmVhdGluZyB0aGUgZmlyc3QgV2ViVmlldyB3aWxs
CiAgICAgLy8gY2F1c2UgaW5pdGlhbGl6YXRpb24gdG8gdXNlIHRoZSBjb3JyZWN0IGRhdGFiYXNl
IHBhdGhzLgogICAgIFtwcmVmZXJlbmNlcyBzZXRTdG9yYWdlVHJhY2tlckVuYWJsZWQ6WUVTXTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjM2ODk5Njc4Yzc0YjUwNzkzYWMwMjExMjZiODE1
NTM2ODNhM2YxYy4uMWQyMWY5M2M2NzNjYzY2ZTlmNDA4ZTc2M2NlNmFmMTgyOGY0Y2E3MCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyOCw2ICszMjgsNyBAQAogCQlDNTQyMzdGMTE2Qjg5
NTdEMDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDIzN0VEMTZCODk1NTgw
MEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwICovOyB9OwogCQlD
NUUxQUZGRTE2QjIyMUYxMDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUUxQUZGRDE2QjIyMTc5MDA2
Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLzsgfTsKIAkJQ0QyMjVDMDgxQzQ1QTY5MjAwMTQwNzYx
IC8qIFBhcnNlZENvbnRlbnRSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDIyNUMwNzFDNDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVu
dFJhbmdlLmNwcCAqLzsgfTsKKwkJQ0Q0N0U3OTcxQzhGNkZGNjAwNEJDRkRDIC8qIFJlcXVpcmVV
c2VyR2VzdHVyZUZvclBsYXliYWNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q0N0U3OTYxQzhGNkZGNjAwNEJDRkRDIC8qIFJlcXVpcmVVc2VyR2Vz
dHVyZUZvclBsYXliYWNrLm1tICovOyB9OwogCQlDRDU5RjUzNDE5RTkxMTBEMDBDRjE4MzUgLyog
ZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNl
Lmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1
OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsgfTsKIAkJQ0Q4OUQwM0Ex
QzRFREIyQTAwMDQwQTA0IC8qIFdlYkNvcmVOU1VSTFNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg5RDAzODFDNEVEQjJBMDAwNDBBMDQg
LyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSAqLzsgfTsKQEAgLTgyMCw2ICs4MjEsNyBAQAogCQlD
NUUxQUZGRDE2QjIyMTc5MDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9IGV4ZWNDb3B5Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDIyNUMwNzFDNDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVu
dFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlZENv
bnRlbnRSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENDdFNzk2MUM4
RjZGRjYwMDRCQ0ZEQyAvKiBSZXF1aXJlVXNlckdlc3R1cmVGb3JQbGF5YmFjay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlcXVpcmVVc2VyR2VzdHVyZUZvclBs
YXliYWNrLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDNzE3NTdCQTk3
MDBDMDcxMjMgLyogTUQ1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1ENS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTM5M0M5MTc1N0JBQzQw
MEMwNzEyMyAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU0NTFFOTE5RTQxRjlE
MDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENTU1BhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDAy
LDYgKzEwMDQsNyBAQAogCQkJCTFBNEY4MUQwMUJERkZEQ0YwMDRFNjcyRSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeS5oICovLAogCQkJCTFBNEY4MUM4MUJERkZEMTgwMDRFNjcyRSAvKiBSZW1vdGVP
YmplY3RSZWdpc3RyeS5tbSAqLywKIAkJCQkxQTRGODFDRDFCREZGRDUzMDA0RTY3MkUgLyogUmVt
b3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4ubW0gKi8sCisJCQkJQ0Q0N0U3OTYxQzhGNkZGNjAwNEJD
RkRDIC8qIFJlcXVpcmVVc2VyR2VzdHVyZUZvclBsYXliYWNrLm1tICovLAogCQkJCTM3QkNBNjFC
MUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rp
b25zLm1tICovLAogCQkJCTJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5t
bSAqLywKIAkJCQk3Q0MzRTFGQTE5N0UyMzQxMDBCRTYyNTIgLyogVXNlckNvbnRlbnRDb250cm9s
bGVyLm1tICovLApAQCAtMTg5Nyw2ICsxOTAwLDcgQEAKIAkJCWZpbGVzID0gKAogCQkJCTJEOUE1
M0FGMUIzMUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTUxQjQ1NEVDMUI0RTIzNkIwMDg1RUFBNiAvKiBXZWJWaWV3Q2xvc2VJbnNpZGVEaWRGaW5pc2hM
b2FkRm9yRnJhbWUubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDQ3RTc5NzFDOEY2RkY2MDA0QkNG
REMgLyogUmVxdWlyZVVzZXJHZXN0dXJlRm9yUGxheWJhY2subW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3QUEwMjFCQjFBQjA5RUE3MDA1Mjk1M0YgLyogRGF0ZU1hdGguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQxRkUwQjAxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFDQjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L2lvcy92aWRlby13aXRoLWF1ZGlvLmh0bWwKaW5kZXggZDBkNjZiYjZjMGQzMTk0ZjVl
OTM3ODlmNWQ2NDhlODk4NzU5YjUzZS4uMDMwMWYxMDMxYzJjZTQ3ZGVjZDdjODc5YjM0YmZjMDJk
YWFhODM4NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9z
L3ZpZGVvLXdpdGgtYXVkaW8uaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9pb3MvdmlkZW8td2l0aC1hdWRpby5odG1sCkBAIC0yLDEzICsyLDI5IEBACiA8aHRtbD4K
IDxoZWFkPgogICAgIDxzY3JpcHQ+CisgICAgdmFyIHRpbWVvdXQ7CisKICAgICBmdW5jdGlvbiBn
bygpIHsKICAgICAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J3ZpZGVvJylbMF07Ci0gICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdjYWxsYmFjazpwbGF5
aW5nJzsKLSAgICAgICAgfSk7CisgICAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChu
b3RQbGF5aW5nLCAxMDAwKTsKKyAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWlu
ZycsIHBsYXlpbmcpOwogICAgICAgICB2aWRlby5wbGF5KCk7CiAgICAgfQorCisgICAgZnVuY3Rp
b24gcGxheWluZygpIHsKKyAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0KTsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBs
YXlpbmdIYW5kbGVyLnBvc3RNZXNzYWdlKCdwbGF5aW5nJyk7CisgICAgICAgIH0gY2F0Y2goZSkg
eworICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gJ2NhbGxiYWNrOnBsYXlpbmcnOworICAg
ICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gbm90UGxheWluZygpIHsKKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBsYXlpbmdIYW5k
bGVyLnBvc3RNZXNzYWdlKCdub3QgcGxheWluZycpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQor
ICAgIH0KICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJnbygpIj4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRob3V0
LWF1ZGlvLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8t
d2l0aG91dC1hdWRpby5odG1sCmluZGV4IDM4NGM5NjMzYWEyZTcyYjZlN2I0MTk5NDU1ZDg4NDc4
YTc2MzlmOGMuLjhjMjdlOWIxYTg5NGIxMGZkYjA1YWE3ZmJhY2YyYzc0M2VjYWQ1NWEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRob3V0
LWF1ZGlvLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3Zp
ZGVvLXdpdGhvdXQtYXVkaW8uaHRtbApAQCAtNCwxMSArNCwyNSBAQAogICAgIDxzY3JpcHQ+CiAg
ICAgZnVuY3Rpb24gZ28oKSB7CiAgICAgICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOwotICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVy
KCdwbGF5aW5nJywgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAn
Y2FsbGJhY2s6cGxheWluZyc7Ci0gICAgICAgIH0pOworICAgICAgICB0aW1lb3V0ID0gd2luZG93
LnNldFRpbWVvdXQobm90UGxheWluZywgMTAwMCk7CisgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlz
dGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nKTsKICAgICAgICAgdmlkZW8ucGxheSgpOwogICAgIH0K
KworICAgIGZ1bmN0aW9uIHBsYXlpbmcoKSB7CisgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQo
dGltZW91dCk7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3Nh
Z2VIYW5kbGVycy5wbGF5aW5nSGFuZGxlci5wb3N0TWVzc2FnZSgncGxheWluZycpOworICAgICAg
ICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdjYWxsYmFjazpw
bGF5aW5nJzsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIG5vdFBsYXlpbmcoKSB7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVy
cy5wbGF5aW5nSGFuZGxlci5wb3N0TWVzc2FnZSgnbm90IHBsYXlpbmcnKTsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9
ImdvKCkiPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dL
UmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2suY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1dLUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2suY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlODQ4MTMzZmMxMmQ5N2Q5MzFjNDk0MjhlM2U2ZWU5ZWIwMTNkNDgKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tSZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JQbGF5YmFjay5jcHAKQEAgLTAsMCArMSwxNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbmNsdWRlICJQbGF0Zm9y
bVV0aWxpdGllcy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgIlRl
c3QuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLUGFnZVByaXZhdGUuaD4K
KyNpbmNsdWRlIDxXZWJLaXQvV0tQcmVmZXJlbmNlc1JlZi5oPgorI2luY2x1ZGUgPFdlYktpdC9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oPgorCisvLyBUaGlzIHRlc3QgbG9hZHMgZmlsZS13aXRo
LXZpZGVvLmh0bWwuIEl0IGZpcnN0IGNoZWNrcyB0byBtYWtlIHN1cmUgV0tQYWdlSXNQbGF5aW5n
QXVkaW8oKSByZXR1cm5zCisvLyBmYWxzZSBmb3IgdGhlIHBhZ2UuIFRoZW4gaXQgY2FsbHMgYSBK
YXZhU2NyaXB0IG1ldGhvZCB0byBwbGF5IHRoZSB2aWRlbywgd2FpdHMgZm9yCisvLyBXS1BhZ2VV
SUNsaWVudDo6aXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2UoKSB0byBnZXQgY2FsbGVkLCBhbmQgY2hl
Y2tzIHRoYXQgV0tQYWdlSXNQbGF5aW5nQXVkaW8oKSBub3cKKy8vIHJldHVybnMgdHJ1ZSBmb3Ig
dGhlIHBhZ2UuCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIGJvb2wgaXNN
U0VFbmFibGVkQ2hhbmdlZDsKK3N0YXRpYyBib29sIGlzTVNFRW5hYmxlZDsKK3N0YXRpYyBib29s
IGRpZEZpbmlzaExvYWQ7CitzdGF0aWMgYm9vbCBpc1BsYXlpbmdBdWRpb0NoYW5nZWQ7CisKK3N0
YXRpYyB2b2lkIG51bGxKYXZhU2NyaXB0Q2FsbGJhY2soV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVS
ZWYsIFdLRXJyb3JSZWYgZXJyb3IsIHZvaWQqKQoreworfQorCitzdGF0aWMgdm9pZCBpc01TRUVu
YWJsZWRDYWxsYmFjayhXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlZiBzZXJpYWxpemVkUmVzdWx0
VmFsdWUsIFdLRXJyb3JSZWYgZXJyb3IsIHZvaWQqKQoreworICAgIEpTR2xvYmFsQ29udGV4dFJl
ZiBzY3JpcHRDb250ZXh0ID0gSlNHbG9iYWxDb250ZXh0Q3JlYXRlKDApOworCisgICAgSlNWYWx1
ZVJlZiByZXN1bHRWYWx1ZSA9IFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlRGVzZXJpYWxpemUoc2Vy
aWFsaXplZFJlc3VsdFZhbHVlLCBzY3JpcHRDb250ZXh0LCAwKTsKKyAgICBFWFBFQ1RfVFJVRShK
U1ZhbHVlSXNCb29sZWFuKHNjcmlwdENvbnRleHQsIHJlc3VsdFZhbHVlKSk7CisKKyAgICBpc01T
RUVuYWJsZWRDaGFuZ2VkID0gdHJ1ZTsKKyAgICBpc01TRUVuYWJsZWQgPSBKU1ZhbHVlVG9Cb29s
ZWFuKHNjcmlwdENvbnRleHQsIHJlc3VsdFZhbHVlKTsKKworICAgIEpTR2xvYmFsQ29udGV4dFJl
bGVhc2Uoc2NyaXB0Q29udGV4dCk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JG
cmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikK
K3sKKyAgICBkaWRGaW5pc2hMb2FkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgaXNQbGF5aW5n
QXVkaW9EaWRDaGFuZ2VDYWxsYmFjayhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCopCit7Cisg
ICAgaXNQbGF5aW5nQXVkaW9DaGFuZ2VkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgc2V0VXBD
bGllbnRzKFdLUGFnZVJlZiBwYWdlKQoreworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRl
ckNsaWVudDsKKyAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVu
dCkpOworCisgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7CisgICAgbG9hZGVyQ2xp
ZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKKworICAg
IFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKKwor
ICAgIFdLUGFnZVVJQ2xpZW50VjUgdWlDbGllbnQ7CisgICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwg
c2l6ZW9mKHVpQ2xpZW50KSk7CisKKyAgICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSA1OworICAg
IHVpQ2xpZW50LmlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlID0gaXNQbGF5aW5nQXVkaW9EaWRDaGFu
Z2VDYWxsYmFjazsKKworICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChwYWdlLCAmdWlDbGllbnQu
YmFzZSk7Cit9CisKK1RFU1QoV2ViS2l0MiwgV0tQYWdlSXNQbGF5aW5nQXVkaW8pCit7CisgICAg
V0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVh
dGUoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKKyAg
ICBzZXRVcENsaWVudHMod2ViVmlldy5wYWdlKCkpOworCisgICAgV0tSZXRhaW5QdHI8V0tVUkxS
ZWY+IHVybCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoImZpbGUtd2l0aC12
aWRlbyIsICJodG1sIikpOworICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5n
ZXQoKSk7CisKKyAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOworCisgICAgRVhQRUNUX0ZB
TFNFKFdLUGFnZUlzUGxheWluZ0F1ZGlvKHdlYlZpZXcucGFnZSgpKSk7CisgICAgV0tQYWdlUnVu
SmF2YVNjcmlwdEluTWFpbkZyYW1lKHdlYlZpZXcucGFnZSgpLCBVdGlsOjp0b1dLKCJwbGF5Vmlk
ZW8oKSIpLmdldCgpLCAwLCBudWxsSmF2YVNjcmlwdENhbGxiYWNrKTsKKworICAgIFV0aWw6OnJ1
bigmaXNQbGF5aW5nQXVkaW9DaGFuZ2VkKTsKKyAgICBFWFBFQ1RfVFJVRShXS1BhZ2VJc1BsYXlp
bmdBdWRpbyh3ZWJWaWV3LnBhZ2UoKSkpOworfQorCitURVNUKFdlYktpdDIsIE1TRUlzUGxheWlu
Z0F1ZGlvKQoreworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0
V0soV0tDb250ZXh0Q3JlYXRlKCkpOworCisgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+
IHBhZ2VHcm91cChBZG9wdFdLLCBXS1BhZ2VHcm91cENyZWF0ZVdpdGhJZGVudGlmaWVyKFV0aWw6
OnRvV0soIk1TRUlzUGxheWluZ0F1ZGlvUGFnZUdyb3VwIikuZ2V0KCkpKTsKKyAgICBXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzID0gV0tQYWdlR3JvdXBHZXRQcmVmZXJlbmNlcyhwYWdlR3Jv
dXAuZ2V0KCkpOworICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVNvdXJjZUVuYWJsZWQocHJlZmVy
ZW5jZXMsIHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRGaWxlQWNjZXNzRnJvbUZpbGVVUkxz
QWxsb3dlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmll
dyhjb250ZXh0LmdldCgpLCBwYWdlR3JvdXAuZ2V0KCkpOworICAgIHNldFVwQ2xpZW50cyh3ZWJW
aWV3LnBhZ2UoKSk7CisKKyAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsID0gYWRvcHRXSyhV
dGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgiZmlsZS13aXRoLW1zZSIsICJodG1sIikpOworICAg
IGRpZEZpbmlzaExvYWQgPSBmYWxzZTsKKyAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgp
LCB1cmwuZ2V0KCkpOworCisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKworICAgIC8v
IEJhaWwgb3V0IG9mIHRoZSB0ZXN0IGVhcmx5IGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBw
b3J0IE1TRS4KKyAgICBpc01TRUVuYWJsZWRDaGFuZ2VkID0gZmFsc2U7CisgICAgV0tQYWdlUnVu
SmF2YVNjcmlwdEluTWFpbkZyYW1lKHdlYlZpZXcucGFnZSgpLCBVdGlsOjp0b1dLKCJ3aW5kb3cu
TWVkaWFTb3VyY2UgIT09IHVuZGVmaW5lZCIpLmdldCgpLCAwLCBpc01TRUVuYWJsZWRDYWxsYmFj
ayk7CisgICAgVXRpbDo6cnVuKCZpc01TRUVuYWJsZWRDaGFuZ2VkKTsKKyAgICBpZiAoIWlzTVNF
RW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgRVhQRUNUX0ZBTFNFKFdLUGFnZUlzUGxh
eWluZ0F1ZGlvKHdlYlZpZXcucGFnZSgpKSk7CisgICAgaXNQbGF5aW5nQXVkaW9DaGFuZ2VkID0g
ZmFsc2U7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKHdlYlZpZXcucGFnZSgp
LCBVdGlsOjp0b1dLKCJwbGF5VmlkZW8oKSIpLmdldCgpLCAwLCBudWxsSmF2YVNjcmlwdENhbGxi
YWNrKTsKKworICAgIFV0aWw6OnJ1bigmaXNQbGF5aW5nQXVkaW9DaGFuZ2VkKTsKKyAgICBFWFBF
Q1RfVFJVRShXS1BhZ2VJc1BsYXlpbmdBdWRpbyh3ZWJWaWV3LnBhZ2UoKSkpOworfQorCit9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tCmluZGV4IGIyZTZmZDM2YWM3ZTQ3N2Iz
ZjBmNzg4MzA1NWY5MjU4MTE0Nzk3NDQuLjIwNDA4MThlNjViYjM4OWU0YjcxOTJjNTdhMTRmZmJm
YjdmOTc0MTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL0NvZGluZy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9Db2RpbmcubW0KQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBXS19BUElfRU5BQkxFRAogCiAjaW1w
b3J0IDxXZWJLaXQvV0tQcm9jZXNzUG9vbFByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtOTksOSArMTAwLDExIEBAIFRFU1QoQ29kaW5nLCBX
S1dlYlZpZXdDb25maWd1cmF0aW9uKQogICAgIFthIHNldEFsbG93c0FpclBsYXlGb3JNZWRpYVBs
YXliYWNrOk5PXTsKICAgICBbYSBzZXREYXRhRGV0ZWN0b3JUeXBlczpXS0RhdGFEZXRlY3RvclR5
cGVBbGxdOwogCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIFthIHNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2s6WUVTXTsKICAgICBbYSBzZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXli
YWNrOk5PXTsKKyAgICBbYSBfc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazpO
T107CisgICAgW2EgX3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6Tk9dOwor
I2lmIFBMQVRGT1JNKElPUykKICAgICBbYSBzZXRTZWxlY3Rpb25HcmFudWxhcml0eTpXS1NlbGVj
dGlvbkdyYW51bGFyaXR5Q2hhcmFjdGVyXTsKICAgICBbYSBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjazpOT107CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNzA1YTM1NWYyNTRjOTRmODJk
MjJmNGIxODNkZDI3NmMyOGI0N2QxLi45OWYwMjNiNWMyZDQ2ZWJiMGUwMjk4NTBkNDhlNWVhMjY0
NzM0NjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIgcHJl
ZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwgZGlz
dGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBsYXlvdXQgdGVzdHMg
dG8gcmVmbGVjdCBuZXcgcmVzdHJpY3Rpb24gbmFtZS4KKworICAgICAgICAqIG1lZGlhL2F1ZGlv
LXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9u
by1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5odG1sOgorICAgICAgICAq
IG1lZGlhL3ZpZGVvLWxvYWQtcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbDoKKyAgICAgICAgKiBt
ZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWw6CisKIDIwMTYtMDMtMDgg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQ1JBU0ggYXQgV2Vi
Q29yZTo6UmVuZGVyVmlldzo6dXBkYXRlVmlzaWJsZVZpZXdwb3J0UmVjdApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5
LWV4cGVjdGVkLnR4dAppbmRleCBhMzczMTRkNThlYjQwODdhNTIwNWQ4MjlhNjc2ZmZhYzQ0ODBi
MGE0Li42NTg5ZjgxY2EyOGNlODYyYWU0OGY1Yjg4YmZhZTk3NjQwOGMyNDY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlv
bi1wbGF5LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKLVRlc3QgdGhhdCwgd2hlbiBib3Ro
IFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgYW5kIFJlcXVpcmVVc2VyR2VzdHVyZUZv
ckF1ZGlvUmF0ZUNoYW5nZSBpcyBzZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZp
bGUgcmVxdWlyZXMgYSB1c2VyIGdlc3R1cmUuCitUZXN0IHRoYXQsIHdoZW4gUmVxdWlyZVVzZXJH
ZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3RhcnRpbmcgcGxheWJhY2sgb2YgYW4g
YXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS4KIAogCi1SVU4oaW50ZXJuYWxzLnNl
dE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJh
dGVDaGFuZ2UsUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIikpCitSVU4oaW50
ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2Vz
dHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSIpKQogUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUo
J2F1ZGlvJywgJ2NvbnRlbnQvdGVzdCcpKQogRVZFTlQoY2FucGxheXRocm91Z2gpCiBSVU4odmlk
ZW8ucGxheSgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2st
cmVzdHJpY3Rpb24tcGxheS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2st
cmVzdHJpY3Rpb24tcGxheS5odG1sCmluZGV4IDM5YmI1MDgzMjRmNTI5ODE0MzMyNTE4NGI4Nzhm
ODEyOGVlZjJiMzUuLjlmZmYzZDM2ZGNmNmQxODRjOTg3ZjFiMThiZTdkMDU2Y2NkZGZhMzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBs
YXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlv
bi1wbGF5Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAKICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnYXVkaW8nKVswXTsKIAogICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICAgICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3Ry
aWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsUmVxdWlyZVVz
ZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIiknKTsKKyAgICAgICAgICAgIHJ1bignaW50ZXJu
YWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVy
ZUZvckF1ZGlvUmF0ZUNoYW5nZSIpJyk7CiAKICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgn
ZXJyb3InKTsKICAgICAgICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0
aHJvdWdoKTsKQEAgLTM2LDcgKzM2LDcgQEAKIDwvaGVhZD4KIAogPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotICAgIDxwPlRlc3QgdGhhdCwgd2hlbiBib3RoIFJlcXVpcmVVc2VyR2VzdHVyZUZv
clJhdGVDaGFuZ2UgYW5kIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSBpcyBz
ZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZpbGUgcmVxdWlyZXMgYSB1c2VyIGdl
c3R1cmUuPC9wPgorICAgIDxwPlRlc3QgdGhhdCwgd2hlbiBSZXF1aXJlVXNlckdlc3R1cmVGb3JB
dWRpb1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBhbiBhdWRpbyBmaWxl
IHJlcXVpcmVzIGEgdXNlciBnZXN0dXJlLjwvcD4KICAgICA8YXVkaW8gY29udHJvbHMgYXV0b3Bs
YXk+PC9hdWRpbz4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5o
dG1sCmluZGV4IDQ4NjM0MzVhNmY2ODFiZGU1Mjk4YzllZDcyMDY1ZDZjYjkwMzkxY2QuLjVjZWRi
YjgxOGFhM2E2YTM3Njg4YWE1OWRkYzRlOGUzM2Y2ZDZjOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL21lZGlhL25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVx
dWlyZW1lbnQuaHRtbApAQCAtNSw3ICs1LDcgQEAKICAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8t
dGVzdC5qcz48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSAKLSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHRydWUpOworICAgICAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUodHJ1ZSk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RQbGF5KCkKICAg
ICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVx
dWlyZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVx
dWlyZS11c2VyLWdlc3R1cmUuaHRtbAppbmRleCAxMTdiNDg4YjcxODEyZmVhNjEzMDc1NTE4Njhk
MjhiMWZkZDc3ZjkwLi4zYjMxMjU3Y2M1MGY0OGRhMTc2MGUwOWRhY2UyYzBlMGJhNGMyMDIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0
dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXIt
Z2VzdHVyZS5odG1sCkBAIC03LDcgKzcsNyBAQAogICAgICAgICAgICAgdmFyIHVzZXJHZXN0dXJl
SW5pdGlhdGVkID0gMDsKIAogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIAotICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2Vz
dHVyZUZvck1lZGlhUGxheWJhY2sodHJ1ZSk7CisgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSh0cnVlKTsK
IAogICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdChzdWNjZXNzKQogICAgICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXIt
Z2VzdHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXIt
Z2VzdHVyZS5odG1sCmluZGV4IDQ2YzE5YmZiYWM1MTJiMTQwOGE5ZGFlMWI2ZmE2NzY4MjNiMTI3
OWMuLmY1Y2Y2MDQwMjBjN2JhNGRmMzRhMTE0OTg5MDJkNDNhYzc1NzliMTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0
bWwKQEAgLTcsNyArNyw3IEBACiAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICB2YXIgdXNl
ckdlc3R1cmVJbml0aWF0ZWQgPSAwOwogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IAotICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sodHJ1ZSk7CisgICAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSh0
cnVlKTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gY2xpY2soKQogICAgICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273478</attachid>
            <date>2016-03-09 14:20:28 -0800</date>
            <delta_ts>2016-03-09 14:36:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160309142014.patch</filename>
            <type>text/plain</type>
            <size>36013</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY4NGExN2Y5YzE3OTA2
Y2M3NTI2ZTkyOTFlODNlZjAzNjM3ZmNlZS4uNDczZmQzMzA5M2VkNjdhMDk0Y2YzYmNiYzAzOGQ3
MDIwZDBmNzAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDUkFTSCBhdCBX
ZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVWaXNpYmxlVmlld3BvcnRSZWN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDQ5MGRjNWQ1ZTY1MDRlMDcwN2E1NmMxOGQyNTEyMzczNjBiYmZmYi4uYTNkN2Vi
ZTI1ZTVmNDQwNDQ0ZjRhODMxYWYxOTQ1Y2JiY2FmYjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1
aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBn
ZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAyLTI2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciB3aGVuIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSIGNvbnRhaW5zIHNwYWNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZmFlYjcwMjQ4MmNjODlkNmQ5NGEz
NWNlMTdhMDI5ZjBmZjRiMjMyLi5kMzJjOWYyNmJmZGY4OGZkMjNmMjk3YTMxMDAwN2U1NGY0MjRh
NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDMtMDcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIg
cHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwg
ZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcmVmZXJl
bmNlLCB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSwgZGlzdGluY3QgZnJvbSBtZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZS4gTGVnYWN5IGNsaWVudHMgb2YgCisgICAgICAg
IG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHdpbGwgc3RpbGwgYmUgYWJsZSB0byB1
c2UgaXQgbm9ybWFsbHksIGFzIHNldHRpbmcgdGhhdCBwcmVmZXJlbmNlIHRvIHRydWUgd2lsbCBl
ZmZlY3RpdmVseQorICAgICAgICBzZXQgYm90aCBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZSBhbmQgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgdG8gdHJ1ZS4gTWFrZSB0
aGVzZSBwcmVmZXJlbmNlcyBhbGwgYXZhaWxhYmxlCisgICAgICAgIHVuaXZlcnNhbGx5LCByYXRo
ZXIgdGhhbiBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFRoaXMgcmVxdWlyZXMgYWRkaW5nIGEgZGVm
aW5pdGlvbiBmb3IgLXNldFJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2s6CisgICAg
ICAgIGFuZCAtcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayBvbiAhUExBVEZPUk0o
SU9TKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKToKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6
XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1l
ZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRSZXF1
aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDE2LTAyLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXZWJLaXQgMiBJUEMgbGF5ZXIgZWFzaWx5
IGNvbmZ1c2VkIGFib3V0IG11bHRpcGxlIHdlYiBwcm9jZXNzZXMgYmVpbmcgY29ubmVjdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDU0NmJmY2QzOWVmODg4ZjAyZGE4M2FiYzFhY2ZhMTY4YzMwYmY0OGMuLmE3ZmU2MTM0NmVm
YzYyMDAxNmFlZTI5ZTBiM2I1ZjMzZmVjZTBmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lk
IEF1ZGlvQ29udGV4dDo6Y29uc3RydWN0Q29tbW9uKCkKICAgICBtX2xpc3RlbmVyID0gQXVkaW9M
aXN0ZW5lcjo6Y3JlYXRlKCk7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKCFkb2N1bWVu
dCgpLT5zZXR0aW5ncygpIHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpCisgICAgaWYgKCFkb2N1bWVudCgpLT5zZXR0aW5ncygp
IHx8IGRvY3VtZW50KCktPnNldHRpbmdzKCktPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKCkpCiAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yQXVkaW9TdGFydFJlc3RyaWN0aW9uKTsKICAgICBlbHNlCiAgICAgICAgIG1fcmVzdHJpY3Rp
b25zID0gTm9SZXN0cmljdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCBmMTcyZGRjOTViYjUzOGY0MTY2ZDg5ZjFmODhkN2VjYTY1NTFkZGMwLi45OGY5
MmY0OTU1NTQ5ZGIxYjdhNzAwNDMzOTM1ZjA0NmEwZjRkOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQxMiwzMSArNDEyLDMwIEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24o
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRvRXh0ZXJu
YWxEZXZpY2UpOwogI2VuZGlmCiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFuIHVwIGFu
ZCBsb29rIHRvIGJldHRlciBtZXJnZSB0aGUgaU9TIGFuZCBub24taU9TIGNvZGUgYmVsb3cuCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQuc2V0dGluZ3MoKTsKLSNpZiAhUExBVEZP
Uk0oSU9TKQotICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2soKSkgewotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZp
b3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JS
YXRlQ2hhbmdlKTsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAg
fQotI2Vsc2UKKyNpZiBQTEFURk9STShJT1MpCiAgICAgbV9zZW5kUHJvZ3Jlc3NFdmVudHMgPSBm
YWxzZTsKLSAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yTWVkaWFQbGF5YmFjaygpKSB7CisjZW5kaWYKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRp
bmdzLT52aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIC8vIEFs
bG93IGF1dG9wbGF5IGluIGEgTWVkaWFEb2N1bWVudCB0aGF0IGlzIG5vdCBpbiBhbiBpZnJhbWUu
Ci0gICAgICAgIGlmIChkb2N1bWVudC5vd25lckVsZW1lbnQoKSB8fCAhZG9jdW1lbnQuaXNNZWRp
YURvY3VtZW50KCkpCi0gICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0
cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hh
bmdlKTsKKyAgICAgICAgaWYgKGRvY3VtZW50Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5p
c01lZGlhRG9jdW1lbnQoKSkgeworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
VmlkZW9SYXRlQ2hhbmdlKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlv
clJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxv
YWQpOworICAgICAgICB9CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAg
ICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9TaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOwog
I2VuZGlmCi0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yRnVsbHNjcmVlbiB3aGVuIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlz
IG5vdCBzZXQ6CisgICAgfQorI2lmIFBMQVRGT1JNKElPUykKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gUmVsYXggUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbiB3aGVuIHZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlIGlzIG5vdCBzZXQ6CiAgICAgICAgIG1fbWVkaWFTZXNzaW9u
LT5yZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVV
c2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIH0KKyNlbmRpZgogICAgIGlmIChzZXR0aW5n
cyAmJiBzZXR0aW5ncy0+aW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQoKSkKICAgICAgICAg
bV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lv
bjo6SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQpOwotI2VuZGlmIC8vICFQTEFURk9STShJ
T1MpCiAKLSAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlKCkgJiYgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrKCkpCisgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5hdWRpb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZSgpKQogICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JS
ZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UpOwogCiAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPm1lZGlhRGF0
YUxvYWRzQXV0b21hdGljYWxseSgpKQpAQCAtNjE2OCw3ICs2MTY3LDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1
cmUoKQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRv
QXV0b3BsYXlUb0V4dGVybmFsRGV2aWNlCiAjZW5kaWYKICAgICAgICAgfCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkCi0gICAgICAgIHwgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZQorICAgICAgICB8IE1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZQogICAg
ICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0
ZUNoYW5nZQogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVy
ZUZvckZ1bGxzY3JlZW4KICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCmluZGV4IDFhNGRlNjQwYTQ0NzA5OTc4NGFhZTI1YWNhNzQ3NjFkZDI4NTc1Y2Iu
LjZlMTM5NzYzMDdhNTI1MWQxYjRjNGRiOWM5NzBmYzUxY2NhMzVjYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNjMsNyArNjMsNyBAQCBzdGF0
aWMgU3RyaW5nIHJlc3RyaWN0aW9uTmFtZShNZWRpYUVsZW1lbnRTZXNzaW9uOjpCZWhhdmlvclJl
c3RyaWN0aW9ucyByZXN0cmljdAogCiAgICAgQ0FTRShOb1Jlc3RyaWN0aW9ucyk7CiAgICAgQ0FT
RShSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkKTsKLSAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVy
ZUZvclJhdGVDaGFuZ2UpOworICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRl
Q2hhbmdlKTsKICAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSk7
CiAgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuKTsKICAgICBDQVNFKFJl
cXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhKTsKQEAgLTEzMCwxMiArMTMwLDEyIEBAIGJvb2wg
TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoY29uc3QgSFRNTE1lZGlhRWxl
bWVudCYgZWxlbWVudCkgY29uCiAgICAgaWYgKHBhZ2VFeHBsaWNpdGx5QWxsb3dzRWxlbWVudFRv
QXV0b3BsYXlJbmxpbmUoZWxlbWVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYg
KG1fcmVzdHJpY3Rpb25zICYgUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAmJiAhU2Ny
aXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgeworICAgIGlm
IChtX3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSAm
JiBlbGVtZW50LmlzVmlkZW8oKSAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRTZXNz
aW9uOjpwbGF5YmFja1Blcm1pdHRlZCAtIHJldHVybmluZyBGQUxTRSIpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKG1fcmVzdHJpY3Rpb25zICYgUmVxdWlyZVVzZXJH
ZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlICYmIGVsZW1lbnQuaGFzQXVkaW8oKSAmJiAhU2NyaXB0
Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgeworICAgIGlmICht
X3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSAmJiAo
IWVsZW1lbnQuaXNWaWRlbygpIHx8IGVsZW1lbnQuaGFzQXVkaW8oKSkgJiYgIVNjcmlwdENvbnRy
b2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKICAgICAgICAgTE9HKE1l
ZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQgLSByZXR1cm5pbmcg
RkFMU0UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggMzUxY2IwZWJkZTUwMDIyYTVlY2JiYWNlNGM2
YWQ1ZGJhMzQzOWE2NS4uMThlZTJhYzI1YjZlOTQ5YWJmMzMwZDEzMjdlNDYzNTk4NDFhYjE3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogICAgIGVudW0gQmVoYXZpb3JSZXN0cmljdGlvbkZsYWdzIHsKICAgICAg
ICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2Fk
ID0gMSA8PCAwLAotICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlID0gMSA8
PCAxLAorICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UgPSAxIDw8
IDEsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4gPSAxIDw8IDIsCiAg
ICAgICAgIFJlcXVpcmVQYWdlQ29uc2VudFRvTG9hZE1lZGlhID0gMSA8PCAzLAogICAgICAgICBS
ZXF1aXJlUGFnZUNvbnNlbnRUb1Jlc3VtZU1lZGlhID0gMSA8PCA0LApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcAppbmRleCA2NzYyNzg2OTVhZmJiNjhmM2QzYjM2MDU1MGU1NjRlMzk5YTNhM2Y4Li5h
ZDRhNzA0MWEwYjBiZjY2ZWQ4NzcwZmUzOGY3NDNlNDg5MWE2NGUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRG
aXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9jdW1lbnQgPSB0cnVlOwogc3RhdGljIGNv
bnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5h
YmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFjayA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gdHJ1ZTsKLXN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayA9IHRydWU7Citz
dGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUg
PSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRNZWRpYURhdGFMb2Fk
c0F1dG9tYXRpY2FsbHkgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTaG91bGRS
ZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9IHRydWU7CkBAIC0xNDgsNyArMTQ4LDcgQEAgc3RhdGlj
IGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVkQmFja2dyb3VuZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVu
dCA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wg
ZGVmYXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0g
ZmFsc2U7Ci1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2sgPSBmYWxzZTsKK3N0YXRpYyBjb25zdCBib29sIGRlZmF1bHRWaWRlb1BsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVs
dEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gZmFsc2U7CiBzdGF0aWMgY29uc3Qg
Ym9vbCBkZWZhdWx0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gdHJ1ZTsKIHN0YXRpYyBj
b25zdCBib29sIGRlZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9IGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggYjU0ZjhkMzFkN2Q5NmQ4ZDQ3Mzk2MjZiZjhmY2M4
MzYxZDU2Mjg1OC4uMzE3NmZhZTFhZWQ2ZDRiZmUwZDUyNzUyMjhlOWQxODMyNzJkMzQxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0xMjUsNyArMTI1LDcgQEAgc2hvdWxkSW5qZWN0VXNl
clNjcmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50IGluaXRpYWw9ZmFsc2UKIGZpeGVkRWxlbWVu
dHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUgaW5pdGlhbD1mYWxzZQogYWxsb3dEaXNwbGF5T2ZJbnNl
Y3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQogYWxsb3dSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQg
aW5pdGlhbD1mYWxzZQotcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sgaW5pdGlh
bD1kZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sKK3ZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVsdFZpZGVvUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlCiBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSBpbml0aWFsPWRl
ZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQogYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFjayBpbml0aWFsPWRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrCiBpbmxpbmVN
ZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSBpbml0aWFsPWRlZmF1bHRJ
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGE5YjUyNGQ4NDI2NTJhYTdkOGU1ZjMzNjE3NmIx
ZWM1MTM5NjRhMmQuLjg0OGY3YTczZDMyOTIxY2EzYzBjNDdmMjE5MDcwOWUxMmFkZWRhOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMwNDUsOCArMzA0NSw4IEBAIHZv
aWQgSW50ZXJuYWxzOjpzZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMoSFRNTE1lZGlhRWxlbWVu
dCogZWxlbWVudCwgY29uc3QgU3RyCiAgICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFF
bGVtZW50U2Vzc2lvbjo6Tm9SZXN0cmljdGlvbnM7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZv
cmxvYWQiKSkKICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkOwotICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1cmVmb3Jy
YXRlY2hhbmdlIikpCi0gICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vz
c2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZTsKKyAgICAgICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJn
ZXN0dXJlZm9ydmlkZW9yYXRlY2hhbmdlIikpCisgICAgICAgICAgICByZXN0cmljdGlvbnMgfD0g
TWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdl
OwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25T
dHJpbmcsICJyZXF1aXJldXNlcmdlc3R1cmVmb3JmdWxsc2NyZWVuIikpCiAgICAgICAgICAgICBy
ZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
RnVsbHNjcmVlbjsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJl
c3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXBhZ2Vjb25zZW50dG9sb2FkbWVkaWEiKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IDFiNGRmNmQ4ZTM2N2ViYTljZWJmNzkyOGZjNzIwY2JhMGE0YThmNGQuLjUxNzEyMzI0
OTJhZTY2MDNjMzhhNTQ4MjcxYmEyOGQ1NzUxMzFmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTIxLDcgKzEy
MSw3IEBACiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlvbkVuYWJsZWRLZXkgQCJXZWJLaXRBVkZv
dW5kYXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25F
bmFibGVkS2V5IEAiV2ViS2l0QVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZEtleSBAIldlYktpdEhpeGll
NzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCi0jZGVmaW5lIFdlYktpdFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlIgorI2RlZmluZSBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRWaWRlb1BsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxh
eWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUiCiAjZGVmaW5lIFdlYktpdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKICNkZWZpbmUgV2ViS2l0SW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkgQCJJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDk5Yjc4NWFjZGYyMDBmZGI0NThhYjRh
NDY3ZGJjNTBlODY2YzEyNjIuLjgzOWVjMjVhMDUwNzQ4OWEyZmVlZTAzMmMzNGNkZmVkY2NjYjYy
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAt
NTIxLDcgKzUyMSw3IEBAIHB1YmxpYzoKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
Ok5PXSwgICBXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkS2V5LAogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFN1cHByZXNzZXNJbmNyZW1l
bnRhbFJlbmRlcmluZ0tleSwKICNpZiAhUExBVEZPUk0oSU9TKQotICAgICAgICBbTlNOdW1iZXIg
bnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VL
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNO
dW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
V2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXks
CkBAIC01MzUsNyArNTM1LDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0
aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uS2V5LAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdE1lZGlhRGF0YUxvYWRz
QXV0b21hdGljYWxseVByZWZlcmVuY2VLZXksCiAjZWxzZQotICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXli
YWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXks
CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja10sICAgV2ViS2l0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpyZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlXSwgV2ViS2l0SW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXksCkBAIC0yMjExLDE0
ICsyMjExLDI1IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKIH0K
ICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKKy8vIERlcHJlY2F0ZWQuIEhhcyBubyBlZmZlY3Qu
IAogLSAoQk9PTCltZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQogewotICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrUHJlZmVyZW5jZUtleV07CisgICAgcmV0dXJuIGZhbHNlOwogfQogCisvLyBEZXBy
ZWNhdGVkLiBIYXMgbm8gZWZmZWN0LgogLSAodm9pZClzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZTooQk9PTClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZv
cktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VL
ZXldOworfQorCistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCit7Cisg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRWaWRlb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJv
b2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5
YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09MKWF1ZGlvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAppbmRleCAwYjc0N2QyNjZjY2E4N2RiNGNiOWE0OWI1ZDU3NmI2MzE3ZWM4NTlm
Li43MDQxNDc3MzZjZjFkMTM5MTkwNGI3Y2IzMDYwN2YwNWRjMGEyNzUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTI0OCw5
ICsyNDgsMTMgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFu
Z2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09MKWh5cGVybGlua0F1ZGl0aW5nRW5hYmxl
ZDsKIC0gKHZvaWQpc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAK
Ky8vIERlcHJlY2F0ZWQuIEhhcyBubyBlZmZlY3QuCiAtICh2b2lkKXNldE1lZGlhUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKW1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlOwogCistICh2b2lkKXNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlOihCT09MKWZsYWc7CistIChCT09MKXZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlOworCiAtICh2b2lkKXNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09M
KWZsYWc7CiAtIChCT09MKWF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNmJlOTI1NTU3YTM2MGE5N2I2YzA1YTM0
NWFlNjJmODIzYTYzNGFlZC4uZTdkOTMzODE0ZTU0YTZjZGU4NDhmNGUxODMwNWNmOWM0Nzg0MzM2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjMzMiw3ICsyMzMyLDcg
QEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNl
dHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtzZWxmIGludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0VmFsaWRhdGlvbk1l
c3NhZ2VUaW1lck1hZ25pZmljYXRpb24oW3NlbGYgdmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25p
ZmljYXRpb25dKTsKIAotICAgIHNldHRpbmdzLnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0p
OworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVm
ZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdz
LnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVmZXJlbmNlcyBhdWRpb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2soW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVdKTsK
ICAgICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZShbcHJlZmVyZW5jZXMgaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxp
bmVBdHRyaWJ1dGVdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oCmluZGV4IDdiZTk2ZDI0NjMxNzAwYzVkMDBmYjM1NDk0NWVjYjI4ZGY1
NWVjYTAuLjU3ZTRlZmQxZDA1MTdlMjE0NzY4OGJlMmFlZDFhOGU0Yzg1NTgyYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAt
NzAsNyArNzAsNiBAQAogI2RlZmluZSBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExBWV9OT1RfUEVS
TUlUVEVEIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FM
TFkgZmFsc2UKICNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX01FRElB
X1BMQVlCQUNLIHRydWUKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9S
X0FVRElPX1BMQVlCQUNLIHRydWUKICNkZWZpbmUgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FM
RV9XSVRIX1BBR0VfWk9PTSBmYWxzZQogI2RlZmluZSBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NP
SE9SVF9SRVRFTlRJT05fRU5BQkxFRCBmYWxzZQogI2Vsc2UKQEAgLTg3LDcgKzg2LDYgQEAKICNk
ZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCBmYWxzZQogI2Rl
ZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSB0cnVlCiAjZGVmaW5l
IERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZQkFDSyBmYWxzZQot
I2RlZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9fUExBWUJBQ0sg
ZmFsc2UKICNkZWZpbmUgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FMRV9XSVRIX1BBR0VfWk9P
TSB0cnVlCiAjZGVmaW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JUX1JFVEVOVElPTl9F
TkFCTEVEIHRydWUKICNlbmRpZgpAQCAtMTUxLDcgKzE0OSw4IEBACiAgICAgbWFjcm8oQVZGb3Vu
ZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBc
CiAgICAgbWFjcm8oQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRp
b25OU1VSTFNlc3Npb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVf
Rk9SX01FRElBX1BMQVlCQUNLKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1
ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBi
b29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9fUExBWUJBQ0spIFwK
KyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgcmVxdWlyZXNV
c2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlKSBcCisgICAgbWFj
cm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1
cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEFsbG93
c0lubGluZU1lZGlhUGxheWJhY2ssIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJv
b2wsIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJQV9QTEFZQkFDSykgXAogICAgIG1hY3JvKElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBpbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgQm9vbCwgYm9vbCwgREVGQVVM
VF9JTkxJTkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVURSkg
XAogICAgIG1hY3JvKEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBpbnZpc2libGVBdXRv
cGxheU5vdFBlcm1pdHRlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlf
Tk9UX1BFUk1JVFRFRCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCmluZGV4IDllYmM4OGY2OTc5YjQ1ZWRkZmM4ZTRmODY0NDBiNDE1ZWZj
MDczODcuLjQyZmU4MzRjMDM0NzM0MWUzMDFhMThjMzE2YzY0MzI0YmVmNzY5ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTc1
OCw2ICs3NTgsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmMKICAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKTsK
IH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXli
YWNrKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9Q
bGF5YmFjaygpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBdWRpb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcp
CiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZv
ckF1ZGlvUGxheWJhY2soZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNhODA4ODMyNWE4ODRh
M2MxZjVjNGUzM2Y3YjljNzc3MGI4OThkOTMuLjUzMDliYTdjMjJlZTFlNzg0ZmRjNTU2NjIxODI2
ZjIwYjY0N2JjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC0xNzgsNiArMTc4LDEwIEBAIFdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZShXS1ByZWZlcmVuY2VzUmVmCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQ
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
Zik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggNmY4NTM3YWE3ODc2NTgzMWQ4NWFkODRiMjAwNzU3ODMzNTRh
Y2U5Yy4uN2YxY2RkZTgyNTU2ZGNjYzI0Yjg1MzBlZjAzOTNjM2NlYmRiNDA4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTM5OSwx
MCArMzk5LDEzIEBAIHN0YXRpYyBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlcyBmcm9tV0tEYXRh
RGV0ZWN0b3JUeXBlcyh1aW50NjRfdCB0eXBlcykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjppbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSgpLCBXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZV0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlv
bi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVN
ZWRpYVBsYXliYWNrXSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
KCkpKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJL
aXQ6OldlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
a0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0
aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2tdKSk7CisjZW5kaWYKKworICAg
IHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCksIFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVk
aW9QbGF5YmFja10pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygp
LnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjppbnZpc2libGVBdXRvcGxheU5vdFBlcm1p
dHRlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1
cmF0aW9uIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZF0pKTsKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
OjptZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHlLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5XSkpOwotI2VuZGlmCisKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6ZGF0YURldGVjdG9yVHlwZXNLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oZnJvbVdLRGF0YURldGVjdG9yVHlwZXMoW19j
b25maWd1cmF0aW9uIGRhdGFEZXRlY3RvclR5cGVzXSkpKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQppbmRleCAxMzAyM2JhNjZlZDY4NDlkZTFkMjcwZjc5OTYwZDU0YTAwNmQ3NWEx
Li5kY2E1YmQ0NzQ5MWM1NTk1OGJmM2Q2ZmY0OTQ1ZDc1NzA4ZDJjNDVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uLm1tCkBAIC0xMDMsMTAgKzEwMywxMyBAQCBwcml2YXRlOgogICAgIEJPT0wgX2Fs
d2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKICAgICBCT09MIF9hbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrOwogICAgIEJPT0wgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5s
aW5lQXR0cmlidXRlOworI2VuZGlmCisKICAgICBCT09MIF9pbnZpc2libGVBdXRvcGxheU5vdFBl
cm1pdHRlZDsKICAgICBCT09MIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAgQk9P
TCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKICAgICBCT09MIF9yZXF1aXJl
c1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwotI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMp
CiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKICAgICBCT09MIF9zZXJ2aWNlQ29udHJv
bHNFbmFibGVkOwpAQCAtMTI1LDEyICsxMjgsMTggQEAgcHJpdmF0ZToKICAgICAKICNpZiBQTEFU
Rk9STShJT1MpCiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBZRVM7
Ci0gICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBZRVM7CiAgICAgX2Fs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwogICAgIF9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrID0gV2ViQ29yZTo6ZGV2aWNlQ2xhc3MoKSA9PSBNR0RldmljZUNsYXNz
aVBhZDsKICAgICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1
dGUgPSAhX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Ci0gICAgX2ludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkID0gWUVTOwogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBO
TzsKKyNlbHNlCisgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyNlbmRp
ZgorICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gTk87CisgICAgX3Jl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBOTzsKKyAgICBfaW52aXNpYmxlQXV0
b3BsYXlOb3RQZXJtaXR0ZWQgPSBOTzsKKworI2lmIFBMQVRGT1JNKElPUykKICAgICBfcmVzcGVj
dHNJbWFnZU9yaWVudGF0aW9uID0gWUVTOwogICAgIF9wcmludHNCYWNrZ3JvdW5kcyA9IFlFUzsK
ICNlbmRpZgpAQCAtMjMzLDE1ICsyNDIsMTcgQEAgcHJpdmF0ZToKICAgICBjb25maWd1cmF0aW9u
LT5fY29udmVydHNQb3NpdGlvblN0eWxlT25Db3B5ID0gc2VsZi0+X2NvbnZlcnRzUG9zaXRpb25T
dHlsZU9uQ29weTsKICAgICBjb25maWd1cmF0aW9uLT5fYWxsb3dzTWV0YVJlZnJlc2ggPSBzZWxm
LT5fYWxsb3dzTWV0YVJlZnJlc2g7CiAKKyAgICBjb25maWd1cmF0aW9uLT5faW52aXNpYmxlQXV0
b3BsYXlOb3RQZXJtaXR0ZWQgPSBzZWxmLT5faW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ7
CisgICAgY29uZmlndXJhdGlvbi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IHNlbGYt
Pl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAgY29uZmlndXJhdGlvbi0+X3JlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9u
Rm9yVmlkZW9QbGF5YmFjazsKKyAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9u
Rm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXli
YWNrOworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAg
Y29uZmlndXJhdGlvbi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0
cmlidXRlID0gc2VsZi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0
cmlidXRlOwotICAgIGNvbmZpZ3VyYXRpb24tPl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRl
ZCA9IHNlbGYtPl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDsKLSAgICBjb25maWd1cmF0
aW9uLT5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gc2VsZi0+X21lZGlhRGF0YUxvYWRz
QXV0b21hdGljYWxseTsKKyAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNr
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
ayA9IHNlbGYtPl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKICAgICBjb25m
aWd1cmF0aW9uLT5fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gX2Fsd2F5c1J1bnNB
dEZvcmVncm91bmRQcmlvcml0eTsKLSAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0
aW9uRm9yTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBs
YXliYWNrOwotICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1Bs
YXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CiAgICAg
Y29uZmlndXJhdGlvbi0+X3NlbGVjdGlvbkdyYW51bGFyaXR5ID0gc2VsZi0+X3NlbGVjdGlvbkdy
YW51bGFyaXR5OwogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNTE2LDYgKzUyNyw3IEBA
IHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCgpCiB7
CiAgICAgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0g
cmVxdWlyZXM7CiB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAtIChCT09MKV9pbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZAogewpAQCAtNTM3LDYgKzU0OSwxNiBAQCBzdGF0aWMgTlNT
dHJpbmcgKmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogICAgIF9tZWRpYURh
dGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CiB9CiAK
Ky0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sKKyAgICByZXR1
cm4gX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7Cit9CisKKy0gKHZvaWQpX3Nl
dFJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KEJPT0wpcmVxdWlyZXNVc2VyQWN0
aW9uRm9yVmlkZW9QbGF5YmFjaworeworICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1Bs
YXliYWNrID0gcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKK30KKwogLSAoQk9P
TClfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjawogewogICAgIHJldHVybiBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKQEAgLTU0Nyw4ICs1NjksNiBAQCBzdGF0
aWMgTlNTdHJpbmcgKmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogICAgIF9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gcmVxdWlyZXNVc2VyQWN0aW9uRm9y
QXVkaW9QbGF5YmFjazsKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLQogI2lmIFBMQVRG
T1JNKE1BQykKIC0gKEJPT0wpX3Nob3dzVVJMc0luVG9vbFRpcHMKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvblByaXZhdGUuaAppbmRleCBmOTYwNWY5MjZlMTViYTYwNGQxY2ZiY2Q4OTA5MGFk
OGFmN2EyMDA4Li5hMzkwZjFhNTQ4NDIzMmZiMTU1ZGY5NWE3OTA2YTEwODZmZmVmYTBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC00OSwxNCArNDksMTQgQEAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c0phdmFTY3JpcHRNYXJrdXA6KSBC
T09MIF9hbGxvd3NKYXZhU2NyaXB0TWFya3VwIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19J
T1NfVEJBKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvbnZlcnRzUG9zaXRp
b25TdHlsZU9uQ29weTopIEJPT0wgX2NvbnZlcnRzUG9zaXRpb25TdHlsZU9uQ29weSBXS19BVkFJ
TEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRBbGxvd3NNZXRhUmVmcmVzaDopIEJPT0wgX2FsbG93c01ldGFSZWZyZXNoIFdLX0FW
QUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6KSBCT09MIF9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBX
S19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNl
ckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRl
b1BsYXliYWNrIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikg
Qk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19U
QkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFE
YXRhTG9hZHNBdXRvbWF0aWNhbGx5OikgQk9PTCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5
IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIAogI2lmIFRBUkdFVF9PU19J
UEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNBdEZvcmVn
cm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBXS19B
VkFJTEFCTEUoTkEsIDlfMCk7Ci0KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJl
cXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rp
b25Gb3JBdWRpb1BsYXliYWNrIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZTopIEJPT0wgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlz
SW5saW5lQXR0cmlidXRlIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDopIEJP
T0wgX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9T
X1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNZWRpYURhdGFMb2Fkc0F1
dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgV0tfQVZBSUxB
QkxFKE5BLCBXS19JT1NfVEJBKTsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19B
VkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQg
V0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5BKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA0MTA2NDM0NTVhMzcxMjQ3N2JmNzk0ZmE1NGU3
ZjQ2ZDliZmRjNmQ0Li40YzliOWNiOTlmZjM3MDQ1ZWRhYTAzMjI4NTc1OTA5MjQ1ZTRjN2FlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0y
ODc0LDggKzI4NzQsOSBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdl
YlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNldHRpbmdzLnNldFdlYkdMRW5hYmxlZChz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndlYkdMRW5hYmxlZEtl
eSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Zm9yY2VTb2Z0d2FyZVdlYkdM
UmVuZGVyaW5nS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFjY2VsZXJh
dGVkMmRDYW52YXNFbmFibGVkS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCkpKTsKLSAg
ICBzZXR0aW5ncy5zZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JB
dWRpb1BsYXliYWNrS2V5KCkpKTsKKyAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRp
YSA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSk7CisgICAgc2V0dGluZ3Muc2V0VmlkZW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUocmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhIHx8
IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2Vy
R2VzdHVyZUZvclZpZGVvUGxheWJhY2tLZXkoKSkpOworICAgIHNldHRpbmdzLnNldEF1ZGlvUGxh
eWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSB8fCBz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SW5s
aW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbmxpbmVNZWRpYVBsYXliYWNrUmVxdWly
ZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SW52aXNpYmxl
QXV0b3BsYXlOb3RQZXJtaXR0ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjppbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZEtleSgpKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273484</attachid>
            <date>2016-03-09 14:36:19 -0800</date>
            <delta_ts>2016-03-10 12:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160309143606.patch</filename>
            <type>text/plain</type>
            <size>62968</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3ODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY4YWFlZWRlMjEzMWMw
YjM2MTQxNjcwYzg2OGQzZTZlYThlYzlkYS4uODM3YjIwZjA4YjE0NDIyMzlhOWVmZTM4OTJhZTA2
NDJmMmZjYzAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMy0w
OSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgTm9k
ZS50cmVlUm9vdCB0byByb290Tm9kZSBhbmQgdHVybiBpdCBvbiBieSBkZWZhdWx0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggYjE4YjMxNTZhZDIwZjAxZDc3N2RhYTU1MjA4MDljYjViMDUxNzQ5MS4uMTcw
Y2M4ZjU1ODVjYjdkZmIzMjViMTMwNGZmMzUxNjZkZDAwYTQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciBy
ZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNl
ciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJh
Y2tSZXF1aXJlc1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAg
ICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZl
cmVuY2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAg
ICAgICAoLVtXZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0p
OgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE2LTAzLTA4ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3RhcnQgbW92aW5nIHRvIHNlcGFyYXRlZCB3cml0YWJsZSBhbmQg
ZXhlY3V0YWJsZSBtYXBwaW5ncyBpbiB0aGUgSklUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzc2NTg2NDIwYWM5
NzJjMGI2M2RlOGExNjA2MTQzMjZhN2I4NzgyZS4uYzJkOGM2Yjg2OTViNzUzMmE1MDE1NDE5YWU2
YTExMGQ3MDQzMmM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTAzLTA3ICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBX
SyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3Igdmlk
ZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBu
ZXcgcHJlZmVyZW5jZSwgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUsIGRpc3RpbmN0
IGZyb20gbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUuIExlZ2FjeSBjbGllbnRzIG9m
IAorICAgICAgICBtZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSB3aWxsIHN0aWxsIGJl
IGFibGUgdG8gdXNlIGl0IG5vcm1hbGx5LCBhcyBzZXR0aW5nIHRoYXQgcHJlZmVyZW5jZSB0byB0
cnVlIHdpbGwgZWZmZWN0aXZlbHkKKyAgICAgICAgc2V0IGJvdGggYXVkaW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUgYW5kIHZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIHRvIHRy
dWUuIE1ha2UgdGhlc2UgcHJlZmVyZW5jZXMgYWxsIGF2YWlsYWJsZQorICAgICAgICB1bml2ZXJz
YWxseSwgcmF0aGVyIHRoYW4ganVzdCBvbiBQTEFURk9STShJT1MpLiBUaGlzIHJlcXVpcmVzIGFk
ZGluZyBhIGRlZmluaXRpb24gZm9yIC1zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXli
YWNrOgorICAgICAgICBhbmQgLXJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgb24g
IVBMQVRGT1JNKElPUykuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNTZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6
CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9zZXRPYnNjdXJlZEluc2V0czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGVu
Y29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0
V2l0aENvZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRo
Wm9uZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiByZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JNZWRpYVBsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjazpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSk6CisgICAg
ICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
azpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0
aW9uRm9yVmlkZW9QbGF5YmFja10pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9u
IF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOl0pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAxNi0wMy0wOSAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCB1c2UtYWZ0ZXItZnJl
ZSB3aGVuIGNhbmNlbGxpbmcgc3luY2hyb25vdXMgWEhSIHdoZW4gdXNpbmcgTmV0d29ya1Nlc3Np
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNw
cAppbmRleCA1NDZiZmNkMzllZjg4OGYwMmRhODNhYmMxYWNmYTE2OGMzMGJmNDhjLi5hN2ZlNjEz
NDZlZmM2MjAwMTZhZWUyOWUwYjNiNWYzM2ZlY2UwZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC0xNzIsNyArMTcyLDcgQEAg
dm9pZCBBdWRpb0NvbnRleHQ6OmNvbnN0cnVjdENvbW1vbigpCiAgICAgbV9saXN0ZW5lciA9IEF1
ZGlvTGlzdGVuZXI6OmNyZWF0ZSgpOwogCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIGlmICghZG9j
dW1lbnQoKS0+c2V0dGluZ3MoKSB8fCBkb2N1bWVudCgpLT5zZXR0aW5ncygpLT5yZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaygpKQorICAgIGlmICghZG9jdW1lbnQoKS0+c2V0dGlu
Z3MoKSB8fCBkb2N1bWVudCgpLT5zZXR0aW5ncygpLT5hdWRpb1BsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZSgpKQogICAgICAgICBhZGRCZWhhdmlvclJlc3RyaWN0aW9uKFJlcXVpcmVVc2VyR2Vz
dHVyZUZvckF1ZGlvU3RhcnRSZXN0cmljdGlvbik7CiAgICAgZWxzZQogICAgICAgICBtX3Jlc3Ry
aWN0aW9ucyA9IE5vUmVzdHJpY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMmMzNzA3ODg3MzQ5N2M2ZWY5ZjM5MGQyOWYxNDBmMDUwN2M4NjA3Yy4u
Yzc0NGQ3YTFlYjQzYjJkMDA2OGYxZWJiZTliN2U3NWE2MzdmZDA4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC00MTYsMzEgKzQxNiwzMCBAQCBIVE1MTWVk
aWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50JiBkb2N1bQogICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0
aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvQXV0b3BsYXlUb0V4
dGVybmFsRGV2aWNlKTsKICNlbmRpZgogCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBjbGVhbiB1
cCBhbmQgbG9vayB0byBiZXR0ZXIgbWVyZ2UgdGhlIGlPUyBhbmQgbm9uLWlPUyBjb2RlIGJlbG93
LgogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50LnNldHRpbmdzKCk7Ci0jaWYgIVBM
QVRGT1JNKElPUykKLSAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrKCkpIHsKLSAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJl
aGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJl
Rm9yUmF0ZUNoYW5nZSk7Ci0gICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3Ry
aWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQpOwot
ICAgIH0KLSNlbHNlCisjaWYgUExBVEZPUk0oSU9TKQogICAgIG1fc2VuZFByb2dyZXNzRXZlbnRz
ID0gZmFsc2U7Ci0gICAgaWYgKCFzZXR0aW5ncyB8fCBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2Vz
dHVyZUZvck1lZGlhUGxheWJhY2soKSkgeworI2VuZGlmCisgICAgaWYgKCFzZXR0aW5ncyB8fCBz
ZXR0aW5ncy0+dmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSkgewogICAgICAgICAv
LyBBbGxvdyBhdXRvcGxheSBpbiBhIE1lZGlhRG9jdW1lbnQgdGhhdCBpcyBub3QgaW4gYW4gaWZy
YW1lLgotICAgICAgICBpZiAoZG9jdW1lbnQub3duZXJFbGVtZW50KCkgfHwgIWRvY3VtZW50Lmlz
TWVkaWFEb2N1bWVudCgpKQotICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9y
UmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0
ZUNoYW5nZSk7CisgICAgICAgIGlmIChkb2N1bWVudC5vd25lckVsZW1lbnQoKSB8fCAhZG9jdW1l
bnQuaXNNZWRpYURvY3VtZW50KCkpIHsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRC
ZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVy
ZUZvclZpZGVvUmF0ZUNoYW5nZSk7CisgICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVo
YXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVG
b3JMb2FkKTsKKyAgICAgICAgfQogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
CiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxl
bWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvU2hvd1BsYXliYWNrVGFyZ2V0UGlja2Vy
KTsKICNlbmRpZgotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIFJlbGF4IFJlcXVpcmVVc2VyR2Vz
dHVyZUZvckZ1bGxzY3JlZW4gd2hlbiByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayBpcyBub3Qgc2V0OgorICAgIH0KKyNpZiBQTEFURk9STShJT1MpCisgICAgZWxzZSB7CisgICAg
ICAgIC8vIFJlbGF4IFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4gd2hlbiB2aWRlb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSBpcyBub3Qgc2V0OgogICAgICAgICBtX21lZGlhU2Vz
c2lvbi0+cmVtb3ZlQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1
aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuKTsKICAgICB9CisjZW5kaWYKICAgICBpZiAoc2V0
dGluZ3MgJiYgc2V0dGluZ3MtPmludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkKCkpCiAgICAg
ICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1lZGlhRWxlbWVudFNl
c3Npb246OkludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkKTsKLSNlbmRpZiAvLyAhUExBVEZP
Uk0oSU9TKQogCi0gICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5hdWRpb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZSgpICYmIHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVk
aWFQbGF5YmFjaygpKQorICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+YXVkaW9QbGF5YmFj
a1JlcXVpcmVzVXNlckdlc3R1cmUoKSkKICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
QXVkaW9SYXRlQ2hhbmdlKTsKIAogICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5tZWRp
YURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkoKSkKQEAgLTYyMzEsNyArNjIzMCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cmVtb3ZlQmVoYXZpb3JzUmVzdHJpY3Rpb25zQWZ0ZXJGaXJzdFVzZXJH
ZXN0dXJlKCkKICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1
cmVUb0F1dG9wbGF5VG9FeHRlcm5hbERldmljZQogI2VuZGlmCiAgICAgICAgIHwgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZAotICAgICAgICB8IE1lZGlhRWxl
bWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UKKyAgICAgICAgfCBN
ZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UK
ICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UKICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdl
c3R1cmVGb3JGdWxsc2NyZWVuCiAgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6SW52aXNp
YmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcAppbmRleCA3NmNiOGQyMDc5YjhjMThmYWFkY2E3N2Q4Nzk1ZGY5ZDU2NDZk
ZTk3Li4zNjQ2YTkxYmMyZTdmNjZkZjQzOThmN2VmNGMzZGUzNjlhZmZhZmYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTY0LDcgKzY0LDcgQEAg
c3RhdGljIFN0cmluZyByZXN0cmljdGlvbk5hbWUoTWVkaWFFbGVtZW50U2Vzc2lvbjo6QmVoYXZp
b3JSZXN0cmljdGlvbnMgcmVzdHJpY3QKIAogICAgIENBU0UoTm9SZXN0cmljdGlvbnMpOwogICAg
IENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7Ci0gICAgQ0FTRShSZXF1aXJlVXNlckdl
c3R1cmVGb3JSYXRlQ2hhbmdlKTsKKyAgICBDQVNFKFJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVv
UmF0ZUNoYW5nZSk7CiAgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFu
Z2UpOwogICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbik7CiAgICAgQ0FT
RShSZXF1aXJlUGFnZUNvbnNlbnRUb0xvYWRNZWRpYSk7CkBAIC0xMzEsMTIgKzEzMSwxMiBAQCBi
b29sIE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkKGNvbnN0IEhUTUxNZWRp
YUVsZW1lbnQmIGVsZW1lbnQpIGNvbgogICAgIGlmIChwYWdlRXhwbGljaXRseUFsbG93c0VsZW1l
bnRUb0F1dG9wbGF5SW5saW5lKGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IGlmIChtX3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UgJiYg
IVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKKyAg
ICBpZiAobV9yZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFu
Z2UgJiYgZWxlbWVudC5pc1ZpZGVvKCkgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKICAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50
U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQgLSByZXR1cm5pbmcgRkFMU0UiKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmIChtX3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVV
c2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSAmJiBlbGVtZW50Lmhhc0F1ZGlvKCkgJiYgIVNj
cmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKKyAgICBp
ZiAobV9yZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2Ug
JiYgKCFlbGVtZW50LmlzVmlkZW8oKSB8fCBlbGVtZW50Lmhhc0F1ZGlvKCkpICYmICFTY3JpcHRD
b250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpKSB7CiAgICAgICAgIExP
RyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkIC0gcmV0dXJu
aW5nIEZBTFNFIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4IDI4Y2U0YjQzN2M5NzJlNmFlYWIxMDI5
ZTQ2ZjgwOGMxNTAzOGNiNTYuLmRiNTYwNDg0OTBmM2FkYjQyZWVkM2NjYmJiNTBlNGVhNTAzMzE0
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBAIC03OSw3
ICs3OSw3IEBAIHB1YmxpYzoKICAgICBlbnVtIEJlaGF2aW9yUmVzdHJpY3Rpb25GbGFncyB7CiAg
ICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKICAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9y
TG9hZCA9IDEgPDwgMCwKLSAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSA9
IDEgPDwgMSwKKyAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlID0g
MSA8PCAxLAogICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuID0gMSA8PCAy
LAogICAgICAgICBSZXF1aXJlUGFnZUNvbnNlbnRUb0xvYWRNZWRpYSA9IDEgPDwgMywKICAgICAg
ICAgUmVxdWlyZVBhZ2VDb25zZW50VG9SZXN1bWVNZWRpYSA9IDEgPDwgNCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggM2FkYTc5N2RjODM3MTg3YjE4YWY5MTRjY2VhMDYxYWQ1YTBlMTU5
ZS4uMGJjMjJiYzg2NzE1MzFjZjkxOTYyMzM2ZDZlYmNlN2RiZGUyOTBmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0Rml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50ID0gdHJ1ZTsKIHN0YXRp
YyBjb25zdCBib29sIGRlZmF1bHRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bkVuYWJsZWQgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2sgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHRydWU7Ci1zdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sgPSB0cnVl
Oworc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBdWRpb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZSA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0TWVkaWFEYXRh
TG9hZHNBdXRvbWF0aWNhbGx5ID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2hv
dWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24gPSB0cnVlOwpAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRGaXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9j
dW1lbnQgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29s
IGRlZmF1bHRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0
ZSA9IGZhbHNlOwotc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYVBsYXliYWNrID0gZmFsc2U7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VmlkZW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSBmYWxzZTsKIHN0YXRpYyBjb25zdCBib29sIGRl
ZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IGZhbHNlOwogc3RhdGljIGNv
bnN0IGJvb2wgZGVmYXVsdE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IHRydWU7CiBzdGF0
aWMgY29uc3QgYm9vbCBkZWZhdWx0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24gPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IGI1NGY4ZDMxZDdkOTZkOGQ0NzM5NjI2YmY4
ZmNjODM2MWQ1NjI4NTguLjMxNzZmYWUxYWVkNmQ0YmZlMGQ1Mjc1MjI4ZTlkMTgzMjcyZDM0MWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMTI1LDcgKzEyNSw3IEBAIHNob3VsZEluamVj
dFVzZXJTY3JpcHRzSW5Jbml0aWFsRW1wdHlEb2N1bWVudCBpbml0aWFsPWZhbHNlCiBmaXhlZEVs
ZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lIGluaXRpYWw9ZmFsc2UKIGFsbG93RGlzcGxheU9m
SW5zZWN1cmVDb250ZW50IGluaXRpYWw9ZmFsc2UKIGFsbG93UnVubmluZ09mSW5zZWN1cmVDb250
ZW50IGluaXRpYWw9ZmFsc2UKLXJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrIGlu
aXRpYWw9ZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrCit2aWRlb1Bs
YXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSBpbml0aWFsPWRlZmF1bHRWaWRlb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZQogYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgaW5pdGlh
bD1kZWZhdWx0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKIGFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2sgaW5pdGlhbD1kZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjawogaW5s
aW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgaW5pdGlhbD1kZWZh
dWx0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkNmQwMzRlMjA5ZTU2Yzc5YTNlNzMwYTAx
MDNjODUzNzRmZmM5ZjkxLi5mZTI4ODY1MTExODE4ZjVlOTBiZTY1NDdmZmQyZTQ1MmMzNTNjMzlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMDY4LDggKzMwNjgsOCBA
QCB2b2lkIEludGVybmFsczo6c2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKEhUTUxNZWRpYUVs
ZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0cgogICAgICAgICAgICAgcmVzdHJpY3Rpb25zIHw9IE1l
ZGlhRWxlbWVudFNlc3Npb246Ok5vUmVzdHJpY3Rpb25zOwogICAgICAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1
cmVmb3Jsb2FkIikpCiAgICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vz
c2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZDsKLSAgICAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJl
Zm9ycmF0ZWNoYW5nZSIpKQotICAgICAgICAgICAgcmVzdHJpY3Rpb25zIHw9IE1lZGlhRWxlbWVu
dFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2U7CisgICAgICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmV1
c2VyZ2VzdHVyZWZvcnZpZGVvcmF0ZWNoYW5nZSIpKQorICAgICAgICAgICAgcmVzdHJpY3Rpb25z
IHw9IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNo
YW5nZTsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0
aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJlZm9yZnVsbHNjcmVlbiIpKQogICAgICAgICAg
ICAgcmVzdHJpY3Rpb25zIHw9IE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVy
ZUZvckZ1bGxzY3JlZW47CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShyZXN0cmljdGlvblN0cmluZywgInJlcXVpcmVwYWdlY29uc2VudHRvbG9hZG1lZGlhIikpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAppbmRleCAzOTgzN2VjNmM0Mjg0YzUwYzM0Njg0OTAwMzI2MWVkYzFlMjdhNWE2Li4wYTNh
MmVlZTNkOGI4MDc0ZjJjOWQxMWZjNGU0ZWNkOTQ0NjZmNjk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTEyMSw3
ICsxMjEsNyBAQAogI2RlZmluZSBXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkS2V5IEAiV2ViS2l0
QVZGb3VuZGF0aW9uRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0QVZGb3VuZGF0aW9uTlNVUkxTZXNz
aW9uRW5hYmxlZEtleSBAIldlYktpdEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQiCiAj
ZGVmaW5lIFdlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWRLZXkgQCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIgotI2RlZmluZSBXZWJLaXRSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIKKyNkZWZpbmUgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRp
b1BsYXliYWNrUHJlZmVyZW5jZUtleSBAIldlYktpdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlIgogI2RlZmluZSBXZWJLaXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrUHJlZmVyZW5j
ZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUiCiAjZGVmaW5lIFdlYktpdElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5IEAiSW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA1M2NkYjcxY2U2Y2IzOGFkZDBk
NWZkZGM0MmNmMjM0NTdiNGQ5NjE3Li45MWVkNGEzYWU1NWY3MjNlMmUxY2E3MTRmNjM0MWIyZTM0
YTc0NTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0K
QEAgLTUyMCw3ICs1MjAsNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpOT10sICAgV2ViS2l0QVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZEtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTdXBwcmVzc2VzSW5j
cmVtZW50YWxSZW5kZXJpbmdLZXksCiAjaWYgIVBMQVRGT1JNKElPUykKLSAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVk
aWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpOT10sICAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tQcmVmZXJl
bmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAg
W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgIFdlYktpdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
S2V5LApAQCAtNTM0LDcgKzUzNCw3IEBAIHB1YmxpYzoKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgICBXZWJLaXRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbktleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRNZWRpYURhdGFM
b2Fkc0F1dG9tYXRpY2FsbHlQcmVmZXJlbmNlS2V5LAogI2Vsc2UKLSAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFja1ByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZ
RVNdLCAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNl
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJlcXVp
cmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOmFsbG93c0lubGluZU1lZGlhUGxheWJhY2tdLCAgIFdlYktp
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6cmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZV0sIFdlYktpdElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5LApAQCAtMjIx
MCwxNCArMjIxMCwyNSBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7
CiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCisvLyBEZXByZWNhdGVkLiBIYXMgbm8gZWZm
ZWN0LiAKIC0gKEJPT0wpbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKIHsKLSAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOworICAgIHJldHVybiBmYWxzZTsKIH0KIAorLy8g
RGVwcmVjYXRlZC4gSGFzIG5vIGVmZmVjdC4KIC0gKHZvaWQpc2V0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmU6KEJPT0wpZmxhZwogewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6Zmxh
ZyBmb3JLZXk6V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tQcmVmZXJl
bmNlS2V5XTsKK30KKworLSAoQk9PTCl2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZQor
eworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJlcXVpcmVzVXNlckdl
c3R1cmVGb3JWaWRlb1BsYXliYWNrUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0Vmlk
ZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9z
ZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVv
UGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTClhdWRpb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKaW5kZXggNzVhNTVjODBlYWE3N2Y2MWM0NDIzMzViOWU3NGM5Yzk4ZTAx
OGNhNy4uM2UzZGUyN2EwYjY1OTlkMjZiYjI5YjIyYWNhNjVjOGJjMGNmNzk0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0y
NDgsOSArMjQ4LDEzIEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Q2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAoQk9PTCloeXBlcmxpbmtBdWRpdGluZ0Vu
YWJsZWQ7CiAtICh2b2lkKXNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZDooQk9PTCllbmFibGVk
OwogCisvLyBEZXByZWNhdGVkLiBIYXMgbm8gZWZmZWN0LgogLSAodm9pZClzZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnOwogLSAoQk9PTCltZWRpYVBsYXliYWNr
UmVxdWlyZXNVc2VyR2VzdHVyZTsKIAorLSAodm9pZClzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZTooQk9PTClmbGFnOworLSAoQk9PTCl2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZTsKKwogLSAodm9pZClzZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZToo
Qk9PTClmbGFnOwogLSAoQk9PTClhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDExMmFhZTk2NjJhYjhkOTNjY2E4
OTBjNjQ2ZDQzMTMzNGJjM2M1MmUuLjlkNGExYTMyZGE5Njk2NTNlMDU5ZjJkNjkzMjAyODAzN2M2
Yzc1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIzMzEsNyArMjMz
MSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAg
ICBzZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldFZhbGlkYXRp
b25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uKFtzZWxmIHZhbGlkYXRpb25NZXNzYWdlVGltZXJN
YWduaWZpY2F0aW9uXSk7CiAKLSAgICBzZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjayhbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmVdKTsKKyAgICBzZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShb
cHJlZmVyZW5jZXMgdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmVdKTsKICAgICBzZXR0
aW5ncy5zZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShbcHJlZmVyZW5jZXMgYXVk
aW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmVdKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrQWxsb3dzSW5saW5l
XSk7CiAgICAgc2V0dGluZ3Muc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxp
bmVBdHRyaWJ1dGUoW3ByZWZlcmVuY2VzIGlubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlz
SW5saW5lQXR0cmlidXRlXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCA1MTJjYWIwYmMyZWI1MWU5MDZjNDA2NzI5NDcwOGRk
NDEyMmQwOTlmLi4zYWZlODEzZTcxYjYwYmVhOTUzNGEyNzBlNmYyN2UxZDU2MzViMzg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgK
QEAgLTcwLDcgKzcwLDYgQEAKICNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9U
X1BFUk1JVFRFRCB0cnVlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFU
SUNBTExZIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9N
RURJQV9QTEFZQkFDSyB0cnVlCi0jZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJF
X0ZPUl9BVURJT19QTEFZQkFDSyB0cnVlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNf
U0NBTEVfV0lUSF9QQUdFX1pPT00gZmFsc2UKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElM
RV9DT0hPUlRfUkVURU5USU9OX0VOQUJMRUQgZmFsc2UKICNlbHNlCkBAIC04Nyw3ICs4Niw2IEBA
CiAjZGVmaW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgZmFsc2UK
ICNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQogI2Rl
ZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVESUFfUExBWUJBQ0sgZmFs
c2UKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX0FVRElPX1BMQVlC
QUNLIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdF
X1pPT00gdHJ1ZQogI2RlZmluZSBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJ
T05fRU5BQkxFRCB0cnVlCiAjZW5kaWYKQEAgLTE1MSw3ICsxNDksOCBAQAogICAgIG1hY3JvKEFW
Rm91bmRhdGlvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAogICAgIG1hY3JvKEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQsIGlzQVZGb3Vu
ZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNy
byhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNU
VVJFX0ZPUl9NRURJQV9QTEFZQkFDSykgXAotICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVG
b3JBdWRpb1BsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgQm9v
bCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX0FVRElPX1BMQVlCQUNL
KSBcCisgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIHJlcXVp
cmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAg
IG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCByZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhB
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBCb29s
LCBib29sLCBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVESUFfUExBWUJBQ0spIFwKICAgICBtYWNy
byhJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgaW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUsIEJvb2wsIGJvb2wsIERF
RkFVTFRfSU5MSU5FX01FRElBX1BMQVlCQUNLX1JFUVVJUkVTX1BMQVlTX0lOTElORV9BVFRSSUJV
VEUpIFwKICAgICBtYWNybyhJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgaW52aXNpYmxl
QXV0b3BsYXlOb3RQZXJtaXR0ZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9Q
TEFZX05PVF9QRVJNSVRURUQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCA0NTQxZGNjMDhhODBjMDY0NTI3MTM1ZjM1ZGNhNDNk
ZTEyOWE3NzdhLi5jOTMxZGRjZjExNjBjYzQ1YTM2YTg3YzMyODRhMjZjN2I3N2QwZDMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBA
IC03NTgsNiArNzU4LDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jCiAgICAgcmV0dXJuIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNr
KCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9Q
bGF5YmFjayhmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0VmlkZW9QbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAg
ICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvclZp
ZGVvUGxheWJhY2soKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXVkaW9QbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBm
bGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlcXVpcmVzVXNlckdlc3R1
cmVGb3JBdWRpb1BsYXliYWNrKGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCAwNmJhNDYxNDE0
YzY1YjAzNzQxYmM4YmU3NzE2Y2NhNzkxOTlkNjc2Li5jMjJiMTMyZWY1MDAwNDg3MDk1NWRkOTMx
MTI0ZDIxMmM5NGVmOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtMTc4LDYgKzE3OCwxMCBAQCBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUoV0tQcmVmZXJlbmNlc1JlZgogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNl
c0dldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVm
ZXJlbmNlc0dldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGM4ZDk1NTBlMzcyMjlhZjY4YmIyOTM1N2Q5OGYwOTlk
YjhiNDMyODYuLjcwNGE0Zjk1M2UzM2M4MGFlZDY4ZjA5MjNiYWJlMTZkNGQ0MDM3OGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00
MDEsMTAgKzQwMSwxMyBAQCBzdGF0aWMgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXMgZnJvbVdL
RGF0YURldGVjdG9yVHlwZXModWludDY0X3QgdHlwZXMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkoKSwgV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfaW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKSk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6
YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFja10gJiYgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5
YmFjaygpKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQo
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxh
eWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmln
dXJhdGlvbiByZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSkpOworI2VuZGlmCisK
KyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgp
LCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSkpOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJl
cXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZv
ckF1ZGlvUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1
ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW52aXNpYmxlQXV0b3BsYXlOb3RQ
ZXJtaXR0ZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29u
ZmlndXJhdGlvbiBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWRdKSk7CiAgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5S2V5KCksIFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX21lZGlhRGF0YUxvYWRzQXV0b21h
dGljYWxseV0pKTsKLSNlbmRpZgorCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogICAgIHBh
Z2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNLZXk6OmRhdGFEZXRlY3RvclR5cGVzS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGZyb21XS0RhdGFEZXRlY3RvclR5cGVz
KFtfY29uZmlndXJhdGlvbiBkYXRhRGV0ZWN0b3JUeXBlc10pKSkpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KaW5kZXggOGFkNTA2MWIyMTk0NTNlNmY1YjdkYTk0ZGE0ZTY2NjdkODY0
ZjI2My4uNmJmMTBhMDY3YTkzMDdkNmY0YzAyYzU3ZThjZmU2NzAzMjExNDNhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Q29uZmlndXJhdGlvbi5tbQpAQCAtMTA0LDEwICsxMDQsMTMgQEAgcHJpdmF0ZToKICAgICBCT09M
IF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7CiAgICAgQk9PTCBfYWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFjazsKICAgICBCT09MIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZTsKKyNlbmRpZgorCiAgICAgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQ7CiAgICAgQk9PTCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OworICAg
IEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7CiAgICAgQk9PTCBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKLSNlbmRpZgorCiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNv
bnRyb2xzRW5hYmxlZDsKQEAgLTEyNiwxMiArMTI5LDE4IEBAIHByaXZhdGU6CiAgICAgCiAjaWYg
UExBVEZPUk0oSU9TKQogICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrID0g
WUVTOwotICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gWUVTOwogICAg
IF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IFlFUzsKICAgICBfYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayA9IFdlYkNvcmU6OmRldmljZUNsYXNzKCkgPT0gTUdEZXZpY2VD
bGFzc2lQYWQ7CiAgICAgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0
cmlidXRlID0gIV9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwotICAgIF9pbnZpc2libGVBdXRv
cGxheU5vdFBlcm1pdHRlZCA9IFlFUzsKICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5
ID0gTk87CisjZWxzZQorICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBZRVM7Cisj
ZW5kaWYKKyAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IE5POworICAg
IF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gTk87CisgICAgX2ludmlzaWJs
ZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gTk87CisKKyNpZiBQTEFURk9STShJT1MpCiAgICAgX3Jl
c3BlY3RzSW1hZ2VPcmllbnRhdGlvbiA9IFlFUzsKICAgICBfcHJpbnRzQmFja2dyb3VuZHMgPSBZ
RVM7CiAjZW5kaWYKQEAgLTIzNiwxNSArMjQ1LDE3IEBAIHByaXZhdGU6CiAgICAgY29uZmlndXJh
dGlvbi0+X2FsbG93c01ldGFSZWZyZXNoID0gc2VsZi0+X2FsbG93c01ldGFSZWZyZXNoOwogICAg
IGNvbmZpZ3VyYXRpb24tPl9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyA9IHNlbGYt
Pl9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMczsKIAorICAgIGNvbmZpZ3VyYXRpb24t
Pl9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCA9IHNlbGYtPl9pbnZpc2libGVBdXRvcGxh
eU5vdFBlcm1pdHRlZDsKKyAgICBjb25maWd1cmF0aW9uLT5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5ID0gc2VsZi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTsKKyAgICBjb25maWd1
cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOworICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlv
bkZvckF1ZGlvUGxheWJhY2s7CisKICNpZiBQTEFURk9STShJT1MpCiAgICAgY29uZmlndXJhdGlv
bi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBzZWxmLT5fYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5faW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVz
UGxheXNJbmxpbmVBdHRyaWJ1dGUgPSBzZWxmLT5faW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVz
UGxheXNJbmxpbmVBdHRyaWJ1dGU7Ci0gICAgY29uZmlndXJhdGlvbi0+X2ludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkID0gc2VsZi0+X2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOwot
ICAgIGNvbmZpZ3VyYXRpb24tPl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBzZWxmLT5f
bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OworICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJl
c1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZv
ck1lZGlhUGxheWJhY2s7CiAgICAgY29uZmlndXJhdGlvbi0+X2FsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkg
PSBfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OwotICAgIGNvbmZpZ3VyYXRpb24tPl9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFj
dGlvbkZvck1lZGlhUGxheWJhY2s7Ci0gICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNlckFj
dGlvbkZvckF1ZGlvUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9Q
bGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5fc2VsZWN0aW9uR3JhbnVsYXJpdHkgPSBzZWxm
LT5fc2VsZWN0aW9uR3JhbnVsYXJpdHk7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCkBAIC01
MjksNiArNTQwLDcgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50KCkKIHsKICAgICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxp
bmVBdHRyaWJ1dGUgPSByZXF1aXJlczsKIH0KKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKIC0g
KEJPT0wpX2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkCiB7CkBAIC01NTAsNiArNTYyLDE2
IEBAIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCgp
CiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IG1lZGlhRGF0YUxvYWRzQXV0b21h
dGljYWxseTsKIH0KIAorLSAoQk9PTClfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFj
aworeworICAgIHJldHVybiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKK30K
KworLSAodm9pZClfc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazooQk9PTCly
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrCit7CisgICAgX3JlcXVpcmVzVXNlckFj
dGlvbkZvclZpZGVvUGxheWJhY2sgPSByZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNr
OworfQorCiAtIChCT09MKV9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrCiB7CiAg
ICAgcmV0dXJuIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwpAQCAtNTYwLDgg
KzU4Miw2IEBAIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudCgpCiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSByZXF1aXJl
c1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQotCiAjaWYgUExBVEZPUk0oTUFDKQogLSAoQk9PTClfc2hvd3NVUkxzSW5Ub29sVGlwcwogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDQwOGQ3YzA4MjE5MGNkNzll
OWZkYTdmNzJhOGVkOTQ5Mjk3ZTNmMzYuLmM3NTA1NzFmY2M2YmQxMWFhNWNlZTM3NDJmNjM2ODQ3
OTE4ZmQ2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTUwLDE0
ICs1MCwxNCBAQAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q29udmVydHNQb3Np
dGlvblN0eWxlT25Db3B5OikgQk9PTCBfY29udmVydHNQb3NpdGlvblN0eWxlT25Db3B5IFdLX0FW
QUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldEFsbG93c01ldGFSZWZyZXNoOikgQk9PTCBfYWxsb3dzTWV0YVJlZnJlc2ggV0tf
QVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHM6KSBCT09MIF9hbGxv
d1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tf
SU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9Q
bGF5YmFjayBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNr
OikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayBXS19BVkFJTEFCTEUo
V0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDopIEJPT0wgX2ludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTop
IEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSBXS19BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgV0tfSU9TX1RCQSk7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRBbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgV0tfQVZBSUxBQkxFKE5BLCA5XzApOwotCi1A
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRp
b1BsYXliYWNrOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayBXS19B
VkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGU6KSBCT09M
IF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSBXS19BVkFJ
TEFCTEUoTkEsIFdLX0lPU19UQkEpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ6KSBCT09MIF9pbnZpc2libGVBdXRvcGxheU5v
dFBlcm1pdHRlZCBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwotQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OikgQk9PTCBfbWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5IFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CiAj
ZWxzZQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvd3NVUkxzSW5Ub29sVGlw
czopIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIE5B
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VDb250cm9sc0VuYWJs
ZWQ6KSBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkIFdLX0FWQUlMQUJMRShXS19NQUNfVEJB
LCBOQSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggYTE5M2Q5ODIxOTVlN2VmZWZkMDU1ZmFlMDAzYThlNTQyYjM0ZjY1Ny4uNDJhZDc5OTY0
ZjMwNjE3YjExOTQxZDI4MjlkYjU0YzQxNTg0ZWY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjg5NSw4ICsyODk1LDkgQEAgdm9pZCBX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9y
ZSkKICAgICBzZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJHTEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNl
dEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OmZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ0tleSgpKSk7CiAgICAg
c2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZEtleSgp
KSk7Ci0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2so
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJH
ZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0QXVkaW9QbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja0tleSgpKSk7Cisg
ICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgPSBzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXli
YWNrS2V5KCkpOworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNr
S2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZShyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWEgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFja0tl
eSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVL
ZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW52aXNpYmxlQXV0b3Bs
YXlOb3RQZXJtaXR0ZWRLZXkoKSkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGVkYzg5ZmRiOTZhMmVlNjg0ZGFjNmVhZTBkNmY1YTc0NTU5MThh
NTAuLjI0ZDcyYTZlNzQ5MDIyZjU0YTc1NWE1YzU1NjJjYTdjNzdmNGI3ZDMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAor
MjAxNi0wMy0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNlcyBmb3IgcmVxdWlyaW5nIHVzZXIgZ2Vz
dHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBmcm9tIHVzZXIgZ2VzdHVyZXMgZm9yIG1l
ZGlhIGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgbWVkaWEgcHJlZmVyZW5jZXMgdW5jb25k
aXRpb25hbGx5LCBub3QganVzdCBvbiBQTEFURk9STShJT1MpLiBTZXQgInZpZGVvIHJlcXVpcmVz
IHVzZXIgZ2VzdHVyZSIKKyAgICAgICAgdG8gc2FuZSBkZWZhdWx0cyBpbiBhZGRpdGlvbiB0byAi
YXVkaW8gcmVxdWlyZXMgdXNlciBnZXN0dXJlIiBhbmQgKGluIHRoZSBjYXNlIG9mIER1bXBSRW5k
ZXJUcmVlKSBpbnN0ZWFkIG9mICJtZWRpYSByZXF1aXJlcyB1c2VyIGdlc3R1cmUiLgorCisgICAg
ICAgIEFkZCBhIG5ldyB0ZXN0IG9mIFdLMiB1c2VyIGdlc3R1cmUgcmVxdWlyZW1lbnQgcHJlZmVy
ZW5jZXMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06
CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aC1h
dWRpby5odG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRl
by13aXRob3V0LWF1ZGlvLmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2subW06IEFkZGVkLgorICAgICAg
ICAoLVtSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFja05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJW
aWV3OmRpZEZpbmlzaE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW1JlcXVpcmVzVXNlckFjdGlv
bkZvclBsYXliYWNrTWVzc2FnZUhhbmRsZXIgdXNlckNvbnRlbnRDb250cm9sbGVyOmRpZFJlY2Vp
dmVTY3JpcHRNZXNzYWdlOl0pOgorICAgICAgICAoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJh
Y2tUZXN0OjpTZXRVcCk6CisgICAgICAgIChSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFja1Rl
c3Q6OmNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJh
Y2tUZXN0Ojp0ZXN0VmlkZW9XaXRoQXVkaW8pOgorICAgICAgICAoUmVxdWlyZXNVc2VyQWN0aW9u
Rm9yUGxheWJhY2tUZXN0Ojp0ZXN0VmlkZW9XaXRob3V0QXVkaW8pOgorICAgICAgICAoUmVxdWly
ZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0Ojp0ZXN0QXVkaW9Pbmx5KToKKyAgICAgICAgKFRF
U1RfRik6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5n
Lm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMTYtMDMtMDkgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBidWlsZGluZyBhcm12NyBvbiBpT1MgZGV2
aWNlIGJ1aWxkZXJzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
aW5kZXggZjZlYmZkNzkwOTE3YzAzNjhiMTE1MDAyZjhlYTI4NjMwMzUyOTEzZS4uMTcxN2U1OGIx
MmY3ZmJlNDg5NTdmODVmMThiYTVkYWM1MTM3YTY4NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtOTM5LDEyICs5MzksMTMgQEAgc3RhdGljIHZvaWQg
cmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgICAgIFtwcmVmZXJl
bmNlcyBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6WUVTXTsKICAgICB9IGVsc2UKICAgICAgICAg
W3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZDpOT107Ci0jaWYgUExBVEZPUk0o
SU9TKQogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lOllFU107
Ci0gICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5P
XTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6
Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTpZ
RVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDpO
T107CiAKKyNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gRW5hYmxlIHRoZSB0cmFja2VyIGJlZm9y
ZSBjcmVhdGluZyB0aGUgZmlyc3QgV2ViVmlldyB3aWxsCiAgICAgLy8gY2F1c2UgaW5pdGlhbGl6
YXRpb24gdG8gdXNlIHRoZSBjb3JyZWN0IGRhdGFiYXNlIHBhdGhzLgogICAgIFtwcmVmZXJlbmNl
cyBzZXRTdG9yYWdlVHJhY2tlckVuYWJsZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYWRmYzI1NTFjYzE4MjNjZTkxZWFhNWI1ODMwMzU5MWQ5NWIzNTYyMS4uMzE0YzY1Yzg0YWFh
ZmYwYjQwMzczY2M3MjdiNWE5MTM2OTg3YWE5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTMzNiw2ICszMzYsOCBAQAogCQlDRDU5RjUzNDE5RTkxMTBEMDBDRjE4MzUgLyogZmlsZS13aXRo
LW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87
IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5
MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsgfTsKIAkJQ0Q4OUQwM0ExQzRFREIyQTAw
MDQwQTA0IC8qIFdlYkNvcmVOU1VSTFNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg5RDAzODFDNEVEQjJBMDAwNDBBMDQgLyogV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5tbSAqLzsgfTsKKwkJQ0Q5RTI5MkMxQzkwQTcxRjAwMEJCODAwIC8qIFJl
cXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVz
VXNlckFjdGlvbkZvclBsYXliYWNrLm1tICovOyB9OworCQlDRDlFMjkyRTFDOTBDMzNGMDAwQkI4
MDAgLyogYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEOUUyOTJEMUM5MEMxQkEwMDBCQjgwMCAvKiBhdWRpby1vbmx5
Lmh0bWwgKi87IH07CiAJCUNEQkZDQzQ1MUE5RkY0NTMwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9v
bUluaXRpYWxGcmFtZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQkZDQzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZS5tbSAqLzsgfTsKIAkJQ0RCRkNDNDYxQTlGRjQ5RTAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5a
b29tSW5pdGlhbEZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5a
b29tSW5pdGlhbEZyYW1lLmh0bWwgKi87IH07CiAJCUNEQzhFNDhEMUJDNUNCNDUwMDU5NEZFQyAv
KiBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQzhFNDg1MUJDNUIxOTQwMDU5NEZFQyAvKiBBdWRpb1Nlc3Np
b25DYXRlZ29yeUlPUy5tbSAqLzsgfTsKQEAgLTQwNCw2ICs0MDYsNyBAQAogCQkJZHN0UGF0aCA9
IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQlDRDlFMjkyRTFDOTBDMzNGMDAwQkI4MDAgLyogYXVkaW8tb25seS5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxQkNFRTRFMUM4NEY1M0IwMDQyQzgyRSAvKiBJ
bmRleGVkREJNdWx0aVByb2Nlc3MtMS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUx
QkNFRTRGMUM4NEY1M0IwMDQyQzgyRSAvKiBJbmRleGVkREJNdWx0aVByb2Nlc3MtMi5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxQjFFRTk2MUM4MEZBRUYwMDY0RkI5OCAvKiBJbmRl
eGVkREJQZXJzaXN0ZW5jZS0xLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC04NDEsNiAr
ODQ0LDggQEAKIAkJQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGgg
PSAidGVzdC1tc2UubXA0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3NzNGNzEx
QzUwNTdEQjAwMDIyNTdDIC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC54Y2NvbmZpZzsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDg5RDAzODFDNEVEQjJBMDAwNDBBMDQgLyogV2ViQ29yZU5TVVJM
U2Vzc2lvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNv
cmVOU1VSTFNlc3Npb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEOUUyOTJC
MUM5MEE3MUYwMDBCQjgwMCAvKiBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFjay5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlcXVpcmVzVXNlckFjdGlvbkZv
clBsYXliYWNrLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDlFMjkyRDFDOTBD
MUJBMDAwQkI4MDAgLyogYXVkaW8tb25seS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gImF1ZGlvLW9ubHkuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQkZD
QzQyMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRt
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCRkNDNDMxQTlGRjQ0ODAwQTdCNjkx
IC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFu
Z2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWVSYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTAxNiw2ICsxMDIxLDcgQEAKIAkJCQkxQTRGODFEMDFCREZGRENG
MDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLywKIAkJCQkxQTRGODFDODFCREZG
RDE4MDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi8sCiAJCQkJMUE0RjgxQ0Qx
QkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovLAorCQkJ
CUNEOUUyOTJCMUM5MEE3MUYwMDBCQjgwMCAvKiBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFj
ay5tbSAqLywKIAkJCQkzN0JDQTYxQjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc0luTmV3V2luZG93QWN0aW9ucy5tbSAqLywKIAkJCQkyRDlBNTNBRTFCMzFGQThEMDA3
NEQ1QUEgLyogU2hyaW5rVG9GaXQubW0gKi8sCiAJCQkJN0NDM0UxRkExOTdFMjM0MTAwQkU2MjUy
IC8qIFVzZXJDb250ZW50Q29udHJvbGxlci5tbSAqLywKQEAgLTE1NjcsNiArMTU3Myw3IEBACiAJ
CUNEQzhFNDlBMUJDNzI4RkUwMDU5NEZFQyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNEOUUyOTJEMUM5MEMxQkEwMDBCQjgwMCAv
KiBhdWRpby1vbmx5Lmh0bWwgKi8sCiAJCQkJQ0RDOEU0ODkxQkM1Qzk2MjAwNTk0RkVDIC8qIHZp
ZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywKIAkJCQlDREM4RTQ4QTFCQzVDOTYyMDA1OTRGRUMgLyog
dmlkZW8td2l0aC1hdWRpby5tcDQgKi8sCiAJCQkJQ0RDOEU0OEIxQkM1Qzk2MjAwNTk0RkVDIC8q
IHZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCAqLywKQEAgLTE5NDMsNiArMTk1MCw3IEBACiAJCQkJ
MUE0RjgxQ0MxQkRGRkQzNzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTFDQjRBRDgxQjNBMDc5QzAwQzFCMUM2IC8qIE1vZGFsQWxlcnRzU1BJ
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMzhEN0U2MUM3NTJENUYwMDRGMTU3RCAvKiBIYXNo
Q291bnRlZFNldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDlFMjkyQzFDOTBBNzFGMDAwQkI4
MDAgLyogUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2subW0gaW4gU291cmNlcyAqLywKIAkJ
CQk5Qjc5MTY1MDFCRDg5RDBEMDBENTBCOEYgLyogRmlyc3RSZXNwb25kZXJTY3JvbGxpbmdQb3Np
dGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDRjBEMzc5MUJCRjJGM0QwMEI0RUY1NCAvKiBX
S1JldGFpblB0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNkY2RTFGMDFBREM3NDlCMDBERTY5
NkIgLyogREZBTWluaW1pemVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL2F1ZGlvLW9ubHkuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy9hdWRpby1vbmx5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzQwMGY2NjI4NGUyOTkxM2RhNTliNDZjZTM1NmI4Y2E2YmRmZGZjZgotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy9hdWRpby1vbmx5Lmh0bWwK
QEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gZ28oKSB7CisgICAgICAgIHZhciBhdWRpbyA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhdWRpbycpWzBdOworICAgICAgICB0aW1lb3V0ID0gd2lu
ZG93LnNldFRpbWVvdXQobm90UGxheWluZywgMjUwKTsKKyAgICAgICAgYXVkaW8uYWRkRXZlbnRM
aXN0ZW5lcigncGxheWluZycsIHBsYXlpbmcpOworICAgICAgICBhdWRpby5wbGF5KCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gcGxheWluZygpIHsKKyAgICAgICAgd2luZG93LmNsZWFyVGltZW91
dCh0aW1lb3V0KTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVz
c2FnZUhhbmRsZXJzLnBsYXlpbmdIYW5kbGVyLnBvc3RNZXNzYWdlKCdwbGF5aW5nJyk7CisgICAg
ICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gJ2NhbGxiYWNr
OnBsYXlpbmcnOworICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gbm90UGxheWluZygp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRs
ZXJzLnBsYXlpbmdIYW5kbGVyLnBvc3RNZXNzYWdlKCdub3QgcGxheWluZycpOworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0iZ28oKSI+CisgICAgPGF1ZGlvIHNyYz0idmlkZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8u
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRoLWF1
ZGlvLmh0bWwKaW5kZXggZDBkNjZiYjZjMGQzMTk0ZjVlOTM3ODlmNWQ2NDhlODk4NzU5YjUzZS4u
Yzg5MjRiNmI5OGFhODNmNmQyYmUxNWRiNDg5ODQ4NDM1M2Y1YTllOSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aC1hdWRp
by5odG1sCkBAIC0yLDEzICsyLDI5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQ+Cisg
ICAgdmFyIHRpbWVvdXQ7CisKICAgICBmdW5jdGlvbiBnbygpIHsKICAgICAgICAgdmFyIHZpZGVv
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0gICAgICAgIHZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHdpbmRvdy5sb2NhdGlvbiA9ICdjYWxsYmFjazpwbGF5aW5nJzsKLSAgICAgICAgfSk7CisgICAg
ICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChub3RQbGF5aW5nLCAyNTApOworICAgICAg
ICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgcGxheWluZyk7CiAgICAgICAgIHZp
ZGVvLnBsYXkoKTsKICAgICB9CisKKyAgICBmdW5jdGlvbiBwbGF5aW5nKCkgeworICAgICAgICB3
aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpOworICAgICAgICB0cnkgeworICAgICAgICAgICAg
d2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2Uo
J3BsYXlpbmcnKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICB3aW5kb3cubG9j
YXRpb24gPSAnY2FsbGJhY2s6cGxheWluZyc7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5j
dGlvbiBub3RQbGF5aW5nKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ25vdCBwbGF5
aW5nJyk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQogICAgPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRob3V0LWF1ZGlvLmh0bWwKaW5kZXgg
Mzg0Yzk2MzNhYTJlNzJiNmU3YjQxOTk0NTVkODg0NzhhNzYzOWY4Yy4uODQ1ODZmMzI1YzFiZWI5
MWZjN2ZlMDVhMjc5YWQwMmJlMThlMmM0MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRpby5odG1sCkBA
IC00LDExICs0LDI1IEBACiAgICAgPHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpIHsKICAgICAg
ICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07
Ci0gICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdjYWxsYmFjazpwbGF5aW5nJzsKLSAgICAg
ICAgfSk7CisgICAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChub3RQbGF5aW5nLCAy
NTApOworICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgcGxheWluZyk7
CiAgICAgICAgIHZpZGVvLnBsYXkoKTsKICAgICB9CisKKyAgICBmdW5jdGlvbiBwbGF5aW5nKCkg
eworICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpOworICAgICAgICB0cnkgewor
ICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIu
cG9zdE1lc3NhZ2UoJ3BsYXlpbmcnKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAg
ICB3aW5kb3cubG9jYXRpb24gPSAnY2FsbGJhY2s6cGxheWluZyc7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBmdW5jdGlvbiBub3RQbGF5aW5nKCkgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3Nh
Z2UoJ25vdCBwbGF5aW5nJyk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQogICAgIDwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJnbygpIj4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbQppbmRleCBiMmU2ZmQzNmFjN2U0
NzdiM2YwZjc4ODMwNTVmOTI1ODExNDc5NzQ0Li5mYzU1MGFkMDVlZTg4MWVlMmU3NWMzMjNjOWU5
NDAwMjg3OTkwNTQyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9Db2RpbmcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQ29kaW5nLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgV0tfQVBJX0VOQUJMRUQKIAog
I2ltcG9ydCA8V2ViS2l0L1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQv
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTk4LDYgKzk5LDggQEAgVEVTVChDb2Rpbmcs
IFdLV2ViVmlld0NvbmZpZ3VyYXRpb24pCiAgICAgW2Egc2V0QXBwbGljYXRpb25OYW1lRm9yVXNl
ckFnZW50OkAiQXBwbGljYXRpb24gTmFtZSJdOwogICAgIFthIHNldEFsbG93c0FpclBsYXlGb3JN
ZWRpYVBsYXliYWNrOk5PXTsKICAgICBbYSBzZXREYXRhRGV0ZWN0b3JUeXBlczpXS0RhdGFEZXRl
Y3RvclR5cGVBbGxdOworICAgIFthIF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXli
YWNrOllFU107CisgICAgW2EgX3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6
WUVTXTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBbYSBzZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrOllFU107CkBAIC0xMTIsNiArMTE1LDggQEAgVEVTVChDb2RpbmcsIFdLV2ViVmlld0Nv
bmZpZ3VyYXRpb24pCiAgICAgRVhQRUNUX1RSVUUoW1thIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudF0gaXNFcXVhbFRvU3RyaW5nOltiIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudF1dKTsK
ICAgICBFWFBFQ1RfRVEoW2EgYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2tdLCBbYiBhbGxv
d3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFja10pOwogICAgIEVYUEVDVF9FUShbYSBkYXRhRGV0ZWN0
b3JUeXBlc10sIFtiIGRhdGFEZXRlY3RvclR5cGVzXSk7CisgICAgRVhQRUNUX0VRKFthIF9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSwgW2IgX3JlcXVpcmVzVXNlckFjdGlvbkZv
clZpZGVvUGxheWJhY2tdKTsKKyAgICBFWFBFQ1RfRVEoW2EgX3JlcXVpcmVzVXNlckFjdGlvbkZv
clZpZGVvUGxheWJhY2tdLCBbYiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFja10p
OwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIEVYUEVDVF9FUShbYSBhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrXSwgW2IgYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja10pOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUmVxdWlyZXNVc2VyQWN0aW9u
Rm9yUGxheWJhY2subW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9S
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWE0YzYzMjMwMThh
NDgzZDJkNWQ0MTAxMjg5NmFmMDY3ODIzMjU1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJh
Y2subW0KQEAgLTAsMCArMSwyMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2lmIFRBUkdFVF9PU19J
UEhPTkUKK1NPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCitTT0ZUX0xJTktfQ0xBU1MoVUlLaXQs
IFVJV2luZG93KQorI2VuZGlmCisKK3N0YXRpYyBib29sIGlzRG9uZVdpdGhOYXZpZ2F0aW9uOwor
CitAaW50ZXJmYWNlIFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrTmF2aWdhdGlvbkRlbGVn
YXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50
YXRpb24gUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tOYXZpZ2F0aW9uRGVsZWdhdGUKKy0g
KHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0aW9uOihX
S05hdmlnYXRpb24gKiluYXZpZ2F0aW9uCit7CisgICAgaXNEb25lV2l0aE5hdmlnYXRpb24gPSB0
cnVlOworfQorQGVuZAorCitzdGF0aWMgYm9vbCByZWNlaXZlZFNjcmlwdE1lc3NhZ2U7CitzdGF0
aWMgUmV0YWluUHRyPFdLU2NyaXB0TWVzc2FnZT4gbGFzdFNjcmlwdE1lc3NhZ2U7CisKK0BpbnRl
cmZhY2UgUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tNZXNzYWdlSGFuZGxlciA6IE5TT2Jq
ZWN0IDxXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gUmVx
dWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tNZXNzYWdlSGFuZGxlcgorLSAodm9pZCl1c2VyQ29u
dGVudENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250
cm9sbGVyIGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdl
Cit7CisgICAgcmVjZWl2ZWRTY3JpcHRNZXNzYWdlID0gdHJ1ZTsKKyAgICBsYXN0U2NyaXB0TWVz
c2FnZSA9IG1lc3NhZ2U7Cit9CitAZW5kCisKKworY2xhc3MgUmVxdWlyZXNVc2VyQWN0aW9uRm9y
UGxheWJhY2tUZXN0IDogcHVibGljIHRlc3Rpbmc6OlRlc3QgeworcHVibGljOgorICAgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpCisgICAgeworICAgICAgICBoYW5kbGVyID0gYWRvcHROUyhbW1JlcXVp
cmVzVXNlckFjdGlvbkZvclBsYXliYWNrTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAg
ICAgICAgY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xs
ZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInBsYXlpbmdI
YW5kbGVyIl07CisgICAgICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0
b21hdGljYWxseSA9IFlFUzsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisgICAgICAgIGNvbmZpZ3Vy
YXRpb24uZ2V0KCkucmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayA9IE5POworI2Vu
ZGlmCisgICAgfQorCisgICAgdm9pZCBjcmVhdGVXZWJWaWV3KCkKKyAgICB7CisgICAgICAgIGRl
bGVnYXRlID0gYWRvcHROUyhbW1JlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrTmF2aWdhdGlv
bkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgICAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworI2lmIFRBUkdFVF9PU19JUEhPTkUK
KyAgICAgICAgd2luZG93ID0gYWRvcHROUyhbW2dldFVJV2luZG93Q2xhc3MoKSBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworICAgICAgICBbd2luZG93
IGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CisjZWxzZQorICAgICAgICB3aW5kb3cgPSBhZG9w
dE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6d2ViVmlldy5nZXQoKS5m
cmFtZSBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5nOk5TQmFja2luZ1N0
b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICAgICAgW3dpbmRvdy5nZXQoKS5jb250ZW50Vmll
dyBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOworI2VuZGlmCisgICAgfQorCisgICAgdm9pZCB0
ZXN0VmlkZW9XaXRoQXVkaW8oKQorICAgIHsKKyAgICAgICAgTlNVUkwgKmZpbGVVUkwgPSBbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAidmlkZW8td2l0aC1hdWRpbyIgd2l0
aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2Vz
Il07CisgICAgICAgIFt3ZWJWaWV3IGxvYWRGaWxlVVJMOmZpbGVVUkwgYWxsb3dpbmdSZWFkQWNj
ZXNzVG9VUkw6ZmlsZVVSTF07CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNE
b25lV2l0aE5hdmlnYXRpb24pOworICAgICAgICBpc0RvbmVXaXRoTmF2aWdhdGlvbiA9IGZhbHNl
OworCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNz
YWdlKTsKKyAgICAgICAgcmVjZWl2ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7CisgICAgfQorCisg
ICAgdm9pZCB0ZXN0VmlkZW9XaXRob3V0QXVkaW8oKQorICAgIHsKKyAgICAgICAgTlNVUkwgKmZp
bGVVUkwgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAidmlkZW8td2l0
aG91dC1hdWRpbyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl07CisgICAgICAgIFt3ZWJWaWV3IGxvYWRGaWxlVVJMOmZpbGVVUkwg
YWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6ZmlsZVVSTF07CisgICAgICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaXNEb25lV2l0aE5hdmlnYXRpb24pOworICAgICAgICBpc0RvbmVXaXRoTmF2
aWdhdGlvbiA9IGZhbHNlOworCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVj
ZWl2ZWRTY3JpcHRNZXNzYWdlKTsKKyAgICAgICAgcmVjZWl2ZWRTY3JpcHRNZXNzYWdlID0gZmFs
c2U7CisgICAgfQorCisgICAgdm9pZCB0ZXN0QXVkaW9Pbmx5KCkKKyAgICB7CisgICAgICAgIE5T
VVJMICpmaWxlVVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImF1
ZGlvLW9ubHkiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0
QVBJLnJlc291cmNlcyJdOworICAgICAgICBbd2ViVmlldyBsb2FkRmlsZVVSTDpmaWxlVVJMIGFs
bG93aW5nUmVhZEFjY2Vzc1RvVVJMOmZpbGVVUkxdOworICAgICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmlzRG9uZVdpdGhOYXZpZ2F0aW9uKTsKKyAgICAgICAgaXNEb25lV2l0aE5hdmln
YXRpb24gPSBmYWxzZTsKKworICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2Vp
dmVkU2NyaXB0TWVzc2FnZSk7CisgICAgICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IGZhbHNl
OworICAgIH0KKworICAgIFJldGFpblB0cjxSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFja01l
c3NhZ2VIYW5kbGVyPiBoYW5kbGVyOworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0
aW9uPiBjb25maWd1cmF0aW9uOworICAgIFJldGFpblB0cjxSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQ
bGF5YmFja05hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGU7CisgICAgUmV0YWluUHRyPFdLV2Vi
Vmlldz4gd2ViVmlldzsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisgICAgUmV0YWluUHRyPFVJV2lu
ZG93PiB3aW5kb3c7CisjZWxzZQorICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93OworI2Vu
ZGlmCit9OworCisjaWYgVEFSR0VUX09TX0lQSE9ORQorVEVTVF9GKFJlcXVpcmVzVXNlckFjdGlv
bkZvclBsYXliYWNrVGVzdCwgUmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjaykKK3sK
KyAgICBjb25maWd1cmF0aW9uLmdldCgpLnJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJh
Y2sgPSBZRVM7CisgICAgY3JlYXRlV2ViVmlldygpOworCisgICAgdGVzdFZpZGVvV2l0aEF1ZGlv
KCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFz
dFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAgIHRlc3RWaWRlb1dpdGhvdXRBdWRpbygpOworICAg
IEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRN
ZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQRUNUX1dLX1NUUkVR
KEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOwor
fQorCitURVNUX0YoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0LCBEb2VzTm90UmVx
dWlyZVVzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrKQoreworICAgIGNvbmZpZ3VyYXRpb24uZ2V0
KCkucmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayA9IE5POworICAgIGNyZWF0ZVdl
YlZpZXcoKTsKKworICAgIHRlc3RWaWRlb1dpdGhBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJF
UShAInBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAg
IHRlc3RWaWRlb1dpdGhvdXRBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAInBsYXlpbmci
LCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAgIHRlc3RBdWRpb09u
bHkoKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKK30KKyNlbmRpZgorCitURVNUX0YoUmVxdWlyZXNVc2VyQWN0
aW9uRm9yUGxheWJhY2tUZXN0LCBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb0FuZFZpZGVvUGxh
eWJhY2spCit7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fcmVxdWlyZXNVc2VyQWN0aW9uRm9y
QXVkaW9QbGF5YmFjayA9IFlFUzsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLl9yZXF1aXJlc1Vz
ZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gWUVTOworICAgIGNyZWF0ZVdlYlZpZXcoKTsKKwor
ICAgIHRlc3RWaWRlb1dpdGhBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5
aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0Vmlk
ZW9XaXRob3V0QXVkaW8oKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJub3QgcGxheWluZyIsIChO
U1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSk7CisgICAgdGVzdEF1ZGlvT25seSgp
OworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKK30KKworVEVTVF9GKFJlcXVpcmVzVXNlckFjdGlvbkZvclBs
YXliYWNrVGVzdCwgUmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9CdXROb3RWaWRlb1BsYXliYWNr
KQoreworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2sgPSBZRVM7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fcmVxdWlyZXNVc2VyQWN0
aW9uRm9yVmlkZW9QbGF5YmFjayA9IE5POworICAgIGNyZWF0ZVdlYlZpZXcoKTsKKworICAgIHRl
c3RWaWRlb1dpdGhBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwg
KE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0VmlkZW9XaXRo
b3V0QXVkaW8oKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwbGF5aW5nIiwgKE5TU3RyaW5nICop
W2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQ
RUNUX1dLX1NUUkVRKEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3Nh
Z2UgYm9keV0pOworfQorCitURVNUX0YoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0
LCBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb0J1dE5vdEF1ZGlvUGxheWJhY2spCit7CisgICAg
Y29uZmlndXJhdGlvbi5nZXQoKS5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9
IE5POworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVv
UGxheWJhY2sgPSBZRVM7CisgICAgY3JlYXRlV2ViVmlldygpOworCisgICAgdGVzdFZpZGVvV2l0
aEF1ZGlvKCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcg
KilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAgIHRlc3RWaWRlb1dpdGhvdXRBdWRpbygp
OworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQRUNUX1dL
X1NUUkVRKEAicGxheWluZyIsIChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSk7
Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2YzBhNTRhMGNiOTVmMGE0YjU0MTZkZWQ3MTM4OWY0Mjdj
MTRlNTUuLjRlOWZkODBhM2MzN2YzNzRlZjNmN2M4MTA1NDNlY2RhYjVlNjhlYmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxNi0wMy0wNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNlcyBmb3IgcmVx
dWlyaW5nIHVzZXIgZ2VzdHVyZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBmcm9tIHVzZXIg
Z2VzdHVyZXMgZm9yIG1lZGlhIGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGxheW91dCB0ZXN0cyB0byByZWZsZWN0IG5ldyBy
ZXN0cmljdGlvbiBuYW1lLgorCisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJp
Y3Rpb24tcGxheS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2st
cmVzdHJpY3Rpb24tcGxheS5odG1sOgorICAgICAgICAqIG1lZGlhL25vLWF1dG9wbGF5LXdpdGgt
dXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tbG9h
ZC1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXBsYXkt
cmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbDoKKwogMjAxNi0wMy0wOSAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgTm9kZS50cmVlUm9vdCB0byByb290
Tm9kZSBhbmQgdHVybiBpdCBvbiBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0
CmluZGV4IGEzNzMxNGQ1OGViNDA4N2E1MjA1ZDgyOWE2NzZmZmFjNDQ4MGIwYTQuLjY1ODlmODFj
YTI4Y2U4NjJhZTQ4ZjViODhiZmFlOTc2NDA4YzI0NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAotVGVzdCB0aGF0LCB3aGVuIGJvdGggUmVxdWlyZVVzZXJH
ZXN0dXJlRm9yUmF0ZUNoYW5nZSBhbmQgUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hh
bmdlIGlzIHNldCwgc3RhcnRpbmcgcGxheWJhY2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBh
IHVzZXIgZ2VzdHVyZS4KK1Rlc3QgdGhhdCwgd2hlbiBSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRp
b1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBhbiBhdWRpbyBmaWxlIHJl
cXVpcmVzIGEgdXNlciBnZXN0dXJlLgogCiAKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50
UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxSZXF1
aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKSkKK1JVTihpbnRlcm5hbHMuc2V0TWVk
aWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9S
YXRlQ2hhbmdlIikpCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgnYXVkaW8nLCAnY29u
dGVudC90ZXN0JykpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2aWRlby5wbGF5KCkpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1w
bGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1w
bGF5Lmh0bWwKaW5kZXggMzliYjUwODMyNGY1Mjk4MTQzMzI1MTg0Yjg3OGY4MTI4ZWVmMmIzNS4u
OWZmZjNkMzZkY2Y2ZDE4NGM5ODdmMWIxOGJlN2QwNTZjY2RkZmEzNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS5odG1sCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbApA
QCAtMTEsNyArMTEsNyBAQAogICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdhdWRpbycpWzBdOwogCiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
ICAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVv
LCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxSZXF1aXJlVXNlckdlc3R1cmVGb3JB
dWRpb1JhdGVDaGFuZ2UiKScpOworICAgICAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFF
bGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRl
Q2hhbmdlIiknKTsKIAogICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwogICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwpAQCAt
MzYsNyArMzYsNyBAQAogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAg
PHA+VGVzdCB0aGF0LCB3aGVuIGJvdGggUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSBh
bmQgUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3RhcnRpbmcg
cGxheWJhY2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS48L3A+Cisg
ICAgPHA+VGVzdCB0aGF0LCB3aGVuIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5n
ZSBpcyBzZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZpbGUgcmVxdWlyZXMgYSB1
c2VyIGdlc3R1cmUuPC9wPgogICAgIDxhdWRpbyBjb250cm9scyBhdXRvcGxheT48L2F1ZGlvPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3Bs
YXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwKaW5kZXggNDg2
MzQzNWE2ZjY4MWJkZTUyOThjOWVkNzIwNjVkNmNiOTAzOTFjZC4uNWNlZGJiODE4YWEzYTZhMzc2
ODhhYTU5ZGRjNGU4ZTMzZjZkNmM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbm8t
YXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5odG1s
CkBAIC01LDcgKzUsNyBAQAogICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2Ny
aXB0PgogICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IAotICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sodHJ1ZSk7CisgICAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSh0
cnVlKTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFBsYXkoKQogICAgICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2Vz
dHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2Vz
dHVyZS5odG1sCmluZGV4IDExN2I0ODhiNzE4MTJmZWE2MTMwNzU1MTg2OGQyOGIxZmRkNzdmOTAu
LjNiMzEyNTdjYzUwZjQ4ZGExNzYwZTA5ZGFjZTJjMGUwYmE0YzIwMjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwK
QEAgLTcsNyArNyw3IEBACiAgICAgICAgICAgICB2YXIgdXNlckdlc3R1cmVJbml0aWF0ZWQgPSAw
OwogCiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAgICAgICAg
ICBmdW5jdGlvbiBmaW5pc2hUZXN0KHN1Y2Nlc3MpCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwK
aW5kZXggNDZjMTliZmJhYzUxMmIxNDA4YTlkYWUxYjZmYTY3NjgyM2IxMjc5Yy4uZjVjZjYwNDAy
MGM3YmE0ZGYzNGExMTQ5ODkwMmQ0M2FjNzU3OWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbApAQCAtNyw3ICs3
LDcgQEAKICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgIHZhciB1c2VyR2VzdHVyZUluaXRp
YXRlZCA9IDA7CiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBjbGljaygpCiAgICAgICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273600</attachid>
            <date>2016-03-10 12:28:39 -0800</date>
            <delta_ts>2016-03-10 13:28:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155141-20160310122826.patch</filename>
            <type>text/plain</type>
            <size>78699</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFhZWRjNjI2ODRhNGY3
OGIxMzdkODQxOTBhZDcyOTA2NTExMDUxNy4uMDZmZDkzYzY2NWFiMWI1YjJjYzJmMjEwYzA3M2Q4
MGM3NmM1YzllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAzLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBh
bmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8g
bWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUmVx
dWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSAtPiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRl
b1JhdGVDaGFuZ2UuCisgICAgICAgIFJlbmFtZSBTZXR0aW5nczo6cmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgLT4gU2V0dGluZ3M6OnZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlLgorCisgICAgICAgIEZpeCBsb25nc3RhbmRpbmcgRklYTUUgdW5pZnlpbmcgb3VyIGJl
aGF2aW9yIHJlc3RyaWN0aW9ucyBiZXR3ZWVuIGlPUyBhbmQgTWFjLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RDb21tb24pOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBVbmlmeSBiZWhhdmlvciByZXN0cmljdGlvbiBiZWhhdmlvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSk6IFJlbmFtZS4KKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3Rpb25OYW1lKTogUmVu
YW1lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJt
aXR0ZWQpOiBSZW5hbWUuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyk6IFJlbmFtZS4KKwogMjAxNi0wMi0y
MiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgQVZG
b3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5k
ZXggNjI2NDJkMmI5YThlM2VlNmM2NTYyMGRlY2U5MmJiMTk1MjgyYWU4Yi4uODQxZDFlYzhjZjQ5
MzI0NTNjZTljZjQ4N2U1Y2RjYjljMjI1ZTk1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcg
dXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJl
cyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEZXByZWNhdGUgV2ViUHJlZmVyZW5jZXMubWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUgcHJvcGVydHkgaW4gZmF2b3Igb2YgLnZpZGVvUGxheWJhY2tSZXF1aXJl
c1VzZXJHZXN0dXJlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tX
ZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIG1l
ZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOl0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTpd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorCiAyMDE2LTAyLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIEVuYWJsZSBBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkIGJ5IGRlZmF1
bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwppbmRleCBhN2Q1MGYyZTJhZTU2YmEzZjgyNjM1NmJkNWNhMzE0Zjcw
OWU3NWZjLi5mNGJmYjk3ZWYwNTI5NTg3Mjg3MTBiZjFmMzg3Mjc0OGRlMGU5YzRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDMtMTAgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNlcGFyYXRlIFdLIGFuZCBXSzIgcHJlZmVy
ZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2aWRlbyBtZWRpYSwgZGlzdGlu
Y3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFsbHkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDE2LTAzLTA3ICBQZXIg
QXJuZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dW0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmddIFJlbmRlcmluZyBpc3N1ZXMgb24gd3d3LmJiYy5jb20uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggYmNhNmIxN2Q0MzkzZTRhNWM5OTg0MjliNzIyYzA2NjUzZTNjNjdlNS4uMjM4
MTNmMzkwMmU3NGM5ZmNhMzE3NGE1ZjRlOWQwOWFhZTc3NzA1YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM5IEBACisyMDE2LTAzLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJp
bmcgdXNlciBnZXN0dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0
dXJlcyBmb3IgbWVkaWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgcHJlZmVyZW5jZSwgdmlkZW9QbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUsIGRpc3RpbmN0IGZyb20gbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUuIExlZ2FjeSBjbGllbnRzIG9mIAorICAgICAgICBtZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gdXNlIGl0IG5vcm1hbGx5LCBhcyBzZXR0
aW5nIHRoYXQgcHJlZmVyZW5jZSB0byB0cnVlIHdpbGwgZWZmZWN0aXZlbHkKKyAgICAgICAgc2V0
IGJvdGggYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgYW5kIHZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlIHRvIHRydWUuIE1ha2UgdGhlc2UgcHJlZmVyZW5jZXMgYWxsIGF2
YWlsYWJsZQorICAgICAgICB1bml2ZXJzYWxseSwgcmF0aGVyIHRoYW4ganVzdCBvbiBQTEFURk9S
TShJT1MpLiBUaGlzIHJlcXVpcmVzIGFkZGluZyBhIGRlZmluaXRpb24gZm9yIC1zZXRSZXF1aXJl
c1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrOgorICAgICAgICBhbmQgLXJlcXVpcmVzVXNlckFj
dGlvbkZvck1lZGlhUGxheWJhY2sgb24gIVBMQVRGT1JNKElPUykuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRWaWRlb1BsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZSk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0VmlkZW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmln
dXJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRPYnNjdXJlZEluc2V0czpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06
CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAgICAoLVtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGVuY29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0V2l0aENvZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiByZXF1aXJlc1VzZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSk6CisgICAgICAg
ICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQ
bGF5YmFjazpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFja10pOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1Bs
YXliYWNrOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvblByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAx
Ni0wMi0yMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFi
bGUgQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCBieSBkZWZhdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNTQ2YmZj
ZDM5ZWY4ODhmMDJkYTgzYWJjMWFjZmExNjhjMzBiZjQ4Yy4uYTdmZTYxMzQ2ZWZjNjIwMDE2YWVl
MjllMGIzYjVmMzNmZWNlMGZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgQXVkaW9Db250
ZXh0Ojpjb25zdHJ1Y3RDb21tb24oKQogICAgIG1fbGlzdGVuZXIgPSBBdWRpb0xpc3RlbmVyOjpj
cmVhdGUoKTsKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoIWRvY3VtZW50KCktPnNldHRp
bmdzKCkgfHwgZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2soKSkKKyAgICBpZiAoIWRvY3VtZW50KCktPnNldHRpbmdzKCkgfHwgZG9jdW1l
bnQoKS0+c2V0dGluZ3MoKS0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSkKICAg
ICAgICAgYWRkQmVoYXZpb3JSZXN0cmljdGlvbihSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1N0
YXJ0UmVzdHJpY3Rpb24pOwogICAgIGVsc2UKICAgICAgICAgbV9yZXN0cmljdGlvbnMgPSBOb1Jl
c3RyaWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4
IDUxN2NmNmUxZjdjMWI1M2IzYWU4OTI1ODUwNTVhZjBlMjgyM2JlMDUuLmVhOWM2ODBmMjY0Njg1
ZjIxN2Y0YjcyYmI3MDVmNDQzZDc5MzlkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtNDE2LDMxICs0MTYsMzAgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRN
TE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9j
dW0KICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1l
bnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVUb0F1dG9wbGF5VG9FeHRlcm5hbERldmljZSk7
CiAjZW5kaWYKIAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgY2xlYW4gdXAgYW5kIGxvb2sgdG8g
YmV0dGVyIG1lcmdlIHRoZSBpT1MgYW5kIG5vbi1pT1MgY29kZSBiZWxvdy4KICAgICBTZXR0aW5n
cyogc2V0dGluZ3MgPSBkb2N1bWVudC5zZXR0aW5ncygpOwotI2lmICFQTEFURk9STShJT1MpCi0g
ICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQ
bGF5YmFjaygpKSB7Ci0gICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0
aW9uKE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2Up
OwotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkKTsKLSAgICB9Ci0jZWxzZQor
I2lmIFBMQVRGT1JNKElPUykKICAgICBtX3NlbmRQcm9ncmVzc0V2ZW50cyA9IGZhbHNlOwotICAg
IGlmICghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrKCkpIHsKKyNlbmRpZgorICAgIGlmICghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPnZpZGVv
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKCkpIHsKICAgICAgICAgLy8gQWxsb3cgYXV0b3Bs
YXkgaW4gYSBNZWRpYURvY3VtZW50IHRoYXQgaXMgbm90IGluIGFuIGlmcmFtZS4KLSAgICAgICAg
aWYgKGRvY3VtZW50Lm93bmVyRWxlbWVudCgpIHx8ICFkb2N1bWVudC5pc01lZGlhRG9jdW1lbnQo
KSkKLSAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1l
ZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UpOworICAg
ICAgICBpZiAoZG9jdW1lbnQub3duZXJFbGVtZW50KCkgfHwgIWRvY3VtZW50LmlzTWVkaWFEb2N1
bWVudCgpKSB7CisgICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmlj
dGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVD
aGFuZ2UpOworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rp
b24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yTG9hZCk7CisgICAg
ICAgIH0KICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgICAgICBtX21l
ZGlhU2Vzc2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpS
ZXF1aXJlVXNlckdlc3R1cmVUb1Nob3dQbGF5YmFja1RhcmdldFBpY2tlcik7CiAjZW5kaWYKLSAg
ICB9IGVsc2UgewotICAgICAgICAvLyBSZWxheCBSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2Ny
ZWVuIHdoZW4gcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sgaXMgbm90IHNldDoK
KyAgICB9CisjaWYgUExBVEZPUk0oSU9TKQorICAgIGVsc2UgeworICAgICAgICAvLyBSZWxheCBS
ZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVuIHdoZW4gdmlkZW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUgaXMgbm90IHNldDoKICAgICAgICAgbV9tZWRpYVNlc3Npb24tPnJlbW92ZUJl
aGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJl
Rm9yRnVsbHNjcmVlbik7CiAgICAgfQorI2VuZGlmCiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRp
bmdzLT5pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCgpKQogICAgICAgICBtX21lZGlhU2Vz
c2lvbi0+YWRkQmVoYXZpb3JSZXN0cmljdGlvbihNZWRpYUVsZW1lbnRTZXNzaW9uOjpJbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZCk7Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAotICAg
IGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+YXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUoKSAmJiBzZXR0aW5ncy0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soKSkK
KyAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlKCkpCiAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9u
KE1lZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5n
ZSk7CiAKICAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+bWVkaWFEYXRhTG9hZHNBdXRv
bWF0aWNhbGx5KCkpCkBAIC02MjMyLDcgKzYyMzEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpCiAgICAg
ICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxheVRv
RXh0ZXJuYWxEZXZpY2UKICNlbmRpZgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OlJl
cXVpcmVVc2VyR2VzdHVyZUZvckxvYWQKLSAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpS
ZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlCisgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlCiAg
ICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNj
cmVlbgogICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246OkludmlzaWJsZUF1dG9wbGF5Tm90
UGVybWl0dGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
aW5kZXggYWNjZTJmMWFiYjM1MjY2N2M4YTg1ZGE0MzU4MDg0OTY3NzFhOTYxZi4uMWIxMGJkMjQ5
OWY1NGMwZjI3MWM2ZWVlMTI4YjZmMDQ0N2YzNDM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC03Myw3ICs3Myw3IEBAIHN0YXRpYyBTdHJpbmcg
cmVzdHJpY3Rpb25OYW1lKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25z
IHJlc3RyaWN0CiAKICAgICBDQVNFKE5vUmVzdHJpY3Rpb25zKTsKICAgICBDQVNFKFJlcXVpcmVV
c2VyR2VzdHVyZUZvckxvYWQpOwotICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNo
YW5nZSk7CisgICAgQ0FTRShSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UpOwog
ICAgIENBU0UoUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlKTsKICAgICBDQVNF
KFJlcXVpcmVVc2VyR2VzdHVyZUZvckZ1bGxzY3JlZW4pOwogICAgIENBU0UoUmVxdWlyZVBhZ2VD
b25zZW50VG9Mb2FkTWVkaWEpOwpAQCAtMTQ5LDEyICsxNDksMTIgQEAgYm9vbCBNZWRpYUVsZW1l
bnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZChjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVt
ZW50KSBjb24KICAgICBpZiAobV9yZXN0cmljdGlvbnMgJiBPdmVycmlkZVVzZXJHZXN0dXJlUmVx
dWlyZW1lbnRGb3JNYWluQ29udGVudCAmJiB1cGRhdGVJc01haW5Db250ZW50KCkpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCi0gICAgaWYgKG1fcmVzdHJpY3Rpb25zICYgUmVxdWlyZVVzZXJHZXN0
dXJlRm9yUmF0ZUNoYW5nZSAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlRm9yTWVkaWEoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2Vz
dHVyZUZvclZpZGVvUmF0ZUNoYW5nZSAmJiBlbGVtZW50LmlzVmlkZW8oKSAmJiAhU2NyaXB0Q29u
dHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBMT0co
TWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCAtIHJldHVybmlu
ZyBGQUxTRSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKG1fcmVz
dHJpY3Rpb25zICYgUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlICYmIGVsZW1l
bnQuaGFzQXVkaW8oKSAmJiAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJl
Rm9yTWVkaWEoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVy
ZUZvckF1ZGlvUmF0ZUNoYW5nZSAmJiAoIWVsZW1lbnQuaXNWaWRlbygpIHx8IGVsZW1lbnQuaGFz
QXVkaW8oKSkgJiYgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1l
ZGlhKCkpIHsKICAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJh
Y2tQZXJtaXR0ZWQgLSByZXR1cm5pbmcgRkFMU0UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lv
bi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggNzE5
N2JmZmJjZGMxYjJlZGIyMzUwYmY5ZjE5MmM0ODA0MTUxMGRmNS4uNzk3ZWRkOTVkMzIwNzUzNTBl
NThmNDc4MmE4ZDY2MTljNThkNzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIGVudW0gQmVoYXZpb3JS
ZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBS
ZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkID0gMSA8PCAwLAotICAgICAgICBSZXF1aXJlVXNlckdl
c3R1cmVGb3JSYXRlQ2hhbmdlID0gMSA8PCAxLAorICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVG
b3JWaWRlb1JhdGVDaGFuZ2UgPSAxIDw8IDEsCiAgICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZv
ckZ1bGxzY3JlZW4gPSAxIDw8IDIsCiAgICAgICAgIFJlcXVpcmVQYWdlQ29uc2VudFRvTG9hZE1l
ZGlhID0gMSA8PCAzLAogICAgICAgICBSZXF1aXJlUGFnZUNvbnNlbnRUb1Jlc3VtZU1lZGlhID0g
MSA8PCA0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA2NTU3YjNhMzAxZmZkZjYzN2Ey
NDQwYTBiNzVjOTZhODkwNmYzMDFkLi4yNWU2MDU2OWFkYWJmY2Q2ZjczMjI0ZTM4MDM3YTk0OGFl
NzkwZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIHN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRGaXhlZEJhY2tncm91bmRzUGFpbnRSZWxhdGl2ZVRvRG9j
dW1lbnQgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBk
ZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJv
b2wgZGVmYXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
ID0gdHJ1ZTsKLXN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjayA9IHRydWU7CitzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VmlkZW9QbGF5
YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVs
dEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBi
b29sIGRlZmF1bHRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBmYWxzZTsKIHN0YXRpYyBj
b25zdCBib29sIGRlZmF1bHRTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9IHRydWU7CkBA
IC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEZpeGVkQmFja2dyb3Vu
ZHNQYWludFJlbGF0aXZlVG9Eb2N1bWVudCA9IGZhbHNlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCA9IGZhbHNl
Owogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSB0
cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlID0gZmFsc2U7Ci1zdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0
UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2sgPSBmYWxzZTsKK3N0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA9IGZhbHNlOwog
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
ID0gZmFsc2U7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0TWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5ID0gdHJ1ZTsKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTaG91bGRSZXNwZWN0SW1h
Z2VPcmllbnRhdGlvbiA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggYjU0Zjhk
MzFkN2Q5NmQ4ZDQ3Mzk2MjZiZjhmY2M4MzYxZDU2Mjg1OC4uMzE3NmZhZTFhZWQ2ZDRiZmUwZDUy
NzUyMjhlOWQxODMyNzJkMzQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0xMjUsNyAr
MTI1LDcgQEAgc2hvdWxkSW5qZWN0VXNlclNjcmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50IGlu
aXRpYWw9ZmFsc2UKIGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUgaW5pdGlhbD1m
YWxzZQogYWxsb3dEaXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQogYWxsb3dS
dW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQotcmVxdWlyZXNVc2VyR2VzdHVy
ZUZvck1lZGlhUGxheWJhY2sgaW5pdGlhbD1kZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1l
ZGlhUGxheWJhY2sKK3ZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVm
YXVsdFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCiBhdWRpb1BsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZSBpbml0aWFsPWRlZmF1bHRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZQogYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayBpbml0aWFsPWRlZmF1bHRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrCiBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZSBpbml0aWFsPWRlZmF1bHRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lu
bGluZUF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDlmNGYw
ZDFiZGU5YmZiNWFjNzBmN2U4YWJjMGM5ZTMwYjY3M2VhNjcuLjQ3YzIxY2RjZmM3ZWM3ZDQzNjRh
NzY4MTA5ZDU0MWI3ZWYyYmIyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
QEAgLTMwNjgsOCArMzA2OCw4IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUVsZW1lbnRSZXN0
cmljdGlvbnMoSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCwgY29uc3QgU3RyCiAgICAgICAgICAg
ICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6Tm9SZXN0cmljdGlvbnM7CiAg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXN0cmljdGlvblN0cmlu
ZywgInJlcXVpcmV1c2VyZ2VzdHVyZWZvcmxvYWQiKSkKICAgICAgICAgICAgIHJlc3RyaWN0aW9u
cyB8PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkOwotICAg
ICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcs
ICJyZXF1aXJldXNlcmdlc3R1cmVmb3JyYXRlY2hhbmdlIikpCi0gICAgICAgICAgICByZXN0cmlj
dGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNo
YW5nZTsKKyAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0
aW9uU3RyaW5nLCAicmVxdWlyZXVzZXJnZXN0dXJlZm9ydmlkZW9yYXRlY2hhbmdlIikpCisgICAg
ICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJH
ZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UocmVzdHJpY3Rpb25TdHJpbmcsICJyZXF1aXJldXNlcmdlc3R1cmVmb3JmdWxs
c2NyZWVuIikpCiAgICAgICAgICAgICByZXN0cmljdGlvbnMgfD0gTWVkaWFFbGVtZW50U2Vzc2lv
bjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbjsKICAgICAgICAgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlc3RyaWN0aW9uU3RyaW5nLCAicmVxdWlyZXBhZ2Vjb25z
ZW50dG9sb2FkbWVkaWEiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDlmNTU1MjA4MzlmMWRhMDU2YzRhNjdhZDBm
YTRhMTYzMzFkODczNmIuLjg5ZGZiM2Q0YzM1NDg4NTRmM2VmYjVkMGI5N2IwM2U4YmI0OWFmZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaApAQCAtMTIxLDcgKzEyMSw3IEBACiAjZGVmaW5lIFdlYktpdEFWRm91bmRhdGlv
bkVuYWJsZWRLZXkgQCJXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJLaXRB
VkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVkS2V5IEAiV2ViS2l0QVZGb3VuZGF0aW9uTlNV
UkxTZXNzaW9uRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZEtleSBAIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCi0jZGVm
aW5lIFdlYktpdFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtl
eSBAIldlYktpdE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIgorI2RlZmluZSBXZWJL
aXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXkgQCJXZWJL
aXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSIKICNkZWZpbmUgV2ViS2l0UmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QXVkaW9Q
bGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZSIKICNkZWZpbmUgV2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGVLZXkgQCJJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJp
YnV0ZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4
IGY4NWRmMWM3MjhiY2QzOWQzNDRlMTBkZDU0MjE0MmRiYzc2MDg2ZGEuLmMxN2I1MTMwNGUzZTc2
ZThhYWE4MTJkYjRlOGVlN2RiNjU4MGQ3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTIwLDcgKzUyMCw3IEBAIHB1YmxpYzoKICAgICAgICAg
W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBVkZvdW5kYXRpb25OU1VSTFNl
c3Npb25FbmFibGVkS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
IFdlYktpdFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSwKICNpZiAhUExBVEZPUk0o
SU9TKQotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFJlcXVp
cmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpOT10sICAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVm
ZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktp
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVz
UGxheXNJbmxpbmVBdHRyaWJ1dGVLZXksCkBAIC01MzQsNyArNTM0LDcgQEAgcHVibGljOgogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFNob3VsZFJlc3BlY3RJ
bWFnZU9yaWVudGF0aW9uS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVT
XSwgIFdlYktpdE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseVByZWZlcmVuY2VLZXksCiAjZWxz
ZQotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFJlcXVpcmVz
VXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlk
ZW9QbGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpZRVNdLCAgV2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tQcmVmZXJl
bmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6YWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFja10sICAgV2ViS2l0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VL
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpyZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlXSwgV2ViS2l0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGVLZXksCkBAIC0yMjE2LDE0ICsyMjE2LDI1IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xh
c3NJQkNyZWF0b3JJRCA9IG5pbDsKIH0KICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKKy8vIERl
cHJlY2F0ZWQuIEhhcyBubyBlZmZlY3QuIAogLSAoQk9PTCltZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZQogewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CisgICAgcmV0
dXJuIGZhbHNlOwogfQogCisvLyBEZXByZWNhdGVkLiBIYXMgbm8gZWZmZWN0LgogLSAodm9pZClz
ZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClmbGFnCiB7Ci0gICAgW3Nl
bGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOworfQorCistIChCT09MKXZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6
V2ViS2l0UmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsK
K30KKworLSAodm9pZClzZXRWaWRlb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTooQk9PTClm
bGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRSZXF1aXJl
c1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09M
KWF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAzMzRjMmNjMWNkNDI4NWQ2
YTBlN2JmYmRlOTQwYTcwMjk2YmVlMWE5Li4xZmFkNDlmNTQwMzU2MTU1ZTgwMmQ5MzI2OWUxYjU4
MjFhYzRlZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKQEAgLTI0OCw5ICsyNDgsMTMgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09M
KWh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZDsKIC0gKHZvaWQpc2V0SHlwZXJsaW5rQXVkaXRpbmdF
bmFibGVkOihCT09MKWVuYWJsZWQ7CiAKKy8vIERlcHJlY2F0ZWQuIEhhcyBubyBlZmZlY3QuCiAt
ICh2b2lkKXNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CiAt
IChCT09MKW1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOwogCistICh2b2lkKXNldFZp
ZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CistIChCT09MKXZpZGVv
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOworCiAtICh2b2lkKXNldEF1ZGlvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlOihCT09MKWZsYWc7CiAtIChCT09MKWF1ZGlvUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXgg
ZjA5MzkwM2ZhMDNjMGRjYzA2MTIzYmUzYzE3YzY4ZGI3MTZlZDY1NS4uM2IxZWNjODE0NmY1MTU0
NDZkZWMyZmE0MjU5YTViYzZmYjkwNWQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQpAQCAtMjMzMSw3ICsyMzMxLDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hp
bGVMb2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25FbmFibGVkKFtzZWxmIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CiAgICAg
c2V0dGluZ3Muc2V0VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb24oW3NlbGYgdmFs
aWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb25dKTsKIAotICAgIHNldHRpbmdzLnNldFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKFtwcmVmZXJlbmNlcyBtZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOworICAgIHNldHRpbmdzLnNldFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlKFtwcmVmZXJlbmNlcyB2aWRlb1BsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZV0pOwogICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlKFtwcmVmZXJlbmNlcyBhdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAg
IHNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soW3ByZWZlcmVuY2VzIG1lZGlh
UGxheWJhY2tBbGxvd3NJbmxpbmVdKTsKICAgICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShbcHJlZmVyZW5jZXMgaW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVdKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAK
aW5kZXggZjQ5Zjg2YTAwMjFjNzlkYWY2ZDBiNzVlMTVhMWE0ZjhkNTM4NWVlZS4uYTM2ZWRmNzFm
OTgxOWJmMWU3YjcxNTRhNjY5NTE4ZGNhZjFlMTlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAg
LTUzMDUsNyArNTMwNSw4IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICBociA9IHByZWZzUHJpdmF0
ZS0+bWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoJmVuYWJsZWQpOwogICAgIGlmIChG
QUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7Ci0gICAgc2V0dGluZ3Muc2V0UmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soZW5hYmxlZCk7CisgICAgc2V0dGluZ3Muc2V0UmVx
dWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2soZW5hYmxlZCk7CisgICAgc2V0dGluZ3Mu
c2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2soZW5hYmxlZCk7CiAKICAgICBo
ciA9IHByZWZzUHJpdmF0ZS0+bWVkaWFQbGF5YmFja0FsbG93c0lubGluZSgmZW5hYmxlZCk7CiAg
ICAgaWYgKEZBSUxFRChocikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCA1Mjg0MDdkMThhZjFjZjJhNGVmNzY4NmM5M2I0YTE1
ZjEwNTNkMTRhLi45YTY4N2E3ZWQwZDE1M2FkODA2YjRhYWE5NjU5ZWNiNmQ3Y2VjZWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgK
QEAgLTcwLDcgKzcwLDYgQEAKICNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9U
X1BFUk1JVFRFRCB0cnVlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFU
SUNBTExZIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9N
RURJQV9QTEFZQkFDSyB0cnVlCi0jZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJF
X0ZPUl9BVURJT19QTEFZQkFDSyB0cnVlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNf
U0NBTEVfV0lUSF9QQUdFX1pPT00gZmFsc2UKICNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElM
RV9DT0hPUlRfUkVURU5USU9OX0VOQUJMRUQgZmFsc2UKICNlbHNlCkBAIC04Nyw3ICs4Niw2IEBA
CiAjZGVmaW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgZmFsc2UK
ICNkZWZpbmUgREVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQogI2Rl
ZmluZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVESUFfUExBWUJBQ0sgZmFs
c2UKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX0FVRElPX1BMQVlC
QUNLIGZhbHNlCiAjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdF
X1pPT00gdHJ1ZQogI2RlZmluZSBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJ
T05fRU5BQkxFRCB0cnVlCiAjZW5kaWYKQEAgLTE1MSw3ICsxNDksOCBAQAogICAgIG1hY3JvKEFW
Rm91bmRhdGlvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAogICAgIG1hY3JvKEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQsIGlzQVZGb3Vu
ZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3Jv
KFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJl
Rm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RV
UkVfRk9SX01FRElBX1BMQVlCQUNLKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZv
ckF1ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29s
LCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9fUExBWUJBQ0sp
IFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgcmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlKSBcCisgICAg
bWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdl
c3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEFs
bG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIEJvb2ws
IGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJQV9QTEFZQkFDSykgXAogICAgIG1hY3Jv
KElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBpbmxpbmVN
ZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgQm9vbCwgYm9vbCwgREVG
QVVMVF9JTkxJTkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVU
RSkgXAogICAgIG1hY3JvKEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBpbnZpc2libGVB
dXRvcGxheU5vdFBlcm1pdHRlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BM
QVlfTk9UX1BFUk1JVFRFRCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGU2NmY2Mzk0NDE0YTgyZGYxN2MwZjY2NDY0ZTZhNjZh
Yjc5NGY3OTMuLjQ4ZGM2OTljYjI3MGYxMGY3ZmRmZmU0MDUyNGYxNTk3ZGYwZTIxNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAg
LTc1OCw2ICs3NTgsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja1JlcXVp
cmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmMKICAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2so
KTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAg
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1Bs
YXliYWNrKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRWaWRlb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5yZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlk
ZW9QbGF5YmFjaygpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBdWRpb1BsYXliYWNrUmVx
dWlyZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNVc2VyR2VzdHVy
ZUZvckF1ZGlvUGxheWJhY2soZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNlZTcyNTU3YTI1
NGQ1YjFiZjRiMmI0MTRiMjM5MTBiM2RlMjgzNDcuLmI2NDUyNmE2OWI3YTNjNjkwMWYzZWM4Mjc4
OTRjYjYzNzgxYWZhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC0xNzgsNiArMTc4LDEwIEBAIFdL
X0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2Vz
dHVyZShXS1ByZWZlcmVuY2VzUmVmCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVk
aWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0QXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYzhkOTU1MGUzNzIyOWFmNjhiYjI5MzU3ZDk4ZjA5OWRi
OGI0MzI4Ni4uNzA0YTRmOTUzZTMzYzgwYWVkNjhmMDkyM2JhYmUxNmQ0ZDQwMzc4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQw
MSwxMCArNDAxLDEzIEBAIHN0YXRpYyBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlcyBmcm9tV0tE
YXRhRGV0ZWN0b3JUeXBlcyh1aW50NjRfdCB0eXBlcykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+
cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjppbmxpbmVN
ZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSgpLCBXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZV0pKTsKICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5Ojph
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZl
cmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrXSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrKCkpKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5
YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1
cmF0aW9uIHJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2tdKSk7CisjZW5kaWYKKwor
ICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrS2V5KCks
IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX3Jl
cXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2tdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6cmVx
dWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
QXVkaW9QbGF5YmFja10pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVl
cygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjppbnZpc2libGVBdXRvcGxheU5vdFBl
cm1pdHRlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25m
aWd1cmF0aW9uIF9pbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZF0pKTsKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjptZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHlLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5XSkpOwotI2VuZGlmCisKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc0tleTo6ZGF0YURldGVjdG9yVHlwZXNLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0
b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oZnJvbVdLRGF0YURldGVjdG9yVHlwZXMo
W19jb25maWd1cmF0aW9uIGRhdGFEZXRlY3RvclR5cGVzXSkpKSk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5tbQppbmRleCAxM2JjNGMyNzM5YzZiNjk5ZWI4MGRjMWM2YzFmZTU1MGVjOTk3
MGUwLi5kMTFkNGY0MzE1M2VhODNkMDExMzE2ODQyODM2YzUyZDkyMDJhNDFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tCkBAIC0xMDQsMTAgKzEwNCwxMyBAQCBwcml2YXRlOgogICAgIEJPT0wg
X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKICAgICBCT09MIF9hbGxvd3NJbmxpbmVN
ZWRpYVBsYXliYWNrOwogICAgIEJPT0wgX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlz
SW5saW5lQXR0cmlidXRlOworI2VuZGlmCisKICAgICBCT09MIF9pbnZpc2libGVBdXRvcGxheU5v
dFBlcm1pdHRlZDsKICAgICBCT09MIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAg
Qk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjazsKICAgICBCT09MIF9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwotI2VuZGlmCisKICNpZiBQTEFURk9STShN
QUMpCiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKICAgICBCT09MIF9zZXJ2aWNlQ29u
dHJvbHNFbmFibGVkOwpAQCAtMTI2LDEyICsxMjksMTggQEAgcHJpdmF0ZToKICAgICAKICNpZiBQ
TEFURk9STShJT1MpCiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBZ
RVM7Ci0gICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBZRVM7CiAgICAg
X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwogICAgIF9hbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrID0gV2ViQ29yZTo6ZGV2aWNlQ2xhc3MoKSA9PSBNR0RldmljZUNs
YXNzaVBhZDsKICAgICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRy
aWJ1dGUgPSAhX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7Ci0gICAgX2ludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkID0gWUVTOwogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkg
PSBOTzsKKyNlbHNlCisgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyNl
bmRpZgorICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gTk87CisgICAg
X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBOTzsKKyAgICBfaW52aXNpYmxl
QXV0b3BsYXlOb3RQZXJtaXR0ZWQgPSBOTzsKKworI2lmIFBMQVRGT1JNKElPUykKICAgICBfcmVz
cGVjdHNJbWFnZU9yaWVudGF0aW9uID0gWUVTOwogICAgIF9wcmludHNCYWNrZ3JvdW5kcyA9IFlF
UzsKICNlbmRpZgpAQCAtMjM2LDE1ICsyNDUsMTcgQEAgcHJpdmF0ZToKICAgICBjb25maWd1cmF0
aW9uLT5fYWxsb3dzTWV0YVJlZnJlc2ggPSBzZWxmLT5fYWxsb3dzTWV0YVJlZnJlc2g7CiAgICAg
Y29uZmlndXJhdGlvbi0+X2FsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzID0gc2VsZi0+
X2FsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzOwogCisgICAgY29uZmlndXJhdGlvbi0+
X2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gc2VsZi0+X2ludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkOworICAgIGNvbmZpZ3VyYXRpb24tPl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRp
Y2FsbHkgPSBzZWxmLT5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OworICAgIGNvbmZpZ3Vy
YXRpb24tPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gc2VsZi0+X3JlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7CisgICAgY29uZmlndXJhdGlvbi0+X3JlcXVp
cmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9u
Rm9yQXVkaW9QbGF5YmFjazsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBjb25maWd1cmF0aW9u
LT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZTsKLSAgICBjb25maWd1cmF0aW9uLT5faW52aXNpYmxlQXV0b3Bs
YXlOb3RQZXJtaXR0ZWQgPSBzZWxmLT5faW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQ7Ci0g
ICAgY29uZmlndXJhdGlvbi0+X21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IHNlbGYtPl9t
ZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CisgICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVz
VXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9y
TWVkaWFQbGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5fYWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2sgPSBzZWxmLT5fYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2s7CiAgICAgY29uZmlndXJhdGlvbi0+X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSA9
IF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk7Ci0gICAgY29uZmlndXJhdGlvbi0+X3Jl
cXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0
aW9uRm9yTWVkaWFQbGF5YmFjazsKLSAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0
aW9uRm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1Bs
YXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZWxlY3Rpb25HcmFudWxhcml0eSA9IHNlbGYt
Pl9zZWxlY3Rpb25HcmFudWxhcml0eTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTUy
OSw2ICs1NDAsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKmRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JV
c2VyQWdlbnQoKQogewogICAgIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGlu
ZUF0dHJpYnV0ZSA9IHJlcXVpcmVzOwogfQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogLSAo
Qk9PTClfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQKIHsKQEAgLTU1MCw2ICs1NjIsMTYg
QEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KCkK
ICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gbWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5OwogfQogCistIChCT09MKV9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNr
Cit7CisgICAgcmV0dXJuIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOworfQor
CistICh2b2lkKV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOihCT09MKXJl
cXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sKK3sKKyAgICBfcmVxdWlyZXNVc2VyQWN0
aW9uRm9yVmlkZW9QbGF5YmFjayA9IHJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s7
Cit9CisKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sKIHsKICAg
ICByZXR1cm4gX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CkBAIC01NjAsOCAr
NTgyLDYgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9yVXNlckFn
ZW50KCkKICAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IHJlcXVpcmVz
VXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s7CiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShJT1Mp
Ci0KICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93c1VSTHNJblRvb2xUaXBzCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggNDA4ZDdjMDgyMTkwY2Q3OWU5
ZmRhN2Y3MmE4ZWQ5NDkyOTdlM2YzNi4uYzc1MDU3MWZjYzZiZDExYWE1Y2VlMzc0MmY2MzY4NDc5
MThmZDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApAQCAtNTAsMTQg
KzUwLDE0IEBACiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDb252ZXJ0c1Bvc2l0
aW9uU3R5bGVPbkNvcHk6KSBCT09MIF9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHkgV0tfQVZB
SUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0QWxsb3dzTWV0YVJlZnJlc2g6KSBCT09MIF9hbGxvd3NNZXRhUmVmcmVzaCBXS19B
VkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMczopIEJPT0wgX2FsbG93
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19J
T1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFj
dGlvbkZvckF1ZGlvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1Bs
YXliYWNrIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6
KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrIFdLX0FWQUlMQUJMRShX
S19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikgQk9PTCBfaW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5Oikg
Qk9PTCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJB
LCBXS19JT1NfVEJBKTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fs
d2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBXS19BVkFJTEFCTEUoTkEsIDlfMCk7Ci0KLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrIFdLX0FW
QUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTopIEJPT0wg
X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlIFdLX0FWQUlM
QUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJ
bnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDopIEJPT0wgX2ludmlzaWJsZUF1dG9wbGF5Tm90
UGVybWl0dGVkIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk6KSBCT09MIF9tZWRp
YURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKICNl
bHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBz
OikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEp
OwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2VydmljZUNvbnRyb2xzRW5hYmxl
ZDopIEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEs
IE5BKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCA4ZjUyNjhjMDJjZTczYWRkZjMxNGY4NTExMmMzYjU0NzViZDRhODUxLi4yOWRhODJiODg3
MzMxNGIxNjZhMmI2YzllNzE1MThlYjQ4ODQ0NmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yODk1LDggKzI4OTUsOSBAQCB2b2lkIFdl
YlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3Jl
KQogICAgIHNldHRpbmdzLnNldFdlYkdMRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OndlYkdMRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0
Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6Zm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkS2V5KCkp
KTsKLSAgICBzZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjayhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdl
c3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRBdWRpb1BsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5KCkpKTsKKyAg
ICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSA9IHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJh
Y2tLZXkoKSk7CisgICAgc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUocmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhIHx8IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tL
ZXkoKSkpOworICAgIHNldHRpbmdzLnNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYSB8fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrS2V5
KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVz
UGxheXNJbmxpbmVBdHRyaWJ1dGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjppbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtl
eSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbnZpc2libGVBdXRvcGxh
eU5vdFBlcm1pdHRlZEtleSgpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggYWY4NTBjMmZlZjZiMGU2ZWZmYWFjZmZlNjE2ZGNjNDU2OTFkMzNi
ZC4uNjQ4ZjhlYmQxOWFmZjYxN2MwODlkYTc1N2M0NDAxMmU1NzA3ZDc2NyAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisy
MDE2LTAzLTA4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzZXBhcmF0ZSBXSyBhbmQgV0syIHByZWZlcmVuY2VzIGZvciByZXF1aXJpbmcgdXNlciBnZXN0
dXJlcyBmb3IgdmlkZW8gbWVkaWEsIGRpc3RpbmN0IGZyb20gdXNlciBnZXN0dXJlcyBmb3IgbWVk
aWEgZ2VuZXJhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTZXQgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciBtZWRpYSBwcmVmZXJlbmNlcyB1bmNvbmRp
dGlvbmFsbHksIG5vdCBqdXN0IG9uIFBMQVRGT1JNKElPUykuIFNldCAidmlkZW8gcmVxdWlyZXMg
dXNlciBnZXN0dXJlIgorICAgICAgICB0byBzYW5lIGRlZmF1bHRzIGluIGFkZGl0aW9uIHRvICJh
dWRpbyByZXF1aXJlcyB1c2VyIGdlc3R1cmUiIGFuZCAoaW4gdGhlIGNhc2Ugb2YgRHVtcFJFbmRl
clRyZWUpIGluc3RlYWQgb2YgIm1lZGlhIHJlcXVpcmVzIHVzZXIgZ2VzdHVyZSIuCisKKyAgICAg
ICAgQWRkIGEgbmV3IHRlc3Qgb2YgV0syIHVzZXIgZ2VzdHVyZSByZXF1aXJlbWVudCBwcmVmZXJl
bmNlcy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToK
KyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRoLWF1
ZGlvLmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVv
LXdpdGhvdXQtYXVkaW8uaHRtbDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9SZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFjay5tbTogQWRkZWQuCisgICAgICAg
ICgtW1JlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrTmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZp
ZXc6ZGlkRmluaXNoTmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1bUmVxdWlyZXNVc2VyQWN0aW9u
Rm9yUGxheWJhY2tNZXNzYWdlSGFuZGxlciB1c2VyQ29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2
ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAgICAgIChSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFj
a1Rlc3Q6OlNldFVwKToKKyAgICAgICAgKFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrVGVz
dDo6Y3JlYXRlV2ViVmlldyk6CisgICAgICAgIChSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFj
a1Rlc3Q6OnRlc3RWaWRlb1dpdGhBdWRpbyk6CisgICAgICAgIChSZXF1aXJlc1VzZXJBY3Rpb25G
b3JQbGF5YmFja1Rlc3Q6OnRlc3RWaWRlb1dpdGhvdXRBdWRpbyk6CisgICAgICAgIChSZXF1aXJl
c1VzZXJBY3Rpb25Gb3JQbGF5YmFja1Rlc3Q6OnRlc3RBdWRpb09ubHkpOgorICAgICAgICAoVEVT
VF9GKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Db2Rpbmcu
bW06CisgICAgICAgIChURVNUKToKKwogMjAxNi0wMy0xMCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5n
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIHN1cHBvcnQgZm9yIFdPRkYyCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggN2IyOWFiZGU0YjFl
ZjdjZjZlN2YxY2E4ODRhNTQxZDhlYmFhYWU4NS4uZTZlNGE1NzU5ZDY4NTQxMzI5YjVjNGI4MDY4
MjFlOWQzYTA2NmI5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtOTM5LDEyICs5MzksMTMgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVT
aGVldEVuYWJsZWQ6WUVTXTsKICAgICB9IGVsc2UKICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVz
ZXJTdHlsZVNoZWV0RW5hYmxlZDpOT107Ci0jaWYgUExBVEZPUk0oSU9TKQogICAgIFtwcmVmZXJl
bmNlcyBzZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lOllFU107Ci0gICAgW3ByZWZlcmVuY2Vz
IHNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKKyAgICBbcHJlZmVyZW5j
ZXMgc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmU6Tk9dOworICAgIFtwcmVmZXJl
bmNlcyBzZXRBdWRpb1BsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTpOT107CiAgICAgW3ByZWZl
cmVuY2VzIHNldE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseTpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZDpOT107CiAKKyNpZiBQTEFURk9S
TShJT1MpCiAgICAgLy8gRW5hYmxlIHRoZSB0cmFja2VyIGJlZm9yZSBjcmVhdGluZyB0aGUgZmly
c3QgV2ViVmlldyB3aWxsCiAgICAgLy8gY2F1c2UgaW5pdGlhbGl6YXRpb24gdG8gdXNlIHRoZSBj
b3JyZWN0IGRhdGFiYXNlIHBhdGhzLgogICAgIFtwcmVmZXJlbmNlcyBzZXRTdG9yYWdlVHJhY2tl
ckVuYWJsZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWRmYzI1NTFjYzE4MjNj
ZTkxZWFhNWI1ODMwMzU5MWQ5NWIzNTYyMS4uMzE0YzY1Yzg0YWFhZmYwYjQwMzczY2M3MjdiNWE5
MTM2OTg3YWE5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMzNiw2ICszMzYsOCBAQAog
CQlDRDU5RjUzNDE5RTkxMTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlF
OTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlF
OTExMEQwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRl
c3QtbXNlLm1wNCAqLzsgfTsKIAkJQ0Q4OUQwM0ExQzRFREIyQTAwMDQwQTA0IC8qIFdlYkNvcmVO
U1VSTFNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDg5RDAzODFDNEVEQjJBMDAwNDBBMDQgLyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSAq
LzsgfTsKKwkJQ0Q5RTI5MkMxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVzVXNlckFjdGlvbkZv
clBsYXliYWNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXli
YWNrLm1tICovOyB9OworCQlDRDlFMjkyRTFDOTBDMzNGMDAwQkI4MDAgLyogYXVkaW8tb25seS5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEOUUyOTJEMUM5MEMxQkEwMDBCQjgwMCAvKiBhdWRpby1vbmx5Lmh0bWwgKi87IH07CiAJCUNE
QkZDQzQ1MUE5RkY0NTMwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkZDQzQzMUE5
RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSAqLzsgfTsKIAkJ
Q0RCRkNDNDYxQTlGRjQ5RTAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0
bWwgKi87IH07CiAJCUNEQzhFNDhEMUJDNUNCNDUwMDU5NEZFQyAvKiBBdWRpb1Nlc3Npb25DYXRl
Z29yeUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQzhFNDg1MUJDNUIxOTQwMDU5NEZFQyAvKiBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5tbSAq
LzsgfTsKQEAgLTQwNCw2ICs0MDYsNyBAQAogCQkJZHN0UGF0aCA9IFRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlmaWxlcyA9ICgKKwkJCQlDRDlF
MjkyRTFDOTBDMzNGMDAwQkI4MDAgLyogYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCTUxQkNFRTRFMUM4NEY1M0IwMDQyQzgyRSAvKiBJbmRleGVkREJNdWx0aVByb2Nl
c3MtMS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxQkNFRTRGMUM4NEY1M0IwMDQy
QzgyRSAvKiBJbmRleGVkREJNdWx0aVByb2Nlc3MtMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTUxQjFFRTk2MUM4MEZBRUYwMDY0RkI5OCAvKiBJbmRleGVkREJQZXJzaXN0ZW5jZS0x
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC04NDEsNiArODQ0LDggQEAKIAkJQ0Q1OUY1
MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSAidGVzdC1tc2UubXA0Ijsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3NzNGNzExQzUwNTdEQjAwMDIyNTdDIC8q
IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9
IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDg5RDAzODFDNEVEQjJBMDAwNDBBMDQgLyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVOU1VSTFNlc3Npb24ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEOUUyOTJCMUM5MEE3MUYwMDBCQjgwMCAv
KiBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFjay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDlFMjkyRDFDOTBDMUJBMDAwQkI4MDAgLyogYXVk
aW8tb25seS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImF1ZGlvLW9ubHkuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQkZDQzQyMUE5RkY0NDgwMEE3QjY5
MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0RCRkNDNDMxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29t
SW5pdGlhbEZyYW1lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
RnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRpbWVSYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTAxNiw2ICsxMDIxLDcgQEAKIAkJCQkxQTRGODFEMDFCREZGRENGMDA0RTY3MkUgLyogUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuaCAqLywKIAkJCQkxQTRGODFDODFCREZGRDE4MDA0RTY3MkUgLyogUmVt
b3RlT2JqZWN0UmVnaXN0cnkubW0gKi8sCiAJCQkJMUE0RjgxQ0QxQkRGRkQ1MzAwNEU2NzJFIC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovLAorCQkJCUNEOUUyOTJCMUM5MEE3MUYw
MDBCQjgwMCAvKiBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFjay5tbSAqLywKIAkJCQkzN0JD
QTYxQjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93
QWN0aW9ucy5tbSAqLywKIAkJCQkyRDlBNTNBRTFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9G
aXQubW0gKi8sCiAJCQkJN0NDM0UxRkExOTdFMjM0MTAwQkU2MjUyIC8qIFVzZXJDb250ZW50Q29u
dHJvbGxlci5tbSAqLywKQEAgLTE1NjcsNiArMTU3Myw3IEBACiAJCUNEQzhFNDlBMUJDNzI4RkUw
MDU5NEZFQyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCUNEOUUyOTJEMUM5MEMxQkEwMDBCQjgwMCAvKiBhdWRpby1vbmx5Lmh0bWwg
Ki8sCiAJCQkJQ0RDOEU0ODkxQkM1Qzk2MjAwNTk0RkVDIC8qIHZpZGVvLXdpdGgtYXVkaW8uaHRt
bCAqLywKIAkJCQlDREM4RTQ4QTFCQzVDOTYyMDA1OTRGRUMgLyogdmlkZW8td2l0aC1hdWRpby5t
cDQgKi8sCiAJCQkJQ0RDOEU0OEIxQkM1Qzk2MjAwNTk0RkVDIC8qIHZpZGVvLXdpdGhvdXQtYXVk
aW8uaHRtbCAqLywKQEAgLTE5NDMsNiArMTk1MCw3IEBACiAJCQkJMUE0RjgxQ0MxQkRGRkQzNzAw
NEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFD
QjRBRDgxQjNBMDc5QzAwQzFCMUM2IC8qIE1vZGFsQWxlcnRzU1BJLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdBMzhEN0U2MUM3NTJENUYwMDRGMTU3RCAvKiBIYXNoQ291bnRlZFNldC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlDRDlFMjkyQzFDOTBBNzFGMDAwQkI4MDAgLyogUmVxdWlyZXNVc2Vy
QWN0aW9uRm9yUGxheWJhY2subW0gaW4gU291cmNlcyAqLywKIAkJCQk5Qjc5MTY1MDFCRDg5RDBE
MDBENTBCOEYgLyogRmlyc3RSZXNwb25kZXJTY3JvbGxpbmdQb3NpdGlvbi5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTFDRjBEMzc5MUJCRjJGM0QwMEI0RUY1NCAvKiBXS1JldGFpblB0ci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyNkY2RTFGMDFBREM3NDlCMDBERTY5NkIgLyogREZBTWluaW1pemVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvaW9zL2F1ZGlvLW9ubHkuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L2lvcy9hdWRpby1vbmx5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQwMGY2NjI4NGUyOTkxM2Rh
NTliNDZjZTM1NmI4Y2E2YmRmZGZjZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L2lvcy9hdWRpby1vbmx5Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gZ28oKSB7CisgICAgICAgIHZhciBhdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdhdWRpbycpWzBdOworICAgICAgICB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQobm90
UGxheWluZywgMjUwKTsKKyAgICAgICAgYXVkaW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycs
IHBsYXlpbmcpOworICAgICAgICBhdWRpby5wbGF5KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
cGxheWluZygpIHsKKyAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0KTsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBsYXlp
bmdIYW5kbGVyLnBvc3RNZXNzYWdlKCdwbGF5aW5nJyk7CisgICAgICAgIH0gY2F0Y2goZSkgewor
ICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gJ2NhbGxiYWNrOnBsYXlpbmcnOworICAgICAg
ICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gbm90UGxheWluZygpIHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBsYXlpbmdIYW5kbGVy
LnBvc3RNZXNzYWdlKCdub3QgcGxheWluZycpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
IH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZ28oKSI+CisgICAgPGF1
ZGlvIHNyYz0idmlkZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2lvcy92aWRlby13aXRoLWF1ZGlvLmh0bWwKaW5kZXggZDBk
NjZiYjZjMGQzMTk0ZjVlOTM3ODlmNWQ2NDhlODk4NzU5YjUzZS4uYzg5MjRiNmI5OGFhODNmNmQy
YmUxNWRiNDg5ODQ4NDM1M2Y1YTllOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9pb3MvdmlkZW8td2l0aC1hdWRpby5odG1sCkBAIC0yLDEzICsy
LDI5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQ+CisgICAgdmFyIHRpbWVvdXQ7CisK
ICAgICBmdW5jdGlvbiBnbygpIHsKICAgICAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0gICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVu
ZXIoJ3BsYXlpbmcnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9
ICdjYWxsYmFjazpwbGF5aW5nJzsKLSAgICAgICAgfSk7CisgICAgICAgIHRpbWVvdXQgPSB3aW5k
b3cuc2V0VGltZW91dChub3RQbGF5aW5nLCAyNTApOworICAgICAgICB2aWRlby5hZGRFdmVudExp
c3RlbmVyKCdwbGF5aW5nJywgcGxheWluZyk7CiAgICAgICAgIHZpZGVvLnBsYXkoKTsKICAgICB9
CisKKyAgICBmdW5jdGlvbiBwbGF5aW5nKCkgeworICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0
KHRpbWVvdXQpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNz
YWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ3BsYXlpbmcnKTsKKyAgICAg
ICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnY2FsbGJhY2s6
cGxheWluZyc7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBub3RQbGF5aW5nKCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxl
cnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ25vdCBwbGF5aW5nJyk7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgfQogICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9
ImdvKCkiPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9z
L3ZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L2lvcy92aWRlby13aXRob3V0LWF1ZGlvLmh0bWwKaW5kZXggMzg0Yzk2MzNhYTJlNzJiNmU3
YjQxOTk0NTVkODg0NzhhNzYzOWY4Yy4uODQ1ODZmMzI1YzFiZWI5MWZjN2ZlMDVhMjc5YWQwMmJl
MThlMmM0MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvaW9z
L3ZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9pb3MvdmlkZW8td2l0aG91dC1hdWRpby5odG1sCkBAIC00LDExICs0LDI1IEBACiAg
ICAgPHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpIHsKICAgICAgICAgdmFyIHZpZGVvID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0gICAgICAgIHZpZGVvLmFk
ZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHdpbmRv
dy5sb2NhdGlvbiA9ICdjYWxsYmFjazpwbGF5aW5nJzsKLSAgICAgICAgfSk7CisgICAgICAgIHRp
bWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChub3RQbGF5aW5nLCAyNTApOworICAgICAgICB2aWRl
by5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgcGxheWluZyk7CiAgICAgICAgIHZpZGVvLnBs
YXkoKTsKICAgICB9CisKKyAgICBmdW5jdGlvbiBwbGF5aW5nKCkgeworICAgICAgICB3aW5kb3cu
Y2xlYXJUaW1lb3V0KHRpbWVvdXQpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93
LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ3BsYXlp
bmcnKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24g
PSAnY2FsbGJhY2s6cGxheWluZyc7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBu
b3RQbGF5aW5nKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93LndlYmtpdC5t
ZXNzYWdlSGFuZGxlcnMucGxheWluZ0hhbmRsZXIucG9zdE1lc3NhZ2UoJ25vdCBwbGF5aW5nJyk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgb25sb2FkPSJnbygpIj4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0MkNvY29hL0NvZGluZy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL0NvZGluZy5tbQppbmRleCBiMmU2ZmQzNmFjN2U0NzdiM2YwZjc4ODMwNTVmOTI1
ODExNDc5NzQ0Li5mYzU1MGFkMDVlZTg4MWVlMmU3NWMzMjNjOWU5NDAwMjg3OTkwNTQyIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Db2RpbmcubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29kaW5nLm1tCkBA
IC0yOCw2ICsyOCw3IEBACiAjaWYgV0tfQVBJX0VOQUJMRUQKIAogI2ltcG9ydCA8V2ViS2l0L1dL
UHJvY2Vzc1Bvb2xQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJh
dGlvblByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KQEAgLTk4LDYgKzk5LDggQEAgVEVTVChDb2RpbmcsIFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24pCiAgICAgW2Egc2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50OkAiQXBwbGljYXRp
b24gTmFtZSJdOwogICAgIFthIHNldEFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrOk5PXTsK
ICAgICBbYSBzZXREYXRhRGV0ZWN0b3JUeXBlczpXS0RhdGFEZXRlY3RvclR5cGVBbGxdOworICAg
IFthIF9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrOllFU107CisgICAgW2Eg
X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2s6WUVTXTsKIAogI2lmIFBMQVRG
T1JNKElPUykKICAgICBbYSBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOllFU107CkBAIC0x
MTIsNiArMTE1LDggQEAgVEVTVChDb2RpbmcsIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24pCiAgICAg
RVhQRUNUX1RSVUUoW1thIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudF0gaXNFcXVhbFRvU3Ry
aW5nOltiIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudF1dKTsKICAgICBFWFBFQ1RfRVEoW2Eg
YWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2tdLCBbYiBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQ
bGF5YmFja10pOwogICAgIEVYUEVDVF9FUShbYSBkYXRhRGV0ZWN0b3JUeXBlc10sIFtiIGRhdGFE
ZXRlY3RvclR5cGVzXSk7CisgICAgRVhQRUNUX0VRKFthIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JW
aWRlb1BsYXliYWNrXSwgW2IgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2tdKTsK
KyAgICBFWFBFQ1RfRVEoW2EgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2tdLCBb
YiBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFja10pOwogCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgIEVYUEVDVF9FUShbYSBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrXSwgW2IgYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja10pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2subW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9SZXF1aXJlc1VzZXJBY3Rpb25G
b3JQbGF5YmFjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWE0YzYzMjMwMThhNDgzZDJkNWQ0MTAxMjg5NmFm
MDY3ODIzMjU1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2subW0KQEAgLTAsMCArMSwy
MTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiUGxhdGZv
cm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgPFdlYkNvcmUvU29mdExp
bmtpbmcuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5o
PgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
CisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2lmIFRBUkdFVF9PU19JUEhPTkUKK1NPRlRfTElOS19G
UkFNRVdPUksoVUlLaXQpCitTT0ZUX0xJTktfQ0xBU1MoVUlLaXQsIFVJV2luZG93KQorI2VuZGlm
CisKK3N0YXRpYyBib29sIGlzRG9uZVdpdGhOYXZpZ2F0aW9uOworCitAaW50ZXJmYWNlIFJlcXVp
cmVzVXNlckFjdGlvbkZvclBsYXliYWNrTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdL
TmF2aWdhdGlvbkRlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gUmVxdWlyZXNVc2Vy
QWN0aW9uRm9yUGxheWJhY2tOYXZpZ2F0aW9uRGVsZWdhdGUKKy0gKHZvaWQpd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZp
Z2F0aW9uCit7CisgICAgaXNEb25lV2l0aE5hdmlnYXRpb24gPSB0cnVlOworfQorQGVuZAorCitz
dGF0aWMgYm9vbCByZWNlaXZlZFNjcmlwdE1lc3NhZ2U7CitzdGF0aWMgUmV0YWluUHRyPFdLU2Ny
aXB0TWVzc2FnZT4gbGFzdFNjcmlwdE1lc3NhZ2U7CisKK0BpbnRlcmZhY2UgUmVxdWlyZXNVc2Vy
QWN0aW9uRm9yUGxheWJhY2tNZXNzYWdlSGFuZGxlciA6IE5TT2JqZWN0IDxXS1NjcmlwdE1lc3Nh
Z2VIYW5kbGVyPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gUmVxdWlyZXNVc2VyQWN0aW9uRm9y
UGxheWJhY2tNZXNzYWdlSGFuZGxlcgorLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xsZXI6KFdL
VXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJlY2VpdmVT
Y3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7CisgICAgcmVjZWl2ZWRT
Y3JpcHRNZXNzYWdlID0gdHJ1ZTsKKyAgICBsYXN0U2NyaXB0TWVzc2FnZSA9IG1lc3NhZ2U7Cit9
CitAZW5kCisKKworY2xhc3MgUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0IDogcHVi
bGljIHRlc3Rpbmc6OlRlc3QgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCisg
ICAgeworICAgICAgICBoYW5kbGVyID0gYWRvcHROUyhbW1JlcXVpcmVzVXNlckFjdGlvbkZvclBs
YXliYWNrTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgY29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAg
ICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3Nh
Z2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInBsYXlpbmdIYW5kbGVyIl07CisgICAgICAg
IGNvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsK
KyNpZiBUQVJHRVRfT1NfSVBIT05FCisgICAgICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucmVxdWly
ZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjayA9IE5POworI2VuZGlmCisgICAgfQorCisgICAg
dm9pZCBjcmVhdGVXZWJWaWV3KCkKKyAgICB7CisgICAgICAgIGRlbGVnYXRlID0gYWRvcHROUyhb
W1JlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBp
bml0XSk7CisgICAgICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbi5nZXQoKV0pOworICAgICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOworI2lmIFRBUkdFVF9PU19JUEhPTkUKKyAgICAgICAgd2luZG93ID0g
YWRvcHROUyhbW2dldFVJV2luZG93Q2xhc3MoKSBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworICAgICAgICBbd2luZG93IGFkZFN1YnZpZXc6d2ViVmll
dy5nZXQoKV07CisjZWxzZQorICAgICAgICB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxs
b2NdIGluaXRXaXRoQ29udGVudFJlY3Q6d2ViVmlldy5nZXQoKS5mcmFtZSBzdHlsZU1hc2s6TlNC
b3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6
Tk9dKTsKKyAgICAgICAgW3dpbmRvdy5nZXQoKS5jb250ZW50VmlldyBhZGRTdWJ2aWV3OndlYlZp
ZXcuZ2V0KCldOworI2VuZGlmCisgICAgfQorCisgICAgdm9pZCB0ZXN0VmlkZW9XaXRoQXVkaW8o
KQorICAgIHsKKyAgICAgICAgTlNVUkwgKmZpbGVVUkwgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVd
IFVSTEZvclJlc291cmNlOkAidmlkZW8td2l0aC1hdWRpbyIgd2l0aEV4dGVuc2lvbjpAImh0bWwi
IHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgICAgIFt3ZWJW
aWV3IGxvYWRGaWxlVVJMOmZpbGVVUkwgYWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6ZmlsZVVSTF07
CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2l0aE5hdmlnYXRpb24p
OworICAgICAgICBpc0RvbmVXaXRoTmF2aWdhdGlvbiA9IGZhbHNlOworCisgICAgICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdlKTsKKyAgICAgICAgcmVj
ZWl2ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7CisgICAgfQorCisgICAgdm9pZCB0ZXN0VmlkZW9X
aXRob3V0QXVkaW8oKQorICAgIHsKKyAgICAgICAgTlNVUkwgKmZpbGVVUkwgPSBbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAidmlkZW8td2l0aG91dC1hdWRpbyIgd2l0aEV4
dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07
CisgICAgICAgIFt3ZWJWaWV3IGxvYWRGaWxlVVJMOmZpbGVVUkwgYWxsb3dpbmdSZWFkQWNjZXNz
VG9VUkw6ZmlsZVVSTF07CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25l
V2l0aE5hdmlnYXRpb24pOworICAgICAgICBpc0RvbmVXaXRoTmF2aWdhdGlvbiA9IGZhbHNlOwor
CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdl
KTsKKyAgICAgICAgcmVjZWl2ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7CisgICAgfQorCisgICAg
dm9pZCB0ZXN0QXVkaW9Pbmx5KCkKKyAgICB7CisgICAgICAgIE5TVVJMICpmaWxlVVJMID0gW1tO
U0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImF1ZGlvLW9ubHkiIHdpdGhFeHRl
bnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOwor
ICAgICAgICBbd2ViVmlldyBsb2FkRmlsZVVSTDpmaWxlVVJMIGFsbG93aW5nUmVhZEFjY2Vzc1Rv
VVJMOmZpbGVVUkxdOworICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZVdp
dGhOYXZpZ2F0aW9uKTsKKyAgICAgICAgaXNEb25lV2l0aE5hdmlnYXRpb24gPSBmYWxzZTsKKwor
ICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkU2NyaXB0TWVzc2FnZSk7
CisgICAgICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IGZhbHNlOworICAgIH0KKworICAgIFJl
dGFpblB0cjxSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFja01lc3NhZ2VIYW5kbGVyPiBoYW5k
bGVyOworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9u
OworICAgIFJldGFpblB0cjxSZXF1aXJlc1VzZXJBY3Rpb25Gb3JQbGF5YmFja05hdmlnYXRpb25E
ZWxlZ2F0ZT4gZGVsZWdhdGU7CisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldzsKKyNp
ZiBUQVJHRVRfT1NfSVBIT05FCisgICAgUmV0YWluUHRyPFVJV2luZG93PiB3aW5kb3c7CisjZWxz
ZQorICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93OworI2VuZGlmCit9OworCisjaWYgVEFS
R0VUX09TX0lQSE9ORQorVEVTVF9GKFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrVGVzdCwg
UmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFjaykKK3sKKyAgICBjb25maWd1cmF0aW9u
LmdldCgpLnJlcXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2sgPSBZRVM7CisgICAgY3Jl
YXRlV2ViVmlldygpOworCisgICAgdGVzdFZpZGVvV2l0aEF1ZGlvKCk7CisgICAgRVhQRUNUX1dL
X1NUUkVRKEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9k
eV0pOworICAgIHRlc3RWaWRlb1dpdGhvdXRBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShA
Im5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKKyAg
ICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAibm90IHBsYXlpbmciLCAo
TlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworfQorCitURVNUX0YoUmVxdWly
ZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0LCBEb2VzTm90UmVxdWlyZVVzZXJBY3Rpb25Gb3JN
ZWRpYVBsYXliYWNrKQoreworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucmVxdWlyZXNVc2VyQWN0
aW9uRm9yTWVkaWFQbGF5YmFjayA9IE5POworICAgIGNyZWF0ZVdlYlZpZXcoKTsKKworICAgIHRl
c3RWaWRlb1dpdGhBdWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAInBsYXlpbmciLCAoTlNT
dHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAgIHRlc3RWaWRlb1dpdGhvdXRB
dWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAInBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFz
dFNjcmlwdE1lc3NhZ2UgYm9keV0pOworICAgIHRlc3RBdWRpb09ubHkoKTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoQCJwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHld
KTsKK30KKyNlbmRpZgorCitURVNUX0YoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0
LCBSZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb0FuZFZpZGVvUGxheWJhY2spCit7CisgICAgY29u
ZmlndXJhdGlvbi5nZXQoKS5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IFlF
UzsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1Bs
YXliYWNrID0gWUVTOworICAgIGNyZWF0ZVdlYlZpZXcoKTsKKworICAgIHRlc3RWaWRlb1dpdGhB
dWRpbygpOworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICop
W2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0VmlkZW9XaXRob3V0QXVkaW8oKTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJub3QgcGxheWluZyIsIChOU1N0cmluZyAqKVtsYXN0U2Ny
aXB0TWVzc2FnZSBib2R5XSk7CisgICAgdGVzdEF1ZGlvT25seSgpOworICAgIEVYUEVDVF9XS19T
VFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHld
KTsKK30KKworVEVTVF9GKFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNrVGVzdCwgUmVxdWly
ZXNVc2VyQWN0aW9uRm9yQXVkaW9CdXROb3RWaWRlb1BsYXliYWNrKQoreworICAgIGNvbmZpZ3Vy
YXRpb24uZ2V0KCkuX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBZRVM7Cisg
ICAgY29uZmlndXJhdGlvbi5nZXQoKS5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFj
ayA9IE5POworICAgIGNyZWF0ZVdlYlZpZXcoKTsKKworICAgIHRlc3RWaWRlb1dpdGhBdWRpbygp
OworICAgIEVYUEVDVF9XS19TVFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKKyAgICB0ZXN0VmlkZW9XaXRob3V0QXVkaW8oKTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoQCJwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdl
IGJvZHldKTsKKyAgICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAibm90
IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworfQorCitU
RVNUX0YoUmVxdWlyZXNVc2VyQWN0aW9uRm9yUGxheWJhY2tUZXN0LCBSZXF1aXJlc1VzZXJBY3Rp
b25Gb3JWaWRlb0J1dE5vdEF1ZGlvUGxheWJhY2spCit7CisgICAgY29uZmlndXJhdGlvbi5nZXQo
KS5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IE5POworICAgIGNvbmZpZ3Vy
YXRpb24uZ2V0KCkuX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBZRVM7Cisg
ICAgY3JlYXRlV2ViVmlldygpOworCisgICAgdGVzdFZpZGVvV2l0aEF1ZGlvKCk7CisgICAgRVhQ
RUNUX1dLX1NUUkVRKEAibm90IHBsYXlpbmciLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3Nh
Z2UgYm9keV0pOworICAgIHRlc3RWaWRlb1dpdGhvdXRBdWRpbygpOworICAgIEVYUEVDVF9XS19T
VFJFUShAIm5vdCBwbGF5aW5nIiwgKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHld
KTsKKyAgICB0ZXN0QXVkaW9Pbmx5KCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAicGxheWluZyIs
IChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSk7Cit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDRjZjY3YzY2MzRjNGFjN2Q3ZjUwM2U1ZGJkMDA3ZWFjODQxZTM4OTYuLjlmZDBjYTBmZTQ2
ZTg4YjZjOWQ3ZmRlMjJlM2ExZmY0NDE4YmQ3MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAx
Ni0wMy0wNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
c2VwYXJhdGUgV0sgYW5kIFdLMiBwcmVmZXJlbmNlcyBmb3IgcmVxdWlyaW5nIHVzZXIgZ2VzdHVy
ZXMgZm9yIHZpZGVvIG1lZGlhLCBkaXN0aW5jdCBmcm9tIHVzZXIgZ2VzdHVyZXMgZm9yIG1lZGlh
IGdlbmVyYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU1MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIGxheW91dCB0ZXN0cyB0byByZWZsZWN0IG5ldyByZXN0cmljdGlvbiBuYW1lLgor
CisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS5o
dG1sOgorICAgICAgICAqIG1lZGlhL25vLWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVp
cmVtZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXItZ2Vz
dHVyZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1
cmUuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1jcmFzaC1pbnZpc2libGUtYXV0b3BsYXkt
ZGlzcGxheS1ub25lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdmlkZW8t
Y3Jhc2gtaW52aXNpYmxlLWF1dG9wbGF5LWRpc3BsYXktbm9uZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBtZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3ctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIG1lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy10aGVuLWRlbnktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy10aGVuLWRlbnkuaHRt
bDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3cuaHRtbDoKKyAgICAg
ICAgKiBtZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS1kaXNwbGF5LW5vbmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LWRpc3BsYXktbm9u
ZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LW5vdC1pbi1k
b20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55
LW5vdC1pbi1kb20uaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVu
eS1ub3QtdmlzaWJsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tbWFpbi1j
b250ZW50LWRlbnktbm90LXZpc2libGUuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1tYWlu
LWNvbnRlbnQtZGVueS1vYnNjdXJlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlk
ZW8tbWFpbi1jb250ZW50LWRlbnktb2JzY3VyZWQuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRl
by1tYWluLWNvbnRlbnQtZGVueS10b28tc21hbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1l
ZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LXRvby1zbWFsbC5odG1sOgorCiAyMDE2LTAzLTEw
ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQg
c3VwcG9ydCBmb3IgV09GRjIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXBs
YXliYWNrLXJlc3RyaWN0aW9uLXBsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
YXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQKaW5kZXggYTM3MzE0
ZDU4ZWI0MDg3YTUyMDVkODI5YTY3NmZmYWM0NDgwYjBhNC4uNjU4OWY4MWNhMjhjZTg2MmFlNDhm
NWI4OGJmYWU5NzY0MDhjMjQ2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8t
cGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw3IEBACi1UZXN0IHRoYXQsIHdoZW4gYm90aCBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRl
Q2hhbmdlIGFuZCBSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UgaXMgc2V0LCBz
dGFydGluZyBwbGF5YmFjayBvZiBhbiBhdWRpbyBmaWxlIHJlcXVpcmVzIGEgdXNlciBnZXN0dXJl
LgorVGVzdCB0aGF0LCB3aGVuIFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5nZSBp
cyBzZXQsIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGFuIGF1ZGlvIGZpbGUgcmVxdWlyZXMgYSB1c2Vy
IGdlc3R1cmUuCiAKIAotUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMo
dmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlLFJlcXVpcmVVc2VyR2VzdHVy
ZUZvckF1ZGlvUmF0ZUNoYW5nZSIpKQorUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0
cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKSkK
IFJVTih2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCdhdWRpbycsICdjb250ZW50L3Rlc3QnKSkK
IEVWRU5UKGNhbnBsYXl0aHJvdWdoKQogUlVOKHZpZGVvLnBsYXkoKSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbCBiL0xh
eW91dFRlc3RzL21lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXkuaHRtbAppbmRl
eCAzOWJiNTA4MzI0ZjUyOTgxNDMzMjUxODRiODc4ZjgxMjhlZWYyYjM1Li45ZmZmM2QzNmRjZjZk
MTg0Yzk4N2YxYjE4YmU3ZDA1NmNjZGRmYTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS5odG1sCkBAIC0xMSw3ICsxMSw3
IEBACiAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2F1ZGlv
JylbMF07CiAKICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgICAgICBydW4o
J2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNl
ckdlc3R1cmVGb3JSYXRlQ2hhbmdlLFJlcXVpcmVVc2VyR2VzdHVyZUZvckF1ZGlvUmF0ZUNoYW5n
ZSIpJyk7CisgICAgICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmlj
dGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UiKScpOwog
CiAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CiAgICAgICAgIHdhaXRGb3JF
dmVudCgnY2FucGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCk7CkBAIC0zNiw3ICszNiw3IEBA
CiA8L2hlYWQ+CiAKIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0IHRoYXQs
IHdoZW4gYm90aCBSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlIGFuZCBSZXF1aXJlVXNl
ckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UgaXMgc2V0LCBzdGFydGluZyBwbGF5YmFjayBvZiBh
biBhdWRpbyBmaWxlIHJlcXVpcmVzIGEgdXNlciBnZXN0dXJlLjwvcD4KKyAgICA8cD5UZXN0IHRo
YXQsIHdoZW4gUmVxdWlyZVVzZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlIGlzIHNldCwgc3Rh
cnRpbmcgcGxheWJhY2sgb2YgYW4gYXVkaW8gZmlsZSByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZS48
L3A+CiAgICAgPGF1ZGlvIGNvbnRyb2xzIGF1dG9wbGF5PjwvYXVkaW8+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXIt
Z2VzdHVyZS1yZXF1aXJlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbm8tYXV0b3BsYXkt
d2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbAppbmRleCA0ODYzNDM1YTZmNjgxYmRl
NTI5OGM5ZWQ3MjA2NWQ2Y2I5MDM5MWNkLi41Y2VkYmI4MThhYTNhNmEzNzY4OGFhNTlkZGM0ZThl
MzNmNmQ2Yzk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9uby1hdXRvcGxheS13aXRo
LXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL25v
LWF1dG9wbGF5LXdpdGgtdXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwKQEAgLTUsNyArNSw3
IEBACiAgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiAgICAgICAg
IDxzY3JpcHQ+CiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgCi0gICAgICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
TWVkaWFQbGF5YmFjayh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlKHRydWUpOwogCiAgICAg
ICAgICAgICBmdW5jdGlvbiB0ZXN0UGxheSgpCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1jcmFzaC1pbnZpc2libGUtYXV0b3BsYXktZGlzcGxheS1u
b25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWNyYXNoLWludmlzaWJs
ZS1hdXRvcGxheS1kaXNwbGF5LW5vbmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NDczM2Yz
NWViYjhkOWQ4NmVjMjA3OWRiMzEwYmZjYjc0MTViNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1jcmFzaC1pbnZpc2libGUtYXV0b3BsYXktZGlzcGxheS1ub25l
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3RzIHRoYXQgY2xlYXJpbmcgdGhlIElu
dmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9uIHRoZW4gZGVzdHJveWluZyB0
aGUgUmVuZGVyVmlkZW8gYWZ0ZXIgYSBzdHlsZSByZWNhbGMgZG9lcyBub3QgY2F1c2UgYSBjcmFz
aC4KK1JVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiSW52
aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQiKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorUlVO
KHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCkgeyB2aWRlby5wbGF5KCkgfSkpCitSVU4odmlkZW8u
c3R5bGUuZGlzcGxheSA9ICJub25lIikKK1JVTih2aWRlby5jbGllbnRIZWlnaHQpCitFTkQgT0Yg
VEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1jcmFzaC1pbnZpc2li
bGUtYXV0b3BsYXktZGlzcGxheS1ub25lLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1j
cmFzaC1pbnZpc2libGUtYXV0b3BsYXktZGlzcGxheS1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRh
NGQ3NGY5NWM2Njk3ZGVlNTk1OGVmMTQ5YWMwZjM3YTQ3ZDA3ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWNyYXNoLWludmlzaWJsZS1hdXRvcGxheS1kaXNwbGF5
LW5vbmUuaHRtbApAQCAtMCwwICsxLDI5IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0idmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1
bmN0aW9uIGdvKCkgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgnd2luZG93LmludGVybmFscyBub3QgZm91bmQ7IHRlc3Qg
bWF5IG5vdCBjb21wbGV0ZSBzdWNlc3NmdWxseSBpbiBicm93c2VyLicpOworCisgICAgICAgICAg
ICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgICAgICBy
dW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJJbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZCIpJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHZpZGVvKTsKKworICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhy
b3VnaCcsIGNhbnBsYXl0aHJvdWdoKTsKKyAgICAgICAgICAgIHNldFNyY0J5VGFnTmFtZSgndmlk
ZW8nLCBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50L3Rlc3QnKSk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpIHsKKyAgICAgICAgICAgIHJ1bign
cnVuV2l0aEtleURvd24oZnVuY3Rpb24oKSB7IHZpZGVvLnBsYXkoKSB9KScpOworICAgICAgICAg
ICAgcnVuKCd2aWRlby5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiJyk7CisgICAgICAgICAgICBydW4o
J3ZpZGVvLmNsaWVudEhlaWdodCcpOworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9ImdvKCki
PgorICAgICAgICA8ZGl2PlRlc3RzIHRoYXQgY2xlYXJpbmcgdGhlIEludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9uIHRoZW4gZGVzdHJveWluZyB0aGUgUmVuZGVyVmlkZW8g
YWZ0ZXIgYSBzdHlsZSByZWNhbGMgZG9lcyBub3QgY2F1c2UgYSBjcmFzaC48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2Fk
LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2Fk
LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKaW5kZXggMTE3YjQ4OGI3MTgxMmZlYTYxMzA3NTUx
ODY4ZDI4YjFmZGQ3N2Y5MC4uM2IzMTI1N2NjNTBmNDhkYTE3NjBlMDlkYWNlMmMwZTBiYTRjMjAy
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1yZXF1aXJlLXVzZXIt
Z2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVxdWlyZS11
c2VyLWdlc3R1cmUuaHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICAgICAgICAgIHZhciB1c2VyR2Vz
dHVyZUluaXRpYXRlZCA9IDA7CiAKICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSAK
LSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlcXVpcmVzVXNl
ckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrKHRydWUpOworICAgICAgICAgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUodHJ1
ZSk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3Qoc3VjY2VzcykKICAgICAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1h
bGxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQt
YWxsb3ctZXhwZWN0ZWQudHh0CmluZGV4IDgxZjZjNWQ5ZTBjNWI3YWM0NTYyNDIyYWRmMjBmNDAz
YTEyZjE1NTAuLmQyNTE5OWY3NDdjMGU1MzY0MmU4OGUwZGM5Zjk1YjRkYjljOWI3MmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFsbG93LWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50
UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxPdmVy
cmlkZVVzZXJHZXN0dXJlUmVxdWlyZW1lbnRGb3JNYWluQ29udGVudCIpKQorUlVOKGludGVybmFs
cy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVG
b3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNv
bnRlbnQiKSkKIEVWRU5UKGNhbnBsYXl0aHJvdWdoKQogRVZFTlQocGxheWluZykKIEVORCBPRiBU
RVNUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxs
b3ctdGhlbi1kZW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4t
Y29udGVudC1hbGxvdy10aGVuLWRlbnktZXhwZWN0ZWQudHh0CmluZGV4IDEzNzIzNjkyMGY5MzM3
YTZlMDNlMzEwYzk4YTRkY2Y2NDhhNjAzYWYuLmZlMTE4MDZjM2QwOGJhYmM3MGFmYjFhOTdlYTNh
YzAxMzBmZDMzMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29u
dGVudC1hbGxvdy10aGVuLWRlbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlh
L3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy10aGVuLWRlbnktZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAotUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8s
ICJSZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlLE92ZXJyaWRlVXNlckdlc3R1cmVSZXF1
aXJlbWVudEZvck1haW5Db250ZW50IikpCitSVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJl
c3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSxP
dmVycmlkZVVzZXJHZXN0dXJlUmVxdWlyZW1lbnRGb3JNYWluQ29udGVudCIpKQogRVZFTlQoY2Fu
cGxheXRocm91Z2gpCiBFVkVOVChwbGF5aW5nKQogUlVOKHZpZGVvLnN0eWxlLnZpc2liaWxpdHkg
PSAiaGlkZGVuIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29u
dGVudC1hbGxvdy10aGVuLWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4t
Y29udGVudC1hbGxvdy10aGVuLWRlbnkuaHRtbAppbmRleCA2YTFjOWM2MzNhZjJhNWM4NzNmNjAw
YzA2NGViMTRjYjQwYzJlZTZhLi5iN2IxZGY1NWVmNzk3MDk5MWI0NmE1ZjFhYWEyOTcyYTcwYTEy
ODM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxs
b3ctdGhlbi1kZW55Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250
ZW50LWFsbG93LXRoZW4tZGVueS5odG1sCkBAIC03LDcgKzcsNyBAQAogICAgIDxzY3JpcHQ+CiAg
ICAgZnVuY3Rpb24gZ28oKSB7CiAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJp
Y3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxPdmVycmlkZVVz
ZXJHZXN0dXJlUmVxdWlyZW1lbnRGb3JNYWluQ29udGVudCIpJyk7CisgICAgICAgIHJ1bignaW50
ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2Vz
dHVyZUZvclZpZGVvUmF0ZUNoYW5nZSxPdmVycmlkZVVzZXJHZXN0dXJlUmVxdWlyZW1lbnRGb3JN
YWluQ29udGVudCIpJyk7CiAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8p
OwogCiAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywgJ2NvbnRlbnQv
dGVzdCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50
LWFsbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3cu
aHRtbAppbmRleCA4NmZkMzQ3YWMwZTYwODFkZDZiYmViMzQ1N2Y1NThlOWQ5NzUwOWIzLi42ZDEw
YWM1MTg3ZmNkNGMwNWJhNTY3ZTg1Nzk3ZDA1Njk1NTYwNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3cuaHRtbApAQCAtNyw3ICs3LDcgQEAKICAg
ICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkgewogICAgICAgICB2aWRlbyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlh
RWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFu
Z2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOworICAg
ICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJS
ZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJl
cXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwogICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHZpZGVvKTsKIAogICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRl
bycsICdjb250ZW50L3Rlc3QnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVv
LW1haW4tY29udGVudC1kZW55LWRpc3BsYXktbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS1kaXNwbGF5LW5vbmUtZXhwZWN0ZWQudHh0
CmluZGV4IDljYzAzNGY1ODFmMjkxYjI5ZDlhMGJlZjQwYjhiYjc1YmVkMTBkYzUuLjg2ZDAxMmZm
N2MzN2RjYWI2MDA2N2Q1ZmQ2ZTUzNjhlOGI0Mzc5ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LWRpc3BsYXktbm9uZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktZGlzcGxheS1u
b25lLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFF
bGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5n
ZSxPdmVycmlkZVVzZXJHZXN0dXJlUmVxdWlyZW1lbnRGb3JNYWluQ29udGVudCIpKQorUlVOKGlu
dGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdl
c3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9y
TWFpbkNvbnRlbnQiKSkKIEVWRU5UKGNhbnBsYXl0aHJvdWdoKQogRGlkIG5vdCBiZWdpbiBwbGF5
aW5nIE9LCiBFTkQgT0YgVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
bWFpbi1jb250ZW50LWRlbnktZGlzcGxheS1ub25lLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1tYWluLWNvbnRlbnQtZGVueS1kaXNwbGF5LW5vbmUuaHRtbAppbmRleCBjY2VlYzk5ZWIx
NjM5OTdhM2NhZDRiZWQ2OTJhNTc5NDZiZDFiOTQ1Li5hYmMyNzhmZjkyZmFlMWQyZjI1MTVkZDg3
NGM3YzczNDM1NTU2M2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWlu
LWNvbnRlbnQtZGVueS1kaXNwbGF5LW5vbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1tYWluLWNvbnRlbnQtZGVueS1kaXNwbGF5LW5vbmUuaHRtbApAQCAtNyw3ICs3LDcgQEAK
ICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkgewogICAgICAgICB2aWRlbyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1l
ZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVD
aGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwor
ICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8s
ICJSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVy
ZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwogICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHZpZGVvKTsKIAogICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2
aWRlbycsICdjb250ZW50L3Rlc3QnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLW1haW4tY29udGVudC1kZW55LW5vdC1pbi1kb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktbm90LWluLWRvbS1leHBlY3RlZC50eHQK
aW5kZXggOWNjMDM0ZjU4MWYyOTFiMjlkOWEwYmVmNDBiOGJiNzViZWQxMGRjNS4uODZkMDEyZmY3
YzM3ZGNhYjYwMDY3ZDVmZDZlNTM2OGU4YjQzNzlkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktbm90LWluLWRvbS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktbm90LWluLWRvbS1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1SVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVu
dFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3Zl
cnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKSkKK1JVTihpbnRlcm5h
bHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJl
Rm9yVmlkZW9SYXRlQ2hhbmdlLE92ZXJyaWRlVXNlckdlc3R1cmVSZXF1aXJlbWVudEZvck1haW5D
b250ZW50IikpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIERpZCBub3QgYmVnaW4gcGxheWluZyBP
SwogRU5EIE9GIFRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4t
Y29udGVudC1kZW55LW5vdC1pbi1kb20uaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1h
aW4tY29udGVudC1kZW55LW5vdC1pbi1kb20uaHRtbAppbmRleCA0M2Q3MjdmYTdkN2UwODVhYWQy
Y2FhYWY4MjA0MDgwOGI1ZTg0ZjM4Li5jMTQzODYzNWRiNDY4OGRmNjZmYzY5NTA2NGU5YzgyNThh
ZGUyNjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQt
ZGVueS1ub3QtaW4tZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1j
b250ZW50LWRlbnktbm90LWluLWRvbS5odG1sCkBAIC04LDcgKzgsNyBAQAogICAgIGZ1bmN0aW9u
IGdvKCkgewogICAgICAgICBtZWRpYUVsZW1lbnQgPSB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3ZpZGVvJyk7CiAgICAgICAgIC8vIHZpZGVvLmN1c3RvbVByb3BlcnR5ID0gJ2N1c3Rv
bSc7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2
aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVy
ZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOworICAgICAgICBydW4oJ2ludGVybmFscy5z
ZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JW
aWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRl
bnQiKScpOwogCiAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywgJ2Nv
bnRlbnQvdGVzdCcpOwogICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgY2Fu
UGxheVRocm91Z2gpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1j
b250ZW50LWRlbnktbm90LXZpc2libGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tbWFpbi1jb250ZW50LWRlbnktbm90LXZpc2libGUtZXhwZWN0ZWQudHh0CmluZGV4IDlj
YzAzNGY1ODFmMjkxYjI5ZDlhMGJlZjQwYjhiYjc1YmVkMTBkYzUuLjg2ZDAxMmZmN2MzN2RjYWI2
MDA2N2Q1ZmQ2ZTUzNjhlOGI0Mzc5ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLW1haW4tY29udGVudC1kZW55LW5vdC12aXNpYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS1ub3QtdmlzaWJsZS1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACi1SVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3Ry
aWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVV
c2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKSkKK1JVTihpbnRlcm5hbHMuc2V0
TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlk
ZW9SYXRlQ2hhbmdlLE92ZXJyaWRlVXNlckdlc3R1cmVSZXF1aXJlbWVudEZvck1haW5Db250ZW50
IikpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIERpZCBub3QgYmVnaW4gcGxheWluZyBPSwogRU5E
IE9GIFRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVu
dC1kZW55LW5vdC12aXNpYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNv
bnRlbnQtZGVueS1ub3QtdmlzaWJsZS5odG1sCmluZGV4IGFlMGFjM2RlN2E5MDcyZjdlYTRkMmEw
YWMyNDFhNzc2MjcxYjcyZjkuLjdmYTE0YmMzYzJjMjIwMWU4ZjM1NDlhZGQ2NWQyYTQyN2QzNTk3
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55
LW5vdC12aXNpYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250
ZW50LWRlbnktbm90LXZpc2libGUuaHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICA8c2NyaXB0Pgog
ICAgIGZ1bmN0aW9uIGdvKCkgewogICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3ZpZGVvJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3Ry
aWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVV
c2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOworICAgICAgICBydW4oJ2lu
dGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdl
c3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9y
TWFpbkNvbnRlbnQiKScpOwogICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVv
KTsKIAogICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50
L3Rlc3QnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVu
dC1kZW55LW9ic2N1cmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1h
aW4tY29udGVudC1kZW55LW9ic2N1cmVkLWV4cGVjdGVkLnR4dAppbmRleCAyZGVmZGI4NzJlOTg4
NDhlMGE2NzgzZTZiYWU2NWEzMzlmZWMzOWIxLi4zNGIyYzQzNjk2ODE2MGYwNjVmMDdiNzYxZDI2
NjNkMzliN2M3MmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNv
bnRlbnQtZGVueS1vYnNjdXJlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tbWFpbi1jb250ZW50LWRlbnktb2JzY3VyZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
NSBAQAogCi1SVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywg
IlJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVp
cmVtZW50Rm9yTWFpbkNvbnRlbnQiKSkKK1JVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVz
dHJpY3Rpb25zKHZpZGVvLCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlLE92
ZXJyaWRlVXNlckdlc3R1cmVSZXF1aXJlbWVudEZvck1haW5Db250ZW50IikpCiBFVkVOVChjYW5w
bGF5dGhyb3VnaCkKIERpZCBub3QgYmVnaW4gcGxheWluZyBPSwogRU5EIE9GIFRFU1QKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LW9ic2N1cmVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS1vYnNjdXJl
ZC5odG1sCmluZGV4IDAzMmY5YzdkM2U0NDcyMTYxMjM3NTM2YzBkODE2ZjhiZWZjNDZkMmQuLjZi
MzExY2IwY2M3OGU2MThhZjA1YTA4MGZiNWNhZDJlMDJhNWY2NzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1kZW55LW9ic2N1cmVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktb2JzY3VyZWQuaHRtbApA
QCAtNyw3ICs3LDcgQEAKICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkgewogICAgICAg
ICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7Ci0gICAgICAgIHJ1bign
aW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVpcmVVc2Vy
R2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFp
bkNvbnRlbnQiKScpOworICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0
cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3Zl
cnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwogICAgICAgICBk
b2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZSh2aWRlbywgZG9jdW1lbnQuYm9keS5maXJzdENoaWxk
KTsKIAogICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50
L3Rlc3QnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVu
dC1kZW55LXRvby1zbWFsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1t
YWluLWNvbnRlbnQtZGVueS10b28tc21hbGwtZXhwZWN0ZWQudHh0CmluZGV4IDljYzAzNGY1ODFm
MjkxYjI5ZDlhMGJlZjQwYjhiYjc1YmVkMTBkYzUuLjg2ZDAxMmZmN2MzN2RjYWI2MDA2N2Q1ZmQ2
ZTUzNjhlOGI0Mzc5ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4t
Y29udGVudC1kZW55LXRvby1zbWFsbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktdG9vLXNtYWxsLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVv
LCAiUmVxdWlyZVVzZXJHZXN0dXJlRm9yUmF0ZUNoYW5nZSxPdmVycmlkZVVzZXJHZXN0dXJlUmVx
dWlyZW1lbnRGb3JNYWluQ29udGVudCIpKQorUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRS
ZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2Us
T3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKSkKIEVWRU5UKGNh
bnBsYXl0aHJvdWdoKQogRGlkIG5vdCBiZWdpbiBwbGF5aW5nIE9LCiBFTkQgT0YgVEVTVApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktdG9vLXNt
YWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS10b28t
c21hbGwuaHRtbAppbmRleCBjMmY5MWRlOTJjZjVkMTkwZWUyNjYwYWFkMzU0ZjFhMmI4MjhiYjU2
Li40MmFjNDI1NTQyMTkxZmIyMjQxZjdjNDJmODc0NzI1M2ZkODZlNDg1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS10b28tc21hbGwuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtZGVueS10b28tc21hbGwu
aHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkgewog
ICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7Ci0gICAgICAg
IHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIlJlcXVp
cmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50
Rm9yTWFpbkNvbnRlbnQiKScpOworICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1l
bnRSZXN0cmljdGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFu
Z2UsT3ZlcnJpZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwogICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAgICAgICB2aWRlby5z
cmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50L3Rlc3QnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbApp
bmRleCA0NmMxOWJmYmFjNTEyYjE0MDhhOWRhZTFiNmZhNjc2ODIzYjEyNzljLi5mNWNmNjA0MDIw
YzdiYTRkZjM0YTExNDk4OTAyZDQzYWM3NTc5YjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCkBAIC03LDcgKzcs
NyBAQAogICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgdmFyIHVzZXJHZXN0dXJlSW5pdGlh
dGVkID0gMDsKICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSAKLSAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlcXVpcmVzVXNlckdlc3R1cmVGb3JN
ZWRpYVBsYXliYWNrKHRydWUpOworICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUodHJ1ZSk7CiAKICAgICAg
ICAgICAgIGZ1bmN0aW9uIGNsaWNrKCkKICAgICAgICAgICAgIHsK
</data>
<flag name="review"
          id="298180"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>