<?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>198956</bug_id>
          
          <creation_ts>2019-06-17 22:42:16 -0700</creation_ts>
          <short_desc>Web Inspector: Debug: &quot;Reset Web Inspector&quot; should also clear the saved window size and attachment side</short_desc>
          <delta_ts>2019-07-02 00:48:18 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1545562</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-17 22:42:16 -0700</bug_when>
    <thetext># STEPS TO REPRODUCE:
1. inspect any page
2. change the Web Inspector window size/docking to be different than default
3. enable the debug settings panel (⌥⇧⌘D)
4. click &quot;Reset Web Inspector&quot;
 =&gt; Web Inspector window has the same size/docking as before the reset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545867</commentid>
    <comment_count>1</comment_count>
      <attachid>372400</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-18 16:02:54 -0700</bug_when>
    <thetext>Created attachment 372400
Patch

Lots of plumbing -.-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545868</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-18 16:05:25 -0700</bug_when>
    <thetext>Attachment 372400 did not pass style-queue:


ERROR: Source/WebKitLegacy/cf/WebCoreSupport/WebInspectorClientCF.cpp:94:  Use nullptr instead of NULL.  [readability/null] [5]
Total errors found: 1 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545878</commentid>
    <comment_count>3</comment_count>
      <attachid>372403</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-18 16:27:41 -0700</bug_when>
    <thetext>Created attachment 372403
Patch

Looks like I missed a few platforms 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545880</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-18 16:29:47 -0700</bug_when>
    <thetext>Attachment 372403 did not pass style-queue:


ERROR: Source/WebKitLegacy/cf/WebCoreSupport/WebInspectorClientCF.cpp:94:  Use nullptr instead of NULL.  [readability/null] [5]
Total errors found: 1 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545882</commentid>
    <comment_count>5</comment_count>
      <attachid>372403</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-06-18 16:37:15 -0700</bug_when>
    <thetext>Comment on attachment 372403
Patch

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

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:203
&gt; +    if (m_client)
&gt; +        m_client-&gt;resetWindowState();

Perhaps this should be `m_client-&gt;reset()` or `resetState()`? What if some non-window state creeps in, we would still want to reset it here.

&gt; Source/WebKit/UIProcess/mac/RemoteWebInspectorProxyMac.mm:128
&gt; +    [m_window removeFrameUsingName:@&quot;WKRemoteWebInspectorWindowFrame&quot;];

The magic string should be shared in this file (perhaps a file static const) to ensure no chance of changing one without the other.

&gt; Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h:86
&gt; +    void deleteInspectorStartsAttached();

Why two calls? I seem unlikely that one will be called without the other.

&gt; Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:267
&gt; +    [m_frontendWindowController.get() setWindowFrameAutosaveName:@&quot;Web Inspector 2&quot;];

Ditto: magic string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545894</commentid>
    <comment_count>6</comment_count>
      <attachid>372403</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-18 16:59:53 -0700</bug_when>
    <thetext>Comment on attachment 372403
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:203
&gt;&gt; +        m_client-&gt;resetWindowState();
&gt; 
&gt; Perhaps this should be `m_client-&gt;reset()` or `resetState()`? What if some non-window state creeps in, we would still want to reset it here.

I&apos;d hope that all non-window state is held in the frontend, but good point in case not :)

&gt;&gt; Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h:86
&gt;&gt; +    void deleteInspectorStartsAttached();
&gt; 
&gt; Why two calls? I seem unlikely that one will be called without the other.

I wanted to match the &quot;flexibility&quot; of having each be separate.  Not to mention, there was already a getter/setter specifically for each, so I continued that &quot;pattern&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545910</commentid>
    <comment_count>7</comment_count>
      <attachid>372412</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-18 17:33:49 -0700</bug_when>
    <thetext>Created attachment 372412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545912</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-18 17:38:32 -0700</bug_when>
    <thetext>Attachment 372412 did not pass style-queue:


ERROR: Source/WebKitLegacy/cf/WebCoreSupport/WebInspectorClientCF.cpp:94:  Use nullptr instead of NULL.  [readability/null] [5]
Total errors found: 1 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545962</commentid>
    <comment_count>9</comment_count>
      <attachid>372412</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-18 22:04:20 -0700</bug_when>
    <thetext>Comment on attachment 372412
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:3229
&gt; +WI.reset = async function()

This was moved into Main.js primarily to make an easier way of resetting non-engineering builds (assuming you have &quot;access&quot; to inspector2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549461</commentid>
    <comment_count>10</comment_count>
      <attachid>372412</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-07-01 21:25:26 -0700</bug_when>
    <thetext>Comment on attachment 372412
Patch

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

r=me, looks like you addressed Joe&apos;s comments.

&gt; Source/WebKitLegacy/cf/WebCoreSupport/WebInspectorClientCF.cpp:94
&gt; +    CFPreferencesSetAppValue(createKeyForPreferences(key).get(), NULL, kCFPreferencesCurrentApplication);

You can pass nullptr for the CFPropertyListRef argument. Should fix the [style] error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549492</commentid>
    <comment_count>11</comment_count>
      <attachid>373309</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-02 00:13:51 -0700</bug_when>
    <thetext>Created attachment 373309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549495</commentid>
    <comment_count>12</comment_count>
      <attachid>373309</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 00:47:20 -0700</bug_when>
    <thetext>Comment on attachment 373309
Patch

Clearing flags on attachment: 373309

Committed r247043: &lt;https://trac.webkit.org/changeset/247043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549496</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 00:47:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549497</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-02 00:48:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/52508508&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372400</attachid>
            <date>2019-06-18 16:02:54 -0700</date>
            <delta_ts>2019-06-18 16:27:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198956-20190618160253.patch</filename>
            <type>text/plain</type>
            <size>39430</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZDIwODdiNDViOTVjZjM0NGU2YTlhZWI1Zjc4NmViNzNkZDU5MGZlLi41
Y2NmZjU3NjMzYTJkN2MwYjAzZjUyMDllZGJhYzZkNjcyMzAzODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIg
c2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNp
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpkZWxldGVQcm9wZXJ0eSk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXNldCk6IEFkZGVkLgorCiAyMDE5LTA2
LTE4ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBw
cmVsaW1pbmFyeSBBTkdMRSBiYWNrZW5kIHRvIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CmluZGV4IGFiY2YwNGI4ZWJlMjEyNWQzN2YyYWNlZDI5NDZiMWY2MTMzNjM4NGIuLjdiMmFiNzc4
MmI0MDkxNDI0ODYwZTAwNjZjMzFjNjMxNzQ2ZmNlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNw
ZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNo
bWVudCBzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV0kucmVzZXQpOiBBZGRl
ZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdJLlNldHRpbmdzVGFiQ29udGVudFZpZXcucHJvdG90eXBlLl9jcmVh
dGVEZWJ1Z1NldHRpbmdzVmlldyk6CisKIDIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdvcms6IGRldGFpbCB2
aWV3IHNob3VsZG4ndCBzdGF5IG9wZW4gd2hlbiB0aGUgcmVsYXRlZCBlbnRyeSBpcyByZW1vdmVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDMzNzFjY2ZjMzExZTZkODNhZGI0MGMwODA0NjI4YzhiODJjZTU0ZmQuLjkw
MzUzN2MwOTI1ZTQ3NGZjNjUwMWJhODJmZDQ1MmY4NWU3YzNlNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNTUgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIgc2hv
dWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNpZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmRlbGV0ZUtleSk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KTogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpwbGF0Zm9ybURlbGV0ZUtleSk6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWxldGVLZXkp
OiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy93cGUvV2ViSW5zcGVjdG9yUHJveHlXUEUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTog
QWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93
U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
VUkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JVSTo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVk
LgorCisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpyZXNldFdpbmRvd1N0YXRlKTogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0
V2luZG93U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUpOiBBZGRl
ZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JVSTo6cmVzZXRXaW5kb3dTdGF0ZSk6
IEFkZGVkLgorCiAyMDE5LTA2LTE4ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIENoYW5nZSBsb2cgY2hhbm5lbCBuYW1lIGZyb20gUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RlYnVnIHRvIElUUERlYnVnIGFuZCByZW1vdmUgdW5uZWNlc3NhcnkgI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9jZi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL0NoYW5nZUxvZwppbmRleCA5MmExZjA1ZTkw
NzJkMzM2ODljMDYzODkxYWY5M2ZlY2UwMzA5NzA5Li40OThjNTNkNDc5ZjU5ZmMwMTJlY2EyZTlm
NWI1MjRhOTAwMDBkMDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBh
bHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcDoKKyAgICAgICAgKGRlbGV0ZVNldHRpbmcpOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6ZGVsZXRlSW5zcGVjdG9yU3RhcnRz
QXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6ZGVsZXRlSW5z
cGVjdG9yQXR0YWNoRGlzYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVu
dDo6Y3JlYXRlRnJvbnRlbmRTZXR0aW5ncyk6CisKIDIwMTgtMDEtMzAgIERvbiBPbG1zdGVhZCAg
PGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBKU0V4cG9ydHMuaCBzaG91bGQgYmUg
aW5jbHVkZWQgYXMgPEphdmFTY3JpcHRDb3JlL0pTRXhwb3J0TWFjcm9zLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L2lvcy9DaGFuZ2VMb2cKaW5kZXggYjYzZjc3NzE0MzhmODcxNzU4ODE4YzlmZjY2YzAzMmI2MGM5
NDRlOC4uNTA1MjQxMjM5NzRjYzUwNWUxZGI0MTIyYTcyMWI4ZjA1ODI4NDA3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvaW9zL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTA2LTE4ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1
ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5k
b3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElP
Uy5tbToKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpyZXNldFdpbmRvd1N0
YXRlKTogQWRkZWQuCisKIDIwMTktMDYtMTYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBBdG9taWNTdHJpbmcgdG8gQXRvbVN0cmluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IGZlNDMyZDA2NDYwMjg5M2IyYzYxNjJhOTUyMmIxODhmYmUy
NDVkOGIuLmNiMWRjY2Y0ODQ0ZWQ3ZTQzY2YwOGZiZGZlNjNlODA4MTZhZThiZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNi0xOCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVi
dWc6ICJSZXNldCBXZWIgSW5zcGVjdG9yIiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2lu
ZG93IHNpemUgYW5kIGF0dGFjaG1lbnQgc2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06CisgICAg
ICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVk
LgorCiAyMDE5LTA2LTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5hbWUgQXRvbWljU3RyaW5nIHRvIEF0b21TdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZwppbmRleCA2MDFkNzYyMzRjZTY0ODYyODJkNWRkODgwMWMyYTg5MWQ3MTFiNzIyLi4xNjM0
OWNiYWMxOTRlYjhhMjIyNTgwMDJkNmFjZGE3NWQ1MWE5M2JmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQg
V2ViIEluc3BlY3RvciIgc2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFu
ZCBhdHRhY2htZW50IHNpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5ODk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpyZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisKIDIwMTkt
MDYtMTYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBB
dG9taWNTdHJpbmcgdG8gQXRvbVN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAppbmRleCAwMGNlODI1ZmRmMTVlN2M2YjM1M2Ux
ZTU0Njg5MzY0OThhOGZiZjRhLi40ODg1NGZjMjEzZTdkNzExZDM1NjBhYWVmNGQ2ZjIxZWM2ZjZh
MWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJy
aW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHJlb3BlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXRXaW5k
b3dTdGF0ZSgpID0gMDsKIAogICAgIHZpcnR1YWwgVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
biB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5jcHAKaW5kZXggZWE2YWY1NGVlOTAyNDdiNmZhOTAwYzIwNWVhMTdhZWQxZTgwYTkyYi4uOTg4
ZDZlYjAwMmYwMzVhOTIxM2Y2ZGFmYjcwN2ZjOTk3MDEyZWI3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNw
cApAQCAtMTI3LDYgKzEyNywxMCBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6
OlNldHRpbmdzOjpzZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcmLCBjb25zdCBTdAogewogfQogCit2
b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpkZWxldGVQcm9wZXJ0
eShjb25zdCBTdHJpbmcmKQoreworfQorCiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3Rl
ZFBhZ2VDb250cm9sbGVyLCBQYWdlKiBmcm9udGVuZFBhZ2UsIHN0ZDo6dW5pcXVlX3B0cjxTZXR0
aW5ncz4gc2V0dGluZ3MpCiAgICAgOiBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyKGluc3BlY3Rl
ZFBhZ2VDb250cm9sbGVyKQogICAgICwgbV9mcm9udGVuZFBhZ2UoZnJvbnRlbmRQYWdlKQpAQCAt
MTQ2LDYgKzE1MCwxMSBAQCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjp+SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbCgpCiAgICAgbV9kaXNwYXRjaFRhc2stPnJlc2V0KCk7CiB9CiAK
K3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7
CisgICAgbV9zZXR0aW5ncy0+ZGVsZXRlUHJvcGVydHkoaW5zcGVjdG9yQXR0YWNoZWRIZWlnaHRT
ZXR0aW5nKTsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjp3aW5kb3dP
YmplY3RDbGVhcmVkKCkKIHsKICAgICBpZiAobV9mcm9udGVuZEhvc3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApp
bmRleCBhZTI2Y2NhZTljYTk5YzVkNWMyYWU2ZTQ5NjY3YWVhODg2N2IxZDk2Li4xMzMxZGQ4OTQ4
NmViYjNlNzM3NmQzODQ4MmQxYzQ1MWExMjEzOGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTU1LDEx
ICs1NSwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNldHRpbmdzKCkgPSBkZWZhdWx0
OwogICAgICAgICB2aXJ0dWFsIFN0cmluZyBnZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJvcGVydHkoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVByb3BlcnR5
KGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgfTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdGVkUGFn
ZUNvbnRyb2xsZXIsIFBhZ2UqIGZyb250ZW5kUGFnZSwgc3RkOjp1bmlxdWVfcHRyPFNldHRpbmdz
Pik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbCgpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNldFdpbmRvd1N0YXRlKCkgb3Zl
cnJpZGU7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdpbmRvd09iamVjdENsZWFyZWQoKSBm
aW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZyb250ZW5kTG9hZGVkKCkgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAKaW5kZXggNzFjYTQ0YmZmZDQ2MGEwZmQyZjIyZmRlZjllNjc5YjM5YTFiODc1Ny4uNjQ1
MjExMjg1NWEwNjhiZGQ3NTE2MTkxYzA1YWNmYzQwNDE4OWJiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTE5Nyw2ICsx
OTcsMTMgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJlb3BlbigpCiAgICAgICAgIG1f
Y2xpZW50LT5yZW9wZW4oKTsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJlc2V0
KCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5yZXNldFdpbmRvd1N0
YXRlKCk7CisgICAgcmVvcGVuKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpi
cmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCAzMDE3Y2I3NmMwOWU1ZDI3
ZWU0MTZlZDVjOWJjNDdkM2IwZWNkY2FiLi41NmI4OWRmNjIyYmNjN2Q1MzRhZmNmZTQ5MGNkM2Vh
Y2UwYTNiZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5oCkBAIC01NSw5ICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBhZGRTZWxmVG9HbG9iYWxPYmplY3RJbldvcmxkKERPTVdyYXBwZXJXb3JsZCYpOwog
CiAgICAgdm9pZCBsb2FkZWQoKTsKLSAgICB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIGNsb3NlV2luZG93KCk7CiAgICAgdm9pZCByZW9wZW4oKTsKKyAg
ICB2b2lkIHJlc2V0KCk7CisKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5z
cGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKTsKIApAQCAtNjksNiArNzAsOCBAQCBwdWJs
aWM6CiAKICAgICBTdHJpbmcgdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOwogCisgICAg
dm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CisKICAgICB2b2lkIHNldEF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKTsKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93
V2lkdGgodW5zaWduZWQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDAyM2EzOWNiYzhmMDg4NGUzOTBiMjk4MjJkMTli
ZGFmZmE5MTI5OTIuLjkwYjNhZmNkZDkxNzA2YzVhYjkzN2FjMzA2Y2NlZDJmYzRlNDJjNTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsCkBAIC0zNyw2ICszNyw4IEBACiAgICAgdm9pZCBsb2FkZWQoKTsKICAgICB2b2lkIGNsb3Nl
V2luZG93KCk7CiAgICAgdm9pZCByZW9wZW4oKTsKKyAgICB2b2lkIHJlc2V0KCk7CisKICAgICB2
b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChET01TdHJp
bmcgbmV3VVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9NYWluLmpzCmluZGV4IDA0MDQ3ZjViOTljNzI3M2E1NWUwZTZkOWIwZTExYjlhODZjYzNh
NzkuLjA1N2YyZDIzNmQwNDliZTZjMmE1ZjhlMWI0YmFmZGI3MTRlN2FlYmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTMyMjYs
NiArMzIyNiwxMyBAQCBXSS5hc3N1bWluZ01haW5UYXJnZXQgPSBmdW5jdGlvbigpCiAgICAgcmV0
dXJuIFdJLm1haW5UYXJnZXQ7CiB9OwogCitXSS5yZXNldCA9IGFzeW5jIGZ1bmN0aW9uKCkKK3sK
KyAgICBhd2FpdCBXSS5PYmplY3RTdG9yZS5yZXNldCgpOworICAgIFdJLlNldHRpbmcucmVzZXQo
KTsKKyAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVzZXQoKTsKK307CisKIFdJLmlzRW5naW5l
ZXJpbmdCdWlsZCA9IGZhbHNlOwogCiAvLyBPcGVuUmVzb3VyY2VEaWFsb2cgZGVsZWdhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NldHRp
bmdzVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TZXR0aW5nc1RhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDE0YWFkZWRkYzA1ZDhiNmQ5
MzBlMGFkZjVlMjA1NzMwMTYxZmZiOTAuLjUzZmQyYzdmY2I1ZTE4OWJkNjQ3NTY0ZGZlZDE3MTYy
NzBiYWMwYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NldHRpbmdzVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmlldy5qcwpAQCAtMzky
LDEwICszOTIsOCBAQCBXSS5TZXR0aW5nc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgU2V0dGluZ3NU
YWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRWaQogCiAgICAgICAgIGxldCByZXNl
dEluc3BlY3RvckJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAg
ICAgICByZXNldEluc3BlY3RvckJ1dHRvbi50ZXh0Q29udGVudCA9IFdJLnVubG9jYWxpemVkU3Ry
aW5nKCJSZXNldCBXZWIgSW5zcGVjdG9yIik7Ci0gICAgICAgIHJlc2V0SW5zcGVjdG9yQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAg
ICBhd2FpdCBXSS5PYmplY3RTdG9yZS5yZXNldCgpOwotICAgICAgICAgICAgV0kuU2V0dGluZy5y
ZXNldCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnJlb3BlbigpOworICAg
ICAgICByZXNldEluc3BlY3RvckJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChldmVu
dCkgPT4geworICAgICAgICAgICAgV0kucmVzZXQoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHRo
aXMuX2RlYnVnU2V0dGluZ3NWaWV3LmFkZENlbnRlcmVkQ29udGFpbmVyKHJlc2V0SW5zcGVjdG9y
QnV0dG9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNw
cAppbmRleCA1MDM2MjhlOWUzNDg3ZWY2NDc1ZjQ1Zjg5YjljZDY5OGU3ZTAwMmRkLi5iYmNlZTQx
Njk5YzBkNWY4NGRjNmM3OTJhYjY0NGM2ZmRkODFkMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcApAQCAtMTczLDQgKzE3MywxMCBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzU3RvcmU6OnNldE92ZXJyaWRlRGVmYXVsdHNEb3VibGVWYWx1ZUZvcktleShj
b25zdCBTdHJpbmcmIGtleQogICAgIG1fb3ZlcnJpZGRlbkRlZmF1bHRzLnNldChrZXksIFZhbHVl
KHZhbHVlKSk7CiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVsZXRlS2V5KGNvbnN0
IFN0cmluZyYga2V5KQoreworICAgIG1fdmFsdWVzLnJlbW92ZShrZXkpOworICAgIG1fb3ZlcnJp
ZGRlbkRlZmF1bHRzLnJlbW92ZShrZXkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCA0YjM5Njg2ZGVl
OGRmNzNkYmI0OWE2ZjdkY2Y2OGQ4ZmZhOGIzMzk1Li44YTRhMGJmMzI4MTc2MWVkYzg3Njc4MDBm
MWFmNWUyMmJmYmU3OTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oCkBAIC01OCw2ICs1OCw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAg
ICB2b2lkIHNldE92ZXJyaWRlRGVmYXVsdHNVSW50MzJWYWx1ZUZvcktleShjb25zdCBTdHJpbmcm
IGtleSwgdWludDMyX3QgdmFsdWUpOwogICAgIHZvaWQgc2V0T3ZlcnJpZGVEZWZhdWx0c0RvdWJs
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpOwogCisgICAgdm9p
ZCBkZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpOworCiAgICAgLy8gRm9yIFdlYktpdFRlc3RS
dW5uZXIgdXNhZ2UuCiAgICAgc3RhdGljIHZvaWQgb3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoY29u
c3QgU3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVRlc3RS
dW5uZXJPdmVycmlkZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZVdlYkluc3BlY3RvclByb3h5LmNwcAppbmRleCA2Njc5ZDQ1YmQ5OTY5MjA0YWZjZjViYjJmNGU5
YTQ4ZTYxNjQzODlkLi4wN2ZmNmJhZWIzN2MxNzE4OGIyZmE1ZTQyZGEwMjVlN2UzN2ZiNzNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHkuY3BwCkBAIC0xMDIsNiArMTAyLDExIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
OnJlb3BlbigpCiAgICAgbG9hZChtX2RlYnVnZ2FibGVUeXBlLCBtX2JhY2tlbmRDb21tYW5kc1VS
TCk7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlc2V0V2luZG93U3RhdGUo
KQoreworICAgIHBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpOworfQorCiB2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpicmluZ1RvRnJvbnQoKQogewogICAgIHBsYXRmb3JtQnJpbmdUb0Zy
b250KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHkuaAppbmRleCA1ZWJiYjY4ZDRjNmRhYTMzYzI4NThiZDdhZTA5NTMxMDRhYmMxNGVlLi44
YzI0NDZhNjQ3YzEwMmRkN2MxOTgwMzE4MDY3N2EyNGQ5NDRkZDhhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmgKQEAgLTEwNyw2ICsx
MDcsNyBAQCBwcml2YXRlOgogICAgIC8vIFJlbW90ZVdlYkluc3BlY3RvclByb3h5IG1lc3NhZ2Vz
LgogICAgIHZvaWQgZnJvbnRlbmREaWRDbG9zZSgpOwogICAgIHZvaWQgcmVvcGVuKCk7CisgICAg
dm9pZCByZXNldFdpbmRvd1N0YXRlKCk7CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2
b2lkIHNhdmUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBi
b29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgYXBwZW5kKGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CkBAIC0xMjIsNiAr
MTIzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBQbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnMuCiAgICAg
V2ViUGFnZVByb3h5KiBwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOwogICAg
IHZvaWQgcGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOworICAgIHZvaWQgcGxh
dGZvcm1SZXNldFdpbmRvd1N0YXRlKCk7CiAgICAgdm9pZCBwbGF0Zm9ybUJyaW5nVG9Gcm9udCgp
OwogICAgIHZvaWQgcGxhdGZvcm1TYXZlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0
cmluZyYgY29udGVudCwgYm9vbCBiYXNlNjRFbmNvZGVkLCBib29sIGZvcmNlU2F2ZUFzKTsKICAg
ICB2b2lkIHBsYXRmb3JtQXBwZW5kKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmlu
ZyYgY29udGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGI3ODcyMzVlZDgwZDYwNDcy
ZTM2YzVhODAwYTliZDFiODU2NWZlOGUuLjg4ODg3OTg3ZTllYTE1Yjc1NWQ2OWQ3NjQ4YmNhYjdi
NmZiYmYxOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw2ICsyMyw3IEBACiBtZXNz
YWdlcyAtPiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eSB7CiAgICAgRnJvbnRlbmREaWRDbG9zZSgp
CiAgICAgUmVvcGVuKCkKKyAgICBSZXNldFdpbmRvd1N0YXRlKCkKICAgICBCcmluZ1RvRnJvbnQo
KQogCiAgICAgU2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2
NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJJbnNwZWN0b3JQcm94eS5jcHAKaW5kZXggMTJiYjI2MWQwN2MyODdiMDM0YTZhZmMxNjQ4Y2Zh
ZDYwZTNmYjJkYS4uYWQzODc3Yzg5MGQzNTA4OGUxZDQwM2E1MWRlN2ZkMTk5OWRiNGNlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMTgy
LDYgKzE4MiwxNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpyZW9wZW4oKQogICAgIHNob3co
KTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7Cisg
ICAgaW5zcGVjdG9yUGFnZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yQXR0YWNoZWRIZWln
aHQoKTsKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0b3JBdHRh
Y2hlZFdpZHRoKCk7CisgICAgaW5zcGVjdG9yUGFnZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVj
dG9yQXR0YWNobWVudFNpZGUoKTsKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxl
dGVJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpOworICAgIGluc3BlY3RvclBhZ2VQcmVmZXJlbmNl
cygpLmRlbGV0ZUluc3BlY3RvcldpbmRvd0ZyYW1lKCk7CisKKyAgICBwbGF0Zm9ybVJlc2V0V2lu
ZG93U3RhdGUoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cmVzZXQoKQogewogICAg
IGlmIChtX2luc3BlY3RlZFBhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNw
ZWN0b3JQcm94eS5oCmluZGV4IDZhYWViODFkZTYzMmViZmJhYzdkNzc2MTE0ODE4NzE2ZTgyYTYw
MTUuLjFiZTEwOGRmMDMxYzVjMjMxNjA4NjE3Y2NmNDg2MjMxM2E0NDE0MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaApAQCAtMTAxLDYgKzEwMSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGNsb3NlKCk7CiAgICAgdm9pZCBjbG9zZUZvckNyYXNoKCk7CiAg
ICAgdm9pZCByZW9wZW4oKTsKKyAgICB2b2lkIHJlc2V0V2luZG93U3RhdGUoKTsKIAogICAgIHZv
aWQgcmVzZXQoKTsKICAgICB2b2lkIHVwZGF0ZUZvck5ld1BhZ2VQcm9jZXNzKFdlYlBhZ2VQcm94
eSopOwpAQCAtMTg5LDYgKzE5MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3JtRGlk
Q2xvc2VGb3JDcmFzaCgpOwogICAgIHZvaWQgcGxhdGZvcm1JbnZhbGlkYXRlKCk7CisgICAgdm9p
ZCBwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUoKTsKICAgICB2b2lkIHBsYXRmb3JtQnJpbmdUb0Zy
b250KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUJyaW5nSW5zcGVjdGVkUGFnZVRvRnJvbnQoKTsKICAg
ICB2b2lkIHBsYXRmb3JtSGlkZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCAxMjg0YmQ0YTc1MmUyNzY0M2Jk
ZWVmM2RjZmQ0ZGFjZWExMDMyMDgzLi42OTJiZjRmZDA2YjE1NGQ4MmE3Nzc5OGE1ZjVkNDFkYjMz
MDY5ZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzAsNiArMzAsNyBAQCBtZXNzYWdlcyAtPiBXZWJJbnNw
ZWN0b3JQcm94eSB7CiAgICAgRGlkQ2xvc2UoKQogICAgIEJyaW5nVG9Gcm9udCgpCiAgICAgUmVv
cGVuKCkKKyAgICBSZXNldFdpbmRvd1N0YXRlKCkKIAogICAgIEluc3BlY3RlZFVSTENoYW5nZWQo
U3RyaW5nIHVybFN0cmluZykKICAgICBTaG93Q2VydGlmaWNhdGUoV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmNwcAppbmRleCA3MDAyZGIyMDY0Y2Y2NzUxZDliMTllMzU4YjU0NjBhOTJmMjgyMGY1
Li5hYTFhMjE3MGQ0NThiNmJiNDdhMmYyYjQ3ZDY3YjYyNDJjNzdhZDRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xNzgsNiArMTc4LDEzIEBAIHZv
aWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUZsb2F0VmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBr
ZXksIGZsb2F0IHZhbHVlKQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIg
dGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KIAordm9pZCBXZWJQcmVmZXJlbmNlczo6ZGVs
ZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KQoreworICAgIG1fc3RvcmUuZGVsZXRlS2V5KGtleSk7
CisgICAgcGxhdGZvcm1EZWxldGVLZXkoa2V5KTsKKyAgICB1cGRhdGUoKTsgLy8gRklYTUU6IE9u
bHkgc2VuZCBvdmVyIHRoZSBjaGFuZ2VkIGtleSBhbmQgdmFsdWUuCit9CisKIHZvaWQgV2ViUHJl
ZmVyZW5jZXM6OnVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKGJvb2wgdmFsdWUpCiB7CiAgICAg
cGxhdGZvcm1VcGRhdGVCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnByaXZhdGVC
cm93c2luZ0VuYWJsZWRLZXkoKSwgdmFsdWUpOwpAQCAtMjA4LDcgKzIxNSwxMSBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZhbHVlKQogICAg
ICAgICBpZiAoIW1fc3RvcmUuc2V0IyNUeXBlTmFtZSMjVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OktleUxvd2VyIyNLZXkoKSwgdmFsdWUpKSBcCiAgICAgICAgICAgICByZXR1cm47IFwK
ICAgICAgICAgdXBkYXRlIyNUeXBlTmFtZSMjVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OktleUxvd2VyIyNLZXkoKSwgdmFsdWUpOyBcCi0gICAgICAgIFwKKyAgICB9IFwKKyAgICBcCisg
ICAgdm9pZCBXZWJQcmVmZXJlbmNlczo6ZGVsZXRlIyNLZXlVcHBlcigpIFwKKyAgICB7IFwKKyAg
ICAgICAgZGVsZXRlS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCkpOyBcCiAg
ICAgfSBcCiAgICAgXAogICAgIFR5cGUgV2ViUHJlZmVyZW5jZXM6OktleUxvd2VyKCkgY29uc3Qg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMzE3Zjc0MGFm
ZTE5ZjMwODAxYmNlNzIwY2RiNjRiNTdkMWRhNjZiMC4uMTIwNjFmNjJhMWQwMTI2MTljNmMyMjJk
OGJmZDM5MDlkNTQyNDc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0zNSw2ICszNSw3IEBACiAKICNkZWZpbmUgREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRF
Ul9BTkRfU0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0
VmFsdWUsIEh1bWFuUmVhZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIFwKICAg
ICB2b2lkIHNldCMjS2V5VXBwZXIoY29uc3QgVHlwZSYgdmFsdWUpOyBcCisgICAgdm9pZCBkZWxl
dGUjI0tleVVwcGVyKCk7IFwKICAgICBUeXBlIEtleUxvd2VyKCkgY29uc3Q7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtOTgsNiArOTksOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1V
cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlIHZhbHVlKTsK
ICAgICB2b2lkIHBsYXRmb3JtVXBkYXRlRmxvYXRWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtl
eSwgZmxvYXQgdmFsdWUpOwogCisgICAgdm9pZCBkZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkp
OworICAgIHZvaWQgcGxhdGZvcm1EZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpOworCiAgICAg
dm9pZCB1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZhbHVlKTsKIAogICAgIHZvaWQg
cmVnaXN0ZXJEZWZhdWx0Qm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIGJvb2wpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0
b3JQcm94eUd0ay5jcHAKaW5kZXggYzFhYzA0M2IzMzA0NmQxNTc1MDZkMDY1NjEzZWE3Y2VjZDAw
NGI3MC4uZWRkNTMyNjhjOWNkZjQ1NDg0ZGFkZjk5ZDhiZDY3NjdiYTY2ZDI1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1JlbW90ZVdlYkluc3BlY3RvclByb3h5R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHlHdGsuY3BwCkBAIC04OSw2ICs4OSwxMCBAQCB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybUNsb3NlRnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICAgICAgZ3RrX3dp
ZGdldF9kZXN0cm95KG1fd2luZG93KTsKIH0KIAordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKCkKK3sKK30KKwogdm9pZCBSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX3dpbmRvdykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94
eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlH
dGsuY3BwCmluZGV4IDI4YzIwNzhmYThhYmI3NzBiMTM2MDVmOTBlOGY2MmMxZTMxOGI4OWMuLmU3
ODQ4ZTU0YmYwMTg4OTkwODU0NDZmNTdhZjlkN2U0ZmZhNDU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcApAQCAtMzAy
LDYgKzMwMiwxMCBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUoKQogICAg
IG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
UmVzZXRXaW5kb3dTdGF0ZSgpCit7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtQnJpbmdUb0Zyb250KCkKIHsKICAgICBpZiAobV9pc09wZW5pbmcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcAppbmRleCBlY2E0MjNi
NzFhMjNjMzljYmYzNDNlY2I4ZTZmYTM5YjcwYzU0ZGM2Li45ODQ3Zjk2MjVlZjQxN2U5OGZlMDAy
ZmFiYmQ1NjBkZGUzZGUxN2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9n
dGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAKQEAgLTY1LDYgKzY1LDExIEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnBsYXRmb3JtVXBkYXRlRmxvYXRWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBmbG9h
dCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0
Zm9ybURlbGV0ZUtleShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKIGJvb2wgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtR2V0U3RyaW5nVXNlclZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbQppbmRleCA3NjBhMWQwMDlkZTIzYzZjMmI1NThhNWZkM2UxYTUzYjViYzM4NTcz
Li5jZGE3YTg2NzRlMmQzMTlkMWUyYmU5YTQ1MDU3Mjg5YzFjYzk4ODdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5
TWFjLm1tCkBAIC0xMjMsNiArMTIzLDEwIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtQ2xvc2VGcm9udGVuZFBhZ2VBbmRXaW5kb3coKQogICAgICAgICBtX29iakNBZGFw
dGVyID0gbmlsOwogfQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJl
c2V0V2luZG93U3RhdGUoKQoreworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAgW21fd2luZG93IG1ha2VLZXlBbmRPcmRlckZy
b250Om5pbF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVj
dG9yUHJveHlNYWMubW0KaW5kZXggMDA3ZDg3ZGZjZDg0Y2E5Njg2MjE4MzUyYzhmOGZkMGMxMmZj
NzdjZC4uMTBkM2MyNGNjZGRlNDNjZjBiMWE5MGNmNTFkMjA0MTE5MWZmOWYyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpA
QCAtMzYxLDYgKzM2MSwxMSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUo
KQogICAgIH0KIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRv
d1N0YXRlKCkKK3sKKyAgICBpbnNwZWN0ZWRQYWdlKCktPnBhZ2VHcm91cCgpLnByZWZlcmVuY2Vz
KCkuZGVsZXRlSW5zcGVjdG9yV2luZG93RnJhbWUoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIC8vIElmIHRoZSBXZWIgSW5zcGVj
dG9yIGlzIG5vIGxvbmdlciBpbiB0aGUgc2FtZSB3aW5kb3cgYXMgdGhlIGluc3BlY3RlZCB2aWV3
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2Vz
TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1t
CmluZGV4IGFiZTI5NWNjMGI0ZmY3YWY5ODZjMDJlNDEyNWIyMjVlNzNjNGNhZTQuLmFiNGFkMDBi
MjZiZGI5MTdjYTNiMTIzNTVlYjk5MGYxZWE0NThiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNlc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0KQEAgLTE5OCw0ICsxOTgsMTIgQEAg
dm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0
IFN0cmluZyYga2V5LCBmbG9hdCB2YWwKICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBzZXRGbG9hdDp2YWx1ZSBmb3JLZXk6bWFrZUtleShtX2lkZW50aWZpZXIsIG1f
a2V5UHJlZml4LCBrZXkpXTsKIH0KIAordm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxl
dGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpCit7CisgICAgaWYgKCFtX2lkZW50aWZpZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IHJlbW92ZU9iamVjdEZvcktleTptYWtlS2V5KG1faWRlbnRpZmllciwgbV9rZXlQcmVmaXgsIGtl
eSldOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCmluZGV4
IDBkYTFlNTM4NzQxNmJiMGE4MjI5Yzg3MDM1Yzg4NjQyMzdhYTVhZTguLjBkZmJkZmVhZjFhYmFk
OGFmZWY1NDM2MTUxZGVjMDZmYTM1YzI4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcApAQCAtMTI5
LDYgKzEyOSw3IEBAIFdlYlBhZ2VQcm94eSogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtQ3JlYXRlRnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICByZXR1cm4gbV93ZWJWaWV3LT5w
YWdlKCk7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRX
aW5kb3dTdGF0ZSgpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1C
cmluZ1RvRnJvbnQoKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
U2F2ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBib29sLCBib29sKSB7IH0KIHZvaWQg
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXBwZW5kKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYkluc3BlY3RvclByb3h5V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9X
ZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5kZXggYTdmY2NlMTA5OTc5NzJhYzQ1MjIxZjIyN2Jh
NzRjMTFlMDJiMjBmYy4uMTY3MjkzYmQwYzFmYmRhN2JhZjJiMDEzMjExZWFlMWIxNDAzNmU0NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5
V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJv
eHlXaW4uY3BwCkBAIC0zNzQsNiArMzc0LDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtSGlkZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy93aW4vV2ViUHJlZmVyZW5jZXNXaW4uY3BwCmluZGV4IGEyMGM0ZGI5ZTc0ZTJmODMyZTExMjA3
ODg4NDJhMTIyMWFlMDNhYzkuLjJkMmJmNDI0NjY4NDU0N2RkNTcwNWUxM2I2MTk4YjM0NDRlZDJh
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNl
c1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByZWZlcmVuY2Vz
V2luLmNwcApAQCAtNjEsNiArNjEsMTEgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1V
cGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIGZsb2F0KQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KGNv
bnN0IFN0cmluZyYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJQcmVm
ZXJlbmNlczo6cGxhdGZvcm1HZXRTdHJpbmdVc2VyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwg
U3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd3BlL1dlYkluc3BlY3RvclByb3h5V1BFLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQRS5jcHAKaW5kZXggMGY0MjY1NjMy
OTNkYmYyY2NkZmY2NDY0NjdhNDQ2YjE3MmJlMzhmMy4uNDg0ODczNjU0NzkyYTkwODNlMDk4YTQ0
NmUyYmE0Nzg3OTJkOWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3Bl
L1dlYkluc3BlY3RvclByb3h5V1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
cGUvV2ViSW5zcGVjdG9yUHJveHlXUEUuY3BwCkBAIC02MSw2ICs2MSwxMSBAQCB2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUoKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
K3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1CcmluZ1RvRnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcAppbmRleCBmZjgxZmNk
YTFjZmJkZTFlMDVjZjM4YzE2YzIxNDRkYjllMGUyNzdiLi40OGYyYjI1OTQyZDg4MDI0YzNkZjcx
NzEyZDZmOWYxYWJiZjAxNWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dw
ZS9XZWJQcmVmZXJlbmNlc1dQRS5jcHAKQEAgLTYwLDYgKzYwLDExIEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnBsYXRmb3JtVXBkYXRlRmxvYXRWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBmbG9h
dCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0
Zm9ybURlbGV0ZUtleShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKIGJvb2wgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtR2V0U3RyaW5nVXNlclZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3Rv
clVJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3Bl
Y3RvclVJLmNwcAppbmRleCAwNTQ0MDQ1NmY0MWRiMWM0ZjA5MDViNTVlZGZhMzg0MWZmN2MxZmQx
Li5jNDE1YmEwMzUyMzVmZjdlZGFlZWUzM2E1MWExNmZmYmQzZWJiNTRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9y
VUkuY3BwCkBAIC0xMzksNiArMTM5LDExIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6OnJl
b3BlbigpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OlJlb3BlbigpLCBt
X3BhZ2UucGFnZUlEKCkpOwogfQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclVJOjpyZXNldFdp
bmRvd1N0YXRlKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6UmVz
ZXRXaW5kb3dTdGF0ZSgpLCBtX3BhZ2UucGFnZUlEKCkpOworfQorCiB2b2lkIFJlbW90ZVdlYklu
c3BlY3RvclVJOjpvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdl
czo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6Ok9wZW5Jbk5ld1RhYih1cmwpLCBtX3BhZ2UucGFn
ZUlEKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVt
b3RlV2ViSW5zcGVjdG9yVUkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1Jl
bW90ZVdlYkluc3BlY3RvclVJLmgKaW5kZXggNjIxMzExMDgyMWFlODE0NzY1Y2NkZTg1YWJlMWY4
MTcxOWE2YzZmMi4uYjMwYTVmNTZiOTExNDkxMWJiNDkwNjFiZmUxNDk4ZWVjZWU0N2NmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVj
dG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJ
bnNwZWN0b3JVSS5oCkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJyaW5nVG9G
cm9udCgpIG92ZXJyaWRlOwogICAgIHZvaWQgY2xvc2VXaW5kb3coKSBvdmVycmlkZTsKICAgICB2
b2lkIHJlb3BlbigpIG92ZXJyaWRlOworICAgIHZvaWQgcmVzZXRXaW5kb3dTdGF0ZSgpIG92ZXJy
aWRlOwogCiAgICAgdm9pZCBvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2F2ZShjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50
LCBib29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCmlu
ZGV4IGJjZmY4ZTJhODk2ZmYwMmU4MjUxNjUyNzgxMTliZDFmZWI0NjIxZTIuLmQzNmNjYzJiYjY3
YmVjOGY4YjA5NmQ2MGZjNTdjZGZhY2IzMzY5YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHAKQEAgLTE3Niw2ICsxNzYsMTEg
QEAgdm9pZCBXZWJJbnNwZWN0b3JVSTo6cmVvcGVuKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0
b3JQcm94eTo6UmVvcGVuKCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwogfQogCit2b2lk
IFdlYkluc3BlY3RvclVJOjpyZXNldFdpbmRvd1N0YXRlKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJ
bnNwZWN0b3JQcm94eTo6UmVzZXRXaW5kb3dTdGF0ZSgpLCBtX2luc3BlY3RlZFBhZ2VJZGVudGlm
aWVyKTsKK30KKwogV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBXZWJJbnNw
ZWN0b3JVSTo6dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fcGFnZS5jb3JlUGFnZSgpLT51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JV
SS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaApp
bmRleCA5NDI0YmZlMWYyNmNmZGMxNjkwN2M3ODFmZWY0ZDZkMDVjNWVjZTI5Li40ZmM2NGYzOGZk
ZmI2MzY3ZDM5ZGVlMjUxZjNhNWUzZGVlYTcxNTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKQEAgLTk2LDYgKzk2LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYnJpbmdUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjbG9zZVdp
bmRvdygpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVvcGVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBy
ZXNldFdpbmRvd1N0YXRlKCkgb3ZlcnJpZGU7CiAKICAgICBXZWJDb3JlOjpVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSBjb25zdCBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9jZi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcAppbmRleCA1MTViYjliZDIxMWUyMzgx
YTEyODUwNTI1MzAxOGRiMTE2NGFiZTEzLi5kYjI5MjYyMWEyMGZiMWE5YjY3N2Q0N2I4YTgyNjNk
MDU3Y2UyMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2Nm
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcApAQCAtODksNiArODksMTEg
QEAgc3RhdGljIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJp
bmcmIHNldHRpbmcpCiAgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGNyZWF0ZUtleUZvclBy
ZWZlcmVuY2VzKGtleSkuZ2V0KCksIHNldHRpbmcuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwga0NG
UHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pOwogfQogCitzdGF0aWMgdm9pZCBkZWxldGVT
ZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5KQoreworICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1
ZShjcmVhdGVLZXlGb3JQcmVmZXJlbmNlcyhrZXkpLmdldCgpLCBOVUxMLCBrQ0ZQcmVmZXJlbmNl
c0N1cnJlbnRBcHBsaWNhdGlvbik7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpzZW5k
TWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGRvRGlzcGF0
Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2UobV9mcm9udGVuZFBhZ2UsIG1lc3NhZ2UpOwpAQCAtMTA4
LDYgKzExMywxMSBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6c2V0SW5zcGVjdG9yQXR0YWNo
RGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKICAgICBzdG9yZVNldHRpbmcoaW5zcGVjdG9yQXR0YWNo
RGlzYWJsZWRTZXR0aW5nLCBkaXNhYmxlZCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogfQogCit2b2lk
IFdlYkluc3BlY3RvckNsaWVudDo6ZGVsZXRlSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKQorewor
ICAgIGRlbGV0ZVNldHRpbmcoaW5zcGVjdG9yQXR0YWNoRGlzYWJsZWRTZXR0aW5nKTsKK30KKwog
Ym9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCkKIHsKICAg
ICBTdHJpbmcgdmFsdWU7CkBAIC0xMjIsNiArMTMyLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xp
ZW50OjpzZXRJbnNwZWN0b3JTdGFydHNBdHRhY2hlZChib29sIGF0dGFjaGVkKQogICAgIHN0b3Jl
U2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmcsIGF0dGFjaGVkID8gInRydWUi
IDogImZhbHNlIik7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpkZWxldGVJbnNwZWN0
b3JBdHRhY2hEaXNhYmxlZCgpCit7CisgICAgZGVsZXRlU2V0dGluZyhpbnNwZWN0b3JTdGFydHNB
dHRhY2hlZFNldHRpbmcpOworfQorCiBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3M+IFdlYkluc3BlY3RvckNsaWVudDo6Y3JlYXRl
RnJvbnRlbmRTZXR0aW5ncygpCiB7CiAgICAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRTZXR0aW5n
c0NGIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRp
bmdzIHsKQEAgLTEzOCw2ICsxNTMsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzPiBXZWJJbnNwZWN0b3JDbGkKICAgICAg
ICAgewogICAgICAgICAgICAgc3RvcmVTZXR0aW5nKG5hbWUsIHZhbHVlKTsKICAgICAgICAgfQor
CisgICAgICAgIHZpcnR1YWwgdm9pZCBkZWxldGVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGRlbGV0ZVNldHRpbmcobmFtZSk7CisgICAgICAgIH0K
ICAgICB9OwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckZyb250ZW5kU2V0
dGluZ3NDRj4oKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
aW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbQppbmRleCAwNzE2OTgw
NTQwMzY2ODMwMDQzNWZkNDQzYjAyOTM1NjM4NzQ5MjRmLi4wZjQzNzg3ODNiMmVmYjQ1ZDU4OTE5
YjVmMzQyMzllMzgyMTA0YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9X
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tCkBAIC0x
MjcsNiArMTI3LDcgQEAgU3RyaW5nIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojpsb2NhbGl6
ZWRTdHJpbmdzVVJMKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6Y2xvc2VXaW5kb3coKSB7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnJlb3BlbigpIHsgfQordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRX
aW5kb3dTdGF0ZSgpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNo
V2luZG93KERvY2tTaWRlKSB7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRl
dGFjaFdpbmRvdygpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0QXR0
YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRl
eCA0YTI1YTZjOTYzZDQxMzU1YWM1M2U2ZTc5MTBmNTI2NGNiMjliZDFjLi4yYWZlZTE2YWIxODJk
NzRmYmNlMTBjZmY4MWE5YzJhNTkwMTc3NzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAt
ODMsOSArODMsMTEgQEAgcHVibGljOgogCiAgICAgYm9vbCBpbnNwZWN0b3JTdGFydHNBdHRhY2hl
ZCgpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoYm9vbCk7CisgICAgdm9p
ZCBkZWxldGVJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpOwogCiAgICAgYm9vbCBpbnNwZWN0b3JB
dHRhY2hEaXNhYmxlZCgpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoYm9v
bCk7CisgICAgdm9pZCBkZWxldGVJbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpOwogCiAgICAgdm9p
ZCB3aW5kb3dGdWxsU2NyZWVuRGlkQ2hhbmdlKCk7CiAKQEAgLTExOSw2ICsxMjEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlV2lu
ZG93KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW9wZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIHJl
c2V0V2luZG93U3RhdGUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgYXR0YWNoV2luZG93KERvY2tT
aWRlKSBvdmVycmlkZTsKICAgICB2b2lkIGRldGFjaFdpbmRvdygpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tCmluZGV4IDFiOTAzYWY4YjRjYWZlMmE5YjU2ZjcxMjhjN2U0MGI5MmFj
YjY4YjYuLjFlMzRkMWY5ODU4ODM0NjQyYWExYTVlZTI5M2FiZjcyMjc3YjQwNjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0KQEAgLTI1Niw2ICsyNTYsMTcgQEAgdm9pZCBXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6cmVvcGVuKCkKICAgICBbaW5zcGVjdG9yIHNob3c6bmlsXTsKIH0KIAor
dm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7Cisg
ICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5kb3dTdGF0ZSgpOworCisg
ICAgYXV0byogaW5zcGVjdG9yQ2xpZW50ID0gW21fZnJvbnRlbmRXaW5kb3dDb250cm9sbGVyLmdl
dCgpIGluc3BlY3RvckNsaWVudF07CisgICAgaW5zcGVjdG9yQ2xpZW50LT5kZWxldGVJbnNwZWN0
b3JTdGFydHNBdHRhY2hlZCgpOworICAgIGluc3BlY3RvckNsaWVudC0+ZGVsZXRlSW5zcGVjdG9y
QXR0YWNoRGlzYWJsZWQoKTsKKworICAgIFttX2Zyb250ZW5kV2luZG93Q29udHJvbGxlci5nZXQo
KSBzZXRXaW5kb3dGcmFtZUF1dG9zYXZlTmFtZTpAIldlYiBJbnNwZWN0b3IgMiJdOworfQorCiB2
b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpCiB7
CiAgICAgaWYgKFttX2Zyb250ZW5kV2luZG93Q29udHJvbGxlci5nZXQoKSBhdHRhY2hlZF0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCBhMGQ3NjlkMjFkM2FjMDQzNTVlOTZhOWNmMmRi
NDZlZjY1ZmRiNTRkLi4wMjM4NDNlMjNlZmMwYWE0NGM2YThkMWYwNWU1NWQwOTJkOTdmMTdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTI3OCw2ICsyNzgsMTQgQEAgdm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVvcGVuKCkKICAgICAgICAgaW5zcGVjdGVkUGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLnNob3coKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7CisgICAgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbDo6cmVzZXRXaW5kb3dTdGF0ZSgpOworCisgICAgbV9pbnNwZWN0b3JDbGllbnQt
PmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CisgICAgbV9pbnNwZWN0b3JDbGllbnQt
PmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKCk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRvdyhEb2NrU2lkZSkKIHsKICAgICBpZiAobV9hdHRh
Y2hlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggMTczM2E3MjcyZjgwMjc5OTczOWIyMGMy
YjBmMDVhNWFiY2Y4YTQwZS4uNzg4NjQxNTBmMGEyYjM0ODM0NTliN2NlMGFkZWY0NjM5OWEwNmNi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTY4LDkgKzY4LDExIEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKTsKICAgICB2b2lkIHNldEluc3BlY3Rv
clN0YXJ0c0F0dGFjaGVkKGJvb2wpOworICAgIHZvaWQgZGVsZXRlSW5zcGVjdG9yU3RhcnRzQXR0
YWNoZWQoKTsKIAogICAgIGJvb2wgaW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoKTsKICAgICB2b2lk
IHNldEluc3BlY3RvckF0dGFjaERpc2FibGVkKGJvb2wpOworICAgIHZvaWQgZGVsZXRlSW5zcGVj
dG9yQXR0YWNoRGlzYWJsZWQoKTsKIAogICAgIHZvaWQgcmVsZWFzZUZyb250ZW5kKCk7CiAKQEAg
LTEwNCw2ICsxMDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKSBvdmVycmlk
ZTsKICAgICB2b2lkIGNsb3NlV2luZG93KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW9wZW4oKSBv
dmVycmlkZTsKKyAgICB2b2lkIHJlc2V0V2luZG93U3RhdGUoKSBvdmVycmlkZTsKIAogICAgIHZv
aWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNpZ25lZCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372403</attachid>
            <date>2019-06-18 16:27:41 -0700</date>
            <delta_ts>2019-06-18 17:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198956-20190618162741.patch</filename>
            <type>text/plain</type>
            <size>40315</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZDIwODdiNDViOTVjZjM0NGU2YTlhZWI1Zjc4NmViNzNkZDU5MGZlLi41
Y2NmZjU3NjMzYTJkN2MwYjAzZjUyMDllZGJhYzZkNjcyMzAzODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIg
c2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNp
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpkZWxldGVQcm9wZXJ0eSk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXNldCk6IEFkZGVkLgorCiAyMDE5LTA2
LTE4ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBw
cmVsaW1pbmFyeSBBTkdMRSBiYWNrZW5kIHRvIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CmluZGV4IGFiY2YwNGI4ZWJlMjEyNWQzN2YyYWNlZDI5NDZiMWY2MTMzNjM4NGIuLjdiMmFiNzc4
MmI0MDkxNDI0ODYwZTAwNjZjMzFjNjMxNzQ2ZmNlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNw
ZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNo
bWVudCBzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV0kucmVzZXQpOiBBZGRl
ZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdJLlNldHRpbmdzVGFiQ29udGVudFZpZXcucHJvdG90eXBlLl9jcmVh
dGVEZWJ1Z1NldHRpbmdzVmlldyk6CisKIDIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdvcms6IGRldGFpbCB2
aWV3IHNob3VsZG4ndCBzdGF5IG9wZW4gd2hlbiB0aGUgcmVsYXRlZCBlbnRyeSBpcyByZW1vdmVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDMzNzFjY2ZjMzExZTZkODNhZGI0MGMwODA0NjI4YzhiODJjZTU0ZmQuLjhl
ODg1MWM1MWYwZjU2OTI2MDhhMWRkMmViYzBjNTc2NGUxNGJiODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNTcgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIgc2hv
dWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNpZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmRlbGV0ZUtleSk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KTogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpwbGF0Zm9ybURlbGV0ZUtleSk6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWxldGVLZXkp
OiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0
YXRlKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQ
RS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0
V2luZG93U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkluc3BlY3Rv
clByb3h5V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3JVSS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpyZXNldFdpbmRv
d1N0YXRlKTogQWRkZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlc2V0V2luZG93
U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9n
dGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
V2ViSW5zcGVjdG9yVUk6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xOCAg
Sm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgbG9n
IGNoYW5uZWwgbmFtZSBmcm9tIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1ZyB0byBJVFBEZWJ1
ZyBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExl
Z2FjeS9jZi9DaGFuZ2VMb2cKaW5kZXggOTJhMWYwNWU5MDcyZDMzNjg5YzA2Mzg5MWFmOTNmZWNl
MDMwOTcwOS4uNDk4YzUzZDQ3OWY1OWZjMDEyZWNhMmU5ZjViNTI0YTkwMDAwZDAyOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9jZi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9jZi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNi0xOCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVi
dWc6ICJSZXNldCBXZWIgSW5zcGVjdG9yIiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2lu
ZG93IHNpemUgYW5kIGF0dGFjaG1lbnQgc2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRD
Ri5jcHA6CisgICAgICAgIChkZWxldGVTZXR0aW5nKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3JDbGllbnQ6OmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKTog
QWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OmNyZWF0ZUZyb250ZW5kU2V0dGlu
Z3MpOgorCiAyMDE4LTAxLTMwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+
CiAKICAgICAgICAgSlNFeHBvcnRzLmggc2hvdWxkIGJlIGluY2x1ZGVkIGFzIDxKYXZhU2NyaXB0
Q29yZS9KU0V4cG9ydE1hY3Jvcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9p
b3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCmluZGV4IGI2
M2Y3NzcxNDM4Zjg3MTc1ODgxOGM5ZmY2NmMwMzJiNjBjOTQ0ZTguLjUwNTI0MTIzOTc0Y2M1MDVl
MWRiNDEyMmE3MjFiOGYwNTgyODQwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
aW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOS0wNi0xOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVidWc6ICJSZXNldCBXZWIgSW5zcGVjdG9y
IiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2luZG93IHNpemUgYW5kIGF0dGFjaG1lbnQg
c2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW06CisgICAgICAgIChXZWJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorCiAyMDE5LTA2
LTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQXRv
bWljU3RyaW5nIHRvIEF0b21TdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBm
ZTQzMmQwNjQ2MDI4OTNiMmM2MTYyYTk1MjJiMTg4ZmJlMjQ1ZDhiLi5jYjFkY2NmNDg0NGVkN2U0
M2NmMDhmYmRmZTYzZTgwODE2YWU4YmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3Rv
ciIgc2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50
IHNpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
ODk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xNiAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEF0b21pY1N0cmluZyB0
byBBdG9tU3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjAxZDc2MjM0Y2U2
NDg2MjgyZDVkZDg4MDFjMmE4OTFkNzExYjcyMi4uMTYzNDljYmFjMTk0ZWI4YTIyMjU4MDAyZDZh
Y2RhNzVkNTFhOTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBh
bHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorCiAyMDE5LTA2LTE2ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQXRvbWljU3RyaW5nIHRvIEF0b21TdHJp
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50LmgKaW5kZXggMDBjZTgyNWZkZjE1ZTdjNmIzNTNlMWU1NDY4OTM2NDk4YThmYmY0YS4uNDg4
NTRmYzIxM2U3ZDcxMWQzNTYwYWFlZjRkNmYyMWVjNmY2YTFkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTY1LDYgKzY1
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW9wZW4o
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlc2V0V2luZG93U3RhdGUoKSA9IDA7CiAKICAgICB2
aXJ0dWFsIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERp
cmVjdGlvbigpIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IGVhNmFmNTRlZTkw
MjQ3YjZmYTkwMGMyMDVlYTE3YWVkMWU4MGE5MmIuLjk4OGQ2ZWIwMDJmMDM1YTkyMTNmNmRhZmI3
MDdmYzk5NzAxMmViN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTEyNyw2ICsxMjcsMTAgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpTZXR0aW5nczo6c2V0UHJvcGVydHko
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3QKIHsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsOjpTZXR0aW5nczo6ZGVsZXRlUHJvcGVydHkoY29uc3QgU3RyaW5nJikKK3sKK30K
KwogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0ZWRQYWdlQ29udHJvbGxlciwgUGFnZSog
ZnJvbnRlbmRQYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8U2V0dGluZ3M+IHNldHRpbmdzKQogICAgIDog
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcihpbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKICAgICAs
IG1fZnJvbnRlbmRQYWdlKGZyb250ZW5kUGFnZSkKQEAgLTE0Niw2ICsxNTAsMTEgQEAgSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6fkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKQog
ICAgIG1fZGlzcGF0Y2hUYXNrLT5yZXNldCgpOwogfQogCit2b2lkIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWw6OnJlc2V0V2luZG93U3RhdGUoKQoreworICAgIG1fc2V0dGluZ3MtPmRlbGV0
ZVByb3BlcnR5KGluc3BlY3RvckF0dGFjaGVkSGVpZ2h0U2V0dGluZyk7Cit9CisKIHZvaWQgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6d2luZG93T2JqZWN0Q2xlYXJlZCgpCiB7CiAgICAg
aWYgKG1fZnJvbnRlbmRIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggYWUyNmNjYWU5Y2E5OWM1ZDVj
MmFlNmU0OTY2N2FlYTg4NjdiMWQ5Ni4uMTMzMWRkODk0ODZlYmIzZTczNzZkMzg0ODJkMWM0NTFh
MTIxMzhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCkBAIC01NSwxMSArNTUsMTQgQEAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5TZXR0aW5ncygpID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCBTdHJp
bmcgZ2V0UHJvcGVydHkoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgdmlydHVhbCB2b2lk
IHNldFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkZWxldGVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwog
ICAgIH07CiAKICAgICBXRUJDT1JFX0VYUE9SVCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RlZFBhZ2VDb250cm9sbGVyLCBQYWdlKiBmcm9u
dGVuZFBhZ2UsIHN0ZDo6dW5pcXVlX3B0cjxTZXR0aW5ncz4pOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKIAorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcmVzZXRXaW5kb3dTdGF0ZSgpIG92ZXJyaWRlOworCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCB3aW5kb3dPYmplY3RDbGVhcmVkKCkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBmcm9udGVuZExvYWRlZCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDcxY2E0NGJmZmQ0
NjBhMGZkMmYyMmZkZWY5ZTY3OWIzOWExYjg3NTcuLjY0NTIxMTI4NTVhMDY4YmRkNzUxNjE5MWMw
NWFjZmM0MDQxODliYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0xOTcsNiArMTk3LDEzIEBAIHZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpyZW9wZW4oKQogICAgICAgICBtX2NsaWVudC0+cmVvcGVuKCk7CiB9CiAK
K3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXNldCgpCit7CisgICAgaWYgKG1fY2xpZW50
KQorICAgICAgICBtX2NsaWVudC0+cmVzZXRXaW5kb3dTdGF0ZSgpOworICAgIHJlb3BlbigpOwor
fQorCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YnJpbmdUb0Zyb250KCkKIHsKICAgICBp
ZiAobV9jbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKaW5kZXggMzAxN2NiNzZjMDllNWQyN2VlNDE2ZWQ1YzliYzQ3ZDNiMGVjZGNh
Yi4uNTZiODlkZjYyMmJjYzdkNTM0YWZjZmU0OTBjZDNlYWNlMGEzYmQ0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaApAQCAtNTUsOSAr
NTUsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VsZlRvR2xvYmFs
T2JqZWN0SW5Xb3JsZChET01XcmFwcGVyV29ybGQmKTsKIAogICAgIHZvaWQgbG9hZGVkKCk7Ci0g
ICAgdm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBjbG9z
ZVdpbmRvdygpOwogICAgIHZvaWQgcmVvcGVuKCk7CisgICAgdm9pZCByZXNldCgpOworCiAgICAg
dm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3Qg
U3RyaW5nJik7CiAKQEAgLTY5LDYgKzcwLDggQEAgcHVibGljOgogCiAgICAgU3RyaW5nIHVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKIAorICAgIHZvaWQgcmVxdWVzdFNldERvY2tTaWRl
KGNvbnN0IFN0cmluZyYpOworCiAgICAgdm9pZCBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNp
Z25lZCk7CiAgICAgdm9pZCBzZXRBdHRhY2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApp
bmRleCAwMjNhMzljYmM4ZjA4ODRlMzkwYjI5ODIyZDE5YmRhZmZhOTEyOTkyLi45MGIzYWZjZGQ5
MTcwNmM1YWI5MzdhYzMwNmNjZWQyZmM0ZTQyYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApAQCAtMzcsNiArMzcsOCBAQAog
ICAgIHZvaWQgbG9hZGVkKCk7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpOwogICAgIHZvaWQgcmVv
cGVuKCk7CisgICAgdm9pZCByZXNldCgpOworCiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAg
ICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoRE9NU3RyaW5nIG5ld1VSTCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCAwNDA0
N2Y1Yjk5YzcyNzNhNTVlMGU2ZDliMGUxMWI5YTg2Y2MzYTc5Li4wNTdmMmQyMzZkMDQ5YmU2YzJh
NWY4ZTFiNGJhZmRiNzE0ZTdhZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC0zMjI2LDYgKzMyMjYsMTMgQEAgV0kuYXNzdW1p
bmdNYWluVGFyZ2V0ID0gZnVuY3Rpb24oKQogICAgIHJldHVybiBXSS5tYWluVGFyZ2V0OwogfTsK
IAorV0kucmVzZXQgPSBhc3luYyBmdW5jdGlvbigpCit7CisgICAgYXdhaXQgV0kuT2JqZWN0U3Rv
cmUucmVzZXQoKTsKKyAgICBXSS5TZXR0aW5nLnJlc2V0KCk7CisgICAgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LnJlc2V0KCk7Cit9OworCiBXSS5pc0VuZ2luZWVyaW5nQnVpbGQgPSBmYWxzZTsKIAog
Ly8gT3BlblJlc291cmNlRGlhbG9nIGRlbGVnYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZXR0aW5nc1RhYkNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250
ZW50Vmlldy5qcwppbmRleCAxNGFhZGVkZGMwNWQ4YjZkOTMwZTBhZGY1ZTIwNTczMDE2MWZmYjkw
Li41M2ZkMmM3ZmNiNWUxODliZDY0NzU2NGRmZWQxNzE2MjcwYmFjMGM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZXR0aW5nc1RhYkNvbnRl
bnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NldHRpbmdzVGFiQ29udGVudFZpZXcuanMKQEAgLTM5MiwxMCArMzkyLDggQEAgV0kuU2V0dGlu
Z3NUYWJDb250ZW50VmlldyA9IGNsYXNzIFNldHRpbmdzVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5UYWJDb250ZW50VmkKIAogICAgICAgICBsZXQgcmVzZXRJbnNwZWN0b3JCdXR0b24gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKICAgICAgICAgcmVzZXRJbnNwZWN0b3JCdXR0
b24udGV4dENvbnRlbnQgPSBXSS51bmxvY2FsaXplZFN0cmluZygiUmVzZXQgV2ViIEluc3BlY3Rv
ciIpOwotICAgICAgICByZXNldEluc3BlY3RvckJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jIChldmVudCkgPT4gewotICAgICAgICAgICAgYXdhaXQgV0kuT2JqZWN0U3RvcmUu
cmVzZXQoKTsKLSAgICAgICAgICAgIFdJLlNldHRpbmcucmVzZXQoKTsKLSAgICAgICAgICAgIElu
c3BlY3RvckZyb250ZW5kSG9zdC5yZW9wZW4oKTsKKyAgICAgICAgcmVzZXRJbnNwZWN0b3JCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIFdJ
LnJlc2V0KCk7CiAgICAgICAgIH0pOwogICAgICAgICB0aGlzLl9kZWJ1Z1NldHRpbmdzVmlldy5h
ZGRDZW50ZXJlZENvbnRhaW5lcihyZXNldEluc3BlY3RvckJ1dHRvbik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKaW5kZXggNTAzNjI4ZTllMzQ4N2Vm
NjQ3NWY0NWY4OWI5Y2Q2OThlN2UwMDJkZC4uYmJjZWU0MTY5OWMwZDVmODRkYzZjNzkyYWI2NDRj
NmZkZDgxZDBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5jcHAKQEAgLTE3Myw0ICsxNzMsMTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRP
dmVycmlkZURlZmF1bHRzRG91YmxlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXkKICAgICBt
X292ZXJyaWRkZW5EZWZhdWx0cy5zZXQoa2V5LCBWYWx1ZSh2YWx1ZSkpOwogfQogCit2b2lkIFdl
YlByZWZlcmVuY2VzU3RvcmU6OmRlbGV0ZUtleShjb25zdCBTdHJpbmcmIGtleSkKK3sKKyAgICBt
X3ZhbHVlcy5yZW1vdmUoa2V5KTsKKyAgICBtX292ZXJyaWRkZW5EZWZhdWx0cy5yZW1vdmUoa2V5
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggNGIzOTY4NmRlZThkZjczZGJiNDlhNmY3ZGNmNjhkOGZm
YThiMzM5NS4uOGE0YTBiZjMyODE3NjFlZGM4NzY3ODAwZjFhZjVlMjJiZmJlNzkwNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaApAQCAtNTgsNiArNTgsOCBA
QCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXNTdG9yZSB7CiAgICAgdm9pZCBzZXRPdmVycmlkZURlZmF1
bHRzVUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQzMl90IHZhbHVlKTsK
ICAgICB2b2lkIHNldE92ZXJyaWRlRGVmYXVsdHNEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSwgZG91YmxlIHZhbHVlKTsKIAorICAgIHZvaWQgZGVsZXRlS2V5KGNvbnN0IFN0cmlu
ZyYga2V5KTsKKwogICAgIC8vIEZvciBXZWJLaXRUZXN0UnVubmVyIHVzYWdlLgogICAgIHN0YXRp
YyB2b2lkIG92ZXJyaWRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZh
bHVlKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAK
aW5kZXggNjY3OWQ0NWJkOTk2OTIwNGFmY2Y1YmIyZjRlOWE0OGU2MTY0Mzg5ZC4uNTYyZjVjMzMz
NmM1ZDQ0MTgyMTIxOGE5YjcyZGQ1YmUzOGVhNjg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMTAyLDYgKzEwMiwx
MSBAQCB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpyZW9wZW4oKQogICAgIGxvYWQobV9k
ZWJ1Z2dhYmxlVHlwZSwgbV9iYWNrZW5kQ29tbWFuZHNVUkwpOwogfQogCit2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpyZXNldFdpbmRvd1N0YXRlKCkKK3sKKyAgICBwbGF0Zm9ybVJlc2V0
V2luZG93U3RhdGUoKTsKK30KKwogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6YnJpbmdU
b0Zyb250KCkKIHsKICAgICBwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpOwpAQCAtMTc3LDYgKzE4Miw3
IEBAIFdlYlBhZ2VQcm94eSogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRl
RnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAordm9pZCBS
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKCkgeyB9CiB2
b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpIHsgfQog
dm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TYXZlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaApp
bmRleCA1ZWJiYjY4ZDRjNmRhYTMzYzI4NThiZDdhZTA5NTMxMDRhYmMxNGVlLi44YzI0NDZhNjQ3
YzEwMmRkN2MxOTgwMzE4MDY3N2EyNGQ5NDRkZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBw
cml2YXRlOgogICAgIC8vIFJlbW90ZVdlYkluc3BlY3RvclByb3h5IG1lc3NhZ2VzLgogICAgIHZv
aWQgZnJvbnRlbmREaWRDbG9zZSgpOwogICAgIHZvaWQgcmVvcGVuKCk7CisgICAgdm9pZCByZXNl
dFdpbmRvd1N0YXRlKCk7CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIHNhdmUo
Y29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2
NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CkBAIC0xMjIsNiArMTIzLDcgQEAg
cHJpdmF0ZToKICAgICAvLyBQbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnMuCiAgICAgV2ViUGFnZVBy
b3h5KiBwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOwogICAgIHZvaWQgcGxh
dGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOworICAgIHZvaWQgcGxhdGZvcm1SZXNl
dFdpbmRvd1N0YXRlKCk7CiAgICAgdm9pZCBwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpOwogICAgIHZv
aWQgcGxhdGZvcm1TYXZlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29u
dGVudCwgYm9vbCBiYXNlNjRFbmNvZGVkLCBib29sIGZvcmNlU2F2ZUFzKTsKICAgICB2b2lkIHBs
YXRmb3JtQXBwZW5kKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0
b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGI3ODcyMzVlZDgwZDYwNDcyZTM2YzVhODAw
YTliZDFiODU2NWZlOGUuLjg4ODg3OTg3ZTllYTE1Yjc1NWQ2OWQ3NjQ4YmNhYjdiNmZiYmYxOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw2ICsyMyw3IEBACiBtZXNzYWdlcyAtPiBS
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eSB7CiAgICAgRnJvbnRlbmREaWRDbG9zZSgpCiAgICAgUmVv
cGVuKCkKKyAgICBSZXNldFdpbmRvd1N0YXRlKCkKICAgICBCcmluZ1RvRnJvbnQoKQogCiAgICAg
U2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQs
IGJvb2wgZm9yY2VTYXZlQXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5jcHAKaW5kZXggMTJiYjI2MWQwN2MyODdiMDM0YTZhZmMxNjQ4Y2ZhZDYwZTNmYjJk
YS4uZTkzZGU0NjQ0MDhkZmMxZWViMjBmYzM2OWNkMDczYjNmNmQ4NzQ4MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMTgyLDYgKzE4Miwx
NyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpyZW9wZW4oKQogICAgIHNob3coKTsKIH0KIAor
dm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7CisgICAgaW5zcGVj
dG9yUGFnZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yQXR0YWNoZWRIZWlnaHQoKTsKKyAg
ICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0b3JBdHRhY2hlZFdpZHRo
KCk7CisgICAgaW5zcGVjdG9yUGFnZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yQXR0YWNo
bWVudFNpZGUoKTsKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0
b3JTdGFydHNBdHRhY2hlZCgpOworICAgIGluc3BlY3RvclBhZ2VQcmVmZXJlbmNlcygpLmRlbGV0
ZUluc3BlY3RvcldpbmRvd0ZyYW1lKCk7CisKKyAgICBwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUo
KTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cmVzZXQoKQogewogICAgIGlmIChtX2lu
c3BlY3RlZFBhZ2UpIHsKQEAgLTYyNiw2ICs2MzcsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUoKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJp
bmdUb0Zyb250KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggNmFhZWI4MWRlNjMyZWJmYmFjN2Q3NzYx
MTQ4MTg3MTZlODJhNjAxNS4uMWJlMTA4ZGYwMzFjNWMyMzE2MDg2MTdjY2Y0ODYyMzEzYTQ0MTQw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCkBAIC0x
MDEsNiArMTAxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xvc2UoKTsKICAgICB2b2lkIGNsb3Nl
Rm9yQ3Jhc2goKTsKICAgICB2b2lkIHJlb3BlbigpOworICAgIHZvaWQgcmVzZXRXaW5kb3dTdGF0
ZSgpOwogCiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgdXBkYXRlRm9yTmV3UGFnZVByb2Nl
c3MoV2ViUGFnZVByb3h5Kik7CkBAIC0xODksNiArMTkwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgcGxhdGZvcm1EaWRDbG9zZUZvckNyYXNoKCk7CiAgICAgdm9pZCBwbGF0Zm9ybUludmFsaWRh
dGUoKTsKKyAgICB2b2lkIHBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpOwogICAgIHZvaWQgcGxh
dGZvcm1CcmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIHBsYXRmb3JtQnJpbmdJbnNwZWN0ZWRQYWdl
VG9Gcm9udCgpOwogICAgIHZvaWQgcGxhdGZvcm1IaWRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDEyODRi
ZDRhNzUyZTI3NjQzYmRlZWYzZGNmZDRkYWNlYTEwMzIwODMuLjY5MmJmNGZkMDZiMTU0ZDgyYTc3
Nzk4YTVmNWQ0MWRiMzMwNjlmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMCw2ICszMCw3IEBAIG1lc3Nh
Z2VzIC0+IFdlYkluc3BlY3RvclByb3h5IHsKICAgICBEaWRDbG9zZSgpCiAgICAgQnJpbmdUb0Zy
b250KCkKICAgICBSZW9wZW4oKQorICAgIFJlc2V0V2luZG93U3RhdGUoKQogCiAgICAgSW5zcGVj
dGVkVVJMQ2hhbmdlZChTdHJpbmcgdXJsU3RyaW5nKQogICAgIFNob3dDZXJ0aWZpY2F0ZShXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDcwMDJkYjIwNjRjZjY3NTFkOWIxOWUzNThi
NTQ2MGE5MmYyODIwZjUuLmFhMWEyMTcwZDQ1OGI2YmI0N2EyZjJiNDdkNjdiNjI0MmM3N2FkNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTE3OCw2
ICsxNzgsMTMgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlRmxvYXRWYWx1ZUZvcktleShj
b25zdCBTdHJpbmcmIGtleSwgZmxvYXQgdmFsdWUpCiAgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBP
bmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCit2b2lkIFdlYlBy
ZWZlcmVuY2VzOjpkZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpCit7CisgICAgbV9zdG9yZS5k
ZWxldGVLZXkoa2V5KTsKKyAgICBwbGF0Zm9ybURlbGV0ZUtleShrZXkpOworICAgIHVwZGF0ZSgp
OyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KK30K
Kwogdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9vbCB2
YWx1ZSkKIHsKICAgICBwbGF0Zm9ybVVwZGF0ZUJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEtleSgpLCB2YWx1ZSk7CkBAIC0yMDgsNyArMjE1
LDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKGJv
b2wgdmFsdWUpCiAgICAgICAgIGlmICghbV9zdG9yZS5zZXQjI1R5cGVOYW1lIyNWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB2YWx1ZSkpIFwKICAgICAgICAg
ICAgIHJldHVybjsgXAogICAgICAgICB1cGRhdGUjI1R5cGVOYW1lIyNWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB2YWx1ZSk7IFwKLSAgICAgICAgXAorICAg
IH0gXAorICAgIFwKKyAgICB2b2lkIFdlYlByZWZlcmVuY2VzOjpkZWxldGUjI0tleVVwcGVyKCkg
XAorICAgIHsgXAorICAgICAgICBkZWxldGVLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2Vy
IyNLZXkoKSk7IFwKICAgICB9IFwKICAgICBcCiAgICAgVHlwZSBXZWJQcmVmZXJlbmNlczo6S2V5
TG93ZXIoKSBjb25zdCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApp
bmRleCAzMTdmNzQwYWZlMTlmMzA4MDFiY2U3MjBjZGI2NGI1N2QxZGE2NmIwLi4xMjA2MWY2MmEx
ZDAxMjYxOWM2YzIyMmQ4YmZkMzkwOWQ1NDI0NzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmgKQEAgLTM1LDYgKzM1LDcgQEAKIAogI2RlZmluZSBERUNMQVJFX1BS
RUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUs
IFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbikgXAogICAgIHZvaWQgc2V0IyNLZXlVcHBlcihjb25zdCBUeXBlJiB2YWx1ZSk7IFwK
KyAgICB2b2lkIGRlbGV0ZSMjS2V5VXBwZXIoKTsgXAogICAgIFR5cGUgS2V5TG93ZXIoKSBjb25z
dDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC05OCw2ICs5OSw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBwbGF0Zm9ybVVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBk
b3VibGUgdmFsdWUpOwogICAgIHZvaWQgcGxhdGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNv
bnN0IFN0cmluZyYga2V5LCBmbG9hdCB2YWx1ZSk7CiAKKyAgICB2b2lkIGRlbGV0ZUtleShjb25z
dCBTdHJpbmcmIGtleSk7CisgICAgdm9pZCBwbGF0Zm9ybURlbGV0ZUtleShjb25zdCBTdHJpbmcm
IGtleSk7CisKICAgICB2b2lkIHVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKGJvb2wgdmFsdWUp
OwogCiAgICAgdm9pZCByZWdpc3RlckRlZmF1bHRCb29sVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5n
JiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5R3RrLmNwcAppbmRleCBjMWFjMDQzYjMzMDQ2ZDE1NzUwNmQw
NjU2MTNlYTdjZWNkMDA0YjcwLi5lZGQ1MzI2OGM5Y2RmNDU0ODRkYWRmOTlkOGJkNjc2N2JhNjZk
MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9SZW1v
dGVXZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTg5LDYgKzg5LDEwIEBAIHZvaWQgUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ2xvc2VGcm9udGVuZFBhZ2VBbmRXaW5kb3coKQog
ICAgICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kobV93aW5kb3cpOwogfQogCit2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUoKQoreworfQorCiB2b2lk
IFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAg
aWYgKG1fd2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dl
Ykluc3BlY3RvclByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJJ
bnNwZWN0b3JQcm94eUd0ay5jcHAKaW5kZXggMjhjMjA3OGZhOGFiYjc3MGIxMzYwNWY5MGU4ZjYy
YzFlMzE4Yjg5Yy4uZTc4NDhlNTRiZjAxODg5OTA4NTQ0NmY1N2FmOWQ3ZTRmZmE0NTZmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlH
dGsuY3BwCkBAIC0zMDIsNiArMzAyLDEwIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtSGlkZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKCkKK3sKK30KKwogdm9pZCBXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2lzT3BlbmluZykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3Bw
CmluZGV4IGVjYTQyM2I3MWEyM2MzOWNiZjM0M2VjYjhlNmZhMzliNzBjNTRkYzYuLjk4NDdmOTYy
NWVmNDE3ZTk4ZmUwMDJmYWJiZDU2MGRkZTNkZTE3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcApAQCAtNjUsNiArNjUsMTEgQEAg
dm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0
IFN0cmluZyYsIGZsb2F0KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUHJl
ZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1HZXRTdHJpbmdV
c2VyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgU3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90
ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDc2MGExZDAwOWRlMjNjNmMyYjU1OGE1ZmQz
ZTFhNTNiNWJjMzg1NzMuLjczNWZmYmJhMzZjNzk2MWRkZTIyOTI4NDVlMjdmZDZiMjkwNzIwZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0
b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTEyMyw2ICsxMjMsMTEgQEAgdm9pZCBSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpCiAgICAg
ICAgIG1fb2JqQ0FkYXB0ZXIgPSBuaWw7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpCit7CisgICAgW21fd2luZG93IHJlbW92ZUZy
YW1lVXNpbmdOYW1lOkAiV0tSZW1vdGVXZWJJbnNwZWN0b3JXaW5kb3dGcmFtZSJdOworfQorCiB2
b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAg
ICAgW21fd2luZG93IG1ha2VLZXlBbmRPcmRlckZyb250Om5pbF07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggMDA3ZDg3
ZGZjZDg0Y2E5Njg2MjE4MzUyYzhmOGZkMGMxMmZjNzdjZC4uMTBkM2MyNGNjZGRlNDNjZjBiMWE5
MGNmNTFkMjA0MTE5MWZmOWYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMzYxLDYgKzM2MSwxMSBAQCB2b2lkIFdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUoKQogICAgIH0KIH0KIAordm9pZCBXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKCkKK3sKKyAgICBpbnNwZWN0ZWRQ
YWdlKCktPnBhZ2VHcm91cCgpLnByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yV2luZG93RnJh
bWUoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQo
KQogewogICAgIC8vIElmIHRoZSBXZWIgSW5zcGVjdG9yIGlzIG5vIGxvbmdlciBpbiB0aGUgc2Ft
ZSB3aW5kb3cgYXMgdGhlIGluc3BlY3RlZCB2aWV3LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tCmluZGV4IGFiZTI5NWNjMGI0ZmY3YWY5ODZj
MDJlNDEyNWIyMjVlNzNjNGNhZTQuLmFiNGFkMDBiMjZiZGI5MTdjYTNiMTIzNTVlYjk5MGYxZWE0
NThiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJl
bmNlc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5j
ZXNNYWMubW0KQEAgLTE5OCw0ICsxOTgsMTIgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZv
cm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBmbG9hdCB2YWwKICAg
ICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRGbG9hdDp2YWx1ZSBm
b3JLZXk6bWFrZUtleShtX2lkZW50aWZpZXIsIG1fa2V5UHJlZml4LCBrZXkpXTsKIH0KIAordm9p
ZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpCit7
CisgICAgaWYgKCFtX2lkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHJlbW92ZU9iamVjdEZvcktleTptYWtlS2V5
KG1faWRlbnRpZmllciwgbV9rZXlQcmVmaXgsIGtleSldOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9SZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCmluZGV4IDBkYTFlNTM4NzQxNmJiMGE4MjI5Yzg3MDM1
Yzg4NjQyMzdhYTVhZTguLjBkZmJkZmVhZjFhYmFkOGFmZWY1NDM2MTUxZGVjMDZmYTM1YzI4MzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0
b3JQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5V2luLmNwcApAQCAtMTI5LDYgKzEyOSw3IEBAIFdlYlBhZ2VQcm94eSog
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlRnJvbnRlbmRQYWdlQW5kV2lu
ZG93KCkKICAgICByZXR1cm4gbV93ZWJWaWV3LT5wYWdlKCk7CiB9CiAKK3ZvaWQgUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpIHsgfQogdm9pZCBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKSB7IH0KIHZvaWQgUmVt
b3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2F2ZShjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBib29sLCBib29sKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtQXBwZW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5k
ZXggYTdmY2NlMTA5OTc5NzJhYzQ1MjIxZjIyN2JhNzRjMTFlMDJiMjBmYy4uMTY3MjkzYmQwYzFm
YmRhN2JhZjJiMDEzMjExZWFlMWIxNDAzNmU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0zNzQsNiArMzc0LDEx
IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSGlkZSgpCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRv
d1N0YXRlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3Rv
clByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dp
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJlZmVyZW5jZXNXaW4uY3Bw
CmluZGV4IGEyMGM0ZGI5ZTc0ZTJmODMyZTExMjA3ODg4NDJhMTIyMWFlMDNhYzkuLjJkMmJmNDI0
NjY4NDU0N2RkNTcwNWUxM2I2MTk4YjM0NDRlZDJhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1dlYlByZWZlcmVuY2VzV2luLmNwcApAQCAtNjEsNiArNjEsMTEgQEAg
dm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0
IFN0cmluZyYsIGZsb2F0KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUHJl
ZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1HZXRTdHJpbmdV
c2VyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgU3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYkluc3Bl
Y3RvclByb3h5V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0
b3JQcm94eVdQRS5jcHAKaW5kZXggMGY0MjY1NjMyOTNkYmYyY2NkZmY2NDY0NjdhNDQ2YjE3MmJl
MzhmMy4uNDg0ODczNjU0NzkyYTkwODNlMDk4YTQ0NmUyYmE0Nzg3OTJkOWM3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYkluc3BlY3RvclByb3h5V1BFLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViSW5zcGVjdG9yUHJveHlXUEUuY3Bw
CkBAIC02MSw2ICs2MSwxMSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUo
KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwog
dm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUv
V2ViUHJlZmVyZW5jZXNXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBy
ZWZlcmVuY2VzV1BFLmNwcAppbmRleCBmZjgxZmNkYTFjZmJkZTFlMDVjZjM4YzE2YzIxNDRkYjll
MGUyNzdiLi40OGYyYjI1OTQyZDg4MDI0YzNkZjcxNzEyZDZmOWYxYWJiZjAxNWM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQcmVmZXJlbmNlc1dQRS5jcHAKQEAg
LTYwLDYgKzYwLDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtVXBkYXRlRmxvYXRW
YWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBmbG9hdCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybURlbGV0ZUtleShjb25zdCBTdHJpbmcm
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIGJvb2wgV2ViUHJlZmVyZW5jZXM6OnBs
YXRmb3JtR2V0U3RyaW5nVXNlclZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcAppbmRleCAwNTQ0MDQ1NmY0
MWRiMWM0ZjA5MDViNTVlZGZhMzg0MWZmN2MxZmQxLi5jNDE1YmEwMzUyMzVmZjdlZGFlZWUzM2E1
MWExNmZmYmQzZWJiNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwCkBAIC0xMzksNiArMTM5LDExIEBA
IHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6OnJlb3BlbigpCiAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHk6OlJlb3BlbigpLCBtX3BhZ2UucGFnZUlEKCkpOwogfQogCit2b2lk
IFJlbW90ZVdlYkluc3BlY3RvclVJOjpyZXNldFdpbmRvd1N0YXRlKCkKK3sKKyAgICBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6UmVzZXRXaW5kb3dTdGF0ZSgpLCBtX3BhZ2UucGFn
ZUlEKCkpOworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclVJOjpvcGVuSW5OZXdUYWIoY29u
c3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
Ok9wZW5Jbk5ld1RhYih1cmwpLCBtX3BhZ2UucGFnZUlEKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmgKaW5kZXgg
NjIxMzExMDgyMWFlODE0NzY1Y2NkZTg1YWJlMWY4MTcxOWE2YzZmMi4uYjMwYTVmNTZiOTExNDkx
MWJiNDkwNjFiZmUxNDk4ZWVjZWU0N2NmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oCkBAIC03MCw2ICs3MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpIG92ZXJyaWRlOwogICAgIHZvaWQg
Y2xvc2VXaW5kb3coKSBvdmVycmlkZTsKICAgICB2b2lkIHJlb3BlbigpIG92ZXJyaWRlOworICAg
IHZvaWQgcmVzZXRXaW5kb3dTdGF0ZSgpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBvcGVuSW5OZXdU
YWIoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwogICAgIHZvaWQgc2F2ZShjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJvb2wg
Zm9yY2VTYXZlQXMpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IGJjZmY4ZTJhODk2ZmYwMmU4MjUxNjUy
NzgxMTliZDFmZWI0NjIxZTIuLmQzNmNjYzJiYjY3YmVjOGY4YjA5NmQ2MGZjNTdjZGZhY2IzMzY5
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5jcHAKQEAgLTE3Niw2ICsxNzYsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JVSTo6cmVv
cGVuKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JQcm94eTo6UmVvcGVuKCksIG1faW5zcGVj
dGVkUGFnZUlkZW50aWZpZXIpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclVJOjpyZXNldFdpbmRv
d1N0YXRlKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JQcm94eTo6UmVzZXRXaW5kb3dT
dGF0ZSgpLCBtX2luc3BlY3RlZFBhZ2VJZGVudGlmaWVyKTsKK30KKwogV2ViQ29yZTo6VXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbiBXZWJJbnNwZWN0b3JVSTo6dXNlckludGVyZmFjZUxheW91
dERpcmVjdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFnZS5jb3JlUGFnZSgpLT51c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAppbmRleCA5NDI0YmZlMWYyNmNmZGMxNjkwN2M3
ODFmZWY0ZDZkMDVjNWVjZTI5Li40ZmM2NGYzOGZkZmI2MzY3ZDM5ZGVlMjUxZjNhNWUzZGVlYTcx
NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3RvclVJLmgKQEAgLTk2LDYgKzk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgYnJpbmdUb0Zyb250
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpIG92ZXJyaWRlOwogICAgIHZvaWQg
cmVvcGVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNldFdpbmRvd1N0YXRlKCkgb3ZlcnJpZGU7
CiAKICAgICBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dENGLmNwcAppbmRleCA1MTViYjliZDIxMWUyMzgxYTEyODUwNTI1MzAxOGRiMTE2NGFiZTEzLi5k
YjI5MjYyMWEyMGZiMWE5YjY3N2Q0N2I4YTgyNjNkMDU3Y2UyMjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudENGLmNwcApAQCAtODksNiArODksMTEgQEAgc3RhdGljIHZvaWQgc3RvcmVTZXR0aW5n
KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHNldHRpbmcpCiAgICAgQ0ZQcmVmZXJl
bmNlc1NldEFwcFZhbHVlKGNyZWF0ZUtleUZvclByZWZlcmVuY2VzKGtleSkuZ2V0KCksIHNldHRp
bmcuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRp
b24pOwogfQogCitzdGF0aWMgdm9pZCBkZWxldGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5KQor
eworICAgIENGUHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShjcmVhdGVLZXlGb3JQcmVmZXJlbmNlcyhr
ZXkpLmdldCgpLCBOVUxMLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBsaWNhdGlvbik7Cit9CisK
IHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogewogICAgIGRvRGlzcGF0Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2UobV9m
cm9udGVuZFBhZ2UsIG1lc3NhZ2UpOwpAQCAtMTA4LDYgKzExMywxMSBAQCB2b2lkIFdlYkluc3Bl
Y3RvckNsaWVudDo6c2V0SW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKICAg
ICBzdG9yZVNldHRpbmcoaW5zcGVjdG9yQXR0YWNoRGlzYWJsZWRTZXR0aW5nLCBkaXNhYmxlZCA/
ICJ0cnVlIiA6ICJmYWxzZSIpOwogfQogCit2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6ZGVsZXRl
SW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKQoreworICAgIGRlbGV0ZVNldHRpbmcoaW5zcGVjdG9y
QXR0YWNoRGlzYWJsZWRTZXR0aW5nKTsKK30KKwogYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6Omlu
c3BlY3RvclN0YXJ0c0F0dGFjaGVkKCkKIHsKICAgICBTdHJpbmcgdmFsdWU7CkBAIC0xMjIsNiAr
MTMyLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpzZXRJbnNwZWN0b3JTdGFydHNBdHRh
Y2hlZChib29sIGF0dGFjaGVkKQogICAgIHN0b3JlU2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRh
Y2hlZFNldHRpbmcsIGF0dGFjaGVkID8gInRydWUiIDogImZhbHNlIik7CiB9CiAKK3ZvaWQgV2Vi
SW5zcGVjdG9yQ2xpZW50OjpkZWxldGVJbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpCit7CisgICAg
ZGVsZXRlU2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmcpOworfQorCiBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGlu
Z3M+IFdlYkluc3BlY3RvckNsaWVudDo6Y3JlYXRlRnJvbnRlbmRTZXR0aW5ncygpCiB7CiAgICAg
Y2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRTZXR0aW5nc0NGIDogcHVibGljIFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzIHsKQEAgLTEzOCw2ICsxNTMsMTEgQEAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNl
dHRpbmdzPiBXZWJJbnNwZWN0b3JDbGkKICAgICAgICAgewogICAgICAgICAgICAgc3RvcmVTZXR0
aW5nKG5hbWUsIHZhbHVlKTsKICAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgdm9pZCBkZWxl
dGVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRl
bGV0ZVNldHRpbmcobmFtZSk7CisgICAgICAgIH0KICAgICB9OwogICAgIHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3RvckZyb250ZW5kU2V0dGluZ3NDRj4oKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dElPUy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudElPUy5tbQppbmRleCAwNzE2OTgwNTQwMzY2ODMwMDQzNWZkNDQzYjAyOTM1NjM4
NzQ5MjRmLi4wZjQzNzg3ODNiMmVmYjQ1ZDU4OTE5YjVmMzQyMzllMzgyMTA0YjhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tCkBAIC0xMjcsNiArMTI3LDcgQEAgU3RyaW5nIFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50Ojpsb2NhbGl6ZWRTdHJpbmdzVVJMKCkgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgp
IHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKSB7IH0K
IHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlb3BlbigpIHsgfQordm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSgpIHsgfQogdm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KERvY2tTaWRlKSB7IH0KIHZvaWQg
V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRldGFjaFdpbmRvdygpIHsgfQogdm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQp
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCA0YTI1YTZjOTYzZDQxMzU1YWM1M2U2ZTc5
MTBmNTI2NGNiMjliZDFjLi4yYWZlZTE2YWIxODJkNzRmYmNlMTBjZmY4MWE5YzJhNTkwMTc3NzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtODMsOSArODMsMTEgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9y
U3RhcnRzQXR0YWNoZWQoYm9vbCk7CisgICAgdm9pZCBkZWxldGVJbnNwZWN0b3JTdGFydHNBdHRh
Y2hlZCgpOwogCiAgICAgYm9vbCBpbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpOwogICAgIHZvaWQg
c2V0SW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoYm9vbCk7CisgICAgdm9pZCBkZWxldGVJbnNwZWN0
b3JBdHRhY2hEaXNhYmxlZCgpOwogCiAgICAgdm9pZCB3aW5kb3dGdWxsU2NyZWVuRGlkQ2hhbmdl
KCk7CiAKQEAgLTExOSw2ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQo
KSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlV2luZG93KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBy
ZW9wZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc2V0V2luZG93U3RhdGUoKSBvdmVycmlkZTsK
IAogICAgIHZvaWQgYXR0YWNoV2luZG93KERvY2tTaWRlKSBvdmVycmlkZTsKICAgICB2b2lkIGRl
dGFjaFdpbmRvdygpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDFiOTAz
YWY4YjRjYWZlMmE5YjU2ZjcxMjhjN2U0MGI5MmFjYjY4YjYuLjFlMzRkMWY5ODU4ODM0NjQyYWEx
YTVlZTI5M2FiZjcyMjc3YjQwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTI1Niw2
ICsyNTYsMTcgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVvcGVuKCkKICAg
ICBbaW5zcGVjdG9yIHNob3c6bmlsXTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6cmVzZXRXaW5kb3dTdGF0ZSgpCit7CisgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbDo6cmVzZXRXaW5kb3dTdGF0ZSgpOworCisgICAgYXV0byogaW5zcGVjdG9yQ2xpZW50ID0g
W21fZnJvbnRlbmRXaW5kb3dDb250cm9sbGVyLmdldCgpIGluc3BlY3RvckNsaWVudF07CisgICAg
aW5zcGVjdG9yQ2xpZW50LT5kZWxldGVJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpOworICAgIGlu
c3BlY3RvckNsaWVudC0+ZGVsZXRlSW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoKTsKKworICAgIFtt
X2Zyb250ZW5kV2luZG93Q29udHJvbGxlci5nZXQoKSBzZXRXaW5kb3dGcmFtZUF1dG9zYXZlTmFt
ZTpAIldlYiBJbnNwZWN0b3IgMiJdOworfQorCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpCiB7CiAgICAgaWYgKFttX2Zyb250ZW5kV2luZG93
Q29udHJvbGxlci5nZXQoKSBhdHRhY2hlZF0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRl
eCBhMGQ3NjlkMjFkM2FjMDQzNTVlOTZhOWNmMmRiNDZlZjY1ZmRiNTRkLi4wMjM4NDNlMjNlZmMw
YWE0NGM2YThkMWYwNWU1NWQwOTJkOTdmMTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAK
QEAgLTI3OCw2ICsyNzgsMTQgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVv
cGVuKCkKICAgICAgICAgaW5zcGVjdGVkUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLnNob3co
KTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0
ZSgpCit7CisgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5kb3dTdGF0
ZSgpOworCisgICAgbV9pbnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFj
aGVkKCk7CisgICAgbV9pbnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2Fi
bGVkKCk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRv
dyhEb2NrU2lkZSkKIHsKICAgICBpZiAobV9hdHRhY2hlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgK
aW5kZXggMTczM2E3MjcyZjgwMjc5OTczOWIyMGMyYjBmMDVhNWFiY2Y4YTQwZS4uNzg4NjQxNTBm
MGEyYjM0ODM0NTliN2NlMGFkZWY0NjM5OWEwNmNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgK
QEAgLTY4LDkgKzY4LDExIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5zcGVjdG9yU3RhcnRzQXR0
YWNoZWQoKTsKICAgICB2b2lkIHNldEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKGJvb2wpOworICAg
IHZvaWQgZGVsZXRlSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKTsKIAogICAgIGJvb2wgaW5zcGVj
dG9yQXR0YWNoRGlzYWJsZWQoKTsKICAgICB2b2lkIHNldEluc3BlY3RvckF0dGFjaERpc2FibGVk
KGJvb2wpOworICAgIHZvaWQgZGVsZXRlSW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoKTsKIAogICAg
IHZvaWQgcmVsZWFzZUZyb250ZW5kKCk7CiAKQEAgLTEwNCw2ICsxMDYsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBicmluZ1RvRnJvbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlV2luZG93KCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCByZW9wZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc2V0V2lu
ZG93U3RhdGUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQo
dW5zaWduZWQpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNp
Z25lZCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372412</attachid>
            <date>2019-06-18 17:33:49 -0700</date>
            <delta_ts>2019-07-02 00:13:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198956-20190618173348.patch</filename>
            <type>text/plain</type>
            <size>40094</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZDIwODdiNDViOTVjZjM0NGU2YTlhZWI1Zjc4NmViNzNkZDU5MGZlLi41
Y2NmZjU3NjMzYTJkN2MwYjAzZjUyMDllZGJhYzZkNjcyMzAzODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIg
c2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNp
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpkZWxldGVQcm9wZXJ0eSk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXNldCk6IEFkZGVkLgorCiAyMDE5LTA2
LTE4ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBw
cmVsaW1pbmFyeSBBTkdMRSBiYWNrZW5kIHRvIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CmluZGV4IGFiY2YwNGI4ZWJlMjEyNWQzN2YyYWNlZDI5NDZiMWY2MTMzNjM4NGIuLjdiMmFiNzc4
MmI0MDkxNDI0ODYwZTAwNjZjMzFjNjMxNzQ2ZmNlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNw
ZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNo
bWVudCBzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV0kucmVzZXQpOiBBZGRl
ZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdJLlNldHRpbmdzVGFiQ29udGVudFZpZXcucHJvdG90eXBlLl9jcmVh
dGVEZWJ1Z1NldHRpbmdzVmlldyk6CisKIDIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldHdvcms6IGRldGFpbCB2
aWV3IHNob3VsZG4ndCBzdGF5IG9wZW4gd2hlbiB0aGUgcmVsYXRlZCBlbnRyeSBpcyByZW1vdmVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDMzNzFjY2ZjMzExZTZkODNhZGI0MGMwODA0NjI4YzhiODJjZTU0ZmQuLjhl
ODg1MWM1MWYwZjU2OTI2MDhhMWRkMmViYzBjNTc2NGUxNGJiODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNTcgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIgc2hv
dWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNpZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmRlbGV0ZUtleSk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KTogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpwbGF0Zm9ybURlbGV0ZUtleSk6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWxldGVLZXkp
OiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0
YXRlKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQ
RS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0
V2luZG93U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkluc3BlY3Rv
clByb3h5V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3JVSS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpyZXNldFdpbmRv
d1N0YXRlKTogQWRkZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlc2V0V2luZG93
U3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9n
dGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
V2ViSW5zcGVjdG9yVUk6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xOCAg
Sm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgbG9n
IGNoYW5uZWwgbmFtZSBmcm9tIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1ZyB0byBJVFBEZWJ1
ZyBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExl
Z2FjeS9jZi9DaGFuZ2VMb2cKaW5kZXggOTJhMWYwNWU5MDcyZDMzNjg5YzA2Mzg5MWFmOTNmZWNl
MDMwOTcwOS4uNDk4YzUzZDQ3OWY1OWZjMDEyZWNhMmU5ZjViNTI0YTkwMDAwZDAyOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9jZi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9jZi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNi0xOCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVi
dWc6ICJSZXNldCBXZWIgSW5zcGVjdG9yIiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2lu
ZG93IHNpemUgYW5kIGF0dGFjaG1lbnQgc2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRD
Ri5jcHA6CisgICAgICAgIChkZWxldGVTZXR0aW5nKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3JDbGllbnQ6OmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKTog
QWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OmNyZWF0ZUZyb250ZW5kU2V0dGlu
Z3MpOgorCiAyMDE4LTAxLTMwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+
CiAKICAgICAgICAgSlNFeHBvcnRzLmggc2hvdWxkIGJlIGluY2x1ZGVkIGFzIDxKYXZhU2NyaXB0
Q29yZS9KU0V4cG9ydE1hY3Jvcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9p
b3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCmluZGV4IGI2
M2Y3NzcxNDM4Zjg3MTc1ODgxOGM5ZmY2NmMwMzJiNjBjOTQ0ZTguLjUwNTI0MTIzOTc0Y2M1MDVl
MWRiNDEyMmE3MjFiOGYwNTgyODQwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
aW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOS0wNi0xOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVidWc6ICJSZXNldCBXZWIgSW5zcGVjdG9y
IiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2luZG93IHNpemUgYW5kIGF0dGFjaG1lbnQg
c2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW06CisgICAgICAgIChXZWJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorCiAyMDE5LTA2
LTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQXRv
bWljU3RyaW5nIHRvIEF0b21TdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBm
ZTQzMmQwNjQ2MDI4OTNiMmM2MTYyYTk1MjJiMTg4ZmJlMjQ1ZDhiLi5jYjFkY2NmNDg0NGVkN2U0
M2NmMDhmYmRmZTYzZTgwODE2YWU4YmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3Rv
ciIgc2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50
IHNpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
ODk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xNiAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEF0b21pY1N0cmluZyB0
byBBdG9tU3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjAxZDc2MjM0Y2U2
NDg2MjgyZDVkZDg4MDFjMmE4OTFkNzExYjcyMi4uMTYzNDljYmFjMTk0ZWI4YTIyMjU4MDAyZDZh
Y2RhNzVkNTFhOTNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE5LTA2LTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBh
bHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorCiAyMDE5LTA2LTE2ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQXRvbWljU3RyaW5nIHRvIEF0b21TdHJp
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50LmgKaW5kZXggMDBjZTgyNWZkZjE1ZTdjNmIzNTNlMWU1NDY4OTM2NDk4YThmYmY0YS4uN2Nm
M2MyYTZmZWQ5YzZhN2QzZjdkMDlkNTJiNzNiODIyOWY1NzM2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTY1LDYgKzY1
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW9wZW4o
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlc2V0U3RhdGUoKSA9IDA7CiAKICAgICB2aXJ0dWFs
IFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bigpIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IGVhNmFmNTRlZTkwMjQ3YjZm
YTkwMGMyMDVlYTE3YWVkMWU4MGE5MmIuLmE0ZTIxNTQyZWMyY2M5ZjkyYzc0YWM1MTQ2ZmJiMmVm
MzI3ZmRlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTEyNyw2ICsxMjcsMTAgQEAgdm9pZCBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpTZXR0aW5nczo6c2V0UHJvcGVydHkoY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3QKIHsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsOjpTZXR0aW5nczo6ZGVsZXRlUHJvcGVydHkoY29uc3QgU3RyaW5nJikKK3sKK30KKwogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJ
bnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0ZWRQYWdlQ29udHJvbGxlciwgUGFnZSogZnJvbnRl
bmRQYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8U2V0dGluZ3M+IHNldHRpbmdzKQogICAgIDogbV9pbnNw
ZWN0ZWRQYWdlQ29udHJvbGxlcihpbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKICAgICAsIG1fZnJv
bnRlbmRQYWdlKGZyb250ZW5kUGFnZSkKQEAgLTE0Niw2ICsxNTAsMTEgQEAgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDo6fkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKQogICAgIG1f
ZGlzcGF0Y2hUYXNrLT5yZXNldCgpOwogfQogCit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWw6OnJlc2V0U3RhdGUoKQoreworICAgIG1fc2V0dGluZ3MtPmRlbGV0ZVByb3BlcnR5KGlu
c3BlY3RvckF0dGFjaGVkSGVpZ2h0U2V0dGluZyk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6d2luZG93T2JqZWN0Q2xlYXJlZCgpCiB7CiAgICAgaWYgKG1fZnJvbnRl
bmRIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggYWUyNmNjYWU5Y2E5OWM1ZDVjMmFlNmU0OTY2N2Fl
YTg4NjdiMWQ5Ni4uY2UzYjcwNzVmMDhhNmQ5M2I5MzQwNzA4Y2U2NWQzODQ0YmYxODhhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5oCkBAIC01NSwxMSArNTUsMTQgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IH5TZXR0aW5ncygpID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCBTdHJpbmcgZ2V0UHJvcGVy
dHkoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFByb3BlcnR5
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBkZWxldGVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIH07CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNv
bnRyb2xsZXIqIGluc3BlY3RlZFBhZ2VDb250cm9sbGVyLCBQYWdlKiBmcm9udGVuZFBhZ2UsIHN0
ZDo6dW5pcXVlX3B0cjxTZXR0aW5ncz4pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfklu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
cmVzZXRTdGF0ZSgpIG92ZXJyaWRlOworCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3aW5kb3dP
YmplY3RDbGVhcmVkKCkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmcm9udGVuZExv
YWRlZCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDcxY2E0NGJmZmQ0NjBhMGZkMmYyMmZkZWY5ZTY3
OWIzOWExYjg3NTcuLjlmYTZhYjExYjUzZjJlZjA0MzFlZjkwYzM2Mzg3ODk3ZmM2YTVmMmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCkBAIC0xOTcsNiArMTk3LDEzIEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZW9w
ZW4oKQogICAgICAgICBtX2NsaWVudC0+cmVvcGVuKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJv
bnRlbmRIb3N0OjpyZXNldCgpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+cmVzZXRTdGF0ZSgpOworICAgIHJlb3BlbigpOworfQorCiB2b2lkIEluc3BlY3RvckZyb250
ZW5kSG9zdDo6YnJpbmdUb0Zyb250KCkKIHsKICAgICBpZiAobV9jbGllbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKaW5kZXggMzAxN2Ni
NzZjMDllNWQyN2VlNDE2ZWQ1YzliYzQ3ZDNiMGVjZGNhYi4uNTZiODlkZjYyMmJjYzdkNTM0YWZj
ZmU0OTBjZDNlYWNlMGEzYmQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaApAQCAtNTUsOSArNTUsMTAgQEAgcHVibGljOgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VsZlRvR2xvYmFsT2JqZWN0SW5Xb3JsZChET01XcmFwcGVy
V29ybGQmKTsKIAogICAgIHZvaWQgbG9hZGVkKCk7Ci0gICAgdm9pZCByZXF1ZXN0U2V0RG9ja1Np
ZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpOwogICAgIHZvaWQgcmVv
cGVuKCk7CisgICAgdm9pZCByZXNldCgpOworCiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAg
ICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJik7CiAKQEAgLTY5LDYgKzcw
LDggQEAgcHVibGljOgogCiAgICAgU3RyaW5nIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24o
KTsKIAorICAgIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGNvbnN0IFN0cmluZyYpOworCiAgICAg
dm9pZCBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCk7CiAgICAgdm9pZCBzZXRBdHRh
Y2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCAwMjNhMzljYmM4ZjA4ODRlMzkw
YjI5ODIyZDE5YmRhZmZhOTEyOTkyLi45MGIzYWZjZGQ5MTcwNmM1YWI5MzdhYzMwNmNjZWQyZmM0
ZTQyYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmlkbApAQCAtMzcsNiArMzcsOCBAQAogICAgIHZvaWQgbG9hZGVkKCk7CiAgICAg
dm9pZCBjbG9zZVdpbmRvdygpOwogICAgIHZvaWQgcmVvcGVuKCk7CisgICAgdm9pZCByZXNldCgp
OworCiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5n
ZWQoRE9NU3RyaW5nIG5ld1VSTCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCAwNDA0N2Y1Yjk5YzcyNzNhNTVlMGU2ZDliMGUx
MWI5YTg2Y2MzYTc5Li4wNTdmMmQyMzZkMDQ5YmU2YzJhNWY4ZTFiNGJhZmRiNzE0ZTdhZWJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4u
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpz
CkBAIC0zMjI2LDYgKzMyMjYsMTMgQEAgV0kuYXNzdW1pbmdNYWluVGFyZ2V0ID0gZnVuY3Rpb24o
KQogICAgIHJldHVybiBXSS5tYWluVGFyZ2V0OwogfTsKIAorV0kucmVzZXQgPSBhc3luYyBmdW5j
dGlvbigpCit7CisgICAgYXdhaXQgV0kuT2JqZWN0U3RvcmUucmVzZXQoKTsKKyAgICBXSS5TZXR0
aW5nLnJlc2V0KCk7CisgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnJlc2V0KCk7Cit9OworCiBX
SS5pc0VuZ2luZWVyaW5nQnVpbGQgPSBmYWxzZTsKIAogLy8gT3BlblJlc291cmNlRGlhbG9nIGRl
bGVnYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TZXR0aW5nc1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmlldy5qcwppbmRleCAxNGFhZGVk
ZGMwNWQ4YjZkOTMwZTBhZGY1ZTIwNTczMDE2MWZmYjkwLi41M2ZkMmM3ZmNiNWUxODliZDY0NzU2
NGRmZWQxNzE2MjcwYmFjMGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TZXR0aW5nc1RhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NldHRpbmdzVGFiQ29udGVudFZpZXcu
anMKQEAgLTM5MiwxMCArMzkyLDggQEAgV0kuU2V0dGluZ3NUYWJDb250ZW50VmlldyA9IGNsYXNz
IFNldHRpbmdzVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5UYWJDb250ZW50VmkKIAogICAgICAg
ICBsZXQgcmVzZXRJbnNwZWN0b3JCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0
b24iKTsKICAgICAgICAgcmVzZXRJbnNwZWN0b3JCdXR0b24udGV4dENvbnRlbnQgPSBXSS51bmxv
Y2FsaXplZFN0cmluZygiUmVzZXQgV2ViIEluc3BlY3RvciIpOwotICAgICAgICByZXNldEluc3Bl
Y3RvckJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jIChldmVudCkgPT4gewot
ICAgICAgICAgICAgYXdhaXQgV0kuT2JqZWN0U3RvcmUucmVzZXQoKTsKLSAgICAgICAgICAgIFdJ
LlNldHRpbmcucmVzZXQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5yZW9w
ZW4oKTsKKyAgICAgICAgcmVzZXRJbnNwZWN0b3JCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIFdJLnJlc2V0KCk7CiAgICAgICAgIH0pOwog
ICAgICAgICB0aGlzLl9kZWJ1Z1NldHRpbmdzVmlldy5hZGRDZW50ZXJlZENvbnRhaW5lcihyZXNl
dEluc3BlY3RvckJ1dHRvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHAKaW5kZXggNTAzNjI4ZTllMzQ4N2VmNjQ3NWY0NWY4OWI5Y2Q2OThlN2UwMDJk
ZC4uYmJjZWU0MTY5OWMwZDVmODRkYzZjNzkyYWI2NDRjNmZkZDgxZDBkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKQEAgLTE3Myw0ICsxNzMsMTAg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRPdmVycmlkZURlZmF1bHRzRG91YmxlVmFs
dWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXkKICAgICBtX292ZXJyaWRkZW5EZWZhdWx0cy5zZXQo
a2V5LCBWYWx1ZSh2YWx1ZSkpOwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzU3RvcmU6OmRlbGV0
ZUtleShjb25zdCBTdHJpbmcmIGtleSkKK3sKKyAgICBtX3ZhbHVlcy5yZW1vdmUoa2V5KTsKKyAg
ICBtX292ZXJyaWRkZW5EZWZhdWx0cy5yZW1vdmUoa2V5KTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXgg
NGIzOTY4NmRlZThkZjczZGJiNDlhNmY3ZGNmNjhkOGZmYThiMzM5NS4uOGE0YTBiZjMyODE3NjFl
ZGM4NzY3ODAwZjFhZjVlMjJiZmJlNzkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaApAQCAtNTgsNiArNTgsOCBAQCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSB7CiAgICAgdm9pZCBzZXRPdmVycmlkZURlZmF1bHRzVUludDMyVmFsdWVGb3JLZXkoY29u
c3QgU3RyaW5nJiBrZXksIHVpbnQzMl90IHZhbHVlKTsKICAgICB2b2lkIHNldE92ZXJyaWRlRGVm
YXVsdHNEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlIHZhbHVlKTsK
IAorICAgIHZvaWQgZGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KTsKKwogICAgIC8vIEZvciBX
ZWJLaXRUZXN0UnVubmVyIHVzYWdlLgogICAgIHN0YXRpYyB2b2lkIG92ZXJyaWRlQm9vbFZhbHVl
Rm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgdm9pZCBy
ZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAKaW5kZXggNjY3OWQ0NWJkOTk2OTIwNGFm
Y2Y1YmIyZjRlOWE0OGU2MTY0Mzg5ZC4uNGFhMzQ0NDkwZDhlMzE5OTk4NDA3ZDNjZjJhZTQ3ZDAz
ZTY3MmQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5LmNwcApAQCAtMTAyLDYgKzEwMiwxMSBAQCB2b2lkIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5OjpyZW9wZW4oKQogICAgIGxvYWQobV9kZWJ1Z2dhYmxlVHlwZSwgbV9iYWNrZW5k
Q29tbWFuZHNVUkwpOwogfQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpyZXNldFN0
YXRlKCkKK3sKKyAgICBwbGF0Zm9ybVJlc2V0U3RhdGUoKTsKK30KKwogdm9pZCBSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eTo6YnJpbmdUb0Zyb250KCkKIHsKICAgICBwbGF0Zm9ybUJyaW5nVG9Gcm9u
dCgpOwpAQCAtMTc3LDYgKzE4Miw3IEBAIFdlYlBhZ2VQcm94eSogUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtQ3JlYXRlRnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNl
dFN0YXRlKCkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5n
VG9Gcm9udCgpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TYXZl
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wpIHsgfQogdm9pZCBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHkuaAppbmRleCA1ZWJiYjY4ZDRjNmRhYTMzYzI4NThiZDdhZTA5NTMxMDRhYmMx
NGVlLi41ODAyOTkzOWQ5MDYwMzdiM2I4NzAzZjMxNThjM2UxNjgzZGM1ZGEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmgKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBwcml2YXRlOgogICAgIC8vIFJlbW90ZVdlYkluc3BlY3RvclByb3h5IG1l
c3NhZ2VzLgogICAgIHZvaWQgZnJvbnRlbmREaWRDbG9zZSgpOwogICAgIHZvaWQgcmVvcGVuKCk7
CisgICAgdm9pZCByZXNldFN0YXRlKCk7CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2
b2lkIHNhdmUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBi
b29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgYXBwZW5kKGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CkBAIC0xMjIsNiAr
MTIzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBQbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnMuCiAgICAg
V2ViUGFnZVByb3h5KiBwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOwogICAg
IHZvaWQgcGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpOworICAgIHZvaWQgcGxh
dGZvcm1SZXNldFN0YXRlKCk7CiAgICAgdm9pZCBwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpOwogICAg
IHZvaWQgcGxhdGZvcm1TYXZlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYg
Y29udGVudCwgYm9vbCBiYXNlNjRFbmNvZGVkLCBib29sIGZvcmNlU2F2ZUFzKTsKICAgICB2b2lk
IHBsYXRmb3JtQXBwZW5kKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29u
dGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGI3ODcyMzVlZDgwZDYwNDcyZTM2YzVh
ODAwYTliZDFiODU2NWZlOGUuLmJlMDkxYjc4ZmI2YThkNWRmN2IyM2UwNTBmZmZmMWQ5MmE0YmQ0
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw2ICsyMyw3IEBACiBtZXNzYWdlcyAt
PiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eSB7CiAgICAgRnJvbnRlbmREaWRDbG9zZSgpCiAgICAg
UmVvcGVuKCkKKyAgICBSZXNldFN0YXRlKCkKICAgICBCcmluZ1RvRnJvbnQoKQogCiAgICAgU2F2
ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJv
b2wgZm9yY2VTYXZlQXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5jcHAKaW5kZXggMTJiYjI2MWQwN2MyODdiMDM0YTZhZmMxNjQ4Y2ZhZDYwZTNmYjJkYS4u
NmJiZjg1YmJkYWYyOTlkZDdlY2Y4NTg3MTdmOWQ3MWYyZDA5OWJmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMTgyLDYgKzE4MiwxNyBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpyZW9wZW4oKQogICAgIHNob3coKTsKIH0KIAordm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6cmVzZXRTdGF0ZSgpCit7CisgICAgaW5zcGVjdG9yUGFnZVBy
ZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yQXR0YWNoZWRIZWlnaHQoKTsKKyAgICBpbnNwZWN0
b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0b3JBdHRhY2hlZFdpZHRoKCk7CisgICAg
aW5zcGVjdG9yUGFnZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yQXR0YWNobWVudFNpZGUo
KTsKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0b3JTdGFydHNB
dHRhY2hlZCgpOworICAgIGluc3BlY3RvclBhZ2VQcmVmZXJlbmNlcygpLmRlbGV0ZUluc3BlY3Rv
cldpbmRvd0ZyYW1lKCk7CisKKyAgICBwbGF0Zm9ybVJlc2V0U3RhdGUoKTsKK30KKwogdm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6cmVzZXQoKQogewogICAgIGlmIChtX2luc3BlY3RlZFBhZ2UpIHsK
QEAgLTYyNiw2ICs2MzcsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnZh
bGlkYXRlKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybVJlc2V0U3RhdGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKIHsKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmgKaW5kZXggNmFhZWI4MWRlNjMyZWJmYmFjN2Q3NzYxMTQ4MTg3MTZlODJhNjAxNS4uOGJl
MjdkNDZkYjQ1NWYxMjkwZGM3ZDU1NmUzYzVmZTFiMzcyZTA0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCkBAIC0xMDEsNiArMTAxLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgY2xvc2UoKTsKICAgICB2b2lkIGNsb3NlRm9yQ3Jhc2goKTsKICAgICB2b2lk
IHJlb3BlbigpOworICAgIHZvaWQgcmVzZXRTdGF0ZSgpOwogCiAgICAgdm9pZCByZXNldCgpOwog
ICAgIHZvaWQgdXBkYXRlRm9yTmV3UGFnZVByb2Nlc3MoV2ViUGFnZVByb3h5Kik7CkBAIC0xODks
NiArMTkwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1EaWRDbG9zZUZvckNyYXNo
KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUludmFsaWRhdGUoKTsKKyAgICB2b2lkIHBsYXRmb3JtUmVz
ZXRTdGF0ZSgpOwogICAgIHZvaWQgcGxhdGZvcm1CcmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIHBs
YXRmb3JtQnJpbmdJbnNwZWN0ZWRQYWdlVG9Gcm9udCgpOwogICAgIHZvaWQgcGxhdGZvcm1IaWRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IDEyODRiZDRhNzUyZTI3NjQzYmRlZWYzZGNmZDRkYWNlYTEwMzIw
ODMuLjdkNGE5OWQzOTZhYjExNmI3NTNiNGY2ZTcwNTliNzk5ZWQxOTgwNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC0zMCw2ICszMCw3IEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3RvclByb3h5IHsKICAgICBE
aWRDbG9zZSgpCiAgICAgQnJpbmdUb0Zyb250KCkKICAgICBSZW9wZW4oKQorICAgIFJlc2V0U3Rh
dGUoKQogCiAgICAgSW5zcGVjdGVkVVJMQ2hhbmdlZChTdHJpbmcgdXJsU3RyaW5nKQogICAgIFNo
b3dDZXJ0aWZpY2F0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDcwMDJkYjIw
NjRjZjY3NTFkOWIxOWUzNThiNTQ2MGE5MmYyODIwZjUuLmFhMWEyMTcwZDQ1OGI2YmI0N2EyZjJi
NDdkNjdiNjI0MmM3N2FkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5jcHAKQEAgLTE3OCw2ICsxNzgsMTMgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRl
RmxvYXRWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZmxvYXQgdmFsdWUpCiAgICAgdXBk
YXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVl
LgogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpkZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkp
Cit7CisgICAgbV9zdG9yZS5kZWxldGVLZXkoa2V5KTsKKyAgICBwbGF0Zm9ybURlbGV0ZUtleShr
ZXkpOworICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQg
a2V5IGFuZCB2YWx1ZS4KK30KKwogdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJy
b3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSkKIHsKICAgICBwbGF0Zm9ybVVwZGF0ZUJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEtleSgpLCB2YWx1
ZSk7CkBAIC0yMDgsNyArMjE1LDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZVByaXZh
dGVCcm93c2luZ1ZhbHVlKGJvb2wgdmFsdWUpCiAgICAgICAgIGlmICghbV9zdG9yZS5zZXQjI1R5
cGVOYW1lIyNWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB2
YWx1ZSkpIFwKICAgICAgICAgICAgIHJldHVybjsgXAogICAgICAgICB1cGRhdGUjI1R5cGVOYW1l
IyNWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB2YWx1ZSk7
IFwKLSAgICAgICAgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkIFdlYlByZWZlcmVuY2VzOjpk
ZWxldGUjI0tleVVwcGVyKCkgXAorICAgIHsgXAorICAgICAgICBkZWxldGVLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OktleUxvd2VyIyNLZXkoKSk7IFwKICAgICB9IFwKICAgICBcCiAgICAgVHlwZSBX
ZWJQcmVmZXJlbmNlczo6S2V5TG93ZXIoKSBjb25zdCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJlZmVyZW5jZXMuaAppbmRleCAzMTdmNzQwYWZlMTlmMzA4MDFiY2U3MjBjZGI2NGI1N2Qx
ZGE2NmIwLi4xMjA2MWY2MmExZDAxMjYxOWM2YzIyMmQ4YmZkMzkwOWQ1NDI0NzUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTM1LDYgKzM1LDcgQEAKIAog
I2RlZmluZSBERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBL
ZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUs
IEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAogICAgIHZvaWQgc2V0IyNLZXlVcHBlcihjb25z
dCBUeXBlJiB2YWx1ZSk7IFwKKyAgICB2b2lkIGRlbGV0ZSMjS2V5VXBwZXIoKTsgXAogICAgIFR5
cGUgS2V5TG93ZXIoKSBjb25zdDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC05OCw2ICs5OSw5
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybVVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5KGNv
bnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgcGxhdGZvcm1VcGRhdGVG
bG9hdFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBmbG9hdCB2YWx1ZSk7CiAKKyAgICB2
b2lkIGRlbGV0ZUtleShjb25zdCBTdHJpbmcmIGtleSk7CisgICAgdm9pZCBwbGF0Zm9ybURlbGV0
ZUtleShjb25zdCBTdHJpbmcmIGtleSk7CisKICAgICB2b2lkIHVwZGF0ZVByaXZhdGVCcm93c2lu
Z1ZhbHVlKGJvb2wgdmFsdWUpOwogCiAgICAgdm9pZCByZWdpc3RlckRlZmF1bHRCb29sVmFsdWVG
b3JLZXkoY29uc3QgU3RyaW5nJiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9ndGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvZ3RrL1JlbW90ZVdlYkluc3BlY3RvclByb3h5R3RrLmNwcAppbmRleCBjMWFj
MDQzYjMzMDQ2ZDE1NzUwNmQwNjU2MTNlYTdjZWNkMDA0YjcwLi43OTY2NTVjZWYxNzI1MTAyNGZi
NjkxNjIzMTUzYjZmYjcyMjI5OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9ndGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTg5LDYgKzg5
LDEwIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ2xvc2VGcm9udGVu
ZFBhZ2VBbmRXaW5kb3coKQogICAgICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kobV93aW5kb3cpOwog
fQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0U3RhdGUoKQor
eworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9u
dCgpCiB7CiAgICAgaWYgKG1fd2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKaW5kZXggMjhjMjA3OGZhOGFiYjc3MGIx
MzYwNWY5MGU4ZjYyYzFlMzE4Yjg5Yy4uODUyNzE5ODE0MTEwYmQ2YTcxODVlOWFmN2I3MWZkZmRh
NjExOTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkluc3Bl
Y3RvclByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5z
cGVjdG9yUHJveHlHdGsuY3BwCkBAIC0zMDIsNiArMzAyLDEwIEBAIHZvaWQgV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtSGlkZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBX
ZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFN0YXRlKCkKK3sKK30KKwogdm9pZCBXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2lzT3Bl
bmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJl
bmNlc0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNH
dGsuY3BwCmluZGV4IGVjYTQyM2I3MWEyM2MzOWNiZjM0M2VjYjhlNmZhMzliNzBjNTRkYzYuLjk4
NDdmOTYyNWVmNDE3ZTk4ZmUwMDJmYWJiZDU2MGRkZTNkZTE3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcApAQCAtNjUsNiArNjUs
MTEgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYsIGZsb2F0KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQg
V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1HZXRT
dHJpbmdVc2VyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgU3RyaW5nJikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDc2MGExZDAwOWRlMjNjNmMyYjU1
OGE1ZmQzZTFhNTNiNWJjMzg1NzMuLjM0OWNlZDNlMTgwZDU2YTg2MmZjOTY3ZTUwOTI3ZmZmNDdi
ZDJjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVt
b3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTEyMyw2ICsxMjMsMTEgQEAgdm9pZCBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygp
CiAgICAgICAgIG1fb2JqQ0FkYXB0ZXIgPSBuaWw7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtUmVzZXRTdGF0ZSgpCit7CisgICAgW05TV2luZG93IHJlbW92ZUZy
YW1lVXNpbmdOYW1lOlttX3dpbmRvdyBmcmFtZUF1dG9zYXZlTmFtZV1dOworfQorCiB2b2lkIFJl
bW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAgW21f
d2luZG93IG1ha2VLZXlBbmRPcmRlckZyb250Om5pbF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggMDA3ZDg3ZGZjZDg0
Y2E5Njg2MjE4MzUyYzhmOGZkMGMxMmZjNzdjZC4uMjljNjE0MGIyMDkyNjdjNjVhYTgzMGJkMDk5
NDJjZTVkYzMzOTljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9X
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMzYxLDYgKzM2MSwxMSBAQCB2b2lkIFdlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybUhpZGUoKQogICAgIH0KIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1SZXNldFN0YXRlKCkKK3sKKyAgICBpbnNwZWN0ZWRQYWdlKCktPnBhZ2VH
cm91cCgpLnByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yV2luZG93RnJhbWUoKTsKK30KKwog
dm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIC8v
IElmIHRoZSBXZWIgSW5zcGVjdG9yIGlzIG5vIGxvbmdlciBpbiB0aGUgc2FtZSB3aW5kb3cgYXMg
dGhlIGluc3BlY3RlZCB2aWV3LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
YlByZWZlcmVuY2VzTWFjLm1tCmluZGV4IGFiZTI5NWNjMGI0ZmY3YWY5ODZjMDJlNDEyNWIyMjVl
NzNjNGNhZTQuLmFiNGFkMDBiMjZiZGI5MTdjYTNiMTIzNTVlYjk5MGYxZWE0NThiMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNlc01hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0KQEAg
LTE5OCw0ICsxOTgsMTIgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9h
dFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBmbG9hdCB2YWwKICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRGbG9hdDp2YWx1ZSBmb3JLZXk6bWFrZUtl
eShtX2lkZW50aWZpZXIsIG1fa2V5UHJlZml4LCBrZXkpXTsKIH0KIAordm9pZCBXZWJQcmVmZXJl
bmNlczo6cGxhdGZvcm1EZWxldGVLZXkoY29uc3QgU3RyaW5nJiBrZXkpCit7CisgICAgaWYgKCFt
X2lkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIHJlbW92ZU9iamVjdEZvcktleTptYWtlS2V5KG1faWRlbnRpZmll
ciwgbV9rZXlQcmVmaXgsIGtleSldOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHlXaW4uY3BwCmluZGV4IDBkYTFlNTM4NzQxNmJiMGE4MjI5Yzg3MDM1Yzg4NjQyMzdhYTVh
ZTguLjM5MGMyYjk0ZjJmZjU0YTRmMGRhOWVhZWU0MDEwOGM5OWVhYTBiYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5V2luLmNwcApAQCAtMTI5LDYgKzEyOSw3IEBAIFdlYlBhZ2VQcm94eSogUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlRnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICBy
ZXR1cm4gbV93ZWJWaWV3LT5wYWdlKCk7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtUmVzZXRTdGF0ZSgpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1CcmluZ1RvRnJvbnQoKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtU2F2ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBib29sLCBib29s
KSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXBwZW5kKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5kZXggYTdmY2NlMTA5OTc5NzJh
YzQ1MjIxZjIyN2JhNzRjMTFlMDJiMjBmYy4uNGUzMGVmNGRmZjY1N2IxMDM4ZWQyMTVhNmE3MmVj
ZmMwOTY1ZWUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYklu
c3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2Vi
SW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0zNzQsNiArMzc0LDExIEBAIHZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtSGlkZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFN0YXRlKCkKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9G
cm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy93aW4vV2ViUHJlZmVyZW5jZXNXaW4uY3BwCmluZGV4IGEyMGM0ZGI5ZTc0ZTJmODMy
ZTExMjA3ODg4NDJhMTIyMWFlMDNhYzkuLjJkMmJmNDI0NjY4NDU0N2RkNTcwNWUxM2I2MTk4YjM0
NDRlZDJhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVm
ZXJlbmNlc1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByZWZl
cmVuY2VzV2luLmNwcApAQCAtNjEsNiArNjEsMTEgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxh
dGZvcm1VcGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIGZsb2F0KQogICAgIG5v
dEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRl
S2V5KGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBX
ZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1HZXRTdHJpbmdVc2VyVmFsdWVGb3JLZXkoY29uc3QgU3Ry
aW5nJiwgU3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYkluc3BlY3RvclByb3h5V1BFLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQRS5jcHAKaW5kZXggMGY0
MjY1NjMyOTNkYmYyY2NkZmY2NDY0NjdhNDQ2YjE3MmJlMzhmMy4uYmZjYmM0Yzk2MmZjNzVjMTRk
ZDE4NzVmYTdiOGMxOWVhZGNiYzNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3Mvd3BlL1dlYkluc3BlY3RvclByb3h5V1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93cGUvV2ViSW5zcGVjdG9yUHJveHlXUEUuY3BwCkBAIC02MSw2ICs2MSwxMSBAQCB2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUhpZGUoKQogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRTdGF0ZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1CcmluZ1RvRnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcAppbmRleCBmZjgxZmNk
YTFjZmJkZTFlMDVjZjM4YzE2YzIxNDRkYjllMGUyNzdiLi40OGYyYjI1OTQyZDg4MDI0YzNkZjcx
NzEyZDZmOWYxYWJiZjAxNWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dw
ZS9XZWJQcmVmZXJlbmNlc1dQRS5jcHAKQEAgLTYwLDYgKzYwLDExIEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnBsYXRmb3JtVXBkYXRlRmxvYXRWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBmbG9h
dCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0
Zm9ybURlbGV0ZUtleShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKIGJvb2wgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtR2V0U3RyaW5nVXNlclZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3BlY3Rv
clVJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3Bl
Y3RvclVJLmNwcAppbmRleCAwNTQ0MDQ1NmY0MWRiMWM0ZjA5MDViNTVlZGZhMzg0MWZmN2MxZmQx
Li5kNGI4YjAwZmE0YjY3YmVlMjdkMzdlMGI1NGUwYzNiMDVkZjQxODc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9y
VUkuY3BwCkBAIC0xMzksNiArMTM5LDExIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6OnJl
b3BlbigpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OlJlb3BlbigpLCBt
X3BhZ2UucGFnZUlEKCkpOwogfQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclVJOjpyZXNldFN0
YXRlKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6UmVzZXRTdGF0
ZSgpLCBtX3BhZ2UucGFnZUlEKCkpOworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclVJOjpv
cGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHk6Ok9wZW5Jbk5ld1RhYih1cmwpLCBtX3BhZ2UucGFnZUlEKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVj
dG9yVUkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZVdlYkluc3Bl
Y3RvclVJLmgKaW5kZXggNjIxMzExMDgyMWFlODE0NzY1Y2NkZTg1YWJlMWY4MTcxOWE2YzZmMi4u
MjU1Mjk5NjBjODJlZDhlNjg1YmE3ZmNkMWZkMDQ1NGFjYTEwNGYwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5o
CkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpIG92ZXJy
aWRlOwogICAgIHZvaWQgY2xvc2VXaW5kb3coKSBvdmVycmlkZTsKICAgICB2b2lkIHJlb3Blbigp
IG92ZXJyaWRlOworICAgIHZvaWQgcmVzZXRTdGF0ZSgpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBv
cGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwogICAgIHZvaWQgc2F2ZShj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29k
ZWQsIGJvb2wgZm9yY2VTYXZlQXMpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IGJjZmY4ZTJhODk2ZmYw
MmU4MjUxNjUyNzgxMTliZDFmZWI0NjIxZTIuLjZlMjQyZDljMDBkZTAyZGYyYTUwMDdjZGFlYmYy
MGRlNWE2MDFjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3JVSS5jcHAKQEAgLTE3Niw2ICsxNzYsMTEgQEAgdm9pZCBXZWJJbnNwZWN0
b3JVSTo6cmVvcGVuKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JQcm94eTo6UmVvcGVuKCks
IG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclVJOjpy
ZXNldFN0YXRlKCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JQcm94eTo6UmVzZXRTdGF0
ZSgpLCBtX2luc3BlY3RlZFBhZ2VJZGVudGlmaWVyKTsKK30KKwogV2ViQ29yZTo6VXNlckludGVy
ZmFjZUxheW91dERpcmVjdGlvbiBXZWJJbnNwZWN0b3JVSTo6dXNlckludGVyZmFjZUxheW91dERp
cmVjdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFnZS5jb3JlUGFnZSgpLT51c2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAppbmRleCA5NDI0YmZlMWYyNmNmZGMxNjkwN2M3ODFm
ZWY0ZDZkMDVjNWVjZTI5Li44YmViMTNmMTI0OTQ4MDk4NTM1ZGZjNzRlMjI3MWY3ZmVlZDI1Yzlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3JVSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
clVJLmgKQEAgLTk2LDYgKzk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgYnJpbmdUb0Zyb250KCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVv
cGVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNldFN0YXRlKCkgb3ZlcnJpZGU7CiAKICAgICBX
ZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24oKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcApp
bmRleCA1MTViYjliZDIxMWUyMzgxYTEyODUwNTI1MzAxOGRiMTE2NGFiZTEzLi5kYjI5MjYyMWEy
MGZiMWE5YjY3N2Q0N2I4YTgyNjNkMDU3Y2UyMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENG
LmNwcApAQCAtODksNiArODksMTEgQEAgc3RhdGljIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHNldHRpbmcpCiAgICAgQ0ZQcmVmZXJlbmNlc1NldEFw
cFZhbHVlKGNyZWF0ZUtleUZvclByZWZlcmVuY2VzKGtleSkuZ2V0KCksIHNldHRpbmcuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pOwogfQog
CitzdGF0aWMgdm9pZCBkZWxldGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5KQoreworICAgIENG
UHJlZmVyZW5jZXNTZXRBcHBWYWx1ZShjcmVhdGVLZXlGb3JQcmVmZXJlbmNlcyhrZXkpLmdldCgp
LCBOVUxMLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBsaWNhdGlvbik7Cit9CisKIHZvaWQgV2Vi
SW5zcGVjdG9yQ2xpZW50OjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNz
YWdlKQogewogICAgIGRvRGlzcGF0Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2UobV9mcm9udGVuZFBh
Z2UsIG1lc3NhZ2UpOwpAQCAtMTA4LDYgKzExMywxMSBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVu
dDo6c2V0SW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKICAgICBzdG9yZVNl
dHRpbmcoaW5zcGVjdG9yQXR0YWNoRGlzYWJsZWRTZXR0aW5nLCBkaXNhYmxlZCA/ICJ0cnVlIiA6
ICJmYWxzZSIpOwogfQogCit2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6ZGVsZXRlSW5zcGVjdG9y
U3RhcnRzQXR0YWNoZWQoKQoreworICAgIGRlbGV0ZVNldHRpbmcoaW5zcGVjdG9yQXR0YWNoRGlz
YWJsZWRTZXR0aW5nKTsKK30KKwogYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvclN0
YXJ0c0F0dGFjaGVkKCkKIHsKICAgICBTdHJpbmcgdmFsdWU7CkBAIC0xMjIsNiArMTMyLDExIEBA
IHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpzZXRJbnNwZWN0b3JTdGFydHNBdHRhY2hlZChib29s
IGF0dGFjaGVkKQogICAgIHN0b3JlU2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRp
bmcsIGF0dGFjaGVkID8gInRydWUiIDogImZhbHNlIik7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9y
Q2xpZW50OjpkZWxldGVJbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpCit7CisgICAgZGVsZXRlU2V0
dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmcpOworfQorCiBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3M+IFdlYklu
c3BlY3RvckNsaWVudDo6Y3JlYXRlRnJvbnRlbmRTZXR0aW5ncygpCiB7CiAgICAgY2xhc3MgSW5z
cGVjdG9yRnJvbnRlbmRTZXR0aW5nc0NGIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzIHsKQEAgLTEzOCw2ICsxNTMsMTEgQEAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzPiBX
ZWJJbnNwZWN0b3JDbGkKICAgICAgICAgewogICAgICAgICAgICAgc3RvcmVTZXR0aW5nKG5hbWUs
IHZhbHVlKTsKICAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgdm9pZCBkZWxldGVQcm9wZXJ0
eShjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlbGV0ZVNldHRp
bmcobmFtZSk7CisgICAgICAgIH0KICAgICB9OwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVl
PEluc3BlY3RvckZyb250ZW5kU2V0dGluZ3NDRj4oKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dElPUy5tbQppbmRleCAwNzE2OTgwNTQwMzY2ODMwMDQzNWZkNDQzYjAyOTM1NjM4NzQ5MjRmLi41
Mjk2ZjEyZWRkMTY0ZWFkNzI5NjIyMTg1NjQ0MzQxNTgyMjg5ODdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50SU9TLm1tCkBAIC0xMjcsNiArMTI3LDcgQEAgU3RyaW5nIFdlYkluc3BlY3RvckZy
b250ZW5kQ2xpZW50Ojpsb2NhbGl6ZWRTdHJpbmdzVVJMKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0K
IHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpIHsgfQogdm9p
ZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKSB7IH0KIHZvaWQgV2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlb3BlbigpIHsgfQordm9pZCBXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6cmVzZXRTdGF0ZSgpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6YXR0YWNoV2luZG93KERvY2tTaWRlKSB7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OmRldGFjaFdpbmRvdygpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaAppbmRleCA0YTI1YTZjOTYzZDQxMzU1YWM1M2U2ZTc5MTBmNTI2NGNiMjliZDFj
Li5iZDdmNjJmYzg1ZGM5OWMzODcxNmYwNzY2NjQ2MzE4MjUxMWM1NGE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaApAQCAtODMsOSArODMsMTEgQEAgcHVibGljOgogCiAgICAgYm9vbCBpbnNwZWN0
b3JTdGFydHNBdHRhY2hlZCgpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQo
Ym9vbCk7CisgICAgdm9pZCBkZWxldGVJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpOwogCiAgICAg
Ym9vbCBpbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9yQXR0
YWNoRGlzYWJsZWQoYm9vbCk7CisgICAgdm9pZCBkZWxldGVJbnNwZWN0b3JBdHRhY2hEaXNhYmxl
ZCgpOwogCiAgICAgdm9pZCB3aW5kb3dGdWxsU2NyZWVuRGlkQ2hhbmdlKCk7CiAKQEAgLTExOSw2
ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKSBvdmVycmlkZTsKICAg
ICB2b2lkIGNsb3NlV2luZG93KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW9wZW4oKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHJlc2V0U3RhdGUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgYXR0YWNoV2lu
ZG93KERvY2tTaWRlKSBvdmVycmlkZTsKICAgICB2b2lkIGRldGFjaFdpbmRvdygpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDFiOTAzYWY4YjRjYWZlMmE5YjU2ZjcxMjhj
N2U0MGI5MmFjYjY4YjYuLjFjMDA4MDk3NjkyZmY5YjA3MWZjZTVhYzRhNGI0NjkyZDEzN2VkOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTI1Niw2ICsyNTYsMTcgQEAgdm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVvcGVuKCkKICAgICBbaW5zcGVjdG9yIHNob3c6bmls
XTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRTdGF0ZSgpCit7
CisgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRTdGF0ZSgpOworCisgICAg
YXV0byogaW5zcGVjdG9yQ2xpZW50ID0gW21fZnJvbnRlbmRXaW5kb3dDb250cm9sbGVyIGluc3Bl
Y3RvckNsaWVudF07CisgICAgaW5zcGVjdG9yQ2xpZW50LT5kZWxldGVJbnNwZWN0b3JTdGFydHNB
dHRhY2hlZCgpOworICAgIGluc3BlY3RvckNsaWVudC0+ZGVsZXRlSW5zcGVjdG9yQXR0YWNoRGlz
YWJsZWQoKTsKKworICAgIFtOU1dpbmRvdyByZW1vdmVGcmFtZVVzaW5nTmFtZTpbW21fZnJvbnRl
bmRXaW5kb3dDb250cm9sbGVyIHdpbmRvd10gZnJhbWVBdXRvc2F2ZU5hbWVdXTsKK30KKwogdm9p
ZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KERvY2tTaWRlKQogewog
ICAgIGlmIChbbV9mcm9udGVuZFdpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgYXR0YWNoZWRdKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggYTBkNzY5ZDIxZDNhYzA0MzU1ZTk2YTljZjJkYjQ2
ZWY2NWZkYjU0ZC4uZTRkYzc1ZTNjOWY1NGNkYzFlNGUyZTI4MzRiZjNiMDA0NzYxNTc3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC0yNzgsNiArMjc4LDE0IEBAIHZvaWQgV2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlb3BlbigpCiAgICAgICAgIGluc3BlY3RlZFBhZ2UtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKS5zaG93KCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OnJlc2V0U3RhdGUoKQoreworICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWw6OnJlc2V0U3RhdGUoKTsKKworICAgIG1faW5zcGVjdG9yQ2xpZW50LT5kZWxldGVJbnNwZWN0
b3JTdGFydHNBdHRhY2hlZCgpOworICAgIG1faW5zcGVjdG9yQ2xpZW50LT5kZWxldGVJbnNwZWN0
b3JBdHRhY2hEaXNhYmxlZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpCiB7CiAgICAgaWYgKG1fYXR0YWNoZWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oCmluZGV4IDE3MzNhNzI3MmY4MDI3OTk3MzliMjBjMmIwZjA1YTVhYmNmOGE0
MGUuLjk1YzlhZmE4NTAwMmE1NDMyNzBiN2NlNmIzODhjNzBkNDg5MTg1MTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oCkBAIC02OCw5ICs2OCwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGluc3Bl
Y3RvclN0YXJ0c0F0dGFjaGVkKCk7CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JTdGFydHNBdHRhY2hl
ZChib29sKTsKKyAgICB2b2lkIGRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CiAKICAg
ICBib29sIGluc3BlY3RvckF0dGFjaERpc2FibGVkKCk7CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JB
dHRhY2hEaXNhYmxlZChib29sKTsKKyAgICB2b2lkIGRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2Fi
bGVkKCk7CiAKICAgICB2b2lkIHJlbGVhc2VGcm9udGVuZCgpOwogCkBAIC0xMDQsNiArMTA2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgYnJpbmdUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
bG9zZVdpbmRvdygpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVvcGVuKCkgb3ZlcnJpZGU7CisgICAg
dm9pZCByZXNldFN0YXRlKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93
SGVpZ2h0KHVuc2lnbmVkKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93V2lk
dGgodW5zaWduZWQpIG92ZXJyaWRlOwo=
</data>
<flag name="review"
          id="388200"
          type_id="1"
          status="+"
          setter="mattbaker"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373309</attachid>
            <date>2019-07-02 00:13:51 -0700</date>
            <delta_ts>2019-07-02 00:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198956.patch</filename>
            <type>text/plain</type>
            <size>40069</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZDIwODdiNDViOTVjZjM0NGU2YTlhZWI1Zjc4NmViNzNkZDU5MGZlLi41
Y2NmZjU3NjMzYTJkN2MwYjAzZjUyMDllZGJhYzZkNjcyMzAzODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTktMDctMDIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3RvciIg
c2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50IHNp
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hdHQgQmFrZXIuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDoKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3M6OmRlbGV0ZVByb3BlcnR5KTogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpyZXNldFdpbmRvd1N0
YXRlKTogQWRkZWQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJlc2V0KTogQWRkZWQuCisKIDIwMTktMDctMDIg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIHByZWxp
bWluYXJ5IEFOR0xFIGJhY2tlbmQgdG8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5k
ZXggYWJjZjA0YjhlYmUyMTI1ZDM3ZjJhY2VkMjk0NmIxZjYxMzM2Mzg0Yi4uN2IyYWI3NzgyYjQw
OTE0MjQ4NjBlMDA2NmMzMWM2MzE3NDZmY2VlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTktMDctMDIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnOiAiUmVzZXQgV2ViIEluc3BlY3Rv
ciIgc2hvdWxkIGFsc28gY2xlYXIgdGhlIHNhdmVkIHdpbmRvdyBzaXplIGFuZCBhdHRhY2htZW50
IHNpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
ODk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hdHQgQmFrZXIuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdJLnJlc2V0KTogQWRkZWQuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NldHRpbmdzVGFiQ29udGVudFZpZXcuanM6Cisg
ICAgICAgIChXSS5TZXR0aW5nc1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY3JlYXRlRGVidWdT
ZXR0aW5nc1ZpZXcpOgorCiAyMDE5LTA3LTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZXR3b3JrOiBkZXRhaWwgdmlldyBzaG91
bGRuJ3Qgc3RheSBvcGVuIHdoZW4gdGhlIHJlbGF0ZWQgZW50cnkgaXMgcmVtb3ZlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCAzMzcxY2NmYzMxMWU2ZDgzYWRiNDBjMDgwNDYyOGM4YjgyY2U1NGZkLi44ZTg4NTFjNTFm
MGY1NjkyNjA4YTFkZDJlYmMwYzU3NjRlMTRiYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBA
CisyMDE5LTA3LTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBhbHNv
IGNsZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBNYXR0IEJha2VyLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmRlbGV0ZUtleSk6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
d3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXM6OnBsYXRmb3JtRGVsZXRlS2V5KTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9X
ZWJQcmVmZXJlbmNlc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpw
bGF0Zm9ybURlbGV0ZUtleSk6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWxldGVLZXkpOiBBZGRlZC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94
eTo6cmVzZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQRS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0V2luZG93U3RhdGUp
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5k
b3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3JVSS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpyZXNldFdpbmRvd1N0YXRlKTogQWRk
ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVz
ZXRXaW5kb3dTdGF0ZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1SZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRXaW5kb3dTdGF0ZSk6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlXaW4u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1S
ZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1Jl
bW90ZVdlYkluc3BlY3RvclVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90
ZVdlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9y
VUk6OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNy0wMiAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgbG9nIGNoYW5uZWwgbmFt
ZSBmcm9tIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1ZyB0byBJVFBEZWJ1ZyBhbmQgcmVtb3Zl
IHVubmVjZXNzYXJ5ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9jZi9DaGFu
Z2VMb2cKaW5kZXggOTJhMWYwNWU5MDcyZDMzNjg5YzA2Mzg5MWFmOTNmZWNlMDMwOTcwOS4uNDk4
YzUzZDQ3OWY1OWZjMDEyZWNhMmU5ZjViNTI0YTkwMDAwZDAyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9jZi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9jZi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNy0wMiAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVidWc6ICJSZXNldCBX
ZWIgSW5zcGVjdG9yIiBzaG91bGQgYWxzbyBjbGVhciB0aGUgc2F2ZWQgd2luZG93IHNpemUgYW5k
IGF0dGFjaG1lbnQgc2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWF0dCBCYWtlci4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcDoKKyAgICAgICAg
KGRlbGV0ZVNldHRpbmcpOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6ZGVs
ZXRlSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ckNsaWVudDo6ZGVsZXRlSW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQpOiBBZGRlZC4KKyAgICAgICAg
KFdlYkluc3BlY3RvckNsaWVudDo6Y3JlYXRlRnJvbnRlbmRTZXR0aW5ncyk6CisKIDIwMTgtMDEt
MzAgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBKU0V4
cG9ydHMuaCBzaG91bGQgYmUgaW5jbHVkZWQgYXMgPEphdmFTY3JpcHRDb3JlL0pTRXhwb3J0TWFj
cm9zLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKaW5kZXggYjYzZjc3NzE0MzhmODcxNzU4
ODE4YzlmZjY2YzAzMmI2MGM5NDRlOC4uNTA1MjQxMjM5NzRjYzUwNWUxZGI0MTIyYTcyMWI4ZjA1
ODI4NDA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE5LTA3LTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBhbHNvIGNs
ZWFyIHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBNYXR0IEJha2VyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50SU9TLm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OnJlc2V0V2luZG93U3RhdGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xNiAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEF0b21pY1N0cmluZyB0byBBdG9tU3Ry
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZmU0MzJkMDY0NjAyODkzYjJjNjE2
MmE5NTIyYjE4OGZiZTI0NWQ4Yi4uY2IxZGNjZjQ4NDRlZDdlNDNjZjA4ZmJkZmU2M2U4MDgxNmFl
OGJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5
LTA3LTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBEZWJ1ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFy
IHRoZSBzYXZlZCB3aW5kb3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBNYXR0IEJha2VyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlc2V0V2luZG93U3Rh
dGUpOiBBZGRlZC4KKwogMjAxOS0wNi0xNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVuYW1lIEF0b21pY1N0cmluZyB0byBBdG9tU3RyaW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjAxZDc2MjM0Y2U2NDg2MjgyZDVkZDg4MDFjMmE4OTFkNzEx
YjcyMi4uMTYzNDljYmFjMTk0ZWI4YTIyMjU4MDAyZDZhY2RhNzVkNTFhOTNiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA3LTAyICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1
ZzogIlJlc2V0IFdlYiBJbnNwZWN0b3IiIHNob3VsZCBhbHNvIGNsZWFyIHRoZSBzYXZlZCB3aW5k
b3cgc2l6ZSBhbmQgYXR0YWNobWVudCBzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBNYXR0IEJh
a2VyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpyZXNldFdpbmRvd1N0YXRlKTogQWRkZWQuCisK
IDIwMTktMDYtMTYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bmFtZSBBdG9taWNTdHJpbmcgdG8gQXRvbVN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAppbmRleCAwMGNlODI1ZmRmMTVlN2M2
YjM1M2UxZTU0Njg5MzY0OThhOGZiZjRhLi43Y2YzYzJhNmZlZDljNmE3ZDNmN2QwOWQ1MmI3M2I4
MjI5ZjU3MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGJyaW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlb3BlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVz
ZXRTdGF0ZSgpID0gMDsKIAogICAgIHZpcnR1YWwgVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
biB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5jcHAKaW5kZXggZWE2YWY1NGVlOTAyNDdiNmZhOTAwYzIwNWVhMTdhZWQxZTgwYTkyYi4uYTRl
MjE1NDJlYzJjYzlmOTJjNzRhYzUxNDZmYmIyZWYzMjdmZGVlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNw
cApAQCAtMTI3LDYgKzEyNywxMCBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6
OlNldHRpbmdzOjpzZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcmLCBjb25zdCBTdAogewogfQogCit2
b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpkZWxldGVQcm9wZXJ0
eShjb25zdCBTdHJpbmcmKQoreworfQorCiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3Rl
ZFBhZ2VDb250cm9sbGVyLCBQYWdlKiBmcm9udGVuZFBhZ2UsIHN0ZDo6dW5pcXVlX3B0cjxTZXR0
aW5ncz4gc2V0dGluZ3MpCiAgICAgOiBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyKGluc3BlY3Rl
ZFBhZ2VDb250cm9sbGVyKQogICAgICwgbV9mcm9udGVuZFBhZ2UoZnJvbnRlbmRQYWdlKQpAQCAt
MTQ2LDYgKzE1MCwxMSBAQCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjp+SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbCgpCiAgICAgbV9kaXNwYXRjaFRhc2stPnJlc2V0KCk7CiB9CiAK
K3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRTdGF0ZSgpCit7CisgICAg
bV9zZXR0aW5ncy0+ZGVsZXRlUHJvcGVydHkoaW5zcGVjdG9yQXR0YWNoZWRIZWlnaHRTZXR0aW5n
KTsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjp3aW5kb3dPYmplY3RD
bGVhcmVkKCkKIHsKICAgICBpZiAobV9mcm9udGVuZEhvc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCBh
ZTI2Y2NhZTljYTk5YzVkNWMyYWU2ZTQ5NjY3YWVhODg2N2IxZDk2Li5jZTNiNzA3NWYwOGE2ZDkz
YjkzNDA3MDhjZTY1ZDM4NDRiZjE4OGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTU1LDExICs1NSwx
NCBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNldHRpbmdzKCkgPSBkZWZhdWx0OwogICAg
ICAgICB2aXJ0dWFsIFN0cmluZyBnZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJvcGVydHkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHZhbHVlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVByb3BlcnR5KGNvbnN0
IFN0cmluZyYgbmFtZSk7CiAgICAgfTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdGVkUGFnZUNvbnRy
b2xsZXIsIFBhZ2UqIGZyb250ZW5kUGFnZSwgc3RkOjp1bmlxdWVfcHRyPFNldHRpbmdzPik7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgp
OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNldFN0YXRlKCkgb3ZlcnJpZGU7CisKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdpbmRvd09iamVjdENsZWFyZWQoKSBmaW5hbDsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGZyb250ZW5kTG9hZGVkKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXgg
NzFjYTQ0YmZmZDQ2MGEwZmQyZjIyZmRlZjllNjc5YjM5YTFiODc1Ny4uOWZhNmFiMTFiNTNmMmVm
MDQzMWVmOTBjMzYzODc4OTdmYzZhNWYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTE5Nyw2ICsxOTcsMTMgQEAgdm9p
ZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJlb3BlbigpCiAgICAgICAgIG1fY2xpZW50LT5yZW9w
ZW4oKTsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJlc2V0KCkKK3sKKyAgICBp
ZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5yZXNldFN0YXRlKCk7CisgICAgcmVvcGVu
KCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpicmluZ1RvRnJvbnQoKQogewog
ICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaAppbmRleCAzMDE3Y2I3NmMwOWU1ZDI3ZWU0MTZlZDVjOWJjNDdkM2Iw
ZWNkY2FiLi41NmI4OWRmNjIyYmNjN2Q1MzRhZmNmZTQ5MGNkM2VhY2UwYTNiZDQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC01
NSw5ICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRTZWxmVG9H
bG9iYWxPYmplY3RJbldvcmxkKERPTVdyYXBwZXJXb3JsZCYpOwogCiAgICAgdm9pZCBsb2FkZWQo
KTsKLSAgICB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lk
IGNsb3NlV2luZG93KCk7CiAgICAgdm9pZCByZW9wZW4oKTsKKyAgICB2b2lkIHJlc2V0KCk7CisK
ICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChj
b25zdCBTdHJpbmcmKTsKIApAQCAtNjksNiArNzAsOCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcg
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOwogCisgICAgdm9pZCByZXF1ZXN0U2V0RG9j
a1NpZGUoY29uc3QgU3RyaW5nJik7CisKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93SGVpZ2h0
KHVuc2lnbmVkKTsKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93V2lkdGgodW5zaWduZWQpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsCmluZGV4IDAyM2EzOWNiYzhmMDg4NGUzOTBiMjk4MjJkMTliZGFmZmE5MTI5OTIuLjkwYjNh
ZmNkZDkxNzA2YzVhYjkzN2FjMzA2Y2NlZDJmYzRlNDJjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC0zNyw2ICszNyw4
IEBACiAgICAgdm9pZCBsb2FkZWQoKTsKICAgICB2b2lkIGNsb3NlV2luZG93KCk7CiAgICAgdm9p
ZCByZW9wZW4oKTsKKyAgICB2b2lkIHJlc2V0KCk7CisKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgp
OwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChET01TdHJpbmcgbmV3VVJMKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4
IDA0MDQ3ZjViOTljNzI3M2E1NWUwZTZkOWIwZTExYjlhODZjYzNhNzkuLjA1N2YyZDIzNmQwNDli
ZTZjMmE1ZjhlMWI0YmFmZGI3MTRlN2FlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTMyMjYsNiArMzIyNiwxMyBAQCBXSS5h
c3N1bWluZ01haW5UYXJnZXQgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJuIFdJLm1haW5UYXJnZXQ7
CiB9OwogCitXSS5yZXNldCA9IGFzeW5jIGZ1bmN0aW9uKCkKK3sKKyAgICBhd2FpdCBXSS5PYmpl
Y3RTdG9yZS5yZXNldCgpOworICAgIFdJLlNldHRpbmcucmVzZXQoKTsKKyAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QucmVzZXQoKTsKK307CisKIFdJLmlzRW5naW5lZXJpbmdCdWlsZCA9IGZhbHNl
OwogCiAvLyBPcGVuUmVzb3VyY2VEaWFsb2cgZGVsZWdhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NldHRpbmdzVGFiQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZXR0aW5nc1Rh
YkNvbnRlbnRWaWV3LmpzCmluZGV4IDE0YWFkZWRkYzA1ZDhiNmQ5MzBlMGFkZjVlMjA1NzMwMTYx
ZmZiOTAuLjUzZmQyYzdmY2I1ZTE4OWJkNjQ3NTY0ZGZlZDE3MTYyNzBiYWMwYzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NldHRpbmdzVGFi
Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2V0dGluZ3NUYWJDb250ZW50Vmlldy5qcwpAQCAtMzkyLDEwICszOTIsOCBAQCBXSS5T
ZXR0aW5nc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgU2V0dGluZ3NUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLlRhYkNvbnRlbnRWaQogCiAgICAgICAgIGxldCByZXNldEluc3BlY3RvckJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAgICAgICByZXNldEluc3BlY3Rv
ckJ1dHRvbi50ZXh0Q29udGVudCA9IFdJLnVubG9jYWxpemVkU3RyaW5nKCJSZXNldCBXZWIgSW5z
cGVjdG9yIik7Ci0gICAgICAgIHJlc2V0SW5zcGVjdG9yQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICBhd2FpdCBXSS5PYmplY3RT
dG9yZS5yZXNldCgpOwotICAgICAgICAgICAgV0kuU2V0dGluZy5yZXNldCgpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnJlb3BlbigpOworICAgICAgICByZXNldEluc3BlY3Rv
ckJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChldmVudCkgPT4geworICAgICAgICAg
ICAgV0kucmVzZXQoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHRoaXMuX2RlYnVnU2V0dGluZ3NW
aWV3LmFkZENlbnRlcmVkQ29udGFpbmVyKHJlc2V0SW5zcGVjdG9yQnV0dG9uKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAppbmRleCA1MDM2MjhlOWUz
NDg3ZWY2NDc1ZjQ1Zjg5YjljZDY5OGU3ZTAwMmRkLi5iYmNlZTQxNjk5YzBkNWY4NGRjNmM3OTJh
YjY0NGM2ZmRkODFkMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c1N0b3JlLmNwcApAQCAtMTczLDQgKzE3MywxMCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzU3RvcmU6
OnNldE92ZXJyaWRlRGVmYXVsdHNEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleQog
ICAgIG1fb3ZlcnJpZGRlbkRlZmF1bHRzLnNldChrZXksIFZhbHVlKHZhbHVlKSk7CiB9CiAKK3Zv
aWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KQorewor
ICAgIG1fdmFsdWVzLnJlbW92ZShrZXkpOworICAgIG1fb3ZlcnJpZGRlbkRlZmF1bHRzLnJlbW92
ZShrZXkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCA0YjM5Njg2ZGVlOGRmNzNkYmI0OWE2ZjdkY2Y2
OGQ4ZmZhOGIzMzk1Li44YTRhMGJmMzI4MTc2MWVkYzg3Njc4MDBmMWFmNWUyMmJmYmU3OTA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC01OCw2ICs1
OCw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAgICB2b2lkIHNldE92ZXJyaWRl
RGVmYXVsdHNVSW50MzJWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgdWludDMyX3QgdmFs
dWUpOwogICAgIHZvaWQgc2V0T3ZlcnJpZGVEZWZhdWx0c0RvdWJsZVZhbHVlRm9yS2V5KGNvbnN0
IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpOwogCisgICAgdm9pZCBkZWxldGVLZXkoY29uc3Qg
U3RyaW5nJiBrZXkpOworCiAgICAgLy8gRm9yIFdlYktpdFRlc3RSdW5uZXIgdXNhZ2UuCiAgICAg
c3RhdGljIHZvaWQgb3ZlcnJpZGVCb29sVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJv
b2wgdmFsdWUpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVRlc3RSdW5uZXJPdmVycmlkZXMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5
LmNwcAppbmRleCA2Njc5ZDQ1YmQ5OTY5MjA0YWZjZjViYjJmNGU5YTQ4ZTYxNjQzODlkLi40YWEz
NDQ0OTBkOGUzMTk5OTg0MDdkM2NmMmFlNDdkMDNlNjcyZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwCkBAIC0xMDIsNiAr
MTAyLDExIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlb3BlbigpCiAgICAgbG9h
ZChtX2RlYnVnZ2FibGVUeXBlLCBtX2JhY2tlbmRDb21tYW5kc1VSTCk7CiB9CiAKK3ZvaWQgUmVt
b3RlV2ViSW5zcGVjdG9yUHJveHk6OnJlc2V0U3RhdGUoKQoreworICAgIHBsYXRmb3JtUmVzZXRT
dGF0ZSgpOworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpicmluZ1RvRnJvbnQo
KQogewogICAgIHBsYXRmb3JtQnJpbmdUb0Zyb250KCk7CkBAIC0xNzcsNiArMTgyLDcgQEAgV2Vi
UGFnZVByb3h5KiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVGcm9udGVu
ZFBhZ2VBbmRXaW5kb3coKQogICAgIHJldHVybiBudWxscHRyOwogfQogCit2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0U3RhdGUoKSB7IH0KIHZvaWQgUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkgeyB9CiB2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNhdmUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
JiwgYm9vbCwgYm9vbCkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bUFwcGVuZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oCmluZGV4IDVlYmJiNjhk
NGM2ZGFhMzNjMjg1OGJkN2FlMDk1MzEwNGFiYzE0ZWUuLjU4MDI5OTM5ZDkwNjAzN2IzYjg3MDNm
MzE1OGMzZTE2ODNkYzVkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZVdlYkluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlV2ViSW5zcGVjdG9yUHJveHkuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHByaXZhdGU6CiAgICAg
Ly8gUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkgbWVzc2FnZXMuCiAgICAgdm9pZCBmcm9udGVuZERp
ZENsb3NlKCk7CiAgICAgdm9pZCByZW9wZW4oKTsKKyAgICB2b2lkIHJlc2V0U3RhdGUoKTsKICAg
ICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgc2F2ZShjb25zdCBTdHJpbmcmIGZpbGVu
YW1lLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3Jj
ZVNhdmVBcyk7CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3Qg
U3RyaW5nJiBjb250ZW50KTsKQEAgLTEyMiw2ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIC8vIFBs
YXRmb3JtIGltcGxlbWVudGF0aW9ucy4KICAgICBXZWJQYWdlUHJveHkqIHBsYXRmb3JtQ3JlYXRl
RnJvbnRlbmRQYWdlQW5kV2luZG93KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUNsb3NlRnJvbnRlbmRQ
YWdlQW5kV2luZG93KCk7CisgICAgdm9pZCBwbGF0Zm9ybVJlc2V0U3RhdGUoKTsKICAgICB2b2lk
IHBsYXRmb3JtQnJpbmdUb0Zyb250KCk7CiAgICAgdm9pZCBwbGF0Zm9ybVNhdmUoY29uc3QgU3Ry
aW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQs
IGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgcGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5n
JiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggYjc4NzIzNWVkODBkNjA0NzJlMzZjNWE4MDBhOWJkMWI4NTY1ZmU4ZS4uYmUwOTFiNzhm
YjZhOGQ1ZGY3YjIzZTA1MGZmZmYxZDkyYTRiZDRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4K
QEAgLTIzLDYgKzIzLDcgQEAKIG1lc3NhZ2VzIC0+IFJlbW90ZVdlYkluc3BlY3RvclByb3h5IHsK
ICAgICBGcm9udGVuZERpZENsb3NlKCkKICAgICBSZW9wZW4oKQorICAgIFJlc2V0U3RhdGUoKQog
ICAgIEJyaW5nVG9Gcm9udCgpCiAKICAgICBTYXZlKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGNv
bnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAppbmRleCAxMmJiMjYxZDA3YzI4
N2IwMzRhNmFmYzE2NDhjZmFkNjBlM2ZiMmRhLi42YmJmODViYmRhZjI5OWRkN2VjZjg1ODcxN2Y5
ZDcxZjJkMDk5YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNw
ZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuY3BwCkBAIC0xODIsNiArMTgyLDE3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnJl
b3BlbigpCiAgICAgc2hvdygpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpyZXNldFN0
YXRlKCkKK3sKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5kZWxldGVJbnNwZWN0b3JB
dHRhY2hlZEhlaWdodCgpOworICAgIGluc3BlY3RvclBhZ2VQcmVmZXJlbmNlcygpLmRlbGV0ZUlu
c3BlY3RvckF0dGFjaGVkV2lkdGgoKTsKKyAgICBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKS5k
ZWxldGVJbnNwZWN0b3JBdHRhY2htZW50U2lkZSgpOworICAgIGluc3BlY3RvclBhZ2VQcmVmZXJl
bmNlcygpLmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CisgICAgaW5zcGVjdG9yUGFn
ZVByZWZlcmVuY2VzKCkuZGVsZXRlSW5zcGVjdG9yV2luZG93RnJhbWUoKTsKKworICAgIHBsYXRm
b3JtUmVzZXRTdGF0ZSgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpyZXNldCgpCiB7
CiAgICAgaWYgKG1faW5zcGVjdGVkUGFnZSkgewpAQCAtNjI2LDYgKzYzNywxMSBAQCB2b2lkIFdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUludmFsaWRhdGUoKQogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtUmVzZXRTdGF0ZSgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1CcmluZ1RvRnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCA2YWFlYjgxZGU2MzJlYmZi
YWM3ZDc3NjExNDgxODcxNmU4MmE2MDE1Li44YmUyN2Q0NmRiNDU1ZjEyOTBkYzdkNTU2ZTNjNWZl
MWIzNzJlMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0
b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
LmgKQEAgLTEwMSw2ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbG9zZSgpOwogICAgIHZv
aWQgY2xvc2VGb3JDcmFzaCgpOwogICAgIHZvaWQgcmVvcGVuKCk7CisgICAgdm9pZCByZXNldFN0
YXRlKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCB1cGRhdGVGb3JOZXdQYWdlUHJv
Y2VzcyhXZWJQYWdlUHJveHkqKTsKQEAgLTE4OSw2ICsxOTAsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBwbGF0Zm9ybURpZENsb3NlRm9yQ3Jhc2goKTsKICAgICB2b2lkIHBsYXRmb3JtSW52YWxp
ZGF0ZSgpOworICAgIHZvaWQgcGxhdGZvcm1SZXNldFN0YXRlKCk7CiAgICAgdm9pZCBwbGF0Zm9y
bUJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgcGxhdGZvcm1CcmluZ0luc3BlY3RlZFBhZ2VUb0Zy
b250KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUhpZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMTI4NGJkNGE3
NTJlMjc2NDNiZGVlZjNkY2ZkNGRhY2VhMTAzMjA4My4uN2Q0YTk5ZDM5NmFiMTE2Yjc1M2I0ZjZl
NzA1OWI3OTllZDE5ODA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTMwLDYgKzMwLDcgQEAgbWVzc2FnZXMg
LT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIERpZENsb3NlKCkKICAgICBCcmluZ1RvRnJvbnQo
KQogICAgIFJlb3BlbigpCisgICAgUmVzZXRTdGF0ZSgpCiAKICAgICBJbnNwZWN0ZWRVUkxDaGFu
Z2VkKFN0cmluZyB1cmxTdHJpbmcpCiAgICAgU2hvd0NlcnRpZmljYXRlKFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cmVmZXJlbmNlcy5jcHAKaW5kZXggNzAwMmRiMjA2NGNmNjc1MWQ5YjE5ZTM1OGI1NDYwYTkyZjI4
MjBmNS4uYWExYTIxNzBkNDU4YjZiYjQ3YTJmMmI0N2Q2N2I2MjQyYzc3YWQ0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMTc4LDYgKzE3OCwxMyBA
QCB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVGbG9hdFZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYga2V5LCBmbG9hdCB2YWx1ZSkKICAgICB1cGRhdGUoKTsgLy8gRklYTUU6IE9ubHkgc2VuZCBv
dmVyIHRoZSBjaGFuZ2VkIGtleSBhbmQgdmFsdWUuCiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6
OmRlbGV0ZUtleShjb25zdCBTdHJpbmcmIGtleSkKK3sKKyAgICBtX3N0b3JlLmRlbGV0ZUtleShr
ZXkpOworICAgIHBsYXRmb3JtRGVsZXRlS2V5KGtleSk7CisgICAgdXBkYXRlKCk7IC8vIEZJWE1F
OiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgorfQorCiB2b2lkIFdl
YlByZWZlcmVuY2VzOjp1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZhbHVlKQogewog
ICAgIHBsYXRmb3JtVXBkYXRlQm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpwcml2
YXRlQnJvd3NpbmdFbmFibGVkS2V5KCksIHZhbHVlKTsKQEAgLTIwOCw3ICsyMTUsMTEgQEAgdm9p
ZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSkK
ICAgICAgICAgaWYgKCFtX3N0b3JlLnNldCMjVHlwZU5hbWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIHZhbHVlKSkgXAogICAgICAgICAgICAgcmV0dXJu
OyBcCiAgICAgICAgIHVwZGF0ZSMjVHlwZU5hbWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpLZXlMb3dlciMjS2V5KCksIHZhbHVlKTsgXAotICAgICAgICBcCisgICAgfSBcCisgICAg
XAorICAgIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmRlbGV0ZSMjS2V5VXBwZXIoKSBcCisgICAgeyBc
CisgICAgICAgIGRlbGV0ZUtleShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpKTsg
XAogICAgIH0gXAogICAgIFwKICAgICBUeXBlIFdlYlByZWZlcmVuY2VzOjpLZXlMb3dlcigpIGNv
bnN0IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDMxN2Y3
NDBhZmUxOWYzMDgwMWJjZTcyMGNkYjY0YjU3ZDFkYTY2YjAuLjEyMDYxZjYyYTFkMDEyNjE5YzZj
MjIyZDhiZmQzOTA5ZDU0MjQ3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVy
ZW5jZXMuaApAQCAtMzUsNiArMzUsNyBAQAogCiAjZGVmaW5lIERFQ0xBUkVfUFJFRkVSRU5DRV9H
RVRURVJfQU5EX1NFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVm
YXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBc
CiAgICAgdm9pZCBzZXQjI0tleVVwcGVyKGNvbnN0IFR5cGUmIHZhbHVlKTsgXAorICAgIHZvaWQg
ZGVsZXRlIyNLZXlVcHBlcigpOyBcCiAgICAgVHlwZSBLZXlMb3dlcigpIGNvbnN0OwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTk4LDYgKzk5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRm
b3JtVXBkYXRlRG91YmxlVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2YWx1
ZSk7CiAgICAgdm9pZCBwbGF0Zm9ybVVwZGF0ZUZsb2F0VmFsdWVGb3JLZXkoY29uc3QgU3RyaW5n
JiBrZXksIGZsb2F0IHZhbHVlKTsKIAorICAgIHZvaWQgZGVsZXRlS2V5KGNvbnN0IFN0cmluZyYg
a2V5KTsKKyAgICB2b2lkIHBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYga2V5KTsKKwog
ICAgIHZvaWQgdXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9vbCB2YWx1ZSk7CiAKICAgICB2
b2lkIHJlZ2lzdGVyRGVmYXVsdEJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBib29sKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0
b3JQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlHdGsuY3BwCmluZGV4IGMxYWMwNDNiMzMwNDZkMTU3NTA2ZDA2NTYxM2VhN2Nl
Y2QwMDRiNzAuLjc5NjY1NWNlZjE3MjUxMDI0ZmI2OTE2MjMxNTNiNmZiNzIyMjk4YTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1JlbW90ZVdlYkluc3Bl
Y3RvclByb3h5R3RrLmNwcApAQCAtODksNiArODksMTAgQEAgdm9pZCBSZW1vdGVXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpCiAgICAgICAgIGd0
a193aWRnZXRfZGVzdHJveShtX3dpbmRvdyk7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtUmVzZXRTdGF0ZSgpCit7Cit9CisKIHZvaWQgUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKIHsKICAgICBpZiAobV93aW5kb3cpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlH
dGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3Rr
LmNwcAppbmRleCAyOGMyMDc4ZmE4YWJiNzcwYjEzNjA1ZjkwZThmNjJjMWUzMThiODljLi44NTI3
MTk4MTQxMTBiZDZhNzE4NWU5YWY3YjcxZmRmZGE2MTE5M2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTMwMiw2
ICszMDIsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1IaWRlKCkKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJl
c2V0U3RhdGUoKQoreworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5n
VG9Gcm9udCgpCiB7CiAgICAgaWYgKG1faXNPcGVuaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAKaW5kZXggZWNhNDIzYjcxYTIzYzM5
Y2JmMzQzZWNiOGU2ZmEzOWI3MGM1NGRjNi4uOTg0N2Y5NjI1ZWY0MTdlOThmZTAwMmZhYmJkNTYw
ZGRlM2RlMTdkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBy
ZWZlcmVuY2VzR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViUHJl
ZmVyZW5jZXNHdGsuY3BwCkBAIC02NSw2ICs2NSwxMSBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpw
bGF0Zm9ybVVwZGF0ZUZsb2F0VmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgZmxvYXQpCiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxl
dGVLZXkoY29uc3QgU3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBib29s
IFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybUdldFN0cmluZ1VzZXJWYWx1ZUZvcktleShjb25zdCBT
dHJpbmcmLCBTdHJpbmcmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMu
bW0KaW5kZXggNzYwYTFkMDA5ZGUyM2M2YzJiNTU4YTVmZDNlMWE1M2I1YmMzODU3My4uMzQ5Y2Vk
M2UxODBkNTZhODYyZmM5NjdlNTA5MjdmZmY0N2JkMmMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpA
QCAtMTIzLDYgKzEyMywxMSBAQCB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bUNsb3NlRnJvbnRlbmRQYWdlQW5kV2luZG93KCkKICAgICAgICAgbV9vYmpDQWRhcHRlciA9IG5p
bDsKIH0KIAordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFN0YXRl
KCkKK3sKKyAgICBbTlNXaW5kb3cgcmVtb3ZlRnJhbWVVc2luZ05hbWU6W21fd2luZG93IGZyYW1l
QXV0b3NhdmVOYW1lXV07Cit9CisKIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtQnJpbmdUb0Zyb250KCkKIHsKICAgICBbbV93aW5kb3cgbWFrZUtleUFuZE9yZGVyRnJvbnQ6
bmlsXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0
b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbQppbmRleCAwMDdkODdkZmNkODRjYTk2ODYyMTgzNTJjOGY4ZmQwYzEyZmM3N2Nk
Li4yOWM2MTQwYjIwOTI2N2M2NWFhODMwYmQwOTk0MmNlNWRjMzM5OWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC0z
NjEsNiArMzYxLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSGlkZSgpCiAg
ICAgfQogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVJlc2V0U3RhdGUoKQor
eworICAgIGluc3BlY3RlZFBhZ2UoKS0+cGFnZUdyb3VwKCkucHJlZmVyZW5jZXMoKS5kZWxldGVJ
bnNwZWN0b3JXaW5kb3dGcmFtZSgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0
Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAgLy8gSWYgdGhlIFdlYiBJbnNwZWN0b3IgaXMgbm8g
bG9uZ2VyIGluIHRoZSBzYW1lIHdpbmRvdyBhcyB0aGUgaW5zcGVjdGVkIHZpZXcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0KaW5kZXggYWJl
Mjk1Y2MwYjRmZjdhZjk4NmMwMmU0MTI1YjIyNWU3M2M0Y2FlNC4uYWI0YWQwMGIyNmJkYjkxN2Nh
M2IxMjM1NWViOTkwZjFlYTQ1OGIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJQcmVmZXJlbmNlc01hYy5tbQpAQCAtMTk4LDQgKzE5OCwxMiBAQCB2b2lkIFdlYlBy
ZWZlcmVuY2VzOjpwbGF0Zm9ybVVwZGF0ZUZsb2F0VmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBr
ZXksIGZsb2F0IHZhbAogICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IHNldEZsb2F0OnZhbHVlIGZvcktleTptYWtlS2V5KG1faWRlbnRpZmllciwgbV9rZXlQcmVmaXgs
IGtleSldOwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybURlbGV0ZUtleShjb25z
dCBTdHJpbmcmIGtleSkKK3sKKyAgICBpZiAoIW1faWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gcmVtb3ZlT2Jq
ZWN0Rm9yS2V5Om1ha2VLZXkobV9pZGVudGlmaWVyLCBtX2tleVByZWZpeCwga2V5KV07Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3Mvd2luL1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5kZXggMGRhMWU1Mzg3
NDE2YmIwYTgyMjljODcwMzVjODg2NDIzN2FhNWFlOC4uMzkwYzJiOTRmMmZmNTRhNGYwZGE5ZWFl
ZTQwMTA4Yzk5ZWFhMGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93aW4vUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0xMjksNiArMTI5LDcg
QEAgV2ViUGFnZVByb3h5KiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVG
cm9udGVuZFBhZ2VBbmRXaW5kb3coKQogICAgIHJldHVybiBtX3dlYlZpZXctPnBhZ2UoKTsKIH0K
IAordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1SZXNldFN0YXRlKCkgeyB9
CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpIHsg
fQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TYXZlKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJv
eHlXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5
V2luLmNwcAppbmRleCBhN2ZjY2UxMDk5Nzk3MmFjNDUyMjFmMjI3YmE3NGMxMWUwMmIyMGZjLi40
ZTMwZWY0ZGZmNjU3YjEwMzhlZDIxNWE2YTcyZWNmYzA5NjVlZTFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKQEAgLTM3
NCw2ICszNzQsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1IaWRlKCkKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bVJlc2V0U3RhdGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByZWZlcmVu
Y2VzV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcmVmZXJlbmNlc1dp
bi5jcHAKaW5kZXggYTIwYzRkYjllNzRlMmY4MzJlMTEyMDc4ODg0MmExMjIxYWUwM2FjOS4uMmQy
YmY0MjQ2Njg0NTQ3ZGQ1NzA1ZTEzYjYxOThiMzQ0NGVkMmEzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByZWZlcmVuY2VzV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJlZmVyZW5jZXNXaW4uY3BwCkBAIC02MSw2ICs2MSwx
MSBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybVVwZGF0ZUZsb2F0VmFsdWVGb3JLZXko
Y29uc3QgU3RyaW5nJiwgZmxvYXQpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBX
ZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1EZWxldGVLZXkoY29uc3QgU3RyaW5nJikKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCiBib29sIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybUdldFN0
cmluZ1VzZXJWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmLCBTdHJpbmcmKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2Vi
SW5zcGVjdG9yUHJveHlXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYklu
c3BlY3RvclByb3h5V1BFLmNwcAppbmRleCAwZjQyNjU2MzI5M2RiZjJjY2RmZjY0NjQ2N2E0NDZi
MTcyYmUzOGYzLi5iZmNiYzRjOTYyZmM3NWMxNGRkMTg3NWZhN2I4YzE5ZWFkY2JjM2YyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViSW5zcGVjdG9yUHJveHlXUEUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJJbnNwZWN0b3JQcm94eVdQ
RS5jcHAKQEAgLTYxLDYgKzYxLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
SGlkZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1SZXNldFN0YXRlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpCiB7CiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9X
ZWJQcmVmZXJlbmNlc1dQRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJl
ZmVyZW5jZXNXUEUuY3BwCmluZGV4IGZmODFmY2RhMWNmYmRlMWUwNWNmMzhjMTZjMjE0NGRiOWUw
ZTI3N2IuLjQ4ZjJiMjU5NDJkODgwMjRjM2RmNzE3MTJkNmY5ZjFhYmJmMDE1YzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQcmVmZXJlbmNlc1dQRS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVuY2VzV1BFLmNwcApAQCAt
NjAsNiArNjAsMTEgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1VcGRhdGVGbG9hdFZh
bHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIGZsb2F0KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9
CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtRGVsZXRlS2V5KGNvbnN0IFN0cmluZyYp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6cGxh
dGZvcm1HZXRTdHJpbmdVc2VyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiwgU3RyaW5nJikKIHsK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IDA1NDQwNDU2ZjQx
ZGIxYzRmMDkwNWI1NWVkZmEzODQxZmY3YzFmZDEuLmQ0YjhiMDBmYTRiNjdiZWUyN2QzN2UwYjU0
ZTBjM2IwNWRmNDE4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5jcHAKQEAgLTEzOSw2ICsxMzksMTEgQEAg
dm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JVSTo6cmVvcGVuKCkKICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eTo6UmVvcGVuKCksIG1fcGFnZS5wYWdlSUQoKSk7CiB9CiAKK3ZvaWQg
UmVtb3RlV2ViSW5zcGVjdG9yVUk6OnJlc2V0U3RhdGUoKQoreworICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVdlYkluc3BlY3RvclByb3h5OjpSZXNldFN0YXRlKCksIG1fcGFnZS5wYWdlSUQoKSk7Cit9CisK
IHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6Om9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVy
bCkKIHsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6T3BlbkluTmV3VGFi
KHVybCksIG1fcGFnZS5wYWdlSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaAppbmRleCA2MjEzMTEwODIxYWU4
MTQ3NjVjY2RlODVhYmUxZjgxNzE5YTZjNmYyLi4yNTUyOTk2MGM4MmVkOGU2ODViYTdmY2QxZmQw
NDU0YWNhMTA0ZjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZVdlYkluc3BlY3RvclVJLmgKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgYnJpbmdUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygp
IG92ZXJyaWRlOwogICAgIHZvaWQgcmVvcGVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNldFN0
YXRlKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIG9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVy
bCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzYXZlKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcykgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3JVSS5jcHAKaW5kZXggYmNmZjhlMmE4OTZmZjAyZTgyNTE2NTI3ODExOWJkMWZlYjQ2MjFlMi4u
NmUyNDJkOWMwMGRlMDJkZjJhNTAwN2NkYWViZjIwZGU1YTYwMWMzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmNwcApAQCAtMTc2
LDYgKzE3NiwxMSBAQCB2b2lkIFdlYkluc3BlY3RvclVJOjpyZW9wZW4oKQogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYkluc3BlY3RvclByb3h5OjpSZW9wZW4oKSwgbV9pbnNwZWN0ZWRQYWdlSWRlbnRpZmllcik7
CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yVUk6OnJlc2V0U3RhdGUoKQoreworICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYkluc3BlY3RvclByb3h5OjpSZXNldFN0YXRlKCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZp
ZXIpOworfQorCiBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIFdlYkluc3Bl
Y3RvclVJOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9wYWdlLmNvcmVQYWdlKCktPnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJ
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oCmlu
ZGV4IDk0MjRiZmUxZjI2Y2ZkYzE2OTA3Yzc4MWZlZjRkNmQwNWM1ZWNlMjkuLjhiZWIxM2YxMjQ5
NDgwOTg1MzVkZmM3NGUyMjcxZjdmZWVkMjVjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaApAQCAtOTYsNiArOTYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlV2lu
ZG93KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW9wZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIHJl
c2V0U3RhdGUoKSBvdmVycmlkZTsKIAogICAgIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIGNvbnN0IG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2NmL1dlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudENGLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvY2YvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwCmluZGV4IDUxNWJiOWJkMjExZTIzODFhMTI4NTA1
MjUzMDE4ZGIxMTY0YWJlMTMuLmRiMjkyNjIxYTIwZmIxYTliNjc3ZDQ3YjhhODI2M2QwNTdjZTIy
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvY2YvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50Q0YuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvY2YvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwCkBAIC04OSw2ICs4OSwxMSBAQCBzdGF0
aWMgdm9pZCBzdG9yZVNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgc2V0
dGluZykKICAgICBDRlByZWZlcmVuY2VzU2V0QXBwVmFsdWUoY3JlYXRlS2V5Rm9yUHJlZmVyZW5j
ZXMoa2V5KS5nZXQoKSwgc2V0dGluZy5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBrQ0ZQcmVmZXJl
bmNlc0N1cnJlbnRBcHBsaWNhdGlvbik7CiB9CiAKK3N0YXRpYyB2b2lkIGRlbGV0ZVNldHRpbmco
Y29uc3QgU3RyaW5nJiBrZXkpCit7CisgICAgQ0ZQcmVmZXJlbmNlc1NldEFwcFZhbHVlKGNyZWF0
ZUtleUZvclByZWZlcmVuY2VzKGtleSkuZ2V0KCksIG51bGxwdHIsIGtDRlByZWZlcmVuY2VzQ3Vy
cmVudEFwcGxpY2F0aW9uKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OnNlbmRNZXNz
YWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgZG9EaXNwYXRjaE1l
c3NhZ2VPbkZyb250ZW5kUGFnZShtX2Zyb250ZW5kUGFnZSwgbWVzc2FnZSk7CkBAIC0xMDgsNiAr
MTEzLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpzZXRJbnNwZWN0b3JBdHRhY2hEaXNh
YmxlZChib29sIGRpc2FibGVkKQogICAgIHN0b3JlU2V0dGluZyhpbnNwZWN0b3JBdHRhY2hEaXNh
YmxlZFNldHRpbmcsIGRpc2FibGVkID8gInRydWUiIDogImZhbHNlIik7CiB9CiAKK3ZvaWQgV2Vi
SW5zcGVjdG9yQ2xpZW50OjpkZWxldGVJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCgpCit7CisgICAg
ZGVsZXRlU2V0dGluZyhpbnNwZWN0b3JBdHRhY2hEaXNhYmxlZFNldHRpbmcpOworfQorCiBib29s
IFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKQogewogICAgIFN0
cmluZyB2YWx1ZTsKQEAgLTEyMiw2ICsxMzIsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6
OnNldEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKGJvb2wgYXR0YWNoZWQpCiAgICAgc3RvcmVTZXR0
aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZywgYXR0YWNoZWQgPyAidHJ1ZSIgOiAi
ZmFsc2UiKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmRlbGV0ZUluc3BlY3RvckF0
dGFjaERpc2FibGVkKCkKK3sKKyAgICBkZWxldGVTZXR0aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFj
aGVkU2V0dGluZyk7Cit9CisKIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsOjpTZXR0aW5ncz4gV2ViSW5zcGVjdG9yQ2xpZW50OjpjcmVhdGVGcm9u
dGVuZFNldHRpbmdzKCkKIHsKICAgICBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZFNldHRpbmdzQ0Yg
OiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3Mg
ewpAQCAtMTM4LDYgKzE1MywxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3M+IFdlYkluc3BlY3RvckNsaQogICAgICAgICB7
CiAgICAgICAgICAgICBzdG9yZVNldHRpbmcobmFtZSwgdmFsdWUpOwogICAgICAgICB9CisKKyAg
ICAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKKyAg
ICAgICAgeworICAgICAgICAgICAgZGVsZXRlU2V0dGluZyhuYW1lKTsKKyAgICAgICAgfQogICAg
IH07CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yRnJvbnRlbmRTZXR0aW5n
c0NGPigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tCmluZGV4IDA3MTY5ODA1NDAz
NjY4MzAwNDM1ZmQ0NDNiMDI5MzU2Mzg3NDkyNGYuLjUyOTZmMTJlZGQxNjRlYWQ3Mjk2MjIxODU2
NDQzNDE1ODIyODk4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW0KQEAgLTEyNyw2
ICsxMjcsNyBAQCBTdHJpbmcgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmxvY2FsaXplZFN0
cmluZ3NVUkwoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6YnJpbmdUb0Zyb250KCkgeyB9CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpjbG9zZVdpbmRvdygpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
cmVvcGVuKCkgeyB9Cit2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpyZXNldFN0YXRl
KCkgeyB9CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coRG9j
a1NpZGUpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGV0YWNoV2luZG93
KCkgeyB9CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzZXRBdHRhY2hlZFdpbmRv
d0hlaWdodCh1bnNpZ25lZCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IDRhMjVhNmM5
NjNkNDEzNTVhYzUzZTZlNzkxMGY1MjY0Y2IyOWJkMWMuLmJkN2Y2MmZjODVkYzk5YzM4NzE2ZjA3
NjY2NDYzMTgyNTExYzU0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC04Myw5ICs4Mywx
MSBAQCBwdWJsaWM6CiAKICAgICBib29sIGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CiAgICAg
dm9pZCBzZXRJbnNwZWN0b3JTdGFydHNBdHRhY2hlZChib29sKTsKKyAgICB2b2lkIGRlbGV0ZUlu
c3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CiAKICAgICBib29sIGluc3BlY3RvckF0dGFjaERpc2Fi
bGVkKCk7CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBdHRhY2hEaXNhYmxlZChib29sKTsKKyAgICB2
b2lkIGRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKCk7CiAKICAgICB2b2lkIHdpbmRvd0Z1
bGxTY3JlZW5EaWRDaGFuZ2UoKTsKIApAQCAtMTE5LDYgKzEyMSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGJyaW5nVG9Gcm9udCgpIG92ZXJyaWRlOwogICAgIHZvaWQgY2xvc2VXaW5kb3coKSBvdmVy
cmlkZTsKICAgICB2b2lkIHJlb3BlbigpIG92ZXJyaWRlOworICAgIHZvaWQgcmVzZXRTdGF0ZSgp
IG92ZXJyaWRlOwogCiAgICAgdm9pZCBhdHRhY2hXaW5kb3coRG9ja1NpZGUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZGV0YWNoV2luZG93KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0K
aW5kZXggMWI5MDNhZjhiNGNhZmUyYTliNTZmNzEyOGM3ZTQwYjkyYWNiNjhiNi4uMWMwMDgwOTc2
OTJmZjliMDcxZmNlNWFjNGE0YjQ2OTJkMTM3ZWQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5t
bQpAQCAtMjU2LDYgKzI1NiwxNyBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojpy
ZW9wZW4oKQogICAgIFtpbnNwZWN0b3Igc2hvdzpuaWxdOwogfQogCit2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjpyZXNldFN0YXRlKCkKK3sKKyAgICBJbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsOjpyZXNldFN0YXRlKCk7CisKKyAgICBhdXRvKiBpbnNwZWN0b3JDbGllbnQgPSBb
bV9mcm9udGVuZFdpbmRvd0NvbnRyb2xsZXIgaW5zcGVjdG9yQ2xpZW50XTsKKyAgICBpbnNwZWN0
b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CisgICAgaW5zcGVjdG9y
Q2xpZW50LT5kZWxldGVJbnNwZWN0b3JBdHRhY2hEaXNhYmxlZCgpOworCisgICAgW05TV2luZG93
IHJlbW92ZUZyYW1lVXNpbmdOYW1lOltbbV9mcm9udGVuZFdpbmRvd0NvbnRyb2xsZXIgd2luZG93
XSBmcmFtZUF1dG9zYXZlTmFtZV1dOworfQorCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpCiB7CiAgICAgaWYgKFttX2Zyb250ZW5kV2luZG93
Q29udHJvbGxlci5nZXQoKSBhdHRhY2hlZF0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRl
eCBhMGQ3NjlkMjFkM2FjMDQzNTVlOTZhOWNmMmRiNDZlZjY1ZmRiNTRkLi5lNGRjNzVlM2M5ZjU0
Y2RjMWU0ZTJlMjgzNGJmM2IwMDQ3NjE1NzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAK
QEAgLTI3OCw2ICsyNzgsMTQgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVv
cGVuKCkKICAgICAgICAgaW5zcGVjdGVkUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLnNob3co
KTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRTdGF0ZSgpCit7
CisgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzZXRTdGF0ZSgpOworCisgICAg
bV9pbnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKCk7CisgICAg
bV9pbnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKCk7Cit9CisK
IHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRvdyhEb2NrU2lkZSkK
IHsKICAgICBpZiAobV9hdHRhY2hlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggMTczM2E3
MjcyZjgwMjc5OTczOWIyMGMyYjBmMDVhNWFiY2Y4YTQwZS4uOTVjOWFmYTg1MDAyYTU0MzI3MGI3
Y2U2YjM4OGM3MGQ0ODkxODUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTY4LDkgKzY4
LDExIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKTsKICAg
ICB2b2lkIHNldEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKGJvb2wpOworICAgIHZvaWQgZGVsZXRl
SW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQoKTsKIAogICAgIGJvb2wgaW5zcGVjdG9yQXR0YWNoRGlz
YWJsZWQoKTsKICAgICB2b2lkIHNldEluc3BlY3RvckF0dGFjaERpc2FibGVkKGJvb2wpOworICAg
IHZvaWQgZGVsZXRlSW5zcGVjdG9yQXR0YWNoRGlzYWJsZWQoKTsKIAogICAgIHZvaWQgcmVsZWFz
ZUZyb250ZW5kKCk7CiAKQEAgLTEwNCw2ICsxMDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBicmlu
Z1RvRnJvbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlV2luZG93KCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCByZW9wZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc2V0U3RhdGUoKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNpZ25lZCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>