<?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>204103</bug_id>
          
          <creation_ts>2019-11-11 22:27:44 -0800</creation_ts>
          <short_desc>Rename _textSelectionAssistant to _textInteractionAssistant to reflect the only class it can now represent</short_desc>
          <delta_ts>2019-11-12 08:53:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589453</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2019-11-11 22:27:44 -0800</bug_when>
    <thetext>Rename _textSelectionAssistant to _textInteractionAssistant to reflect the only class it can now represent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589454</commentid>
    <comment_count>1</comment_count>
      <attachid>383336</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2019-11-11 22:32:32 -0800</bug_when>
    <thetext>Created attachment 383336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589540</commentid>
    <comment_count>2</comment_count>
      <attachid>383336</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 08:52:05 -0800</bug_when>
    <thetext>Comment on attachment 383336
Patch

Clearing flags on attachment: 383336

Committed r252367: &lt;https://trac.webkit.org/changeset/252367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589541</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 08:52:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589543</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-12 08:53:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/57117605&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383336</attachid>
            <date>2019-11-11 22:32:32 -0800</date>
            <delta_ts>2019-11-12 08:52:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204103-20191111223231.patch</filename>
            <type>text/plain</type>
            <size>22250</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkZmE2ODlhOTZlZTFlNzMx
NWIxMGUyNmJiZDhjZDUxZjYyYTczZjYuLjZmNThhZTYxZTQyZGVkYmY1MGM1NjdiODhlYjgwMWZi
YTRmNDEzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTktMTEtMTEgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgX3RleHRT
ZWxlY3Rpb25Bc3Npc3RhbnQgdG8gX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCB0byByZWZsZWN0
IHRoZSBvbmx5IGNsYXNzIGl0IGNhbiBub3cgcmVwcmVzZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQxMDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgLSByZW5hbWUgb25seS4K
KworICAgICAgICBOb3cgdGhhdCBVSVdLU2VsZWN0aW9uQXNzaXN0YW50IGlzIG5vIGxvbmdlciwg
dGhlIF90ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGNhbiBvbmx5IGJlIGEKKyAgICAgICAgVUlXS1Rl
eHRJbnRlcmFjdGlvbkFzc2lzdGFudC4gVGhlcmUgaXMgZW5vdWdoIGNvbmZ1c2lvbiBhcm91bmQg
YWxsIHRoZSBzZWxlY3Rpb24gYW5kIAorICAgICAgICBpbnRlcmFjdGlvbiBhc3Npc3RhbnRzLCBy
ZW5hbWluZyB0aGlzIHNob3VsZCBhbGxldmlhdGUgc29tZSBvZiB0aGF0IGNvbmZ1c2lvbi4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfZGlkRXhpdFN0YWJsZVN0YXRlXSk6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVh
bnVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBiZWNvbWVGaXJzdFJl
c3BvbmRlckZvcldlYlZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBlbmRFZGl0aW5n
QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNlV2l0aFJlYXNvbjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfc2Nyb2xsaW5nTm9kZVNjcm9sbGluZ1dpbGxCZWdpbl0pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9zY3JvbGxpbmdOb2RlU2Nyb2xsaW5nRGlkRW5kXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgZ2VzdHVyZVJlY29nbml6ZXI6Y2FuQmVQcmV2ZW50ZWRCeUdlc3R1cmVS
ZWNvZ25pemVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGdlc3R1cmVSZWNvZ25pemVy
OnNob3VsZFJlY29nbml6ZVNpbXVsdGFuZW91c2x5V2l0aEdlc3R1cmVSZWNvZ25pemVyOl0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91aVRleHRTZWxlY3Rpb25SZWN0c10pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IHRleHRJbnRlcmFjdGlvbkdlc3R1cmU6c2hvdWxkQmVnaW5BdFBv
aW50Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNldFVwVGV4dFNlbGVjdGlvbkFzc2lz
dGFudF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF93aWxsU3RhcnRTY3JvbGxpbmdPclpv
b21pbmddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkRW5kU2Nyb2xsaW5nT3Jab29t
aW5nXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2xvb2t1cEZvcldlYlZpZXc6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NoYXJlRm9yV2ViVmlldzpdKToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBfYWRkU2hvcnRjdXRGb3JXZWJWaWV3Ol0pOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9wcm9tcHRGb3JSZXBsYWNlRm9yV2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfdHJhbnNsaXRlcmF0ZUNoaW5lc2VGb3JXZWJWaWV3Ol0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHRpbnRDb2xvckRpZENoYW5nZV0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9kaWRIaWRlTWVudTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZWxlY3RG
b3JXZWJWaWV3Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNlbGVjdEFsbEZvcldlYlZp
ZXc6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3dUZXh0U3R5bGVPcHRpb25zRm9y
V2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hvd0RpY3Rpb25hcnk6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW50ZXJhY3Rpb25Bc3Npc3RhbnRdKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBfc2hvd0tleWJvYXJkXSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX2hpZGVLZXlib2FyZF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVD
aGFuZ2VkU2VsZWN0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zdGFydFN1cHBy
ZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50Rm9yUmVhc29uOl0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9zdG9wU3VwcHJlc3NpbmdTZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Jlc3RvcmVDYWxsb3V0QmFySWZOZWVkZWRdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBkcmFnSW50ZXJhY3Rpb246d2lsbEFuaW1hdGVMaWZ0V2l0
aEFuaW1hdG9yOnNlc3Npb246XSk6CisKIDIwMTktMTEtMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgU1BJIHRvIGFjY2VzcyBhIFdl
YnNpdGVEYXRhU3RvcmUgd2l0aG91dCBpbnN0YW50aWF0aW5nIGl0LCBhbmQgaXRzIGNvbmZpZ3Vy
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5k
ZXggZDIzNGNkZGFlYjQ3M2JiMTAzMGFiMGFiMDkzN2Y0MzA5N2NjMjFmMS4uMTcyYjJjM2FiMzEy
MWE0MTExMGEyNWZkZWQ4MGUxOTg4YjE5ZjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTM2NCw3ICszNjQsNyBAQCBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKICAgICBpZiAoIV9uZWVkc0RlZmVycmVkRW5kU2Nyb2xsaW5n
U2VsZWN0aW9uVXBkYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBbX3RleHRTZWxlY3Rpb25B
c3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07CisgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Np
c3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07CiB9CiAKIHN0YXRpYyBXZWJDb3JlOjpGbG9hdEJv
eEV4dGVudCBmbG9hdEJveEV4dGVudChVSUVkZ2VJbnNldHMgaW5zZXRzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmlu
ZGV4IDFhNzg0YTZlYjc3ZTk3ZTg3YjgxODRlMTc1NTYwMzU3OTMxODU0ZWMuLmJkODNjNjQyOGQy
Njg3YjAyMzM1NzI5OGZmZjdmYjY4MGVhZTQ4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTIzOSw3ICsy
MzksNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogICAgIFJldGFpblB0cjxXS01v
dXNlR2VzdHVyZVJlY29nbml6ZXI+IF9tb3VzZUdlc3R1cmVSZWNvZ25pemVyOwogI2VuZGlmCiAK
LSAgICBSZXRhaW5QdHI8VUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudD4gX3RleHRTZWxlY3Rp
b25Bc3Npc3RhbnQ7CisgICAgUmV0YWluUHRyPFVJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQ+
IF90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQ7CiAgICAgT3B0aW9uU2V0PFdlYktpdDo6U3VwcHJl
c3NTZWxlY3Rpb25Bc3Npc3RhbnRSZWFzb24+IF9zdXBwcmVzc1NlbGVjdGlvbkFzc2lzdGFudFJl
YXNvbnM7CiAKICAgICBSZXRhaW5QdHI8VUlUZXh0SW5wdXRUcmFpdHM+IF90cmFpdHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQppbmRleCAxYTA0MjRmNTFiZWQzNDgyYjdjNjE3Yzc3M2U2ZjcxZjg5MjgyMjNlLi4x
MjJmODdhMTdhNTYxMzNjMTk2ZTVhM2YyZDY2ZDI5MzFhNWUxZjBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
QEAgLTg2OCw3ICs4NjgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFzRm9jdXNlZEVsZW1lbnQo
V2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uIGZvY3VzZWRFbAogICAgIGlmICghX2hh
c1NldFVwSW50ZXJhY3Rpb25zKQogICAgICAgICByZXR1cm47CiAKLSAgICBfdGV4dFNlbGVjdGlv
bkFzc2lzdGFudCA9IG5pbDsKKyAgICBfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50ID0gbmlsOwog
ICAgIAogICAgIFtfYWN0aW9uU2hlZXRBc3Npc3RhbnQgY2xlYW51cFNoZWV0XTsKICAgICBfYWN0
aW9uU2hlZXRBc3Npc3RhbnQgPSBuaWw7CkBAIC0xMjkxLDcgKzEyOTEsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaGFzRm9jdXNlZEVsZW1lbnQoV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0
aW9uIGZvY3VzZWRFbAogICAgICAgICBfcGFnZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShXZWJD
b3JlOjpBY3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQpOwogCiAgICAgICAgIGlmIChbc2VsZiBjYW5T
aG93Tm9uRW1wdHlTZWxlY3Rpb25WaWV3XSkKLSAgICAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFz
c2lzdGFudCBhY3RpdmF0ZVNlbGVjdGlvbl07CisgICAgICAgICAgICBbX3RleHRJbnRlcmFjdGlv
bkFzc2lzdGFudCBhY3RpdmF0ZVNlbGVjdGlvbl07CiAKICAgICAgICAgW3NlbGYgX3NjaGVkdWxl
UmVzZXRJbnB1dFZpZXdEZWZlcnJhbEFmdGVyQmVjb21pbmdGaXJzdFJlc3BvbmRlcl07CiAgICAg
fSBlbHNlCkBAIC0xMzI0LDcgKzEzMjQsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBF
bmRFZGl0aW5nUmVhc29uKSB7CiAgICAgfQogCiAgICAgW3NlbGYgX2NhbmNlbEludGVyYWN0aW9u
XTsKLSAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07Cisg
ICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07CiAKICAg
ICBbc2VsZiBfcmVzZXRJbnB1dFZpZXdEZWZlcnJhbF07CiB9CkBAIC0xNzk2LDcgKzE3OTYsNyBA
QCBzdGF0aWMgTlNWYWx1ZSAqbnNTaXplRm9yVGFwSGlnaGxpZ2h0Qm9yZGVyUmFkaXVzKFdlYkNv
cmU6OkludFNpemUgYm9yZGVyUmFkaXVzLAogCiAtICh2b2lkKV9zY3JvbGxpbmdOb2RlU2Nyb2xs
aW5nV2lsbEJlZ2luCiB7Ci0gICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHdpbGxTdGFydFNj
cm9sbGluZ092ZXJmbG93XTsgICAgCisgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgd2ls
bFN0YXJ0U2Nyb2xsaW5nT3ZlcmZsb3ddOwogfQogCiAtICh2b2lkKV9zY3JvbGxpbmdOb2RlU2Ny
b2xsaW5nRGlkRW5kCkBAIC0xODA4LDcgKzE4MDgsNyBAQCBzdGF0aWMgTlNWYWx1ZSAqbnNTaXpl
Rm9yVGFwSGlnaGxpZ2h0Qm9yZGVyUmFkaXVzKFdlYkNvcmU6OkludFNpemUgYm9yZGVyUmFkaXVz
LAogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFtzZWxmIF91cGRhdGVDaGFuZ2VkU2VsZWN0
aW9uXTsKLSAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3ZlcmZs
b3ddOworICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IGRpZEVuZFNjcm9sbGluZ092ZXJm
bG93XTsKIH0KIAogLSAoQk9PTClzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSQpAQCAtMTk0
OCwxNCArMTk0OCwxNCBAQCBzdGF0aWMgQk9PTCBpc0J1aWx0SW5TY3JvbGxWaWV3R2VzdHVyZVJl
Y29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciAqcmVjb2duaXplcgogICAgIC8vIERvbid0IGFs
bG93IHRoZSBoaWdobGlnaHQgdG8gYmUgcHJldmVudGVkIGJ5IGEgc2VsZWN0aW9uIGdlc3R1cmUu
IFByZXNzLWFuZC1ob2xkIG9uIGEgbGluayBzaG91bGQgaGlnaGxpZ2h0IHRoZSBsaW5rLCBub3Qg
c2VsZWN0IGl0LgogICAgIGJvb2wgaXNGb3JjZVByZXNzR2VzdHVyZSA9IE5POwogI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAotICAgIGlzRm9yY2VQcmVzc0dl
c3R1cmUgPSAocHJldmVudGluZ0dlc3R1cmVSZWNvZ25pemVyID09IF90ZXh0U2VsZWN0aW9uQXNz
aXN0YW50LmdldCgpLmZvcmNlUHJlc3NHZXN0dXJlKTsKKyAgICBpc0ZvcmNlUHJlc3NHZXN0dXJl
ID0gKHByZXZlbnRpbmdHZXN0dXJlUmVjb2duaXplciA9PSBfdGV4dEludGVyYWN0aW9uQXNzaXN0
YW50LmdldCgpLmZvcmNlUHJlc3NHZXN0dXJlKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQotICAgIGlmICgocHJldmVudGluZ0dlc3R1cmVSZWNvZ25pemVyID09IF90ZXh0U2Vs
ZWN0aW9uQXNzaXN0YW50LmdldCgpLmxvdXBlR2VzdHVyZSkgJiYgKHByZXZlbnRlZEdlc3R1cmVS
ZWNvZ25pemVyID09IF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciB8fCBwcmV2
ZW50ZWRHZXN0dXJlUmVjb2duaXplciA9PSBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgfHwg
cHJldmVudGVkR2VzdHVyZVJlY29nbml6ZXIgPT0gX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQuZ2V0
KCkuZm9yY2VQcmVzc0dlc3R1cmUpKQorICAgIGlmICgocHJldmVudGluZ0dlc3R1cmVSZWNvZ25p
emVyID09IF90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuZ2V0KCkubG91cGVHZXN0dXJlKSAmJiAo
cHJldmVudGVkR2VzdHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyIHx8IHByZXZlbnRlZEdlc3R1cmVSZWNvZ25pemVyID09IF9sb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciB8fCBwcmV2ZW50ZWRHZXN0dXJlUmVjb2duaXplciA9PSBfdGV4dEludGVy
YWN0aW9uQXNzaXN0YW50LmdldCgpLmZvcmNlUHJlc3NHZXN0dXJlKSkKICAgICAgICAgcmV0dXJu
IFlFUzsKICNlbmRpZgogICAgIAotICAgIGlmICgocHJldmVudGluZ0dlc3R1cmVSZWNvZ25pemVy
ID09IF90ZXh0U2VsZWN0aW9uQXNzaXN0YW50LmdldCgpLmxvdXBlR2VzdHVyZSB8fCBpc0ZvcmNl
UHJlc3NHZXN0dXJlKSAmJiAocHJldmVudGVkR2VzdHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdo
dExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHx8IHByZXZlbnRlZEdlc3R1cmVSZWNvZ25pemVy
ID09IF9sb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcikpCisgICAgaWYgKChwcmV2ZW50aW5nR2Vz
dHVyZVJlY29nbml6ZXIgPT0gX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudC5nZXQoKS5sb3VwZUdl
c3R1cmUgfHwgaXNGb3JjZVByZXNzR2VzdHVyZSkgJiYgKHByZXZlbnRlZEdlc3R1cmVSZWNvZ25p
emVyID09IF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciB8fCBwcmV2ZW50ZWRH
ZXN0dXJlUmVjb2duaXplciA9PSBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIpKQogICAgICAg
ICByZXR1cm4gTk87CiAKICAgICByZXR1cm4gWUVTOwpAQCAtMTk3OCwxOSArMTk3OCwxOSBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lUGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdl
c3R1cmVSZWNvZ25pemVyICpiLCBVSQogCiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTIwMDAwCiAjaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0gICAgaWYgKGlzU2Ft
ZVBhaXIoZ2VzdHVyZVJlY29nbml6ZXIsIG90aGVyR2VzdHVyZVJlY29nbml6ZXIsIF90ZXh0U2Vs
ZWN0aW9uQXNzaXN0YW50LmdldCgpLmxvdXBlR2VzdHVyZSwgX3RleHRTZWxlY3Rpb25Bc3Npc3Rh
bnQuZ2V0KCkuZm9yY2VQcmVzc0dlc3R1cmUpKQorICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVS
ZWNvZ25pemVyLCBvdGhlckdlc3R1cmVSZWNvZ25pemVyLCBfdGV4dEludGVyYWN0aW9uQXNzaXN0
YW50LmdldCgpLmxvdXBlR2VzdHVyZSwgX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudC5nZXQoKS5m
b3JjZVByZXNzR2VzdHVyZSkpCiAgICAgICAgIHJldHVybiBZRVM7CiAKLSAgICBpZiAoaXNTYW1l
UGFpcihnZXN0dXJlUmVjb2duaXplciwgb3RoZXJHZXN0dXJlUmVjb2duaXplciwgX3NpbmdsZVRh
cEdlc3R1cmVSZWNvZ25pemVyLmdldCgpLCBfdGV4dFNlbGVjdGlvbkFzc2lzdGFudC5nZXQoKS5s
b3VwZUdlc3R1cmUpKQorICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhl
ckdlc3R1cmVSZWNvZ25pemVyLCBfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCksIF90
ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuZ2V0KCkubG91cGVHZXN0dXJlKSkKICAgICAgICAgcmV0
dXJuIFlFUzsKIAogICAgIGlmICgoW2dlc3R1cmVSZWNvZ25pemVyIGlzS2luZE9mQ2xhc3M6W19V
SUxvb2t1cEdlc3R1cmVSZWNvZ25pemVyIGNsYXNzXV0gJiYgW290aGVyR2VzdHVyZVJlY29nbml6
ZXIgaXNLaW5kT2ZDbGFzczpbVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciBjbGFzc11dKSB8
fCAoW290aGVyR2VzdHVyZVJlY29nbml6ZXIgaXNLaW5kT2ZDbGFzczpbVUlMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciBjbGFzc11dICYmIFtnZXN0dXJlUmVjb2duaXplciBpc0tpbmRPZkNsYXNz
OltfVUlMb29rdXBHZXN0dXJlUmVjb2duaXplciBjbGFzc11dKSkKICAgICAgICAgcmV0dXJuIFlF
UzsKICNlbmRpZgotICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhlckdl
c3R1cmVSZWNvZ25pemVyLCBfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuZ2V0
KCksIF90ZXh0U2VsZWN0aW9uQXNzaXN0YW50LmdldCgpLmZvcmNlUHJlc3NHZXN0dXJlKSkKKyAg
ICBpZiAoaXNTYW1lUGFpcihnZXN0dXJlUmVjb2duaXplciwgb3RoZXJHZXN0dXJlUmVjb2duaXpl
ciwgX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmdldCgpLCBfdGV4dEludGVy
YWN0aW9uQXNzaXN0YW50LmdldCgpLmZvcmNlUHJlc3NHZXN0dXJlKSkKICAgICAgICAgcmV0dXJu
IFlFUzsKICNlbmRpZgotICAgIGlmIChpc1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhl
ckdlc3R1cmVSZWNvZ25pemVyLCBfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCksIF90
ZXh0U2VsZWN0aW9uQXNzaXN0YW50LmdldCgpLnNpbmdsZVRhcEdlc3R1cmUpKQorICAgIGlmIChp
c1NhbWVQYWlyKGdlc3R1cmVSZWNvZ25pemVyLCBvdGhlckdlc3R1cmVSZWNvZ25pemVyLCBfc2lu
Z2xlVGFwR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCksIF90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQu
Z2V0KCkuc2luZ2xlVGFwR2VzdHVyZSkpCiAgICAgICAgIHJldHVybiBZRVM7CiAKICAgICBpZiAo
aXNTYW1lUGFpcihnZXN0dXJlUmVjb2duaXplciwgb3RoZXJHZXN0dXJlUmVjb2duaXplciwgX3Np
bmdsZVRhcEdlc3R1cmVSZWNvZ25pemVyLmdldCgpLCBfbm9uQmxvY2tpbmdEb3VibGVUYXBHZXN0
dXJlUmVjb2duaXplci5nZXQoKSkpCkBAIC0yMTg1LDggKzIxODUsOCBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNTYW1lUGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNvZ25p
emVyICpiLCBVSQogewogICAgIE5TTXV0YWJsZUFycmF5ICp0ZXh0U2VsZWN0aW9uUmVjdHMgPSBb
TlNNdXRhYmxlQXJyYXkgYXJyYXldOwogCi0gICAgaWYgKF90ZXh0U2VsZWN0aW9uQXNzaXN0YW50
KSB7Ci0gICAgICAgIGZvciAoV0tUZXh0U2VsZWN0aW9uUmVjdCAqc2VsZWN0aW9uUmVjdCBpbiBb
X3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgdmFsdWVGb3JLZXlQYXRoOkAic2VsZWN0aW9uVmlldy5z
ZWxlY3Rpb24uc2VsZWN0aW9uUmVjdHMiXSkKKyAgICBpZiAoX3RleHRJbnRlcmFjdGlvbkFzc2lz
dGFudCkgeworICAgICAgICBmb3IgKFdLVGV4dFNlbGVjdGlvblJlY3QgKnNlbGVjdGlvblJlY3Qg
aW4gW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgdmFsdWVGb3JLZXlQYXRoOkAic2VsZWN0aW9u
Vmlldy5zZWxlY3Rpb24uc2VsZWN0aW9uUmVjdHMiXSkKICAgICAgICAgICAgIFt0ZXh0U2VsZWN0
aW9uUmVjdHMgYWRkT2JqZWN0OltOU1ZhbHVlIHZhbHVlV2l0aENHUmVjdDpzZWxlY3Rpb25SZWN0
LndlYlJlY3QucmVjdF1dOwogICAgIH0KIApAQCAtMjQxNiw3ICsyNDE2LDcgQEAgc3RhdGljIGlu
bGluZSBib29sIGlzU2FtZVBhaXIoVUlHZXN0dXJlUmVjb2duaXplciAqYSwgVUlHZXN0dXJlUmVj
b2duaXplciAqYiwgVUkKICAgICAgICAgICAgIGlmIChfc3VwcHJlc3NOb25FZGl0YWJsZVNpbmds
ZVRhcFRleHRJbnRlcmFjdGlvbkNvdW50ID4gMCkKICAgICAgICAgICAgICAgICByZXR1cm4gTk87
CiAKLSAgICAgICAgICAgIHN3aXRjaCAoW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGxvdXBlR2Vz
dHVyZV0uc3RhdGUpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoW190ZXh0SW50ZXJhY3Rpb25Bc3Np
c3RhbnQgbG91cGVHZXN0dXJlXS5zdGF0ZSkgewogICAgICAgICAgICAgY2FzZSBVSUdlc3R1cmVS
ZWNvZ25pemVyU3RhdGVCZWdhbjoKICAgICAgICAgICAgIGNhc2UgVUlHZXN0dXJlUmVjb2duaXpl
clN0YXRlQ2hhbmdlZDoKICAgICAgICAgICAgIGNhc2UgVUlHZXN0dXJlUmVjb2duaXplclN0YXRl
RW5kZWQ6IHsKQEAgLTI3MzksMTEgKzI3MzksMTEgQEAgc3RhdGljIHZvaWQgY2FuY2VsUG90ZW50
aWFsVGFwSWZOZWNlc3NhcnkoV0tDb250ZW50VmlldyogY29udGVudFZpZXcpCiAKIC0gKHZvaWQp
c2V0VXBUZXh0U2VsZWN0aW9uQXNzaXN0YW50CiB7Ci0gICAgaWYgKCFfdGV4dFNlbGVjdGlvbkFz
c2lzdGFudCkKLSAgICAgICAgX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgPSBhZG9wdE5TKFtbVUlX
S1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBhbGxvY10gaW5pdFdpdGhWaWV3OnNlbGZdKTsKKyAg
ICBpZiAoIV90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQpCisgICAgICAgIF90ZXh0SW50ZXJhY3Rp
b25Bc3Npc3RhbnQgPSBhZG9wdE5TKFtbVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBhbGxv
Y10gaW5pdFdpdGhWaWV3OnNlbGZdKTsKICAgICBlbHNlIHsKICAgICAgICAgLy8gUmVzZXQgdGhl
IGdlc3R1cmUgcmVjb2duaXplcnMgaW4gY2FzZSBlZGl0YWJpbGl0eSBoYXMgY2hhbmdlZC4KLSAg
ICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNldEdlc3R1cmVSZWNvZ25pemVyc107Cisg
ICAgICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHNldEdlc3R1cmVSZWNvZ25pemVyc107
CiAgICAgfQogfQogCkBAIC0yNzc3LDEwICsyNzc3LDEwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbFBv
dGVudGlhbFRhcElmTmVjZXNzYXJ5KFdLQ29udGVudFZpZXcqIGNvbnRlbnRWaWV3KQogCiAtICh2
b2lkKV93aWxsU3RhcnRTY3JvbGxpbmdPclpvb21pbmcKIHsKLSAgICBpZiAoW190ZXh0U2VsZWN0
aW9uQXNzaXN0YW50IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2lsbFN0YXJ0U2Nyb2xs
aW5nT3Jab29taW5nKV0pCi0gICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCB3aWxsU3Rh
cnRTY3JvbGxpbmdPclpvb21pbmddOworICAgIGlmIChbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFu
dCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdpbGxTdGFydFNjcm9sbGluZ09yWm9vbWlu
ZyldKQorICAgICAgICBbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCB3aWxsU3RhcnRTY3JvbGxp
bmdPclpvb21pbmddOwogICAgIGVsc2UKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50
IHdpbGxTdGFydFNjcm9sbGluZ092ZXJmbG93XTsKKyAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25B
c3Npc3RhbnQgd2lsbFN0YXJ0U2Nyb2xsaW5nT3ZlcmZsb3ddOwogICAgIF9wYWdlLT5zZXRJc1Nj
cm9sbGluZ09yWm9vbWluZyh0cnVlKTsKIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCkBAIC0yODAw
LDEwICsyODAwLDEwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbFBvdGVudGlhbFRhcElmTmVjZXNzYXJ5
KFdLQ29udGVudFZpZXcqIGNvbnRlbnRWaWV3KQogLSAodm9pZClfZGlkRW5kU2Nyb2xsaW5nT3Ja
b29taW5nCiB7CiAgICAgaWYgKCFfbmVlZHNEZWZlcnJlZEVuZFNjcm9sbGluZ1NlbGVjdGlvblVw
ZGF0ZSkgewotICAgICAgICBpZiAoW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5nKV0pCi0gICAgICAgICAg
ICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5nXTsKKyAg
ICAgICAgaWYgKFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5nKV0pCisgICAgICAgICAgICBbX3RleHRJ
bnRlcmFjdGlvbkFzc2lzdGFudCBkaWRFbmRTY3JvbGxpbmdPclpvb21pbmddOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5n
T3ZlcmZsb3ddOworICAgICAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGlkRW5k
U2Nyb2xsaW5nT3ZlcmZsb3ddOwogICAgIH0KICAgICBfcGFnZS0+c2V0SXNTY3JvbGxpbmdPclpv
b21pbmcoZmFsc2UpOwogCkBAIC0yOTMwLDcgKzI5MzAsNyBAQCBGT1JfRUFDSF9QUklWQVRFX1dL
Q09OVEVOVFZJRVdfQUNUSU9OKEZPUldBUkRfQUNUSU9OX1RPX1dLV0VCVklFVykKICAgICAgICAg
U3RyaW5nIHNlbGVjdGlvbkNvbnRleHQgPSB0ZXh0QmVmb3JlICsgc2VsZWN0ZWRUZXh0ICsgdGV4
dEFmdGVyOwogICAgICAgICBOU1JhbmdlIHNlbGVjdGVkUmFuZ2VJbkNvbnRleHQgPSBOU01ha2VS
YW5nZSh0ZXh0QmVmb3JlLmxlbmd0aCgpLCBzZWxlY3RlZFRleHQubGVuZ3RoKCkpOwogCi0gICAg
ICAgIGlmIChhdXRvIHRleHRTZWxlY3Rpb25Bc3Npc3RhbnQgPSB2aWV3LT5fdGV4dFNlbGVjdGlv
bkFzc2lzdGFudCkKKyAgICAgICAgaWYgKGF1dG8gdGV4dFNlbGVjdGlvbkFzc2lzdGFudCA9IHZp
ZXctPl90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQpCiAgICAgICAgICAgICBbdGV4dFNlbGVjdGlv
bkFzc2lzdGFudCBsb29rdXA6c2VsZWN0aW9uQ29udGV4dCB3aXRoUmFuZ2U6c2VsZWN0ZWRSYW5n
ZUluQ29udGV4dCBmcm9tUmVjdDpwcmVzZW50YXRpb25SZWN0XTsKICAgICB9KTsKIH0KQEAgLTI5
NDIsMjEgKzI5NDIsMjEgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihG
T1JXQVJEX0FDVElPTl9UT19XS1dFQlZJRVcpCiAgICAgICAgIGlmIChlcnJvciAhPSBXZWJLaXQ6
OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgaWYgKCF2aWV3LT5fdGV4dFNlbGVjdGlvbkFzc2lzdGFudCB8fCAhc3RyaW5nIHx8IHZpZXct
Pl9wYWdlLT5lZGl0b3JTdGF0ZSgpLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKQorICAgICAgICBp
ZiAoIXZpZXctPl90ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgfHwgIXN0cmluZyB8fCB2aWV3LT5f
cGFnZS0+ZWRpdG9yU3RhdGUoKS5pc01pc3NpbmdQb3N0TGF5b3V0RGF0YSkKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICBhdXRvJiBzZWxlY3Rpb25SZWN0cyA9IHZpZXctPl9wYWdlLT5l
ZGl0b3JTdGF0ZSgpLnBvc3RMYXlvdXREYXRhKCkuc2VsZWN0aW9uUmVjdHM7CiAgICAgICAgIGlm
IChzZWxlY3Rpb25SZWN0cy5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgW3ZpZXctPl90ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNob3dTaGFyZVNoZWV0Rm9yOnN0cmlu
ZyBmcm9tUmVjdDpzZWxlY3Rpb25SZWN0cy5maXJzdCgpLnJlY3QoKV07CisgICAgICAgIFt2aWV3
LT5fdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHNob3dTaGFyZVNoZWV0Rm9yOnN0cmluZyBmcm9t
UmVjdDpzZWxlY3Rpb25SZWN0cy5maXJzdCgpLnJlY3QoKV07CiAgICAgfSk7CiB9CiAKIC0gKHZv
aWQpX2FkZFNob3J0Y3V0Rm9yV2ViVmlldzooaWQpc2VuZGVyCiB7Ci0gICAgaWYgKF90ZXh0U2Vs
ZWN0aW9uQXNzaXN0YW50KQotICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgc2hvd1Rl
eHRTZXJ2aWNlRm9yOltzZWxmIHNlbGVjdGVkVGV4dF0gZnJvbVJlY3Q6X3BhZ2UtPmVkaXRvclN0
YXRlKCkucG9zdExheW91dERhdGEoKS5zZWxlY3Rpb25SZWN0c1swXS5yZWN0KCldOworICAgIGlm
IChfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50KQorICAgICAgICBbX3RleHRJbnRlcmFjdGlvbkFz
c2lzdGFudCBzaG93VGV4dFNlcnZpY2VGb3I6W3NlbGYgc2VsZWN0ZWRUZXh0XSBmcm9tUmVjdDpf
cGFnZS0+ZWRpdG9yU3RhdGUoKS5wb3N0TGF5b3V0RGF0YSgpLnNlbGVjdGlvblJlY3RzWzBdLnJl
Y3QoKV07CiB9CiAKIC0gKE5TU3RyaW5nICopc2VsZWN0ZWRUZXh0CkBAIC0zMDAyLDEyICszMDAy
LDEyIEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oRk9SV0FSRF9BQ1RJ
T05fVE9fV0tXRUJWSUVXKQogICAgIGlmICh3b3JkQXRTZWxlY3Rpb24uaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgc2NoZWR1bGVSZXBs
YWNlbWVudHNGb3JUZXh0OndvcmRBdFNlbGVjdGlvbl07CisgICAgW190ZXh0SW50ZXJhY3Rpb25B
c3Npc3RhbnQgc2NoZWR1bGVSZXBsYWNlbWVudHNGb3JUZXh0OndvcmRBdFNlbGVjdGlvbl07CiB9
CiAKIC0gKHZvaWQpX3RyYW5zbGl0ZXJhdGVDaGluZXNlRm9yV2ViVmlldzooaWQpc2VuZGVyCiB7
Ci0gICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNjaGVkdWxlQ2hpbmVzZVRyYW5zbGl0ZXJh
dGlvbkZvclRleHQ6X3BhZ2UtPmVkaXRvclN0YXRlKCkucG9zdExheW91dERhdGEoKS53b3JkQXRT
ZWxlY3Rpb25dOworICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHNjaGVkdWxlQ2hpbmVz
ZVRyYW5zbGl0ZXJhdGlvbkZvclRleHQ6X3BhZ2UtPmVkaXRvclN0YXRlKCkucG9zdExheW91dERh
dGEoKS53b3JkQXRTZWxlY3Rpb25dOwogfQogCiAtICh2b2lkKXJlcGxhY2VGb3JXZWJWaWV3Oihp
ZClzZW5kZXIKQEAgLTMxNTksMTAgKzMxNTksMTAgQEAgV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJW
SUVXKHBhc3RlQW5kTWF0Y2hTdHlsZSk7CiAKICAgICBCT09MIHNob3VsZFVwZGF0ZVRleHRTZWxl
Y3Rpb24gPSBzZWxmLmlzRmlyc3RSZXNwb25kZXIgJiYgW3NlbGYgY2FuU2hvd05vbkVtcHR5U2Vs
ZWN0aW9uVmlld107CiAgICAgaWYgKHNob3VsZFVwZGF0ZVRleHRTZWxlY3Rpb24pCi0gICAgICAg
IFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBkZWFjdGl2YXRlU2VsZWN0aW9uXTsKKyAgICAgICAg
W190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07CiAgICAgW3Nl
bGYgX3VwZGF0ZUludGVyYWN0aW9uVGludENvbG9yXTsKICAgICBpZiAoc2hvdWxkVXBkYXRlVGV4
dFNlbGVjdGlvbikKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2Vs
ZWN0aW9uXTsKKyAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxl
Y3Rpb25dOwogfQogCiAtIChCT09MKWNhblBlcmZvcm1BY3Rpb246KFNFTClhY3Rpb24gd2l0aFNl
bmRlcjooaWQpc2VuZGVyCkBAIC0zMzgzLDcgKzMzODMsNyBAQCBXRUJDT1JFX0NPTU1BTkRfRk9S
X1dFQlZJRVcocGFzdGVBbmRNYXRjaFN0eWxlKTsKIC0gKHZvaWQpX2RpZEhpZGVNZW51OihOU05v
dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewogICAgIF9zaG93aW5nVGV4dFN0eWxlT3B0aW9u
cyA9IE5POwotICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBoaWRlVGV4dFN0eWxlT3B0aW9u
c107CisgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgaGlkZVRleHRTdHlsZU9wdGlvbnNd
OwogfQogCiAtICh2b2lkKV9rZXlib2FyZERpZFJlcXVlc3REaXNtaXNzYWw6KE5TTm90aWZpY2F0
aW9uICopbm90aWZpY2F0aW9uCkBAIC0zNDE4LDE0ICszNDE4LDE0IEBAIFdFQkNPUkVfQ09NTUFO
RF9GT1JfV0VCVklFVyhwYXN0ZUFuZE1hdGNoU3R5bGUpOwogCiAtICh2b2lkKXNlbGVjdEZvcldl
YlZpZXc6KGlkKXNlbmRlcgogewotICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBzZWxlY3RX
b3JkXTsKKyAgICBbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBzZWxlY3RXb3JkXTsKICAgICAv
LyBXZSBjYW5ub3QgdXNlIHNlbGVjdFdvcmQgY29tbWFuZCwgYmVjYXVzZSB3ZSB3YW50IHRvIGJl
IGFibGUgdG8gc2VsZWN0IHRoZSB3b3JkIGV2ZW4gd2hlbiBpdCBpcyB0aGUgbGFzdCBpbiB0aGUg
cGFyYWdyYXBoLgogICAgIF9wYWdlLT5leHRlbmRTZWxlY3Rpb24oV2ViQ29yZTo6V29yZEdyYW51
bGFyaXR5KTsKIH0KIAogLSAodm9pZClzZWxlY3RBbGxGb3JXZWJWaWV3OihpZClzZW5kZXIKIHsK
LSAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgc2VsZWN0QWxsOnNlbmRlcl07CisgICAgW190
ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgc2VsZWN0QWxsOnNlbmRlcl07CiAgICAgX3BhZ2UtPnNl
bGVjdEFsbCgpOwogfQogCkBAIC0zNDcyLDE0ICszNDcyLDE0IEBAIFdFQkNPUkVfQ09NTUFORF9G
T1JfV0VCVklFVyhwYXN0ZUFuZE1hdGNoU3R5bGUpOwogLSAodm9pZClfc2hvd1RleHRTdHlsZU9w
dGlvbnNGb3JXZWJWaWV3OihpZClzZW5kZXIKIHsKICAgICBfc2hvd2luZ1RleHRTdHlsZU9wdGlv
bnMgPSBZRVM7Ci0gICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNob3dUZXh0U3R5bGVPcHRp
b25zXTsKKyAgICBbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBzaG93VGV4dFN0eWxlT3B0aW9u
c107CiB9CiAKIC0gKHZvaWQpX3Nob3dEaWN0aW9uYXJ5OihOU1N0cmluZyAqKXRleHQKIHsKICAg
ICBDR1JlY3QgcHJlc2VudGF0aW9uUmVjdCA9IF9wYWdlLT5lZGl0b3JTdGF0ZSgpLnBvc3RMYXlv
dXREYXRhKCkuc2VsZWN0aW9uUmVjdHNbMF0ucmVjdCgpOwotICAgIGlmIChfdGV4dFNlbGVjdGlv
bkFzc2lzdGFudCkKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNob3dEaWN0aW9u
YXJ5Rm9yOnRleHQgZnJvbVJlY3Q6cHJlc2VudGF0aW9uUmVjdF07CisgICAgaWYgKF90ZXh0SW50
ZXJhY3Rpb25Bc3Npc3RhbnQpCisgICAgICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHNo
b3dEaWN0aW9uYXJ5Rm9yOnRleHQgZnJvbVJlY3Q6cHJlc2VudGF0aW9uUmVjdF07CiB9CiAKIC0g
KHZvaWQpX2RlZmluZUZvcldlYlZpZXc6KGlkKXNlbmRlcgpAQCAtNDgxOCw3ICs0ODE4LDcgQEAg
c3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0b2Zp
bGxGaWVsZE5hbWUgZmllbGROYW1lKQogCiAtIChVSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudCAq
KWludGVyYWN0aW9uQXNzaXN0YW50CiB7Ci0gICAgcmV0dXJuIF90ZXh0U2VsZWN0aW9uQXNzaXN0
YW50LmdldCgpOworICAgIHJldHVybiBfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50LmdldCgpOwog
fQogCiAtIChpZDxVSVNlbGVjdGlvbkludGVyYWN0aW9uQXNzaXN0YW50PilzZWxlY3Rpb25JbnRl
cmFjdGlvbkFzc2lzdGFudApAQCAtNTM1MSw3ICs1MzUxLDcgQEAgc3RhdGljIE5TU3RyaW5nICpj
b250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGRO
YW1lKQogICAgIFtzZWxmIHNldFVwVGV4dFNlbGVjdGlvbkFzc2lzdGFudF07CiAgICAgCiAgICAg
aWYgKHNlbGYuaXNGaXJzdFJlc3BvbmRlciAmJiAhX3N1cHByZXNzU2VsZWN0aW9uQXNzaXN0YW50
UmVhc29ucykKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0
aW9uXTsKKyAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rp
b25dOwogCiAjaWYgIVBMQVRGT1JNKFdBVENIT1MpCiAgICAgW3NlbGYgcmVsb2FkSW5wdXRWaWV3
c107CkBAIC01MzYzLDcgKzUzNjMsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKmNvbnRlbnRUeXBlRnJv
bUZpZWxkTmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBmaWVsZE5hbWUpCiAgICAgc2Vs
Zi5pbnB1dERlbGVnYXRlID0gbmlsOwogICAgIFtzZWxmIHNldFVwVGV4dFNlbGVjdGlvbkFzc2lz
dGFudF07CiAgICAgCi0gICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGRlYWN0aXZhdGVTZWxl
Y3Rpb25dOworICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IGRlYWN0aXZhdGVTZWxlY3Rp
b25dOwogICAgIFtfZm9ybUFjY2Vzc29yeVZpZXcgaGlkZUF1dG9GaWxsQnV0dG9uXTsKIAogICAg
IC8vIEZJWE1FOiBEb2VzIGl0IG1ha2Ugc2Vuc2UgdG8gY2FsbCAtcmVsb2FkSW5wdXRWaWV3cyBv
biB3YXRjaE9TPwpAQCAtNjIzMywxNCArNjIzMywxNCBAQCBzdGF0aWMgQk9PTCBhbGxQYXN0ZWJv
YXJkSXRlbU9yaWdpbnNNYXRjaE9yaWdpbihVSVBhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIGNvbnN0
CiAgICAgICAgIF9sYXN0U2VsZWN0aW9uRHJhd2luZ0luZm8gPSBzZWxlY3Rpb25EcmF3aW5nSW5m
bzsKIAogICAgICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgdG8gZG8g
aWYgdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2VkIGJ5IEphdmFzY3JpcHQuCi0gICAgICAgIGlmIChf
dGV4dFNlbGVjdGlvbkFzc2lzdGFudCkgeworICAgICAgICBpZiAoX3RleHRJbnRlcmFjdGlvbkFz
c2lzdGFudCkgewogICAgICAgICAgICAgX21hcmtlZFRleHQgPSAoX3BhZ2UtPmVkaXRvclN0YXRl
KCkuaGFzQ29tcG9zaXRpb24pID8gX3BhZ2UtPmVkaXRvclN0YXRlKCkubWFya2VkVGV4dCA6IFN0
cmluZygpOwotICAgICAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNlbGVjdGlvbkNo
YW5nZWRdOworICAgICAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgc2VsZWN0aW9u
Q2hhbmdlZF07CiAgICAgICAgIH0KIAogICAgICAgICBfc2VsZWN0aW9uTmVlZHNVcGRhdGUgPSBO
TzsKICAgICAgICAgaWYgKF9zaG91bGRSZXN0b3JlU2VsZWN0aW9uKSB7Ci0gICAgICAgICAgICBb
X3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3ZlcmZsb3ddOworICAgICAg
ICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3ZlcmZsb3dd
OwogICAgICAgICAgICAgX3Nob3VsZFJlc3RvcmVTZWxlY3Rpb24gPSBOTzsKICAgICAgICAgfQog
ICAgIH0KQEAgLTYyNDksOSArNjI0OSw5IEBAIHN0YXRpYyBCT09MIGFsbFBhc3RlYm9hcmRJdGVt
T3JpZ2luc01hdGNoT3JpZ2luKFVJUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgY29uc3QKICAgICAg
ICAgW1tzZWxmIHNlbGVjdGlvbkludGVyYWN0aW9uQXNzaXN0YW50XSBzaG93U2VsZWN0aW9uQ29t
bWFuZHNdOwogCiAgICAgICAgIGlmICghX3N1cHByZXNzU2VsZWN0aW9uQXNzaXN0YW50UmVhc29u
cykKLSAgICAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhY3RpdmF0ZVNlbGVjdGlv
bl07CisgICAgICAgICAgICBbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBhY3RpdmF0ZVNlbGVj
dGlvbl07CiAKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGRpZEVuZFNjcm9sbGlu
Z092ZXJmbG93XTsKKyAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Ny
b2xsaW5nT3ZlcmZsb3ddOwogCiAgICAgICAgIF9uZWVkc0RlZmVycmVkRW5kU2Nyb2xsaW5nU2Vs
ZWN0aW9uVXBkYXRlID0gTk87CiAgICAgfQpAQCAtNjI3OSw3ICs2Mjc5LDcgQEAgc3RhdGljIEJP
T0wgYWxsUGFzdGVib2FyZEl0ZW1PcmlnaW5zTWF0Y2hPcmlnaW4oVUlQYXN0ZWJvYXJkICpwYXN0
ZWJvYXJkLCBjb25zdAogICAgIF9zdXBwcmVzc1NlbGVjdGlvbkFzc2lzdGFudFJlYXNvbnMuYWRk
KHJlYXNvbik7CiAKICAgICBpZiAoIXdhc1N1cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50KQot
ICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07Cisg
ICAgICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IGRlYWN0aXZhdGVTZWxlY3Rpb25dOwog
fQogCiAtICh2b2lkKV9zdG9wU3VwcHJlc3NpbmdTZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246
KFdlYktpdDo6U3VwcHJlc3NTZWxlY3Rpb25Bc3Npc3RhbnRSZWFzb24pcmVhc29uCkBAIC02Mjg4
LDcgKzYyODgsNyBAQCBzdGF0aWMgQk9PTCBhbGxQYXN0ZWJvYXJkSXRlbU9yaWdpbnNNYXRjaE9y
aWdpbihVSVBhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIGNvbnN0CiAgICAgX3N1cHByZXNzU2VsZWN0
aW9uQXNzaXN0YW50UmVhc29ucy5yZW1vdmUocmVhc29uKTsKIAogICAgIGlmICh3YXNTdXBwcmVz
c2luZ1NlbGVjdGlvbkFzc2lzdGFudCAmJiAhX3N1cHByZXNzU2VsZWN0aW9uQXNzaXN0YW50UmVh
c29ucykKLSAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9u
XTsKKyAgICAgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rpb25d
OwogfQogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCkBAIC03MDQxLDcgKzcwNDEsNyBA
QCBzdGF0aWMgTlNBcnJheTxOU0l0ZW1Qcm92aWRlciAqPiAqZXh0cmFjdEl0ZW1Qcm92aWRlcnNG
cm9tRHJvcFNlc3Npb24oaWQgPFVJRHJvcAogICAgICAgICByZXR1cm47CiAKICAgICAvLyBGSVhN
RTogVGhpcyBTUEkgc2hvdWxkIGJlIHJlbmFtZWQgaW4gVUlLaXQgdG8gcmVmbGVjdCBhIG1vcmUg
Z2VuZXJhbCBwdXJwb3NlIG9mIHJldmVhbGluZyBoaWRkZW4gaW50ZXJhY3Rpb24gYXNzaXN0YW50
IGNvbnRyb2xzLgotICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBkaWRFbmRTY3JvbGxpbmdP
dmVyZmxvd107CisgICAgW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5n
T3ZlcmZsb3ddOwogICAgIF9zaG91bGRSZXN0b3JlQ2FsbG91dEJhckFmdGVyRHJvcCA9IE5POwog
fQogCkBAIC03MzQ2LDcgKzczNDYsNyBAQCBzdGF0aWMgVmVjdG9yPFdlYkNvcmU6OkludFNpemU+
IHNpemVzT2ZQbGFjZWhvbGRlckVsZW1lbnRzVG9JbnNlcnRXaGVuRHJvcHBpbmdJdAogICAgIFJF
TEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBzZXNzaW9uIHdpbGxBbmltYXRlTGlmdFdpdGhB
bmltYXRvcjogJXAiLCBzZXNzaW9uKTsKICAgICBpZiAoIV9zaG91bGRSZXN0b3JlQ2FsbG91dEJh
ckFmdGVyRHJvcCAmJiBfZHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmFueUFjdGl2ZURyYWdTb3Vy
Y2VJcyhXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uKSkgewogICAgICAgICAvLyBG
SVhNRTogVGhpcyBTUEkgc2hvdWxkIGJlIHJlbmFtZWQgaW4gVUlLaXQgdG8gcmVmbGVjdCBhIG1v
cmUgZ2VuZXJhbCBwdXJwb3NlIG9mIGhpZGluZyBpbnRlcmFjdGlvbiBhc3Npc3RhbnQgY29udHJv
bHMuCi0gICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCB3aWxsU3RhcnRTY3JvbGxpbmdP
dmVyZmxvd107CisgICAgICAgIFtfdGV4dEludGVyYWN0aW9uQXNzaXN0YW50IHdpbGxTdGFydFNj
cm9sbGluZ092ZXJmbG93XTsKICAgICAgICAgX3Nob3VsZFJlc3RvcmVDYWxsb3V0QmFyQWZ0ZXJE
cm9wID0gWUVTOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>