<?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>131079</bug_id>
          
          <creation_ts>2014-04-01 16:44:07 -0700</creation_ts>
          <short_desc>Move focus management API from HTMLDocument to Document</short_desc>
          <delta_ts>2014-04-02 14:40:57 -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>WebCore Misc.</component>
          <version>528+ (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>BlinkMergeCandidate, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>996515</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-01 16:44:07 -0700</bug_when>
    <thetext>We should move hasFocus() and attribute activeElement from interface HTMLDocument to DOMDocument as per section Focus management APIs of the HTML5 standard: &lt;http://www.whatwg.org/specs/web-apps/current-work/#focus-management-apis&gt; (1 April 2014). Then hasFocus() and attribute activeElement can be used within an XML document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996516</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-01 16:44:18 -0700</bug_when>
    <thetext>&lt;https://code.google.com/p/chromium/issues/detail?id=335788&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996517</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-01 16:44:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/16220103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996527</commentid>
    <comment_count>3</comment_count>
      <attachid>228339</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-01 16:54:51 -0700</bug_when>
    <thetext>Created attachment 228339
Patch and layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996531</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-01 16:57:38 -0700</bug_when>
    <thetext>Please wait for approval from timothy@apple.com (or another member of the Apple Safari Team) before submitting because this patch contains changes to the Apple Mac WebKit.framework public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996534</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-01 16:59:36 -0700</bug_when>
    <thetext>I used the patch for &lt;https://bugs.webkit.org/show_bug.cgi?id=67651&gt; as example of moving a versioned public API from derived interface to its base interface. Let me know if we should handle this differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996864</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-02 14:40:57 -0700</bug_when>
    <thetext>Committed r166668: &lt;http://trac.webkit.org/changeset/166668&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228339</attachid>
            <date>2014-04-01 16:54:51 -0700</date>
            <delta_ts>2014-04-02 11:37:09 -0700</delta_ts>
            <desc>Patch and layout test</desc>
            <filename>bug-131079-20140401165431.patch</filename>
            <type>text/plain</type>
            <size>16324</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU0YzE2NjYyNTdhOTlj
MjkwZDY2YzhiYjEzOTBjOTAzOWIwYmVhNy4uYjE2NjBjYzY4ZTc4NTc0MzhiNzkwM2VkNDhkYjM3
OTU5NGVhZDExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE0LTA0LTAxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBNb3ZlIGZvY3VzIG1hbmFn
ZW1lbnQgQVBJIGZyb20gSFRNTERvY3VtZW50IHRvIERvY3VtZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEwNzkKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzE2MjIwMTAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1lcmdlZCBmcm9tIEJsaW5rIChwYXRjaCBieSBDaHJpc3RvcGhlIER1bWV6KToK
KyAgICAgICAgaHR0cHM6Ly9zcmMuY2hyb21pdW0ub3JnL3ZpZXd2Yy9ibGluaz92aWV3PXJldiZy
ZXZpc2lvbj0xNjU1MTUKKworICAgICAgICBNb3ZlIGhhc0ZvY3VzKCkgYW5kIGF0dHJpYnV0ZSBh
Y3RpdmVFbGVtZW50IGZyb20gaW50ZXJmYWNlIEhUTUxEb2N1bWVudAorICAgICAgICB0byBET01E
b2N1bWVudCBhcyBwZXIgc2VjdGlvbiBGb2N1cyBtYW5hZ2VtZW50IEFQSXMgb2YgdGhlIEhUTUw1
IHN0YW5kYXJkOgorICAgICAgICA8aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBz
L2N1cnJlbnQtd29yay8jZm9jdXMtbWFuYWdlbWVudC1hcGlzPiAoMSBBcHJpbCAyMDE0KS4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC94bWwtZG9jdW1lbnQtZm9jdXMueG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaDogTW92ZWQgaGFz
Rm9jdXMoKSBhbmQgcHJvcGVydHkgYWN0aXZlRWxlbWVudCBmcm9tCisgICAgICAgIGludGVyZmFj
ZSBET01IVE1MRG9jdW1lbnQgdG8gRE9NRG9jdW1lbnQuCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphY3RpdmVFbGVtZW50KTogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aGFzRm9jdXMpOiBBZGRlZC4KKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTERvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6
YWN0aXZlRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6
Omhhc0ZvY3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5oOgorICAg
ICAgICAqIGh0bWwvSFRNTERvY3VtZW50LmlkbDoKKworMjAxNC0wNC0wMSAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKICAgICAgICAgUmVuZGVyUXVvdGUgbXVzdCBkZXN0cm95
IHJlbWFpbmluZyB0ZXh0IHJlbmRlcmVyIGJlZm9yZSBmaXJzdCBsZXR0ZXIgcmVuZGVyZXIKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDIzCiAgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDgzMDAwOT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmgKaW5kZXggZWNmNmVlMmQwODNmNWQ5Nzkw
YTRkZjZkNGFiY2MwZjZkNGYwYzJmZi4uYzY5OWQ2ZWVlZGVkMzdhYmNhYmFmMTg4ODZjMzg2ODAz
M2VjNjRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNE
T01JbnRlcmZhY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNE
T01JbnRlcmZhY2VzLmgKQEAgLTEwNyw2ICsxMDcsNyBAQAogQHByb3BlcnR5IChyZWFkb25seSwg
Y29weSkgTlNTdHJpbmcgKnByZWZlcnJlZFN0eWxlc2hlZXRTZXQgV0VCS0lUX0FWQUlMQUJMRV9N
QUMoMTBfNSk7CiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpzZWxlY3RlZFN0eWxlc2hlZXRT
ZXQgV0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNSk7CiBAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5
KSBOU1N0cmluZyAqbGFzdE1vZGlmaWVkIFdFQktJVF9BVkFJTEFCTEVfTUFDKDEwXzYpOworQHBy
b3BlcnR5IChyZWFkb25seSwgc3Ryb25nKSBET01FbGVtZW50ICphY3RpdmVFbGVtZW50IFdFQktJ
VF9BVkFJTEFCTEVfTUFDKDEwXzYpOwogLSAoRE9NRWxlbWVudCAqKWNyZWF0ZUVsZW1lbnQ6KE5T
U3RyaW5nICopdGFnTmFtZTsKIC0gKERPTURvY3VtZW50RnJhZ21lbnQgKiljcmVhdGVEb2N1bWVu
dEZyYWdtZW50OwogLSAoRE9NVGV4dCAqKWNyZWF0ZVRleHROb2RlOihOU1N0cmluZyAqKWRhdGE7
CkBAIC0xNjEsNiArMTYyLDcgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JiYgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJCiAtICh2b2lkKXdlYmtpdENhbmNlbEZ1bGxTY3JlZW4g
V0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNik7CiAjZW5kaWYKKy0gKEJPT0wpaGFzRm9jdXMgV0VC
S0lUX0FWQUlMQUJMRV9NQUMoMTBfNik7CiBAZW5kCiAKIEBpbnRlcmZhY2UgRE9NRG9jdW1lbnRG
cmFnbWVudCA6IERPTU5vZGUgMTBfNApAQCAtNDU4LDEyICs0NjAsMTAgQEAKIEBwcm9wZXJ0eSAo
Y29weSkgTlNTdHJpbmcgKmFsaW5rQ29sb3IgV0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNSk7CiBA
cHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpsaW5rQ29sb3IgV0VCS0lUX0FWQUlMQUJMRV9NQUMo
MTBfNSk7CiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICp2bGlua0NvbG9yIFdFQktJVF9BVkFJ
TEFCTEVfTUFDKDEwXzUpOwotQHByb3BlcnR5IChyZWFkb25seSwgc3Ryb25nKSBET01FbGVtZW50
ICphY3RpdmVFbGVtZW50IFdFQktJVF9BVkFJTEFCTEVfTUFDKDEwXzYpOwogQHByb3BlcnR5IChy
ZWFkb25seSwgY29weSkgTlNTdHJpbmcgKmNvbXBhdE1vZGUgV0VCS0lUX0FWQUlMQUJMRV9NQUMo
MTBfNik7CiAtICh2b2lkKWNhcHR1cmVFdmVudHMgV0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNSk7
CiAtICh2b2lkKXJlbGVhc2VFdmVudHMgV0VCS0lUX0FWQUlMQUJMRV9NQUMoMTBfNSk7CiAtICh2
b2lkKWNsZWFyIFdFQktJVF9BVkFJTEFCTEVfTUFDKDEwXzYpOwotLSAoQk9PTCloYXNGb2N1cyBX
RUJLSVRfQVZBSUxBQkxFX01BQygxMF82KTsKIC0gKHZvaWQpb3BlbjsKIC0gKHZvaWQpY2xvc2U7
CiAtICh2b2lkKXdyaXRlOihOU1N0cmluZyAqKXRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCA5OTMzM2UzOGE0Y2JlNWYwMTIwZjY4NWU3YWQ0NmEwNmIyZmY1M2JhLi4zYThhOTI5NTQ3
MjM0N2ExM2ZmZDAwNzE5NzY1OTMxNjZiYjEwYWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
QEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJFbnRpdHlSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJFdmVudEZhY3RvcnkuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNpbmNsdWRlICJG
b2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGb250TG9hZGVyLmgiCiAjaW5jbHVkZSAiRm9y
bUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgpAQCAtNjA4Miw0ICs2MDgz
LDI0IEBAIGJvb2wgRG9jdW1lbnQ6OnVwZGF0ZVN0eWxlSWZOZWVkZWRGb3JOb2RlKGNvbnN0IE5v
ZGUmIG5vZGUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK0VsZW1lbnQqIERvY3VtZW50OjphY3Rp
dmVFbGVtZW50KCkKK3sKKyAgICB1cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgaWYgKEVsZW1l
bnQqIGVsZW1lbnQgPSB0cmVlU2NvcGUoKS5mb2N1c2VkRWxlbWVudCgpKQorICAgICAgICByZXR1
cm4gZWxlbWVudDsKKyAgICByZXR1cm4gYm9keSgpOworfQorCitib29sIERvY3VtZW50OjpoYXNG
b2N1cygpIGNvbnN0Cit7CisgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyAgICBpZiAo
IXBhZ2UgfHwgIXBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmlzQWN0aXZlKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoRnJhbWUqIGZvY3VzZWRGcmFtZSA9IHBhZ2UtPmZvY3VzQ29u
dHJvbGxlcigpLmZvY3VzZWRGcmFtZSgpKSB7CisgICAgICAgIGlmIChmb2N1c2VkRnJhbWUtPnRy
ZWUoKS5pc0Rlc2NlbmRhbnRPZihmcmFtZSgpKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggMThhNTM3ODhjOTZlZTY4NWNhZDYzYmVhMmUzNTlkY2I5NTVk
MTYxZS4uMWI5NGU4YTA1ZDlkYTQwYTk1NzVlYjRmMzUzM2I1Y2IxMTFhMmEyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTQwNSw2ICs0MDUsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBt
X2RvY3VtZW50RWxlbWVudC5nZXQoKTsKICAgICB9CiAKKyAgICBFbGVtZW50KiBhY3RpdmVFbGVt
ZW50KCk7CisgICAgYm9vbCBoYXNGb2N1cygpIGNvbnN0OworCiAgICAgYm9vbCBoYXNNYW5pZmVz
dCgpIGNvbnN0OwogICAgIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVF
bGVtZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgRXhjZXB0aW9uQ29kZSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggNTk0ZTgzMjM1N2MyZjc1MGFlYzlkZWVjNTEyOWYwM2Rl
ZGI1NzMzMS4uOGRkNTFmZjM0Y2Y0Mjk5OTA4Y2FjMDlkN2NhNzg2NzhkNDU3MGVmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0yMTAsNiArMjEwLDkgQEAKICAgICAvLyBIVE1MIDUKICAg
ICBOb2RlTGlzdCBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgRE9NU3RyaW5nIHRhZ25hbWUpOwogCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1l
bnQgYWN0aXZlRWxlbWVudDsKKyAgICBib29sZWFuIGhhc0ZvY3VzKCk7CisKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbXBhdE1vZGU7CiAKICAgICAvLyBOb2RlU2VsZWN0b3Ig
LSBTZWxlY3RvciBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAppbmRleCBjNjA2
N2Q4OGE4OGQwNmUyNWY4ZTcyNmNkNDFkMjA2ZjlmOWFmYTYxLi4yOGM4NDc0M2U3MWQwZDc3NGU1
OWZlOWM0MDU0Y2MxNzgxNWU1M2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3Bw
CkBAIC0xMzcsMjggKzEzNyw2IEBAIHZvaWQgSFRNTERvY3VtZW50OjpzZXREZXNpZ25Nb2RlKGNv
bnN0IFN0cmluZyYgdmFsdWUpCiAgICAgRG9jdW1lbnQ6OnNldERlc2lnbk1vZGUobW9kZSk7CiB9
CiAKLUVsZW1lbnQqIEhUTUxEb2N1bWVudDo6YWN0aXZlRWxlbWVudCgpCi17Ci0gICAgZG9jdW1l
bnQoKS51cGRhdGVTdHlsZUlmTmVlZGVkKCk7Ci0gICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSB0
cmVlU2NvcGUoKS5mb2N1c2VkRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gZWxlbWVudDsKLSAg
ICByZXR1cm4gYm9keSgpOwotfQotCi1ib29sIEhUTUxEb2N1bWVudDo6aGFzRm9jdXMoKQotewot
ICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKEZyYW1lKiBmb2N1c2VkRnJhbWUgPSBw
YWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkRnJhbWUoKSkgewotICAgICAgICBpZiAoZm9j
dXNlZEZyYW1lLT50cmVlKCkuaXNEZXNjZW5kYW50T2YoZnJhbWUoKSkpCi0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBjb25zdCBBdG9taWNT
dHJpbmcmIEhUTUxEb2N1bWVudDo6YmdDb2xvcigpIGNvbnN0CiB7CiAgICAgSFRNTEVsZW1lbnQq
IGJvZHlFbGVtZW50ID0gYm9keSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgKaW5kZXgg
YjQyZDMyMGYxNDczZmI5YWVlYWE5MGZjOWFlOWNjMDVjMDViMzc2Ni4uYTI2ZjVkYmI2NzQ5YTJi
ODFiNDNiYjNjMDY5M2RmMWMyMzIzYjY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5o
CkBAIC01Miw5ICs1Miw2IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVzaWduTW9kZSgpIGNvbnN0
OwogICAgIHZvaWQgc2V0RGVzaWduTW9kZShjb25zdCBTdHJpbmcmKTsKIAotICAgIEVsZW1lbnQq
IGFjdGl2ZUVsZW1lbnQoKTsKLSAgICBib29sIGhhc0ZvY3VzKCk7Ci0KICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGJnQ29sb3IoKSBjb25zdDsKICAgICB2b2lkIHNldEJnQ29sb3IoY29uc3QgU3Ry
aW5nJik7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmZ0NvbG9yKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEb2N1bWVudC5pZGwKaW5kZXggNWU4ODllYzIyMWJhYTE5NGMwOTI4NTBhNjUz
OGZiMmQ2ODZiZjg5Yy4uNWI4NjcxZjdkN2M0YjA1MjdkNmE0ODBhZTMzZTEwOGY1YzBmZGQ0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmlkbApAQCAtNDksOSArNDksNiBAQAogICAg
ICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRl
c2lnbk1vZGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjb21wYXRNb2RlOwog
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgYWN0aXZlRWxlbWVudDsKLSAgICBib29s
ZWFuIGhhc0ZvY3VzKCk7Ci0KICAgICAvLyBEZXByZWNhdGVkIGF0dHJpYnV0ZXMKICAgICAgICAg
ICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBiZ0NvbG9y
OwogICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGZnQ29sb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTRjN2VkODU2ZmNiMjRmZmViZWQyNWMyOGViMGRhYzZhMTg3
MzJlZS4uNzkyZjhkOGFhZjMwZGIwZjFlMmM1YmEyM2YxZmUxMzdlNmEwYzViNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDIyIEBACiAyMDE0LTA0LTAxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KIAorICAgICAgICBNb3ZlIGZvY3VzIG1hbmFnZW1lbnQgQVBJIGZyb20gSFRNTERvY3VtZW50
IHRvIERvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzEwNzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2MjIwMTAzPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdlZCBmcm9tIEJsaW5r
IChwYXRjaCBieSBDaHJpc3RvcGhlIER1bWV6KToKKyAgICAgICAgaHR0cHM6Ly9zcmMuY2hyb21p
dW0ub3JnL3ZpZXd2Yy9ibGluaz92aWV3PXJldiZyZXZpc2lvbj0xNjU1MTUKKworICAgICAgICAq
IGZhc3QvZG9tL0RvY3VtZW50L3htbC1kb2N1bWVudC1mb2N1cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50L3htbC1kb2N1bWVudC1mb2N1cy54bWw6IEFk
ZGVkLgorICAgICAgICAqIHJlc291cmNlcy9qcy10ZXN0LXByZS5qczogQWRkZWQgZnVuY3Rpb24g
Y3JlYXRlSFRNTEVsZW1lbnQoKSBhbmQgbW9kaWZpZWQgY29kZSB0byB1c2UgaXQKKyAgICAgICAg
aW5zdGVhZCBvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCkgc28gYXMgdG8gd29yayBhcm91bmQg
PGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEwNzQ+LgorICAgICAg
ICAqIHJlc291cmNlcy9qcy10ZXN0LmpzOiBEaXR0by4KKworMjAxNC0wNC0wMSAgRGFuaWVsIEJh
dGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKICAgICAgICAgUmVuZGVyUXVvdGUgbXVzdCBkZXN0
cm95IHJlbWFpbmluZyB0ZXh0IHJlbmRlcmVyIGJlZm9yZSBmaXJzdCBsZXR0ZXIgcmVuZGVyZXIK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDIzCiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDgzMDAwOT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RvY3VtZW50L3htbC1kb2N1bWVudC1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC94bWwtZG9jdW1lbnQtZm9jdXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk4N2U1NDdiY2Y4M2VmMjU0NjEyOThhOGE5MGU0YjNlZThkM2VkMTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC94bWwtZG9jdW1l
bnQtZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK01ha2Ugc3VyZSB0aGUgZm9j
dXMgbWFuYWdlbWVudCBBUEkgaXMgYXZhaWxhYmxlIHRvIFhNTCBkb2N1bWVudHMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50Ll9fcHJvdG9fXyBpcyBub3Qg
SFRNTERvY3VtZW50LnByb3RvdHlwZQorUEFTUyBkb2N1bWVudC5fX3Byb3RvX18gaXMgRG9jdW1l
bnQucHJvdG90eXBlCitQQVNTIGRvY3VtZW50Lmhhc0ZvY3VzKCkgaXMgdHJ1ZQorUEFTUyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCBpcyB0ZXN0RWxlbWVudAorUEFTUyBkb2N1bWVudC5oYXNGb2N1cygpIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC94bWwtZG9jdW1lbnQtZm9jdXMu
eG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQveG1sLWRvY3VtZW50LWZvY3VzLnht
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMTFmOTRjMjFkYmRhMWVkOTMyNTM5ZGJiOWVjMTNlOGVhNjQ1OGU5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQveG1sLWRvY3Vt
ZW50LWZvY3VzLnhtbApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAx
LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0
bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwiPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFu
ZCBkb2N1bWVudC5oYXNGb2N1cygpPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCBpZD0idGVzdEVsZW1lbnQiPjwvaW5wdXQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoZSBmb2N1
cyBtYW5hZ2VtZW50IEFQSSBpcyBhdmFpbGFibGUgdG8gWE1MIGRvY3VtZW50cy4iKTsKKworc2hv
dWxkTm90QmUoImRvY3VtZW50Ll9fcHJvdG9fXyIsICJIVE1MRG9jdW1lbnQucHJvdG90eXBlIik7
CitzaG91bGRCZSgiZG9jdW1lbnQuX19wcm90b19fIiwgIkRvY3VtZW50LnByb3RvdHlwZSIpOwor
c2hvdWxkQmVUcnVlKCJkb2N1bWVudC5oYXNGb2N1cygpIik7CitzaG91bGRCZSgiZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7Cit2YXIgdGVzdEVsZW1lbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1lbnQiKTsKK3Rlc3RFbGVtZW50LmZvY3VzKCk7
CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJ0ZXN0RWxlbWVudCIpOworc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5oYXNGb2N1cygpIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzCmluZGV4IDFmMGI2ZjVhODI5ZTYzNmU3ODkxZjhjNDllYjMxOWU4NzgwZWRhYTEuLmU1
ODEyY2I5ZGQ5MWJjNWU1NmI3ZDdmYTZhZGE0OThiNjMwMDUyNGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMKQEAgLTEwLDEzICsxMCwyNCBAQCBkaWRGYWlsU29tZVRlc3RzID0g
ZmFsc2U7CiAKIChmdW5jdGlvbigpIHsKIAorICAgIGZ1bmN0aW9uIGNyZWF0ZUhUTUxFbGVtZW50
KHRhZ05hbWUpCisgICAgeworICAgICAgICAvLyBGSVhNRTogSW4gYW4gWE1MIGRvY3VtZW50LCBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCkgY3JlYXRlcyBhbiBlbGVtZW50IHdpdGggYSBudWxsIG5h
bWVzcGFjZSBVUkkuCisgICAgICAgIC8vIFNvLCB3ZSBuZWVkIHVzZSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50TlMoKSB0byBleHBsaWNpdGx5IGNyZWF0ZSBhbiBlbGVtZW50IHdpdGggdGhlIHNwZWNp
ZmllZAorICAgICAgICAvLyB0YWcgbmFtZSBpbiB0aGUgSFRNTCBuYW1lc3BhY2UuIFdlIGNhbiBy
ZW1vdmUgdGhpcyBmdW5jdGlvbiBhbmQgdXNlIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoKQorICAg
ICAgICAvLyBkaXJlY3RseSBvbmNlIHdlIGZpeCA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMTA3ND4uCisgICAgICAgIGlmIChkb2N1bWVudC5jcmVhdGVFbGVtZW50
TlMpCisgICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIiwgdGFnTmFtZSk7CisgICAgICAgIHJldHVybiBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIH0KKwogICAgIGZ1bmN0aW9uIGdldE9yQ3Jl
YXRlKGlkLCB0YWdOYW1lKQogICAgIHsKICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCk7CiAgICAgICAgIGlmIChlbGVtZW50KQogICAgICAgICAgICAgcmV0
dXJuIGVsZW1lbnQ7CiAKLSAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgICAgIGVsZW1lbnQgPSBjcmVhdGVIVE1MRWxlbWVudCh0YWdOYW1lKTsK
ICAgICAgICAgZWxlbWVudC5pZCA9IGlkOwogICAgICAgICB2YXIgcmVmTm9kZTsKICAgICAgICAg
dmFyIHBhcmVudCA9IGRvY3VtZW50LmJvZHkgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwpA
QCAtMzIsNyArNDMsNyBAQCBkaWRGYWlsU29tZVRlc3RzID0gZmFsc2U7CiAgICAgZGVzY3JpcHRp
b24gPSBmdW5jdGlvbiBkZXNjcmlwdGlvbihtc2csIHF1aWV0KQogICAgIHsKICAgICAgICAgLy8g
Rm9yIE1TSUUgNiBjb21wYXRpYmlsaXR5Ci0gICAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICB2YXIgc3BhbiA9IGNyZWF0ZUhUTUxFbGVtZW50
KCJzcGFuIik7CiAgICAgICAgIGlmIChxdWlldCkKICAgICAgICAgICAgIHNwYW4uaW5uZXJIVE1M
ID0gJzxwPicgKyBtc2cgKyAnPC9wPjxwPk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBubyAiPHNw
YW4gY2xhc3M9ImZhaWwiPkZBSUw8L3NwYW4+IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIjxzcGFu
IGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPiIuPC9wPic7CiAgICAgICAgIGVsc2UK
QEAgLTQ3LDcgKzU4LDcgQEAgZGlkRmFpbFNvbWVUZXN0cyA9IGZhbHNlOwogCiAgICAgZGVidWcg
PSBmdW5jdGlvbiBkZWJ1Zyhtc2cpCiAgICAgewotICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgdmFyIHNwYW4gPSBjcmVhdGVIVE1MRWxl
bWVudCgic3BhbiIpOwogICAgICAgICBnZXRPckNyZWF0ZSgiY29uc29sZSIsICJkaXYiKS5hcHBl
bmRDaGlsZChzcGFuKTsgLy8gaW5zZXJ0IGl0IGZpcnN0IHNvIFhIVE1MIGtub3dzIHRoZSBuYW1l
c3BhY2UKICAgICAgICAgc3Bhbi5pbm5lckhUTUwgPSBtc2cgKyAnPGJyIC8+JzsKICAgICB9OwpA
QCAtNjgsNyArNzksNyBAQCBkaWRGYWlsU29tZVRlc3RzID0gZmFsc2U7CiAKICAgICBmdW5jdGlv
biBpbnNlcnRTdHlsZVNoZWV0KCkKICAgICB7Ci0gICAgICAgIHZhciBzdHlsZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOworICAgICAgICB2YXIgc3R5bGVFbGVtZW50
ID0gY3JlYXRlSFRNTEVsZW1lbnQoInN0eWxlIik7CiAgICAgICAgIHN0eWxlRWxlbWVudC50ZXh0
Q29udGVudCA9IGNzczsKICAgICAgICAgKGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50KS5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3Jlc291cmNlcy9qcy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L2pzLXRlc3QuanMKaW5kZXggOThlNmYxYmY2Y2IyMzdjYTdiNTdiNzc4YWQzNDNhNGRjZTU3YWZi
OS4uNzg3ZjMxZDA0YTRjNzU2NTVhYTk0YTBiMWJmNjhjNDkwY2E5NjI5YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3Vy
Y2VzL2pzLXRlc3QuanMKQEAgLTE0LDEzICsxNCwyNCBAQCB2YXIgdW5leHBlY3RlZEVycm9yTWVz
c2FnZTsgLy8gc2V0IGJ5IG9uZXJyb3Igd2hlbiBleHBlY3RpbmdFcnJvciBpcyBub3QgdHJ1ZQog
CiAoZnVuY3Rpb24oKSB7CiAKKyAgICBmdW5jdGlvbiBjcmVhdGVIVE1MRWxlbWVudCh0YWdOYW1l
KQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IEluIGFuIFhNTCBkb2N1bWVudCwgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgpIGNyZWF0ZXMgYW4gZWxlbWVudCB3aXRoIGEgbnVsbCBuYW1lc3BhY2Ug
VVJJLgorICAgICAgICAvLyBTbywgd2UgbmVlZCB1c2UgZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5T
KCkgdG8gZXhwbGljaXRseSBjcmVhdGUgYW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQKKyAg
ICAgICAgLy8gdGFnIG5hbWUgaW4gdGhlIEhUTUwgbmFtZXNwYWNlLiBXZSBjYW4gcmVtb3ZlIHRo
aXMgZnVuY3Rpb24gYW5kIHVzZSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCkKKyAgICAgICAgLy8g
ZGlyZWN0bHkgb25jZSB3ZSBmaXggPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzEwNzQ+LgorICAgICAgICBpZiAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKQorICAg
ICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCIsIHRhZ05hbWUpOworICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiBnZXRPckNyZWF0ZShpZCwg
dGFnTmFtZSkKICAgICB7CiAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpOwogICAgICAgICBpZiAoZWxlbWVudCkKICAgICAgICAgICAgIHJldHVybiBlbGVt
ZW50OwogCi0gICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgICAgICBlbGVtZW50ID0gY3JlYXRlSFRNTEVsZW1lbnQodGFnTmFtZSk7CiAgICAgICAg
IGVsZW1lbnQuaWQgPSBpZDsKICAgICAgICAgdmFyIHJlZk5vZGU7CiAgICAgICAgIHZhciBwYXJl
bnQgPSBkb2N1bWVudC5ib2R5IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKQEAgLTM2LDcg
KzQ3LDcgQEAgdmFyIHVuZXhwZWN0ZWRFcnJvck1lc3NhZ2U7IC8vIHNldCBieSBvbmVycm9yIHdo
ZW4gZXhwZWN0aW5nRXJyb3IgaXMgbm90IHRydWUKICAgICBkZXNjcmlwdGlvbiA9IGZ1bmN0aW9u
IGRlc2NyaXB0aW9uKG1zZywgcXVpZXQpCiAgICAgewogICAgICAgICAvLyBGb3IgTVNJRSA2IGNv
bXBhdGliaWxpdHkKLSAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIik7CisgICAgICAgIHZhciBzcGFuID0gY3JlYXRlSFRNTEVsZW1lbnQoInNwYW4iKTsKICAg
ICAgICAgaWYgKHF1aWV0KQogICAgICAgICAgICAgc3Bhbi5pbm5lckhUTUwgPSAnPHA+JyArIG1z
ZyArICc8L3A+PHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIG5vICI8c3BhbiBjbGFzcz0iZmFp
bCI+RkFJTDwvc3Bhbj4iIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiPHNwYW4gY2xhc3M9InBhc3Mi
PlRFU1QgQ09NUExFVEU8L3NwYW4+Ii48L3A+JzsKICAgICAgICAgZWxzZQpAQCAtNTEsNyArNjIs
NyBAQCB2YXIgdW5leHBlY3RlZEVycm9yTWVzc2FnZTsgLy8gc2V0IGJ5IG9uZXJyb3Igd2hlbiBl
eHBlY3RpbmdFcnJvciBpcyBub3QgdHJ1ZQogCiAgICAgZGVidWcgPSBmdW5jdGlvbiBkZWJ1Zyht
c2cpCiAgICAgewotICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNw
YW4iKTsKKyAgICAgICAgdmFyIHNwYW4gPSBjcmVhdGVIVE1MRWxlbWVudCgic3BhbiIpOwogICAg
ICAgICBnZXRPckNyZWF0ZSgiY29uc29sZSIsICJkaXYiKS5hcHBlbmRDaGlsZChzcGFuKTsgLy8g
aW5zZXJ0IGl0IGZpcnN0IHNvIFhIVE1MIGtub3dzIHRoZSBuYW1lc3BhY2UKICAgICAgICAgc3Bh
bi5pbm5lckhUTUwgPSBtc2cgKyAnPGJyIC8+JzsKICAgICB9OwpAQCAtNzIsNyArODMsNyBAQCB2
YXIgdW5leHBlY3RlZEVycm9yTWVzc2FnZTsgLy8gc2V0IGJ5IG9uZXJyb3Igd2hlbiBleHBlY3Rp
bmdFcnJvciBpcyBub3QgdHJ1ZQogCiAgICAgZnVuY3Rpb24gaW5zZXJ0U3R5bGVTaGVldCgpCiAg
ICAgewotICAgICAgICB2YXIgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3R5bGUiKTsKKyAgICAgICAgdmFyIHN0eWxlRWxlbWVudCA9IGNyZWF0ZUhUTUxFbGVtZW50KCJz
dHlsZSIpOwogICAgICAgICBzdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSBjc3M7CiAgICAgICAg
IChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYXBwZW5kQ2hpbGQo
c3R5bGVFbGVtZW50KTsKICAgICB9Cg==
</data>
<flag name="review"
          id="252628"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>