<?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>215042</bug_id>
          
          <creation_ts>2020-07-31 16:40:34 -0700</creation_ts>
          <short_desc>should be able to request an editing context for a given region of a given input</short_desc>
          <delta_ts>2020-08-03 11:32:05 -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>HTML Editing</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>dbates</cc>
    
    <cc>hi</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>1677039</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-07-31 16:40:34 -0700</bug_when>
    <thetext>Right now, it&apos;s only possible to request an editing context for either an entire input element or a particular rect of the page.  It should be possible to request an editing context for a particular rect within a given input element as well (e.g. get one paragraph of a `&lt;textarea&gt;` instead of the entire thing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677040</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-07-31 16:40:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/65561491&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677044</commentid>
    <comment_count>2</comment_count>
      <attachid>405757</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-07-31 16:45:00 -0700</bug_when>
    <thetext>Created attachment 405757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677358</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-03 11:32:04 -0700</bug_when>
    <thetext>Committed r265209: &lt;https://trac.webkit.org/changeset/265209&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405757.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405757</attachid>
            <date>2020-07-31 16:45:00 -0700</date>
            <delta_ts>2020-08-03 11:32:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>215042.diff</filename>
            <type>text/plain</type>
            <size>20522</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYWJjMjIwZDEzYmUuLjYzMGMxNDc5NDRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDIwLTA3LTMxICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBzaG91bGQgYmUgYWJsZSB0byByZXF1ZXN0IGFuIGVkaXRpbmcgY29udGV4dCBmb3Ig
YSBnaXZlbiByZWdpb24gb2YgYSBnaXZlbiBpbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MDQyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82
NTU2MTQ5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSaWdodCBub3csIGl0J3Mgb25seSBwb3NzaWJsZSB0byByZXF1ZXN0IGFuIGVkaXRpbmcgY29u
dGV4dCBmb3IgZWl0aGVyIGFuIGVudGlyZSBpbnB1dAorICAgICAgICBlbGVtZW50IG9yIGEgcGFy
dGljdWxhciByZWN0IG9mIHRoZSBwYWdlLiAgSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVl
c3QgYW4gZWRpdGluZworICAgICAgICBjb250ZXh0IGZvciBhIHBhcnRpY3VsYXIgcmVjdCB3aXRo
aW4gYSBnaXZlbiBpbnB1dCBlbGVtZW50IGFzIHdlbGwgKGUuZy4gZ2V0IG9uZSBwYXJhZ3JhcGgK
KyAgICAgICAgb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0ZXh0IGluIGEgYDx0ZXh0YXJlYT5g
IGluc3RlYWQgb2YgdGhlIGVudGlyZSB0aGluZykuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcXVl
c3REb2N1bWVudEVkaXRpbmdDb250ZXh0KToKKwogMjAyMC0wNy0zMCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaVBhZE9TXSBUd28gdGFwcyBhcmUg
cmVxdWlyZWQgdG8gY2hvb3NlIGEgY291bnRyeS9yZWdpb24gd2hlbiBjcmVhdGluZyBhbiBhY2Nv
dW50IG9uIGVhLmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQppbmRleCBlNTNlNzdhNzBiYS4uODk2MWI4ZmI0MGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBA
IC00MTM2LDcgKzQxMzYsMTEgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5n
Q29udGV4dChEb2N1bWVudEVkaXRpbmdDb250ZXh0UmVxdWVzdCByZXF1ZXMKICAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
LSAgICAgICAgaWYgKGlzPEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50PihlbGVtZW50KSkgewor
CisgICAgICAgIGlmICghcmVxdWVzdC5yZWN0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgcmFu
Z2VPZkludGVyZXN0U3RhcnQgPSBjbG9zZXN0RWRpdGFibGVQb3NpdGlvbkluRWxlbWVudEZvckFi
c29sdXRlUG9pbnQoKmVsZW1lbnQsIHJvdW5kZWRJbnRQb2ludChyZXF1ZXN0LnJlY3QubWluWE1p
bllDb3JuZXIoKSkpOworICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0RW5kID0gY2xvc2VzdEVk
aXRhYmxlUG9zaXRpb25JbkVsZW1lbnRGb3JBYnNvbHV0ZVBvaW50KCplbGVtZW50LCByb3VuZGVk
SW50UG9pbnQocmVxdWVzdC5yZWN0Lm1heFhNYXhZQ29ybmVyKCkpKTsKKyAgICAgICAgfSBlbHNl
IGlmIChpczxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAg
ICAgIGF1dG8mIHRleHRGb3JtQ29udHJvbEVsZW1lbnQgPSBkb3duY2FzdDxIVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudD4oKmVsZW1lbnQpOwogICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0U3Rh
cnQgPSB0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LnZpc2libGVQb3NpdGlvbkZvckluZGV4KDApOwog
ICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0RW5kID0gdGV4dEZvcm1Db250cm9sRWxlbWVudC52
aXNpYmxlUG9zaXRpb25Gb3JJbmRleCh0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LnZhbHVlKCkubGVu
Z3RoKCkpOwpAQCAtNDE0OCwxOSArNDE1MiwyMSBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3REb2N1
bWVudEVkaXRpbmdDb250ZXh0KERvY3VtZW50RWRpdGluZ0NvbnRleHRSZXF1ZXN0IHJlcXVlcwog
ICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgbmVlZCB0byBiZSBhIGJpdCBtb3JlIGNhcmVmdWwg
dGhhdCB3ZSBnZXQgc29tZXRoaW5nIHVzZWZ1bCAodGVzdCB0aGUgb3RoZXIgY29ybmVycz8pLgog
ICAgICAgICByYW5nZU9mSW50ZXJlc3RTdGFydCA9IHZpc2libGVQb3NpdGlvbkZvclBvaW50SW5S
b290Vmlld0Nvb3JkaW5hdGVzKGZyYW1lLmdldCgpLCByZXF1ZXN0LnJlY3QubWluWE1pbllDb3Ju
ZXIoKSk7CiAgICAgICAgIHJhbmdlT2ZJbnRlcmVzdEVuZCA9IHZpc2libGVQb3NpdGlvbkZvclBv
aW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzKGZyYW1lLmdldCgpLCByZXF1ZXN0LnJlY3QubWF4WE1h
eFlDb3JuZXIoKSk7Ci0gICAgICAgIGlmIChyYW5nZU9mSW50ZXJlc3RFbmQgPCByYW5nZU9mSW50
ZXJlc3RTdGFydCkKLSAgICAgICAgICAgIHN0ZDo6ZXhjaGFuZ2UocmFuZ2VPZkludGVyZXN0U3Rh
cnQsIHJhbmdlT2ZJbnRlcmVzdEVuZCk7Ci0gICAgICAgIGlmIChyZXF1ZXN0Lm9wdGlvbnMuY29u
dGFpbnMoRG9jdW1lbnRFZGl0aW5nQ29udGV4dFJlcXVlc3Q6Ok9wdGlvbnM6OlNwYXRpYWxBbmRD
dXJyZW50U2VsZWN0aW9uKSkgewotICAgICAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0IDwgcmFu
Z2VPZkludGVyZXN0U3RhcnQpCi0gICAgICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0U3RhcnQg
PSBzZWxlY3Rpb25TdGFydDsKLSAgICAgICAgICAgIGlmIChzZWxlY3Rpb25FbmQgPiByYW5nZU9m
SW50ZXJlc3RFbmQpCi0gICAgICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0RW5kID0gc2VsZWN0
aW9uRW5kOwotICAgICAgICB9CiAgICAgfSBlbHNlIGlmICghc2VsZWN0aW9uLmlzTm9uZSgpKSB7
CiAgICAgICAgIHJhbmdlT2ZJbnRlcmVzdFN0YXJ0ID0gc2VsZWN0aW9uU3RhcnQ7CiAgICAgICAg
IHJhbmdlT2ZJbnRlcmVzdEVuZCA9IHNlbGVjdGlvbkVuZDsKICAgICB9CiAKKyAgICBpZiAocmFu
Z2VPZkludGVyZXN0RW5kIDwgcmFuZ2VPZkludGVyZXN0U3RhcnQpCisgICAgICAgIHN0ZDo6ZXhj
aGFuZ2UocmFuZ2VPZkludGVyZXN0U3RhcnQsIHJhbmdlT2ZJbnRlcmVzdEVuZCk7CisKKyAgICBp
ZiAocmVxdWVzdC5vcHRpb25zLmNvbnRhaW5zKERvY3VtZW50RWRpdGluZ0NvbnRleHRSZXF1ZXN0
OjpPcHRpb25zOjpTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbikpIHsKKyAgICAgICAgaWYgKHNl
bGVjdGlvblN0YXJ0IDwgcmFuZ2VPZkludGVyZXN0U3RhcnQpCisgICAgICAgICAgICByYW5nZU9m
SW50ZXJlc3RTdGFydCA9IHNlbGVjdGlvblN0YXJ0OworICAgICAgICBpZiAoc2VsZWN0aW9uRW5k
ID4gcmFuZ2VPZkludGVyZXN0RW5kKQorICAgICAgICAgICAgcmFuZ2VPZkludGVyZXN0RW5kID0g
c2VsZWN0aW9uRW5kOworICAgIH0KKwogICAgIGlmIChyYW5nZU9mSW50ZXJlc3RTdGFydC5pc051
bGwoKSB8fCByYW5nZU9mSW50ZXJlc3RTdGFydC5pc09ycGhhbigpIHx8IHJhbmdlT2ZJbnRlcmVz
dEVuZC5pc051bGwoKSB8fCByYW5nZU9mSW50ZXJlc3RFbmQuaXNPcnBoYW4oKSkgewogICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmU2YjMwYzk4ODEuLjZkNjY4
NjQyMjRlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDctMzEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgorCisgICAgICAgIHNob3VsZCBiZSBhYmxlIHRvIHJlcXVlc3QgYW4gZWRpdGluZyBj
b250ZXh0IGZvciBhIGdpdmVuIHJlZ2lvbiBvZiBhIGdpdmVuIGlucHV0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwNDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzY1NTYxNDkxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVk
aXRpbmdDb250ZXh0Lm1tOgorICAgICAgICAoVEVTVC5Eb2N1bWVudEVkaXRpbmdDb250ZXh0LlNw
YXRpYWxSZXF1ZXN0X1JlY3RFbmNvbXBhc3NpbmdJbnB1dCk6IEFkZGVkLgorICAgICAgICAoVEVT
VC5Eb2N1bWVudEVkaXRpbmdDb250ZXh0LlNwYXRpYWxSZXF1ZXN0X1JlY3RCZWZvcmVJbnB1dCk6
IEFkZGVkLgorICAgICAgICAoVEVTVC5Eb2N1bWVudEVkaXRpbmdDb250ZXh0LlNwYXRpYWxSZXF1
ZXN0X1JlY3RJbnNpZGVJbnB1dCk6IEFkZGVkLgorICAgICAgICAoVEVTVC5Eb2N1bWVudEVkaXRp
bmdDb250ZXh0LlNwYXRpYWxSZXF1ZXN0X1JlY3RBZnRlcklucHV0KTogQWRkZWQuCisgICAgICAg
IChURVNULkRvY3VtZW50RWRpdGluZ0NvbnRleHQuU3BhdGlhbEFuZEN1cnJlbnRTZWxlY3Rpb25S
ZXF1ZXN0X1JlY3RFbmNvbXBhc3NpbmdJbnB1dFdpdGhTZWxlY3Rpb24pOiBBZGRlZC4KKyAgICAg
ICAgKFRFU1QuRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5TcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlv
blJlcXVlc3RfUmVjdEJlZm9yZUlucHV0V2l0aFNlbGVjdGlvbik6IEFkZGVkLgorICAgICAgICAo
VEVTVC5Eb2N1bWVudEVkaXRpbmdDb250ZXh0LlNwYXRpYWxBbmRDdXJyZW50U2VsZWN0aW9uUmVx
dWVzdF9SZWN0QmVmb3JlU2VsZWN0aW9uSW5JbnB1dCk6IEFkZGVkLgorICAgICAgICAoVEVTVC5E
b2N1bWVudEVkaXRpbmdDb250ZXh0LlNwYXRpYWxBbmRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdF9S
ZWN0QWZ0ZXJTZWxlY3Rpb25JbklucHV0KTogQWRkZWQuCisgICAgICAgIChURVNULkRvY3VtZW50
RWRpdGluZ0NvbnRleHQuU3BhdGlhbEFuZEN1cnJlbnRTZWxlY3Rpb25SZXF1ZXN0X1JlY3RBZnRl
cklucHV0V2l0aFNlbGVjdGlvbik6IEFkZGVkLgorCiAyMDIwLTA3LTMwICBKb25hdGhhbiBCZWRh
cmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0Y29yZXB5XSBNYWtlIHNj
cmlwdHMgY2FsbGVkIHdpdGggc3VkbyB1c2UgYSB1c2Vyc3BhY2UgYXV0b2luc3RhbGwKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0
aW5nQ29udGV4dC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9j
dW1lbnRFZGl0aW5nQ29udGV4dC5tbQppbmRleCBjMTNjZmRhZDA4ZS4uMDkwZjdmNDZjYWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRF
ZGl0aW5nQ29udGV4dC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KQEAgLTQ4Nyw2ICs0ODcsODggQEAgc3RhdGlj
IENHUmVjdCBDR1JlY3RGcm9tSlNPTkVuY29kZWRET01SZWN0SlNWYWx1ZShpZCBqc1ZhbHVlKQog
ICAgIHJldHVybiBDR1JlY3RNYWtlKFtkb21SZWN0W0AibGVmdCJdIGZsb2F0VmFsdWVdLCBbZG9t
UmVjdFtAInRvcCJdIGZsb2F0VmFsdWVdLCBbZG9tUmVjdFtAIndpZHRoIl0gZmxvYXRWYWx1ZV0s
IFtkb21SZWN0W0AiaGVpZ2h0Il0gZmxvYXRWYWx1ZV0pOwogfQogCitURVNUKERvY3VtZW50RWRp
dGluZ0NvbnRleHQsIFNwYXRpYWxSZXF1ZXN0X1JlY3RFbmNvbXBhc3NpbmdJbnB1dCkKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDk4MCwgNjAwKV0pOworCisgICAgLy8gVXNlICJwYWRkaW5n
OiAwIiBhcyB0aGUgZGVmYXVsdCB1c2VyLWFnZW50IHN0eWxlc2hlZXQgY2FuIGVmZmVjdCB0ZXh0
IHdyYXBwaW5nLgorICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzphcHBs
eUFoZW1TdHlsZShAImJlZm9yZSA8dGV4dGFyZWEgaWQ9J3Rlc3QnIHN0eWxlPSd3aWR0aDogMjZl
bTsgbWFyZ2luOiAyMDBweCAwIDAgMjAwcHg7IHBhZGRpbmc6IDA7Jz5UaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLjwvdGV4dGFyZWE+IGFmdGVyIildOyAvLyBXb3Jk
IHdyYXBzICJvdmVyIiBvbnRvIG5leHQgbGluZQorCisgICAgTlNBcnJheTxfV0tUZXh0SW5wdXRD
b250ZXh0ICo+ICp0ZXh0SW5wdXRDb250ZXh0cyA9IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlSZXF1
ZXN0VGV4dElucHV0Q29udGV4dHNJblJlY3Q6W3dlYlZpZXcgZnJhbWVdXTsKKyAgICBFWFBFQ1Rf
RVEoMVVMLCB0ZXh0SW5wdXRDb250ZXh0cy5jb3VudCk7CisKKyAgICBVSVdLRG9jdW1lbnRDb250
ZXh0ICpjb250ZXh0ID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3REb2N1bWVudENvbnRl
eHQ6bWFrZVJlcXVlc3QoVUlXS0RvY3VtZW50UmVxdWVzdFRleHQgfCBVSVdLRG9jdW1lbnRSZXF1
ZXN0U3BhdGlhbCwgVUlUZXh0R3JhbnVsYXJpdHlXb3JkLCAyMDAsIFt3ZWJWaWV3IGZyYW1lXSwg
dGV4dElucHV0Q29udGV4dHNbMF0pXTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIlRoZSBxdWlj
ayBicm93biBmb3ggIiwgY29udGV4dC5jb250ZXh0QmVmb3JlKTsKKyAgICBFWFBFQ1RfTlVMTChj
b250ZXh0LnNlbGVjdGVkVGV4dCk7CisgICAgRVhQRUNUX05TU1RSSU5HX0VRKCJqdW1wcyBvdmVy
IHRoZSBsYXp5IGRvZy4iLCBjb250ZXh0LmNvbnRleHRBZnRlcik7Cit9CisKK1RFU1QoRG9jdW1l
bnRFZGl0aW5nQ29udGV4dCwgU3BhdGlhbFJlcXVlc3RfUmVjdEJlZm9yZUlucHV0KQoreworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgOTgwLCA2MDApXSk7CisKKyAgICAvLyBVc2UgInBhZGRpbmc6
IDAiIGFzIHRoZSBkZWZhdWx0IHVzZXItYWdlbnQgc3R5bGVzaGVldCBjYW4gZWZmZWN0IHRleHQg
d3JhcHBpbmcuCisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOmFwcGx5
QWhlbVN0eWxlKEAiYmVmb3JlIDx0ZXh0YXJlYSBpZD0ndGVzdCcgc3R5bGU9J3dpZHRoOiAyNmVt
OyBtYXJnaW46IDIwMHB4IDAgMCAyMDBweDsgcGFkZGluZzogMDsnPlRoZSBxdWljayBicm93biBm
b3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC90ZXh0YXJlYT4gYWZ0ZXIiKV07IC8vIFdvcmQg
d3JhcHMgIm92ZXIiIG9udG8gbmV4dCBsaW5lCisKKyAgICBOU0FycmF5PF9XS1RleHRJbnB1dENv
bnRleHQgKj4gKnRleHRJbnB1dENvbnRleHRzID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVl
c3RUZXh0SW5wdXRDb250ZXh0c0luUmVjdDpbd2ViVmlldyBmcmFtZV1dOworICAgIEVYUEVDVF9F
USgxVUwsIHRleHRJbnB1dENvbnRleHRzLmNvdW50KTsKKworICAgIGF1dG8gZG9jdW1lbnRSZWN0
ID0gQ0dSZWN0RnJvbUpTT05FbmNvZGVkRE9NUmVjdEpTVmFsdWUoW3dlYlZpZXcgb2JqZWN0QnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAInRlc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9KU09O
KCkiXSk7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdpbi54IC09IGdseXBoV2lkdGggKiAyOworICAg
IGRvY3VtZW50UmVjdC5vcmlnaW4ueSAtPSBnbHlwaFdpZHRoICogMjsKKyAgICBkb2N1bWVudFJl
Y3Quc2l6ZS53aWR0aCA9IGdseXBoV2lkdGg7CisgICAgZG9jdW1lbnRSZWN0LnNpemUuaGVpZ2h0
ID0gZ2x5cGhXaWR0aDsKKworICAgIFVJV0tEb2N1bWVudENvbnRleHQgKmNvbnRleHQgPSBbd2Vi
VmlldyBzeW5jaHJvbm91c2x5UmVxdWVzdERvY3VtZW50Q29udGV4dDptYWtlUmVxdWVzdChVSVdL
RG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsLCBVSVRleHRH
cmFudWxhcml0eVdvcmQsIDIwMCwgZG9jdW1lbnRSZWN0LCB0ZXh0SW5wdXRDb250ZXh0c1swXSld
OworICAgIEVYUEVDVF9OVUxMKGNvbnRleHQuY29udGV4dEJlZm9yZSk7CisgICAgRVhQRUNUX05V
TEwoY29udGV4dC5zZWxlY3RlZFRleHQpOworICAgIEVYUEVDVF9OU1NUUklOR19FUSgiVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4iLCBjb250ZXh0LmNvbnRleHRB
ZnRlcik7Cit9CisKK1RFU1QoRG9jdW1lbnRFZGl0aW5nQ29udGV4dCwgU3BhdGlhbFJlcXVlc3Rf
UmVjdEluc2lkZUlucHV0KQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgOTgwLCA2MDApXSk7
CisKKyAgICAvLyBVc2UgInBhZGRpbmc6IDAiIGFzIHRoZSBkZWZhdWx0IHVzZXItYWdlbnQgc3R5
bGVzaGVldCBjYW4gZWZmZWN0IHRleHQgd3JhcHBpbmcuCisgICAgW3dlYlZpZXcgc3luY2hyb25v
dXNseUxvYWRIVE1MU3RyaW5nOmFwcGx5QWhlbVN0eWxlKEAiYmVmb3JlIDx0ZXh0YXJlYSBpZD0n
dGVzdCcgc3R5bGU9J3dpZHRoOiAyNmVtOyBtYXJnaW46IDIwMHB4IDAgMCAyMDBweDsgcGFkZGlu
ZzogMDsnPlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC90ZXh0
YXJlYT4gYWZ0ZXIiKV07IC8vIFdvcmQgd3JhcHMgIm92ZXIiIG9udG8gbmV4dCBsaW5lCisKKyAg
ICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1dENvbnRleHRzID0gW3dl
YlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0c0luUmVjdDpbd2ViVmll
dyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENvbnRleHRzLmNvdW50KTsK
KworICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gQ0dSZWN0RnJvbUpTT05FbmNvZGVkRE9NUmVjdEpT
VmFsdWUoW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRlc3QuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCkudG9KU09OKCkiXSk7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdpbi54
ICs9IChkb2N1bWVudFJlY3Quc2l6ZS53aWR0aCAvIDIpIC0gKGdseXBoV2lkdGggKiAyKTsKKyAg
ICBkb2N1bWVudFJlY3Qub3JpZ2luLnkgKz0gKGRvY3VtZW50UmVjdC5zaXplLmhlaWdodCAvIDIp
IC0gKGdseXBoV2lkdGggKiAyKTsKKyAgICBkb2N1bWVudFJlY3Quc2l6ZS53aWR0aCA9IGdseXBo
V2lkdGg7CisgICAgZG9jdW1lbnRSZWN0LnNpemUuaGVpZ2h0ID0gZ2x5cGhXaWR0aDsKKworICAg
IFVJV0tEb2N1bWVudENvbnRleHQgKmNvbnRleHQgPSBbd2ViVmlldyBzeW5jaHJvbm91c2x5UmVx
dWVzdERvY3VtZW50Q29udGV4dDptYWtlUmVxdWVzdChVSVdLRG9jdW1lbnRSZXF1ZXN0VGV4dCB8
IFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsLCBVSVRleHRHcmFudWxhcml0eVdvcmQsIDIwMCwg
ZG9jdW1lbnRSZWN0LCB0ZXh0SW5wdXRDb250ZXh0c1swXSldOworICAgIEVYUEVDVF9OU1NUUklO
R19FUSgiVGhlIHF1aWNrIGIiLCBjb250ZXh0LmNvbnRleHRCZWZvcmUpOworICAgIEVYUEVDVF9O
VUxMKGNvbnRleHQuc2VsZWN0ZWRUZXh0KTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoInJvd24g
Zm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLiIsIGNvbnRleHQuY29udGV4dEFmdGVyKTsKK30K
KworVEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBTcGF0aWFsUmVxdWVzdF9SZWN0QWZ0ZXJJ
bnB1dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDk4MCwgNjAwKV0pOworCisgICAgLy8g
VXNlICJwYWRkaW5nOiAwIiBhcyB0aGUgZGVmYXVsdCB1c2VyLWFnZW50IHN0eWxlc2hlZXQgY2Fu
IGVmZmVjdCB0ZXh0IHdyYXBwaW5nLgorICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRN
TFN0cmluZzphcHBseUFoZW1TdHlsZShAImJlZm9yZSA8dGV4dGFyZWEgaWQ9J3Rlc3QnIHN0eWxl
PSd3aWR0aDogMjZlbTsgbWFyZ2luOiAyMDBweCAwIDAgMjAwcHg7IHBhZGRpbmc6IDA7Jz5UaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLjwvdGV4dGFyZWE+IGFmdGVy
IildOyAvLyBXb3JkIHdyYXBzICJvdmVyIiBvbnRvIG5leHQgbGluZQorCisgICAgTlNBcnJheTxf
V0tUZXh0SW5wdXRDb250ZXh0ICo+ICp0ZXh0SW5wdXRDb250ZXh0cyA9IFt3ZWJWaWV3IHN5bmNo
cm9ub3VzbHlSZXF1ZXN0VGV4dElucHV0Q29udGV4dHNJblJlY3Q6W3dlYlZpZXcgZnJhbWVdXTsK
KyAgICBFWFBFQ1RfRVEoMVVMLCB0ZXh0SW5wdXRDb250ZXh0cy5jb3VudCk7CisKKyAgICBhdXRv
IGRvY3VtZW50UmVjdCA9IENHUmVjdEZyb21KU09ORW5jb2RlZERPTVJlY3RKU1ZhbHVlKFt3ZWJW
aWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXN0LmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLnRvSlNPTigpIl0pOworICAgIGRvY3VtZW50UmVjdC5vcmlnaW4ueCArPSBkb2N1bWVu
dFJlY3Quc2l6ZS53aWR0aCArIGdseXBoV2lkdGg7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdpbi55
ICs9IGRvY3VtZW50UmVjdC5zaXplLmhlaWdodCArIGdseXBoV2lkdGg7CisgICAgZG9jdW1lbnRS
ZWN0LnNpemUud2lkdGggPSBnbHlwaFdpZHRoOworICAgIGRvY3VtZW50UmVjdC5zaXplLmhlaWdo
dCA9IGdseXBoV2lkdGg7CisKKyAgICBVSVdLRG9jdW1lbnRDb250ZXh0ICpjb250ZXh0ID0gW3dl
YlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3REb2N1bWVudENvbnRleHQ6bWFrZVJlcXVlc3QoVUlX
S0RvY3VtZW50UmVxdWVzdFRleHQgfCBVSVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlhbCwgVUlUZXh0
R3JhbnVsYXJpdHlXb3JkLCAyMDAsIGRvY3VtZW50UmVjdCwgdGV4dElucHV0Q29udGV4dHNbMF0p
XTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3Zl
ciB0aGUgbGF6eSBkb2cuIiwgY29udGV4dC5jb250ZXh0QmVmb3JlKTsKKyAgICBFWFBFQ1RfTlVM
TChjb250ZXh0LnNlbGVjdGVkVGV4dCk7CisgICAgRVhQRUNUX05VTEwoY29udGV4dC5jb250ZXh0
QWZ0ZXIpOworfQorCiBURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFNwYXRpYWxBbmRDdXJy
ZW50U2VsZWN0aW9uUmVxdWVzdF9SZWN0QmVmb3JlUmFuZ2VTZWxlY3Rpb24pCiB7CiAgICAgYXV0
byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCA5ODAsIDYwMCldKTsKQEAgLTYwMSw2ICs2ODMsMTE5IEBAIFRFU1Qo
RG9jdW1lbnRFZGl0aW5nQ29udGV4dCwgU3BhdGlhbEFuZEN1cnJlbnRTZWxlY3Rpb25SZXF1ZXN0
X1JlY3RBcm91bmRDYXJldFNlCiAgICAgRVhQRUNUX05TU1RSSU5HX0VRKCJqdW1wcyBvdmVyIHRo
ZSIsIGNvbnRleHQuY29udGV4dEFmdGVyKTsKIH0KIAorVEVTVChEb2N1bWVudEVkaXRpbmdDb250
ZXh0LCBTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvblJlcXVlc3RfUmVjdEVuY29tcGFzc2luZ0lu
cHV0V2l0aFNlbGVjdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDk4MCwgNjAwKV0p
OworCisgICAgLy8gVXNlICJwYWRkaW5nOiAwIiBhcyB0aGUgZGVmYXVsdCB1c2VyLWFnZW50IHN0
eWxlc2hlZXQgY2FuIGVmZmVjdCB0ZXh0IHdyYXBwaW5nLgorICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzphcHBseUFoZW1TdHlsZShAImJlZm9yZSA8c3BhbiBjb250ZW50
ZWRpdGFibGUgaWQ9J3Rlc3QnIHN0eWxlPSdkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAy
NmVtOyBtYXJnaW46IDIwMHB4IDAgMCAyMDBweDsnPlRoZSBxdWljayBicm93biA8c3BhbiBpZD0n
Zm94X2p1bXBzX292ZXInPmZveCBqdW1wcyBvdmVyPC9zcGFuPiB0aGUgbGF6eSBkb2cuPC9zcGFu
PiBhZnRlciIpXTsgLy8gV29yZCB3cmFwcyAib3ZlciIgb250byBuZXh0IGxpbmUKKyAgICBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0QmFz
ZUFuZEV4dGVudChmb3hfanVtcHNfb3ZlciwgMCwgZm94X2p1bXBzX292ZXIsIDEpIl07CisKKyAg
ICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1dENvbnRleHRzID0gW3dl
YlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0c0luUmVjdDpbd2ViVmll
dyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENvbnRleHRzLmNvdW50KTsK
KworICAgIFVJV0tEb2N1bWVudENvbnRleHQgKmNvbnRleHQgPSBbd2ViVmlldyBzeW5jaHJvbm91
c2x5UmVxdWVzdERvY3VtZW50Q29udGV4dDptYWtlUmVxdWVzdChVSVdLRG9jdW1lbnRSZXF1ZXN0
VGV4dCB8IFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbiwgVUlU
ZXh0R3JhbnVsYXJpdHlXb3JkLCAyMDAsIFt3ZWJWaWV3IGZyYW1lXSwgdGV4dElucHV0Q29udGV4
dHNbMF0pXTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIlRoZSBxdWljayBicm93biAiLCBjb250
ZXh0LmNvbnRleHRCZWZvcmUpOworICAgIEVYUEVDVF9OU1NUUklOR19FUSgiZm94IGp1bXBzIG92
ZXIiLCBjb250ZXh0LnNlbGVjdGVkVGV4dCk7CisgICAgRVhQRUNUX05TU1RSSU5HX0VRKCIgdGhl
IGxhenkgZG9nLiIsIGNvbnRleHQuY29udGV4dEFmdGVyKTsKK30KKworVEVTVChEb2N1bWVudEVk
aXRpbmdDb250ZXh0LCBTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvblJlcXVlc3RfUmVjdEJlZm9y
ZUlucHV0V2l0aFNlbGVjdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDk4MCwgNjAw
KV0pOworCisgICAgLy8gVXNlICJwYWRkaW5nOiAwIiBhcyB0aGUgZGVmYXVsdCB1c2VyLWFnZW50
IHN0eWxlc2hlZXQgY2FuIGVmZmVjdCB0ZXh0IHdyYXBwaW5nLgorICAgIFt3ZWJWaWV3IHN5bmNo
cm9ub3VzbHlMb2FkSFRNTFN0cmluZzphcHBseUFoZW1TdHlsZShAImJlZm9yZSA8c3BhbiBjb250
ZW50ZWRpdGFibGUgaWQ9J3Rlc3QnIHN0eWxlPSdkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRo
OiAyNmVtOyBtYXJnaW46IDIwMHB4IDAgMCAyMDBweDsnPlRoZSBxdWljayBicm93biA8c3BhbiBp
ZD0nZm94X2p1bXBzX292ZXInPmZveCBqdW1wcyBvdmVyPC9zcGFuPiB0aGUgbGF6eSBkb2cuPC9z
cGFuPiBhZnRlciIpXTsgLy8gV29yZCB3cmFwcyAib3ZlciIgb250byBuZXh0IGxpbmUKKyAgICBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0
QmFzZUFuZEV4dGVudChmb3hfanVtcHNfb3ZlciwgMCwgZm94X2p1bXBzX292ZXIsIDEpIl07CisK
KyAgICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1dENvbnRleHRzID0g
W3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0c0luUmVjdDpbd2Vi
VmlldyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENvbnRleHRzLmNvdW50
KTsKKworICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gQ0dSZWN0RnJvbUpTT05FbmNvZGVkRE9NUmVj
dEpTVmFsdWUoW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRlc3QuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCkudG9KU09OKCkiXSk7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdp
bi54IC09IGdseXBoV2lkdGggKiAyOworICAgIGRvY3VtZW50UmVjdC5vcmlnaW4ueSAtPSBnbHlw
aFdpZHRoICogMjsKKyAgICBkb2N1bWVudFJlY3Quc2l6ZS53aWR0aCA9IGdseXBoV2lkdGg7Cisg
ICAgZG9jdW1lbnRSZWN0LnNpemUuaGVpZ2h0ID0gZ2x5cGhXaWR0aDsKKworICAgIFVJV0tEb2N1
bWVudENvbnRleHQgKmNvbnRleHQgPSBbd2ViVmlldyBzeW5jaHJvbm91c2x5UmVxdWVzdERvY3Vt
ZW50Q29udGV4dDptYWtlUmVxdWVzdChVSVdLRG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJV0tEb2N1
bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbiwgVUlUZXh0R3JhbnVsYXJpdHlX
b3JkLCAyMDAsIGRvY3VtZW50UmVjdCwgdGV4dElucHV0Q29udGV4dHNbMF0pXTsKKyAgICBFWFBF
Q1RfTlNTVFJJTkdfRVEoIlRoZSBxdWljayBicm93biAiLCBjb250ZXh0LmNvbnRleHRCZWZvcmUp
OworICAgIEVYUEVDVF9OU1NUUklOR19FUSgiZm94IGp1bXBzIG92ZXIiLCBjb250ZXh0LnNlbGVj
dGVkVGV4dCk7CisgICAgRVhQRUNUX05TU1RSSU5HX0VRKCIgdGhlIGxhenkgZG9nLiIsIGNvbnRl
eHQuY29udGV4dEFmdGVyKTsKK30KKworVEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBTcGF0
aWFsQW5kQ3VycmVudFNlbGVjdGlvblJlcXVlc3RfUmVjdEJlZm9yZVNlbGVjdGlvbkluSW5wdXQp
Cit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA5ODAsIDYwMCldKTsKKworICAgIC8vIFVzZSAi
cGFkZGluZzogMCIgYXMgdGhlIGRlZmF1bHQgdXNlci1hZ2VudCBzdHlsZXNoZWV0IGNhbiBlZmZl
Y3QgdGV4dCB3cmFwcGluZy4KKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJp
bmc6YXBwbHlBaGVtU3R5bGUoQCJiZWZvcmUgPHNwYW4gY29udGVudGVkaXRhYmxlIGlkPSd0ZXN0
JyBzdHlsZT0nZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjZlbTsgbWFyZ2luOiAyMDBw
eCAwIDAgMjAwcHg7Jz5UaGUgcXVpY2sgYnJvd24gPHNwYW4gaWQ9J2ZveF9qdW1wc19vdmVyJz5m
b3gganVtcHMgb3Zlcjwvc3Bhbj4gdGhlIGxhenkgZG9nLjwvc3Bhbj4gYWZ0ZXIiKV07IC8vIFdv
cmQgd3JhcHMgIm92ZXIiIG9udG8gbmV4dCBsaW5lCisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZm94X2p1
bXBzX292ZXIsIDAsIGZveF9qdW1wc19vdmVyLCAxKSJdOworCisgICAgTlNBcnJheTxfV0tUZXh0
SW5wdXRDb250ZXh0ICo+ICp0ZXh0SW5wdXRDb250ZXh0cyA9IFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlSZXF1ZXN0VGV4dElucHV0Q29udGV4dHNJblJlY3Q6W3dlYlZpZXcgZnJhbWVdXTsKKyAgICBF
WFBFQ1RfRVEoMVVMLCB0ZXh0SW5wdXRDb250ZXh0cy5jb3VudCk7CisKKyAgICBhdXRvIHNlbGVj
dGlvbkJveFJlY3QgPSBDR1JlY3RGcm9tSlNPTkVuY29kZWRET01SZWN0SlNWYWx1ZShbd2ViVmll
dyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZm94X2p1bXBzX292ZXIuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkudG9KU09OKCkiXSk7CisKKyAgICBhdXRvIGRvY3VtZW50UmVjdCA9IENH
UmVjdEZyb21KU09ORW5jb2RlZERPTVJlY3RKU1ZhbHVlKFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJ0ZXN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvSlNPTigpIl0p
OworICAgIGRvY3VtZW50UmVjdC5vcmlnaW4ueCA9ICgoZG9jdW1lbnRSZWN0Lm9yaWdpbi54ICsg
c2VsZWN0aW9uQm94UmVjdC5vcmlnaW4ueCkgLyAyKSAtIChnbHlwaFdpZHRoICogMik7CisgICAg
ZG9jdW1lbnRSZWN0Lm9yaWdpbi55ID0gKChkb2N1bWVudFJlY3Qub3JpZ2luLnkgKyBzZWxlY3Rp
b25Cb3hSZWN0Lm9yaWdpbi55KSAvIDIpIC0gKGdseXBoV2lkdGggKiAyKTsKKyAgICBkb2N1bWVu
dFJlY3Quc2l6ZS53aWR0aCA9IGdseXBoV2lkdGg7CisgICAgZG9jdW1lbnRSZWN0LnNpemUuaGVp
Z2h0ID0gZ2x5cGhXaWR0aDsKKworICAgIFVJV0tEb2N1bWVudENvbnRleHQgKmNvbnRleHQgPSBb
d2ViVmlldyBzeW5jaHJvbm91c2x5UmVxdWVzdERvY3VtZW50Q29udGV4dDptYWtlUmVxdWVzdChV
SVdLRG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3Vy
cmVudFNlbGVjdGlvbiwgVUlUZXh0R3JhbnVsYXJpdHlXb3JkLCAyMDAsIGRvY3VtZW50UmVjdCwg
dGV4dElucHV0Q29udGV4dHNbMF0pXTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIlRoZSBxdWlj
ayBicm93biAiLCBjb250ZXh0LmNvbnRleHRCZWZvcmUpOworICAgIEVYUEVDVF9OU1NUUklOR19F
USgiZm94IGp1bXBzIG92ZXIiLCBjb250ZXh0LnNlbGVjdGVkVGV4dCk7CisgICAgRVhQRUNUX05T
U1RSSU5HX0VRKCIgdGhlIGxhenkgZG9nLiIsIGNvbnRleHQuY29udGV4dEFmdGVyKTsKK30KKwor
VEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvblJl
cXVlc3RfUmVjdEFmdGVyU2VsZWN0aW9uSW5JbnB1dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDk4MCwgNjAwKV0pOworCisgICAgLy8gVXNlICJwYWRkaW5nOiAwIiBhcyB0aGUgZGVmYXVs
dCB1c2VyLWFnZW50IHN0eWxlc2hlZXQgY2FuIGVmZmVjdCB0ZXh0IHdyYXBwaW5nLgorICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzphcHBseUFoZW1TdHlsZShAImJlZm9y
ZSA8c3BhbiBjb250ZW50ZWRpdGFibGUgaWQ9J3Rlc3QnIHN0eWxlPSdkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IHdpZHRoOiAyNmVtOyBtYXJnaW46IDIwMHB4IDAgMCAyMDBweDsnPlRoZSBxdWljayBi
cm93biA8c3BhbiBpZD0nZm94X2p1bXBzX292ZXInPmZveCBqdW1wcyBvdmVyPC9zcGFuPiB0aGUg
bGF6eSBkb2cuPC9zcGFuPiBhZnRlciIpXTsgLy8gV29yZCB3cmFwcyAib3ZlciIgb250byBuZXh0
IGxpbmUKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2Vs
ZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChmb3hfanVtcHNfb3ZlciwgMCwgZm94X2p1bXBzX292
ZXIsIDEpIl07CisKKyAgICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1
dENvbnRleHRzID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0
c0luUmVjdDpbd2ViVmlldyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENv
bnRleHRzLmNvdW50KTsKKworICAgIGF1dG8gc2VsZWN0aW9uQm94UmVjdCA9IENHUmVjdEZyb21K
U09ORW5jb2RlZERPTVJlY3RKU1ZhbHVlKFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFT
Y3JpcHQ6QCJmb3hfanVtcHNfb3Zlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b0pTT04oKSJd
KTsKKworICAgIGF1dG8gZG9jdW1lbnRSZWN0ID0gQ0dSZWN0RnJvbUpTT05FbmNvZGVkRE9NUmVj
dEpTVmFsdWUoW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRlc3QuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCkudG9KU09OKCkiXSk7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdp
bi54ID0gKChkb2N1bWVudFJlY3Qub3JpZ2luLnggKyBkb2N1bWVudFJlY3Quc2l6ZS53aWR0aCAr
IHNlbGVjdGlvbkJveFJlY3Qub3JpZ2luLnggKyBzZWxlY3Rpb25Cb3hSZWN0LnNpemUud2lkdGgp
IC8gMikgKyBnbHlwaFdpZHRoOworICAgIGRvY3VtZW50UmVjdC5vcmlnaW4ueSA9ICgoZG9jdW1l
bnRSZWN0Lm9yaWdpbi55ICsgZG9jdW1lbnRSZWN0LnNpemUuaGVpZ2h0ICsgc2VsZWN0aW9uQm94
UmVjdC5vcmlnaW4ueSArIHNlbGVjdGlvbkJveFJlY3Quc2l6ZS5oZWlnaHQpIC8gMikgKyBnbHlw
aFdpZHRoOworICAgIGRvY3VtZW50UmVjdC5zaXplLndpZHRoID0gZ2x5cGhXaWR0aDsKKyAgICBk
b2N1bWVudFJlY3Quc2l6ZS5oZWlnaHQgPSBnbHlwaFdpZHRoOworCisgICAgVUlXS0RvY3VtZW50
Q29udGV4dCAqY29udGV4dCA9IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlSZXF1ZXN0RG9jdW1lbnRD
b250ZXh0Om1ha2VSZXF1ZXN0KFVJV0tEb2N1bWVudFJlcXVlc3RUZXh0IHwgVUlXS0RvY3VtZW50
UmVxdWVzdFNwYXRpYWxBbmRDdXJyZW50U2VsZWN0aW9uLCBVSVRleHRHcmFudWxhcml0eVdvcmQs
IDIwMCwgZG9jdW1lbnRSZWN0LCB0ZXh0SW5wdXRDb250ZXh0c1swXSldOworICAgIEVYUEVDVF9O
U1NUUklOR19FUSgiVGhlIHF1aWNrIGJyb3duICIsIGNvbnRleHQuY29udGV4dEJlZm9yZSk7Cisg
ICAgRVhQRUNUX05TU1RSSU5HX0VRKCJmb3gganVtcHMgb3ZlciIsIGNvbnRleHQuc2VsZWN0ZWRU
ZXh0KTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIiB0aGUgbGF6eSBkb2cuIiwgY29udGV4dC5j
b250ZXh0QWZ0ZXIpOworfQorCitURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFNwYXRpYWxB
bmRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdF9SZWN0QWZ0ZXJJbnB1dFdpdGhTZWxlY3Rpb24pCit7
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA5ODAsIDYwMCldKTsKKworICAgIC8vIFVzZSAicGFk
ZGluZzogMCIgYXMgdGhlIGRlZmF1bHQgdXNlci1hZ2VudCBzdHlsZXNoZWV0IGNhbiBlZmZlY3Qg
dGV4dCB3cmFwcGluZy4KKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6
YXBwbHlBaGVtU3R5bGUoQCJiZWZvcmUgPHNwYW4gY29udGVudGVkaXRhYmxlIGlkPSd0ZXN0JyBz
dHlsZT0nZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMjZlbTsgbWFyZ2luOiAyMDBweCAw
IDAgMjAwcHg7Jz5UaGUgcXVpY2sgYnJvd24gPHNwYW4gaWQ9J2ZveF9qdW1wc19vdmVyJz5mb3gg
anVtcHMgb3Zlcjwvc3Bhbj4gdGhlIGxhenkgZG9nLjwvc3Bhbj4gYWZ0ZXIiKV07IC8vIFdvcmQg
d3JhcHMgIm92ZXIiIG9udG8gbmV4dCBsaW5lCisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZm94X2p1bXBz
X292ZXIsIDAsIGZveF9qdW1wc19vdmVyLCAxKSJdOworCisgICAgTlNBcnJheTxfV0tUZXh0SW5w
dXRDb250ZXh0ICo+ICp0ZXh0SW5wdXRDb250ZXh0cyA9IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlS
ZXF1ZXN0VGV4dElucHV0Q29udGV4dHNJblJlY3Q6W3dlYlZpZXcgZnJhbWVdXTsKKyAgICBFWFBF
Q1RfRVEoMVVMLCB0ZXh0SW5wdXRDb250ZXh0cy5jb3VudCk7CisKKyAgICBhdXRvIGRvY3VtZW50
UmVjdCA9IENHUmVjdEZyb21KU09ORW5jb2RlZERPTVJlY3RKU1ZhbHVlKFt3ZWJWaWV3IG9iamVj
dEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRv
SlNPTigpIl0pOworICAgIGRvY3VtZW50UmVjdC5vcmlnaW4ueCArPSBkb2N1bWVudFJlY3Quc2l6
ZS53aWR0aCArIChnbHlwaFdpZHRoICogMik7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdpbi55ICs9
IGRvY3VtZW50UmVjdC5zaXplLmhlaWdodCArIChnbHlwaFdpZHRoICogMik7CisgICAgZG9jdW1l
bnRSZWN0LnNpemUud2lkdGggPSBnbHlwaFdpZHRoOworICAgIGRvY3VtZW50UmVjdC5zaXplLmhl
aWdodCA9IGdseXBoV2lkdGg7CisKKyAgICBVSVdLRG9jdW1lbnRDb250ZXh0ICpjb250ZXh0ID0g
W3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3REb2N1bWVudENvbnRleHQ6bWFrZVJlcXVlc3Qo
VUlXS0RvY3VtZW50UmVxdWVzdFRleHQgfCBVSVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlhbEFuZEN1
cnJlbnRTZWxlY3Rpb24sIFVJVGV4dEdyYW51bGFyaXR5V29yZCwgMjAwLCBkb2N1bWVudFJlY3Qs
IHRleHRJbnB1dENvbnRleHRzWzBdKV07CisgICAgRVhQRUNUX05TU1RSSU5HX0VRKCJUaGUgcXVp
Y2sgYnJvd24gIiwgY29udGV4dC5jb250ZXh0QmVmb3JlKTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdf
RVEoImZveCBqdW1wcyBvdmVyIiwgY29udGV4dC5zZWxlY3RlZFRleHQpOworICAgIEVYUEVDVF9O
U1NUUklOR19FUSgiIHRoZSBsYXp5IGRvZy4iLCBjb250ZXh0LmNvbnRleHRBZnRlcik7Cit9CisK
IFRFU1QoRG9jdW1lbnRFZGl0aW5nQ29udGV4dCwgUmVxdWVzdFJlY3RzSW5UZXh0QXJlYUFjcm9z
c1dvcmRXcmFwcGVkTGluZSkKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0p
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>