<?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>218004</bug_id>
          
          <creation_ts>2020-10-20 16:48:28 -0700</creation_ts>
          <short_desc>[iOS] Prevent presentation of input peripherals when focusing form controls with a validation message</short_desc>
          <delta_ts>2021-01-20 11:39:01 -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>Forms</component>
          <version>Other</version>
          <rep_platform>iPhone / iPad</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="Aditya Keerthi">akeerthi</reporter>
          <assigned_to name="Aditya Keerthi">akeerthi</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>christian.burtchen</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</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>1700010</commentid>
    <comment_count>0</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-10-20 16:48:28 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700011</commentid>
    <comment_count>1</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-10-20 16:48:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/70507678&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700012</commentid>
    <comment_count>2</comment_count>
      <attachid>411939</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-10-20 16:52:01 -0700</bug_when>
    <thetext>Created attachment 411939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700408</commentid>
    <comment_count>3</comment_count>
      <attachid>411939</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-10-21 15:02:33 -0700</bug_when>
    <thetext>Comment on attachment 411939
Patch

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

&gt; Source/WebCore/html/HTMLFormControlElement.cpp:537
&gt; +    m_willShowValidationMessage = true;

Is it possible for this to be called twice in the same runloop? If so, we should consider making this a counter and incrementing/decrementing it instead (and then `HTMLFormControlElement::willShowValidationMessage` would return true if the count is nonzero).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700530</commentid>
    <comment_count>4</comment_count>
      <attachid>412063</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-10-21 19:59:21 -0700</bug_when>
    <thetext>Created attachment 412063
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700532</commentid>
    <comment_count>5</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-10-21 20:02:46 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 411939 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411939&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLFormControlElement.cpp:537
&gt; &gt; +    m_willShowValidationMessage = true;
&gt; 
&gt; Is it possible for this to be called twice in the same runloop? If so, we
&gt; should consider making this a counter and incrementing/decrementing it
&gt; instead (and then `HTMLFormControlElement::willShowValidationMessage` would
&gt; return true if the count is nonzero).

Discussed this offline. Since the flag only needs to be true around the call to focus(), I moved the reset outside of the asynchronous call to `updateVisibleValidationMessage`, and renamed the flag to m_isFocusingWithValidationMessage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700657</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-22 08:55:59 -0700</bug_when>
    <thetext>Committed r268866: &lt;https://trac.webkit.org/changeset/268866&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412063.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720947</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-20 11:39:01 -0800</bug_when>
    <thetext>*** Bug 220593 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411939</attachid>
            <date>2020-10-20 16:52:01 -0700</date>
            <delta_ts>2020-10-21 15:02:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218004-20201020195200.patch</filename>
            <type>text/plain</type>
            <size>16058</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU5NjAzNGNhYjMzZWY3
OWI5ZGQ0OTRhM2NmMWQxOTM5ODYzZGRhYi4uNmRjZGY0MmEyNTM2NWY2ZDQ0OGVjOGQzOWEzYmU0
MTFlMDJlZjZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTIwICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQcmV2ZW50
IHByZXNlbnRhdGlvbiBvZiBpbnB1dCBwZXJpcGhlcmFscyB3aGVuIGZvY3VzaW5nIGZvcm0gY29u
dHJvbHMgd2l0aCBhIHZhbGlkYXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
MDUwNzY3OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCB3aWxsU2hvd1ZhbGlkYXRpb25NZXNzYWdlKCkgdG8gSFRNTEZvcm1Db250cm9sRWxl
bWVudCBzbyB0aGF0CisgICAgICAgIHRoZSBzdGF0ZSBjYW4gYmUgZW5jb2RlZCBpbiBGb2N1c2Vk
RWxlbWVudEluZm9ybWF0aW9uIGFuZCBzZW50IHRvCisgICAgICAgIHRoZSBVSVByb2Nlc3MuCisK
KyAgICAgICAgU2VlIFdlYktpdCBDaGFuZ2Vsb2cgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMtd2l0aC12YWxpZGF0
aW9uLW1lc3NhZ2UuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OndpbGxTaG93
VmFsaWRhdGlvbk1lc3NhZ2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250
cm9sRWxlbWVudDo6Zm9jdXNBbmRTaG93VmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICAqIGh0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oOgorCiAyMDIwLTEwLTA4ICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gQ29udmVy
dCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50IHVzZSBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1
Y2U4YTc3Mjc2YTY5NTZlOWY1MGVhNTQ4MDI0ZmRjZGRiOGI1MTRhLi4yYjZhNzU3MzAwNGFiYjRi
YjRkODA2NjI4MDM0NDk0OWI4NjE5NjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIw
LTEwLTIwICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBb
aU9TXSBQcmV2ZW50IHByZXNlbnRhdGlvbiBvZiBpbnB1dCBwZXJpcGhlcmFscyB3aGVuIGZvY3Vz
aW5nIGZvcm0gY29udHJvbHMgd2l0aCBhIHZhbGlkYXRpb24gbWVzc2FnZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDA0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MDUwNzY3OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbnRlcmFjdGl2ZSBmb3JtIHZhbGlkYXRpb24gY2FuIHJlc3VsdCBpbiB0
aGUgcHJlc2VudGF0aW9uIG9mIGEKKyAgICAgICAgdmFsaWRhdGlvbiBtZXNzYWdlIGJ1YmJsZSBu
ZWFyIHRoZSBmaXJzdCBmb3JtIGNvbnRyb2wgdGhhdCBoYXMgaW52YWxpZAorICAgICAgICBkYXRh
LiBQcmlvciB0byBkaXNwbGF5aW5nIHRoZSBtZXNzYWdlLCB0aGUgaW52YWxpZCBjb250cm9sIGlz
IGZvY3VzZWQuCisgICAgICAgIE9uIGlPUywgdGhpcyBhbHNvIGhhcyB0aGUgZWZmZWN0IG9mIGFs
c28gcHJlc2VudGluZyBhIHZpcnR1YWwga2V5Ym9hcmQKKyAgICAgICAgb3IgYW5vdGhlciBjdXN0
b20gaW5wdXQgcGVyaXBoZXJhbCwgc3VjaCBhcyBhIGNvbnRleHQgbWVudSBmb3IgZGF0ZQorICAg
ICAgICBpbnB1dHMuCisKKyAgICAgICAgQXR0ZW1wdGluZyB0byBwcmVzZW50IGJvdGggdGhlIHZh
bGlkYXRpb24gbWVzc2FnZSBhbmQgY3VzdG9tIGlucHV0CisgICAgICAgIHBlcmlwaGVyYWwgY2Fu
IGxlYXZlIHRoZSB2aWV3IGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gRm9yIGV4YW1wbGUsCisg
ICAgICAgIDxzZWxlY3Q+IHBvcG92ZXJzIGhhdmUgYSBzdHJhbmdlIGZsYXNoaW5nIGJlaGF2aW9y
IHdoZW4gcHJlc2VudGVkCisgICAgICAgIGFsb25nc2lkZSBhIHZhbGlkYXRpb24gbWVzc2FnZSwg
YW5kIGNvbnRleHQgbWVudXMgY2FuIGZhaWwgdG8gcHJlc2VudAorICAgICAgICBlbnRpcmVseS4K
KworICAgICAgICBJbiBvcmRlciB0byBhZGRyZXNzIHRoZXNlIGlzc3Vlcywgd2Ugc2hvdWxkIG5l
dmVyIGF0dGVtcHQgdG8gcHJlc2VudAorICAgICAgICBib3RoIGEgdmFsaWRhdGlvbiBtZXNzYWdl
IGFuZCBhbiBpbnB1dCBwZXJpcGhlcmFsLiBJbnN0ZWFkLCB3ZSBjYW4KKyAgICAgICAgcHJldmVu
dCB0aGUgcHJlc2VudGF0aW9uIG9mIGlucHV0IHBlcmlwaGVyYWxzIHdoZW4gdGhlIGZvY3VzZWQg
Y29udHJvbAorICAgICAgICBpcyBwcmVzZW50aW5nIGEgdmFsaWRhdGlvbiBtZXNzYWdlLiBUaGlz
IGJlaGF2aW9yIG1hdGNoZXMgbWFjT1MuIE5vdGUKKyAgICAgICAgdGhhdCB3ZSBzdGlsbCBwcmVz
ZW50IHRoZSBrZXlib2FyZCBmb3IgY29udHJvbHMgdGhhdCBoYXZlIGEga2V5Ym9hcmQKKyAgICAg
ICAgdmlldywgc2luY2UgdGhlIGtleWJvYXJkIGFyZWEgZG9lcyBvdmVybGFwIHRoZSBhcmVhIHdo
ZXJlIGEgdmFsaWRhdGlvbgorICAgICAgICBtZXNzYWdlIGlzIHByZXNlbnRlZC4KKworICAgICAg
ICAqIFNoYXJlZC9Gb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5oOgorCisgICAgICAgIEFkZGVkIGZvY3VzZWRX
aXRoVmFsaWRhdGlvbk1lc3NhZ2UgdG8gdGhlIHN0cnVjdCwgc28gdGhhdCB0aGUgVUlQcm9jZXNz
CisgICAgICAgIGtub3dzIHRoYXQgdGhlIGVsZW1lbnQgZ2FpbmVkIGZvY3VzIGR1ZSB0byB0aGUg
cHJlc2VudGF0aW9uIG9mIGEKKyAgICAgICAgdmFsaWRhdGlvbiBtZXNzYWdlLgorCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX2VsZW1lbnREaWRGb2N1czp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJl
dmlvdXNOb2RlOmFjdGl2aXR5U3RhdGVDaGFuZ2VzOnVzZXJPYmplY3Q6XSk6CisKKyAgICAgICAg
UHJldmVudCBhbiBpbnB1dCB2aWV3IGZyb20gYmVpbmcgc2hvd24gaWYgdGhlIGNvbnRyb2wgZG9l
cyBub3QgcHJlc2VudAorICAgICAgICBhIGtleWJvYXJkIGFuZCB3YXMgZm9jdXNlZCB3aXRoIGEg
dmFsaWRhdGlvbiBtZXNzYWdlLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2VsZW1lbnRE
aWRCbHVyXSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
KToKKwogMjAyMC0xMC0xNSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ3Jhc2ggaW4gLVtXS0RhdGVUaW1lUGlja2VyIHNldERhdGVUaW1lUGlja2VyVG9J
bml0aWFsVmFsdWVdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAppbmRleCBkYTA0ZDRiZDI5MzVhMzkwM2RiZDcxMmEyN2ZlMzgwNzUwMTQ0MTExLi5l
YzRjNzBjZmUxMmJiNDk3Yjk5NzFmNjQyYmM4ZWNhYmE5MTFmMDJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ5Niw2ICs0OTYsMTEg
QEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpjaGVja1ZhbGlkaXR5KFZlY3RvcjxSZWZQ
dHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wg
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFNob3dWYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fd2lsbFNob3dWYWxpZGF0aW9uTWVzc2FnZTsKK30KKwogYm9vbCBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fdmFsaWRhdGlvbk1lc3NhZ2UgJiYgbV92YWxpZGF0aW9uTWVzc2Fn
ZS0+aXNWaXNpYmxlKCk7CkBAIC01MjksNiArNTM0LDggQEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpyZXBvcnRWYWxpZGl0eSgpCiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6
Zm9jdXNBbmRTaG93VmFsaWRhdGlvbk1lc3NhZ2UoKQogeworICAgIG1fd2lsbFNob3dWYWxpZGF0
aW9uTWVzc2FnZSA9IHRydWU7CisKICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgd2lsbCBzY3JvbGwg
dGhlIGVsZW1lbnQgaW50byB2aWV3LgogICAgIGZvY3VzKCk7CiAKQEAgLTUzNyw2ICs1NDQsNyBA
QCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvY3VzQW5kU2hvd1ZhbGlkYXRpb25NZXNz
YWdlKCkKICAgICAvLyBtZXNzYWdlIGFzeW5jaHJvbm91c2x5IGFzIHdlbGwuCiAgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSB7CiAgICAg
ICAgIHVwZGF0ZVZpc2libGVWYWxpZGF0aW9uTWVzc2FnZSgpOworICAgICAgICBtX3dpbGxTaG93
VmFsaWRhdGlvbk1lc3NhZ2UgPSBmYWxzZTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCAzYWRiMzExYzdhNjFkNzhkODBi
OTkwYTE1NjllNjgxZDBmNjUzMDBiLi4wZGIxYmU0NGQ3NDJmY2I2ZmYzODNiMGI3ZTI0ZjdmZDZj
ZTljN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQu
aApAQCAtMTA2LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICBib29sIHJlcG9ydFZhbGlkaXR5KCk7
CiAgICAgdm9pZCBmb2N1c0FuZFNob3dWYWxpZGF0aW9uTWVzc2FnZSgpOwogICAgIGJvb2wgaXNT
aG93aW5nVmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29s
IHdpbGxTaG93VmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKICAgICAvLyBUaGlzIG11c3QgYmUg
Y2FsbGVkIHdoZW4gYSB2YWxpZGF0aW9uIGNvbnN0cmFpbnQgb3IgY29udHJvbCB2YWx1ZSBpcyBj
aGFuZ2VkLgogICAgIHZvaWQgdXBkYXRlVmFsaWRpdHkoKTsKICAgICB2b2lkIHNldEN1c3RvbVZh
bGlkaXR5KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwpAQCAtMTgwLDYgKzE4MSw4IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBuZWVkc01vdXNlRm9jdXNhYmxlUXVpcmsoKSBjb25zdDsKIAogICAgIHN0
ZDo6dW5pcXVlX3B0cjxWYWxpZGF0aW9uTWVzc2FnZT4gbV92YWxpZGF0aW9uTWVzc2FnZTsKKyAg
ICBib29sIG1fd2lsbFNob3dWYWxpZGF0aW9uTWVzc2FnZSB7IGZhbHNlIH07CisKICAgICB1bnNp
Z25lZCBtX2Rpc2FibGVkIDogMTsKICAgICB1bnNpZ25lZCBtX2lzUmVhZE9ubHkgOiAxOwogICAg
IHVuc2lnbmVkIG1faXNSZXF1aXJlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Gb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uY3BwCmluZGV4IDk4NjNiMmRkZjJkOTcwZWFkMjYy
MDYyNjQ0MWY3ZWIyNTVjYzExOTUuLmFjMjIxODFmNTA2NTFkZDZlODFlNjkzNzI3NjRkMjFiOGZh
MTdiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAgdm9pZCBGb2N1c2VkRWxlbWVudEluZm9y
bWF0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIg
PDwgc2hvdWxkQXZvaWRSZXNpemluZ1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2U7CiAgICAgZW5j
b2RlciA8PCBzaG91bGRBdm9pZFNjcm9sbGluZ1doZW5Gb2N1c2VkQ29udGVudElzVmlzaWJsZTsK
ICAgICBlbmNvZGVyIDw8IHNob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhh
dmlvckluRGF0YUFjdGl2YXRpb247CisgICAgZW5jb2RlciA8PCBmb2N1c2VkV2l0aFZhbGlkYXRp
b25NZXNzYWdlOwogfQogCiBib29sIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb246OmRlY29kZShJ
UEM6OkRlY29kZXImIGRlY29kZXIsIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIHJlc3VsdCkK
QEAgLTI0Niw2ICsyNDcsOSBAQCBib29sIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb246OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEZvY3VzZWRFbGVtZW50SW5mbwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnNob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNtaXNzYWxC
ZWhhdmlvckluRGF0YUFjdGl2YXRpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5mb2N1c2VkV2l0aFZhbGlkYXRpb25NZXNzYWdlKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24u
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaAppbmRl
eCBlZjNmY2IwYjIxYzhjOTZiMzEzN2YyZWVlMWJlYWViNjlmNzBjNWY5Li5iNjA1YzkzNDBjYTQz
NzZmMjdmOTljM2M4MmE2MzlkNmU1Mzk2OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Gb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5oCkBAIC0xNDQsNiArMTQ0LDcgQEAgc3RydWN0
IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gewogICAgIGJvb2wgc2hvdWxkQXZvaWRSZXNpemlu
Z1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgc2hvdWxkQXZv
aWRTY3JvbGxpbmdXaGVuRm9jdXNlZENvbnRlbnRJc1Zpc2libGUgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJlaGF2aW9ySW5EYXRhQWN0
aXZhdGlvbiB7IGZhbHNlIH07CisgICAgYm9vbCBmb2N1c2VkV2l0aFZhbGlkYXRpb25NZXNzYWdl
IHsgZmFsc2UgfTsKIAogICAgIEZvY3VzZWRFbGVtZW50SWRlbnRpZmllciBmb2N1c2VkRWxlbWVu
dElkZW50aWZpZXIgeyAwIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGY0OGExNDUzOTk1MGQ2ODAx
OTEzYjFiZTBjN2U5YWE4YTNhZjgzNGEuLjUxMWE5Zjg0YzEyZGNkODQ3ZDFkNDA3MzNhZjEzMDdi
NTdkMzg5ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTk0MCw2ICs1OTQwLDEwIEBAIC0gKHZvaWQp
X2VsZW1lbnREaWRGb2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
JilpbmZvcm1hdGlvbiB1CiAgICAgICAgIH0KICAgICB9KCk7CiAKKyAgICAvLyBEbyBub3QgcHJl
c2VudCBpbnB1dCBwZXJpcGhlcmFscyBpZiBhIHZhbGlkYXRpb24gbWVzc2FnZSBpcyBiZWluZyBk
aXNwbGF5ZWQuCisgICAgaWYgKGluZm9ybWF0aW9uLmZvY3VzZWRXaXRoVmFsaWRhdGlvbk1lc3Nh
Z2UgJiYgIV9pc0ZvY3VzaW5nRWxlbWVudFdpdGhLZXlib2FyZCkKKyAgICAgICAgc2hvdWxkU2hv
d0lucHV0VmlldyA9IE5POworCiAgICAgaWYgKGJsdXJQcmV2aW91c05vZGUpIHsKICAgICAgICAg
Ly8gRGVmZXIgdmlldyB1cGRhdGVzIHVudGlsIHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbiB0byBh
dm9pZCBhIG5vdGljZWFibGUgZmxhc2ggd2hlbiBzd2l0Y2hpbmcgZm9jdXMKICAgICAgICAgLy8g
YmV0d2VlbiBlbGVtZW50cyB0aGF0IHJlcXVpcmUgdGhlIGtleWJvYXJkLgpAQCAtNjA3Miw2ICs2
MDc2LDcgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICBfZm9jdXNlZEVsZW1lbnRJbmZv
cm1hdGlvbi5zaG91bGRBdm9pZFJlc2l6aW5nV2hlbklucHV0Vmlld0JvdW5kc0NoYW5nZSA9IGZh
bHNlOwogICAgIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLnNob3VsZEF2b2lkU2Nyb2xsaW5n
V2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlID0gZmFsc2U7CiAgICAgX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24uc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJlaGF2aW9y
SW5EYXRhQWN0aXZhdGlvbiA9IGZhbHNlOworICAgIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
LmZvY3VzZWRXaXRoVmFsaWRhdGlvbk1lc3NhZ2UgPSBmYWxzZTsKICAgICBfaW5wdXRQZXJpcGhl
cmFsID0gbmlsOwogICAgIF9mb2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlID0g
Tk87CiAgICAgX2FkZGl0aW9uYWxDb250ZXh0Rm9yU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlID0g
bmlsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQppbmRleCBlODU1ZTVmZWRjNDVkMWU5YjJlNmFkZGQyZjNiMDQ4YmM3OTBiODI1Li42
ZmFhYjIzNGE1ODc2MjdkZjhjOTZhZTU4MzJmMDVjZmZlYjQzMjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzA1Miw2
ICszMDUyLDkgQEAgdm9pZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZv
Y3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0aW8KICAgICBpZiAoaXM8SFRNTEVsZW1l
bnQ+KGZvY3VzZWRFbGVtZW50KSkKICAgICAgICAgaW5mb3JtYXRpb24uaXNTcGVsbENoZWNraW5n
RW5hYmxlZCA9IGRvd25jYXN0PEhUTUxFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpLnNwZWxsY2hl
Y2soKTsKIAorICAgIGlmIChpczxIVE1MRm9ybUNvbnRyb2xFbGVtZW50Pihmb2N1c2VkRWxlbWVu
dCkpCisgICAgICAgIGluZm9ybWF0aW9uLmZvY3VzZWRXaXRoVmFsaWRhdGlvbk1lc3NhZ2UgPSBk
b3duY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpLndpbGxTaG93
VmFsaWRhdGlvbk1lc3NhZ2UoKTsKKwogICAgIGluZm9ybWF0aW9uLm1pbmltdW1TY2FsZUZhY3Rv
ciA9IG1pbmltdW1QYWdlU2NhbGVGYWN0b3IoKTsKICAgICBpbmZvcm1hdGlvbi5tYXhpbXVtU2Nh
bGVGYWN0b3IgPSBtYXhpbXVtUGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgaW5mb3JtYXRpb24ubWF4
aW11bVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZSA9IG1heGltdW1QYWdlU2NhbGVG
YWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWQ0NTNjMjZiMjM1M2I5ZTI4
NjJiNzAwODJiZmM3MzUxZDAzYzQ4MS4uMjVjZGU5MWQzYWRkOTNiODIwODNjYThmN2M1YzIxMTgz
YjEwYjMwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTEwLTIwICBBZGl0eWEgS2VlcnRo
aSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQcmV2ZW50IHByZXNlbnRh
dGlvbiBvZiBpbnB1dCBwZXJpcGhlcmFscyB3aGVuIGZvY3VzaW5nIGZvcm0gY29udHJvbHMgd2l0
aCBhIHZhbGlkYXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE4MDA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDUwNzY3OD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBh
IHRlc3Qgd2hpY2ggdmVyaWZpZXMgdGhhdCBmb2N1c2luZyBvbiBhIGRhdGUgaW5wdXQgYXMgYSBy
ZXN1bHQKKyAgICAgICAgb2YgcHJlc2VudGluZyBhIHZhbGlkYXRpb24gbWVzc2FnZSwgc3VjY2Vz
c2Z1bGx5IHByZXNlbnRzIHRoZSBtZXNzYWdlLAorICAgICAgICBhbmQgZG9lcyBub3QgcHJlc2Vu
dCBhIGNvbnRleHQgbWVudS4gVGhlIHRlc3QgYWxzbyBlbnN1cmVzIHRoYXQgY29udHJvbHMKKyAg
ICAgICAgdGhhdCBwcmVzZW50IGEga2V5Ym9hcmQsIHN1Y2ggYXMgdGV4dCBpbnB1dHMsIHByZXNl
bnQgYm90aCB0aGUgbWVzc2FnZQorICAgICAgICBhbmQgdGhlIGtleWJvYXJkLgorCisgICAgICAg
ICogZmFzdC9mb3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMtd2l0aC12YWxpZGF0aW9uLW1lc3Nh
Z2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9pbnB1dC1w
ZXJpcGhlcmFscy13aXRoLXZhbGlkYXRpb24tbWVzc2FnZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiByZXNvdXJjZXMvdWktaGVscGVyLmpzOgorICAgICAgICAod2luZG93LlVJSGVscGVyLmlzU2hv
d2luZ1BvcG92ZXIpOgorCiAyMDIwLTEwLTA4ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3RlQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIHJldHVybnMgYW4g
aW5jb3JyZWN0IHZhbHVlIGFmdGVyIGNhdGVnb3J5IGNoYW5naW5nCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dC1wZXJpcGhlcmFscy13aXRoLXZhbGlkYXRpb24t
bWVzc2FnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dC1w
ZXJpcGhlcmFscy13aXRoLXZhbGlkYXRpb24tbWVzc2FnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2E0YTg4YThkNmEzN2I2MjEwMGY4ZDUxNWUxN2FhYWM4YjBiZGY4MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0LXBlcmlwaGVyYWxzLXdpdGgt
dmFsaWRhdGlvbi1tZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IHRo
YXQgaW5wdXQgcGVyaXBoZXJhbHMgYXJlIG5vdCBwcmVzZW50ZWQgd2hlbiBmb2N1c2luZyBmb3Jt
IGNvbnRyb2xzIHdpdGggYSB2YWxpZGF0aW9uIG1lc3NhZ2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitUYXAgb24gc3VibWl0IGJ1dHRvbiB3aXRoIGFuIGVtcHR5IHJlcXVpcmVk
IGRhdGUgaW5wdXQuCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZGF0ZQorUEFTUyBp
c1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSBpcyB0cnVlCitQQVNTIGhhc0lucHV0U2Vzc2lvbiBp
cyBmYWxzZQorCitEaXNtaXNzIHZhbGlkYXRpb24gYnViYmxlIGFuZCB0YXAgb24gZGF0ZSBpbnB1
dC4KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkYXRlCitQQVNTIGlzU2hvd2luZ1Zh
bGlkYXRpb25NZXNzYWdlIGlzIGZhbHNlCitQQVNTIGhhc0lucHV0U2Vzc2lvbiBpcyB0cnVlCisK
K1RhcCBvbiBzdWJtaXQgYnV0dG9uIHdpdGggYW4gZW1wdHkgcmVxdWlyZWQgdGV4dCBpbnB1dC4K
K1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyB0ZXh0CitQQVNTIGlzU2hvd2luZ1ZhbGlk
YXRpb25NZXNzYWdlIGlzIHRydWUKK1BBU1MgaGFzSW5wdXRTZXNzaW9uIGlzIHRydWUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMtd2l0aC12
YWxpZGF0aW9uLW1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0
LXBlcmlwaGVyYWxzLXdpdGgtdmFsaWRhdGlvbi1tZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ5
ZjUzODA2NjA2ZTYxOGJlMmM1ZmY0MGFkNDlhZWQ0ZGQ5YWEzOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0LXBlcmlwaGVyYWxzLXdpdGgtdmFsaWRh
dGlvbi1tZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxmb3JtPgorPGlucHV0IHR5
cGU9ImRhdGUiIGlkPSJkYXRlIiByZXF1aXJlZD4KKzxicj4KKzxpbnB1dCB0eXBlPSJ0ZXh0IiBp
ZD0idGV4dCIgcmVxdWlyZWQ+Cis8YnI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic3VibWl0
Ij4KKzwvZm9ybT4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRp
b24oIlRlc3QgdGhhdCBpbnB1dCBwZXJpcGhlcmFscyBhcmUgbm90IHByZXNlbnRlZCB3aGVuIGZv
Y3VzaW5nIGZvcm0gY29udHJvbHMgd2l0aCBhIHZhbGlkYXRpb24gbWVzc2FnZS4iKTsKK2FkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgZGVidWcoIlRhcCBvbiBzdWJtaXQgYnV0dG9u
IHdpdGggYW4gZW1wdHkgcmVxdWlyZWQgZGF0ZSBpbnB1dC4iKTsKKyAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKHN1Ym1pdCk7CisgICAgc2hv
dWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZGF0ZSIpOworCisgICAgaXNTaG93aW5n
VmFsaWRhdGlvbk1lc3NhZ2UgPSBhd2FpdCBVSUhlbHBlci5pc1Nob3dpbmdQb3BvdmVyKCk7Cisg
ICAgc2hvdWxkQmVUcnVlKCJpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSIpOworCisgICAgaGFz
SW5wdXRTZXNzaW9uID0gYXdhaXQgVUlIZWxwZXIuaGFzSW5wdXRTZXNzaW9uKCk7CisgICAgc2hv
dWxkQmVGYWxzZSgiaGFzSW5wdXRTZXNzaW9uIik7CisKKyAgICBkZWJ1ZygiXG5EaXNtaXNzIHZh
bGlkYXRpb24gYnViYmxlIGFuZCB0YXAgb24gZGF0ZSBpbnB1dC4iKTsKKyAgICBhd2FpdCBVSUhl
bHBlci50YXBBdCgxLCAxKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yUG9wb3ZlclRvRGlz
bWlzcygpOworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudEFuZFdhaXRGb3JJbnB1
dFNlc3Npb24oZGF0ZSk7CisKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIs
ICJkYXRlIik7CisKKyAgICBpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSA9IGF3YWl0IFVJSGVs
cGVyLmlzU2hvd2luZ1BvcG92ZXIoKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpc1Nob3dpbmdWYWxp
ZGF0aW9uTWVzc2FnZSIpOworCisgICAgaGFzSW5wdXRTZXNzaW9uID0gYXdhaXQgVUlIZWxwZXIu
aGFzSW5wdXRTZXNzaW9uKCk7CisgICAgc2hvdWxkQmVUcnVlKCJoYXNJbnB1dFNlc3Npb24iKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLnRhcEF0KDEsIDEpOworICAgIGF3YWl0IFVJSGVscGVyLndh
aXRGb3JDb250ZXh0TWVudVRvSGlkZSgpOworCisgICAgLy8gRmlsbCBkYXRlLCBzbyB0aGF0IHRo
ZSB0ZXh0IGlucHV0IHJlY2VpdmVzIHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2Ugb24gc3VibWl0Lgor
ICAgIGRhdGUudmFsdWUgPSAiMjAyMC0xMC0yMCI7CisKKyAgICBkZWJ1ZygiXG5UYXAgb24gc3Vi
bWl0IGJ1dHRvbiB3aXRoIGFuIGVtcHR5IHJlcXVpcmVkIHRleHQgaW5wdXQuIik7CisgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50QW5kV2FpdEZvcklucHV0U2Vzc2lvbihzdWJtaXQp
OworICAgIHNob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgInRleHQiKTsKKworICAg
IGlzU2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdlID0gYXdhaXQgVUlIZWxwZXIuaXNTaG93aW5nUG9w
b3ZlcigpOworICAgIHNob3VsZEJlVHJ1ZSgiaXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2UiKTsK
KworICAgIGhhc0lucHV0U2Vzc2lvbiA9IGF3YWl0IFVJSGVscGVyLmhhc0lucHV0U2Vzc2lvbigp
OworICAgIHNob3VsZEJlVHJ1ZSgiaGFzSW5wdXRTZXNzaW9uIik7CisKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcwppbmRleCAyNTQ5M2VjYjhkMzMxMGUxZDliNzZlNDAwZTNjOGZmNzMxZmYyNThh
Li4wMTA1NjE0MDY0ODg3NzE5OTVjNjQ1OTEwZTY0Mjc2MjljY2QwMWM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291
cmNlcy91aS1oZWxwZXIuanMKQEAgLTU0NSw2ICs1NDUsMTMgQEAgd2luZG93LlVJSGVscGVyID0g
Y2xhc3MgVUlIZWxwZXIgewogICAgICAgICB9KTsKICAgICB9CiAKKyAgICBzdGF0aWMgaXNTaG93
aW5nUG9wb3ZlcigpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KCJ1aUNvbnRyb2xsZXIuaXNT
aG93aW5nUG9wb3ZlciIsIHJlc3VsdCA9PiByZXNvbHZlKHJlc3VsdCA9PT0gInRydWUiKSk7Cisg
ICAgICAgIH0pOworICAgIH0KKwogICAgIHN0YXRpYyBoYXNJbnB1dFNlc3Npb24oKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewo=
</data>
<flag name="review"
          id="428273"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412063</attachid>
            <date>2020-10-21 19:59:21 -0700</date>
            <delta_ts>2020-10-22 08:56:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218004-20201021225920.patch</filename>
            <type>text/plain</type>
            <size>16074</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU5NjAzNGNhYjMzZWY3
OWI5ZGQ0OTRhM2NmMWQxOTM5ODYzZGRhYi4uMzMwNGNhMzA0ZmMzOWNkMDk4MzkxNWY1NTEwMTkz
NGFiNDQ4MTE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTIwICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQcmV2ZW50
IHByZXNlbnRhdGlvbiBvZiBpbnB1dCBwZXJpcGhlcmFscyB3aGVuIGZvY3VzaW5nIGZvcm0gY29u
dHJvbHMgd2l0aCBhIHZhbGlkYXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
MDUwNzY3OD4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAg
QWRkZWQgaXNGb2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2FnZSgpIHRvIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQgc28KKyAgICAgICAgdGhhdCB0aGUgc3RhdGUgY2FuIGJlIGVuY29kZWQgaW4gRm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbiBhbmQgc2VudCB0bworICAgICAgICB0aGUgVUlQcm9jZXNz
LgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlbG9nIGZvciBtb3JlIGluZm9ybWF0aW9uLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2lucHV0LXBlcmlwaGVyYWxzLXdpdGgtdmFs
aWRhdGlvbi1tZXNzYWdlLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0Zv
Y3VzaW5nV2l0aFZhbGlkYXRpb25NZXNzYWdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvY3VzQW5kU2hvd1ZhbGlkYXRpb25NZXNzYWdlKToKKyAg
ICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKwogMjAyMC0xMC0wOCAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRp
b25dIENvbnZlcnQgUmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQb2ludCB1c2UgaXRlcmF0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNWNlOGE3NzI3NmE2OTU2ZTlmNTBlYTU0ODAyNGZkY2RkYjhiNTE0YS4uYmJiN2Vm
YzJjMTNlMzhiYmJmNzI3MDQyZTA0MzFiZDJjZTcyNzY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
MSBAQAorMjAyMC0xMC0yMCAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gUHJldmVudCBwcmVzZW50YXRpb24gb2YgaW5wdXQgcGVyaXBoZXJhbHMg
d2hlbiBmb2N1c2luZyBmb3JtIGNvbnRyb2xzIHdpdGggYSB2YWxpZGF0aW9uIG1lc3NhZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODAwNAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzA1MDc2Nzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vu
c29uIEhzaWVoLgorCisgICAgICAgIEludGVyYWN0aXZlIGZvcm0gdmFsaWRhdGlvbiBjYW4gcmVz
dWx0IGluIHRoZSBwcmVzZW50YXRpb24gb2YgYQorICAgICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Ug
YnViYmxlIG5lYXIgdGhlIGZpcnN0IGZvcm0gY29udHJvbCB0aGF0IGhhcyBpbnZhbGlkCisgICAg
ICAgIGRhdGEuIFByaW9yIHRvIGRpc3BsYXlpbmcgdGhlIG1lc3NhZ2UsIHRoZSBpbnZhbGlkIGNv
bnRyb2wgaXMgZm9jdXNlZC4KKyAgICAgICAgT24gaU9TLCB0aGlzIGFsc28gaGFzIHRoZSBlZmZl
Y3Qgb2YgYWxzbyBwcmVzZW50aW5nIGEgdmlydHVhbCBrZXlib2FyZAorICAgICAgICBvciBhbm90
aGVyIGN1c3RvbSBpbnB1dCBwZXJpcGhlcmFsLCBzdWNoIGFzIGEgY29udGV4dCBtZW51IGZvciBk
YXRlCisgICAgICAgIGlucHV0cy4KKworICAgICAgICBBdHRlbXB0aW5nIHRvIHByZXNlbnQgYm90
aCB0aGUgdmFsaWRhdGlvbiBtZXNzYWdlIGFuZCBjdXN0b20gaW5wdXQKKyAgICAgICAgcGVyaXBo
ZXJhbCBjYW4gbGVhdmUgdGhlIHZpZXcgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBGb3IgZXhh
bXBsZSwKKyAgICAgICAgPHNlbGVjdD4gcG9wb3ZlcnMgaGF2ZSBhIHN0cmFuZ2UgZmxhc2hpbmcg
YmVoYXZpb3Igd2hlbiBwcmVzZW50ZWQKKyAgICAgICAgYWxvbmdzaWRlIGEgdmFsaWRhdGlvbiBt
ZXNzYWdlLCBhbmQgY29udGV4dCBtZW51cyBjYW4gZmFpbCB0byBwcmVzZW50CisgICAgICAgIGVu
dGlyZWx5LgorCisgICAgICAgIEluIG9yZGVyIHRvIGFkZHJlc3MgdGhlc2UgaXNzdWVzLCB3ZSBz
aG91bGQgbmV2ZXIgYXR0ZW1wdCB0byBwcmVzZW50CisgICAgICAgIGJvdGggYSB2YWxpZGF0aW9u
IG1lc3NhZ2UgYW5kIGFuIGlucHV0IHBlcmlwaGVyYWwuIEluc3RlYWQsIHdlIGNhbgorICAgICAg
ICBwcmV2ZW50IHRoZSBwcmVzZW50YXRpb24gb2YgaW5wdXQgcGVyaXBoZXJhbHMgd2hlbiB0aGUg
Zm9jdXNlZCBjb250cm9sCisgICAgICAgIGlzIHByZXNlbnRpbmcgYSB2YWxpZGF0aW9uIG1lc3Nh
Z2UuIFRoaXMgYmVoYXZpb3IgbWF0Y2hlcyBtYWNPUy4gTm90ZQorICAgICAgICB0aGF0IHdlIHN0
aWxsIHByZXNlbnQgdGhlIGtleWJvYXJkIGZvciBjb250cm9scyB0aGF0IGhhdmUgYSBrZXlib2Fy
ZAorICAgICAgICB2aWV3LCBzaW5jZSB0aGUga2V5Ym9hcmQgYXJlYSBkb2VzIG92ZXJsYXAgdGhl
IGFyZWEgd2hlcmUgYSB2YWxpZGF0aW9uCisgICAgICAgIG1lc3NhZ2UgaXMgcHJlc2VudGVkLgor
CisgICAgICAgICogU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uY3BwOgorICAgICAg
ICAoV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uOjpkZWNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9Gb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmg6CisKKyAgICAgICAgQWRkZWQg
aXNGb2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2FnZSB0byB0aGUgc3RydWN0LCBzbyB0aGF0IHRo
ZSBVSVByb2Nlc3MKKyAgICAgICAga25vd3MgdGhhdCB0aGUgZWxlbWVudCBnYWluZWQgZm9jdXMg
ZHVlIHRvIHRoZSBwcmVzZW50YXRpb24gb2YgYQorICAgICAgICB2YWxpZGF0aW9uIG1lc3NhZ2Uu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToK
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZWxlbWVudERpZEZvY3VzOnVzZXJJc0ludGVyYWN0
aW5nOmJsdXJQcmV2aW91c05vZGU6YWN0aXZpdHlTdGF0ZUNoYW5nZXM6dXNlck9iamVjdDpdKToK
KworICAgICAgICBQcmV2ZW50IGFuIGlucHV0IHZpZXcgZnJvbSBiZWluZyBzaG93biBpZiB0aGUg
Y29udHJvbCBkb2VzIG5vdCBwcmVzZW50CisgICAgICAgIGEga2V5Ym9hcmQgYW5kIHdhcyBmb2N1
c2VkIHdpdGggYSB2YWxpZGF0aW9uIG1lc3NhZ2UuCisKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfZWxlbWVudERpZEJsdXJdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24pOgorCiAyMDIwLTEwLTE1ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFw
cGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiAtW1dLRGF0ZVRpbWVQaWNrZXIgc2V0RGF0ZVRp
bWVQaWNrZXJUb0luaXRpYWxWYWx1ZV0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGRhMDRkNGJkMjkzNWEzOTAzZGJkNzEyYTI3ZmUzODA3
NTAxNDQxMTEuLjM5N2Y3NjU4ODEyZDZiOWQzNjVjNzE4NTg5N2YxZjUxMTYyMzE2YmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNDks
NiArNDksNyBAQAogI2luY2x1ZGUgIlZhbGlkYXRpb25NZXNzYWdlLmgiCiAjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3Rm
L1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00OTYsNiArNDk3LDExIEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6
Y2hlY2tWYWxpZGl0eShWZWN0b3I8UmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRm9jdXNp
bmdXaXRoVmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAoreworICAgIHJldHVybiBtX2lzRm9jdXNp
bmdXaXRoVmFsaWRhdGlvbk1lc3NhZ2U7Cit9CisKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6aXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogewogICAgIHJldHVybiBtX3Zh
bGlkYXRpb25NZXNzYWdlICYmIG1fdmFsaWRhdGlvbk1lc3NhZ2UtPmlzVmlzaWJsZSgpOwpAQCAt
NTI5LDYgKzUzNSw4IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cmVwb3J0VmFsaWRp
dHkoKQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvY3VzQW5kU2hvd1ZhbGlkYXRp
b25NZXNzYWdlKCkKIHsKKyAgICBTZXRGb3JTY29wZTxib29sPiBpc0ZvY3VzaW5nV2l0aFZhbGlk
YXRpb25NZXNzYWdlU2NvcGUobV9pc0ZvY3VzaW5nV2l0aFZhbGlkYXRpb25NZXNzYWdlLCB0cnVl
KTsKKwogICAgIC8vIENhbGxpbmcgZm9jdXMoKSB3aWxsIHNjcm9sbCB0aGUgZWxlbWVudCBpbnRv
IHZpZXcuCiAgICAgZm9jdXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaAppbmRleCAzYWRiMzExYzdhNjFkNzhkODBiOTkwYTE1NjllNjgxZDBmNjUz
MDBiLi4yZTM2MzViN2JmYWMyMzNlMjMwMTZhNDA5MTc1ZWZkOWExNmJmM2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTA2LDYgKzEwNiw3
IEBAIHB1YmxpYzoKICAgICBib29sIHJlcG9ydFZhbGlkaXR5KCk7CiAgICAgdm9pZCBmb2N1c0Fu
ZFNob3dWYWxpZGF0aW9uTWVzc2FnZSgpOwogICAgIGJvb2wgaXNTaG93aW5nVmFsaWRhdGlvbk1l
c3NhZ2UoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzRm9jdXNpbmdXaXRoVmFs
aWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKICAgICAvLyBUaGlzIG11c3QgYmUgY2FsbGVkIHdoZW4g
YSB2YWxpZGF0aW9uIGNvbnN0cmFpbnQgb3IgY29udHJvbCB2YWx1ZSBpcyBjaGFuZ2VkLgogICAg
IHZvaWQgdXBkYXRlVmFsaWRpdHkoKTsKICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlOwpAQCAtMTgwLDYgKzE4MSw4IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBuZWVkc01vdXNlRm9jdXNhYmxlUXVpcmsoKSBjb25zdDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxWYWxpZGF0aW9uTWVzc2FnZT4gbV92YWxpZGF0aW9uTWVzc2FnZTsKKyAgICBib29sIG1faXNG
b2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2FnZSB7IGZhbHNlIH07CisKICAgICB1bnNpZ25lZCBt
X2Rpc2FibGVkIDogMTsKICAgICB1bnNpZ25lZCBtX2lzUmVhZE9ubHkgOiAxOwogICAgIHVuc2ln
bmVkIG1faXNSZXF1aXJlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9G
b2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3Vz
ZWRFbGVtZW50SW5mb3JtYXRpb24uY3BwCmluZGV4IDk4NjNiMmRkZjJkOTcwZWFkMjYyMDYyNjQ0
MWY3ZWIyNTVjYzExOTUuLjkxODBlNTYyZTEzYzIyNTZmY2RmMGFlYjZiNzNlNDA4NjkxYmQ1Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRp
b24uY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAgdm9pZCBGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgc2hv
dWxkQXZvaWRSZXNpemluZ1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2U7CiAgICAgZW5jb2RlciA8
PCBzaG91bGRBdm9pZFNjcm9sbGluZ1doZW5Gb2N1c2VkQ29udGVudElzVmlzaWJsZTsKICAgICBl
bmNvZGVyIDw8IHNob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhhdmlvcklu
RGF0YUFjdGl2YXRpb247CisgICAgZW5jb2RlciA8PCBpc0ZvY3VzaW5nV2l0aFZhbGlkYXRpb25N
ZXNzYWdlOwogfQogCiBib29sIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb246OmRlY29kZShJUEM6
OkRlY29kZXImIGRlY29kZXIsIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIHJlc3VsdCkKQEAg
LTI0Niw2ICsyNDcsOSBAQCBib29sIEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb246OmRlY29kZShJ
UEM6OkRlY29kZXImIGRlY29kZXIsIEZvY3VzZWRFbGVtZW50SW5mbwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LnNob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhh
dmlvckluRGF0YUFjdGl2YXRpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pc0ZvY3VzaW5nV2l0aFZhbGlkYXRpb25NZXNzYWdlKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24u
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaAppbmRl
eCBlZjNmY2IwYjIxYzhjOTZiMzEzN2YyZWVlMWJlYWViNjlmNzBjNWY5Li5iNzQ5Zjc0NTJjNTI0
ZjJkZmE4MTdmOWIzOWViMDZjYjEzMGM0ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Gb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5oCkBAIC0xNDQsNiArMTQ0LDcgQEAgc3RydWN0
IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gewogICAgIGJvb2wgc2hvdWxkQXZvaWRSZXNpemlu
Z1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgc2hvdWxkQXZv
aWRTY3JvbGxpbmdXaGVuRm9jdXNlZENvbnRlbnRJc1Zpc2libGUgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJlaGF2aW9ySW5EYXRhQWN0
aXZhdGlvbiB7IGZhbHNlIH07CisgICAgYm9vbCBpc0ZvY3VzaW5nV2l0aFZhbGlkYXRpb25NZXNz
YWdlIHsgZmFsc2UgfTsKIAogICAgIEZvY3VzZWRFbGVtZW50SWRlbnRpZmllciBmb2N1c2VkRWxl
bWVudElkZW50aWZpZXIgeyAwIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDg0NmI5YTM0OTQ3ZTMw
NGY0YjY0NDBmY2JmMTcwMWY0MWViMTVhZjkuLmQ3YmRiM2RkNTk5ZmJlZWIwYzYzZGI0NGU1MmFj
ZWQ2ZTBjZTUwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTk0MCw2ICs1OTQwLDEwIEBAIC0gKHZv
aWQpX2VsZW1lbnREaWRGb2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0
aW9uJilpbmZvcm1hdGlvbiB1CiAgICAgICAgIH0KICAgICB9KCk7CiAKKyAgICAvLyBEbyBub3Qg
cHJlc2VudCBpbnB1dCBwZXJpcGhlcmFscyBpZiBhIHZhbGlkYXRpb24gbWVzc2FnZSBpcyBiZWlu
ZyBkaXNwbGF5ZWQuCisgICAgaWYgKGluZm9ybWF0aW9uLmlzRm9jdXNpbmdXaXRoVmFsaWRhdGlv
bk1lc3NhZ2UgJiYgIV9pc0ZvY3VzaW5nRWxlbWVudFdpdGhLZXlib2FyZCkKKyAgICAgICAgc2hv
dWxkU2hvd0lucHV0VmlldyA9IE5POworCiAgICAgaWYgKGJsdXJQcmV2aW91c05vZGUpIHsKICAg
ICAgICAgLy8gRGVmZXIgdmlldyB1cGRhdGVzIHVudGlsIHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlv
biB0byBhdm9pZCBhIG5vdGljZWFibGUgZmxhc2ggd2hlbiBzd2l0Y2hpbmcgZm9jdXMKICAgICAg
ICAgLy8gYmV0d2VlbiBlbGVtZW50cyB0aGF0IHJlcXVpcmUgdGhlIGtleWJvYXJkLgpAQCAtNjA3
Miw2ICs2MDc2LDcgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICBfZm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbi5zaG91bGRBdm9pZFJlc2l6aW5nV2hlbklucHV0Vmlld0JvdW5kc0NoYW5n
ZSA9IGZhbHNlOwogICAgIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLnNob3VsZEF2b2lkU2Ny
b2xsaW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlID0gZmFsc2U7CiAgICAgX2ZvY3VzZWRF
bGVtZW50SW5mb3JtYXRpb24uc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJl
aGF2aW9ySW5EYXRhQWN0aXZhdGlvbiA9IGZhbHNlOworICAgIF9mb2N1c2VkRWxlbWVudEluZm9y
bWF0aW9uLmlzRm9jdXNpbmdXaXRoVmFsaWRhdGlvbk1lc3NhZ2UgPSBmYWxzZTsKICAgICBfaW5w
dXRQZXJpcGhlcmFsID0gbmlsOwogICAgIF9mb2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Np
c3RhbmNlID0gTk87CiAgICAgX2FkZGl0aW9uYWxDb250ZXh0Rm9yU3Ryb25nUGFzc3dvcmRBc3Np
c3RhbmNlID0gbmlsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQppbmRleCBlODU1ZTVmZWRjNDVkMWU5YjJlNmFkZGQyZjNiMDQ4YmM3
OTBiODI1Li43MWVjZmJkMGNhYzc0ZjRhM2IwYzY4M2ViMzM5Y2EwNGRkOTQ5MDc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpA
QCAtMzA1Miw2ICszMDUyLDkgQEAgdm9pZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9y
bWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0aW8KICAgICBpZiAoaXM8
SFRNTEVsZW1lbnQ+KGZvY3VzZWRFbGVtZW50KSkKICAgICAgICAgaW5mb3JtYXRpb24uaXNTcGVs
bENoZWNraW5nRW5hYmxlZCA9IGRvd25jYXN0PEhUTUxFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQp
LnNwZWxsY2hlY2soKTsKIAorICAgIGlmIChpczxIVE1MRm9ybUNvbnRyb2xFbGVtZW50Pihmb2N1
c2VkRWxlbWVudCkpCisgICAgICAgIGluZm9ybWF0aW9uLmlzRm9jdXNpbmdXaXRoVmFsaWRhdGlv
bk1lc3NhZ2UgPSBkb3duY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PigqZm9jdXNlZEVsZW1l
bnQpLmlzRm9jdXNpbmdXaXRoVmFsaWRhdGlvbk1lc3NhZ2UoKTsKKwogICAgIGluZm9ybWF0aW9u
Lm1pbmltdW1TY2FsZUZhY3RvciA9IG1pbmltdW1QYWdlU2NhbGVGYWN0b3IoKTsKICAgICBpbmZv
cm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3IgPSBtYXhpbXVtUGFnZVNjYWxlRmFjdG9yKCk7CiAg
ICAgaW5mb3JtYXRpb24ubWF4aW11bVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZSA9
IG1heGltdW1QYWdlU2NhbGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MWQ0NTNjMjZiMjM1M2I5ZTI4NjJiNzAwODJiZmM3MzUxZDAzYzQ4MS4uYTZlNTEzOWQzOWVjMDA4
YzI5NjI5MjYzNjQ5NWY0NjEyYzA2NDViZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTEw
LTIwICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9T
XSBQcmV2ZW50IHByZXNlbnRhdGlvbiBvZiBpbnB1dCBwZXJpcGhlcmFscyB3aGVuIGZvY3VzaW5n
IGZvcm0gY29udHJvbHMgd2l0aCBhIHZhbGlkYXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDA0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDUwNzY3OD4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisK
KyAgICAgICAgQWRkZWQgYSB0ZXN0IHdoaWNoIHZlcmlmaWVzIHRoYXQgZm9jdXNpbmcgb24gYSBk
YXRlIGlucHV0IGFzIGEgcmVzdWx0CisgICAgICAgIG9mIHByZXNlbnRpbmcgYSB2YWxpZGF0aW9u
IG1lc3NhZ2UsIHN1Y2Nlc3NmdWxseSBwcmVzZW50cyB0aGUgbWVzc2FnZSwKKyAgICAgICAgYW5k
IGRvZXMgbm90IHByZXNlbnQgYSBjb250ZXh0IG1lbnUuIFRoZSB0ZXN0IGFsc28gZW5zdXJlcyB0
aGF0IGNvbnRyb2xzCisgICAgICAgIHRoYXQgcHJlc2VudCBhIGtleWJvYXJkLCBzdWNoIGFzIHRl
eHQgaW5wdXRzLCBwcmVzZW50IGJvdGggdGhlIG1lc3NhZ2UKKyAgICAgICAgYW5kIHRoZSBrZXli
b2FyZC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2lucHV0LXBlcmlwaGVyYWxzLXdpdGgt
dmFsaWRhdGlvbi1tZXNzYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMtd2l0aC12YWxpZGF0aW9uLW1lc3NhZ2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRv
dy5VSUhlbHBlci5pc1Nob3dpbmdQb3BvdmVyKToKKwogMjAyMC0xMC0wOCAgUGVuZyBMaXUgIDxw
ZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW90ZUF1ZGlvU2Vzc2lvbjo6Y2F0ZWdv
cnkoKSByZXR1cm5zIGFuIGluY29ycmVjdCB2YWx1ZSBhZnRlciBjYXRlZ29yeSBjaGFuZ2luZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMt
d2l0aC12YWxpZGF0aW9uLW1lc3NhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3MvaW5wdXQtcGVyaXBoZXJhbHMtd2l0aC12YWxpZGF0aW9uLW1lc3NhZ2UtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdhNGE4OGE4ZDZhMzdiNjIxMDBmOGQ1MTVlMTdhYWFjOGIwYmRm
ODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dC1w
ZXJpcGhlcmFscy13aXRoLXZhbGlkYXRpb24tbWVzc2FnZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNSBAQAorVGVzdCB0aGF0IGlucHV0IHBlcmlwaGVyYWxzIGFyZSBub3QgcHJlc2VudGVkIHdo
ZW4gZm9jdXNpbmcgZm9ybSBjb250cm9scyB3aXRoIGEgdmFsaWRhdGlvbiBtZXNzYWdlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGFwIG9uIHN1Ym1pdCBidXR0b24gd2l0aCBh
biBlbXB0eSByZXF1aXJlZCBkYXRlIGlucHV0LgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
IGlzIGRhdGUKK1BBU1MgaXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyBo
YXNJbnB1dFNlc3Npb24gaXMgZmFsc2UKKworRGlzbWlzcyB2YWxpZGF0aW9uIGJ1YmJsZSBhbmQg
dGFwIG9uIGRhdGUgaW5wdXQuCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZGF0ZQor
UEFTUyBpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSBpcyBmYWxzZQorUEFTUyBoYXNJbnB1dFNl
c3Npb24gaXMgdHJ1ZQorCitUYXAgb24gc3VibWl0IGJ1dHRvbiB3aXRoIGFuIGVtcHR5IHJlcXVp
cmVkIHRleHQgaW5wdXQuCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgdGV4dAorUEFT
UyBpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSBpcyB0cnVlCitQQVNTIGhhc0lucHV0U2Vzc2lv
biBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0LXBl
cmlwaGVyYWxzLXdpdGgtdmFsaWRhdGlvbi1tZXNzYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lvcy9pbnB1dC1wZXJpcGhlcmFscy13aXRoLXZhbGlkYXRpb24tbWVzc2FnZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU0OWY1MzgwNjYwNmU2MThiZTJjNWZmNDBhZDQ5YWVkNGRkOWFhMzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dC1wZXJpcGhl
cmFscy13aXRoLXZhbGlkYXRpb24tbWVzc2FnZS5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Zm9ybT4KKzxpbnB1dCB0eXBlPSJkYXRlIiBpZD0iZGF0ZSIgcmVxdWlyZWQ+Cis8YnI+Cis8aW5w
dXQgdHlwZT0idGV4dCIgaWQ9InRleHQiIHJlcXVpcmVkPgorPGJyPgorPGlucHV0IHR5cGU9InN1
Ym1pdCIgaWQ9InN1Ym1pdCI+Cis8L2Zvcm0+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgaW5wdXQgcGVyaXBoZXJhbHMgYXJlIG5vdCBw
cmVzZW50ZWQgd2hlbiBmb2N1c2luZyBmb3JtIGNvbnRyb2xzIHdpdGggYSB2YWxpZGF0aW9uIG1l
c3NhZ2UuIik7CithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGRlYnVnKCJUYXAg
b24gc3VibWl0IGJ1dHRvbiB3aXRoIGFuIGVtcHR5IHJlcXVpcmVkIGRhdGUgaW5wdXQuIik7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50QW5kV2FpdEZvcklucHV0U2Vzc2lvbihz
dWJtaXQpOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRhdGUiKTsK
KworICAgIGlzU2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdlID0gYXdhaXQgVUlIZWxwZXIuaXNTaG93
aW5nUG9wb3ZlcigpOworICAgIHNob3VsZEJlVHJ1ZSgiaXNTaG93aW5nVmFsaWRhdGlvbk1lc3Nh
Z2UiKTsKKworICAgIGhhc0lucHV0U2Vzc2lvbiA9IGF3YWl0IFVJSGVscGVyLmhhc0lucHV0U2Vz
c2lvbigpOworICAgIHNob3VsZEJlRmFsc2UoImhhc0lucHV0U2Vzc2lvbiIpOworCisgICAgZGVi
dWcoIlxuRGlzbWlzcyB2YWxpZGF0aW9uIGJ1YmJsZSBhbmQgdGFwIG9uIGRhdGUgaW5wdXQuIik7
CisgICAgYXdhaXQgVUlIZWxwZXIudGFwQXQoMSwgMSk7CisgICAgYXdhaXQgVUlIZWxwZXIud2Fp
dEZvclBvcG92ZXJUb0Rpc21pc3MoKTsKKyAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGRhdGUpOworCisgICAgc2hvdWxkQmUoImRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQiLCAiZGF0ZSIpOworCisgICAgaXNTaG93aW5nVmFsaWRhdGlvbk1lc3Nh
Z2UgPSBhd2FpdCBVSUhlbHBlci5pc1Nob3dpbmdQb3BvdmVyKCk7CisgICAgc2hvdWxkQmVGYWxz
ZSgiaXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2UiKTsKKworICAgIGhhc0lucHV0U2Vzc2lvbiA9
IGF3YWl0IFVJSGVscGVyLmhhc0lucHV0U2Vzc2lvbigpOworICAgIHNob3VsZEJlVHJ1ZSgiaGFz
SW5wdXRTZXNzaW9uIik7CisKKyAgICBhd2FpdCBVSUhlbHBlci50YXBBdCgxLCAxKTsKKyAgICBh
d2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb0hpZGUoKTsKKworICAgIC8vIEZpbGwg
ZGF0ZSwgc28gdGhhdCB0aGUgdGV4dCBpbnB1dCByZWNlaXZlcyB0aGUgdmFsaWRhdGlvbiBtZXNz
YWdlIG9uIHN1Ym1pdC4KKyAgICBkYXRlLnZhbHVlID0gIjIwMjAtMTAtMjAiOworCisgICAgZGVi
dWcoIlxuVGFwIG9uIHN1Ym1pdCBidXR0b24gd2l0aCBhbiBlbXB0eSByZXF1aXJlZCB0ZXh0IGlu
cHV0LiIpOworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudEFuZFdhaXRGb3JJbnB1
dFNlc3Npb24oc3VibWl0KTsKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIs
ICJ0ZXh0Iik7CisKKyAgICBpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSA9IGF3YWl0IFVJSGVs
cGVyLmlzU2hvd2luZ1BvcG92ZXIoKTsKKyAgICBzaG91bGRCZVRydWUoImlzU2hvd2luZ1ZhbGlk
YXRpb25NZXNzYWdlIik7CisKKyAgICBoYXNJbnB1dFNlc3Npb24gPSBhd2FpdCBVSUhlbHBlci5o
YXNJbnB1dFNlc3Npb24oKTsKKyAgICBzaG91bGRCZVRydWUoImhhc0lucHV0U2Vzc2lvbiIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcyBiL0xheW91dFRl
c3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKaW5kZXggMjU0OTNlY2I4ZDMzMTBlMWQ5Yjc2ZTQw
MGUzYzhmZjczMWZmMjU4YS4uMDEwNTYxNDA2NDg4NzcxOTk1YzY0NTkxMGU2NDI3NjI5Y2NkMDFj
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcworKysgYi9M
YXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCkBAIC01NDUsNiArNTQ1LDEzIEBAIHdp
bmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgfSk7CiAgICAgfQogCisg
ICAgc3RhdGljIGlzU2hvd2luZ1BvcG92ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgi
dWlDb250cm9sbGVyLmlzU2hvd2luZ1BvcG92ZXIiLCByZXN1bHQgPT4gcmVzb2x2ZShyZXN1bHQg
PT09ICJ0cnVlIikpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICBzdGF0aWMgaGFzSW5wdXRT
ZXNzaW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>