<?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>193691</bug_id>
          
          <creation_ts>2019-01-22 15:33:06 -0800</creation_ts>
          <short_desc>[Cocoa] Media elements will restart network buffering just before suspending</short_desc>
          <delta_ts>2019-02-26 16:04:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>194655</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1497027</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-01-22 15:33:06 -0800</bug_when>
    <thetext>[Cocoa] Media elements will restart network buffering just before suspending</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497031</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-22 15:38:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/47463118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497032</commentid>
    <comment_count>2</comment_count>
      <attachid>359789</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-01-22 15:38:45 -0800</bug_when>
    <thetext>Created attachment 359789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499072</commentid>
    <comment_count>3</comment_count>
      <attachid>360352</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-01-28 10:26:47 -0800</bug_when>
    <thetext>Created attachment 360352
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503818</commentid>
    <comment_count>4</comment_count>
      <attachid>361418</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-02-07 10:58:56 -0800</bug_when>
    <thetext>Created attachment 361418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503843</commentid>
    <comment_count>5</comment_count>
      <attachid>361422</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-02-07 11:29:00 -0800</bug_when>
    <thetext>Created attachment 361422
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505922</commentid>
    <comment_count>6</comment_count>
      <attachid>361422</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-13 16:21:53 -0800</bug_when>
    <thetext>Comment on attachment 361422
Patch for landing

Clearing flags on attachment: 361422

Committed r241486: &lt;https://trac.webkit.org/changeset/241486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505923</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-13 16:21:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506170</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-14 09:05:48 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 194655</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510182</commentid>
    <comment_count>9</comment_count>
      <attachid>363016</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-02-26 13:45:09 -0800</bug_when>
    <thetext>Created attachment 363016
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510245</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-02-26 16:04:27 -0800</bug_when>
    <thetext>Committed r242113: &lt;https://trac.webkit.org/changeset/242113&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359789</attachid>
            <date>2019-01-22 15:38:45 -0800</date>
            <delta_ts>2019-01-28 10:26:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193691-20190122153844.patch</filename>
            <type>text/plain</type>
            <size>27037</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQxNmFlZjhmYmFiOTVl
ZjkzODkyZDhkOGRmNDBkMTY1N2ZhNzhjOC4uMDk2YTJlNmU3MWVjNDhhNzUzNTZhNWQzN2ExYmY4
M2M2ZTNjMGRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAxLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxl
bWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFQSSBU
ZXN0OiBXZWJLaXQuUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZworCisgICAgICAgIEFsbG93
IHRoZSBQYWdlIHRvIHN1c3BlbmQgYWxsIG1lZGlhIGJ1ZmZlcmluZyBpbiBpdHMgY2hpbGQgRG9j
dW1lbnRzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGF0YUJ1ZmZlcmluZ1Blcm1pdHRlZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzdXNwZW5kQnVmZmVy
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnJlc3VtZUJ1ZmZl
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpidWZmZXJpbmdT
dXNwZW5kZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cmVzdW1lQWxsTWVk
aWFCdWZmZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6Om1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OnN1c3BlbmRCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnJlc3VtZUJ1ZmZlcmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAxOS0wMS0x
OCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50
IGFzeW5jaHJvbm91cyBmcmFtZSBzY3JvbGxpbmcgZm9yIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5Zjc4OWI5
MTU5Yzg1YmNiNDBlY2UzYWI5MmFmYjYxYTg1ZTBmZmYzLi5jNjUyZDdlODg2ZTIwYjM4OTU4YzU4
MWYyNTMxYmIxODIyMTkyNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTAxLTIy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVk
aWEgZWxlbWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1
c3BlbmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzY5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gdGhlIFdlYlByb2Nlc3MgcmVjZWl2ZXMgYSBub3RpZmljYXRpb24gdGhhdCB0aGUgcHJv
Y2VzcyBpcyBhYm91dCB0byBiZWNvbWUKKyAgICAgICAgc3VzcGVuZGVkLCBpdCB0ZWxscyB0aGUg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyIHRvIHJlbGVhc2UgYWxsIGNyaXRpY2FsIG1lbW9yeS4gVGhp
cworICAgICAgICBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGNhdXNpbmcgQVZGb3VuZGF0aW9uLWJh
Y2tlZCBtZWRpYSBlbGVtZW50cyB0byBkdW1wIHRoZWlyCisgICAgICAgIGluLW1lbW9yeSBjYWNo
ZXMgYW5kIHN0YXJ0IGRvd25sb2FkaW5nIG1lZGlhIGRhdGEgYWdhaW4uIEluc3RlYWQsIG1lZGlh
IGVsZW1lbnRzCisgICAgICAgIHNob3VsZCBhbGwgc3RvcCBidWZmZXJpbmcgbWVkaWEgZGF0YSBk
dXJpbmcgc3VzcGVuc2lvbi4gQWRkIG5ldyB0ZXN0aW5nIFNQSSB0bworICAgICAgICBzaW11bGF0
ZSBzdXNwZW5zaW9uIGFuZCByZXN1bWUgbWVzc2FnZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9wcm9jZXNzV2ls
bFN1c3BlbmRJbW1pbmVudGx5Rm9yVGVzdGluZ10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3By
b2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tJbmtQaWNrZXJWaWV3Lm1tOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWN0dWFsUHJlcGFyZVRvU3VzcGVuZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmNhbmNlbFByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE5LTAxLTE4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYXN5bmNocm9ub3VzIGZyYW1lIHNjcm9sbGlu
ZyBmb3IgaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA2N2ViMWExOWFmZjc5MWU2MmQ2
NDVkNjkzYWQ5MjM3NzliMTIxYmRmLi4yMzI2MTRjYTBiMGI4MzFhNjkyMjE2MjBjNWQ2MmJkOTU1
YjI3ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE3NDAsNiArMTc0MCwxOCBAQCB2
b2lkIERvY3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKICAgICBpZiAoYXV0byogcGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKICAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoKnRoaXMpOwogfQorCit2b2lk
IERvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAgIGlmIChhdXRvKiBw
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KCp0aGlzKTsKK30KKwor
dm9pZCBEb2N1bWVudDo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAgIGlmIChhdXRv
KiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoKnRoaXMpOworfQog
I2VuZGlmCiAKIFN0cmluZyBEb2N1bWVudDo6bm9kZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCAzMDg5MjllNDdmNjgzZmM4NjhmNzgwZjc2YTE4NDVkNjc4ZjA1YmZjLi44ODYx
YjY3NzhjZTIzMzJhMDNhYjkyNmM2MzRlODQzNjQ4ZjMzOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtMTEyNiw2ICsxMTI2LDggQEAgcHVibGljOgogICAgIHZvaWQgc3RvcEFsbE1lZGlhUGxh
eWJhY2soKTsKICAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCk7CiAgICAgdm9pZCBy
ZXN1bWVBbGxNZWRpYVBsYXliYWNrKCk7CisgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJp
bmcoKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CiAjZW5kaWYKIAogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkQ3JlYXRlUmVuZGVyZXJzKGJvb2wpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggYmU2MjAzZGQ3
ZGMwYzVhNjQyMTY3NTk4YWIwMDk1NTc1MDNmNGIxNi4uNjgxOTQwMmY4OWI5Mzk1NDAxMTg2Mjhj
OTJlZDhjY2VlMjNhZDRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCkBAIC0zNzksNiArMzc5LDkgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpk
YXRhQnVmZmVyaW5nUGVybWl0dGVkKCkgY29uc3QKICAgICBpZiAoaXNTdXNwZW5kZWQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGJ1ZmZlcmluZ1N1c3BlbmRlZCgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoc3RhdGUoKSA9PSBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UGxheWluZykKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTc3OSw2ICs3ODIsMjMg
QEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXNldFBsYXliYWNrU2Vzc2lvblN0YXRlKCkK
ICAgICBhZGRCZWhhdmlvclJlc3RyaWN0aW9uKFJlcXVpcmVVc2VyR2VzdHVyZVRvQ29udHJvbENv
bnRyb2xzTWFuYWdlciB8IFJlcXVpcmVQbGF5YmFja1RvQ29udHJvbENvbnRyb2xzTWFuYWdlcik7
CiB9CiAKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6c3VzcGVuZEJ1ZmZlcmluZygpCit7Cisg
ICAgdXBkYXRlQ2xpZW50RGF0YUJ1ZmZlcmluZygpOworfQorCit2b2lkIE1lZGlhRWxlbWVudFNl
c3Npb246OnJlc3VtZUJ1ZmZlcmluZygpCit7CisgICAgdXBkYXRlQ2xpZW50RGF0YUJ1ZmZlcmlu
ZygpOworfQorCitib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmJ1ZmZlcmluZ1N1c3BlbmRlZCgp
IGNvbnN0Cit7CisgICAgaWYgKGF1dG8qIHBhZ2UgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5wYWdl
KCkpCisgICAgICAgIHJldHVybiBwYWdlLT5tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzUGlj
dHVyZUluUGljdHVyZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZWxlbWVudC5kb2N1bWVudCgp
LnNldHRpbmdzKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggNTk3YmEyNzcyOWFjYzhm
MmUyZTc4Y2FmOTY0ZjVmYzgwOGUyYTAxZS4uY2UwNThjNmUxMWZlNDQxYzE4ZGUwNjUyNjgxY2Jh
YTQxOTgxNDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgK
QEAgLTEwMSw2ICsxMDEsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXNldFBsYXliYWNrU2Vz
c2lvblN0YXRlKCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHN1c3BlbmRCdWZmZXJpbmcoKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHJlc3VtZUJ1ZmZlcmluZygpIG92ZXJyaWRlOworICAgIGJvb2wgYnVm
ZmVyaW5nU3VzcGVuZGVkKCkgY29uc3Q7CisKICAgICAvLyBSZXN0cmljdGlvbnMgdG8gbW9kaWZ5
IGRlZmF1bHQgYmVoYXZpb3JzLgogICAgIGVudW0gQmVoYXZpb3JSZXN0cmljdGlvbkZsYWdzIDog
dW5zaWduZWQgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCBkYjE3N2U4ZGFlOGM2MGU2ZTcxODIyOWZiM2MwM2QzNmRmZmQ1NDUyLi5lMzAyNmIyNGEx
NjU3NTZiMjM4NDFkOGE4OGRhYTM4NGIyNWQ0ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTE3
NTksNiArMTc1OSwzNiBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogI2Vu
ZGlmCiB9CiAKK3ZvaWQgUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyNpZiBF
TkFCTEUoVklERU8pCisgICAgQVNTRVJUKCFtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpOwor
ICAgIGlmIChtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpCisgICAgICAgIHJldHVybjsKKyAg
ICBtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgPSB0cnVlOworCisgICAgZm9yIChGcmFtZSog
ZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVy
c2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50
KCkpCisgICAgICAgICAgICBkb2N1bWVudC0+c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7Cisg
ICAgfQorI2VuZGlmCit9CisKK3ZvaWQgUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQor
eworI2lmIEVOQUJMRShWSURFTykKKyAgICBBU1NFUlQobV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVu
ZGVkKTsKKyAgICBpZiAoIW1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCkKKyAgICAgICAgcmV0
dXJuOworICAgIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9IGZhbHNlOworCisgICAgZm9y
IChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVl
KCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUt
PmRvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC0+cmVzdW1lQWxsTWVkaWFCdWZmZXJp
bmcoKTsKKyAgICB9CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogdm9p
ZCBQYWdlOjpoYW5kbGVNZWRpYUV2ZW50KE1lZGlhRXZlbnRUeXBlIGV2ZW50VHlwZSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKaW5kZXggN2Y3YjM3MGJjYWU5OGFiOTU3ZGI0YzUwMTc2ZGVjMjliN2I0ZjkyNi4u
ZmQyM2NhZDkwOWQ4MjQ0MDAyMjFhN2ZlMTE1YTNiOTQyMDFiNWZlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
QEAgLTYwOSw3ICs2MDksMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3Rv
cEFsbE1lZGlhUGxheWJhY2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN1c3BlbmRBbGxN
ZWRpYVBsYXliYWNrKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXN1bWVBbGxNZWRpYVBs
YXliYWNrKCk7Ci0gICAgYm9vbCBtZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQoKSB7IHJldHVybiBt
X21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZDsgfQorICAgIGJvb2wgbWVkaWFQbGF5YmFja0lzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQ7IH0KKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICBib29sIG1l
ZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhQnVmZmVyaW5n
SXNTdXNwZW5kZWQ7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgaGFuZGxlTWVkaWFFdmVudChNZWRpYUV2ZW50VHlwZSk7CkBAIC05NTksNiAr
OTYyLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zaG91bGRFbmFibGVJQ0VDYW5kaWRhdGVG
aWx0ZXJpbmdCeURlZmF1bHQgeyB0cnVlIH07CiAgICAgYm9vbCBtX21lZGlhUGxheWJhY2tJc1N1
c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQg
eyBmYWxzZSB9OwogfTsKIAogaW5saW5lIFBhZ2VHcm91cCYgUGFnZTo6Z3JvdXAoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgK
aW5kZXggMjVjMTc3OTkwY2YyNjEzZjI1ZmUwYWQwMGQ4ODEyNDI5YjZkYTBmMi4uODdlMTkyZjRm
ZTNmYWFjOGNkNjRkMzc0ZWVkNzJmNDBkODM2OTdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCkBAIC0xMTMsNiArMTEz
LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBwYXVzZVNlc3Npb24oKTsKICAgICB2b2lkIHN0b3BT
ZXNzaW9uKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIHsgfQorICAg
IHZpcnR1YWwgdm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KICAgICAKICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgdWludDY0X3QgdW5pcXVlSWRlbnRpZmllcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5jcHAKaW5kZXggMjA1MGM1ZTA4MmYzMzgxYjY3MTgwMmY4MzViMDdlYzU0ZTQ4YzVk
NC4uYjliMDc5ZDllMWZkN2ZmZmZjMjA4NTMzN2EwMzMxZjFmMjc3MDU4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuY3BwCkBAIC00MzcsNiArNDM3LDIyIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3QgRG9j
dW1lCiAgICAgfSk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQp
Cit7CisgICAgZm9yRWFjaFNlc3Npb24oWyZdIChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2Vzc2lv
biwgc2l6ZV90KSB7CisgICAgICAgIGlmIChzZXNzaW9uLmNsaWVudCgpLmhvc3RpbmdEb2N1bWVu
dCgpID09ICZkb2N1bWVudCkKKyAgICAgICAgICAgIHNlc3Npb24uc3VzcGVuZEJ1ZmZlcmluZygp
OworICAgIH0pOworfQorCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVzdW1l
QWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgZm9yRWFjaFNlc3Npb24oWyZdIChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2Vzc2lvbiwg
c2l6ZV90KSB7CisgICAgICAgIGlmIChzZXNzaW9uLmNsaWVudCgpLmhvc3RpbmdEb2N1bWVudCgp
ID09ICZkb2N1bWVudCkKKyAgICAgICAgICAgIHNlc3Npb24ucmVzdW1lQnVmZmVyaW5nKCk7Cisg
ICAgfSk7Cit9CisKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vz
c2lvbihjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiwgc2l6ZV90KT4m
IHByZWRpY2F0ZSkgY29uc3QKIHsKICAgICArK21faXRlcmF0aW5nT3ZlclNlc3Npb25zOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaAppbmRleCAwNjVkOTRmZWRjODk1YWQ2ZWRkNWJkYWUyMDA0NmNhYjIy
NjBkOGYyLi5iYWY1ZGQ4Yzc0ODgxMTFhMDQ2NTQxM2E2YmEwOWQ2MjAzZTAwMDcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaApAQCAtODEsNiArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN1
c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKICAgICB2
b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOwor
ICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1l
bnQmKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoY29uc3Qg
RG9jdW1lbnQmKTsKIAogICAgIGVudW0gU2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAg
ICBOb1Jlc3RyaWN0aW9ucyA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQppbmRleCAyNjVlNmZlZDYxMzM2OWQ2NDEwMDUyOTQ4MGQxNWExOTUw
MDkwZGUzLi43ZTRkNzAzZDliNzM0ZThmZWJjZjhkZWI5YTUwZGI3NjRiYjQ4OGM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTcwNDks
NiArNzA0OSwxOCBAQCAtIChfV0tGcmFtZUhhbmRsZSAqKV9tYWluRnJhbWUKICAgICByZXR1cm4g
bmlsOwogfQogCistICh2b2lkKV9wcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5Rm9yVGVzdGlu
ZworeworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5zZW5kUHJvY2Vz
c1dpbGxTdXNwZW5kSW1taW5lbnRseSgpOworfQorCistICh2b2lkKV9wcm9jZXNzRGlkUmVzdW1l
Rm9yVGVzdGluZworeworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5z
ZW5kUHJvY2Vzc0RpZFJlc3VtZSgpOworfQorCiAtICh2b2lkKV9kZW55TmV4dFVzZXJNZWRpYVJl
cXVlc3QKIHsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggMTJiMDFlODVk
MTkzNjAxZGYxYTJiYTNlODQxMWU0ODE1Y2Y3ZTQ3Ny4uNDZmNWVmZDM2M2NkMzI2MjEyMGRmZGQ3
NzZjNjU2ODM2ZjA5NWQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC01NDcsNiArNTQ3LDkgQEAgdHlwZWRlZiBO
U19PUFRJT05TKE5TVUludGVnZXIsIF9XS1JlY3RFZGdlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKKy0gKHZvaWQpX3Byb2Nlc3NX
aWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nOworLSAodm9pZClfcHJvY2Vzc0RpZFJlc3Vt
ZUZvclRlc3Rpbmc7CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oCmluZGV4IGZmOWU1MmNjMzFmMGY4MDhhM2YwM2Q2YzFjYzliMGM3ODNm
MjE3NDkuLmEyNjYzZWJhMzlhMGE2MWFmYzE2NmI0MDc0YjQyYjgwM2U3ODNlZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0yNDgsNiArMjQ4LDEzIEBA
IHB1YmxpYzoKICAgICB2b2lkIHNodXREb3duKCk7CiAgICAgdm9pZCBtYXliZVNodXREb3duKCk7
CiAKKyAgICAvLyBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50CisgICAgdm9pZCBzZW5kUHJvY2Vzc1dp
bGxTdXNwZW5kSW1taW5lbnRseSgpIG92ZXJyaWRlOworICAgIHZvaWQgc2VuZFByZXBhcmVUb1N1
c3BlbmQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNlbmRDYW5jZWxQcmVwYXJlVG9TdXNwZW5kKCkg
b3ZlcnJpZGU7CisgICAgdm9pZCBzZW5kUHJvY2Vzc0RpZFJlc3VtZSgpIG92ZXJyaWRlOworICAg
IHZvaWQgZGlkU2V0QXNzZXJ0aW9uU3RhdGUoQXNzZXJ0aW9uU3RhdGUpIG92ZXJyaWRlOworCiBw
cm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGFnZUlEKCk7CiAgICAgV2Vi
UHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0ZURhdGFTdG9yZSYsIElzUHJld2Fy
bWVkKTsKQEAgLTI2Niw3ICsyNzMsNyBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIAogICAgIGJvb2wg
aXNKSVRFbmFibGVkKCkgY29uc3QgZmluYWw7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgLy8gSVBD
IG1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCB1cGRhdGVCYWNrRm9yd2FyZEl0ZW0oY29uc3Qg
QmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlJik7CkBAIC0zMTcsMTMgKzMyNCw2IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBkaWRDaGFuZ2VJc1Jlc3BvbnNpdmUoKSBvdmVycmlkZTsKICAgICBib29sIG1h
eUJlY29tZVVucmVzcG9uc2l2ZSgpIG92ZXJyaWRlOwogCi0gICAgLy8gUHJvY2Vzc1Rocm90dGxl
ckNsaWVudAotICAgIHZvaWQgc2VuZFByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkoKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHNlbmRQcmVwYXJlVG9TdXNwZW5kKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBzZW5kQ2FuY2VsUHJlcGFyZVRvU3VzcGVuZCgpIG92ZXJyaWRlOwotICAgIHZvaWQgc2VuZFBy
b2Nlc3NEaWRSZXN1bWUoKSBvdmVycmlkZTsKLSAgICB2b2lkIGRpZFNldEFzc2VydGlvblN0YXRl
KEFzc2VydGlvblN0YXRlKSBvdmVycmlkZTsKLQogICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVy
YXRlZCBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNl
aXZlV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLSW5rUGlja2VyVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0lua1BpY2tlclZpZXcubW0KaW5k
ZXggZDRlMzVmZWU1NmIzNzBmNzE5ZDQ5MzI1ZmI4Y2RiMGNmMGE2OTZjOS4uMWMyOTI5ZGNhNTIw
MjYzOTU2NGUwMzA4ODM3OGE3YzMyZGE2YTU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLSW5rUGlja2VyVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tJbmtQaWNrZXJWaWV3Lm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgSEFWRShQ
RU5DSUxLSVQpCiAKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgorI2ltcG9y
dCAiV0tEcmF3aW5nQ29vcmRpbmF0b3IuaCIKIAogI2ltcG9ydCAiUGVuY2lsS2l0U29mdExpbmsu
aCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCBkZDk3ZDZlYjA3YWUyNTJhNmVjN2VjMTVmY2U3N2EzNGYyMTU2NDNjLi42NTQ0MWVmMmU5YWQy
OGQ4ZWQ5N2I0YjMyMDc2NTY4ZjlmMWZjY2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjgwLDYgKzY4MCwxNyBAQCB2b2lkIFdlYlBhZ2U6
OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogICAgIG1fcGFnZS0+cmVzdW1lQWxsTWVkaWFQbGF5
YmFjaygpOwogfQogCit2b2lkIFdlYlBhZ2U6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCit7
CisgICAgbV9wYWdlLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKK30KKwordm9pZCBXZWJQ
YWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgbV9wYWdlLT5yZXN1bWVBbGxN
ZWRpYUJ1ZmZlcmluZygpOworfQorCisKIHZvaWQgV2ViUGFnZTo6cmVpbml0aWFsaXplV2ViUGFn
ZShXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKICAgICBBU1NFUlQo
bV9kcmF3aW5nQXJlYSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggZjNiOTM0ZTI3ZGE5ZDVlYTVhMWJiZjU1ZjE0OWY1YTg1MTI3MzZlNC4uNTAxODMw
ODkyMDA1NmFmNzg4NDgzZWQ4MWNjNGEwNjY5ZjYzOTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTEzNyw2ICsxMTM3LDkgQEAgcHVibGljOgog
CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUGFnZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJik7CiAKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAg
IHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdl
KHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDAyMzA2NWNkZThlZjIwNTMzMDAx
YjkzMzY4MWU3MDE5NDhiMjVmMTAuLjY5NGY4ZDRiYWNjYzc5YWQwNTE4NGMxYTcyZDUzNzE0NWRl
MmI2YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTEzNjcs
NiArMTM2NywxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OmFjdHVhbFByZXBhcmVUb1N1c3BlbmQoU2hv
dWxkQWNrbm93bGVkZ2VXaGVuUmVhZHlUb1N1c3BlbmQgc2hvdQogewogICAgIFNldEZvclNjb3Bl
PGJvb2w+IHN1c3BlbnNpb25TY29wZShtX2lzU3VzcGVuZGluZywgdHJ1ZSk7CiAKKyNpZiBFTkFC
TEUoVklERU8pCisgICAgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKKwogICAg
IGlmICghbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikKICAgICAgICAgTWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5yZWxlYXNlTWVtb3J5KENyaXRpY2FsOjpZZXMsIFN5
bmNocm9ub3VzOjpZZXMpOwogCkBAIC0xNDIzLDcgKzE0MjcsMTEgQEAgdm9pZCBXZWJQcm9jZXNz
OjpjYW5jZWxQcmVwYXJlVG9TdXNwZW5kKCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGFjY2Vzc2liaWxpdHlQcm9jZXNzU3VzcGVuZGVkTm90aWZpY2F0aW9uKGZhbHNlKTsKICNlbmRp
ZgotICAgIAorCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5n
KCk7CisjZW5kaWYKKwogICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgZmluaXNoZWQgY2xlYW5pbmcg
dXAgYW5kIHNlbnQgUHJvY2Vzc1JlYWR5VG9TdXNwZW5kLCB3ZQogICAgIC8vIHNob3VsZG4ndCBz
ZW5kIERpZENhbmNlbFByb2Nlc3NTdXNwZW5zaW9uOyB0aGUgVUkgcHJvY2VzcyBzdHJpY3RseSBl
eHBlY3RzIG9uZSBvciB0aGUgb3RoZXIuCiAgICAgaWYgKCFtX3BhZ2VNYXJraW5nTGF5ZXJzQXNW
b2xhdGlsZUNvdW50ZXIpCkBAIC0xNDg4LDYgKzE0OTYsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpw
cm9jZXNzRGlkUmVzdW1lKCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGFjY2Vzc2li
aWxpdHlQcm9jZXNzU3VzcGVuZGVkTm90aWZpY2F0aW9uKGZhbHNlKTsKICNlbmRpZgorCisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKIH0K
IAogdm9pZCBXZWJQcm9jZXNzOjpzZW5kUHJld2FybUluZm9ybWF0aW9uKGNvbnN0IFVSTCYgdXJs
KQpAQCAtMTc0MCw2ICsxNzUyLDIwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRNb2NrTWVkaWFE
ZXZpY2VzKCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJQcm9jZXNz
OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6IG1f
cGFnZU1hcC52YWx1ZXMoKSkKKyAgICAgICAgcGFnZS0+c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5n
KCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQorewor
ICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKKyAgICAgICAgcGFnZS0+
cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3M6
OmNsZWFyQ3VycmVudE1vZGlmaWVyU3RhdGVGb3JUZXN0aW5nKCkKIHsKICAgICBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQ6OnNldEN1cnJlbnRNb2RpZmllclN0YXRlKHsgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4YTg1Y2RiODM0YzE0MDc3YzIzYTdjZjc2MTQwYmIx
OTdmYzRjYWRmLi42MmU4NWUxZjkwMWYyYWNjMzA5NmMwYzYxNGU5M2U2NGM4MmNmZDY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTM5OSw2ICszOTksMTEgQEAgcHJp
dmF0ZToKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdm9pZCBzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5n
KCk7CisjZW5kaWYKKwogICAgIHZvaWQgY2xlYXJDdXJyZW50TW9kaWZpZXJTdGF0ZUZvclRlc3Rp
bmcoKTsKIAogICAgIFJlZlB0cjxXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IG1fd2ViQ29ubmVj
dGlvbjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAwY2NkMjJiZDRjMWZhZjFkMzUxNTM1M2Y1NGFjOWQ0ODYyNTRjNTZjLi4zMDgzNjgxN2MwZmE3
NjM2ODQ1MmI5NDYyOGJmMWJhNGI3N2ZmNTUzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDEtMjIgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNZWRpYSBlbGVt
ZW50cyB3aWxsIHJlc3RhcnQgbmV0d29yayBidWZmZXJpbmcganVzdCBiZWZvcmUgc3VzcGVuZGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNjkx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFC
dWZmZXJpbmcubW06IEFkZGVkLgorICAgICAgICAoVEVTVCk6CisKIDIwMTgtMTEtMDYgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgZ2l0IHV0aWxpdHkg
bWV0aG9kIHRoYXQgYWxsb3dzIHRoZSBjYWxsZXIgdG8gZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMg
Y29tbWl0aXNoIGlzIHdpdGhpbiBhIHNwZWNpZmllZCByYW5nZSBvZiBjb21taXRzLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA3YTEwNzJhY2RhYTJjMmFhNTA3Y2RiMmZjMjk3MDgxMDg0NWMz
ZjBhLi5kYjI0OWY4YWQwOTM4MmU4NzM1N2RjMDgxYzJkMDBkMDU1NDJkY2E5IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNzc0LDYgKzc3NCw3IEBACiAJCUNEQTMxNTk4MUVENTM2NTEwMDlG
NjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEzMTU5NjFFRDUzNjUxMDA5RjYwRDMgLyog
TWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tICovOyB9OwogCQlDREEzMTU5QTFFRDU0OEYx
MDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMzE1OTkxRUQ1NDBB
NTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5odG1sICovOyB9OwogCQlD
REEzMTU5RDFFRDU2NDNGMDA5RjYwRDMgLyogSU9LaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMzE1OUMxRUQ1NjQzRjAwOUY2
MEQzIC8qIElPS2l0LmZyYW1ld29yayAqLzsgfTsKKwkJQ0RBNDQzOEUyMUY3QTQ3NzAwMzc5NDg5
IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREE0NDM4RDIxRjdBNDc3MDAzNzk0ODkgLyogUHJv
Y2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSAqLzsgfTsKIAkJQ0RCNDExNUExRTBCMDBEQjAw
RUFEMzUyIC8qIHZpZGVvLXdpdGgtbXV0ZWQtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREI0MTE1OTFFMDlEQThFMDBFQUQz
NTIgLyogdmlkZW8td2l0aC1tdXRlZC1hdWRpby5odG1sICovOyB9OwogCQlDREI1REZGRjIxMzYx
MEZBMDBEM0UxODkgLyogbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREI1REZGRTIxMzYwRUQ4MDBEM0UxODkgLyog
bm93LXBsYXlpbmcuaHRtbCAqLzsgfTsKIAkJQ0RCRkNDNDUxQTlGRjQ1MzAwQTdCNjkxIC8qIEZ1
bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RCRkNDNDMxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5a
b29tSW5pdGlhbEZyYW1lLm1tICovOyB9OwpAQCAtMjA4MCw2ICsyMDgxLDcgQEAKIAkJQ0RBMzE1
OTYxRUQ1MzY1MTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBMzE1OTkxRUQ1NDBBNTAwOUY2MEQzIC8qIE1lZGlh
UGxheWJhY2tTbGVlcEFzc2VydGlvbi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gTWVkaWFQbGF5YmFja1NsZWVw
QXNzZXJ0aW9uLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTMxNTlDMUVE
NTY0M0YwMDlGNjBEMyAvKiBJT0tpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IElPS2l0
LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9LaXQuZnJhbWV3
b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJQ0RBNDQzOEQyMUY3QTQ3NzAwMzc5NDg5
IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREI0MTE1OTFFMDlEQThFMDBFQUQzNTIgLyogdmlkZW8td2l0aC1tdXRlZC1hdWRp
by5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInZpZGVvLXdpdGgtbXV0ZWQtYXVk
aW8uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQjVERkZFMjEzNjBFRDgw
MEQzRTE4OSAvKiBub3ctcGxheWluZy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm5vdy1wbGF5aW5nLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREJGQ0M0MjFBOUZGNDQ4MDBBN0I2OTEg
LyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9IEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yNjE4LDYgKzI2MjAsNyBAQAogCQkJCTM3QTlEQkU3MjEzQjRDOTMwMEQy
NjFBMiAvKiBXS1dlYlZpZXdTZXJ2ZXJUcnVzdEtWQy5tbSAqLywKIAkJCQk5M0Y1NkRBODFFNUY5
MTgxMDAzRURFODQgLyogV0tXZWJWaWV3U25hcHNob3QubW0gKi8sCiAJCQkJOTk4NEZBQ0ExQ0ZG
QUVFRTAwOEQxOThDIC8qIFdLV2ViVmlld1RleHRJbnB1dC5tbSAqLywKKwkJCQlDREE0NDM4RDIx
RjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSAqLywKIAkJ
CSk7CiAJCQluYW1lID0gIldlYktpdCBDb2NvYSI7CiAJCQlwYXRoID0gV2ViS2l0Q29jb2E7CkBA
IC00MzI4LDYgKzQzMzEsNyBAQAogCQkJCTM3QTlEQkU5MjEzQjRDOTMwMEQyNjFBMiAvKiBXS1dl
YlZpZXdTZXJ2ZXJUcnVzdEtWQy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRjU2REE5MUU1Rjkx
OUQwMDNFREU4NCAvKiBXS1dlYlZpZXdTbmFwc2hvdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTk5
ODRGQUNDMUNGRkFGNjAwMDhEMTk4QyAvKiBXS1dlYlZpZXdUZXh0SW5wdXQubW0gaW4gU291cmNl
cyAqLywKKwkJCQlDREE0NDM4RTIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3BlbmRNZWRp
YUJ1ZmZlcmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlDNjREQzMyMUQ3NjE5OEEwMDRCNTk4
RSAvKiBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFC
dWZmZXJpbmcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nl
c3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU4NGU0ZjBhMDViN2I0OTUy
NTVkNDIxNGNhYzEyOWZkMWJjYTFiNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbQpA
QCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
V0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAi
VGVzdFdLV2ViVmlldy5oIgorCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisKK1RFU1Qo
V2ViS2l0LCBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nKQoreworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFs
c0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQ
b29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGNvbmZpZ3VyYXRpb24u
Z2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyAgICBjb25maWd1cmF0
aW9uLmdldCgpLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1
ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAw
KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisK
KyAgICBfX2Jsb2NrIGJvb2wgaXNQbGF5aW5nID0gZmFsc2U7CisgICAgW3dlYlZpZXcgcGVyZm9y
bUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBsYXlpbmciIGFjdGlvbjpeKCkgeyBpc1BsYXlpbmcg
PSB0cnVlOyB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNQbGF5aW5nKTsK
KworICAgIGF1dG8gaXNFbGVtZW50QWxsb3dlZFRvQnVmZmVyID0gWyZdIHsKKyAgICAgICAgcmV0
dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJu
YWxzLmVsZW1lbnRTaG91bGRCdWZmZXJEYXRhKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVv
JykpIl0uYm9vbFZhbHVlOworICAgIH07CisKKyAgICBBU1NFUlRfVFJVRShpc0VsZW1lbnRBbGxv
d2VkVG9CdWZmZXIoKSk7CisKKyAgICBbd2ViVmlldyBfcHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5l
bnRseUZvclRlc3RpbmddOworCisgICAgQVNTRVJUX0ZBTFNFKGlzRWxlbWVudEFsbG93ZWRUb0J1
ZmZlcigpKTsKKworICAgIFt3ZWJWaWV3IF9wcm9jZXNzRGlkUmVzdW1lRm9yVGVzdGluZ107CisK
KyAgICBBU1NFUlRfVFJVRShpc0VsZW1lbnRBbGxvd2VkVG9CdWZmZXIoKSk7Cit9CisKKyNlbmRp
ZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360352</attachid>
            <date>2019-01-28 10:26:47 -0800</date>
            <delta_ts>2019-02-07 10:58:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193691-20190128102646.patch</filename>
            <type>text/plain</type>
            <size>26662</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUwYjEwMjk4YWFlNzVl
M2QxN2RlNTRjMmJmZDE2ZWQxZTVlMjA1Mi4uMjhhNjM1ZjRkMWJhYmIwMWFmN2VjOTMzN2E2NzI1
NDFlZTU3ZWVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAxLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxl
bWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFQSSBU
ZXN0OiBXZWJLaXQuUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZworCisgICAgICAgIEFsbG93
IHRoZSBQYWdlIHRvIHN1c3BlbmQgYWxsIG1lZGlhIGJ1ZmZlcmluZyBpbiBpdHMgY2hpbGQgRG9j
dW1lbnRzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGF0YUJ1ZmZlcmluZ1Blcm1pdHRlZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzdXNwZW5kQnVmZmVy
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnJlc3VtZUJ1ZmZl
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpidWZmZXJpbmdT
dXNwZW5kZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cmVzdW1lQWxsTWVk
aWFCdWZmZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6Om1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OnN1c3BlbmRCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnJlc3VtZUJ1ZmZlcmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAxOS0wMS0y
OCAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtbG9n
aWNhbF0gUmVqZWN0IHVuaXRsZXNzIGxlbmd0aCBxdWlyayBpbiAnaW5zZXQnIHNob3J0aGFuZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBlOTBhNDlkNjhhZDZlZTJmNWEwN2NkODhjNDEzNjdlMTkwNTI0MmEwLi43Mjg2
NzJjMWEyYTE2NWI0Y2I1NDZlYjBkNWE2Zjk5MmMxYTM2NmI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM1IEBACisyMDE5LTAxLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisg
ICAgICAgIFtDb2NvYV0gTWVkaWEgZWxlbWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVy
aW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzY5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIFdlYlByb2Nlc3MgcmVjZWl2ZXMgYSBub3RpZmlj
YXRpb24gdGhhdCB0aGUgcHJvY2VzcyBpcyBhYm91dCB0byBiZWNvbWUKKyAgICAgICAgc3VzcGVu
ZGVkLCBpdCB0ZWxscyB0aGUgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHRvIHJlbGVhc2UgYWxsIGNy
aXRpY2FsIG1lbW9yeS4gVGhpcworICAgICAgICBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGNhdXNp
bmcgQVZGb3VuZGF0aW9uLWJhY2tlZCBtZWRpYSBlbGVtZW50cyB0byBkdW1wIHRoZWlyCisgICAg
ICAgIGluLW1lbW9yeSBjYWNoZXMgYW5kIHN0YXJ0IGRvd25sb2FkaW5nIG1lZGlhIGRhdGEgYWdh
aW4uIEluc3RlYWQsIG1lZGlhIGVsZW1lbnRzCisgICAgICAgIHNob3VsZCBhbGwgc3RvcCBidWZm
ZXJpbmcgbWVkaWEgZGF0YSBkdXJpbmcgc3VzcGVuc2lvbi4gQWRkIG5ldyB0ZXN0aW5nIFNQSSB0
bworICAgICAgICBzaW11bGF0ZSBzdXNwZW5zaW9uIGFuZCByZXN1bWUgbWVzc2FnZXMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IF9wcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5Rm9yVGVzdGluZ10pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nXSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tJbmtQaWNr
ZXJWaWV3Lm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWN0dWFsUHJlcGFyZVRv
U3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNhbmNlbFByZXBhcmVUb1N1
c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE5LTAxLTI4ICBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgTGltaXQgdXNlci1hZ2VudCBp
bnRlcmFjdGlvbnMgYmFzZWQgb24gdGhlIHRvdWNoLWFjdGlvbiBwcm9wZXJ0eSBvbiBpT1MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDYxMmMzNWZkNDU0YjhlMTczMDg5MzhmNDUwMzcxMjVk
YmI1NTA2NTYuLjNhZjNmYjk0ZDM4NjM5ZjY2NzQyZTcwZDZjYzBkNzczMmNhZjk4NzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTc0MSw2ICsxNzQxLDE4IEBAIHZvaWQgRG9jdW1lbnQ6
OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJ
ZkV4aXN0cygpKQogICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFs
bE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCgqdGhpcyk7CiB9CisKK3ZvaWQgRG9jdW1lbnQ6OnN1
c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3VzcGVu
ZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoKnRoaXMpOworfQorCit2b2lkIERvY3VtZW50
OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cmVz
dW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCgqdGhpcyk7Cit9CiAjZW5kaWYKIAogU3Ry
aW5nIERvY3VtZW50Ojpub2RlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhl
Mjg3OGY0ZDE1YWI4NTE1MDY3YTNhYTVkYTNmMjU3MzExMDJkMDMuLjFjODAyMWU3MTMxNDAwNWQx
ZWJjNjhlMTQ4NDZmYjQ3NThhYmU2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTI1LDYg
KzExMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wQWxsTWVkaWFQbGF5YmFjaygpOwogICAg
IHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKTsKICAgICB2b2lkIHJlc3VtZUFsbE1lZGlh
UGxheWJhY2soKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIHZv
aWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKICNlbmRpZgogCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRTaG91bGRDcmVhdGVSZW5kZXJlcnMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA3MWFjOTk1Njg4MzEwMjc1MmRlZjRk
ODc3NTAxMjI2NDAyNjQ1YTZmLi4xNTM0MTVhNmY4NjA1OGI0NjYwMDM5NzQ1ODkyZDViZDRiNjYz
ODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAg
LTM3OSw2ICszNzksOSBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmRhdGFCdWZmZXJpbmdQ
ZXJtaXR0ZWQoKSBjb25zdAogICAgIGlmIChpc1N1c3BlbmRlZCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICBpZiAoYnVmZmVyaW5nU3VzcGVuZGVkKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIGlmIChzdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5aW5n
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtNzg1LDYgKzc4OCwyMyBAQCB2b2lkIE1lZGlh
RWxlbWVudFNlc3Npb246OnJlc2V0UGxheWJhY2tTZXNzaW9uU3RhdGUoKQogICAgIGFkZEJlaGF2
aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJlVG9Db250cm9sQ29udHJvbHNNYW5hZ2Vy
IHwgUmVxdWlyZVBsYXliYWNrVG9Db250cm9sQ29udHJvbHNNYW5hZ2VyKTsKIH0KIAordm9pZCBN
ZWRpYUVsZW1lbnRTZXNzaW9uOjpzdXNwZW5kQnVmZmVyaW5nKCkKK3sKKyAgICB1cGRhdGVDbGll
bnREYXRhQnVmZmVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVzdW1l
QnVmZmVyaW5nKCkKK3sKKyAgICB1cGRhdGVDbGllbnREYXRhQnVmZmVyaW5nKCk7Cit9CisKK2Jv
b2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YnVmZmVyaW5nU3VzcGVuZGVkKCkgY29uc3QKK3sKKyAg
ICBpZiAoYXV0byogcGFnZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLnBhZ2UoKSkKKyAgICAgICAg
cmV0dXJuIHBhZ2UtPm1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQoKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NQaWN0dXJlSW5QaWN0dXJl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9lbGVtZW50LmRvY3VtZW50KCkuc2V0dGluZ3MoKS5h
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCA1OTdiYTI3NzI5YWNjOGYyZTJlNzhjYWY5NjRm
NWZjODA4ZTJhMDFlLi5jZTA1OGM2ZTExZmU0NDFjMThkZTA2NTI2ODFjYmFhNDE5ODE0N2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTAxLDYgKzEw
MSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0UGxheWJhY2tTZXNzaW9uU3RhdGUoKSBv
dmVycmlkZTsKIAorICAgIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIG92ZXJyaWRlOworICAgIHZv
aWQgcmVzdW1lQnVmZmVyaW5nKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBidWZmZXJpbmdTdXNwZW5k
ZWQoKSBjb25zdDsKKwogICAgIC8vIFJlc3RyaWN0aW9ucyB0byBtb2RpZnkgZGVmYXVsdCBiZWhh
dmlvcnMuCiAgICAgZW51bSBCZWhhdmlvclJlc3RyaWN0aW9uRmxhZ3MgOiB1bnNpZ25lZCB7CiAg
ICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDI2YTI1ODE5
YzFhNzc0MWQxMmNkOTY0NjI5YWQxNTk3OTk4NmQwZDAuLjY0NmJkNWY0NDUyYzRmNGYxN2ZlZWJi
NTU0Y2VmMDFhNzI4NzRjZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTc1OSw2ICsxNzU5LDM2
IEBAIHZvaWQgUGFnZTo6cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCiAjZW5kaWYKIH0KIAordm9p
ZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQoreworI2lmIEVOQUJMRShWSURFTykK
KyAgICBBU1NFUlQoIW1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCk7CisgICAgaWYgKG1fbWVk
aWFCdWZmZXJpbmdJc1N1c3BlbmRlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fbWVkaWFCdWZm
ZXJpbmdJc1N1c3BlbmRlZCA9IHRydWU7CisKKyAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWlu
RnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewor
ICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAg
ICAgIGRvY3VtZW50LT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB9CisjZW5kaWYK
K30KKwordm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisjaWYgRU5BQkxF
KFZJREVPKQorICAgIEFTU0VSVChtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpOworICAgIGlm
ICghbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9t
ZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkID0gZmFsc2U7CisKKyAgICBmb3IgKEZyYW1lKiBmcmFt
ZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5l
eHQoKSkgeworICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkK
KyAgICAgICAgICAgIGRvY3VtZW50LT5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIH0K
KyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiB2b2lkIFBhZ2U6OmhhbmRs
ZU1lZGlhRXZlbnQoTWVkaWFFdmVudFR5cGUgZXZlbnRUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCA3ZjdiMzcwYmNhZTk4YWI5NTdkYjRjNTAxNzZkZWMyOWI3YjRmOTI2Li5mZDIzY2FkOTA5ZDgy
NDQwMDIyMWE3ZmUxMTVhM2I5NDIwMWI1ZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjA5LDcgKzYw
OSwxMCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9wQWxsTWVkaWFQbGF5
YmFjaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxheWJhY2so
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKLSAg
ICBib29sIG1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCgpIHsgcmV0dXJuIG1fbWVkaWFQbGF5YmFj
a0lzU3VzcGVuZGVkOyB9CisgICAgYm9vbCBtZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQoKSBjb25z
dCB7IHJldHVybiBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZDsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIGJvb2wgbWVkaWFCdWZmZXJpbmdJ
c1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZDsg
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBo
YW5kbGVNZWRpYUV2ZW50KE1lZGlhRXZlbnRUeXBlKTsKQEAgLTk1OSw2ICs5NjIsNyBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBtX3Nob3VsZEVuYWJsZUlDRUNhbmRpZGF0ZUZpbHRlcmluZ0J5RGVm
YXVsdCB7IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIHsgZmFs
c2UgfTsKKyAgICBib29sIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9
OwogCiBpbmxpbmUgUGFnZUdyb3VwJiBQYWdlOjpncm91cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCAyNWMxNzc5
OTBjZjI2MTNmMjVmZTBhZDAwZDg4MTI0MjliNmRhMGYyLi44N2UxOTJmNGZlM2ZhYWM4Y2Q2NGQz
NzRlZWQ3MmY0MGQ4MzY5N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTExMyw2ICsxMTMsOSBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHBhdXNlU2Vzc2lvbigpOwogICAgIHZvaWQgc3RvcFNlc3Npb24oKTsKKwor
ICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQnVmZmVyaW5nKCkgeyB9CisgICAgdmlydHVhbCB2b2lk
IHJlc3VtZUJ1ZmZlcmluZygpIHsgfQogICAgIAogI2lmIEVOQUJMRShWSURFTykKICAgICB1aW50
NjRfdCB1bmlxdWVJZGVudGlmaWVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApp
bmRleCAyMDUwYzVlMDgyZjMzODFiNjcxODAyZjgzNWIwN2VjNTRlNDhjNWQ0Li5iOWIwNzlkOWUx
ZmQ3ZmZmZmMyMDg1MzM3YTAzMzFmMWYyNzcwNThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5j
cHAKQEAgLTQzNyw2ICs0MzcsMjIgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWUKICAgICB9KTsK
IH0KIAordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYUJ1
ZmZlcmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBmb3JF
YWNoU2Vzc2lvbihbJl0gKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uLCBzaXplX3QpIHsK
KyAgICAgICAgaWYgKHNlc3Npb24uY2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRvY3Vt
ZW50KQorICAgICAgICAgICAgc2Vzc2lvbi5zdXNwZW5kQnVmZmVyaW5nKCk7CisgICAgfSk7Cit9
CisKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZl
cmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBmb3JFYWNo
U2Vzc2lvbihbJl0gKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uLCBzaXplX3QpIHsKKyAg
ICAgICAgaWYgKHNlc3Npb24uY2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRvY3VtZW50
KQorICAgICAgICAgICAgc2Vzc2lvbi5yZXN1bWVCdWZmZXJpbmcoKTsKKyAgICB9KTsKK30KKwog
dm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hTZXNzaW9uKGNvbnN0IEZ1
bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mLCBzaXplX3QpPiYgcHJlZGljYXRlKSBj
b25zdAogewogICAgICsrbV9pdGVyYXRpbmdPdmVyU2Vzc2lvbnM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCmluZGV4IDA2NWQ5NGZlZGM4OTVhZDZlZGQ1YmRhZTIwMDQ2Y2FiMjI2MGQ4ZjIuLmJhZjVk
ZDhjNzQ4ODExMWEwNDY1NDEzYTZiYTA5ZDYyMDNlMDAwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCkBAIC04MSw2ICs4MSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlh
UGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOwogICAgIHZvaWQgcmVzdW1lQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50Jik7CisgICAgdm9pZCBzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOworICAgIHZv
aWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOwog
CiAgICAgZW51bSBTZXNzaW9uUmVzdHJpY3Rpb25GbGFncyB7CiAgICAgICAgIE5vUmVzdHJpY3Rp
b25zID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IGI5ODdjOTkyNGI5ODZmNjQwMmFiYzg4NTFlM2M4YWRhOTJkYTQ2ZmYuLmYxNWIx
YzFjODFhY2FkNzNiODJlYjBhYmM5MzBmOGNiYjIwMjdlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNzA5MSw2ICs3MDkxLDE4IEBA
IC0gKF9XS0ZyYW1lSGFuZGxlICopX21haW5GcmFtZQogICAgIHJldHVybiBuaWw7CiB9CiAKKy0g
KHZvaWQpX3Byb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nCit7CisgICAgaWYg
KF9wYWdlKQorICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnNlbmRQcm9jZXNzV2lsbFN1c3BlbmRJ
bW1pbmVudGx5KCk7Cit9CisKKy0gKHZvaWQpX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nCit7
CisgICAgaWYgKF9wYWdlKQorICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnNlbmRQcm9jZXNzRGlk
UmVzdW1lKCk7Cit9CisKIC0gKHZvaWQpX2RlbnlOZXh0VXNlck1lZGlhUmVxdWVzdAogewogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCAxMmIwMWU4NWQxOTM2MDFkZjFhMmJh
M2U4NDExZTQ4MTVjZjdlNDc3Li40NmY1ZWZkMzYzY2QzMjYyMTIwZGZkZDc3NmM2NTY4MzZmMDk1
ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdQcml2YXRlLmgKQEAgLTU0Nyw2ICs1NDcsOSBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNV
SW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
X1dLSW5zcGVjdG9yICpfaW5zcGVjdG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBf
V0tGcmFtZUhhbmRsZSAqX21haW5GcmFtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfcHJvY2Vzc1dpbGxTdXNwZW5kSW1t
aW5lbnRseUZvclRlc3Rpbmc7CistICh2b2lkKV9wcm9jZXNzRGlkUmVzdW1lRm9yVGVzdGluZzsK
KwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmgKaW5kZXggODM1Njg2YzYzMDEzY2JjZDlkMDMzNTdiMDE3NTdmODFjNDBlYmQwMi4uMGE2YWVk
YzgwMzBiM2M0NTExYTJhOGMzYmRmNjE4N2E5MzMzOTdkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTI1Miw2ICsyNTIsMTMgQEAgcHVibGljOgogICAg
IHZvaWQgc2h1dERvd24oKTsKICAgICB2b2lkIG1heWJlU2h1dERvd24oKTsKIAorICAgIC8vIFBy
b2Nlc3NUaHJvdHRsZXJDbGllbnQKKyAgICB2b2lkIHNlbmRQcm9jZXNzV2lsbFN1c3BlbmRJbW1p
bmVudGx5KCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZW5kUHJlcGFyZVRvU3VzcGVuZCgpIG92ZXJy
aWRlOworICAgIHZvaWQgc2VuZENhbmNlbFByZXBhcmVUb1N1c3BlbmQoKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRTZXRB
c3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgb3ZlcnJpZGU7CisKIHByb3RlY3RlZDoKICAg
ICBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQYWdlSUQoKTsKICAgICBXZWJQcm9jZXNzUHJveHko
V2ViUHJvY2Vzc1Bvb2wmLCBXZWJzaXRlRGF0YVN0b3JlJiwgSXNQcmV3YXJtZWQpOwpAQCAtMzIx
LDEzICszMjgsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2hhbmdlSXNSZXNwb25zaXZlKCkg
b3ZlcnJpZGU7CiAgICAgYm9vbCBtYXlCZWNvbWVVbnJlc3BvbnNpdmUoKSBvdmVycmlkZTsKIAot
ICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKLSAgICB2b2lkIHNlbmRQcm9jZXNzV2lsbFN1
c3BlbmRJbW1pbmVudGx5KCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZW5kUHJlcGFyZVRvU3VzcGVu
ZCgpIG92ZXJyaWRlOwotICAgIHZvaWQgc2VuZENhbmNlbFByZXBhcmVUb1N1c3BlbmQoKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgb3ZlcnJpZGU7Ci0KICAgICAv
LyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlByb2Nlc3NQcm94eU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU3luY1dlYlByb2Nl
c3NQcm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlx
dWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggZDBiOTc1MzA4MGMzNjEzOGFmYjM0NTM1NTFjNWFlZTcxODA4
MjdiOC4uZWU4MmM5MjdkNmY0N2IzNTEyMTg2NzBjODU5NTlmMTY4MTcyMjY1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4MCw2ICs2ODAs
MTcgQEAgdm9pZCBXZWJQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKICAgICBtX3BhZ2Ut
PnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKIH0KIAordm9pZCBXZWJQYWdlOjpzdXNwZW5kQWxs
TWVkaWFCdWZmZXJpbmcoKQoreworICAgIG1fcGFnZS0+c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5n
KCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAg
IG1fcGFnZS0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKK30KKworCiB2b2lkIFdlYlBhZ2U6
OnJlaW5pdGlhbGl6ZVdlYlBhZ2UoV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRl
cnMpCiB7CiAgICAgQVNTRVJUKG1fZHJhd2luZ0FyZWEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGU3NjRmOTkyZTI1MTc5ZjNlYjE5MDk4MWM2OTUw
NDQzMTkwZjIwMzEuLmE3MTdlMDkxYTYyM2M5NmRmYjlhMTYwNzY2MGRiNjIwY2MxNGY1NGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTExMzcsNiAr
MTEzNyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhZ2VNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogCisgICAgdm9pZCBzdXNwZW5kQWxsTWVk
aWFCdWZmZXJpbmcoKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA2
N2I4OTRkNzhjYTA0MDIxNWJkYzkwNDExMzVlM2M0MGQ0MTY4YjNlLi45NjBlZWM3N2FkZjRjMzQ2
ZDhhODA3OTdhMzM2MjhjYzkwNWVlMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCkBAIC0xMzc5LDYgKzEzNzksMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjphY3R1YWxQ
cmVwYXJlVG9TdXNwZW5kKFNob3VsZEFja25vd2xlZGdlV2hlblJlYWR5VG9TdXNwZW5kIHNob3UK
IHsKICAgICBTZXRGb3JTY29wZTxib29sPiBzdXNwZW5zaW9uU2NvcGUobV9pc1N1c3BlbmRpbmcs
IHRydWUpOwogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmlu
ZygpOworI2VuZGlmCisKICAgICBpZiAoIW1fc3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIp
CiAgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkucmVsZWFzZU1lbW9y
eShDcml0aWNhbDo6WWVzLCBTeW5jaHJvbm91czo6WWVzKTsKIApAQCAtMTQzNSw3ICsxNDM5LDEx
IEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2FuY2VsUHJlcGFyZVRvU3VzcGVuZCgpCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBhY2Nlc3NpYmlsaXR5UHJvY2Vzc1N1c3BlbmRlZE5vdGlmaWNh
dGlvbihmYWxzZSk7CiAjZW5kaWYKLSAgICAKKworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXN1
bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCisKICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5
IGZpbmlzaGVkIGNsZWFuaW5nIHVwIGFuZCBzZW50IFByb2Nlc3NSZWFkeVRvU3VzcGVuZCwgd2UK
ICAgICAvLyBzaG91bGRuJ3Qgc2VuZCBEaWRDYW5jZWxQcm9jZXNzU3VzcGVuc2lvbjsgdGhlIFVJ
IHByb2Nlc3Mgc3RyaWN0bHkgZXhwZWN0cyBvbmUgb3IgdGhlIG90aGVyLgogICAgIGlmICghbV9w
YWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3VudGVyKQpAQCAtMTUwMCw2ICsxNTA4LDEwIEBA
IHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc0RpZFJlc3VtZSgpCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBhY2Nlc3NpYmlsaXR5UHJvY2Vzc1N1c3BlbmRlZE5vdGlmaWNhdGlvbihmYWxz
ZSk7CiAjZW5kaWYKKworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXN1bWVBbGxNZWRpYUJ1ZmZl
cmluZygpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6c2VuZFByZXdhcm1JbmZvcm1h
dGlvbihjb25zdCBVUkwmIHVybCkKQEAgLTE3NTIsNiArMTc2NCwyMCBAQCB2b2lkIFdlYlByb2Nl
c3M6OnJlc2V0TW9ja01lZGlhRGV2aWNlcygpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURF
TykKK3ZvaWQgV2ViUHJvY2Vzczo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBm
b3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCisgICAgICAgIHBhZ2UtPnN1c3Bl
bmRBbGxNZWRpYUJ1ZmZlcmluZygpOworfQorCit2b2lkIFdlYlByb2Nlc3M6OnJlc3VtZUFsbE1l
ZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVz
KCkpCisgICAgICAgIHBhZ2UtPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7Cit9CisjZW5kaWYK
Kwogdm9pZCBXZWJQcm9jZXNzOjpjbGVhckN1cnJlbnRNb2RpZmllclN0YXRlRm9yVGVzdGluZygp
CiB7CiAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpzZXRDdXJyZW50TW9kaWZpZXJTdGF0ZSh7
IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggOGQwMjEzMzk0ODE4
MTUwYjUwZTIyNDQ0ZjllYzJiM2VjN2M1Njc1YS4uODk4ZDIzMDUzMWRhYTRmMjQzYjU3Y2VmNmJj
MzRhNzNkNjM4ODdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0z
OTQsNiArMzk0LDExIEBAIHByaXZhdGU6CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFZJ
REVPKQorICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgdm9pZCByZXN1
bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCisKICAgICB2b2lkIGNsZWFyQ3VycmVudE1v
ZGlmaWVyU3RhdGVGb3JUZXN0aW5nKCk7CiAKICAgICBSZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzPiBtX3dlYkNvbm5lY3Rpb247CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggYTU5ZGEyY2Q5Y2ZlN2MxYjU3NzFlMDNjY2I0MzdiNDQyNDAy
ZTEwZC4uZDk3NDgzNmNkMmY5NTFiNWExODc3YmFiOTFhMzRjZTRiMDcyNDdkYSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE5LTAxLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gTWVkaWEgZWxlbWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1
c3QgYmVmb3JlIHN1c3BlbmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MzY5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgor
CiAyMDE4LTExLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBhIGdpdCB1dGlsaXR5IG1ldGhvZCB0aGF0IGFsbG93cyB0aGUgY2FsbGVyIHRvIGRldGVy
bWluZSBpZiBhIHNwZWNpZmljIGNvbW1pdGlzaCBpcyB3aXRoaW4gYSBzcGVjaWZpZWQgcmFuZ2Ug
b2YgY29tbWl0cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDRhMjhjMWZkNmJjZDZjNmNm
MjJjZWExYzc0NWU4N2M1MmU5NzljYS4uOTI3OGM5NDNhY2NlMWJhYzVjN2QzYTAwYWU4OTMzYTM1
ZGIyOTJlNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc3Nyw2ICs3NzcsNyBAQAogCQlD
REEzMTU5ODFFRDUzNjUxMDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMzE1OTYx
RUQ1MzY1MTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbSAqLzsgfTsK
IAkJQ0RBMzE1OUExRUQ1NDhGMTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlv
bi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQTMxNTk5MUVENTQwQTUwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRp
b24uaHRtbCAqLzsgfTsKIAkJQ0RBMzE1OUQxRUQ1NjQzRjAwOUY2MEQzIC8qIElPS2l0LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
QTMxNTlDMUVENTY0M0YwMDlGNjBEMyAvKiBJT0tpdC5mcmFtZXdvcmsgKi87IH07CisJCUNEQTQ0
MzhFMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBNDQzOEQyMUY3
QTQ3NzAwMzc5NDg5IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gKi87IH07CiAJ
CUNEQjQxMTVBMUUwQjAwREIwMEVBRDM1MiAvKiB2aWRlby13aXRoLW11dGVkLWF1ZGlvLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RC
NDExNTkxRTA5REE4RTAwRUFEMzUyIC8qIHZpZGVvLXdpdGgtbXV0ZWQtYXVkaW8uaHRtbCAqLzsg
fTsKIAkJQ0RCNURGRkYyMTM2MTBGQTAwRDNFMTg5IC8qIG5vdy1wbGF5aW5nLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCNURGRkUy
MTM2MEVEODAwRDNFMTg5IC8qIG5vdy1wbGF5aW5nLmh0bWwgKi87IH07CiAJCUNEQkZDQzQ1MUE5
RkY0NTMwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkZDQzQzMUE5RkY0NDgwMEE3
QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSAqLzsgfTsKQEAgLTIwODcsNiAr
MjA4OCw3IEBACiAJCUNEQTMxNTk2MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xl
ZXBBc3NlcnRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVBsYXliYWNrU2xlZXBB
c3NlcnRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTMxNTk5MUVENTQw
QTUwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24uaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
IE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREEzMTU5QzFFRDU2NDNGMDA5RjYwRDMgLyogSU9LaXQuZnJhbWV3b3JrICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IG5hbWUgPSBJT0tpdC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0lPS2l0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCUNEQTQ0
MzhEMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCNDExNTkxRTA5REE4RTAwRUFEMzUyIC8qIHZp
ZGVvLXdpdGgtbXV0ZWQtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ2
aWRlby13aXRoLW11dGVkLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREI1REZGRTIxMzYwRUQ4MDBEM0UxODkgLyogbm93LXBsYXlpbmcuaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
ICJub3ctcGxheWluZy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCRkND
NDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1s
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU0Miw2ICsyNTQ0LDcgQEAKIAkJCQlD
RDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9CdWZmZXJTaXplLm1tICov
LAogCQkJCTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93
Lm1tICovLAogCQkJCTQxODgyRjAyMjEwMTBBNzAwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWlu
Zy5tbSAqLywKKwkJCQlDREE0NDM4RDIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3BlbmRN
ZWRpYUJ1ZmZlcmluZy5tbSAqLywKIAkJCQk1MThDMTE1MjIwNUIwNEY5MDAxRkY0QUUgLyogUHJv
Y2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gKi8sCiAJCQkJNTc5OEUyQUYxQ0FGNUMyODAwQzVDQkEw
IC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hhbmdlLm1tICovLAogCQkJCUExQzRGQjZDMUJBQ0NFNTAw
MDM3NDJEMCAvKiBRdWlja0xvb2subW0gKi8sCkBAIC00MTY2LDYgKzQxNjksNyBAQAogCQkJCTdD
Q0U3RjBDMUE0MTFBRTYwMDQ0N0M0QyAvKiBQcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3Rv
cnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NjQ3QjEyNjFFQkEzQjg1MDA0MUQ3
RUYgLyogUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTg4MkYw
MzIxMDEwQzBEMDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gaW4gU291cmNlcyAqLywK
KwkJCQlDREE0NDM4RTIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZl
cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxOEMxMTUzMjA1QjA1MDQwMDFGRjRBRSAvKiBQ
cm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEMxMUQw
QTY1MkYwMEZFQkNGMyAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTA0MUExRTM0MjE2RkZEQkMwMDc4OUUwQSAvKiBQdWJsaWNTdWZmaXguY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzU4NGU0ZjBhMDViN2I0OTUyNTVkNDIxNGNhYzEyOWZkMWJjYTFiNQotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N1
c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbQpAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9y
bVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorCisjaW1wb3J0IDxXZWJL
aXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXdQcml2YXRlLmg+CisKK1RFU1QoV2ViS2l0LCBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVy
aW5nKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBj
b250ZXh0KEFkb3B0V0ssIFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmpl
Y3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25m
aWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0Lmdl
dCgpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eSA9IFlFUzsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2Vy
QWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBfX2Jsb2NrIGJvb2wgaXNQbGF5aW5nID0gZmFs
c2U7CisgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBsYXlpbmci
IGFjdGlvbjpeKCkgeyBpc1BsYXlpbmcgPSB0cnVlOyB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaXNQbGF5aW5nKTsKKworICAgIGF1dG8gaXNFbGVtZW50QWxsb3dlZFRvQnVm
ZmVyID0gWyZdIHsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmVsZW1lbnRTaG91bGRCdWZmZXJEYXRhKGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpIl0uYm9vbFZhbHVlOworICAgIH07CisKKyAgICBB
U1NFUlRfVFJVRShpc0VsZW1lbnRBbGxvd2VkVG9CdWZmZXIoKSk7CisKKyAgICBbd2ViVmlldyBf
cHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmddOworCisgICAgQVNTRVJUX0ZB
TFNFKGlzRWxlbWVudEFsbG93ZWRUb0J1ZmZlcigpKTsKKworICAgIFt3ZWJWaWV3IF9wcm9jZXNz
RGlkUmVzdW1lRm9yVGVzdGluZ107CisKKyAgICBBU1NFUlRfVFJVRShpc0VsZW1lbnRBbGxvd2Vk
VG9CdWZmZXIoKSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361418</attachid>
            <date>2019-02-07 10:58:56 -0800</date>
            <delta_ts>2019-02-07 11:28:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193691-20190207105855.patch</filename>
            <type>text/plain</type>
            <size>26749</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3OGMzMjBhYzhjYTFi
Y2ZhZTUxMGQ0YmY4ODkwNjYwOGM5MTk2ZC4uMGU4NGVmMDlkNWU4YzFlNDUwMzI1ZjkxM2IzYzlh
ZjJjNDYyYThiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAxLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxl
bWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFQSSBU
ZXN0OiBXZWJLaXQuUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZworCisgICAgICAgIEFsbG93
IHRoZSBQYWdlIHRvIHN1c3BlbmQgYWxsIG1lZGlhIGJ1ZmZlcmluZyBpbiBpdHMgY2hpbGQgRG9j
dW1lbnRzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGF0YUJ1ZmZlcmluZ1Blcm1pdHRlZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpzdXNwZW5kQnVmZmVy
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnJlc3VtZUJ1ZmZl
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpidWZmZXJpbmdT
dXNwZW5kZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cmVzdW1lQWxsTWVk
aWFCdWZmZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6Om1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OnN1c3BlbmRCdWZmZXJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnJlc3VtZUJ1ZmZlcmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAxOS0wMi0w
NiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFBy
aXZhdGVOYW1lIHRvIFB1YmxpY05hbWUgaGFzaCB0YWJsZSBpcyB3YXN0ZWZ1bApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA3YjAyNzUyMjA2ZWVkOWZmNGVhMjJhYWE1MzgzYWJkMDhjNjMwMWZjLi5kOGY5NDRjMjZhMWZh
ODYzOTIxOWQ2YzBiYmFjOGIzOWU4ZTc4YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisy
MDE5LTAxLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gTWVkaWEgZWxlbWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3Qg
YmVmb3JlIHN1c3BlbmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MzY5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdoZW4gdGhlIFdlYlByb2Nlc3MgcmVjZWl2ZXMgYSBub3RpZmljYXRpb24gdGhh
dCB0aGUgcHJvY2VzcyBpcyBhYm91dCB0byBiZWNvbWUKKyAgICAgICAgc3VzcGVuZGVkLCBpdCB0
ZWxscyB0aGUgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHRvIHJlbGVhc2UgYWxsIGNyaXRpY2FsIG1l
bW9yeS4gVGhpcworICAgICAgICBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGNhdXNpbmcgQVZGb3Vu
ZGF0aW9uLWJhY2tlZCBtZWRpYSBlbGVtZW50cyB0byBkdW1wIHRoZWlyCisgICAgICAgIGluLW1l
bW9yeSBjYWNoZXMgYW5kIHN0YXJ0IGRvd25sb2FkaW5nIG1lZGlhIGRhdGEgYWdhaW4uIEluc3Rl
YWQsIG1lZGlhIGVsZW1lbnRzCisgICAgICAgIHNob3VsZCBhbGwgc3RvcCBidWZmZXJpbmcgbWVk
aWEgZGF0YSBkdXJpbmcgc3VzcGVuc2lvbi4gQWRkIG5ldyB0ZXN0aW5nIFNQSSB0bworICAgICAg
ICBzaW11bGF0ZSBzdXNwZW5zaW9uIGFuZCByZXN1bWUgbWVzc2FnZXMuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9w
cm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5Rm9yVGVzdGluZ10pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nXSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tJbmtQaWNrZXJWaWV3Lm1t
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWN0dWFsUHJlcGFyZVRvU3VzcGVuZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNhbmNlbFByZXBhcmVUb1N1c3BlbmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE5LTAyLTA2ICBLZWl0aCBSb2xsaW4gIDxr
cm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWFsbHkgZW5hYmxlIHRoZSBhdXRvbWF0aWMg
Y2hlY2tpbmcgYW5kIHJlZ2VuZXJhdGlvbnMgb2YgLnhjZmlsZWxpc3RzIGR1cmluZyBidWlsZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDMxZjQ0MmJmNzUyOTJiMWMzMGJiZjlhZDJjMmEy
MzRlOGZkMWIwMGQuLjc1NjlmNjE1Y2Q1Yzc0MGVjZGUxZDc2YWJiOTFjNDhjNzc2NTZjNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTczOCw2ICsxNzM4LDE4IEBAIHZvaWQgRG9jdW1l
bnQ6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFn
ZXJJZkV4aXN0cygpKQogICAgICAgICBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3Vt
ZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCgqdGhpcyk7CiB9CisKK3ZvaWQgRG9jdW1lbnQ6
OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+c3Vz
cGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9jdW1lbnQoKnRoaXMpOworfQorCit2b2lkIERvY3Vt
ZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgaWYgKGF1dG8qIHBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+
cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCgqdGhpcyk7Cit9CiAjZW5kaWYKIAog
U3RyaW5nIERvY3VtZW50Ojpub2RlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDE4ZmVmZTUwYTkzYjkxM2VlMDNlOWMyYzVlYjIzZGRlYmRhNmE3MjEuLjM3ZGRkNTA0MTFjOWQz
MTBiMWZlZTgzYTY5YTI1ZWRlMWNiNjk0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTI1
LDYgKzExMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wQWxsTWVkaWFQbGF5YmFjaygpOwog
ICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxheWJhY2soKTsKICAgICB2b2lkIHJlc3VtZUFsbE1l
ZGlhUGxheWJhY2soKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAg
IHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKICNlbmRpZgogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTaG91bGRDcmVhdGVSZW5kZXJlcnMoYm9vbCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA3MWFjOTk1Njg4MzEwMjc1MmRl
ZjRkODc3NTAxMjI2NDAyNjQ1YTZmLi4xNTM0MTVhNmY4NjA1OGI0NjYwMDM5NzQ1ODkyZDViZDRi
NjYzODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
QEAgLTM3OSw2ICszNzksOSBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmRhdGFCdWZmZXJp
bmdQZXJtaXR0ZWQoKSBjb25zdAogICAgIGlmIChpc1N1c3BlbmRlZCgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKKyAgICBpZiAoYnVmZmVyaW5nU3VzcGVuZGVkKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIGlmIChzdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5
aW5nKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtNzg1LDYgKzc4OCwyMyBAQCB2b2lkIE1l
ZGlhRWxlbWVudFNlc3Npb246OnJlc2V0UGxheWJhY2tTZXNzaW9uU3RhdGUoKQogICAgIGFkZEJl
aGF2aW9yUmVzdHJpY3Rpb24oUmVxdWlyZVVzZXJHZXN0dXJlVG9Db250cm9sQ29udHJvbHNNYW5h
Z2VyIHwgUmVxdWlyZVBsYXliYWNrVG9Db250cm9sQ29udHJvbHNNYW5hZ2VyKTsKIH0KIAordm9p
ZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpzdXNwZW5kQnVmZmVyaW5nKCkKK3sKKyAgICB1cGRhdGVD
bGllbnREYXRhQnVmZmVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVz
dW1lQnVmZmVyaW5nKCkKK3sKKyAgICB1cGRhdGVDbGllbnREYXRhQnVmZmVyaW5nKCk7Cit9CisK
K2Jvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YnVmZmVyaW5nU3VzcGVuZGVkKCkgY29uc3QKK3sK
KyAgICBpZiAoYXV0byogcGFnZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLnBhZ2UoKSkKKyAgICAg
ICAgcmV0dXJuIHBhZ2UtPm1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQoKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphbGxvd3NQaWN0dXJlSW5QaWN0
dXJlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9lbGVtZW50LmRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCA1OTdiYTI3NzI5YWNjOGYyZTJlNzhjYWY5
NjRmNWZjODA4ZTJhMDFlLi5jZTA1OGM2ZTExZmU0NDFjMThkZTA2NTI2ODFjYmFhNDE5ODE0N2Ux
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTAxLDYg
KzEwMSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0UGxheWJhY2tTZXNzaW9uU3RhdGUo
KSBvdmVycmlkZTsKIAorICAgIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIG92ZXJyaWRlOworICAg
IHZvaWQgcmVzdW1lQnVmZmVyaW5nKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBidWZmZXJpbmdTdXNw
ZW5kZWQoKSBjb25zdDsKKwogICAgIC8vIFJlc3RyaWN0aW9ucyB0byBtb2RpZnkgZGVmYXVsdCBi
ZWhhdmlvcnMuCiAgICAgZW51bSBCZWhhdmlvclJlc3RyaWN0aW9uRmxhZ3MgOiB1bnNpZ25lZCB7
CiAgICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDc4YmUx
ODMwMDZkZDc4NTVkM2ZmYjJiM2Q5N2FhM2YyMjIyOWMyNDkuLmJjYzFkOGRiZTA5ZDJjNzUzM2M2
MzlkZGZjZDFhNGE4MjhlYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTc2MCw2ICsxNzYw
LDM2IEBAIHZvaWQgUGFnZTo6cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCiAjZW5kaWYKIH0KIAor
dm9pZCBQYWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQoreworI2lmIEVOQUJMRShWSURF
TykKKyAgICBBU1NFUlQoIW1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCk7CisgICAgaWYgKG1f
bWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fbWVkaWFC
dWZmZXJpbmdJc1N1c3BlbmRlZCA9IHRydWU7CisKKyAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZt
YWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkg
eworICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAg
ICAgICAgIGRvY3VtZW50LT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB9CisjZW5k
aWYKK30KKwordm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisjaWYgRU5B
QkxFKFZJREVPKQorICAgIEFTU0VSVChtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpOworICAg
IGlmICghbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKQorICAgICAgICByZXR1cm47CisgICAg
bV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkID0gZmFsc2U7CisKKyAgICBmb3IgKEZyYW1lKiBm
cmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJz
ZU5leHQoKSkgeworICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQo
KSkKKyAgICAgICAgICAgIGRvY3VtZW50LT5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworICAg
IH0KKyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiB2b2lkIFBhZ2U6Omhh
bmRsZU1lZGlhRXZlbnQoTWVkaWFFdmVudFR5cGUgZXZlbnRUeXBlKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApp
bmRleCA5NDY0YThkZGFmMDdhNTQzZjBiODY4YWIwODM2NDljYWZmNzIwNGI3Li5mZjkyNzUzODdk
MGMzYzBkNTlmMDFmMGJkMDM1MzFkOTM4YTBiMjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjE0LDcg
KzYxNCwxMCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9wQWxsTWVkaWFQ
bGF5YmFjaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxheWJh
Y2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsK
LSAgICBib29sIG1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCgpIHsgcmV0dXJuIG1fbWVkaWFQbGF5
YmFja0lzU3VzcGVuZGVkOyB9CisgICAgYm9vbCBtZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQoKSBj
b25zdCB7IHJldHVybiBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZDsgfQorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIGJvb2wgbWVkaWFCdWZmZXJp
bmdJc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRl
ZDsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBoYW5kbGVNZWRpYUV2ZW50KE1lZGlhRXZlbnRUeXBlKTsKQEAgLTk2Nyw2ICs5NzAsNyBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCBtX3Nob3VsZEVuYWJsZUlDRUNhbmRpZGF0ZUZpbHRlcmluZ0J5
RGVmYXVsdCB7IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIHsg
ZmFsc2UgfTsKKyAgICBib29sIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCB7IGZhbHNlIH07
CiB9OwogCiBpbmxpbmUgUGFnZUdyb3VwJiBQYWdlOjpncm91cCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCAyNWMx
Nzc5OTBjZjI2MTNmMjVmZTBhZDAwZDg4MTI0MjliNmRhMGYyLi44N2UxOTJmNGZlM2ZhYWM4Y2Q2
NGQzNzRlZWQ3MmY0MGQ4MzY5N2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTExMyw2ICsxMTMsOSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHBhdXNlU2Vzc2lvbigpOwogICAgIHZvaWQgc3RvcFNlc3Npb24oKTsK
KworICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQnVmZmVyaW5nKCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIHJlc3VtZUJ1ZmZlcmluZygpIHsgfQogICAgIAogI2lmIEVOQUJMRShWSURFTykKICAgICB1
aW50NjRfdCB1bmlxdWVJZGVudGlmaWVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cAppbmRleCAyMDUwYzVlMDgyZjMzODFiNjcxODAyZjgzNWIwN2VjNTRlNDhjNWQ0Li5iOWIwNzlk
OWUxZmQ3ZmZmZmMyMDg1MzM3YTAzMzFmMWYyNzcwNThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHAKQEAgLTQzNyw2ICs0MzcsMjIgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWUKICAgICB9
KTsKIH0KIAordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBm
b3JFYWNoU2Vzc2lvbihbJl0gKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uLCBzaXplX3Qp
IHsKKyAgICAgICAgaWYgKHNlc3Npb24uY2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRv
Y3VtZW50KQorICAgICAgICAgICAgc2Vzc2lvbi5zdXNwZW5kQnVmZmVyaW5nKCk7CisgICAgfSk7
Cit9CisKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYUJ1
ZmZlcmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBmb3JF
YWNoU2Vzc2lvbihbJl0gKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uLCBzaXplX3QpIHsK
KyAgICAgICAgaWYgKHNlc3Npb24uY2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRvY3Vt
ZW50KQorICAgICAgICAgICAgc2Vzc2lvbi5yZXN1bWVCdWZmZXJpbmcoKTsKKyAgICB9KTsKK30K
Kwogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hTZXNzaW9uKGNvbnN0
IEZ1bmN0aW9uPHZvaWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mLCBzaXplX3QpPiYgcHJlZGljYXRl
KSBjb25zdAogewogICAgICsrbV9pdGVyYXRpbmdPdmVyU2Vzc2lvbnM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oCmluZGV4IDA2NWQ5NGZlZGM4OTVhZDZlZGQ1YmRhZTIwMDQ2Y2FiMjI2MGQ4ZjIuLmJh
ZjVkZDhjNzQ4ODExMWEwNDY1NDEzYTZiYTA5ZDYyMDNlMDAwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oCkBAIC04MSw2ICs4MSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3VzcGVuZEFsbE1l
ZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOwogICAgIHZvaWQgcmVzdW1l
QWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50Jik7CisgICAgdm9pZCBz
dXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOworICAg
IHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYp
OwogCiAgICAgZW51bSBTZXNzaW9uUmVzdHJpY3Rpb25GbGFncyB7CiAgICAgICAgIE5vUmVzdHJp
Y3Rpb25zID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCmluZGV4IDc1N2M5NThiZjBhOGU1YmQ4ZjMzNDk2MzZhYWI0NGQ2N2ZiZmQ0ZTkuLjFk
ODY1NjEwNzgxZmQ3ZmM3ZWI0MjA4OGI1NDY2ZTRiYmRhOWRmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNzExMiw2ICs3MTEyLDE4
IEBAIC0gKF9XS0ZyYW1lSGFuZGxlICopX21haW5GcmFtZQogICAgIHJldHVybiBuaWw7CiB9CiAK
Ky0gKHZvaWQpX3Byb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nCit7CisgICAg
aWYgKF9wYWdlKQorICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnNlbmRQcm9jZXNzV2lsbFN1c3Bl
bmRJbW1pbmVudGx5KCk7Cit9CisKKy0gKHZvaWQpX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5n
Cit7CisgICAgaWYgKF9wYWdlKQorICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnNlbmRQcm9jZXNz
RGlkUmVzdW1lKCk7Cit9CisKIC0gKHZvaWQpX2RlbnlOZXh0VXNlck1lZGlhUmVxdWVzdAogewog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCAxMmIwMWU4NWQxOTM2MDFkZjFh
MmJhM2U4NDExZTQ4MTVjZjdlNDc3Li40NmY1ZWZkMzYzY2QzMjYyMTIwZGZkZDc3NmM2NTY4MzZm
MDk1ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlLmgKQEAgLTU0Nyw2ICs1NDcsOSBAQCB0eXBlZGVmIE5TX09QVElPTlMo
TlNVSW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgX1dLSW5zcGVjdG9yICpfaW5zcGVjdG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBfV0tGcmFtZUhhbmRsZSAqX21haW5GcmFtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfcHJvY2Vzc1dpbGxTdXNwZW5k
SW1taW5lbnRseUZvclRlc3Rpbmc7CistICh2b2lkKV9wcm9jZXNzRGlkUmVzdW1lRm9yVGVzdGlu
ZzsKKwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKaW5kZXggOGRmNWMyNTM0NGMyM2YwMzFkMWQxYmEwNWYzOTYyYWFhODVmYzhiMC4uZTZj
OTVlMjBhZTZhMGYwOGFiNTA2Mzg1ZGRlM2E5MWJjMjE3Yzg1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTI1Myw2ICsyNTMsMTMgQEAgcHVibGljOgog
ICAgIHZvaWQgc2h1dERvd24oKTsKICAgICB2b2lkIG1heWJlU2h1dERvd24oKTsKIAorICAgIC8v
IFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKKyAgICB2b2lkIHNlbmRQcm9jZXNzV2lsbFN1c3BlbmRJ
bW1pbmVudGx5KCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZW5kUHJlcGFyZVRvU3VzcGVuZCgpIG92
ZXJyaWRlOworICAgIHZvaWQgc2VuZENhbmNlbFByZXBhcmVUb1N1c3BlbmQoKSBvdmVycmlkZTsK
KyAgICB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRT
ZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgb3ZlcnJpZGU7CisKIHByb3RlY3RlZDoK
ICAgICBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQYWdlSUQoKTsKICAgICBXZWJQcm9jZXNzUHJv
eHkoV2ViUHJvY2Vzc1Bvb2wmLCBXZWJzaXRlRGF0YVN0b3JlJiwgSXNQcmV3YXJtZWQpOwpAQCAt
MzIyLDEzICszMjksNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2hhbmdlSXNSZXNwb25zaXZl
KCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBtYXlCZWNvbWVVbnJlc3BvbnNpdmUoKSBvdmVycmlkZTsK
IAotICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKLSAgICB2b2lkIHNlbmRQcm9jZXNzV2ls
bFN1c3BlbmRJbW1pbmVudGx5KCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZW5kUHJlcGFyZVRvU3Vz
cGVuZCgpIG92ZXJyaWRlOwotICAgIHZvaWQgc2VuZENhbmNlbFByZXBhcmVUb1N1c3BlbmQoKSBv
dmVycmlkZTsKLSAgICB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgb3ZlcnJpZGU7Ci0KICAg
ICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlByb2Nlc3NQcm94eU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU3luY1dlYlBy
b2Nlc3NQcm94eU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1
bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGUzNDYxN2U0MGZjMjY3NTgwMDBmYzRlYzliNTkwZDJj
OWFjZjQ0OS4uMzVjOWI4MmM0Mzg1YTRhN2VmZjMzYTZhOWQ1MWFiZTg0MTIwN2RlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4NCw2ICs2
ODQsMTcgQEAgdm9pZCBXZWJQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKICAgICBtX3Bh
Z2UtPnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKTsKIH0KIAordm9pZCBXZWJQYWdlOjpzdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAgIG1fcGFnZS0+c3VzcGVuZEFsbE1lZGlhQnVmZmVy
aW5nKCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQorewor
ICAgIG1fcGFnZS0+cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKK30KKworCiB2b2lkIFdlYlBh
Z2U6OnJlaW5pdGlhbGl6ZVdlYlBhZ2UoV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCiB7CiAgICAgQVNTRVJUKG1fZHJhd2luZ0FyZWEpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGExYTAyOTRhYTVhNmQ1YWY5MjM4MDQxM2Rk
ZGM0ZTMzYTJmZjNmZjguLjFiZmFjYjEzZTgxMjlhMjBjNzIzNWEwMjczMWEzMTJkMDhlNzJjYmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTExNDUs
NiArMTE0NSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHNlbmRTeW5jKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUocmVwbHkpLCBtX3BhZ2VJRCwgU2Vjb25kczo6aW5maW5pdHkoKSwgSVBD
OjpTZW5kU3luY09wdGlvbjo6SW5mb3JtUGxhdGZvcm1Qcm9jZXNzV2lsbFN1c3BlbmQpOwogICAg
IH0KIAorICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgdm9pZCByZXN1
bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3Qg
cGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMjgyMjA1MGU0YWI1MWEyODQ5MTJiZWZjNGQwM2Fi
MjUyYTBlZmRjZi4uYmMxMzEwM2VkNjczNDViYTY1YWEyYjg1MjQwNzQwMTRmYWE5MmViYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTM3OSw2ICsxMzc5LDEw
IEBAIHZvaWQgV2ViUHJvY2Vzczo6YWN0dWFsUHJlcGFyZVRvU3VzcGVuZChTaG91bGRBY2tub3ds
ZWRnZVdoZW5SZWFkeVRvU3VzcGVuZCBzaG91CiB7CiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gc3Vz
cGVuc2lvblNjb3BlKG1faXNTdXNwZW5kaW5nLCB0cnVlKTsKIAorI2lmIEVOQUJMRShWSURFTykK
KyAgICBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyNlbmRpZgorCiAgICAgaWYgKCFtX3N1
cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyKQogICAgICAgICBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OnNpbmdsZXRvbigpLnJlbGVhc2VNZW1vcnkoQ3JpdGljYWw6OlllcywgU3luY2hyb25vdXM6
Olllcyk7CiAKQEAgLTE0MzUsNyArMTQzOSwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmNhbmNlbFBy
ZXBhcmVUb1N1c3BlbmQoKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYWNjZXNzaWJp
bGl0eVByb2Nlc3NTdXNwZW5kZWROb3RpZmljYXRpb24oZmFsc2UpOwogI2VuZGlmCi0gICAgCisK
KyNpZiBFTkFCTEUoVklERU8pCisgICAgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyNlbmRp
ZgorCiAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBmaW5pc2hlZCBjbGVhbmluZyB1cCBhbmQgc2Vu
dCBQcm9jZXNzUmVhZHlUb1N1c3BlbmQsIHdlCiAgICAgLy8gc2hvdWxkbid0IHNlbmQgRGlkQ2Fu
Y2VsUHJvY2Vzc1N1c3BlbnNpb247IHRoZSBVSSBwcm9jZXNzIHN0cmljdGx5IGV4cGVjdHMgb25l
IG9yIHRoZSBvdGhlci4KICAgICBpZiAoIW1fcGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291
bnRlcikKQEAgLTE1MDAsNiArMTUwOCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NEaWRS
ZXN1bWUoKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYWNjZXNzaWJpbGl0eVByb2Nl
c3NTdXNwZW5kZWROb3RpZmljYXRpb24oZmFsc2UpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVklE
RU8pCisgICAgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyNlbmRpZgogfQogCiB2b2lkIFdl
YlByb2Nlc3M6OnNlbmRQcmV3YXJtSW5mb3JtYXRpb24oY29uc3QgVVJMJiB1cmwpCkBAIC0xNzUy
LDYgKzE3NjQsMjAgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZXNldE1vY2tNZWRpYURldmljZXMoKQog
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVklERU8pCit2b2lkIFdlYlByb2Nlc3M6OnN1c3BlbmRB
bGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZh
bHVlcygpKQorICAgICAgICBwYWdlLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKK30KKwor
dm9pZCBXZWJQcm9jZXNzOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAgZm9yIChh
dXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQorICAgICAgICBwYWdlLT5yZXN1bWVBbGxN
ZWRpYUJ1ZmZlcmluZygpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6Y2xlYXJDdXJy
ZW50TW9kaWZpZXJTdGF0ZUZvclRlc3RpbmcoKQogewogICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVu
dDo6c2V0Q3VycmVudE1vZGlmaWVyU3RhdGUoeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCmluZGV4IDIzNWRiNzcyOWUxNTljZDE3ZmRkMTIwYzk5NDljZWMzMjUzOGY1ZDcu
LmVmNThkM2ExMjY4NzgyNzg2YzA2ZmIwOTBhMWNmMjYyYzI2ZDQ5ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMzk0LDYgKzM5NCwxMSBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICB2b2lkIHN1c3BlbmRBbGxNZWRp
YUJ1ZmZlcmluZygpOworICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyNlbmRp
ZgorCiAgICAgdm9pZCBjbGVhckN1cnJlbnRNb2RpZmllclN0YXRlRm9yVGVzdGluZygpOwogCiAg
ICAgUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gbV93ZWJDb25uZWN0aW9uOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDFjYjAwNzE4
ZDZlMTc0OTczOTQ2MjA5NjUzNDcwOGM2NDhlN2U5ZDUuLjM4MThkMmMzZjc4OGY5ZWI1ZTUwZTll
MTVkYjhjNjg2OGJlZGRhN2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wMS0yMiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1lZGlhIGVsZW1lbnRzIHdpbGwg
cmVzdGFydCBuZXR3b3JrIGJ1ZmZlcmluZyBqdXN0IGJlZm9yZSBzdXNwZW5kaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM2OTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5t
bTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAxOC0xMS0wNiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBnaXQgdXRpbGl0eSBtZXRob2QgdGhh
dCBhbGxvd3MgdGhlIGNhbGxlciB0byBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBjb21taXRpc2gg
aXMgd2l0aGluIGEgc3BlY2lmaWVkIHJhbmdlIG9mIGNvbW1pdHMuCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDk1ZGM1MWRmYmExNGY0NjE5YzA4NDIxZjcwOGI1Y2U5MzEyNjcwYjEuLjgyZDZm
M2EyNmMyMjAyMDgwOTdiMmM5ODI5MDQzYTkxN2ZlNzRkNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC03ODQsNiArNzg0LDcgQEAKIAkJQ0RBMzE1OTgxRUQ1MzY1MTAwOUY2MEQzIC8qIE1l
ZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQTMxNTk2MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRpYVBsYXli
YWNrU2xlZXBBc3NlcnRpb24ubW0gKi87IH07CiAJCUNEQTMxNTlBMUVENTQ4RjEwMDlGNjBEMyAv
KiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEzMTU5OTFFRDU0MEE1MDA5RjYwRDMg
LyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLmh0bWwgKi87IH07CiAJCUNEQTMxNTlEMUVE
NTY0M0YwMDlGNjBEMyAvKiBJT0tpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEzMTU5QzFFRDU2NDNGMDA5RjYwRDMgLyogSU9L
aXQuZnJhbWV3b3JrICovOyB9OworCQlDREE0NDM4RTIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vz
c1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQTQ0MzhEMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVu
ZE1lZGlhQnVmZmVyaW5nLm1tICovOyB9OwogCQlDREI0MTE1QTFFMEIwMERCMDBFQUQzNTIgLyog
dmlkZW8td2l0aC1tdXRlZC1hdWRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQjQxMTU5MUUwOURBOEUwMEVBRDM1MiAvKiB2aWRl
by13aXRoLW11dGVkLWF1ZGlvLmh0bWwgKi87IH07CiAJCUNEQjVERkZGMjEzNjEwRkEwMEQzRTE4
OSAvKiBub3ctcGxheWluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQjVERkZFMjEzNjBFRDgwMEQzRTE4OSAvKiBub3ctcGxheWlu
Zy5odG1sICovOyB9OwogCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpv
b21Jbml0aWFsRnJhbWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREJGQ0M0MzFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFs
RnJhbWUubW0gKi87IH07CkBAIC0yMTA1LDYgKzIxMDYsNyBAQAogCQlDREEzMTU5NjFFRDUzNjUx
MDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREEzMTU5OTFFRDU0MEE1MDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1Ns
ZWVwQXNzZXJ0aW9uLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24u
aHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBMzE1OUMxRUQ1NjQzRjAwOUY2
MEQzIC8qIElPS2l0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gSU9LaXQuZnJhbWV3b3Jr
OyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tpdC5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSBTREtST09UOyB9OworCQlDREE0NDM4RDIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vz
c1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NT
dXNwZW5kTWVkaWFCdWZmZXJpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
QjQxMTU5MUUwOURBOEUwMEVBRDM1MiAvKiB2aWRlby13aXRoLW11dGVkLWF1ZGlvLmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAidmlkZW8td2l0aC1tdXRlZC1hdWRpby5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCNURGRkUyMTM2MEVEODAwRDNFMTg5IC8q
IG5vdy1wbGF5aW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibm93LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQkZDQzQyMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2Ny
ZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRnVs
bHNjcmVlblpvb21Jbml0aWFsRnJhbWUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI1NTksNiArMjU2MSw3IEBACiAJCQkJQ0QyMjdFNDMyMTFBNEQ1RDAwRDI4NUFGIC8qIFBy
ZWZlcnJlZEF1ZGlvQnVmZmVyU2l6ZS5tbSAqLywKIAkJCQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1
QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAqLywKIAkJCQk0MTg4MkYwMjIxMDEwQTcw
MDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gKi8sCisJCQkJQ0RBNDQzOEQyMUY3QTQ3
NzAwMzc5NDg5IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gKi8sCiAJCQkJNTE4
QzExNTIyMDVCMDRGOTAwMUZGNEFFIC8qIFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tICovLAog
CQkJCTU3OThFMkFGMUNBRjVDMjgwMEM1Q0JBMCAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5t
bSAqLywKIAkJCQlBMUM0RkI2QzFCQUNDRTUwMDAzNzQyRDAgLyogUXVpY2tMb29rLm1tICovLApA
QCAtNDE5NCw2ICs0MTk3LDcgQEAKIAkJCQk3Q0NFN0YwQzFBNDExQUU2MDA0NDdDNEMgLyogUHJp
dmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDY0N0IxMjYxRUJBM0I4NTAwNDFEN0VGIC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4ODJGMDMyMTAxMEMwRDAwMkZGMjg4IC8qIFByb2Nlc3NQ
cmVXYXJtaW5nLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0RBNDQzOEUyMUY3QTQ3NzAwMzc5NDg5
IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MThDMTE1MzIwNUIwNTA0MDAxRkY0QUUgLyogUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzgzRTBDMTFEMEE2NTJGMDBGRUJDRjMgLyogUHJvdmlzaW9uYWxV
UkxOb3RDaGFuZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNDFBMUUzNDIxNkZGREJDMDA3ODlF
MEEgLyogUHVibGljU3VmZml4LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVy
aW5nLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3Vz
cGVuZE1lZGlhQnVmZmVyaW5nLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MTIzODY3YjljZDZkY2EzZWZiOTI1
NWNiYTY1NDVmNmY2N2U0YTYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0KQEAgLTAs
MCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0FQ
SV9FTkFCTEVECisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0
V0tXZWJWaWV3LmgiCisKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJp
dmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKworVEVTVChXZWJL
aXQsIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcpCit7CisgICAgYXV0byBjb25maWd1cmF0
aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAg
ICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVGVzdFdlYktpdEFQ
STo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5q
ZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wg
PSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgY29uZmlndXJhdGlvbi5nZXQo
KS5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gWUVTOworICAgIGNvbmZpZ3VyYXRpb24u
Z2V0KCkubWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92
aXN1YWxNZWRpYVR5cGVOb25lOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAg
IF9fYmxvY2sgYm9vbCBpc1BsYXlpbmcgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBwZXJmb3JtQWZ0
ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGxheWluZyIgYWN0aW9uOl4oKSB7IGlzUGxheWluZyA9IHRy
dWU7IH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc1BsYXlpbmcpOworCisg
ICAgYXV0byBpc0VsZW1lbnRBbGxvd2VkVG9CdWZmZXIgPSBbJl0geworICAgICAgICByZXR1cm4g
W3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMu
ZWxlbWVudFNob3VsZEJ1ZmZlckRhdGEoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSki
XS5ib29sVmFsdWU7CisgICAgfTsKKworICAgIEFTU0VSVF9UUlVFKGlzRWxlbWVudEFsbG93ZWRU
b0J1ZmZlcigpKTsKKworICAgIFt3ZWJWaWV3IF9wcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5
Rm9yVGVzdGluZ107CisKKyAgICBBU1NFUlRfRkFMU0UoaXNFbGVtZW50QWxsb3dlZFRvQnVmZmVy
KCkpOworCisgICAgW3dlYlZpZXcgX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nXTsKKworICAg
IEFTU0VSVF9UUlVFKGlzRWxlbWVudEFsbG93ZWRUb0J1ZmZlcigpKTsKK30KKworI2VuZGlmIC8v
IFdLX0FQSV9FTkFCTEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361422</attachid>
            <date>2019-02-07 11:29:00 -0800</date>
            <delta_ts>2019-02-26 13:45:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-193691-20190207112859.patch</filename>
            <type>text/plain</type>
            <size>26777</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3OGMzMjBhYzhjYTFi
Y2ZhZTUxMGQ0YmY4ODkwNjYwOGM5MTk2ZC4uOTczYmQwNjFmZTc5NjFjNzZjN2NiODg3NDJiYWZi
NmQ3M2EzOTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAxLTIyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxl
bWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBUEkgVGVz
dDogV2ViS2l0LlByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcKKworICAgICAgICBBbGxvdyB0
aGUgUGFnZSB0byBzdXNwZW5kIGFsbCBtZWRpYSBidWZmZXJpbmcgaW4gaXRzIGNoaWxkIERvY3Vt
ZW50cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogZG9tL0RvY3VtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRhdGFCdWZmZXJpbmdQZXJtaXR0ZWQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6c3VzcGVuZEJ1ZmZlcmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXN1bWVCdWZmZXJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6YnVmZmVyaW5nU3Vz
cGVuZGVkIGNvbnN0KToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6Om1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjptZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpzdXNwZW5kQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpyZXN1bWVCdWZmZXJpbmcpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmlu
Z0ZvckRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMTktMDItMDYg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBQcml2
YXRlTmFtZSB0byBQdWJsaWNOYW1lIGhhc2ggdGFibGUgaXMgd2FzdGVmdWwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
N2IwMjc1MjIwNmVlZDlmZjRlYTIyYWFhNTM4M2FiZDA4YzYzMDFmYy4uZjgzZjRiNTk2NzJhMGVl
N2YzYWRjNjlhYzQ2ZjhlMWI5M2JmZjQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAx
OS0wMS0yMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29j
b2FdIE1lZGlhIGVsZW1lbnRzIHdpbGwgcmVzdGFydCBuZXR3b3JrIGJ1ZmZlcmluZyBqdXN0IGJl
Zm9yZSBzdXNwZW5kaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTM2OTEKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAg
ICAgICAgV2hlbiB0aGUgV2ViUHJvY2VzcyByZWNlaXZlcyBhIG5vdGlmaWNhdGlvbiB0aGF0IHRo
ZSBwcm9jZXNzIGlzIGFib3V0IHRvIGJlY29tZQorICAgICAgICBzdXNwZW5kZWQsIGl0IHRlbGxz
IHRoZSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8gcmVsZWFzZSBhbGwgY3JpdGljYWwgbWVtb3J5
LiBUaGlzCisgICAgICAgIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgY2F1c2luZyBBVkZvdW5kYXRp
b24tYmFja2VkIG1lZGlhIGVsZW1lbnRzIHRvIGR1bXAgdGhlaXIKKyAgICAgICAgaW4tbWVtb3J5
IGNhY2hlcyBhbmQgc3RhcnQgZG93bmxvYWRpbmcgbWVkaWEgZGF0YSBhZ2Fpbi4gSW5zdGVhZCwg
bWVkaWEgZWxlbWVudHMKKyAgICAgICAgc2hvdWxkIGFsbCBzdG9wIGJ1ZmZlcmluZyBtZWRpYSBk
YXRhIGR1cmluZyBzdXNwZW5zaW9uLiBBZGQgbmV3IHRlc3RpbmcgU1BJIHRvCisgICAgICAgIHNp
bXVsYXRlIHN1c3BlbnNpb24gYW5kIHJlc3VtZSBtZXNzYWdlcy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Byb2Nl
c3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nXSk6CisgICAgICAgICgtW1dLV2ViVmll
dyBfcHJvY2Vzc0RpZFJlc3VtZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0lua1BpY2tlclZpZXcubW06Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphY3R1YWxQcmVwYXJlVG9TdXNwZW5kKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FuY2VsUHJlcGFyZVRvU3VzcGVuZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIwMTktMDItMDYgIEtlaXRoIFJvbGxpbiAgPGtyb2xs
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlYWxseSBlbmFibGUgdGhlIGF1dG9tYXRpYyBjaGVj
a2luZyBhbmQgcmVnZW5lcmF0aW9ucyBvZiAueGNmaWxlbGlzdHMgZHVyaW5nIGJ1aWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzFmNDQyYmY3NTI5MmIxYzMwYmJmOWFkMmMyYTIzNGU4
ZmQxYjAwZC4uNzU2OWY2MTVjZDVjNzQwZWNkZTFkNzZhYmI5MWM0OGM3NzY1NmM0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xNzM4LDYgKzE3MzgsMTggQEAgdm9pZCBEb2N1bWVudDo6
cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgaWYgKGF1dG8qIHBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlciA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklm
RXhpc3RzKCkpCiAgICAgICAgIHBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci0+cmVzdW1lQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KCp0aGlzKTsKIH0KKwordm9pZCBEb2N1bWVudDo6c3Vz
cGVuZEFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
SWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5zdXNwZW5k
QWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCgqdGhpcyk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6
OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VySWZFeGlzdHMoKSkKKyAgICAgICAgcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1
bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KCp0aGlzKTsKK30KICNlbmRpZgogCiBTdHJp
bmcgRG9jdW1lbnQ6Om5vZGVOYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMThm
ZWZlNTBhOTNiOTEzZWUwM2U5YzJjNWViMjNkZGViZGE2YTcyMS4uMzdkZGQ1MDQxMWM5ZDMxMGIx
ZmVlODNhNjlhMjVlZGUxY2I2OTRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMjUsNiAr
MTEyNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CiAgICAg
dm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygpOwogICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFQ
bGF5YmFjaygpOworICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgdm9p
ZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOwogI2VuZGlmCiAKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFNob3VsZENyZWF0ZVJlbmRlcmVycyhib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDcxYWM5OTU2ODgzMTAyNzUyZGVmNGQ4
Nzc1MDEyMjY0MDI2NDVhNmYuLjE1MzQxNWE2Zjg2MDU4YjQ2NjAwMzk3NDU4OTJkNWJkNGI2NjM4
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAt
Mzc5LDYgKzM3OSw5IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGF0YUJ1ZmZlcmluZ1Bl
cm1pdHRlZCgpIGNvbnN0CiAgICAgaWYgKGlzU3VzcGVuZGVkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIGlmIChidWZmZXJpbmdTdXNwZW5kZWQoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgaWYgKHN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC03ODUsNiArNzg4LDIzIEBAIHZvaWQgTWVkaWFF
bGVtZW50U2Vzc2lvbjo6cmVzZXRQbGF5YmFja1Nlc3Npb25TdGF0ZSgpCiAgICAgYWRkQmVoYXZp
b3JSZXN0cmljdGlvbihSZXF1aXJlVXNlckdlc3R1cmVUb0NvbnRyb2xDb250cm9sc01hbmFnZXIg
fCBSZXF1aXJlUGxheWJhY2tUb0NvbnRyb2xDb250cm9sc01hbmFnZXIpOwogfQogCit2b2lkIE1l
ZGlhRWxlbWVudFNlc3Npb246OnN1c3BlbmRCdWZmZXJpbmcoKQoreworICAgIHVwZGF0ZUNsaWVu
dERhdGFCdWZmZXJpbmcoKTsKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXN1bWVC
dWZmZXJpbmcoKQoreworICAgIHVwZGF0ZUNsaWVudERhdGFCdWZmZXJpbmcoKTsKK30KKworYm9v
bCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpidWZmZXJpbmdTdXNwZW5kZWQoKSBjb25zdAoreworICAg
IGlmIChhdXRvKiBwYWdlID0gbV9lbGVtZW50LmRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICBy
ZXR1cm4gcGFnZS0+bWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCgpOworICAgIHJldHVybiB0cnVl
OworfQorCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmFsbG93c1BpY3R1cmVJblBpY3R1cmUo
KSBjb25zdAogewogICAgIHJldHVybiBtX2VsZW1lbnQuZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4IDU5N2JhMjc3MjlhY2M4ZjJlMmU3OGNhZjk2NGY1
ZmM4MDhlMmEwMWUuLmNlMDU4YzZlMTFmZTQ0MWMxOGRlMDY1MjY4MWNiYWE0MTk4MTQ3ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBAIC0xMDEsNiArMTAx
LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVzZXRQbGF5YmFja1Nlc3Npb25TdGF0ZSgpIG92
ZXJyaWRlOwogCisgICAgdm9pZCBzdXNwZW5kQnVmZmVyaW5nKCkgb3ZlcnJpZGU7CisgICAgdm9p
ZCByZXN1bWVCdWZmZXJpbmcoKSBvdmVycmlkZTsKKyAgICBib29sIGJ1ZmZlcmluZ1N1c3BlbmRl
ZCgpIGNvbnN0OworCiAgICAgLy8gUmVzdHJpY3Rpb25zIHRvIG1vZGlmeSBkZWZhdWx0IGJlaGF2
aW9ycy4KICAgICBlbnVtIEJlaGF2aW9yUmVzdHJpY3Rpb25GbGFncyA6IHVuc2lnbmVkIHsKICAg
ICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNzhiZTE4MzAw
NmRkNzg1NWQzZmZiMmIzZDk3YWEzZjIyMjI5YzI0OS4uYmNjMWQ4ZGJlMDlkMmM3NTMzYzYzOWRk
ZmNkMWE0YTgyOGVhZGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNzYwLDYgKzE3NjAsMzYg
QEAgdm9pZCBQYWdlOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkKICNlbmRpZgogfQogCit2b2lk
IFBhZ2U6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIEFTU0VSVCghbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKTsKKyAgICBpZiAobV9tZWRp
YUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9tZWRpYUJ1ZmZl
cmluZ0lzU3VzcGVuZGVkID0gdHJ1ZTsKKworICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5G
cmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7Cisg
ICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICAg
ICAgZG9jdW1lbnQtPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIH0KKyNlbmRpZgor
fQorCit2b2lkIFBhZ2U6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgQVNTRVJUKG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCk7CisgICAgaWYg
KCFtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX21l
ZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgPSBmYWxzZTsKKworICAgIGZvciAoRnJhbWUqIGZyYW1l
ID0gJm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4
dCgpKSB7CisgICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKQor
ICAgICAgICAgICAgZG9jdW1lbnQtPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgfQor
I2VuZGlmCit9CisKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKIHZvaWQgUGFnZTo6aGFuZGxl
TWVkaWFFdmVudChNZWRpYUV2ZW50VHlwZSBldmVudFR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4
IDk0NjRhOGRkYWYwN2E1NDNmMGI4NjhhYjA4MzY0OWNhZmY3MjA0YjcuLmZmOTI3NTM4N2QwYzNj
MGQ1OWYwMWYwYmQwMzUzMWQ5MzhhMGIyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC02MTQsNyArNjE0
LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BBbGxNZWRpYVBsYXli
YWNrKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjaygp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpOwotICAg
IGJvb2wgbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKCkgeyByZXR1cm4gbV9tZWRpYVBsYXliYWNr
SXNTdXNwZW5kZWQ7IH0KKyAgICBib29sIG1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkOyB9CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisgICAgYm9vbCBtZWRpYUJ1ZmZlcmluZ0lz
U3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkOyB9
CiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGhh
bmRsZU1lZGlhRXZlbnQoTWVkaWFFdmVudFR5cGUpOwpAQCAtOTY3LDYgKzk3MCw3IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fc2hvdWxkRW5hYmxlSUNFQ2FuZGlkYXRlRmlsdGVyaW5nQnlEZWZh
dWx0IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9tZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgeyBmYWxz
ZSB9OworICAgIGJvb2wgbV9tZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIH07
CiAKIGlubGluZSBQYWdlR3JvdXAmIFBhZ2U6Omdyb3VwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IDI1YzE3Nzk5
MGNmMjYxM2YyNWZlMGFkMDBkODgxMjQyOWI2ZGEwZjIuLjg3ZTE5MmY0ZmUzZmFhYzhjZDY0ZDM3
NGVlZDcyZjQwZDgzNjk3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTEzLDYgKzExMyw5IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgcGF1c2VTZXNzaW9uKCk7CiAgICAgdm9pZCBzdG9wU2Vzc2lvbigpOworCisg
ICAgdmlydHVhbCB2b2lkIHN1c3BlbmRCdWZmZXJpbmcoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
cmVzdW1lQnVmZmVyaW5nKCkgeyB9CiAgICAgCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHVpbnQ2
NF90IHVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmlu
ZGV4IDIwNTBjNWUwODJmMzM4MWI2NzE4MDJmODM1YjA3ZWM1NGU0OGM1ZDQuLmI5YjA3OWQ5ZTFm
ZDdmZmZmYzIwODUzMzdhMDMzMWYxZjI3NzA1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cApAQCAtNDM3LDYgKzQzNywyMiBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
cmVzdW1lQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZQogICAgIH0pOwog
fQogCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3VzcGVuZEFsbE1lZGlhQnVm
ZmVyaW5nRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGZvckVh
Y2hTZXNzaW9uKFsmXSAoUGxhdGZvcm1NZWRpYVNlc3Npb24mIHNlc3Npb24sIHNpemVfdCkgewor
ICAgICAgICBpZiAoc2Vzc2lvbi5jbGllbnQoKS5ob3N0aW5nRG9jdW1lbnQoKSA9PSAmZG9jdW1l
bnQpCisgICAgICAgICAgICBzZXNzaW9uLnN1c3BlbmRCdWZmZXJpbmcoKTsKKyAgICB9KTsKK30K
Kwordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlc3VtZUFsbE1lZGlhQnVmZmVy
aW5nRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGZvckVhY2hT
ZXNzaW9uKFsmXSAoUGxhdGZvcm1NZWRpYVNlc3Npb24mIHNlc3Npb24sIHNpemVfdCkgeworICAg
ICAgICBpZiAoc2Vzc2lvbi5jbGllbnQoKS5ob3N0aW5nRG9jdW1lbnQoKSA9PSAmZG9jdW1lbnQp
CisgICAgICAgICAgICBzZXNzaW9uLnJlc3VtZUJ1ZmZlcmluZygpOworICAgIH0pOworfQorCiB2
b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaFNlc3Npb24oY29uc3QgRnVu
Y3Rpb248dm9pZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYsIHNpemVfdCk+JiBwcmVkaWNhdGUpIGNv
bnN0CiB7CiAgICAgKyttX2l0ZXJhdGluZ092ZXJTZXNzaW9uczsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmgKaW5kZXggMDY1ZDk0ZmVkYzg5NWFkNmVkZDViZGFlMjAwNDZjYWIyMjYwZDhmMi4uYmFmNWRk
OGM3NDg4MTExYTA0NjU0MTNhNmJhMDlkNjIwM2UwMDA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmgKQEAgLTgxLDYgKzgxLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFQ
bGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50Jik7CiAgICAgdm9pZCByZXN1bWVBbGxN
ZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHN1c3Bl
bmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50Jik7CisgICAgdm9p
ZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50Jik7CiAK
ICAgICBlbnVtIFNlc3Npb25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlv
bnMgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggNzU3Yzk1OGJmMGE4ZTViZDhmMzM0OTYzNmFhYjQ0ZDY3ZmJmZDRlOS4uMWQ4NjU2
MTA3ODFmZDdmYzdlYjQyMDg4YjU0NjZlNGJiZGE5ZGY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC03MTEyLDYgKzcxMTIsMTggQEAg
LSAoX1dLRnJhbWVIYW5kbGUgKilfbWFpbkZyYW1lCiAgICAgcmV0dXJuIG5pbDsKIH0KIAorLSAo
dm9pZClfcHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmcKK3sKKyAgICBpZiAo
X3BhZ2UpCisgICAgICAgIF9wYWdlLT5wcm9jZXNzKCkuc2VuZFByb2Nlc3NXaWxsU3VzcGVuZElt
bWluZW50bHkoKTsKK30KKworLSAodm9pZClfcHJvY2Vzc0RpZFJlc3VtZUZvclRlc3RpbmcKK3sK
KyAgICBpZiAoX3BhZ2UpCisgICAgICAgIF9wYWdlLT5wcm9jZXNzKCkuc2VuZFByb2Nlc3NEaWRS
ZXN1bWUoKTsKK30KKwogLSAodm9pZClfZGVueU5leHRVc2VyTWVkaWFSZXF1ZXN0CiB7CiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDEyYjAxZTg1ZDE5MzYwMWRmMWEyYmEz
ZTg0MTFlNDgxNWNmN2U0NzcuLjQ2ZjVlZmQzNjNjZDMyNjIxMjBkZmRkNzc2YzY1NjgzNmYwOTVk
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaApAQCAtNTQ3LDYgKzU0Nyw5IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJ
bnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBf
V0tJbnNwZWN0b3IgKl9pbnNwZWN0b3IgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9X
S0ZyYW1lSGFuZGxlICpfbWFpbkZyYW1lIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCistICh2b2lkKV9wcm9jZXNzV2lsbFN1c3BlbmRJbW1p
bmVudGx5Rm9yVGVzdGluZzsKKy0gKHZvaWQpX3Byb2Nlc3NEaWRSZXN1bWVGb3JUZXN0aW5nOwor
CiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAppbmRleCA4ZGY1YzI1MzQ0YzIzZjAzMWQxZDFiYTA1ZjM5NjJhYWE4NWZjOGIwLi5lNmM5NWUy
MGFlNmEwZjA4YWI1MDYzODVkZGUzYTkxYmMyMTdjODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMjUzLDYgKzI1MywxMyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzaHV0RG93bigpOwogICAgIHZvaWQgbWF5YmVTaHV0RG93bigpOwogCisgICAgLy8gUHJv
Y2Vzc1Rocm90dGxlckNsaWVudAorICAgIHZvaWQgc2VuZFByb2Nlc3NXaWxsU3VzcGVuZEltbWlu
ZW50bHkoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNlbmRQcmVwYXJlVG9TdXNwZW5kKCkgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzZW5kQ2FuY2VsUHJlcGFyZVRvU3VzcGVuZCgpIG92ZXJyaWRlOworICAg
IHZvaWQgc2VuZFByb2Nlc3NEaWRSZXN1bWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFNldEFz
c2VydGlvblN0YXRlKEFzc2VydGlvblN0YXRlKSBvdmVycmlkZTsKKwogcHJvdGVjdGVkOgogICAg
IHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBhZ2VJRCgpOwogICAgIFdlYlByb2Nlc3NQcm94eShX
ZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUmLCBJc1ByZXdhcm1lZCk7CkBAIC0zMjIs
MTMgKzMyOSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDaGFuZ2VJc1Jlc3BvbnNpdmUoKSBv
dmVycmlkZTsKICAgICBib29sIG1heUJlY29tZVVucmVzcG9uc2l2ZSgpIG92ZXJyaWRlOwogCi0g
ICAgLy8gUHJvY2Vzc1Rocm90dGxlckNsaWVudAotICAgIHZvaWQgc2VuZFByb2Nlc3NXaWxsU3Vz
cGVuZEltbWluZW50bHkoKSBvdmVycmlkZTsKLSAgICB2b2lkIHNlbmRQcmVwYXJlVG9TdXNwZW5k
KCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZW5kQ2FuY2VsUHJlcGFyZVRvU3VzcGVuZCgpIG92ZXJy
aWRlOwotICAgIHZvaWQgc2VuZFByb2Nlc3NEaWRSZXN1bWUoKSBvdmVycmlkZTsKLSAgICB2b2lk
IGRpZFNldEFzc2VydGlvblN0YXRlKEFzc2VydGlvblN0YXRlKSBvdmVycmlkZTsKLQogICAgIC8v
IEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUHJvY2Vz
c1Byb3h5TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1
ZV9wdHI8SVBDOjpFbmNvZGVyPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCBkZTM0NjE3ZTQwZmMyNjc1ODAwMGZjNGVjOWI1OTBkMmM5YWNm
NDQ5Li4zNWM5YjgyYzQzODVhNGE3ZWZmMzNhNmE5ZDUxYWJlODQxMjA3ZGUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjg0LDYgKzY4NCwx
NyBAQCB2b2lkIFdlYlBhZ2U6OnJlc3VtZUFsbE1lZGlhUGxheWJhY2soKQogICAgIG1fcGFnZS0+
cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpOwogfQogCit2b2lkIFdlYlBhZ2U6OnN1c3BlbmRBbGxN
ZWRpYUJ1ZmZlcmluZygpCit7CisgICAgbV9wYWdlLT5zdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmco
KTsKK30KKwordm9pZCBXZWJQYWdlOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpCit7CisgICAg
bV9wYWdlLT5yZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworfQorCisKIHZvaWQgV2ViUGFnZTo6
cmVpbml0aWFsaXplV2ViUGFnZShXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cykKIHsKICAgICBBU1NFUlQobV9kcmF3aW5nQXJlYSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTFhMDI5NGFhNWE2ZDVhZjkyMzgwNDEzZGRkYzRl
MzNhMmZmM2ZmOC4uMWJmYWNiMTNlODEyOWEyMGM3MjM1YTAyNzMxYTMxMmQwOGU3MmNiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTE0NSw2ICsx
MTQ1LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc2VuZFN5bmMoV1RGTW92ZShtZXNzYWdl
KSwgV1RGTW92ZShyZXBseSksIG1fcGFnZUlELCBTZWNvbmRzOjppbmZpbml0eSgpLCBJUEM6OlNl
bmRTeW5jT3B0aW9uOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZCk7CiAgICAgfQog
CisgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB2b2lkIHJlc3VtZUFs
bE1lZGlhQnVmZmVyaW5nKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCAyODIyMDUwZTRhYjUxYTI4NDkxMmJlZmM0ZDAzYWIyNTJh
MGVmZGNmLi5iYzEzMTAzZWQ2NzM0NWJhNjVhYTJiODUyNDA3NDAxNGZhYTkyZWJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMzc5LDYgKzEzNzksMTAgQEAg
dm9pZCBXZWJQcm9jZXNzOjphY3R1YWxQcmVwYXJlVG9TdXNwZW5kKFNob3VsZEFja25vd2xlZGdl
V2hlblJlYWR5VG9TdXNwZW5kIHNob3UKIHsKICAgICBTZXRGb3JTY29wZTxib29sPiBzdXNwZW5z
aW9uU2NvcGUobV9pc1N1c3BlbmRpbmcsIHRydWUpOwogCisjaWYgRU5BQkxFKFZJREVPKQorICAg
IHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCisKICAgICBpZiAoIW1fc3VwcHJl
c3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIpCiAgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6
c2luZ2xldG9uKCkucmVsZWFzZU1lbW9yeShDcml0aWNhbDo6WWVzLCBTeW5jaHJvbm91czo6WWVz
KTsKIApAQCAtMTQzNSw3ICsxNDM5LDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2FuY2VsUHJlcGFy
ZVRvU3VzcGVuZCgpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBhY2Nlc3NpYmlsaXR5
UHJvY2Vzc1N1c3BlbmRlZE5vdGlmaWNhdGlvbihmYWxzZSk7CiAjZW5kaWYKLSAgICAKKworI2lm
IEVOQUJMRShWSURFTykKKyAgICByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCisK
ICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZpbmlzaGVkIGNsZWFuaW5nIHVwIGFuZCBzZW50IFBy
b2Nlc3NSZWFkeVRvU3VzcGVuZCwgd2UKICAgICAvLyBzaG91bGRuJ3Qgc2VuZCBEaWRDYW5jZWxQ
cm9jZXNzU3VzcGVuc2lvbjsgdGhlIFVJIHByb2Nlc3Mgc3RyaWN0bHkgZXhwZWN0cyBvbmUgb3Ig
dGhlIG90aGVyLgogICAgIGlmICghbV9wYWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3VudGVy
KQpAQCAtMTUwMCw2ICsxNTA4LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc0RpZFJlc3Vt
ZSgpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBhY2Nlc3NpYmlsaXR5UHJvY2Vzc1N1
c3BlbmRlZE5vdGlmaWNhdGlvbihmYWxzZSk7CiAjZW5kaWYKKworI2lmIEVOQUJMRShWSURFTykK
KyAgICByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJv
Y2Vzczo6c2VuZFByZXdhcm1JbmZvcm1hdGlvbihjb25zdCBVUkwmIHVybCkKQEAgLTE3NTIsNiAr
MTc2NCwyMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnJlc2V0TW9ja01lZGlhRGV2aWNlcygpCiB9CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKK3ZvaWQgV2ViUHJvY2Vzczo6c3VzcGVuZEFsbE1l
ZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVz
KCkpCisgICAgICAgIHBhZ2UtPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworfQorCit2b2lk
IFdlYlByb2Nlc3M6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBmb3IgKGF1dG8m
IHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCisgICAgICAgIHBhZ2UtPnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzOjpjbGVhckN1cnJlbnRN
b2RpZmllclN0YXRlRm9yVGVzdGluZygpCiB7CiAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50Ojpz
ZXRDdXJyZW50TW9kaWZpZXJTdGF0ZSh7IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggMjM1ZGI3NzI5ZTE1OWNkMTdmZGQxMjBjOTk0OWNlYzMyNTM4ZjVkNy4uZWY1
OGQzYTEyNjg3ODI3ODZjMDZmYjA5MGExY2YyNjJjMjZkNDlkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zOTQsNiArMzk0LDExIEBAIHByaXZhdGU6CiAjZW5kaWYK
ICNlbmRpZgogCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVm
ZmVyaW5nKCk7CisgICAgdm9pZCByZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZygpOworI2VuZGlmCisK
ICAgICB2b2lkIGNsZWFyQ3VycmVudE1vZGlmaWVyU3RhdGVGb3JUZXN0aW5nKCk7CiAKICAgICBS
ZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX3dlYkNvbm5lY3Rpb247CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWNiMDA3MThkNmUx
NzQ5NzM5NDYyMDk2NTM0NzA4YzY0OGU3ZTlkNS4uNzcyMTQ5Zjc0ZWM4N2E4ZmQ0Njc4MThhNjBi
ZmIyNzkzYzNjNGRjNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAxLTIyICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxlbWVudHMgd2lsbCByZXN0
YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbTogQWRk
ZWQuCisgICAgICAgIChURVNUKToKKwogMjAxOC0xMS0wNiAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBnaXQgdXRpbGl0eSBtZXRob2QgdGhhdCBhbGxv
d3MgdGhlIGNhbGxlciB0byBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBjb21taXRpc2ggaXMgd2l0
aGluIGEgc3BlY2lmaWVkIHJhbmdlIG9mIGNvbW1pdHMuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDk1ZGM1MWRmYmExNGY0NjE5YzA4NDIxZjcwOGI1Y2U5MzEyNjcwYjEuLjgyZDZmM2EyNmMy
MjAyMDgwOTdiMmM5ODI5MDQzYTkxN2ZlNzRkNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC03ODQsNiArNzg0LDcgQEAKIAkJQ0RBMzE1OTgxRUQ1MzY1MTAwOUY2MEQzIC8qIE1lZGlhUGxh
eWJhY2tTbGVlcEFzc2VydGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQTMxNTk2MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xl
ZXBBc3NlcnRpb24ubW0gKi87IH07CiAJCUNEQTMxNTlBMUVENTQ4RjEwMDlGNjBEMyAvKiBNZWRp
YVBsYXliYWNrU2xlZXBBc3NlcnRpb24uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEzMTU5OTFFRDU0MEE1MDA5RjYwRDMgLyogTWVk
aWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLmh0bWwgKi87IH07CiAJCUNEQTMxNTlEMUVENTY0M0Yw
MDlGNjBEMyAvKiBJT0tpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREEzMTU5QzFFRDU2NDNGMDA5RjYwRDMgLyogSU9LaXQuZnJh
bWV3b3JrICovOyB9OworCQlDREE0NDM4RTIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3Bl
bmRNZWRpYUJ1ZmZlcmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEQTQ0MzhEMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVuZE1lZGlh
QnVmZmVyaW5nLm1tICovOyB9OwogCQlDREI0MTE1QTFFMEIwMERCMDBFQUQzNTIgLyogdmlkZW8t
d2l0aC1tdXRlZC1hdWRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQjQxMTU5MUUwOURBOEUwMEVBRDM1MiAvKiB2aWRlby13aXRo
LW11dGVkLWF1ZGlvLmh0bWwgKi87IH07CiAJCUNEQjVERkZGMjEzNjEwRkEwMEQzRTE4OSAvKiBu
b3ctcGxheWluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQjVERkZFMjEzNjBFRDgwMEQzRTE4OSAvKiBub3ctcGxheWluZy5odG1s
ICovOyB9OwogCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0
aWFsRnJhbWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDREJGQ0M0MzFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUu
bW0gKi87IH07CkBAIC0yMTA1LDYgKzIxMDYsNyBAQAogCQlDREEzMTU5NjFFRDUzNjUxMDA5RjYw
RDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREEzMTU5OTFFRDU0MEE1MDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNz
ZXJ0aW9uLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24uaHRtbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBMzE1OUMxRUQ1NjQzRjAwOUY2MEQzIC8q
IElPS2l0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gSU9LaXQuZnJhbWV3b3JrOyBwYXRo
ID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tpdC5mcmFtZXdvcms7IHNvdXJjZVRyZWUg
PSBTREtST09UOyB9OworCQlDREE0NDM4RDIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1c3Bl
bmRNZWRpYUJ1ZmZlcmluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NTdXNwZW5k
TWVkaWFCdWZmZXJpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQjQxMTU5
MUUwOURBOEUwMEVBRDM1MiAvKiB2aWRlby13aXRoLW11dGVkLWF1ZGlvLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAidmlkZW8td2l0aC1tdXRlZC1hdWRpby5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCNURGRkUyMTM2MEVEODAwRDNFMTg5IC8qIG5vdy1w
bGF5aW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibm93LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNEQkZDQzQyMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9v
bUluaXRpYWxGcmFtZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRnVsbHNjcmVl
blpvb21Jbml0aWFsRnJhbWUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1
NTksNiArMjU2MSw3IEBACiAJCQkJQ0QyMjdFNDMyMTFBNEQ1RDAwRDI4NUFGIC8qIFByZWZlcnJl
ZEF1ZGlvQnVmZmVyU2l6ZS5tbSAqLywKIAkJCQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1QjkgLyog
UHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAqLywKIAkJCQk0MTg4MkYwMjIxMDEwQTcwMDAyRkYy
ODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gKi8sCisJCQkJQ0RBNDQzOEQyMUY3QTQ3NzAwMzc5
NDg5IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gKi8sCiAJCQkJNTE4QzExNTIy
MDVCMDRGOTAwMUZGNEFFIC8qIFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tICovLAogCQkJCTU3
OThFMkFGMUNBRjVDMjgwMEM1Q0JBMCAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5tbSAqLywK
IAkJCQlBMUM0RkI2QzFCQUNDRTUwMDAzNzQyRDAgLyogUXVpY2tMb29rLm1tICovLApAQCAtNDE5
NCw2ICs0MTk3LDcgQEAKIAkJCQk3Q0NFN0YwQzFBNDExQUU2MDA0NDdDNEMgLyogUHJpdmF0ZUJy
b3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDY0N0IxMjYxRUJBM0I4NTAwNDFEN0VGIC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDE4ODJGMDMyMTAxMEMwRDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJt
aW5nLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0RBNDQzOEUyMUY3QTQ3NzAwMzc5NDg5IC8qIFBy
b2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MThDMTE1
MzIwNUIwNTA0MDAxRkY0QUUgLyogUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3QzgzRTBDMTFEMEE2NTJGMDBGRUJDRjMgLyogUHJvdmlzaW9uYWxVUkxOb3RD
aGFuZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNDFBMUUzNDIxNkZGREJDMDA3ODlFMEEgLyog
UHVibGljU3VmZml4LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3VzcGVuZE1l
ZGlhQnVmZmVyaW5nLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkZDMyZGUzOWZiNmQ1NDIwYzExYzcyOTExMGU2
ZmVhYWQxYmQ1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0KQEAgLTAsMCArMSw2
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0FQSV9FTkFC
TEVEICYmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNp
bXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgor
CitURVNUKFdlYktpdCwgUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZykKK3sKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJ
bnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5w
cm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBjb25maWd1
cmF0aW9uLmdldCgpLl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBZRVM7CisgICAgY29u
ZmlndXJhdGlvbi5nZXQoKS5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNr
ID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAz
MDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllF
U10pOworCisgICAgX19ibG9jayBib29sIGlzUGxheWluZyA9IGZhbHNlOworICAgIFt3ZWJWaWV3
IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJwbGF5aW5nIiBhY3Rpb246XigpIHsgaXNQ
bGF5aW5nID0gdHJ1ZTsgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzUGxh
eWluZyk7CisKKyAgICBhdXRvIGlzRWxlbWVudEFsbG93ZWRUb0J1ZmZlciA9IFsmXSB7CisgICAg
ICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93
LmludGVybmFscy5lbGVtZW50U2hvdWxkQnVmZmVyRGF0YShkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCd2aWRlbycpKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisgICAgQVNTRVJUX1RSVUUoaXNFbGVt
ZW50QWxsb3dlZFRvQnVmZmVyKCkpOworCisgICAgW3dlYlZpZXcgX3Byb2Nlc3NXaWxsU3VzcGVu
ZEltbWluZW50bHlGb3JUZXN0aW5nXTsKKworICAgIEFTU0VSVF9GQUxTRShpc0VsZW1lbnRBbGxv
d2VkVG9CdWZmZXIoKSk7CisKKyAgICBbd2ViVmlldyBfcHJvY2Vzc0RpZFJlc3VtZUZvclRlc3Rp
bmddOworCisgICAgQVNTRVJUX1RSVUUoaXNFbGVtZW50QWxsb3dlZFRvQnVmZmVyKCkpOworfQor
CisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQgJiYgV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363016</attachid>
            <date>2019-02-26 13:45:09 -0800</date>
            <delta_ts>2019-02-26 13:45:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-193691-20190226134509.patch</filename>
            <type>text/plain</type>
            <size>27124</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY0YWE1ZjdiMWEwOGM2
NDQxMzU5OGYwYjdjMDMzZjVkOTNjZjU5My4uM2I1Zjg1OTRmOTUzZjE4MTQ3ODk4NDNkMDE2YjNh
YzViNmI0Yjk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAyLTIwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWVkaWEgZWxl
bWVudHMgd2lsbCByZXN0YXJ0IG5ldHdvcmsgYnVmZmVyaW5nIGp1c3QgYmVmb3JlIHN1c3BlbmRp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzY5
MQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBUEkgVGVz
dDogV2ViS2l0LlByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcKKworICAgICAgICBBbGxvdyB0
aGUgUGFnZSB0byBzdXNwZW5kIGFsbCBtZWRpYSBidWZmZXJpbmcgaW4gaXRzIGNoaWxkIERvY3Vt
ZW50cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogZG9tL0RvY3VtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRhdGFCdWZmZXJpbmdQZXJtaXR0ZWQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6c3VzcGVuZEJ1ZmZlcmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXN1bWVCdWZmZXJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6YnVmZmVyaW5nU3Vz
cGVuZGVkIGNvbnN0KToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3VzcGVuZEFs
bE1lZGlhQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlc3VtZUFsbE1lZGlh
QnVmZmVyaW5nKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6Om1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjptZWRpYUJ1ZmZlcmluZ0lzU3VzcGVuZGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6Om1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpzdXNwZW5kQnVmZmVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpyZXN1bWVCdWZmZXJpbmcpOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmlu
Z0ZvckRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMTktMDItMjIg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEhFVkMg
YXMgYSBjb2RlYyByZXF1aXJpbmcgaGFyZHdhcmUgc3VwcG9ydC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjlhMzM1
MjBhZmM3NzZkNTk5MWNmZTcwZjNlMzQzYmUxZmVmZjhkNS4uYjNmMjZmMDBlOWY2ZTliMDkyOTIy
ODA4ZGY5N2Q0ZTRjYmNjNmRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0wMi0y
MCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1l
ZGlhIGVsZW1lbnRzIHdpbGwgcmVzdGFydCBuZXR3b3JrIGJ1ZmZlcmluZyBqdXN0IGJlZm9yZSBz
dXNwZW5kaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTM2OTEKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAg
V2hlbiB0aGUgV2ViUHJvY2VzcyByZWNlaXZlcyBhIG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwcm9j
ZXNzIGlzIGFib3V0IHRvIGJlY29tZQorICAgICAgICBzdXNwZW5kZWQsIGl0IHRlbGxzIHRoZSBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8gcmVsZWFzZSBhbGwgY3JpdGljYWwgbWVtb3J5LiBUaGlz
CisgICAgICAgIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgY2F1c2luZyBBVkZvdW5kYXRpb24tYmFj
a2VkIG1lZGlhIGVsZW1lbnRzIHRvIGR1bXAgdGhlaXIKKyAgICAgICAgaW4tbWVtb3J5IGNhY2hl
cyBhbmQgc3RhcnQgZG93bmxvYWRpbmcgbWVkaWEgZGF0YSBhZ2Fpbi4gSW5zdGVhZCwgbWVkaWEg
ZWxlbWVudHMKKyAgICAgICAgc2hvdWxkIGFsbCBzdG9wIGJ1ZmZlcmluZyBtZWRpYSBkYXRhIGR1
cmluZyBzdXNwZW5zaW9uLiBBZGQgbmV3IHRlc3RpbmcgU1BJIHRvCisgICAgICAgIHNpbXVsYXRl
IHN1c3BlbnNpb24gYW5kIHJlc3VtZSBtZXNzYWdlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Byb2Nlc3NXaWxs
U3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcHJv
Y2Vzc0RpZFJlc3VtZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0lua1BpY2tlclZpZXcubW06CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphY3R1YWxQcmVwYXJlVG9TdXNwZW5kKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FuY2VsUHJlcGFyZVRvU3VzcGVuZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpyZXN1bWVBbGxNZWRpYUJ1ZmZlcmluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmg6CisKIDIwMTktMDItMjAgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVh
ZEBzb255LmNvbT4KIAogICAgICAgICBbTVNWQ10gRml4IGNvbXBpbGF0aW9uIGVycm9ycyB3aXRo
IGxhbWJkYXMgaW4gU2VydmljZSBXb3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBi
Yjg5OWVhODQ0ODg2Y2EyN2MwM2FjZTZjYzI5ZTc4ZWQzMGEwYzY4Li4yNGFkZmM1ODA3YmEzM2E3
M2M4N2QwM2U0YzM3YTQwZGY3N2M4ZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE3
MzgsNiArMTczOCwxOCBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrKCkK
ICAgICBpZiAoYXV0byogcGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKICAgICAgICAgcGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQo
KnRoaXMpOwogfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKQor
eworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBwbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZ0ZvckRvY3Vt
ZW50KCp0aGlzKTsKK30KKwordm9pZCBEb2N1bWVudDo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmco
KQoreworICAgIGlmIChhdXRvKiBwbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBw
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXItPnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nRm9yRG9j
dW1lbnQoKnRoaXMpOworfQogI2VuZGlmCiAKIFN0cmluZyBEb2N1bWVudDo6bm9kZU5hbWUoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBkYjg5ODhkYzM3MDg1MjA2NzBlOGUwYzQ3ZmY5
ZTdiOWRjYzRjMDM3Li5kMDMxNGFiZTVjNTcyMTc5ZDVhNzExODUzNDI0NzI1MjFiOWVjZTY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTEyNiw2ICsxMTI2LDggQEAgcHVibGljOgogICAgIHZv
aWQgc3RvcEFsbE1lZGlhUGxheWJhY2soKTsKICAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXli
YWNrKCk7CiAgICAgdm9pZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrKCk7CisgICAgdm9pZCBzdXNw
ZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5n
KCk7CiAjZW5kaWYKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkQ3JlYXRlUmVu
ZGVyZXJzKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAKaW5kZXggNzFhYzk5NTY4ODMxMDI3NTJkZWY0ZDg3NzUwMTIyNjQwMjY0NWE2Zi4uMTUzNDE1
YTZmODYwNThiNDY2MDAzOTc0NTg5MmQ1YmQ0YjY2MzgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC0zNzksNiArMzc5LDkgQEAgYm9vbCBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpkYXRhQnVmZmVyaW5nUGVybWl0dGVkKCkgY29uc3QKICAgICBpZiAo
aXNTdXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGJ1ZmZlcmlu
Z1N1c3BlbmRlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoc3RhdGUoKSA9
PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheWluZykKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
QEAgLTc4NSw2ICs3ODgsMjMgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXNldFBsYXli
YWNrU2Vzc2lvblN0YXRlKCkKICAgICBhZGRCZWhhdmlvclJlc3RyaWN0aW9uKFJlcXVpcmVVc2Vy
R2VzdHVyZVRvQ29udHJvbENvbnRyb2xzTWFuYWdlciB8IFJlcXVpcmVQbGF5YmFja1RvQ29udHJv
bENvbnRyb2xzTWFuYWdlcik7CiB9CiAKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6c3VzcGVu
ZEJ1ZmZlcmluZygpCit7CisgICAgdXBkYXRlQ2xpZW50RGF0YUJ1ZmZlcmluZygpOworfQorCit2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnJlc3VtZUJ1ZmZlcmluZygpCit7CisgICAgdXBkYXRl
Q2xpZW50RGF0YUJ1ZmZlcmluZygpOworfQorCitib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmJ1
ZmZlcmluZ1N1c3BlbmRlZCgpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8qIHBhZ2UgPSBtX2VsZW1l
bnQuZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAgIHJldHVybiBwYWdlLT5tZWRpYUJ1ZmZlcmlu
Z0lzU3VzcGVuZGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgTWVkaWFFbGVtZW50
U2Vzc2lvbjo6YWxsb3dzUGljdHVyZUluUGljdHVyZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlh
UGxheWJhY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5k
ZXggNTk3YmEyNzcyOWFjYzhmMmUyZTc4Y2FmOTY0ZjVmYzgwOGUyYTAxZS4uY2UwNThjNmUxMWZl
NDQxYzE4ZGUwNjUyNjgxY2JhYTQxOTgxNDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmgKQEAgLTEwMSw2ICsxMDEsMTAgQEAgcHVibGljOgogCiAgICAgdm9p
ZCByZXNldFBsYXliYWNrU2Vzc2lvblN0YXRlKCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHN1c3Bl
bmRCdWZmZXJpbmcoKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlc3VtZUJ1ZmZlcmluZygpIG92ZXJy
aWRlOworICAgIGJvb2wgYnVmZmVyaW5nU3VzcGVuZGVkKCkgY29uc3Q7CisKICAgICAvLyBSZXN0
cmljdGlvbnMgdG8gbW9kaWZ5IGRlZmF1bHQgYmVoYXZpb3JzLgogICAgIGVudW0gQmVoYXZpb3JS
ZXN0cmljdGlvbkZsYWdzIDogdW5zaWduZWQgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAppbmRleCBiMDI2ODhhNGE4NDdkNTZlMDA3NDA5OTE3N2I0ZGE1MDNk
NzU0Mjg4Li44MTI2YjRhOWM1ZDdlZjg3NzYzZjMzODUwZjY1MmU4NzM4NmVlZDVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKQEAgLTE3NjQsNiArMTc2NCwzNiBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFsbE1l
ZGlhUGxheWJhY2soKQogI2VuZGlmCiB9CiAKK3ZvaWQgUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVm
ZmVyaW5nKCkKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgQVNTRVJUKCFtX21lZGlhQnVmZmVy
aW5nSXNTdXNwZW5kZWQpOworICAgIGlmIChtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQgPSB0cnVlOwor
CisgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZy
YW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50
ID0gZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC0+c3VzcGVuZEFsbE1l
ZGlhQnVmZmVyaW5nKCk7CisgICAgfQorI2VuZGlmCit9CisKK3ZvaWQgUGFnZTo6cmVzdW1lQWxs
TWVkaWFCdWZmZXJpbmcoKQoreworI2lmIEVOQUJMRShWSURFTykKKyAgICBBU1NFUlQobV9tZWRp
YUJ1ZmZlcmluZ0lzU3VzcGVuZGVkKTsKKyAgICBpZiAoIW1fbWVkaWFCdWZmZXJpbmdJc1N1c3Bl
bmRlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCA9
IGZhbHNlOworCisgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGF1dG8q
IGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC0+cmVz
dW1lQWxsTWVkaWFCdWZmZXJpbmcoKTsKKyAgICB9CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShN
RURJQV9TRVNTSU9OKQogdm9pZCBQYWdlOjpoYW5kbGVNZWRpYUV2ZW50KE1lZGlhRXZlbnRUeXBl
IGV2ZW50VHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTQ2NGE4ZGRhZjA3YTU0M2YwYjg2OGFi
MDgzNjQ5Y2FmZjcyMDRiNy4uZmY5Mjc1Mzg3ZDBjM2MwZDU5ZjAxZjBiZDAzNTMxZDkzOGEwYjI0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTYxNCw3ICs2MTQsMTAgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2soKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrKCk7Ci0gICAgYm9vbCBtZWRpYVBsYXliYWNrSXNTdXNw
ZW5kZWQoKSB7IHJldHVybiBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZDsgfQorICAgIGJvb2wg
bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVBsYXliYWNr
SXNTdXNwZW5kZWQ7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN1c3BlbmRBbGxNZWRpYUJ1
ZmZlcmluZygpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lQWxsTWVkaWFCdWZmZXJp
bmcoKTsKKyAgICBib29sIG1lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVy
biBtX21lZGlhQnVmZmVyaW5nSXNTdXNwZW5kZWQ7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaGFuZGxlTWVkaWFFdmVudChNZWRpYUV2ZW50
VHlwZSk7CkBAIC05NjcsNiArOTcwLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zaG91bGRF
bmFibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmdCeURlZmF1bHQgeyB0cnVlIH07CiAgICAgYm9vbCBt
X21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX21lZGlhQnVm
ZmVyaW5nSXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogfTsKIAogaW5saW5lIFBhZ2VHcm91cCYgUGFn
ZTo6Z3JvdXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmgKaW5kZXggMjVjMTc3OTkwY2YyNjEzZjI1ZmUwYWQwMGQ4ODEyNDI5
YjZkYTBmMi4uODdlMTkyZjRmZTNmYWFjOGNkNjRkMzc0ZWVkNzJmNDBkODM2OTdiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5oCkBAIC0xMTMsNiArMTEzLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBwYXVzZVNlc3Npb24o
KTsKICAgICB2b2lkIHN0b3BTZXNzaW9uKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1
ZmZlcmluZygpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KICAg
ICAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdWludDY0X3QgdW5pcXVlSWRlbnRpZmllcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggMjA1MGM1ZTA4MmYzMzgxYjY3MTgw
MmY4MzViMDdlYzU0ZTQ4YzVkNC4uYjliMDc5ZDllMWZkN2ZmZmZjMjA4NTMzN2EwMzMxZjFmMjc3
MDU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00MzcsNiArNDM3LDIyIEBAIHZv
aWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZXN1bWVBbGxNZWRpYVBsYXliYWNrRm9y
RG9jdW1lbnQoY29uc3QgRG9jdW1lCiAgICAgfSk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBE
b2N1bWVudCYgZG9jdW1lbnQpCit7CisgICAgZm9yRWFjaFNlc3Npb24oWyZdIChQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbiYgc2Vzc2lvbiwgc2l6ZV90KSB7CisgICAgICAgIGlmIChzZXNzaW9uLmNsaWVu
dCgpLmhvc3RpbmdEb2N1bWVudCgpID09ICZkb2N1bWVudCkKKyAgICAgICAgICAgIHNlc3Npb24u
c3VzcGVuZEJ1ZmZlcmluZygpOworICAgIH0pOworfQorCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmdGb3JEb2N1bWVudChjb25zdCBEb2N1
bWVudCYgZG9jdW1lbnQpCit7CisgICAgZm9yRWFjaFNlc3Npb24oWyZdIChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbiYgc2Vzc2lvbiwgc2l6ZV90KSB7CisgICAgICAgIGlmIChzZXNzaW9uLmNsaWVudCgp
Lmhvc3RpbmdEb2N1bWVudCgpID09ICZkb2N1bWVudCkKKyAgICAgICAgICAgIHNlc3Npb24ucmVz
dW1lQnVmZmVyaW5nKCk7CisgICAgfSk7Cit9CisKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpmb3JFYWNoU2Vzc2lvbihjb25zdCBGdW5jdGlvbjx2b2lkKFBsYXRmb3JtTWVkaWFT
ZXNzaW9uJiwgc2l6ZV90KT4mIHByZWRpY2F0ZSkgY29uc3QKIHsKICAgICArK21faXRlcmF0aW5n
T3ZlclNlc3Npb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA0NWM3MDUyMGI3ZDlhMzJm
NmJkOTJjZTc4ZTNmNmVmZjRmODZkMzNhLi5iNzk1ZmYyNjRhMzAwMGU2MDg0YTQ3YWVlNzMyZmMy
NDk3ZGE5Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtODIsNiArODIsOCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3Qg
RG9jdW1lbnQmKTsKICAgICB2b2lkIHJlc3VtZUFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChj
b25zdCBEb2N1bWVudCYpOworICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nRm9yRG9j
dW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5n
Rm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKIAogICAgIGVudW0gU2Vzc2lvblJlc3RyaWN0
aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3NTJhM2E0OWJiMzg4Y2E0
ZjE2ZDFiOWYzN2FjZTAzYzE3OGNlOWFlLi5iNjNlZmIxNWM2YTA3OTJkNjhkZDI2YWRhOTc1ZDYz
ODU1YjA1Zjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KQEAgLTcxNDYsNiArNzE0NiwxOCBAQCAtIChfV0tGcmFtZUhhbmRsZSAqKV9tYWlu
RnJhbWUKICAgICByZXR1cm4gbmlsOwogfQogCistICh2b2lkKV9wcm9jZXNzV2lsbFN1c3BlbmRJ
bW1pbmVudGx5Rm9yVGVzdGluZworeworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2UtPnBy
b2Nlc3MoKS5zZW5kUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseSgpOworfQorCistICh2b2lk
KV9wcm9jZXNzRGlkUmVzdW1lRm9yVGVzdGluZworeworICAgIGlmIChfcGFnZSkKKyAgICAgICAg
X3BhZ2UtPnByb2Nlc3MoKS5zZW5kUHJvY2Vzc0RpZFJlc3VtZSgpOworfQorCiAtICh2b2lkKV9k
ZW55TmV4dFVzZXJNZWRpYVJlcXVlc3QKIHsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKaW5kZXggMTg1MTA5OTYyYjkyNjY0Yzc2MjI0MWJiNDgyZjQ5M2VkNjFmYWY4Yi4uOTlmYmQ5
NDg0NWU4MzJjMmQ1NzljYWU3MTg2ZmMwOGZiM2Q4NDE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC01NDgsNiAr
NTQ4LDkgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1JlY3RFZGdlKSB7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAK
Ky0gKHZvaWQpX3Byb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nOworLSAodm9p
ZClfcHJvY2Vzc0RpZFJlc3VtZUZvclRlc3Rpbmc7CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDgzN2JmOGQ1YmQzNzQ0YTc1
NWE1OTZiYTk2MGI0MzViMDlhYjY5NWUuLjUzMjU5YmNlMGFlYTY0MjUwZDM0NDVkZDMwOWRjNDZl
ZDc0MmM5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBA
IC0yNTYsNiArMjU2LDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JNYWluRnJhbWUoY29uc3QgVVJMJik7CiAKKyAgICAvLyBQcm9jZXNzVGhyb3R0bGVy
Q2xpZW50CisgICAgdm9pZCBzZW5kUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseSgpIG92ZXJy
aWRlOworICAgIHZvaWQgc2VuZFByZXBhcmVUb1N1c3BlbmQoKSBvdmVycmlkZTsKKyAgICB2b2lk
IHNlbmRDYW5jZWxQcmVwYXJlVG9TdXNwZW5kKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZW5kUHJv
Y2Vzc0RpZFJlc3VtZSgpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkU2V0QXNzZXJ0aW9uU3RhdGUo
QXNzZXJ0aW9uU3RhdGUpIG92ZXJyaWRlOworCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29s
JiwgV2Vic2l0ZURhdGFTdG9yZSYsIElzUHJld2FybWVkKTsKQEAgLTMyOSwxMyArMzM2LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZENoYW5nZUlzUmVzcG9uc2l2ZSgpIG92ZXJyaWRlOwogICAg
IGJvb2wgbWF5QmVjb21lVW5yZXNwb25zaXZlKCkgb3ZlcnJpZGU7CiAKLSAgICAvLyBQcm9jZXNz
VGhyb3R0bGVyQ2xpZW50Ci0gICAgdm9pZCBzZW5kUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRs
eSgpIG92ZXJyaWRlOwotICAgIHZvaWQgc2VuZFByZXBhcmVUb1N1c3BlbmQoKSBvdmVycmlkZTsK
LSAgICB2b2lkIHNlbmRDYW5jZWxQcmVwYXJlVG9TdXNwZW5kKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBzZW5kUHJvY2Vzc0RpZFJlc3VtZSgpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkU2V0QXNzZXJ0
aW9uU3RhdGUoQXNzZXJ0aW9uU3RhdGUpIG92ZXJyaWRlOwotCiAgICAgLy8gSW1wbGVtZW50ZWQg
aW4gZ2VuZXJhdGVkIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lk
IGRpZFJlY2VpdmVXZWJQcm9jZXNzUHJveHlNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNXZWJQcm9jZXNzUHJveHlNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVu
Y29kZXI+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDA4NWQ4MmE4ZTY0ZDk3YWI2MjE5OTQ4MDAwYWI5ZmM3YTliNzhmYjAuLjU3N2YwODRm
OGQxYTgxOTUyYjdhNjUxZTg2NWM1YzY3MTk3ZjQwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02ODgsNiArNjg4LDE3IEBAIHZvaWQgV2Vi
UGFnZTo6cmVzdW1lQWxsTWVkaWFQbGF5YmFjaygpCiAgICAgbV9wYWdlLT5yZXN1bWVBbGxNZWRp
YVBsYXliYWNrKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5n
KCkKK3sKKyAgICBtX3BhZ2UtPnN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworfQorCit2b2lk
IFdlYlBhZ2U6OnJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCkKK3sKKyAgICBtX3BhZ2UtPnJlc3Vt
ZUFsbE1lZGlhQnVmZmVyaW5nKCk7Cit9CisKKwogdm9pZCBXZWJQYWdlOjpyZWluaXRpYWxpemVX
ZWJQYWdlKFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogewogICAgIEFT
U0VSVChtX2RyYXdpbmdBcmVhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCAxZGQyYmY3ZDRiNWFkZjQ3ZWZjOWExNmQ2MGQ3MmJhZjJjYzQ5Nzc4Li44
N2Y0NGE0YzY5MzhlYTg2MjFmNTUwM2M4OTdiMzYwZjcyMTdhNzU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMTQ4LDYgKzExNDgsOSBAQCBwdWJs
aWM6CiAgICAgYm9vbCByZXF1ZXN0RE9NUGFzdGVBY2Nlc3MoKTsKICAgICBXZWJDb3JlOjpJbnRS
ZWN0IHJlY3RGb3JFbGVtZW50QXRJbnRlcmFjdGlvbkxvY2F0aW9uKCkgY29uc3Q7CiAKKyAgICB2
b2lkIHN1c3BlbmRBbGxNZWRpYUJ1ZmZlcmluZygpOworICAgIHZvaWQgcmVzdW1lQWxsTWVkaWFC
dWZmZXJpbmcoKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IDk5ZTlhZmFlNDkzMDVjN2I2OGRiMzVjODhlZjNlNzM3YmExNzc3NWYu
LmY1YjE0NzExMGJhNzRhMGFlMDUyMDFmZDA2NDRkNjk0MTNhYmZjMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0MTksNiArMTQxOSwxMCBAQCB2b2lkIFdl
YlByb2Nlc3M6OmFjdHVhbFByZXBhcmVUb1N1c3BlbmQoU2hvdWxkQWNrbm93bGVkZ2VXaGVuUmVh
ZHlUb1N1c3BlbmQgc2hvdQogewogICAgIFNldEZvclNjb3BlPGJvb2w+IHN1c3BlbnNpb25TY29w
ZShtX2lzU3VzcGVuZGluZywgdHJ1ZSk7CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgc3VzcGVu
ZEFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKKwogICAgIGlmICghbV9zdXBwcmVzc01lbW9y
eVByZXNzdXJlSGFuZGxlcikKICAgICAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0
b24oKS5yZWxlYXNlTWVtb3J5KENyaXRpY2FsOjpZZXMsIFN5bmNocm9ub3VzOjpZZXMpOwogCkBA
IC0xNDc1LDcgKzE0NzksMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpjYW5jZWxQcmVwYXJlVG9TdXNw
ZW5kKCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGFjY2Vzc2liaWxpdHlQcm9jZXNz
U3VzcGVuZGVkTm90aWZpY2F0aW9uKGZhbHNlKTsKICNlbmRpZgotICAgIAorCisjaWYgRU5BQkxF
KFZJREVPKQorICAgIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKKwogICAgIC8v
IElmIHdlJ3ZlIGFscmVhZHkgZmluaXNoZWQgY2xlYW5pbmcgdXAgYW5kIHNlbnQgUHJvY2Vzc1Jl
YWR5VG9TdXNwZW5kLCB3ZQogICAgIC8vIHNob3VsZG4ndCBzZW5kIERpZENhbmNlbFByb2Nlc3NT
dXNwZW5zaW9uOyB0aGUgVUkgcHJvY2VzcyBzdHJpY3RseSBleHBlY3RzIG9uZSBvciB0aGUgb3Ro
ZXIuCiAgICAgaWYgKCFtX3BhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXIpCkBAIC0x
NTQwLDYgKzE1NDgsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKCkKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGFjY2Vzc2liaWxpdHlQcm9jZXNzU3VzcGVuZGVk
Tm90aWZpY2F0aW9uKGZhbHNlKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFZJREVPKQorICAgIHJl
c3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpz
ZW5kUHJld2FybUluZm9ybWF0aW9uKGNvbnN0IFVSTCYgdXJsKQpAQCAtMTc5Miw2ICsxODA0LDIw
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRNb2NrTWVkaWFEZXZpY2VzKCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKFZJREVPKQordm9pZCBXZWJQcm9jZXNzOjpzdXNwZW5kQWxsTWVkaWFCdWZm
ZXJpbmcoKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKKyAg
ICAgICAgcGFnZS0+c3VzcGVuZEFsbE1lZGlhQnVmZmVyaW5nKCk7Cit9CisKK3ZvaWQgV2ViUHJv
Y2Vzczo6cmVzdW1lQWxsTWVkaWFCdWZmZXJpbmcoKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6
IG1fcGFnZU1hcC52YWx1ZXMoKSkKKyAgICAgICAgcGFnZS0+cmVzdW1lQWxsTWVkaWFCdWZmZXJp
bmcoKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3M6OmNsZWFyQ3VycmVudE1vZGlmaWVy
U3RhdGVGb3JUZXN0aW5nKCkKIHsKICAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OnNldEN1cnJl
bnRNb2RpZmllclN0YXRlKHsgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApp
bmRleCA0OWM0YWMxMjYyYTgwNjU4ZWVjNjU3MTkxMDEzOTczMzU5MWJhNTIxLi4zOTE1OWJjZjVm
MDVhYmY2MzU2M2VlNzY2YzkzNjMzNDcxYjRhNTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKQEAgLTM5Niw2ICszOTYsMTEgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmco
KTsKKyAgICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CisjZW5kaWYKKwogICAgIHZv
aWQgY2xlYXJDdXJyZW50TW9kaWZpZXJTdGF0ZUZvclRlc3RpbmcoKTsKIAogICAgIFJlZlB0cjxX
ZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IG1fd2ViQ29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YTg4ZmJhZTMyZWEzMGEzZWE5
NTJlYzQ2MmUwZjM0ZmM5ZTNlYmZmLi44N2M2YWY5MjNlNDk1YjViMDgwYWI1ZTNjMTkyZWQ3OGY3
YmVkNDBkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNZWRpYSBlbGVtZW50cyB3aWxsIHJlc3RhcnQgbmV0
d29yayBidWZmZXJpbmcganVzdCBiZWZvcmUgc3VzcGVuZGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNjkxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tOiBBZGRlZC4KKyAg
ICAgICAgKFRFU1QpOgorCisyMDE5LTAyLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBIRVZDIGFzIGEgY29kZWMgcmVxdWlyaW5nIGhhcmR3YXJl
IHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTQ5NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NzQxNDMyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nLm1tOiBBZGRlZC4KKyAg
ICAgICAgKFRFU1QpOgorCiAyMDE4LTExLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBhIGdpdCB1dGlsaXR5IG1ldGhvZCB0aGF0IGFsbG93cyB0aGUg
Y2FsbGVyIHRvIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGNvbW1pdGlzaCBpcyB3aXRoaW4gYSBz
cGVjaWZpZWQgcmFuZ2Ugb2YgY29tbWl0cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDBh
NWZkYjk4ZTU2N2M2NjJiNmM3YjFjODU3MjU0ODZiNTUxOGQ2Zi4uMjg2ZTY1OTczZDY4MjczODAy
MjUxMWVkZmQ2MGJlNzI3NjlmZDk5NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc4OCw2
ICs3ODgsNyBAQAogCQlDREEzMTU5ODFFRDUzNjUxMDA5RjYwRDMgLyogTWVkaWFQbGF5YmFja1Ns
ZWVwQXNzZXJ0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RBMzE1OTYxRUQ1MzY1MTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2Vy
dGlvbi5tbSAqLzsgfTsKIAkJQ0RBMzE1OUExRUQ1NDhGMTAwOUY2MEQzIC8qIE1lZGlhUGxheWJh
Y2tTbGVlcEFzc2VydGlvbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQTMxNTk5MUVENTQwQTUwMDlGNjBEMyAvKiBNZWRpYVBsYXli
YWNrU2xlZXBBc3NlcnRpb24uaHRtbCAqLzsgfTsKIAkJQ0RBMzE1OUQxRUQ1NjQzRjAwOUY2MEQz
IC8qIElPS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQTMxNTlDMUVENTY0M0YwMDlGNjBEMyAvKiBJT0tpdC5mcmFtZXdvcmsg
Ki87IH07CisJCUNEQTQ0MzhFMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVuZE1lZGlh
QnVmZmVyaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBNDQzOEQyMUY3QTQ3NzAwMzc5NDg5IC8qIFByb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJp
bmcubW0gKi87IH07CiAJCUNEQjQxMTVBMUUwQjAwREIwMEVBRDM1MiAvKiB2aWRlby13aXRoLW11
dGVkLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0RCNDExNTkxRTA5REE4RTAwRUFEMzUyIC8qIHZpZGVvLXdpdGgtbXV0ZWQt
YXVkaW8uaHRtbCAqLzsgfTsKIAkJQ0RCNURGRkYyMTM2MTBGQTAwRDNFMTg5IC8qIG5vdy1wbGF5
aW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RCNURGRkUyMTM2MEVEODAwRDNFMTg5IC8qIG5vdy1wbGF5aW5nLmh0bWwgKi87IH07
CiAJCUNEQkZDQzQ1MUE5RkY0NTMwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFt
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkZD
QzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSAqLzsg
fTsKQEAgLTIxMTYsNiArMjExNyw3IEBACiAJCUNEQTMxNTk2MUVENTM2NTEwMDlGNjBEMyAvKiBN
ZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRp
YVBsYXliYWNrU2xlZXBBc3NlcnRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNEQTMxNTk5MUVENTQwQTUwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24u
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9IE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5odG1sOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDREEzMTU5QzFFRDU2NDNGMDA5RjYwRDMgLyogSU9LaXQu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBJT0tpdC5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPS2l0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JP
T1Q7IH07CisJCUNEQTQ0MzhEMjFGN0E0NzcwMDM3OTQ4OSAvKiBQcm9jZXNzU3VzcGVuZE1lZGlh
QnVmZmVyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1
ZmZlcmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RCNDExNTkxRTA5REE4
RTAwRUFEMzUyIC8qIHZpZGVvLXdpdGgtbXV0ZWQtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJ2aWRlby13aXRoLW11dGVkLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDREI1REZGRTIxMzYwRUQ4MDBEM0UxODkgLyogbm93LXBsYXlpbmcu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJub3ctcGxheWluZy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1bGxzY3JlZW5ab29tSW5pdGlh
bEZyYW1lLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBGdWxsc2NyZWVuWm9vbUlu
aXRpYWxGcmFtZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU3MSw2ICsy
NTczLDcgQEAKIAkJCQlDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9C
dWZmZXJTaXplLm1tICovLAogCQkJCTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJl
Rm9yTW92ZVRvV2luZG93Lm1tICovLAogCQkJCTQxODgyRjAyMjEwMTBBNzAwMDJGRjI4OCAvKiBQ
cm9jZXNzUHJlV2FybWluZy5tbSAqLywKKwkJCQlDREE0NDM4RDIxRjdBNDc3MDAzNzk0ODkgLyog
UHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSAqLywKIAkJCQk1MThDMTE1MjIwNUIwNEY5
MDAxRkY0QUUgLyogUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gKi8sCiAJCQkJNTc5OEUyQUYx
Q0FGNUMyODAwQzVDQkEwIC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hhbmdlLm1tICovLAogCQkJCUEx
QzRGQjZDMUJBQ0NFNTAwMDM3NDJEMCAvKiBRdWlja0xvb2subW0gKi8sCkBAIC00MjExLDYgKzQy
MTQsNyBAQAogCQkJCTdDQ0U3RjBDMUE0MTFBRTYwMDQ0N0M0QyAvKiBQcml2YXRlQnJvd3NpbmdQ
dXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NjQ3QjEy
NjFFQkEzQjg1MDA0MUQ3RUYgLyogUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0MTg4MkYwMzIxMDEwQzBEMDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0g
aW4gU291cmNlcyAqLywKKwkJCQlDREE0NDM4RTIxRjdBNDc3MDAzNzk0ODkgLyogUHJvY2Vzc1N1
c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxOEMxMTUzMjA1QjA1
MDQwMDFGRjRBRSAvKiBQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDODNFMEMxMUQwQTY1MkYwMEZFQkNGMyAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTA0MUExRTM0MjE2RkZEQkMwMDc4OUUwQSAvKiBQdWJsaWNT
dWZmaXguY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZmZXJpbmcubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTdXNwZW5kTWVkaWFCdWZm
ZXJpbmcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUyNjkxZmFlZmY1NzUzNmNmZjZjZWUzOWFlMTEyOWM4Yzcw
YTkyYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N1c3BlbmRNZWRpYUJ1ZmZlcmluZy5tbQpAQCAtMCwwICsxLDY3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYg
V0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAi
VGVzdFdLV2ViVmlldy5oIgorCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisKK1RFU1Qo
V2ViS2l0LCBQcm9jZXNzU3VzcGVuZE1lZGlhQnVmZmVyaW5nKQoreworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFs
c0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQ
b29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGNvbmZpZ3VyYXRpb24u
Z2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyAgICBjb25maWd1cmF0
aW9uLmdldCgpLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1
ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAw
KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisK
KyAgICBfX2Jsb2NrIGJvb2wgaXNQbGF5aW5nID0gZmFsc2U7CisgICAgW3dlYlZpZXcgcGVyZm9y
bUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBsYXlpbmciIGFjdGlvbjpeKCkgeyBpc1BsYXlpbmcg
PSB0cnVlOyB9XTsKKworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1l
ZDpAInZpZGVvLXdpdGgtYXVkaW8iXTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
aXNQbGF5aW5nKTsKKworICAgIGF1dG8gaXNFbGVtZW50QWxsb3dlZFRvQnVmZmVyID0gWyZdIHsK
KyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3
aW5kb3cuaW50ZXJuYWxzLmVsZW1lbnRTaG91bGRCdWZmZXJEYXRhKGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ3ZpZGVvJykpIl0uYm9vbFZhbHVlOworICAgIH07CisKKyAgICBBU1NFUlRfVFJVRShp
c0VsZW1lbnRBbGxvd2VkVG9CdWZmZXIoKSk7CisKKyAgICBbd2ViVmlldyBfcHJvY2Vzc1dpbGxT
dXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmddOworCisgICAgQVNTRVJUX0ZBTFNFKGlzRWxlbWVu
dEFsbG93ZWRUb0J1ZmZlcigpKTsKKworICAgIFt3ZWJWaWV3IF9wcm9jZXNzRGlkUmVzdW1lRm9y
VGVzdGluZ107CisKKyAgICBBU1NFUlRfVFJVRShpc0VsZW1lbnRBbGxvd2VkVG9CdWZmZXIoKSk7
Cit9CisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRCAmJiBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>