<?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>189475</bug_id>
          
          <creation_ts>2018-09-10 11:30:06 -0700</creation_ts>
          <short_desc>[iOS] Unable to change the value of select elements while preserving focus state</short_desc>
          <delta_ts>2018-09-10 18:18:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1458167</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-09-10 11:30:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/41125764&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458244</commentid>
    <comment_count>1</comment_count>
      <attachid>349332</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-09-10 14:51:50 -0700</bug_when>
    <thetext>Created attachment 349332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458291</commentid>
    <comment_count>2</comment_count>
      <attachid>349332</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-10 16:01:04 -0700</bug_when>
    <thetext>Comment on attachment 349332
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:458
&gt; +    // However, unlike active focus state, it may be safely reset to 0.

Probably need to define &quot;safely&quot; here. &quot;Without impact to existing API contracts?&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458295</commentid>
    <comment_count>3</comment_count>
      <attachid>349332</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-09-10 16:08:37 -0700</bug_when>
    <thetext>Comment on attachment 349332
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:458
&gt;&gt; +    // However, unlike active focus state, it may be safely reset to 0.
&gt; 
&gt; Probably need to define &quot;safely&quot; here. &quot;Without impact to existing API contracts?&quot;

That&apos;s right — it&apos;s part &quot;without impact to existing behavior of -_retainActiveFocusedState&quot;, and also part &quot;able to be reset to 0 at any time&quot; (with future calls to decrement the counter being noops). I&apos;ll clarify this in the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458308</commentid>
    <comment_count>4</comment_count>
      <attachid>349354</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-09-10 16:30:40 -0700</bug_when>
    <thetext>Created attachment 349354
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458328</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-10 17:20:05 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 349354:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458331</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-10 17:20:12 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 349354:

imported/w3c/web-platform-tests/xhr/access-control-and-redirects.htm bug 189489 (author: youennf@gmail.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458350</commentid>
    <comment_count>7</comment_count>
      <attachid>349354</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-10 18:18:12 -0700</bug_when>
    <thetext>Comment on attachment 349354
Patch for landing

Clearing flags on attachment: 349354

Committed r235878: &lt;https://trac.webkit.org/changeset/235878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458351</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-10 18:18:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349332</attachid>
            <date>2018-09-10 14:51:50 -0700</date>
            <delta_ts>2018-09-10 16:30:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189475-20180910145149.patch</filename>
            <type>text/plain</type>
            <size>26934</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLjIyNjVlMGI3M2M0ZGU1NDUzZDIxNDVhMmMxMmZkYzk3
MzQ4NDAxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzIgQEAKKzIwMTgtMDktMTAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5hYmxlIHRv
IGNoYW5nZSB0aGUgdmFsdWUgb2Ygc2VsZWN0IGVsZW1lbnRzIHdoaWxlIHByZXNlcnZpbmcgZm9j
dXMgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4OTQ3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDExMjU3NjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2l0aCBVSVRleHRJbnB1dE11bHRp
RG9jdW1lbnQgc3VwcG9ydCBpbiBXZWJLaXQsIFdLQ29udGVudFZpZXcgbWF5IGVudGVyIGEgc3Rh
dGUgd2hlcmUgdGhlIHVzZXIgaXMgYWJsZSB0bworICAgICAgICBpbnRlcmFjdCB3aXRoIHdlYiBj
b250ZW50LCBidXQgZm9jdXMgc3RhdGUgaXMgYmVpbmcgcHJlc2VydmVkIG9uIFdLV2ViVmlldy4g
VGhpcyBwcmV2ZW50cyBrZXlib2FyZCBhbmQgaW5wdXQKKyAgICAgICAgdmlldyBkaXNtaXNzYWwg
ZnJvbSBibHVycmluZyB0aGUgZm9jdXNlZCBlbGVtZW50ICh3aGljaCwgaW4gdHVybiwgbWVhbnMg
dGhhdCB0aGUgdmFsdWUgb2YgY2VydGFpbiBmb3JtIGNvbnRyb2xzLAorICAgICAgICBzdWNoIGFz
IHNlbGVjdCBlbGVtZW50cywgY2Fubm90IGJlIGNoYW5nZWQpLiBUaGlzIGNhbiBoYXBwZW4gaW4g
dGhlIGZvbGxvd2luZyBzY2VuYXJpbzoKKworICAgICAgICAxLiBTdXBwb3NlIHdlIGhhdmUgYSB3
ZWIgdmlldyBlbWJlZGRlZCBpbnNpZGUgb2YgYSB2aWV3IGNvbnRyb2xsZXIgKGxldCdzIGNhbGwg
aXQgYEFgKS4KKyAgICAgICAgMi4gQW5vdGhlciB2aWV3IGNvbnRyb2xsZXIgKGxldCdzIGNhbGwg
dGhpcyBvbmUgYEJgKSBpcyBtb2RhbGx5IHByZXNlbnRlZCBvdmVyIGBBYC4KKyAgICAgICAgMy4g
VGhlIHdlYiB2aWV3IGlzIHJlbW92ZWQgZnJvbSBgQWAncyB2aWV3IGhpZXJhcmNoeSBhbmQgcmVw
YXJlbnRlZCB1bmRlciBgQmAncyB2aWV3LgorICAgICAgICA0LiBUaGUgdXNlciB0YXBzIGEgZm9y
bSBjb250cm9sIGluIHRoZSB3ZWIgdmlldywgaW50ZXJhY3RzIHdpdGggdGhlIGtleWJvYXJkLCBh
bmQgdGFwcyB0aGUgRG9uZSBidXR0b24uCisKKyAgICAgICAgQWZ0ZXIgc3RlcCAyLCBXS0NvbnRl
bnRWaWV3IGdldHMgYSBjYWxsIHRvIGAtX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46ZGVzdHJ1Y3Rp
dmVseTpgLCB3aGljaCBpbmNyZW1lbnRzIGl0cyBmb2N1cworICAgICAgICByZXRhaW4gY291bnQg
dG8gMS4gVGh1cywgaW4gc3RlcCAzLCByZXNpZ25pbmcgZmlyc3QgcmVzcG9uZGVyIHVzaW5nIHRo
ZSBEb25lIGJ1dHRvbiBmYWlscyB0byBibHVyIHRoZSBlbGVtZW50LgorICAgICAgICBUbyBmaXgg
dGhpcywgd2Ugc3BsaXQgdGhlIGV4aXN0aW5nIGBfYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291
bnRgIGludG8gdHdvIHZhbHVlczogYF9mb2N1c1ByZXNlcnZhdGlvbkNvdW50YCwKKyAgICAgICAg
d2hpY2ggaXMgc2FmZSB0byByZXNldCBhbmQgcmVzZXRzIHRvIDAgd2hlbiBjaGFuZ2luZyB0aGUg
Zm9jdXNlZCBlbGVtZW50LCBhbmQgYF9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudGAsCisg
ICAgICAgIHdoaWNoIGFsd2F5cyBpbmNyZW1lbnRzIGFuZCBkZWNyZW1lbnRzLCBhbmQgb25seSBk
b2VzIHNvIHdoZW4gdXNpbmcgYC1fcmV0YWluQWN0aXZlRm9jdXNlZFN0YXRlYC4KKworICAgICAg
ICBUaGlzIGFsc28gZml4ZXMgYSBidWcgd2hlcmVpbiBgLV9yZXN0b3JlRm9jdXNXaXRoVG9rZW46
YCBpcyBpbXBsZW1lbnRlZCBhcyByZXR1cm5pbmcgYHZvaWRgIGluIFdlYktpdCwgZXZlbgorICAg
ICAgICB0aG91Z2ggaXRzIGRlY2xhcmF0aW9uIGluIFVJS2l0IHJldHVybnMgYSBgQk9PTGAuIFVJ
S2l0IGN1cnJlbnRseSBjYWxscyB0aGlzIHNlbGVjdG9yIG9uIFdLQ29udGVudFZpZXcgYW5kCisg
ICAgICAgIHN0b3JlcyB0aGUgcmVzdWx0IHdpdGhpbiBhIGBCT09MYDsgdGhpcyByZXN1bHRzIGlu
IHRoZSByZXR1cm4gdmFsdWUgb2YgYC1fcmVzdG9yZUZvY3VzV2l0aFRva2VuOmAgZWZmZWN0aXZl
bHkKKyAgICAgICAgYmVjb21pbmcgdGhlIGxhc3QgYnl0ZSBvZiB0aGUgbW9zdCByZWNlbnQgdmFs
dWUgc3RvcmVkIGluIGAkcmF4YCB3aGVuIGV4aXRpbmcgYC1fcmVzdG9yZUZvY3VzV2l0aFRva2Vu
OmAuIEZyb20KKyAgICAgICAgZGVidWdnaW5nIGEgcmVsZWFzZSBidWlsZCBvZiBXZWJLaXQsIHRo
aXMgdHVybnMgb3V0IHRvIGp1c3QgYmUgMHgwLCBiZWNvbWluZyBOTywgd2hpY2ggaXMgY29ycmVj
dCBnaXZlbiB0aGF0CisgICAgICAgIFdLQ29udGVudFZpZXcgZG9lcyBub3QgYXR0ZW1wdCB0byBi
ZWNvbWUgZmlyc3QgcmVzcG9uZGVyIHdpdGhpbiBgX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjpgLgor
CisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luY3Jl
bWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kZWNy
ZW1lbnRGb2N1c1ByZXNlcnZhdGlvbkNvdW50XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVz
ZXRGb2N1c1ByZXNlcnZhdGlvbkNvdW50XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNSZXRh
aW5pbmdBY3RpdmVGb2N1c2VkU3RhdGVdKToKKworICAgICAgICBBY3RpdmUgZm9jdXMgc3RhdGUg
aXMgcmV0YWluZWQgaWYgZWl0aGVyIHRoZSBmb2N1cyBwcmVzZXJ2YXRpb24gY291bnQgb3IgYWN0
aXZlIGZvY3VzIHN0YXRlIGNvdW50IGlzIG5vbi16ZXJvLgorICAgICAgICBTcGxpdHRpbmcgdGhp
cyBpbnRvIHR3byB2YXJpYWJsZXMgZW5zdXJlcyB0aGF0IFNQSSBjbGllbnRzIG9mIGAtX3JldGFp
bkFjdGl2ZUZvY3VzZWRTdGF0ZWAgd29uJ3QgaGF2ZSBhY3RpdmUKKyAgICAgICAgZm9jdXMgc3Rh
dGUgcmVzZXQgZnJvbSB1bmRlcm5lYXRoIHRoZW0sIGFuZCBhZGRpdGlvbmFsbHkgcHJldmVudHMg
V0tDb250ZW50VmlldyBmcm9tIHJldGFpbmluZyBhY3RpdmUgZm9jdXMgZHVlCisgICAgICAgIHRv
IFVJVGV4dElucHV0TXVsdGlEb2N1bWVudCBwcm90b2NvbCBtZXRob2RzIHdoaWxlIHRoZSB1c2Vy
IGlzIHN0aWxsIGludGVyYWN0aW5nIHdpdGggaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisKKyAgICAgICAgTW92ZSBfYWN0aXZlRm9jdXNl
ZFN0YXRlUmV0YWluQ291bnQgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIFdLQ29udGVudFZpZXc7
IGluc3RlYWQgb2YgZGlyZWN0bHkgbWFuaXB1bGF0aW5nIHRoZQorICAgICAgICB2YXJpYWJsZSwg
YWRkIGhlbHBlciBtZXRob2RzIHRvIGluY3JlbWVudCwgZGVjcmVtZW50LCBvciByZXNldCB0aGUg
Zm9jdXMgcHJlc2VydmF0aW9uIGNvdW50LgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmlzVmll
d1dpbmRvd0FjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjppc1ZpZXdG
b2N1c2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJlc2lnbkZpcnN0UmVzcG9uZGVyRm9yV2ViVmll
d10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zdGFydEFzc2lzdGluZ05vZGU6dXNlcklz
SW50ZXJhY3Rpbmc6Ymx1clByZXZpb3VzTm9kZTpjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6dXNlck9i
amVjdDpdKToKKworICAgICAgICBSZXNldCB0aGUgZm9jdXMgcHJlc2VydmF0aW9uIGNvdW50Lgor
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYWRkRm9jdXNlZEZvcm1Db250cm9sT3ZlcmxheV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJlbW92ZUZvY3VzZWRGb3JtQ29udHJvbE92ZXJs
YXldKToKKworICAgICAgICBVc2UgYC1fcmV0YWluQWN0aXZlRm9jdXNlZFN0YXRlYCBpbnN0ZWFk
IG9mIGluY3JlbWVudGluZyBhbmQgZGVjcmVtZW50aW5nIHRoZSBjb3VudGVyIGRpcmVjdGx5Lgor
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjpdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJlc2VydmVGb2N1c1dpdGhUb2tlbjpkZXN0cnVjdGl2
ZWx5Ol0pOgorCisgICAgICAgIFVzZSBgX2luY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnRg
IGFuZCBgX2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnRgIGluc3RlYWQgb2YgbWFuaXB1
bGF0aW5nIGNvdW50ZXIKKyAgICAgICAgdmFyaWFibGVzIGRpcmVjdGx5LgorCiAyMDE4LTA5LTA3
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IFdl
YkNvbnRlbnQgYWNjZXNzIHRvIEFWQ1N1cHBvcnRlZCBJT0tpdCBwcm9wZXJ0eSBpbiBzYW5kYm94
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCmluZGV4IGE4ODU3YWJj
MzU2ODRmMjIxM2M2NjQzOWQzNTM0NGYzNmE4NzQ1MWUuLjVkNjYzYjViOWEwMDU5YjM3MmM2MzQw
YzM1ZTMyYjkwNjljNmMxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3Bp
L2lvcy9VSUtpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oCkBAIC0xMDI4LDcgKzEwMjgsNyBAQCB0eXBlZGVmIE5TSW50ZWdlciBVSUNvbXBvc2l0
aW5nTW9kZTsKICNlbHNlCiBAcHJvdG9jb2wgVUlUZXh0SW5wdXRNdWx0aURvY3VtZW50IDxOU09i
amVjdD4KIEBvcHRpb25hbAotLSAodm9pZClfcmVzdG9yZUZvY3VzV2l0aFRva2VuOihpZCA8TlND
b3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9rZW4gY29tcGxldGlvbjoodm9pZCAoXikoQk9PTCBk
aWRSZXN0b3JlKSljb21wbGV0aW9uOworLSAoQk9PTClfcmVzdG9yZUZvY3VzV2l0aFRva2VuOihp
ZCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9rZW47CiAtICh2b2lkKV9wcmVzZXJ2ZUZv
Y3VzV2l0aFRva2VuOihpZCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9rZW4gZGVzdHJ1
Y3RpdmVseTooQk9PTClkZXN0cnVjdGl2ZWx5OwogQGVuZAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA2NmMyOGViZmZjZDUy
M2I3MDQ1YzE1YWRiMjc1NGY0MmEwY2Q4MjQzLi4xN2UxNTk3N2VhZGFjYTZkODM0YmRmNzUyYThk
NDhjOGNiYzE2YjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTM1OSw2ICszNTksOSBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+IHRvQ29yZVNjcm9sbGJhclN0eWxlKF9XS092ZQog
ICAgIC8vIEZvciByZWxlYXNlLWxvZ2dpbmcgZm9yIDxyZGFyOi8vcHJvYmxlbS8zOTI4MTI2OT4u
CiAgICAgTW9ub3RvbmljVGltZSBfdGltZU9mUmVxdWVzdEZvclZpc2libGVDb250ZW50UmVjdFVw
ZGF0ZTsKICAgICBNb25vdG9uaWNUaW1lIF90aW1lT2ZMYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlOworCisgICAgTlNVSW50ZWdlciBfZm9jdXNQcmVzZXJ2YXRpb25Db3VudDsKKyAgICBOU1VJ
bnRlZ2VyIF9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsKICNlbmRpZgogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpXZWJWaWV3SW1wbD4gX2ltcGw7
CkBAIC00MzMsNiArNDM2LDI5IEBAIHN0YXRpYyBib29sIHNob3VsZEFsbG93U2V0dGluZ0FueVhI
UkhlYWRlckZyb21GaWxlVVJMcygpCiAgICAgcmV0dXJuIHNob3VsZEFsbG93U2V0dGluZ0FueVhI
UkhlYWRlckZyb21GaWxlVVJMczsKIH0KIAorLSAodm9pZClfaW5jcmVtZW50Rm9jdXNQcmVzZXJ2
YXRpb25Db3VudAoreworICAgICsrX2ZvY3VzUHJlc2VydmF0aW9uQ291bnQ7Cit9CisKKy0gKHZv
aWQpX2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnQKK3sKKyAgICBpZiAoX2ZvY3VzUHJl
c2VydmF0aW9uQ291bnQpCisgICAgICAgIC0tX2ZvY3VzUHJlc2VydmF0aW9uQ291bnQ7Cit9CisK
Ky0gKHZvaWQpX3Jlc2V0Rm9jdXNQcmVzZXJ2YXRpb25Db3VudAoreworICAgIF9mb2N1c1ByZXNl
cnZhdGlvbkNvdW50ID0gMDsKK30KKworLSAoQk9PTClfaXNSZXRhaW5pbmdBY3RpdmVGb2N1c2Vk
U3RhdGUKK3sKKyAgICAvLyBGb2N1cyBwcmVzZXJ2YXRpb24gY291bnQgZnVsZmlsbHMgdGhlIHNh
bWUgcm9sZSBhcyBhY3RpdmUgZm9jdXMgc3RhdGUgY291bnQuCisgICAgLy8gSG93ZXZlciwgdW5s
aWtlIGFjdGl2ZSBmb2N1cyBzdGF0ZSwgaXQgbWF5IGJlIHNhZmVseSByZXNldCB0byAwLgorICAg
IHJldHVybiBfZm9jdXNQcmVzZXJ2YXRpb25Db3VudCB8fCBfYWN0aXZlRm9jdXNlZFN0YXRlUmV0
YWluQ291bnQ7Cit9CisKICNlbmRpZgogCiBzdGF0aWMgYm9vbCBzaG91bGRSZXF1aXJlVXNlckdl
c3R1cmVUb0xvYWRWaWRlbygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IDRmM2FiYmNjZTU4Zjg0ZjM1OTdjMWUz
Y2UzZDc0MjgzNDlhMGU5ZDQuLjc0ZTlhMjc3MGJhMjdiOTg5OTQ0NzFmNDBhY2FkMzQ5YjQxZWI4
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdJbnRlcm5hbC5oCkBAIC03MywxMCArNzMsNiBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogICAg
IFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBfY29uZmlndXJhdGlvbjsKIAogICAg
IFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gX3BhZ2U7Ci0KLSNpZiBQTEFURk9STShJT1Mp
Ci0gICAgTlNVSW50ZWdlciBfYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7Ci0jZW5kaWYK
IH0KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTE0Miw2ICsxMzgsMTAgQEAgc3RydWN0IFByaW50
SW5mbzsKIC0gKHZvaWQpX3RyYW5zbGl0ZXJhdGVDaGluZXNlOihpZClzZW5kZXI7CiAtICh2b2lk
KXJlcGxhY2U6KGlkKXNlbmRlcjsKIAorLSAodm9pZClfaW5jcmVtZW50Rm9jdXNQcmVzZXJ2YXRp
b25Db3VudDsKKy0gKHZvaWQpX2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnQ7CistICh2
b2lkKV9yZXNldEZvY3VzUHJlc2VydmF0aW9uQ291bnQ7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgV0tQYXNzd29yZFZpZXcgKl9wYXNzd29yZFZpZXc7CiAKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfaXNCYWNrZ3JvdW5kOwpAQCAtMTU0LDYgKzE1NCw3
IEBAIHN0cnVjdCBQcmludEluZm87CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJP
T0wgX2hhdmVTZXRPYnNjdXJlZEluc2V0czsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgVUlFZGdlSW5zZXRzIF9jb21wdXRlZE9ic2N1cmVkSW5zZXQ7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIFVJRWRnZUluc2V0cyBfY29tcHV0ZWRVbm9ic2N1cmVkU2FmZUFyZWFJ
bnNldDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPV9pc1JldGFpbmlu
Z0FjdGl2ZUZvY3VzZWRTdGF0ZSkgQk9PTCBfcmV0YWluaW5nQWN0aXZlRm9jdXNlZFN0YXRlOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9FVkVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZDFjYjQ0NWFk
YWZmMWE1OWUyYjJkNjM0Nzg0MmM0MmU3ZTRlYmY4NC4uMGQzMmVlMjJmNTJmNzRhOTc3YWRhMDQ3
YzZlNjMyN2QwODY0OWE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTYxLDEzICsxNjEsMTMgQEAgSW50U2l6ZSBQYWdlQ2xp
ZW50SW1wbDo6dmlld1NpemUoKQogYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3V2luZG93QWN0
aXZlKCkKIHsKICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMzA5OAotICAgIHJldHVybiBpc1ZpZXdWaXNpYmxlKCkgfHwgKG1fd2ViVmlldyAm
JiBtX3dlYlZpZXctPl9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudCk7CisgICAgcmV0dXJu
IGlzVmlld1Zpc2libGUoKSB8fCAobV93ZWJWaWV3ICYmIFttX3dlYlZpZXcgX2lzUmV0YWluaW5n
QWN0aXZlRm9jdXNlZFN0YXRlXSk7CiB9CiAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld0Zv
Y3VzZWQoKQogewogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMzMDk4Ci0gICAgcmV0dXJuIGlzVmlld1dpbmRvd0FjdGl2ZSgpIHx8IChtX3dl
YlZpZXcgJiYgbV93ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQpOworICAg
IHJldHVybiBpc1ZpZXdXaW5kb3dBY3RpdmUoKSB8fCAobV93ZWJWaWV3ICYmIFttX3dlYlZpZXcg
X2lzUmV0YWluaW5nQWN0aXZlRm9jdXNlZFN0YXRlXSk7CiB9CiAKIGJvb2wgUGFnZUNsaWVudElt
cGw6OmlzVmlld1Zpc2libGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDRjZjQ5Y2MzYzJlNWI0NmEyYzc0
NzZkZWNiYTViMWQ2YWJhZWQzMGYuLmQ3MTU2MmM1NTY3OWUyMzExY2NjNzUzNGI2YWJjZTkwY2E3
NDQ3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTI3Nyw2ICsyNzcsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29y
cmVjdGlvbkRhdGEgewogICAgIFJldGFpblB0cjxVSU5hdmlnYXRpb25Db250cm9sbGVyPiBfaW5w
dXROYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXJGb3JGdWxsU2NyZWVuSW5wdXRzOwogCiAgICAgQk9P
TCBfc2hvdWxkUmVzdG9yZUZpcnN0UmVzcG9uZGVyU3RhdHVzQWZ0ZXJMb3NpbmdGb2N1czsKKyAg
ICBCbG9ja1B0cjx2b2lkKCk+IF9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5CbG9jazsKICNlbmRp
ZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA5MzhkNGE5ZGY0ODkxNWJjOTJlY2Y3Zjg4YmVlNTIw
NjBiNTA4ZjhkLi5lNjUxYTk0Y2Y2MzE3OWE5OTdmMmNiMDJlOGRiNmEwYjVkNTI5M2ZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KQEAgLTEwMTEsNyArMTAxMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNB
c3Npc3RlZE5vZGUoV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBhc3Npc3RlZE5vZGVJ
CiAgICAgLy8gYW5kIGRvIG5vdGhpbmcgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBOTy4KIAogICAg
IF9yZXNpZ25pbmdGaXJzdFJlc3BvbmRlciA9IFlFUzsKLSAgICBpZiAoIV93ZWJWaWV3LT5fYWN0
aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQpIHsKKyAgICBpZiAoIVtfd2ViVmlldyBfaXNSZXRh
aW5pbmdBY3RpdmVGb2N1c2VkU3RhdGVdKSB7CiAgICAgICAgIC8vIFdlIG5lZWQgdG8gY29tcGxl
dGUgdGhlIGVkaXRpbmcgb3BlcmF0aW9uIGJlZm9yZSB3ZSBibHVyIHRoZSBlbGVtZW50LgogICAg
ICAgICBbX2lucHV0UGVyaXBoZXJhbCBlbmRFZGl0aW5nXTsKICAgICAgICAgW19mb3JtSW5wdXRT
ZXNzaW9uIGVuZEVkaXRpbmddOwpAQCAtNDIxMCw2ICs0MjEwLDggQEAgc3RhdGljIGJvb2wgaXNB
c3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogICAgIGlmIChfYXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgJiYgX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRSZWN0ID09IGluZm9ybWF0aW9uLmVsZW1lbnRS
ZWN0KQogICAgICAgICByZXR1cm47CiAKKyAgICBbX3dlYlZpZXcgX3Jlc2V0Rm9jdXNQcmVzZXJ2
YXRpb25Db3VudF07CisKICAgICBfZm9jdXNSZXF1aXJlc1N0cm9uZ1Bhc3N3b3JkQXNzaXN0YW5j
ZSA9IE5POwogICAgIGlmIChbaW5wdXREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3OmZvY3VzUmVxdWlyZXNTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2U6KV0pCiAg
ICAgICAgIF9mb2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlID0gW2lucHV0RGVs
ZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgZm9jdXNSZXF1aXJlc1N0cm9uZ1Bhc3N3b3JkQXNzaXN0
YW5jZTpmb2N1c2VkRWxlbWVudEluZm8uZ2V0KCldOwpAQCAtNDM0MCw3ICs0MzQyLDcgQEAgc3Rh
dGljIGJvb2wgaXNBc3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogICAgIGlmIChf
Zm9jdXNlZEZvcm1Db250cm9sVmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAgKytfd2ViVmll
dy0+X2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkNvdW50OworICAgIF9hY3RpdmVGb2N1c2VkU3Rh
dGVSZXRhaW5CbG9jayA9IG1ha2VCbG9ja1B0cihfd2ViVmlldy5fcmV0YWluQWN0aXZlRm9jdXNl
ZFN0YXRlKTsKIAogICAgIF9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3ID0gYWRvcHROUyhbW1dLRm9j
dXNlZEZvcm1Db250cm9sVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpfd2ViVmlldy5ib3VuZHMg
ZGVsZWdhdGU6c2VsZl0pOwogICAgIFtfZm9jdXNlZEZvcm1Db250cm9sVmlldyBoaWRlOk5PXTsK
QEAgLTQzNTMsNyArNDM1NSw4IEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJ
bnB1dFR5cGUgdHlwZSkKICAgICBpZiAoIV9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3KQogICAgICAg
ICByZXR1cm47CiAKLSAgICAtLV93ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291
bnQ7CisgICAgaWYgKGF1dG8gcmVsZWFzZUFjdGl2ZUZvY3VzU3RhdGUgPSBXVEZNb3ZlKF9hY3Rp
dmVGb2N1c2VkU3RhdGVSZXRhaW5CbG9jaykpCisgICAgICAgIHJlbGVhc2VBY3RpdmVGb2N1c1N0
YXRlKCk7CiAKICAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXcgcmVtb3ZlRnJvbVN1cGVydmll
d107CiAgICAgX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXcgPSBuaWw7CkBAIC00NzYwLDIwICs0NzYz
LDI2IEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJbnB1dFR5cGUgdHlwZSkK
IAogI3ByYWdtYSBtYXJrIC0gVUlUZXh0SW5wdXRNdWx0aURvY3VtZW50CiAKLS0gKHZvaWQpX3Jl
c3RvcmVGb2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2Vu
CistIChCT09MKV9yZXN0b3JlRm9jdXNXaXRoVG9rZW46KGlkIDxOU0NvcHlpbmcsIE5TU2VjdXJl
Q29kaW5nPil0b2tlbgogewotICAgIEFTU0VSVCghX2ZvY3VzU3RhdGVTdGFjay5pc0VtcHR5KCkp
OwotICAgIAotICAgIGlmIChfZm9jdXNTdGF0ZVN0YWNrLnRha2VMYXN0KCkpIHsKLSAgICAgICAg
QVNTRVJUKF93ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQpOwotICAgICAg
ICAtLV93ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7CisgICAgaWYgKF9m
b2N1c1N0YXRlU3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gTk87CiAgICAgfQorCisgICAgaWYgKF9mb2N1c1N0YXRlU3RhY2su
dGFrZUxhc3QoKSkKKyAgICAgICAgW193ZWJWaWV3IF9kZWNyZW1lbnRGb2N1c1ByZXNlcnZhdGlv
bkNvdW50XTsKKworICAgIC8vIEZJWE1FOiBPdXIgY3VycmVudCBiZWhhdmlvciBpbiAtX3Jlc3Rv
cmVGb2N1c1dpdGhUb2tlbjogZG9lcyBub3QgZm9yY2UgdGhlIHdlYiB2aWV3IHRvIGJlY29tZSBm
aXJzdCByZXNwb25kZXIKKyAgICAvLyBieSByZWZvY3VzaW5nIHRoZSBjdXJyZW50bHkgZm9jdXNl
ZCBlbGVtZW50LiBBcyBzdWNoLCB3ZSByZXR1cm4gTk8gaGVyZSBzbyB0aGF0IFVJS2l0IHdpbGwg
dGVsbCBXS0NvbnRlbnRWaWV3CisgICAgLy8gdG8gYmVjb21lIGZpcnN0IHJlc3BvbmRlciBpbiB0
aGUgZnV0dXJlLgorICAgIHJldHVybiBOTzsKIH0KIAogLSAodm9pZClfcHJlc2VydmVGb2N1c1dp
dGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuIGRlc3RydWN0aXZl
bHk6KEJPT0wpZGVzdHJ1Y3RpdmVseQogewogICAgIGlmICghX2lucHV0UGVyaXBoZXJhbCkgewot
ICAgICAgICArK193ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7CisgICAg
ICAgIFtfd2ViVmlldyBfaW5jcmVtZW50Rm9jdXNQcmVzZXJ2YXRpb25Db3VudF07CiAgICAgICAg
IF9mb2N1c1N0YXRlU3RhY2suYXBwZW5kKHRydWUpOwogICAgIH0gZWxzZQogICAgICAgICBfZm9j
dXNTdGF0ZVN0YWNrLmFwcGVuZChmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjBmMDVkNThjOTViYzg2MWQwNTM2NDc4MTY2OWNjYTM2
ODBjODIyMC4uMGJhYTVmOGFiYmQzM2M4MDZlNGYyOTNlMzRhZjIyNDkxMmNhM2NkZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDE4LTA5LTEwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFtpT1NdIFVuYWJsZSB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHNlbGVjdCBlbGVt
ZW50cyB3aGlsZSBwcmVzZXJ2aW5nIGZvY3VzIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQxMTI1NzY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZHMgYSBwYWlyIG9mIG5ldyBBUEkgdGVzdHMgdG8gdmVyaWZ5IHRoYXQgKDEpIHJlc2ln
bmluZyBmaXJzdCByZXNwb25kZXIgd2hpbGUgcHJlc2VydmluZyBmb2N1cyBkb2VzIG5vdCBibHVy
CisgICAgICAgIHRoZSBmb2N1c2VkIGVsZW1lbnQsIGFuZCAoMikgaWYgYW5vdGhlciBlbGVtZW50
IGlzIGZvY3VzZWQgYW5kIHByZXNlbnRzIGFuIGlucHV0IHZpZXcgd2hpbGUgcHJlc2VydmluZyBm
b2N1cywKKyAgICAgICAgdGhlbiB3ZSByZXNldCBwcmVzZXJ2YXRpb24gc3RhdGUgYW5kIGFsbG93
IGZpcnN0IHJlc3BvbmRlciByZXNpZ25hdGlvbiB0byBibHVyIHRoZSBmb2N1c2VkIGVsZW1lbnQu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9Gb2N1c1ByZXNl
cnZhdGlvblRlc3RzLm1tOiBBZGRlZC4KKyAgICAgICAgKHdlYlZpZXdGb3JUZXN0aW5nRm9jdXNQ
cmVzZXJ2YXRpb24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3IHRl
eHRJbnB1dENvbnRlbnRWaWV3XSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRT
UEkuaDoKKwogMjAxOC0wOS0wNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgW2lPU10gdWlDb250cm9sbGVyLnR5cGVDaGFyYWN0ZXJVc2luZ0hhcmR3YXJlS2V5
Ym9hcmQoImAiLCAuLi4pIGRpc3BhdGNoZXMgRE9NIGtleSBldmVudHMgZm9yIH4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNGNiNWVjY2E0YzRhNzE5MGNkMWUzNGVhYzZmMTQ0MWM5YjdkMTVj
NC4uNzE2YjNjOGY2NzdjNTAxNjVlNWFjZGM2NGE1ZmFhNTliOWFjMmRmNyAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTgzMyw2ICs4MzMsNyBAQAogCQlGNEFCNTc4QTFGNjUxNjU0MDBEQjBE
QTEgLyogY3VzdG9tLWRyYWdnYWJsZS1kaXYuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEFCNTc4OTFGNjUxNjRCMDBEQjBEQTEgLyog
Y3VzdG9tLWRyYWdnYWJsZS1kaXYuaHRtbCAqLzsgfTsKIAkJRjRCODI1RDgxRUY0REJGQjAwNkU0
MTdGIC8qIGNvbXByZXNzZWQtZmlsZXMuemlwIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjgyNUQ2MUVGNERCRDQwMDZFNDE3RiAvKiBjb21w
cmVzc2VkLWZpbGVzLnppcCAqLzsgfTsKIAkJRjRCODZENEYyMEJDRDVCMjAwOTlBN0U2IC8qIHBh
aW50LXNpZ25pZmljYW50LWFyZWEtbWlsZXN0b25lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCODZENEUyMEJDRDU5NzAwOTlBN0U2
IC8qIHBhaW50LXNpZ25pZmljYW50LWFyZWEtbWlsZXN0b25lLmh0bWwgKi87IH07CisJCUY0QkMw
QjE0MjE0NkM4NDkwMDJBMDQ3OCAvKiBGb2N1c1ByZXNlcnZhdGlvblRlc3RzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCQzBCMTMyMTQ2Qzg0OTAw
MkEwNDc4IC8qIEZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW0gKi87IH07CiAJCUY0QkZBNjhFMUU0
QUQwODAwMDE1NDI5OCAvKiBMZWdhY3lEcmFnQW5kRHJvcFRlc3RzLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCRkE2OEMxRTRBRDA4MDAwMTU0Mjk4
IC8qIExlZ2FjeURyYWdBbmREcm9wVGVzdHMubW0gKi87IH07CiAJCUY0QzJBQjIyMURENkQ5NUUw
MEUwNkQ1QiAvKiBlbm9ybW91cy12aWRlby13aXRoLXNvdW5kLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDMkFCMjExREQ2RDk0MTAw
RTA2RDVCIC8qIGVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQuaHRtbCAqLzsgfTsKIAkJRjRDODc5
N0YyMDU5RDhEMzAwOUNEMDBCIC8qIFNjcm9sbFZpZXdJbnNldFRlc3RzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDODc5N0UyMDU5RDhEMzAwOUNE
MDBCIC8qIFNjcm9sbFZpZXdJbnNldFRlc3RzLm1tICovOyB9OwpAQCAtMjA4NSw2ICsyMDg2LDcg
QEAKIAkJRjRBQjU3ODkxRjY1MTY0QjAwREIwREExIC8qIGN1c3RvbS1kcmFnZ2FibGUtZGl2Lmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiY3VzdG9tLWRyYWdnYWJsZS1kaXYuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QjgyNUQ2MUVGNERCRDQwMDZFNDE3
RiAvKiBjb21wcmVzc2VkLWZpbGVzLnppcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IGFyY2hpdmUuemlwOyBwYXRoID0gImNvbXByZXNzZWQtZmlsZXMu
emlwIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCODZENEUyMEJDRDU5NzAwOTlB
N0U2IC8qIHBhaW50LXNpZ25pZmljYW50LWFyZWEtbWlsZXN0b25lLmh0bWwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSAicGFpbnQtc2lnbmlmaWNhbnQtYXJlYS1taWxlc3RvbmUuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0QkMwQjEzMjE0NkM4NDkwMDJBMDQ3OCAv
KiBGb2N1c1ByZXNlcnZhdGlvblRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRm9jdXNQ
cmVzZXJ2YXRpb25UZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCRkE2
OEMxRTRBRDA4MDAwMTU0Mjk4IC8qIExlZ2FjeURyYWdBbmREcm9wVGVzdHMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMZWdhY3lEcmFnQW5kRHJvcFRlc3RzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEMyQUIyMTFERDZEOTQxMDBFMDZENUIg
LyogZW5vcm1vdXMtdmlkZW8td2l0aC1zb3VuZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0Qzg3OTdFMjA1OUQ4RDMwMDlDRDAwQiAvKiBTY3JvbGxWaWV3SW5zZXRU
ZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbFZpZXdJbnNldFRlc3RzLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU0NSw2ICsyNTQ3LDcgQEAKIAkJCQkyRTIw
NUJBMzFGNTI3NzQ2MDA1OTUyREQgLyogQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tICovLAogCQkJ
CUY0NUI2M0ZDMUYxOUQ0MTAwMDlEMzhCOSAvKiBBY3Rpb25TaGVldFRlc3RzLm1tICovLAogCQkJ
CUY0RDRGM0I3MUU0RTM2RTQwMEJCMjc2NyAvKiBEcmFnQW5kRHJvcFRlc3RzSU9TLm1tICovLAor
CQkJCUY0QkMwQjEzMjE0NkM4NDkwMDJBMDQ3OCAvKiBGb2N1c1ByZXNlcnZhdGlvblRlc3RzLm1t
ICovLAogCQkJCUY0NUUxNTcyMjExMkNFMjkwMDMwN0U4MiAvKiBLZXlib2FyZElucHV0VGVzdHNJ
T1MubW0gKi8sCiAJCQkJNTc0RjU1Q0UyMDREMzc2MzAwMjk0OEM2IC8qIExvY2FsQXV0aGVudGlj
YXRvci5tbSAqLywKIAkJCQk3NTYwOTE3NzE5MjU5QzU5MDA5RUYwNkUgLyogTWVtb3J5Q2FjaGVB
ZGRJbWFnZVRvQ2FjaGVJT1MubW0gKi8sCkBAIC0zNzgxLDYgKzM3ODQsNyBAQAogCQkJCTdBOTA5
QTdFMUQ4Nzc0ODAwMDdFMTBGOCAvKiBGbG9hdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdBOTA5QTdGMUQ4Nzc0ODAwMDdFMTBGOCAvKiBGbG9hdFJlY3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0E5MDlBODAxRDg3NzQ4MDAwN0UxMEY4IC8qIEZsb2F0U2l6ZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyogRm9jdXNQcmVzZXJ2YXRpb25U
ZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDQUQxRjg2MUU1Q0U3REEwMEFGMkMyQyAvKiBG
b250Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1NkFCMUMyMTNFREJBMzAwQ0IyQ0VG
IC8qIEZvbnRNYW5hZ2VyVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VGNTFBNDEx
QUU2MDA0NDdDNEMgLyogRm9yY2VSZXBhaW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0ZvY3VzUHJlc2VydmF0aW9uVGVzdHMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWExN2JjZDI1NDJlNjYxZmM5MTIwOTA3NmRmMGY4NzcwOTc1YTgwMQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0ZvY3VzUHJl
c2VydmF0aW9uVGVzdHMubW0KQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0
ICJjb25maWcuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKworI2lmIFBMQVRGT1JNKElPUykKKworI2lt
cG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RJbnB1dERlbGVnYXRlLmgi
CisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnB1dERl
bGVnYXRlLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KKworc3RhdGljIHN0ZDo6cGFpcjxS
ZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4sIFJldGFpblB0cjxUZXN0SW5wdXREZWxlZ2F0ZT4+IHdl
YlZpZXdGb3JUZXN0aW5nRm9jdXNQcmVzZXJ2YXRpb24odm9pZCheZm9jdXNIYW5kbGVyKShpZCA8
X1dLRm9jdXNlZEVsZW1lbnRJbmZvPikpCit7CisgICAgYXV0byBpbnB1dERlbGVnYXRlID0gYWRv
cHROUyhbW1Rlc3RJbnB1dERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW2lucHV0RGVsZWdh
dGUgc2V0Rm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xpY3lIYW5kbGVyOlsmLCBmb2N1c0hhbmRs
ZXIgPSBtYWtlQmxvY2tQdHIoZm9jdXNIYW5kbGVyKV0gKFdLV2ViVmlldyAqLCBpZDxfV0tGb2N1
c2VkRWxlbWVudEluZm8+IGluZm8pIHsKKyAgICAgICAgZm9jdXNIYW5kbGVyKGluZm8pOworICAg
ICAgICByZXR1cm4gX1dLRm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xpY3lBbGxvdzsKKyAgICB9
XTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgW3dlYlZpZXcg
X3NldElucHV0RGVsZWdhdGU6aW5wdXREZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPGlucHV0PjwvaW5wdXQ+PHNlbGVjdD48b3B0aW9u
IHNlbGVjdGVkPmZvbzwvb3B0aW9uPjxvcHRpb24+YmFyPC9vcHRpb24+PC9zZWxlY3Q+Il07Cisg
ICAgcmV0dXJuIHsgd2ViVmlldywgaW5wdXREZWxlZ2F0ZSB9OworfQorCituYW1lc3BhY2UgVGVz
dFdlYktpdEFQSSB7CisKK1RFU1QoRm9jdXNQcmVzZXJ2YXRpb25UZXN0cywgUHJlc2VydmVBbmRS
ZXN0b3JlRm9jdXMpCit7CisgICAgYm9vbCBpbnB1dEZvY3VzZWQgPSBmYWxzZTsKKyAgICBhdXRv
IHdlYlZpZXdBbmREZWxlZ2F0ZSA9IHdlYlZpZXdGb3JUZXN0aW5nRm9jdXNQcmVzZXJ2YXRpb24o
WyZpbnB1dEZvY3VzZWRdIChpZCA8X1dLRm9jdXNlZEVsZW1lbnRJbmZvPiBpbmZvKSB7CisgICAg
ICAgIGlucHV0Rm9jdXNlZCA9IHRydWU7CisgICAgfSk7CisKKyAgICBUZXN0V0tXZWJWaWV3ICp3
ZWJWaWV3ID0gd2ViVmlld0FuZERlbGVnYXRlLmZpcnN0LmdldCgpOworICAgIFt3ZWJWaWV3IGV2
YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuZm9jdXMo
KSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBVdGlsOjpydW4oJmlucHV0Rm9jdXNlZCk7
CisKKyAgICBOU1VVSUQgKmZvY3VzVG9rZW4gPSBOU1VVSUQuVVVJRDsKKyAgICBbd2ViVmlldy50
ZXh0SW5wdXRDb250ZW50VmlldyBfcHJlc2VydmVGb2N1c1dpdGhUb2tlbjpmb2N1c1Rva2VuIGRl
c3RydWN0aXZlbHk6WUVTXTsKKworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IHJlc2lnbkZpcnN0
UmVzcG9uZGVyXSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignaW5wdXQnKSJdLmJvb2xWYWx1ZSk7CisKKyAgICBbd2ViVmlldy50ZXh0SW5wdXRDb250
ZW50VmlldyBfcmVzdG9yZUZvY3VzV2l0aFRva2VuOmZvY3VzVG9rZW5dOworICAgIEVYUEVDVF9U
UlVFKFt3ZWJWaWV3IGJlY29tZUZpcnN0UmVzcG9uZGVyXSk7Cit9CisKK1RFU1QoRm9jdXNQcmVz
ZXJ2YXRpb25UZXN0cywgQ2hhbmdpbmdGb2N1c2VkTm9kZVJlc2V0c0ZvY3VzUHJlc2VydmF0aW9u
U3RhdGUpCit7CisgICAgYm9vbCBpbnB1dEZvY3VzZWQgPSBmYWxzZTsKKyAgICBib29sIHNlbGVj
dEZvY3VzZWQgPSBmYWxzZTsKKyAgICBhdXRvIHdlYlZpZXdBbmREZWxlZ2F0ZSA9IHdlYlZpZXdG
b3JUZXN0aW5nRm9jdXNQcmVzZXJ2YXRpb24oWyZpbnB1dEZvY3VzZWQsICZzZWxlY3RGb2N1c2Vk
XSAoaWQgPF9XS0ZvY3VzZWRFbGVtZW50SW5mbz4gaW5mbykgeworICAgICAgICBpZiAoaW5mby50
eXBlID09IFdLSW5wdXRUeXBlU2VsZWN0KQorICAgICAgICAgICAgc2VsZWN0Rm9jdXNlZCA9IHRy
dWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlucHV0Rm9jdXNlZCA9IHRydWU7CisgICAg
fSk7CisKKyAgICBUZXN0V0tXZWJWaWV3ICp3ZWJWaWV3ID0gd2ViVmlld0FuZERlbGVnYXRlLmZp
cnN0LmdldCgpOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2lucHV0JykuZm9jdXMoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAg
ICBVdGlsOjpydW4oJmlucHV0Rm9jdXNlZCk7CisKKyAgICBOU1VVSUQgKmZvY3VzVG9rZW4gPSBO
U1VVSUQuVVVJRDsKKyAgICBbd2ViVmlldy50ZXh0SW5wdXRDb250ZW50VmlldyBfcHJlc2VydmVG
b2N1c1dpdGhUb2tlbjpmb2N1c1Rva2VuIGRlc3RydWN0aXZlbHk6WUVTXTsKKworICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcp
LmZvY3VzKCkiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisgICAgVXRpbDo6cnVuKCZzZWxlY3RG
b2N1c2VkKTsKKworICAgIEVYUEVDVF9OT1RfTlVMTCh3ZWJWaWV3LnRleHRJbnB1dENvbnRlbnRW
aWV3LmlucHV0Vmlldyk7CisgICAgW3dlYlZpZXcgc2VsZWN0Rm9ybUFjY2Vzc29yeVBpY2tlclJv
dzoxXTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyByZXNpZ25GaXJzdFJlc3BvbmRlcl0pOwor
ICAgIEVYUEVDVF9GQUxTRShbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3Qn
KSJdLmJvb2xWYWx1ZSk7CisgICAgRVhQRUNUX0VRKDEsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKS5zZWxlY3Rl
ZEluZGV4Il0uaW50VmFsdWUpOworCisgICAgW3dlYlZpZXcudGV4dElucHV0Q29udGVudFZpZXcg
X3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjpmb2N1c1Rva2VuXTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmggYi9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaAppbmRleCA1ZjE2OWQ5YjRkNzRkYTU3MTNlM2VhM2M4
MTg1YTJhNzJhOGFkNTkxLi45NmNjOGQ1MjYxYzk4NDVkZmM4MmMyNTFjY2FjODI0ZjJjZGIxYWJj
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaApAQCAtMzIsNiAr
MzIsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogQGNsYXNzIF9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvOworQHByb3RvY29sIFVJVGV4dElucHV0TXVsdGlEb2N1bWVudDsKICNlbmRpZgogCiBAaW50
ZXJmYWNlIFdLV2ViVmlldyAoQWRkaXRpb25hbERlY2xhcmF0aW9ucykKQEAgLTYzLDcgKzY0LDcg
QEAKIAogI2lmIFBMQVRGT1JNKElPUykKIEBpbnRlcmZhY2UgVGVzdFdLV2ViVmlldyAoSU9TT25s
eSkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlWaWV3IDxVSVRleHRJbnB1dD4g
KnRleHRJbnB1dENvbnRlbnRWaWV3OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBV
SVZpZXcgPFVJVGV4dElucHV0LCBVSVRleHRJbnB1dE11bHRpRG9jdW1lbnQ+ICp0ZXh0SW5wdXRD
b250ZW50VmlldzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgUmV0YWluUHRyPE5T
QXJyYXk+IHNlbGVjdGlvblJlY3RzQWZ0ZXJQcmVzZW50YXRpb25VcGRhdGU7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIENHUmVjdCBjYXJldFZpZXdSZWN0SW5Db250ZW50Q29vcmRp
bmF0ZXM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJyYXk8TlNWYWx1ZSAq
PiAqc2VsZWN0aW9uVmlld1JlY3RzSW5Db250ZW50Q29vcmRpbmF0ZXM7CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KaW5kZXggNWYyY2E1M2JkMDYyOWMxZGZmMmNj
NDA4ZjFmNTJiMjliOWRjZWUxZS4uYWRkMDEzZjMyODY4NTA2OTI5MjE2ZmVhNDg1ZDg0ZmM1ZWVk
ODEzOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQpAQCAt
NDUsNyArNDUsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxVSUtp
dC9VSUtpdC5oPgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2lu
Zy5oPgogU09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkKIFNPRlRfTElOS19DTEFTUyhVSUtpdCwg
VUlXaW5kb3cpCkBAIC0zMjEsOSArMzIxLDkgQEAgTlNFdmVudE1hc2sgX19zaW11bGF0ZWRfZm9y
Y2VDbGlja0Fzc29jaWF0ZWRFdmVudHNNYXNrKGlkIHNlbGYsIFNFTCBfY21kKQogCiBAaW1wbGVt
ZW50YXRpb24gVGVzdFdLV2ViVmlldyAoSU9TT25seSkKIAotLSAoVUlWaWV3IDxVSVRleHRJbnB1
dD4gKil0ZXh0SW5wdXRDb250ZW50VmlldworLSAoVUlWaWV3IDxVSVRleHRJbnB1dCwgVUlUZXh0
SW5wdXRNdWx0aURvY3VtZW50PiAqKXRleHRJbnB1dENvbnRlbnRWaWV3CiB7Ci0gICAgcmV0dXJu
IChVSVZpZXcgPFVJVGV4dElucHV0PiAqKVtzZWxmIHZhbHVlRm9yS2V5OkAiX2N1cnJlbnRDb250
ZW50VmlldyJdOworICAgIHJldHVybiAoVUlWaWV3IDxVSVRleHRJbnB1dCwgVUlUZXh0SW5wdXRN
dWx0aURvY3VtZW50PiAqKVtzZWxmIHZhbHVlRm9yS2V5OkAiX2N1cnJlbnRDb250ZW50VmlldyJd
OwogfQogCiAtIChSZXRhaW5QdHI8TlNBcnJheT4pc2VsZWN0aW9uUmVjdHNBZnRlclByZXNlbnRh
dGlvblVwZGF0ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEku
aCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNTIyODgwNDA3ODAz
YWZjN2YwNGIyMmUzZmM1MDA2ZTFjMmNhMTNiYS4uNmJkM2NiNjkyN2VlZTlkNTIxNTEwMGJhNWZl
M2ZkYWRjODgxZDNjOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRT
UEkuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCkBAIC0zMSw2ICsz
MSw3IEBACiAKICNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgogI2ltcG9y
dCA8VUlLaXQvVUlSZXNwb25kZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlUZXh0SW5w
dXRNdWx0aURvY3VtZW50Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dFRyYWl0c19Qcml2
YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dF9Qcml2YXRlLmg+CiAjaW1wb3J0IDxV
SUtpdC9VSVZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KQEAgLTc5LDYgKzgwLDEyIEBAIFdURl9F
WFRFUk5fQ19FTkQKIC0gKHZvaWQpaGFuZGxlS2V5V2ViRXZlbnQ6KFdlYkV2ZW50ICopdGhlRXZl
bnQgd2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShXZWJFdmVudCAqLCBCT09MKSljb21w
bGV0aW9uSGFuZGxlcjsKIEBlbmQKIAorQHByb3RvY29sIFVJVGV4dElucHV0TXVsdGlEb2N1bWVu
dCA8TlNPYmplY3Q+CitAb3B0aW9uYWwKKy0gKHZvaWQpX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46
KGlkIDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPil0b2tlbiBkZXN0cnVjdGl2ZWx5OihCT09M
KWRlc3RydWN0aXZlbHk7CistIChCT09MKV9yZXN0b3JlRm9jdXNXaXRoVG9rZW46KGlkIDxOU0Nv
cHlpbmcsIE5TU2VjdXJlQ29kaW5nPil0b2tlbjsKK0BlbmQKKwogI2lmIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAKIEBpbnRlcmZhY2UgTlNVUkwgKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349354</attachid>
            <date>2018-09-10 16:30:40 -0700</date>
            <delta_ts>2018-09-10 18:18:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189475-20180910163039.patch</filename>
            <type>text/plain</type>
            <size>27250</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLmYwNzczOTNkNTNkYWMxMWQ0OGU1OTc5MGYzM2MwNTdk
M2Y0NTVkMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTgtMDktMTAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5hYmxlIHRv
IGNoYW5nZSB0aGUgdmFsdWUgb2Ygc2VsZWN0IGVsZW1lbnRzIHdoaWxlIHByZXNlcnZpbmcgZm9j
dXMgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4OTQ3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDExMjU3NjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBXaXRoIFVJVGV4dElucHV0TXVsdGlEb2N1
bWVudCBzdXBwb3J0IGluIFdlYktpdCAocjIyNjkxMSksIFdLQ29udGVudFZpZXcgbWF5IGVudGVy
IGEgc3RhdGUgd2hlcmUgdGhlIHVzZXIgaXMKKyAgICAgICAgYWJsZSB0byBpbnRlcmFjdCB3aXRo
IHdlYiBjb250ZW50LCBidXQgZm9jdXMgc3RhdGUgaXMgYmVpbmcgcHJlc2VydmVkIG9uIFdLV2Vi
Vmlldy4gVGhpcyBwcmV2ZW50cyBrZXlib2FyZCBhbmQKKyAgICAgICAgaW5wdXQgdmlldyBkaXNt
aXNzYWwgZnJvbSBibHVycmluZyB0aGUgZm9jdXNlZCBlbGVtZW50ICh3aGljaCwgaW4gdHVybiwg
bWVhbnMgdGhhdCB0aGUgdmFsdWUgb2YgY2VydGFpbiBmb3JtCisgICAgICAgIGNvbnRyb2xzLCBz
dWNoIGFzIHNlbGVjdCBlbGVtZW50cywgY2Fubm90IGJlIGNoYW5nZWQpLiBUaGlzIGNhbiBoYXBw
ZW4gaW4gdGhlIGZvbGxvd2luZyBzY2VuYXJpbzoKKworICAgICAgICAxLiBTdXBwb3NlIHdlIGhh
dmUgYSB3ZWIgdmlldyBlbWJlZGRlZCBpbnNpZGUgb2YgYSB2aWV3IGNvbnRyb2xsZXIgKGxldCdz
IGNhbGwgaXQgYEFgKS4KKyAgICAgICAgMi4gQW5vdGhlciB2aWV3IGNvbnRyb2xsZXIgKGxldCdz
IGNhbGwgdGhpcyBvbmUgYEJgKSBpcyBtb2RhbGx5IHByZXNlbnRlZCBvdmVyIGBBYC4KKyAgICAg
ICAgMy4gVGhlIHdlYiB2aWV3IGlzIHJlbW92ZWQgZnJvbSBgQWAncyB2aWV3IGhpZXJhcmNoeSBh
bmQgcmVwYXJlbnRlZCB1bmRlciBgQmAncyB2aWV3LgorICAgICAgICA0LiBUaGUgdXNlciB0YXBz
IGEgZm9ybSBjb250cm9sIGluIHRoZSB3ZWIgdmlldywgaW50ZXJhY3RzIHdpdGggdGhlIGtleWJv
YXJkLCBhbmQgdGFwcyB0aGUgRG9uZSBidXR0b24uCisKKyAgICAgICAgQWZ0ZXIgc3RlcCAyLCBX
S0NvbnRlbnRWaWV3IGdldHMgYSBjYWxsIHRvIGAtX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46ZGVz
dHJ1Y3RpdmVseTpgLCB3aGljaCBpbmNyZW1lbnRzIGl0cyBmb2N1cworICAgICAgICByZXRhaW4g
Y291bnQgdG8gMS4gVGh1cywgaW4gc3RlcCAzLCByZXNpZ25pbmcgZmlyc3QgcmVzcG9uZGVyIHVz
aW5nIHRoZSBEb25lIGJ1dHRvbiBmYWlscyB0byBibHVyIHRoZSBlbGVtZW50LgorICAgICAgICBU
byBmaXggdGhpcywgd2Ugc3BsaXQgdGhlIGV4aXN0aW5nIGBfYWN0aXZlRm9jdXNlZFN0YXRlUmV0
YWluQ291bnRgIGludG8gdHdvIHZhbHVlczogYF9mb2N1c1ByZXNlcnZhdGlvbkNvdW50YCwKKyAg
ICAgICAgd2hpY2ggaXMgc2FmZSB0byByZXNldCBhbmQgcmVzZXRzIHRvIDAgd2hlbiBjaGFuZ2lu
ZyB0aGUgZm9jdXNlZCBlbGVtZW50LCBhbmQgYF9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3Vu
dGAsCisgICAgICAgIHdoaWNoIGFsd2F5cyBpbmNyZW1lbnRzIGFuZCBkZWNyZW1lbnRzLCBhbmQg
b25seSBkb2VzIHNvIHdoZW4gdXNpbmcgYC1fcmV0YWluQWN0aXZlRm9jdXNlZFN0YXRlYC4KKwor
ICAgICAgICBUaGlzIGFsc28gZml4ZXMgYSBidWcgd2hlcmVpbiBgLV9yZXN0b3JlRm9jdXNXaXRo
VG9rZW46YCBpcyBpbXBsZW1lbnRlZCBhcyByZXR1cm5pbmcgYHZvaWRgIGluIFdlYktpdCwgZXZl
bgorICAgICAgICB0aG91Z2ggaXRzIGRlY2xhcmF0aW9uIGluIFVJS2l0IHJldHVybnMgYSBgQk9P
TGAuIFVJS2l0IGN1cnJlbnRseSBjYWxscyB0aGlzIHNlbGVjdG9yIG9uIFdLQ29udGVudFZpZXcg
YW5kCisgICAgICAgIHN0b3JlcyB0aGUgcmVzdWx0IHdpdGhpbiBhIGBCT09MYDsgdGhpcyByZXN1
bHRzIGluIHRoZSByZXR1cm4gdmFsdWUgb2YgYC1fcmVzdG9yZUZvY3VzV2l0aFRva2VuOmAgZWZm
ZWN0aXZlbHkKKyAgICAgICAgYmVjb21pbmcgdGhlIGxhc3QgYnl0ZSBvZiB0aGUgbW9zdCByZWNl
bnQgdmFsdWUgc3RvcmVkIGluIGAkcmF4YCB3aGVuIGV4aXRpbmcgYC1fcmVzdG9yZUZvY3VzV2l0
aFRva2VuOmAuIEZyb20KKyAgICAgICAgZGVidWdnaW5nIGEgcmVsZWFzZSBidWlsZCBvZiBXZWJL
aXQsIHRoaXMgdHVybnMgb3V0IHRvIGp1c3QgYmUgMHgwLCBiZWNvbWluZyBOTywgd2hpY2ggaXMg
Y29ycmVjdCBnaXZlbiB0aGF0CisgICAgICAgIFdLQ29udGVudFZpZXcgZG9lcyBub3QgYXR0ZW1w
dCB0byBiZWNvbWUgZmlyc3QgcmVzcG9uZGVyIHdpdGhpbiBgX3Jlc3RvcmVGb2N1c1dpdGhUb2tl
bjpgLgorCisgICAgICAgIFRlc3RzOiAgRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5QcmVzZXJ2ZUFu
ZFJlc3RvcmVGb2N1cworICAgICAgICAgICAgICAgIEZvY3VzUHJlc2VydmF0aW9uVGVzdHMuQ2hh
bmdpbmdGb2N1c2VkTm9kZVJlc2V0c0ZvY3VzUHJlc2VydmF0aW9uU3RhdGUKKworICAgICAgICAq
IFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbmNyZW1lbnRGb2N1c1By
ZXNlcnZhdGlvbkNvdW50XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZGVjcmVtZW50Rm9jdXNQ
cmVzZXJ2YXRpb25Db3VudF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Jlc2V0Rm9jdXNQcmVz
ZXJ2YXRpb25Db3VudF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2lzUmV0YWluaW5nQWN0aXZl
Rm9jdXNlZFN0YXRlXSk6CisKKyAgICAgICAgQWN0aXZlIGZvY3VzIHN0YXRlIGlzIHJldGFpbmVk
IGlmIGVpdGhlciB0aGUgZm9jdXMgcHJlc2VydmF0aW9uIGNvdW50IG9yIGFjdGl2ZSBmb2N1cyBz
dGF0ZSBjb3VudCBpcyBub24temVyby4KKyAgICAgICAgU3BsaXR0aW5nIHRoaXMgaW50byB0d28g
dmFyaWFibGVzIGVuc3VyZXMgdGhhdCBTUEkgY2xpZW50cyBvZiBgLV9yZXRhaW5BY3RpdmVGb2N1
c2VkU3RhdGVgIHdvbid0IGhhdmUgYWN0aXZlCisgICAgICAgIGZvY3VzIHN0YXRlIHJlc2V0IGZy
b20gdW5kZXJuZWF0aCB0aGVtLCBhbmQgYWRkaXRpb25hbGx5IHByZXZlbnRzIFdLQ29udGVudFZp
ZXcgZnJvbSByZXRhaW5pbmcgYWN0aXZlIGZvY3VzIGR1ZQorICAgICAgICB0byBVSVRleHRJbnB1
dE11bHRpRG9jdW1lbnQgcHJvdG9jb2wgbWV0aG9kcyB3aGlsZSB0aGUgdXNlciBpcyBzdGlsbCBp
bnRlcmFjdGluZyB3aXRoIGl0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdJbnRlcm5hbC5oOgorCisgICAgICAgIE1vdmUgX2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFp
bkNvdW50IHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBXS0NvbnRlbnRWaWV3OyBpbnN0ZWFkIG9m
IGRpcmVjdGx5IG1hbmlwdWxhdGluZyB0aGUKKyAgICAgICAgdmFyaWFibGUsIGFkZCBoZWxwZXIg
bWV0aG9kcyB0byBpbmNyZW1lbnQsIGRlY3JlbWVudCwgb3IgcmVzZXQgdGhlIGZvY3VzIHByZXNl
cnZhdGlvbiBjb3VudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjppc1ZpZXdXaW5kb3dBY3Rp
dmUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aXNWaWV3Rm9jdXNlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyByZXNpZ25GaXJzdFJlc3BvbmRlckZvcldlYlZpZXddKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBfc3RhcnRBc3Npc3RpbmdOb2RlOnVzZXJJc0ludGVyYWN0aW5n
OmJsdXJQcmV2aW91c05vZGU6Y2hhbmdpbmdBY3Rpdml0eVN0YXRlOnVzZXJPYmplY3Q6XSk6CisK
KyAgICAgICAgUmVzZXQgdGhlIGZvY3VzIHByZXNlcnZhdGlvbiBjb3VudC4KKworICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGFkZEZvY3VzZWRGb3JtQ29udHJvbE92ZXJsYXldKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyByZW1vdmVGb2N1c2VkRm9ybUNvbnRyb2xPdmVybGF5XSk6CisKKyAg
ICAgICAgVXNlIGAtX3JldGFpbkFjdGl2ZUZvY3VzZWRTdGF0ZWAgaW5zdGVhZCBvZiBpbmNyZW1l
bnRpbmcgYW5kIGRlY3JlbWVudGluZyB0aGUgY291bnRlciBkaXJlY3RseS4KKworICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IF9yZXN0b3JlRm9jdXNXaXRoVG9rZW46XSk6CisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46ZGVzdHJ1Y3RpdmVseTpdKToKKwor
ICAgICAgICBVc2UgYF9pbmNyZW1lbnRGb2N1c1ByZXNlcnZhdGlvbkNvdW50YCBhbmQgYF9kZWNy
ZW1lbnRGb2N1c1ByZXNlcnZhdGlvbkNvdW50YCBpbnN0ZWFkIG9mIG1hbmlwdWxhdGluZyBjb3Vu
dGVyCisgICAgICAgIHZhcmlhYmxlcyBkaXJlY3RseS4KKwogMjAxOC0wOS0wNyAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBXZWJDb250ZW50IGFj
Y2VzcyB0byBBVkNTdXBwb3J0ZWQgSU9LaXQgcHJvcGVydHkgaW4gc2FuZGJveApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCBhODg1N2FiYzM1Njg0ZjIyMTNj
NjY0MzlkMzUzNDRmMzZhODc0NTFlLi41ZDY2M2I1YjlhMDA1OWIzNzJjNjM0MGMzNWUzMmI5MDY5
YzZjMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRT
UEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAt
MTAyOCw3ICsxMDI4LDcgQEAgdHlwZWRlZiBOU0ludGVnZXIgVUlDb21wb3NpdGluZ01vZGU7CiAj
ZWxzZQogQHByb3RvY29sIFVJVGV4dElucHV0TXVsdGlEb2N1bWVudCA8TlNPYmplY3Q+CiBAb3B0
aW9uYWwKLS0gKHZvaWQpX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNT
ZWN1cmVDb2Rpbmc+KXRva2VuIGNvbXBsZXRpb246KHZvaWQgKF4pKEJPT0wgZGlkUmVzdG9yZSkp
Y29tcGxldGlvbjsKKy0gKEJPT0wpX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWlu
ZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuOwogLSAodm9pZClfcHJlc2VydmVGb2N1c1dpdGhUb2tl
bjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuIGRlc3RydWN0aXZlbHk6KEJP
T0wpZGVzdHJ1Y3RpdmVseTsKIEBlbmQKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNjZjMjhlYmZmY2Q1MjNiNzA0NWMxNWFk
YjI3NTRmNDJhMGNkODI0My4uZDU3OWY2YzMzNTdjMGI3ZDNhZWE2MmFjNDYyMmFlZmJmODk2YzNk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CkBAIC0zNTksNiArMzU5LDkgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlPiB0b0NvcmVTY3JvbGxiYXJTdHlsZShfV0tPdmUKICAgICAvLyBGb3Ig
cmVsZWFzZS1sb2dnaW5nIGZvciA8cmRhcjovL3Byb2JsZW0vMzkyODEyNjk+LgogICAgIE1vbm90
b25pY1RpbWUgX3RpbWVPZlJlcXVlc3RGb3JWaXNpYmxlQ29udGVudFJlY3RVcGRhdGU7CiAgICAg
TW9ub3RvbmljVGltZSBfdGltZU9mTGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZTsKKworICAg
IE5TVUludGVnZXIgX2ZvY3VzUHJlc2VydmF0aW9uQ291bnQ7CisgICAgTlNVSW50ZWdlciBfYWN0
aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6V2ViVmlld0ltcGw+IF9pbXBsOwpAQCAtNDMzLDYg
KzQzNiwzMSBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1NldHRpbmdBbnlYSFJIZWFkZXJGcm9t
RmlsZVVSTHMoKQogICAgIHJldHVybiBzaG91bGRBbGxvd1NldHRpbmdBbnlYSFJIZWFkZXJGcm9t
RmlsZVVSTHM7CiB9CiAKKy0gKHZvaWQpX2luY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnQK
K3sKKyAgICArK19mb2N1c1ByZXNlcnZhdGlvbkNvdW50OworfQorCistICh2b2lkKV9kZWNyZW1l
bnRGb2N1c1ByZXNlcnZhdGlvbkNvdW50Cit7CisgICAgaWYgKF9mb2N1c1ByZXNlcnZhdGlvbkNv
dW50KQorICAgICAgICAtLV9mb2N1c1ByZXNlcnZhdGlvbkNvdW50OworfQorCistICh2b2lkKV9y
ZXNldEZvY3VzUHJlc2VydmF0aW9uQ291bnQKK3sKKyAgICBfZm9jdXNQcmVzZXJ2YXRpb25Db3Vu
dCA9IDA7Cit9CisKKy0gKEJPT0wpX2lzUmV0YWluaW5nQWN0aXZlRm9jdXNlZFN0YXRlCit7Cisg
ICAgLy8gRm9jdXMgcHJlc2VydmF0aW9uIGNvdW50IGZ1bGZpbGxzIHRoZSBzYW1lIHJvbGUgYXMg
YWN0aXZlIGZvY3VzIHN0YXRlIGNvdW50LgorICAgIC8vIEhvd2V2ZXIsIHVubGlrZSBhY3RpdmUg
Zm9jdXMgc3RhdGUsIGl0IG1heSBiZSByZXNldCB0byAwIHdpdGhvdXQgaW1wYWN0aW5nIHRoZQor
ICAgIC8vIGJlaGF2aW9yIG9mIC1fcmV0YWluQWN0aXZlRm9jdXNlZFN0YXRlLCBhbmQgaXQncyBo
YXJtbGVzcyB0byBpbnZva2UKKyAgICAvLyAtX2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291
bnQgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBjb3VudCB0byAwLgorICAgIHJldHVybiBfZm9jdXNQcmVz
ZXJ2YXRpb25Db3VudCB8fCBfYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7Cit9CisKICNl
bmRpZgogCiBzdGF0aWMgYm9vbCBzaG91bGRSZXF1aXJlVXNlckdlc3R1cmVUb0xvYWRWaWRlbygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJ
bnRlcm5hbC5oCmluZGV4IDRmM2FiYmNjZTU4Zjg0ZjM1OTdjMWUzY2UzZDc0MjgzNDlhMGU5ZDQu
Ljc0ZTlhMjc3MGJhMjdiOTg5OTQ0NzFmNDBhY2FkMzQ5YjQxZWI4NDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBA
IC03MywxMCArNzMsNiBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogICAgIFJldGFpblB0cjxXS1dlYlZp
ZXdDb25maWd1cmF0aW9uPiBfY29uZmlndXJhdGlvbjsKIAogICAgIFJlZlB0cjxXZWJLaXQ6Oldl
YlBhZ2VQcm94eT4gX3BhZ2U7Ci0KLSNpZiBQTEFURk9STShJT1MpCi0gICAgTlNVSW50ZWdlciBf
YWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQ7Ci0jZW5kaWYKIH0KIAogI2lmIFBMQVRGT1JN
KElPUykKQEAgLTE0Miw2ICsxMzgsMTAgQEAgc3RydWN0IFByaW50SW5mbzsKIC0gKHZvaWQpX3Ry
YW5zbGl0ZXJhdGVDaGluZXNlOihpZClzZW5kZXI7CiAtICh2b2lkKXJlcGxhY2U6KGlkKXNlbmRl
cjsKIAorLSAodm9pZClfaW5jcmVtZW50Rm9jdXNQcmVzZXJ2YXRpb25Db3VudDsKKy0gKHZvaWQp
X2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnQ7CistICh2b2lkKV9yZXNldEZvY3VzUHJl
c2VydmF0aW9uQ291bnQ7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tQYXNz
d29yZFZpZXcgKl9wYXNzd29yZFZpZXc7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgQk9PTCBfaXNCYWNrZ3JvdW5kOwpAQCAtMTU0LDYgKzE1NCw3IEBAIHN0cnVjdCBQcmludElu
Zm87CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2hhdmVTZXRPYnNjdXJl
ZEluc2V0czsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5zZXRzIF9j
b21wdXRlZE9ic2N1cmVkSW5zZXQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJ
RWRnZUluc2V0cyBfY29tcHV0ZWRVbm9ic2N1cmVkU2FmZUFyZWFJbnNldDsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPV9pc1JldGFpbmluZ0FjdGl2ZUZvY3VzZWRTdGF0
ZSkgQk9PTCBfcmV0YWluaW5nQWN0aXZlRm9jdXNlZFN0YXRlOwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZDFjYjQ0NWFkYWZmMWE1OWUyYjJkNjM0Nzg0
MmM0MmU3ZTRlYmY4NC4uMGQzMmVlMjJmNTJmNzRhOTc3YWRhMDQ3YzZlNjMyN2QwODY0OWE5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bQpAQCAtMTYxLDEzICsxNjEsMTMgQEAgSW50U2l6ZSBQYWdlQ2xpZW50SW1wbDo6dmlld1NpemUo
KQogYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3V2luZG93QWN0aXZlKCkKIHsKICAgICAvLyBG
SVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzA5OAotICAg
IHJldHVybiBpc1ZpZXdWaXNpYmxlKCkgfHwgKG1fd2ViVmlldyAmJiBtX3dlYlZpZXctPl9hY3Rp
dmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudCk7CisgICAgcmV0dXJuIGlzVmlld1Zpc2libGUoKSB8
fCAobV93ZWJWaWV3ICYmIFttX3dlYlZpZXcgX2lzUmV0YWluaW5nQWN0aXZlRm9jdXNlZFN0YXRl
XSk7CiB9CiAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld0ZvY3VzZWQoKQogewogICAgIC8v
IEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMDk4Ci0g
ICAgcmV0dXJuIGlzVmlld1dpbmRvd0FjdGl2ZSgpIHx8IChtX3dlYlZpZXcgJiYgbV93ZWJWaWV3
LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0YWluQ291bnQpOworICAgIHJldHVybiBpc1ZpZXdXaW5k
b3dBY3RpdmUoKSB8fCAobV93ZWJWaWV3ICYmIFttX3dlYlZpZXcgX2lzUmV0YWluaW5nQWN0aXZl
Rm9jdXNlZFN0YXRlXSk7CiB9CiAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oCmluZGV4IDRjZjQ5Y2MzYzJlNWI0NmEyYzc0NzZkZWNiYTViMWQ2YWJhZWQz
MGYuLmQ3MTU2MmM1NTY3OWUyMzExY2NjNzUzNGI2YWJjZTkwY2E3NDQ3NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
LmgKQEAgLTI3Nyw2ICsyNzcsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogICAg
IFJldGFpblB0cjxVSU5hdmlnYXRpb25Db250cm9sbGVyPiBfaW5wdXROYXZpZ2F0aW9uVmlld0Nv
bnRyb2xsZXJGb3JGdWxsU2NyZWVuSW5wdXRzOwogCiAgICAgQk9PTCBfc2hvdWxkUmVzdG9yZUZp
cnN0UmVzcG9uZGVyU3RhdHVzQWZ0ZXJMb3NpbmdGb2N1czsKKyAgICBCbG9ja1B0cjx2b2lkKCk+
IF9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5CbG9jazsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQppbmRleCA5MzhkNGE5ZGY0ODkxNWJjOTJlY2Y3Zjg4YmVlNTIwNjBiNTA4ZjhkLi44Nzg3Mzhi
ZGRkNGZkZThjYWVkOGYzOGExYmQ3NmE4YTU0MjZlOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTEw
MTEsNyArMTAxMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNBc3Npc3RlZE5vZGUoV2ViS2l0
OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBhc3Npc3RlZE5vZGVJCiAgICAgLy8gYW5kIGRvIG5v
dGhpbmcgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBOTy4KIAogICAgIF9yZXNpZ25pbmdGaXJzdFJl
c3BvbmRlciA9IFlFUzsKLSAgICBpZiAoIV93ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRlUmV0
YWluQ291bnQpIHsKKyAgICBpZiAoIV93ZWJWaWV3Ll9yZXRhaW5pbmdBY3RpdmVGb2N1c2VkU3Rh
dGUpIHsKICAgICAgICAgLy8gV2UgbmVlZCB0byBjb21wbGV0ZSB0aGUgZWRpdGluZyBvcGVyYXRp
b24gYmVmb3JlIHdlIGJsdXIgdGhlIGVsZW1lbnQuCiAgICAgICAgIFtfaW5wdXRQZXJpcGhlcmFs
IGVuZEVkaXRpbmddOwogICAgICAgICBbX2Zvcm1JbnB1dFNlc3Npb24gZW5kRWRpdGluZ107CkBA
IC00MjEwLDYgKzQyMTAsOCBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoSW5w
dXRUeXBlIHR5cGUpCiAgICAgaWYgKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlw
ZSA9PSBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSAmJiBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFJlY3QgPT0gaW5mb3JtYXRpb24uZWxlbWVudFJlY3QpCiAgICAgICAgIHJldHVybjsK
IAorICAgIFtfd2ViVmlldyBfcmVzZXRGb2N1c1ByZXNlcnZhdGlvbkNvdW50XTsKKwogICAgIF9m
b2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlID0gTk87CiAgICAgaWYgKFtpbnB1
dERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Zm9jdXNSZXF1
aXJlc1N0cm9uZ1Bhc3N3b3JkQXNzaXN0YW5jZTopXSkKICAgICAgICAgX2ZvY3VzUmVxdWlyZXNT
dHJvbmdQYXNzd29yZEFzc2lzdGFuY2UgPSBbaW5wdXREZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmll
dyBmb2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlOmZvY3VzZWRFbGVtZW50SW5m
by5nZXQoKV07CkBAIC00MzQwLDcgKzQzNDIsNyBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJ
bnB1dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAgICAgaWYgKF9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3
KQogICAgICAgICByZXR1cm47CiAKLSAgICArK193ZWJWaWV3LT5fYWN0aXZlRm9jdXNlZFN0YXRl
UmV0YWluQ291bnQ7CisgICAgX2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkJsb2NrID0gbWFrZUJs
b2NrUHRyKF93ZWJWaWV3Ll9yZXRhaW5BY3RpdmVGb2N1c2VkU3RhdGUpOwogCiAgICAgX2ZvY3Vz
ZWRGb3JtQ29udHJvbFZpZXcgPSBhZG9wdE5TKFtbV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOl93ZWJWaWV3LmJvdW5kcyBkZWxlZ2F0ZTpzZWxmXSk7CiAgICAg
W19mb2N1c2VkRm9ybUNvbnRyb2xWaWV3IGhpZGU6Tk9dOwpAQCAtNDM1Myw3ICs0MzU1LDggQEAg
c3RhdGljIGJvb2wgaXNBc3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogICAgIGlm
ICghX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXcpCiAgICAgICAgIHJldHVybjsKIAotICAgIC0tX3dl
YlZpZXctPl9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsKKyAgICBpZiAoYXV0byByZWxl
YXNlQWN0aXZlRm9jdXNTdGF0ZSA9IFdURk1vdmUoX2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkJs
b2NrKSkKKyAgICAgICAgcmVsZWFzZUFjdGl2ZUZvY3VzU3RhdGUoKTsKIAogICAgIFtfZm9jdXNl
ZEZvcm1Db250cm9sVmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfZm9jdXNlZEZvcm1D
b250cm9sVmlldyA9IG5pbDsKQEAgLTQ3NjAsMjAgKzQ3NjMsMjYgQEAgc3RhdGljIGJvb2wgaXNB
c3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogCiAjcHJhZ21hIG1hcmsgLSBVSVRl
eHRJbnB1dE11bHRpRG9jdW1lbnQKIAotLSAodm9pZClfcmVzdG9yZUZvY3VzV2l0aFRva2VuOihp
ZCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9rZW4KKy0gKEJPT0wpX3Jlc3RvcmVGb2N1
c1dpdGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuCiB7Ci0gICAg
QVNTRVJUKCFfZm9jdXNTdGF0ZVN0YWNrLmlzRW1wdHkoKSk7Ci0gICAgCi0gICAgaWYgKF9mb2N1
c1N0YXRlU3RhY2sudGFrZUxhc3QoKSkgewotICAgICAgICBBU1NFUlQoX3dlYlZpZXctPl9hY3Rp
dmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudCk7Ci0gICAgICAgIC0tX3dlYlZpZXctPl9hY3RpdmVG
b2N1c2VkU3RhdGVSZXRhaW5Db3VudDsKKyAgICBpZiAoX2ZvY3VzU3RhdGVTdGFjay5pc0VtcHR5
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBOTzsK
ICAgICB9CisKKyAgICBpZiAoX2ZvY3VzU3RhdGVTdGFjay50YWtlTGFzdCgpKQorICAgICAgICBb
X3dlYlZpZXcgX2RlY3JlbWVudEZvY3VzUHJlc2VydmF0aW9uQ291bnRdOworCisgICAgLy8gRklY
TUU6IE91ciBjdXJyZW50IGJlaGF2aW9yIGluIC1fcmVzdG9yZUZvY3VzV2l0aFRva2VuOiBkb2Vz
IG5vdCBmb3JjZSB0aGUgd2ViIHZpZXcgdG8gYmVjb21lIGZpcnN0IHJlc3BvbmRlcgorICAgIC8v
IGJ5IHJlZm9jdXNpbmcgdGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQuIEFzIHN1Y2gsIHdl
IHJldHVybiBOTyBoZXJlIHNvIHRoYXQgVUlLaXQgd2lsbCB0ZWxsIFdLQ29udGVudFZpZXcKKyAg
ICAvLyB0byBiZWNvbWUgZmlyc3QgcmVzcG9uZGVyIGluIHRoZSBmdXR1cmUuCisgICAgcmV0dXJu
IE5POwogfQogCiAtICh2b2lkKV9wcmVzZXJ2ZUZvY3VzV2l0aFRva2VuOihpZCA8TlNDb3B5aW5n
LCBOU1NlY3VyZUNvZGluZz4pdG9rZW4gZGVzdHJ1Y3RpdmVseTooQk9PTClkZXN0cnVjdGl2ZWx5
CiB7CiAgICAgaWYgKCFfaW5wdXRQZXJpcGhlcmFsKSB7Ci0gICAgICAgICsrX3dlYlZpZXctPl9h
Y3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsKKyAgICAgICAgW193ZWJWaWV3IF9pbmNyZW1l
bnRGb2N1c1ByZXNlcnZhdGlvbkNvdW50XTsKICAgICAgICAgX2ZvY3VzU3RhdGVTdGFjay5hcHBl
bmQodHJ1ZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIF9mb2N1c1N0YXRlU3RhY2suYXBwZW5kKGZh
bHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBiMGYwNWQ1OGM5NWJjODYxZDA1MzY0NzgxNjY5Y2NhMzY4MGM4MjIwLi44YWQzZjAxYzk3MTE1
NjllMTRkNDUyZGVhMTljNjU5OTAwOGYxNTQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTgtMDktMTAgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5hYmxl
IHRvIGNoYW5nZSB0aGUgdmFsdWUgb2Ygc2VsZWN0IGVsZW1lbnRzIHdoaWxlIHByZXNlcnZpbmcg
Zm9jdXMgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQ3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDExMjU3NjQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGRzIGEgcGFpciBvZiBuZXcgQVBJ
IHRlc3RzIHRvIHZlcmlmeSB0aGF0ICgxKSByZXNpZ25pbmcgZmlyc3QgcmVzcG9uZGVyIHdoaWxl
IHByZXNlcnZpbmcgZm9jdXMgZG9lcyBub3QgYmx1cgorICAgICAgICB0aGUgZm9jdXNlZCBlbGVt
ZW50LCBhbmQgKDIpIGlmIGFub3RoZXIgZWxlbWVudCBpcyBmb2N1c2VkIGFuZCBwcmVzZW50cyBh
biBpbnB1dCB2aWV3IHdoaWxlIHByZXNlcnZpbmcgZm9jdXMsCisgICAgICAgIHRoZW4gd2UgcmVz
ZXQgcHJlc2VydmF0aW9uIHN0YXRlIGFuZCBhbGxvdyBmaXJzdCByZXNwb25kZXIgcmVzaWduYXRp
b24gdG8gYmx1ciB0aGUgZm9jdXNlZCBlbGVtZW50LgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9pb3MvRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbTogQWRkZWQuCisg
ICAgICAgICh3ZWJWaWV3Rm9yVGVzdGluZ0ZvY3VzUHJlc2VydmF0aW9uKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdL
V2ViVmlldy5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10pOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmg6CisKIDIwMTgtMDktMDcgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHVpQ29udHJvbGxl
ci50eXBlQ2hhcmFjdGVyVXNpbmdIYXJkd2FyZUtleWJvYXJkKCJgIiwgLi4uKSBkaXNwYXRjaGVz
IERPTSBrZXkgZXZlbnRzIGZvciB+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRjYjVlY2Nh
NGM0YTcxOTBjZDFlMzRlYWM2ZjE0NDFjOWI3ZDE1YzQuLjcxNmIzYzhmNjc3YzUwMTY1ZTVhY2Rj
NjRhNWZhYTU5YjlhYzJkZjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MzMsNiArODMz
LDcgQEAKIAkJRjRBQjU3OEExRjY1MTY1NDAwREIwREExIC8qIGN1c3RvbS1kcmFnZ2FibGUtZGl2
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjRBQjU3ODkxRjY1MTY0QjAwREIwREExIC8qIGN1c3RvbS1kcmFnZ2FibGUtZGl2Lmh0bWwg
Ki87IH07CiAJCUY0QjgyNUQ4MUVGNERCRkIwMDZFNDE3RiAvKiBjb21wcmVzc2VkLWZpbGVzLnpp
cCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NEI4MjVENjFFRjREQkQ0MDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAgKi87IH07CiAJ
CUY0Qjg2RDRGMjBCQ0Q1QjIwMDk5QTdFNiAvKiBwYWludC1zaWduaWZpY2FudC1hcmVhLW1pbGVz
dG9uZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0Qjg2RDRFMjBCQ0Q1OTcwMDk5QTdFNiAvKiBwYWludC1zaWduaWZpY2FudC1hcmVh
LW1pbGVzdG9uZS5odG1sICovOyB9OworCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyogRm9j
dXNQcmVzZXJ2YXRpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0QkMwQjEzMjE0NkM4NDkwMDJBMDQ3OCAvKiBGb2N1c1ByZXNlcnZhdGlv
blRlc3RzLm1tICovOyB9OwogCQlGNEJGQTY4RTFFNEFEMDgwMDAxNTQyOTggLyogTGVnYWN5RHJh
Z0FuZERyb3BUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0QkZBNjhDMUU0QUQwODAwMDE1NDI5OCAvKiBMZWdhY3lEcmFnQW5kRHJvcFRlc3Rz
Lm1tICovOyB9OwogCQlGNEMyQUIyMjFERDZEOTVFMDBFMDZENUIgLyogZW5vcm1vdXMtdmlkZW8t
d2l0aC1zb3VuZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0QzJBQjIxMURENkQ5NDEwMEUwNkQ1QiAvKiBlbm9ybW91cy12aWRlby13
aXRoLXNvdW5kLmh0bWwgKi87IH07CiAJCUY0Qzg3OTdGMjA1OUQ4RDMwMDlDRDAwQiAvKiBTY3Jv
bGxWaWV3SW5zZXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY0Qzg3OTdFMjA1OUQ4RDMwMDlDRDAwQiAvKiBTY3JvbGxWaWV3SW5zZXRUZXN0
cy5tbSAqLzsgfTsKQEAgLTIwODUsNiArMjA4Niw3IEBACiAJCUY0QUI1Nzg5MUY2NTE2NEIwMERC
MERBMSAvKiBjdXN0b20tZHJhZ2dhYmxlLWRpdi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImN1c3RvbS1kcmFnZ2FibGUtZGl2Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNEI4MjVENjFFRjREQkQ0MDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZl
LnppcDsgcGF0aCA9ICJjb21wcmVzc2VkLWZpbGVzLnppcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY0Qjg2RDRFMjBCQ0Q1OTcwMDk5QTdFNiAvKiBwYWludC1zaWduaWZpY2FudC1h
cmVhLW1pbGVzdG9uZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInBhaW50LXNp
Z25pZmljYW50LWFyZWEtbWlsZXN0b25lLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGNEJDMEIxMzIxNDZDODQ5MDAyQTA0NzggLyogRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QkZBNjhDMUU0QUQwODAwMDE1NDI5OCAvKiBMZWdh
Y3lEcmFnQW5kRHJvcFRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gTGVnYWN5RHJhZ0FuZERyb3BUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjRDMkFCMjExREQ2RDk0MTAwRTA2RDVCIC8qIGVub3Jtb3VzLXZpZGVvLXdpdGgtc291
bmQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJlbm9ybW91cy12aWRlby13aXRo
LXNvdW5kLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEM4Nzk3RTIwNTlE
OEQzMDA5Q0QwMEIgLyogU2Nyb2xsVmlld0luc2V0VGVzdHMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBTY3JvbGxWaWV3SW5zZXRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI1NDUsNiArMjU0Nyw3IEBACiAJCQkJMkUyMDVCQTMxRjUyNzc0NjAwNTk1MkREIC8qIEFj
Y2Vzc2liaWxpdHlUZXN0c0lPUy5tbSAqLywKIAkJCQlGNDVCNjNGQzFGMTlENDEwMDA5RDM4Qjkg
LyogQWN0aW9uU2hlZXRUZXN0cy5tbSAqLywKIAkJCQlGNEQ0RjNCNzFFNEUzNkU0MDBCQjI3Njcg
LyogRHJhZ0FuZERyb3BUZXN0c0lPUy5tbSAqLywKKwkJCQlGNEJDMEIxMzIxNDZDODQ5MDAyQTA0
NzggLyogRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbSAqLywKIAkJCQlGNDVFMTU3MjIxMTJDRTI5
MDAzMDdFODIgLyogS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tICovLAogCQkJCTU3NEY1NUNFMjA0
RDM3NjMwMDI5NDhDNiAvKiBMb2NhbEF1dGhlbnRpY2F0b3IubW0gKi8sCiAJCQkJNzU2MDkxNzcx
OTI1OUM1OTAwOUVGMDZFIC8qIE1lbW9yeUNhY2hlQWRkSW1hZ2VUb0NhY2hlSU9TLm1tICovLApA
QCAtMzc4MSw2ICszNzg0LDcgQEAKIAkJCQk3QTkwOUE3RTFEODc3NDgwMDA3RTEwRjggLyogRmxv
YXRQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTkwOUE3RjFEODc3NDgwMDA3RTEwRjgg
LyogRmxvYXRSZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTA5QTgwMUQ4Nzc0ODAwMDdF
MTBGOCAvKiBGbG9hdFNpemUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjRCQzBCMTQyMTQ2Qzg0
OTAwMkEwNDc4IC8qIEZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQ0FEMUY4NjFFNUNFN0RBMDBBRjJDMkMgLyogRm9udENhY2hlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUY0NTZBQjFDMjEzRURCQTMwMENCMkNFRiAvKiBGb250TWFuYWdlclRlc3RzLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRjUxQTQxMUFFNjAwNDQ3QzRDIC8qIEZvcmNlUmVwYWlu
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvaW9zL0ZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL2lvcy9Gb2N1c1ByZXNlcnZhdGlvblRlc3RzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMTdiY2QyNTQy
ZTY2MWZjOTEyMDkwNzZkZjBmODc3MDk3NWE4MDEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9Gb2N1c1ByZXNlcnZhdGlvblRlc3RzLm1tCkBAIC0wLDAg
KzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJUZXN0
LmgiCisKKyNpZiBQTEFURk9STShJT1MpCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CisjaW1wb3J0ICJUZXN0SW5wdXREZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5o
IgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW5wdXREZWxlZ2F0ZS5oPgorI2ltcG9ydCA8d3RmL0Js
b2NrUHRyLmg+CisKK3N0YXRpYyBzdGQ6OnBhaXI8UmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+LCBS
ZXRhaW5QdHI8VGVzdElucHV0RGVsZWdhdGU+PiB3ZWJWaWV3Rm9yVGVzdGluZ0ZvY3VzUHJlc2Vy
dmF0aW9uKHZvaWQoXmZvY3VzSGFuZGxlcikoaWQgPF9XS0ZvY3VzZWRFbGVtZW50SW5mbz4pKQor
eworICAgIGF1dG8gaW5wdXREZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0SW5wdXREZWxlZ2F0ZSBh
bGxvY10gaW5pdF0pOworICAgIFtpbnB1dERlbGVnYXRlIHNldEZvY3VzU3RhcnRzSW5wdXRTZXNz
aW9uUG9saWN5SGFuZGxlcjpbJiwgZm9jdXNIYW5kbGVyID0gbWFrZUJsb2NrUHRyKGZvY3VzSGFu
ZGxlcildIChXS1dlYlZpZXcgKiwgaWQ8X1dLRm9jdXNlZEVsZW1lbnRJbmZvPiBpbmZvKSB7Cisg
ICAgICAgIGZvY3VzSGFuZGxlcihpbmZvKTsKKyAgICAgICAgcmV0dXJuIF9XS0ZvY3VzU3RhcnRz
SW5wdXRTZXNzaW9uUG9saWN5QWxsb3c7CisgICAgfV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAs
IDAsIDMyMCwgNTAwKV0pOworICAgIFt3ZWJWaWV3IF9zZXRJbnB1dERlbGVnYXRlOmlucHV0RGVs
ZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpA
IjxpbnB1dD48L2lucHV0PjxzZWxlY3Q+PG9wdGlvbiBzZWxlY3RlZD5mb288L29wdGlvbj48b3B0
aW9uPmJhcjwvb3B0aW9uPjwvc2VsZWN0PiJdOworICAgIHJldHVybiB7IHdlYlZpZXcsIGlucHV0
RGVsZWdhdGUgfTsKK30KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKEZvY3Vz
UHJlc2VydmF0aW9uVGVzdHMsIFByZXNlcnZlQW5kUmVzdG9yZUZvY3VzKQoreworICAgIGJvb2wg
aW5wdXRGb2N1c2VkID0gZmFsc2U7CisgICAgYXV0byB3ZWJWaWV3QW5kRGVsZWdhdGUgPSB3ZWJW
aWV3Rm9yVGVzdGluZ0ZvY3VzUHJlc2VydmF0aW9uKFsmaW5wdXRGb2N1c2VkXSAoaWQgPF9XS0Zv
Y3VzZWRFbGVtZW50SW5mbz4gaW5mbykgeworICAgICAgICBpbnB1dEZvY3VzZWQgPSB0cnVlOwor
ICAgIH0pOworCisgICAgVGVzdFdLV2ViVmlldyAqd2ViVmlldyA9IHdlYlZpZXdBbmREZWxlZ2F0
ZS5maXJzdC5nZXQoKTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmZvY3VzKCkiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07
CisgICAgVXRpbDo6cnVuKCZpbnB1dEZvY3VzZWQpOworCisgICAgTlNVVUlEICpmb2N1c1Rva2Vu
ID0gTlNVVUlELlVVSUQ7CisgICAgW3dlYlZpZXcudGV4dElucHV0Q29udGVudFZpZXcgX3ByZXNl
cnZlRm9jdXNXaXRoVG9rZW46Zm9jdXNUb2tlbiBkZXN0cnVjdGl2ZWx5OllFU107CisKKyAgICBF
WFBFQ1RfVFJVRShbd2ViVmlldyByZXNpZ25GaXJzdFJlc3BvbmRlcl0pOworICAgIEVYUEVDVF9U
UlVFKFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3Rp
dmVFbGVtZW50ID09IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykiXS5ib29sVmFsdWUp
OworCisgICAgW3dlYlZpZXcudGV4dElucHV0Q29udGVudFZpZXcgX3Jlc3RvcmVGb2N1c1dpdGhU
b2tlbjpmb2N1c1Rva2VuXTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBiZWNvbWVGaXJzdFJl
c3BvbmRlcl0pOworfQorCitURVNUKEZvY3VzUHJlc2VydmF0aW9uVGVzdHMsIENoYW5naW5nRm9j
dXNlZE5vZGVSZXNldHNGb2N1c1ByZXNlcnZhdGlvblN0YXRlKQoreworICAgIGJvb2wgaW5wdXRG
b2N1c2VkID0gZmFsc2U7CisgICAgYm9vbCBzZWxlY3RGb2N1c2VkID0gZmFsc2U7CisgICAgYXV0
byB3ZWJWaWV3QW5kRGVsZWdhdGUgPSB3ZWJWaWV3Rm9yVGVzdGluZ0ZvY3VzUHJlc2VydmF0aW9u
KFsmaW5wdXRGb2N1c2VkLCAmc2VsZWN0Rm9jdXNlZF0gKGlkIDxfV0tGb2N1c2VkRWxlbWVudElu
Zm8+IGluZm8pIHsKKyAgICAgICAgaWYgKGluZm8udHlwZSA9PSBXS0lucHV0VHlwZVNlbGVjdCkK
KyAgICAgICAgICAgIHNlbGVjdEZvY3VzZWQgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBpbnB1dEZvY3VzZWQgPSB0cnVlOworICAgIH0pOworCisgICAgVGVzdFdLV2ViVmlldyAq
d2ViVmlldyA9IHdlYlZpZXdBbmREZWxlZ2F0ZS5maXJzdC5nZXQoKTsKKyAgICBbd2ViVmlldyBl
dmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmZvY3Vz
KCkiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisgICAgVXRpbDo6cnVuKCZpbnB1dEZvY3VzZWQp
OworCisgICAgTlNVVUlEICpmb2N1c1Rva2VuID0gTlNVVUlELlVVSUQ7CisgICAgW3dlYlZpZXcu
dGV4dElucHV0Q29udGVudFZpZXcgX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46Zm9jdXNUb2tlbiBk
ZXN0cnVjdGl2ZWx5OllFU107CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKS5mb2N1cygpIiBjb21wbGV0aW9uSGFuZGxl
cjpuaWxdOworICAgIFV0aWw6OnJ1bigmc2VsZWN0Rm9jdXNlZCk7CisKKyAgICBFWFBFQ1RfTk9U
X05VTEwod2ViVmlldy50ZXh0SW5wdXRDb250ZW50Vmlldy5pbnB1dFZpZXcpOworICAgIFt3ZWJW
aWV3IHNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3c6MV07CisgICAgRVhQRUNUX1RSVUUoW3dl
YlZpZXcgcmVzaWduRmlyc3RSZXNwb25kZXJdKTsKKyAgICBFWFBFQ1RfRkFMU0UoW3dlYlZpZXcg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0g
ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2VsZWN0JykiXS5ib29sVmFsdWUpOworICAgIEVYUEVD
VF9FUSgxLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQu
cXVlcnlTZWxlY3Rvcignc2VsZWN0Jykuc2VsZWN0ZWRJbmRleCJdLmludFZhbHVlKTsKKworICAg
IFt3ZWJWaWV3LnRleHRJbnB1dENvbnRlbnRWaWV3IF9yZXN0b3JlRm9jdXNXaXRoVG9rZW46Zm9j
dXNUb2tlbl07Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworI2VuZGlmIC8v
IFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVz
dFdLV2ViVmlldy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgK
aW5kZXggNWYxNjlkOWI0ZDc0ZGE1NzEzZTNlYTNjODE4NWEyYTcyYThhZDU5MS4uOTZjYzhkNTI2
MWM5ODQ1ZGZjODJjMjUxY2NhYzgyNGYyY2RiMWFiYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9j
b2NvYS9UZXN0V0tXZWJWaWV3LmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2lmIFBMQVRGT1JNKElP
UykKIEBjbGFzcyBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbzsKK0Bwcm90b2NvbCBVSVRleHRJbnB1
dE11bHRpRG9jdW1lbnQ7CiAjZW5kaWYKIAogQGludGVyZmFjZSBXS1dlYlZpZXcgKEFkZGl0aW9u
YWxEZWNsYXJhdGlvbnMpCkBAIC02Myw3ICs2NCw3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiBA
aW50ZXJmYWNlIFRlc3RXS1dlYlZpZXcgKElPU09ubHkpCi1AcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIFVJVmlldyA8VUlUZXh0SW5wdXQ+ICp0ZXh0SW5wdXRDb250ZW50VmlldzsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlWaWV3IDxVSVRleHRJbnB1dCwgVUlUZXh0
SW5wdXRNdWx0aURvY3VtZW50PiAqdGV4dElucHV0Q29udGVudFZpZXc7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFJldGFpblB0cjxOU0FycmF5PiBzZWxlY3Rpb25SZWN0c0FmdGVy
UHJlc2VudGF0aW9uVXBkYXRlOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1Jl
Y3QgY2FyZXRWaWV3UmVjdEluQ29udGVudENvb3JkaW5hdGVzOwogQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBOU0FycmF5PE5TVmFsdWUgKj4gKnNlbGVjdGlvblZpZXdSZWN0c0luQ29u
dGVudENvb3JkaW5hdGVzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9U
ZXN0V0tXZWJWaWV3Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3
Lm1tCmluZGV4IDVmMmNhNTNiZDA2MjljMWRmZjJjYzQwOGYxZjUyYjI5YjlkY2VlMWUuLmFkZDAx
M2YzMjg2ODUwNjkyOTIxNmZlYTQ4NWQ4NGZjNWVlZDgxMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KQEAgLTQ1LDcgKzQ1LDcgQEAKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oSU9TKQotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKyNpbXBvcnQgIlVJS2l0
U1BJLmgiCiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KIFNPRlRfTElOS19GUkFNRVdPUkso
VUlLaXQpCiBTT0ZUX0xJTktfQ0xBU1MoVUlLaXQsIFVJV2luZG93KQpAQCAtMzIxLDkgKzMyMSw5
IEBAIE5TRXZlbnRNYXNrIF9fc2ltdWxhdGVkX2ZvcmNlQ2xpY2tBc3NvY2lhdGVkRXZlbnRzTWFz
ayhpZCBzZWxmLCBTRUwgX2NtZCkKIAogQGltcGxlbWVudGF0aW9uIFRlc3RXS1dlYlZpZXcgKElP
U09ubHkpCiAKLS0gKFVJVmlldyA8VUlUZXh0SW5wdXQ+ICopdGV4dElucHV0Q29udGVudFZpZXcK
Ky0gKFVJVmlldyA8VUlUZXh0SW5wdXQsIFVJVGV4dElucHV0TXVsdGlEb2N1bWVudD4gKil0ZXh0
SW5wdXRDb250ZW50VmlldwogewotICAgIHJldHVybiAoVUlWaWV3IDxVSVRleHRJbnB1dD4gKilb
c2VsZiB2YWx1ZUZvcktleTpAIl9jdXJyZW50Q29udGVudFZpZXciXTsKKyAgICByZXR1cm4gKFVJ
VmlldyA8VUlUZXh0SW5wdXQsIFVJVGV4dElucHV0TXVsdGlEb2N1bWVudD4gKilbc2VsZiB2YWx1
ZUZvcktleTpAIl9jdXJyZW50Q29udGVudFZpZXciXTsKIH0KIAogLSAoUmV0YWluUHRyPE5TQXJy
YXk+KXNlbGVjdGlvblJlY3RzQWZ0ZXJQcmVzZW50YXRpb25VcGRhdGUKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lv
cy9VSUtpdFNQSS5oCmluZGV4IDUyMjg4MDQwNzgwM2FmYzdmMDRiMjJlM2ZjNTAwNmUxYzJjYTEz
YmEuLjZiZDNjYjY5MjdlZWU5ZDUyMTUxMDBiYTVmZTNmZGFkYzg4MWQzYzkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9pb3MvVUlLaXRTUEkuaApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW1wb3J0IDxVSUtpdC9V
SUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJUmVzcG9uZGVyX1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGV4dElucHV0TXVsdGlEb2N1bWVudC5oPgogI2ltcG9y
dCA8VUlLaXQvVUlUZXh0SW5wdXRUcmFpdHNfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlU
ZXh0SW5wdXRfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlWaWV3Q29udHJvbGxlcl9Qcml2
YXRlLmg+CkBAIC03OSw2ICs4MCwxMiBAQCBXVEZfRVhURVJOX0NfRU5ECiAtICh2b2lkKWhhbmRs
ZUtleVdlYkV2ZW50OihXZWJFdmVudCAqKXRoZUV2ZW50IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoV2ViRXZlbnQgKiwgQk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiBAZW5kCiAKK0Bw
cm90b2NvbCBVSVRleHRJbnB1dE11bHRpRG9jdW1lbnQgPE5TT2JqZWN0PgorQG9wdGlvbmFsCist
ICh2b2lkKV9wcmVzZXJ2ZUZvY3VzV2l0aFRva2VuOihpZCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNv
ZGluZz4pdG9rZW4gZGVzdHJ1Y3RpdmVseTooQk9PTClkZXN0cnVjdGl2ZWx5OworLSAoQk9PTClf
cmVzdG9yZUZvY3VzV2l0aFRva2VuOihpZCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9r
ZW47CitAZW5kCisKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiBAaW50ZXJmYWNlIE5TVVJM
ICgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>