<?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>62272</bug_id>
          
          <creation_ts>2011-06-08 03:49:04 -0700</creation_ts>
          <short_desc>Web Inspector: editing body multiplies head</short_desc>
          <delta_ts>2012-01-16 05:35:24 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417166</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-06-08 03:49:04 -0700</bug_when>
    <thetext>1. Navigate to data:text/html,&lt;div&gt;
2. Open inspector, switch to Elements panel
3. Select &lt;body&gt;, then choose &quot;Edit as HTML&quot; from the context menu
4. Press ctrl+enter to commit the changes
5. Observe two &lt;head&gt;s in the document
(repeating these actions further yields more heads)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536254</commentid>
    <comment_count>1</comment_count>
      <attachid>122563</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-15 02:40:11 -0800</bug_when>
    <thetext>Created attachment 122563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536256</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-15 02:43:03 -0800</bug_when>
    <thetext>*** Bug 76145 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536270</commentid>
    <comment_count>3</comment_count>
      <attachid>122568</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-15 10:11:09 -0800</bug_when>
    <thetext>Created attachment 122568
[Patch] Same with ability to set document&apos;s outer html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536494</commentid>
    <comment_count>4</comment_count>
      <attachid>122568</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-16 05:13:19 -0800</bug_when>
    <thetext>Comment on attachment 122568
[Patch] Same with ability to set document&apos;s outer html.

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

&gt; Source/WebCore/inspector/DOMEditor.h:46
&gt;  class HTMLElement;

Remove this as well.

&gt; LayoutTests/inspector/elements/set-outer-html-body.html:52
&gt; +            // User console.log for output since body has been overwritten.

Remove this comment?

&gt; LayoutTests/inspector/elements/set-outer-html-body.html:68
&gt; +Tests DOMAgent.setOuterHTML invoked on body tag.

Missing bug link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536503</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-16 05:35:24 -0800</bug_when>
    <thetext>Committed r105058: &lt;http://trac.webkit.org/changeset/105058&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122563</attachid>
            <date>2012-01-15 02:40:11 -0800</date>
            <delta_ts>2012-01-15 10:11:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62272-20120115144011.patch</filename>
            <type>text/plain</type>
            <size>16050</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4ZTEwYTM1NGFhZDA2
NGZjYjgzMTE2OWRlMDg3Y2FkNzZkYjc0Yy4uMzVmMjlkODQ3YmFlM2FlZGJiYTA0NDZiZmNkNTgx
NDE5NzJmMTQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTE1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGVkaXRpbmcgYm9keSBtdWx0aXBsaWVzIGhlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRl
ci1odG1sLWJvZHkuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0RPTUVkaXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01FZGl0b3I6OnBhdGNoRG9jdW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NRWRpdG9yOjpwYXRjaE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9y
Ojppbm5lclBhdGNoQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9yOjppbnNl
cnRCZWZvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9ET01FZGl0b3IuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRE9NQWdlbnQ6OnNldE91dGVySFRNTCk6CisKIDIwMTItMDEtMTMgIE9qYW4gVmFmYWkgIDxv
amFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgZmxleC1hbGlnbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAppbmRleCA4Zjc0NGIzZWUwNDEwN2EyYTBmY2Vk
MmI0MDljMGFiOWEwM2JmNzQyLi42N2Y0ODM4MzJlYzBkMzhlOGRkZWRjY2Y1MTZmY2YxYjE1OTYx
NWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CkBAIC01Miw2
ICs1Myw5IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
dXNpbmcgSFRNTE5hbWVzOjpib2R5VGFnOwordXNpbmcgSFRNTE5hbWVzOjpoZWFkVGFnOworCiBz
dHJ1Y3QgRE9NRWRpdG9yOjpEaWdlc3QgewogICAgIGV4cGxpY2l0IERpZ2VzdChOb2RlKiBub2Rl
KSA6IG1fbm9kZShub2RlKSB7IH0KIApAQCAtNzQsOSArNzgsOSBAQCB2b2lkIERPTUVkaXRvcjo6
cGF0Y2hEb2N1bWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCkKICAgICBwYXJzZXItPmRldGFjaCgp
OwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaW5uZXJQYXRjaEhUTUxFbGVtZW50
KG1fZG9jdW1lbnQtPmhlYWQoKSwgbmV3RG9jdW1lbnQtPmhlYWQoKSwgZWMpOwotICAgIGlmICgh
ZWMpCi0gICAgICAgIGlubmVyUGF0Y2hIVE1MRWxlbWVudChtX2RvY3VtZW50LT5ib2R5KCksIG5l
d0RvY3VtZW50LT5ib2R5KCksIGVjKTsKKyAgICBPd25QdHI8RGlnZXN0PiBvbGRJbmZvID0gY3Jl
YXRlRGlnZXN0KG1fZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLCAwKTsKKyAgICBPd25QdHI8
RGlnZXN0PiBuZXdJbmZvID0gY3JlYXRlRGlnZXN0KG5ld0RvY3VtZW50LT5kb2N1bWVudEVsZW1l
bnQoKSwgJm1fdW51c2VkTm9kZXNNYXApOworICAgIGlubmVyUGF0Y2hOb2RlKG9sZEluZm8uZ2V0
KCksIG5ld0luZm8uZ2V0KCksIGVjKTsKIAogICAgIGlmIChlYykgewogICAgICAgICAvLyBGYWxs
IGJhY2sgdG8gcmV3cml0ZS4KQEAgLTg3LDUxICs5MSw0MSBAQCB2b2lkIERPTUVkaXRvcjo6cGF0
Y2hEb2N1bWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCkKIAogTm9kZSogRE9NRWRpdG9yOjpwYXRj
aE5vZGUoTm9kZSogbm9kZSwgY29uc3QgU3RyaW5nJiBtYXJrdXAsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewotICAgIEVsZW1lbnQqIHBhcmVudEVsZW1lbnQgPSBub2RlLT5wYXJlbnRFbGVtZW50KCk7
CisgICAgQ29udGFpbmVyTm9kZSogcGFyZW50Tm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAg
ICBOb2RlKiBwcmV2aW91c1NpYmxpbmcgPSBub2RlLT5wcmV2aW91c1NpYmxpbmcoKTsKICAgICBS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBEb2N1bWVudEZyYWdtZW50OjpjcmVh
dGUobV9kb2N1bWVudCk7Ci0gICAgZnJhZ21lbnQtPnBhcnNlSFRNTChtYXJrdXAsIHBhcmVudEVs
ZW1lbnQpOworICAgIGZyYWdtZW50LT5wYXJzZUhUTUwobWFya3VwLCBub2RlLT5wYXJlbnRFbGVt
ZW50KCkgPyBub2RlLT5wYXJlbnRFbGVtZW50KCkgOiBtX2RvY3VtZW50LT5kb2N1bWVudEVsZW1l
bnQoKSk7CiAKICAgICAvLyBDb21wb3NlIHRoZSBvbGQgbGlzdC4KICAgICBWZWN0b3I8T3duUHRy
PERpZ2VzdD4gPiBvbGRMaXN0OwotICAgIGZvciAoTm9kZSogY2hpbGQgPSBwYXJlbnRFbGVtZW50
LT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQorICAg
IGZvciAoTm9kZSogY2hpbGQgPSBwYXJlbnROb2RlLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGls
ZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQogICAgICAgICBvbGRMaXN0LmFwcGVuZChjcmVhdGVE
aWdlc3QoY2hpbGQsIDApKTsKIAogICAgIC8vIENvbXBvc2UgdGhlIG5ldyBsaXN0LgorICAgIFN0
cmluZyBtYXJrdXBDb3B5ID0gbWFya3VwOworICAgIG1hcmt1cENvcHkubWFrZUxvd2VyKCk7CiAg
ICAgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4gbmV3TGlzdDsKLSAgICBmb3IgKE5vZGUqIGNoaWxk
ID0gcGFyZW50RWxlbWVudC0+Zmlyc3RDaGlsZCgpOyBjaGlsZCAhPSBub2RlOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKQorICAgIGZvciAoTm9kZSogY2hpbGQgPSBwYXJlbnROb2RlLT5m
aXJzdENoaWxkKCk7IGNoaWxkICE9IG5vZGU7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkp
CiAgICAgICAgIG5ld0xpc3QuYXBwZW5kKGNyZWF0ZURpZ2VzdChjaGlsZCwgMCkpOwotICAgIGZv
ciAoTm9kZSogY2hpbGQgPSBmcmFnbWVudC0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKSkKKyAgICBmb3IgKE5vZGUqIGNoaWxkID0gZnJhZ21lbnQtPmZp
cnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAg
ICAgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKGhlYWRUYWcpICYmICFjaGlsZC0+Zmlyc3RDaGlsZCgp
ICYmIG1hcmt1cENvcHkuZmluZCgiPC9oZWFkPiIpID09IG5vdEZvdW5kKQorICAgICAgICAgICAg
Y29udGludWU7IC8vIEhUTUw1IHBhcnNlciBpbnNlcnRzIGVtcHR5IDxoZWFkPiB0YWcgd2hlbmV2
ZXIgaXQgcGFyc2VzIDxib2R5PgorICAgICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUoYm9keVRh
ZykgJiYgIWNoaWxkLT5maXJzdENoaWxkKCkgJiYgbWFya3VwQ29weS5maW5kKCI8L2JvZHk+Iikg
PT0gbm90Rm91bmQpCisgICAgICAgICAgICBjb250aW51ZTsgLy8gSFRNTDUgcGFyc2VyIGluc2Vy
dHMgZW1wdHkgPGJvZHk+IHRhZyB3aGVuZXZlciBpdCBwYXJzZXMgPC9oZWFkPgogICAgICAgICBu
ZXdMaXN0LmFwcGVuZChjcmVhdGVEaWdlc3QoY2hpbGQsICZtX3VudXNlZE5vZGVzTWFwKSk7Cisg
ICAgfQogICAgIGZvciAoTm9kZSogY2hpbGQgPSBub2RlLT5uZXh0U2libGluZygpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkKICAgICAgICAgbmV3TGlzdC5hcHBlbmQoY3Jl
YXRlRGlnZXN0KGNoaWxkLCAwKSk7CiAKLSAgICBpbm5lclBhdGNoQ2hpbGRyZW4ocGFyZW50RWxl
bWVudCwgb2xkTGlzdCwgbmV3TGlzdCwgZWMpOworICAgIGlubmVyUGF0Y2hDaGlsZHJlbihwYXJl
bnROb2RlLCBvbGRMaXN0LCBuZXdMaXN0LCBlYyk7CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIC8v
IEZhbGwgYmFjayB0byB0b3RhbCByZXBsYWNlLgogICAgICAgICBlYyA9IDA7Ci0gICAgICAgIHBh
cmVudEVsZW1lbnQtPnJlcGxhY2VDaGlsZChmcmFnbWVudC5yZWxlYXNlKCksIG5vZGUsIGVjKTsK
KyAgICAgICAgcGFyZW50Tm9kZS0+cmVwbGFjZUNoaWxkKGZyYWdtZW50LnJlbGVhc2UoKSwgbm9k
ZSwgZWMpOwogICAgICAgICBpZiAoZWMpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0g
ICAgcmV0dXJuIHByZXZpb3VzU2libGluZyA/IHByZXZpb3VzU2libGluZy0+bmV4dFNpYmxpbmco
KSA6IHBhcmVudEVsZW1lbnQtPmZpcnN0Q2hpbGQoKTsKLX0KLQotdm9pZCBET01FZGl0b3I6Omlu
bmVyUGF0Y2hIVE1MRWxlbWVudChIVE1MRWxlbWVudCogb2xkRWxlbWVudCwgSFRNTEVsZW1lbnQq
IG5ld0VsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmIChvbGRFbGVtZW50KSAg
ewotICAgICAgICBpZiAobmV3RWxlbWVudCkgewotICAgICAgICAgICAgT3duUHRyPERpZ2VzdD4g
b2xkSW5mbyA9IGNyZWF0ZURpZ2VzdChvbGRFbGVtZW50LCAwKTsKLSAgICAgICAgICAgIE93blB0
cjxEaWdlc3Q+IG5ld0luZm8gPSBjcmVhdGVEaWdlc3QobmV3RWxlbWVudCwgJm1fdW51c2VkTm9k
ZXNNYXApOwotICAgICAgICAgICAgaW5uZXJQYXRjaE5vZGUob2xkSW5mby5nZXQoKSwgbmV3SW5m
by5nZXQoKSwgZWMpOwotICAgICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotICAgICAgICBvbGRFbGVtZW50LT5yZW1vdmVBbGxDaGlsZHJlbigpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChuZXdFbGVtZW50KQotICAgICAgICBtX2Rv
Y3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKS0+YXBwZW5kQ2hpbGQobmV3RWxlbWVudCwgZWMpOwor
ICAgIHJldHVybiBwcmV2aW91c1NpYmxpbmcgPyBwcmV2aW91c1NpYmxpbmctPm5leHRTaWJsaW5n
KCkgOiBwYXJlbnROb2RlLT5maXJzdENoaWxkKCk7CiB9CiAKIHZvaWQgRE9NRWRpdG9yOjppbm5l
clBhdGNoTm9kZShEaWdlc3QqIG9sZERpZ2VzdCwgRGlnZXN0KiBuZXdEaWdlc3QsIEV4Y2VwdGlv
bkNvZGUmIGVjKQpAQCAtMjYxLDE4ICsyNTUsMzIgQEAgRE9NRWRpdG9yOjpkaWZmKGNvbnN0IFZl
Y3RvcjxPd25QdHI8RGlnZXN0PiA+JiBvbGRMaXN0LCBjb25zdCBWZWN0b3I8T3duUHRyPERpZ2UK
ICAgICByZXR1cm4gbWFrZV9wYWlyKG9sZE1hcCwgbmV3TWFwKTsKIH0KIAotdm9pZCBET01FZGl0
b3I6OmlubmVyUGF0Y2hDaGlsZHJlbihFbGVtZW50KiBlbGVtZW50LCBjb25zdCBWZWN0b3I8T3du
UHRyPERpZ2VzdD4gPiYgb2xkTGlzdCwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG5l
d0xpc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBET01FZGl0b3I6OmlubmVyUGF0Y2hDaGls
ZHJlbihDb250YWluZXJOb2RlKiBwYXJlbnROb2RlLCBjb25zdCBWZWN0b3I8T3duUHRyPERpZ2Vz
dD4gPiYgb2xkTGlzdCwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG5ld0xpc3QsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIHBhaXI8UmVzdWx0TWFwLCBSZXN1bHRNYXA+IHJlc3Vs
dE1hcHMgPSBkaWZmKG9sZExpc3QsIG5ld0xpc3QpOwogICAgIFJlc3VsdE1hcCYgb2xkTWFwID0g
cmVzdWx0TWFwcy5maXJzdDsKICAgICBSZXN1bHRNYXAmIG5ld01hcCA9IHJlc3VsdE1hcHMuc2Vj
b25kOwogCisgICAgRGlnZXN0KiBvbGRIZWFkID0gMDsKKyAgICBEaWdlc3QqIG9sZEJvZHkgPSAw
OworCiAgICAgLy8gMS4gRmlyc3Qgc3RyaXAgZXZlcnl0aGluZyBleGNlcHQgZm9yIHRoZSBub2Rl
cyB0aGF0IHJldGFpbi4gQ29sbGVjdCBwZW5kaW5nIG1lcmdlcy4KICAgICBIYXNoTWFwPERpZ2Vz
dCosIERpZ2VzdCo+IG1lcmdlczsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9sZExpc3Qu
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKG9sZE1hcFtpXS5maXJzdCkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCisgICAgICAgIC8vIEFsd2F5cyBtYXRjaCA8aGVhZD4gYW5kIDxib2R5PiB0
YWdzIHdpdGggZWFjaCBvdGhlciAtIHdlIGNhbid0IHJlbW92ZSB0aGVtIGZyb20gdGhlIERPTQor
ICAgICAgICAvLyB1cG9uIHBhdGNoaW5nLgorICAgICAgICBpZiAob2xkTGlzdFtpXS0+bV9ub2Rl
LT5oYXNUYWdOYW1lKGhlYWRUYWcpKSB7CisgICAgICAgICAgICBvbGRIZWFkID0gb2xkTGlzdFtp
XS5nZXQoKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlmIChv
bGRMaXN0W2ldLT5tX25vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpIHsKKyAgICAgICAgICAgIG9s
ZEJvZHkgPSBvbGRMaXN0W2ldLmdldCgpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IH0KKwogICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGNoYW5nZSBpcyBiZXR3ZWVuIHN0YWJsZSBu
b2Rlcy4gSWYgaXQgaXMsIGNvbnNpZGVyIGl0IGFzICJtb2RpZmllZCIuCiAgICAgICAgIGlmICgh
bV91bnVzZWROb2Rlc01hcC5jb250YWlucyhvbGRMaXN0W2ldLT5tX3NoYTEpICYmICghaSB8fCBv
bGRNYXBbaSAtIDFdLmZpcnN0KSAmJiAoaSA9PSBvbGRNYXAuc2l6ZSgpIC0gMSB8fCBvbGRNYXBb
aSArIDFdLmZpcnN0KSkgewogICAgICAgICAgICAgc2l6ZV90IGFuY2hvckNhbmRpZGF0ZSA9IGkg
PyBvbGRNYXBbaSAtIDFdLnNlY29uZCArIDEgOiAwOwpAQCAtMjk3LDYgKzMwNSwxNiBAQCB2b2lk
IERPTUVkaXRvcjo6aW5uZXJQYXRjaENoaWxkcmVuKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFZl
Y3RvcjxPd25QdHI8RGlnZXN0PgogICAgICAgICAgICAgbWFya05vZGVBc1VzZWQobmV3TWFwW2ld
LmZpcnN0KTsKICAgICB9CiAKKyAgICAvLyBNYXJrIDxoZWFkPiBhbmQgPGJvZHk+IG5vZGVzIGZv
ciBtZXJnZS4KKyAgICBpZiAob2xkSGVhZCB8fCBvbGRCb2R5KSB7CisgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbmV3TGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKG9s
ZEhlYWQgJiYgbmV3TGlzdFtpXS0+bV9ub2RlLT5oYXNUYWdOYW1lKGhlYWRUYWcpKQorICAgICAg
ICAgICAgICAgIG1lcmdlcy5zZXQobmV3TGlzdFtpXS5nZXQoKSwgb2xkSGVhZCk7CisgICAgICAg
ICAgICBpZiAob2xkQm9keSAmJiBuZXdMaXN0W2ldLT5tX25vZGUtPmhhc1RhZ05hbWUoYm9keVRh
ZykpCisgICAgICAgICAgICAgICAgbWVyZ2VzLnNldChuZXdMaXN0W2ldLmdldCgpLCBvbGRCb2R5
KTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIDIuIFBhdGNoIG5vZGVzIG1hcmtlZCBmb3Ig
bWVyZ2UuCiAgICAgZm9yIChIYXNoTWFwPERpZ2VzdCosIERpZ2VzdCo+OjppdGVyYXRvciBpdCA9
IG1lcmdlcy5iZWdpbigpOyBpdCAhPSBtZXJnZXMuZW5kKCk7ICsraXQpIHsKICAgICAgICAgaW5u
ZXJQYXRjaE5vZGUoaXQtPnNlY29uZCwgaXQtPmZpcnN0LCBlYyk7CkBAIC0zMTAsNyArMzI4LDcg
QEAgdm9pZCBET01FZGl0b3I6OmlubmVyUGF0Y2hDaGlsZHJlbihFbGVtZW50KiBlbGVtZW50LCBj
b25zdCBWZWN0b3I8T3duUHRyPERpZ2VzdD4KICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBpbnNlcnRCZWZvcmUoZWxlbWVudCwg
bmV3TGlzdFtpXS5nZXQoKSwgZWxlbWVudC0+Y2hpbGROb2RlKGkpLCBlYyk7CisgICAgICAgIGlu
c2VydEJlZm9yZShwYXJlbnROb2RlLCBuZXdMaXN0W2ldLmdldCgpLCBwYXJlbnROb2RlLT5jaGls
ZE5vZGUoaSksIGVjKTsKICAgICAgICAgaWYgKGVjKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTMyMCwxMSArMzM4LDEzIEBAIHZvaWQgRE9NRWRpdG9yOjppbm5lclBhdGNoQ2hpbGRy
ZW4oRWxlbWVudCogZWxlbWVudCwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+CiAgICAgICAg
IGlmICghb2xkTWFwW2ldLmZpcnN0KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIFJl
ZlB0cjxOb2RlPiBub2RlID0gb2xkTWFwW2ldLmZpcnN0LT5tX25vZGU7Ci0gICAgICAgIE5vZGUq
IGFuY2hvck5vZGUgPSBlbGVtZW50LT5jaGlsZE5vZGUob2xkTWFwW2ldLnNlY29uZCk7CisgICAg
ICAgIE5vZGUqIGFuY2hvck5vZGUgPSBwYXJlbnROb2RlLT5jaGlsZE5vZGUob2xkTWFwW2ldLnNl
Y29uZCk7CiAgICAgICAgIGlmIChub2RlLmdldCgpID09IGFuY2hvck5vZGUpCiAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykgfHwgbm9k
ZS0+aGFzVGFnTmFtZShoZWFkVGFnKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBOZXZlciBt
b3ZlIGhlYWQgb3IgYm9keSwgbW92ZSB0aGUgcmVzdCBvZiB0aGUgbm9kZXMgYXJvdW5kIHRoZW0u
CiAKLSAgICAgICAgZWxlbWVudC0+aW5zZXJ0QmVmb3JlKG5vZGUsIGFuY2hvck5vZGUsIGVjKTsK
KyAgICAgICAgcGFyZW50Tm9kZS0+aW5zZXJ0QmVmb3JlKG5vZGUsIGFuY2hvck5vZGUsIGVjKTsK
ICAgICAgICAgaWYgKGVjKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTM4MSw5ICs0
MDEsOSBAQCBQYXNzT3duUHRyPERPTUVkaXRvcjo6RGlnZXN0PiBET01FZGl0b3I6OmNyZWF0ZURp
Z2VzdChOb2RlKiBub2RlLCBVbnVzZWROb2Rlc01hcAogICAgIHJldHVybiBhZG9wdFB0cihkaWdl
c3QpOwogfQogCi12b2lkIERPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKEVsZW1lbnQqIHBhcmVudEVs
ZW1lbnQsIERpZ2VzdCogZGlnZXN0LCBOb2RlKiBhbmNob3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQor
dm9pZCBET01FZGl0b3I6Omluc2VydEJlZm9yZShDb250YWluZXJOb2RlKiBwYXJlbnROb2RlLCBE
aWdlc3QqIGRpZ2VzdCwgTm9kZSogYW5jaG9yLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBw
YXJlbnRFbGVtZW50LT5pbnNlcnRCZWZvcmUoZGlnZXN0LT5tX25vZGUsIGFuY2hvciwgZWMpOwor
ICAgIHBhcmVudE5vZGUtPmluc2VydEJlZm9yZShkaWdlc3QtPm1fbm9kZSwgYW5jaG9yLCBlYyk7
CiAgICAgbWFya05vZGVBc1VzZWQoZGlnZXN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RP
TUVkaXRvci5oCmluZGV4IDcxOWRhNjVmYjFhNzMxNDVmOTU5MWYyZTgyOWFkOGNmOWQ4YzgwNzUu
LjlhMDZlNDYzNjhjZjQ3YTA1YWU0YTY3MDJmMzdkNTI0NTllYWNkODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvRE9NRWRpdG9yLmgKQEAgLTQzLDcgKzQzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBDb250YWluZXJOb2RlOwogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBFbGVtZW50
OwogY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBOYW1lZE5vZGVNYXA7CiBjbGFzcyBOb2RlOwpA
QCAtNjMsMTIgKzYyLDExIEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBWZWN0b3I8cGFpcjxEaWdl
c3QqLCBzaXplX3Q+ID4gUmVzdWx0TWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIERp
Z2VzdCo+IFVudXNlZE5vZGVzTWFwOwogCi0gICAgdm9pZCBpbm5lclBhdGNoSFRNTEVsZW1lbnQo
SFRNTEVsZW1lbnQqIG9sZEVsZW1lbnQsIEhUTUxFbGVtZW50KiBuZXdFbGVtZW50LCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBpbm5lclBhdGNoTm9kZShEaWdlc3QqIG9sZE5vZGUsIERpZ2Vz
dCogbmV3Tm9kZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHN0ZDo6cGFpcjxSZXN1bHRNYXAsIFJl
c3VsdE1hcD4gZGlmZihjb25zdCBWZWN0b3I8T3duUHRyPERpZ2VzdD4gPiYgb2xkQ2hpbGRyZW4s
IGNvbnN0IFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+JiBuZXdDaGlsZHJlbik7Ci0gICAgdm9pZCBp
bm5lclBhdGNoQ2hpbGRyZW4oRWxlbWVudCosIGNvbnN0IFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+
JiBvbGRDaGlsZHJlbiwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG5ld0NoaWxkcmVu
LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBpbm5lclBhdGNoQ2hpbGRyZW4oQ29udGFpbmVy
Tm9kZSosIGNvbnN0IFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+JiBvbGRDaGlsZHJlbiwgY29uc3Qg
VmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG5ld0NoaWxkcmVuLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgUGFzc093blB0cjxEaWdlc3Q+IGNyZWF0ZURpZ2VzdChOb2RlKiwgVW51c2VkTm9kZXNNYXAq
KTsKLSAgICB2b2lkIGluc2VydEJlZm9yZShFbGVtZW50KiBwYXJlbnRFbGVtZW50LCBEaWdlc3Qq
LCBOb2RlKiBhbmNob3IsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGluc2VydEJlZm9yZShD
b250YWluZXJOb2RlKiwgRGlnZXN0KiwgTm9kZSogYW5jaG9yLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCByZW1vdmVDaGlsZChEaWdlc3QqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBt
YXJrTm9kZUFzVXNlZChEaWdlc3QqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYTgxYmJhMDkzNzBlOGI2Yjc1ZDBkNmY2NzFjNjJi
YzQ1ZDM4MzkzYy4uM2MyYmMwNWZjNzM3YTU1NzgyMjBlM2Y5MjExMjFlMGExZmYzOWRjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC02
NjUsMTQgKzY2NSw2IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldE91dGVySFRNTChFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnN0CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBib29sIHJlcXVpcmVzVG90YWxVcGRhdGUgPSBub2RlLT5pc0hUTUxFbGVt
ZW50KCkgJiYgKG5vZGUtPm5vZGVOYW1lKCkgPT0gIkhUTUwiIHx8IG5vZGUtPm5vZGVOYW1lKCkg
PT0gIkJPRFkiIHx8IG5vZGUtPm5vZGVOYW1lKCkgPT0gIkhFQUQiKTsKLSAgICBpZiAocmVxdWly
ZXNUb3RhbFVwZGF0ZSkgewotICAgICAgICBSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gbV9k
b2N1bWVudDsKLSAgICAgICAgcmVzZXQoKTsKLSAgICAgICAgc2V0RG9jdW1lbnQoZG9jdW1lbnQu
Z2V0KCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgaWYgKCFuZXdOb2RlKSB7CiAg
ICAgICAgIC8vIFRoZSBvbmx5IGNoaWxkIG5vZGUgaGFzIGJlZW4gZGVsZXRlZC4KICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGMzOTkyZGY4ZTE4ODc3OWI5NmI2ODFlNjFhNTk5ZTI0MTBjNGU1ZGIu
LjAxNTNmYjlmMDA4MDcyMzU3MzU4ZmQwYjM3Y2ViYWFjODc5NjEzMTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMi0wMS0xNSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBlZGl0aW5nIGJvZHkgbXVsdGlwbGllcyBoZWFk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI3Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtb3V0ZXItaHRtbC1ib2R5LWlmcmFtZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0
ZXItaHRtbC1ib2R5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTEzICBPamFuIFZhZmFpICA8b2ph
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2tpcCB0ZXN0IHRoYXQgc3RhcnRlZCBmYWlsaW5n
IGFmdGVyIHIxMDUwMTUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvcmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1l
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDkwZTBjNmQ0YmFjYzIwODViYTI2ODFlNmZmZjE5N2EyMGZmNjMz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9yZXNv
dXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDkgQEAKKzxo
dG1sIGlkPSJodG1sIj4KKzxoZWFkIGlkPSJoZWFkIj4KKzxzY3JpcHQ+Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxkaXY+Rm9vPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0
bWwtYm9keS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0
LW91dGVyLWh0bWwtYm9keS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmRiMjEyMjA2MjdiYmJj
OWZjZWEyNWMyODNmM2E2ZTBjMGVhYWYwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIzIEBACitUZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBvbiBib2R5
IHRhZy4gCisKKworUnVubmluZzogdGVzdFNldFVwCisKK1J1bm5pbmc6IHRlc3RTZXRCb2R5Cis8
aHRtbCBpZD0iaHRtbCI+PGhlYWQgaWQ9ImhlYWQiPgorPHNjcmlwdD4KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+PCEtLSBuZXcgYm9keSBjb250ZW50IC0tPjwvYm9keT48L2h0bWw+CisKK1J1
bm5pbmc6IHRlc3RJbnNlcnRDb21tZW50cworPGh0bWwgaWQ9Imh0bWwiPjxoZWFkIGlkPSJoZWFk
Ij4KKzxzY3JpcHQ+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwhLS0gbmV3IGNvbW1lbnQgYmV0d2Vl
biBoZWFkIGFuZCBib2R5IC0tPjxib2R5PjwhLS0gbmV3IGJvZHkgY29udGVudCAtLT48L2JvZHk+
PC9odG1sPgorCitSdW5uaW5nOiB0ZXN0U2V0SGVhZAorPGh0bWwgaWQ9Imh0bWwiPjxoZWFkPjwh
LS0gbmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+Cis8IS0tIG5ldyBjb21tZW50IGJldHdlZW4g
aGVhZCBhbmQgYm9keSAtLT48Ym9keT48IS0tIG5ldyBib2R5IGNvbnRlbnQgLS0+PC9ib2R5Pjwv
aHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1v
dXRlci1odG1sLWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQt
b3V0ZXItaHRtbC1ib2R5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc3Mzk5M2NkNmZkMjZiYWYxNGYyNzg2
YmI1ZTA0Y2UwNGEwNWM0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0
bWw+Cis8aGVhZD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIHZhciBodG1sTm9kZTsKKyAgICB2YXIgYm9keU5vZGU7CisgICAg
dmFyIGhlYWROb2RlOworCisgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAg
ICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBhbmRFbGVtZW50c1RyZWUoc3RlcDEpOworICAgICAgICAgICAgZnVuY3Rpb24g
c3RlcDEoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGh0bWxOb2RlID0gSW5zcGVj
dG9yVGVzdC5leHBhbmRlZE5vZGVXaXRoSWQoImh0bWwiKTsKKyAgICAgICAgICAgICAgICBoZWFk
Tm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJoZWFkIik7CisgICAgICAg
ICAgICAgICAgYm9keU5vZGUgPSBJbnNwZWN0b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCgiYm9k
eSIpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0Qm9keShuZXh0KQorICAgICAgICB7CisgICAgICAg
ICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoYm9keU5vZGUuaWQsICI8Ym9keT48IS0tIG5ldyBi
b2R5IGNvbnRlbnQgLS0+PC9ib2R5PiIsIGR1bXBIVE1MKG5leHQpKTsKKyAgICAgICAgfSwKKwor
ICAgICAgICBmdW5jdGlvbiB0ZXN0SW5zZXJ0Q29tbWVudHMobmV4dCkKKyAgICAgICAgeworICAg
ICAgICAgICAgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MKGJvZHlOb2RlLmlkLCAiPCEtLSBuZXcgY29t
bWVudCBiZXR3ZWVuIGhlYWQgYW5kIGJvZHkgLS0+PGJvZHk+PCEtLSBuZXcgYm9keSBjb250ZW50
IC0tPjwvYm9keT4iLCBkdW1wSFRNTChuZXh0KSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdFNldEhlYWQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgRE9NQWdlbnQu
c2V0T3V0ZXJIVE1MKGhlYWROb2RlLmlkLCAiPGhlYWQ+PCEtLSBuZXcgaGVhZCBjb250ZW50IC0t
PjwvaGVhZD4iLCBkdW1wSFRNTChuZXh0KSk7CisgICAgICAgIH0sCisgICAgXSk7CisKKyAgICBm
dW5jdGlvbiBkdW1wSFRNTChuZXh0KQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZHVtcCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8vIFVzZXIgY29uc29sZS5sb2cgZm9yIG91dHB1dCBzaW5j
ZSBib2R5IGhhcyBiZWVuIG92ZXJ3cml0dGVuLgorICAgICAgICAgICAgRE9NQWdlbnQuZ2V0T3V0
ZXJIVE1MKGh0bWxOb2RlLmlkLCBjYWxsYmFjayk7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxs
YmFjayhlcnJvciwgdGV4dCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChlcnJvciA/IGVycm9yIDogdGV4dCk7CisgICAgICAgICAgICAgICAg
bmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiBkdW1wOwor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKzxwPgorVGVzdHMgRE9NQWdl
bnQuc2V0T3V0ZXJIVE1MIGludm9rZWQgb24gYm9keSB0YWcuCis8aWZyYW1lIHNyYz0icmVzb3Vy
Y2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48
L2lmcmFtZT4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122568</attachid>
            <date>2012-01-15 10:11:09 -0800</date>
            <delta_ts>2012-01-16 05:13:19 -0800</delta_ts>
            <desc>[Patch] Same with ability to set document&apos;s outer html.</desc>
            <filename>bug-62272-20120115221109.patch</filename>
            <type>text/plain</type>
            <size>16916</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4ZTEwYTM1NGFhZDA2
NGZjYjgzMTE2OWRlMDg3Y2FkNzZkYjc0Yy4uMzVmMjlkODQ3YmFlM2FlZGJiYTA0NDZiZmNkNTgx
NDE5NzJmMTQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTE1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGVkaXRpbmcgYm9keSBtdWx0aXBsaWVzIGhlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRl
ci1odG1sLWJvZHkuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0RPTUVkaXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01FZGl0b3I6OnBhdGNoRG9jdW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NRWRpdG9yOjpwYXRjaE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9y
Ojppbm5lclBhdGNoQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9yOjppbnNl
cnRCZWZvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9ET01FZGl0b3IuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRE9NQWdlbnQ6OnNldE91dGVySFRNTCk6CisKIDIwMTItMDEtMTMgIE9qYW4gVmFmYWkgIDxv
amFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgZmxleC1hbGlnbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAppbmRleCA4Zjc0NGIzZWUwNDEwN2EyYTBmY2Vk
MmI0MDljMGFiOWEwM2JmNzQyLi5hNDcyY2ZkNzdlYTY1ZWE4ZjEyMWM3MmE1NjM1M2ZmOWMwNzFl
Y2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CkBAIC01Miw2
ICs1MywxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K3VzaW5nIEhUTUxOYW1lczo6Ym9keVRhZzsKK3VzaW5nIEhUTUxOYW1lczo6aGVhZFRhZzsKK3Vz
aW5nIEhUTUxOYW1lczo6aHRtbFRhZzsKKwogc3RydWN0IERPTUVkaXRvcjo6RGlnZXN0IHsKICAg
ICBleHBsaWNpdCBEaWdlc3QoTm9kZSogbm9kZSkgOiBtX25vZGUobm9kZSkgeyB9CiAKQEAgLTc0
LDkgKzc5LDkgQEAgdm9pZCBET01FZGl0b3I6OnBhdGNoRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBt
YXJrdXApCiAgICAgcGFyc2VyLT5kZXRhY2goKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwotICAgIGlubmVyUGF0Y2hIVE1MRWxlbWVudChtX2RvY3VtZW50LT5oZWFkKCksIG5ld0RvY3Vt
ZW50LT5oZWFkKCksIGVjKTsKLSAgICBpZiAoIWVjKQotICAgICAgICBpbm5lclBhdGNoSFRNTEVs
ZW1lbnQobV9kb2N1bWVudC0+Ym9keSgpLCBuZXdEb2N1bWVudC0+Ym9keSgpLCBlYyk7CisgICAg
T3duUHRyPERpZ2VzdD4gb2xkSW5mbyA9IGNyZWF0ZURpZ2VzdChtX2RvY3VtZW50LT5kb2N1bWVu
dEVsZW1lbnQoKSwgMCk7CisgICAgT3duUHRyPERpZ2VzdD4gbmV3SW5mbyA9IGNyZWF0ZURpZ2Vz
dChuZXdEb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCksICZtX3VudXNlZE5vZGVzTWFwKTsKKyAg
ICBpbm5lclBhdGNoTm9kZShvbGRJbmZvLmdldCgpLCBuZXdJbmZvLmdldCgpLCBlYyk7CiAKICAg
ICBpZiAoZWMpIHsKICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHJld3JpdGUuCkBAIC04Nyw1MSAr
OTIsNDcgQEAgdm9pZCBET01FZGl0b3I6OnBhdGNoRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBtYXJr
dXApCiAKIE5vZGUqIERPTUVkaXRvcjo6cGF0Y2hOb2RlKE5vZGUqIG5vZGUsIGNvbnN0IFN0cmlu
ZyYgbWFya3VwLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBFbGVtZW50KiBwYXJlbnRFbGVt
ZW50ID0gbm9kZS0+cGFyZW50RWxlbWVudCgpOworICAgIC8vIERvbid0IHBhcnNlIDxodG1sPiBh
cyBhIGZyYWdtZW50LgorICAgIGlmIChub2RlID09IG5vZGUtPm93bmVyRG9jdW1lbnQoKS0+ZG9j
dW1lbnRFbGVtZW50KCkpIHsKKyAgICAgICAgcGF0Y2hEb2N1bWVudChtYXJrdXApOworICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisKICAgICBOb2RlKiBwcmV2aW91c1NpYmxpbmcgPSBub2RlLT5w
cmV2aW91c1NpYmxpbmcoKTsKICAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQg
PSBEb2N1bWVudEZyYWdtZW50OjpjcmVhdGUobV9kb2N1bWVudCk7Ci0gICAgZnJhZ21lbnQtPnBh
cnNlSFRNTChtYXJrdXAsIHBhcmVudEVsZW1lbnQpOworICAgIGZyYWdtZW50LT5wYXJzZUhUTUwo
bWFya3VwLCBub2RlLT5wYXJlbnRFbGVtZW50KCkgPyBub2RlLT5wYXJlbnRFbGVtZW50KCkgOiBt
X2RvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKSk7CiAKICAgICAvLyBDb21wb3NlIHRoZSBvbGQg
bGlzdC4KKyAgICBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
OwogICAgIFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+IG9sZExpc3Q7Ci0gICAgZm9yIChOb2RlKiBj
aGlsZCA9IHBhcmVudEVsZW1lbnQtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQt
Pm5leHRTaWJsaW5nKCkpCisgICAgZm9yIChOb2RlKiBjaGlsZCA9IHBhcmVudE5vZGUtPmZpcnN0
Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIG9s
ZExpc3QuYXBwZW5kKGNyZWF0ZURpZ2VzdChjaGlsZCwgMCkpOwogCiAgICAgLy8gQ29tcG9zZSB0
aGUgbmV3IGxpc3QuCisgICAgU3RyaW5nIG1hcmt1cENvcHkgPSBtYXJrdXA7CisgICAgbWFya3Vw
Q29weS5tYWtlTG93ZXIoKTsKICAgICBWZWN0b3I8T3duUHRyPERpZ2VzdD4gPiBuZXdMaXN0Owot
ICAgIGZvciAoTm9kZSogY2hpbGQgPSBwYXJlbnRFbGVtZW50LT5maXJzdENoaWxkKCk7IGNoaWxk
ICE9IG5vZGU7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCisgICAgZm9yIChOb2RlKiBj
aGlsZCA9IHBhcmVudE5vZGUtPmZpcnN0Q2hpbGQoKTsgY2hpbGQgIT0gbm9kZTsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKSkKICAgICAgICAgbmV3TGlzdC5hcHBlbmQoY3JlYXRlRGlnZXN0
KGNoaWxkLCAwKSk7Ci0gICAgZm9yIChOb2RlKiBjaGlsZCA9IGZyYWdtZW50LT5maXJzdENoaWxk
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQorICAgIGZvciAoTm9kZSog
Y2hpbGQgPSBmcmFnbWVudC0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUoaGVhZFRhZykgJiYg
IWNoaWxkLT5maXJzdENoaWxkKCkgJiYgbWFya3VwQ29weS5maW5kKCI8L2hlYWQ+IikgPT0gbm90
Rm91bmQpCisgICAgICAgICAgICBjb250aW51ZTsgLy8gSFRNTDUgcGFyc2VyIGluc2VydHMgZW1w
dHkgPGhlYWQ+IHRhZyB3aGVuZXZlciBpdCBwYXJzZXMgPGJvZHk+CisgICAgICAgIGlmIChjaGls
ZC0+aGFzVGFnTmFtZShib2R5VGFnKSAmJiAhY2hpbGQtPmZpcnN0Q2hpbGQoKSAmJiBtYXJrdXBD
b3B5LmZpbmQoIjwvYm9keT4iKSA9PSBub3RGb3VuZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOyAv
LyBIVE1MNSBwYXJzZXIgaW5zZXJ0cyBlbXB0eSA8Ym9keT4gdGFnIHdoZW5ldmVyIGl0IHBhcnNl
cyA8L2hlYWQ+CiAgICAgICAgIG5ld0xpc3QuYXBwZW5kKGNyZWF0ZURpZ2VzdChjaGlsZCwgJm1f
dW51c2VkTm9kZXNNYXApKTsKKyAgICB9CiAgICAgZm9yIChOb2RlKiBjaGlsZCA9IG5vZGUtPm5l
eHRTaWJsaW5nKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQogICAgICAg
ICBuZXdMaXN0LmFwcGVuZChjcmVhdGVEaWdlc3QoY2hpbGQsIDApKTsKIAotICAgIGlubmVyUGF0
Y2hDaGlsZHJlbihwYXJlbnRFbGVtZW50LCBvbGRMaXN0LCBuZXdMaXN0LCBlYyk7CisgICAgaW5u
ZXJQYXRjaENoaWxkcmVuKHBhcmVudE5vZGUsIG9sZExpc3QsIG5ld0xpc3QsIGVjKTsKICAgICBp
ZiAoZWMpIHsKICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRvdGFsIHJlcGxhY2UuCiAgICAgICAg
IGVjID0gMDsKLSAgICAgICAgcGFyZW50RWxlbWVudC0+cmVwbGFjZUNoaWxkKGZyYWdtZW50LnJl
bGVhc2UoKSwgbm9kZSwgZWMpOworICAgICAgICBwYXJlbnROb2RlLT5yZXBsYWNlQ2hpbGQoZnJh
Z21lbnQucmVsZWFzZSgpLCBub2RlLCBlYyk7CiAgICAgICAgIGlmIChlYykKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgIH0KLSAgICByZXR1cm4gcHJldmlvdXNTaWJsaW5nID8gcHJldmlvdXNT
aWJsaW5nLT5uZXh0U2libGluZygpIDogcGFyZW50RWxlbWVudC0+Zmlyc3RDaGlsZCgpOwotfQot
Ci12b2lkIERPTUVkaXRvcjo6aW5uZXJQYXRjaEhUTUxFbGVtZW50KEhUTUxFbGVtZW50KiBvbGRF
bGVtZW50LCBIVE1MRWxlbWVudCogbmV3RWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgaWYgKG9sZEVsZW1lbnQpICB7Ci0gICAgICAgIGlmIChuZXdFbGVtZW50KSB7Ci0gICAgICAg
ICAgICBPd25QdHI8RGlnZXN0PiBvbGRJbmZvID0gY3JlYXRlRGlnZXN0KG9sZEVsZW1lbnQsIDAp
OwotICAgICAgICAgICAgT3duUHRyPERpZ2VzdD4gbmV3SW5mbyA9IGNyZWF0ZURpZ2VzdChuZXdF
bGVtZW50LCAmbV91bnVzZWROb2Rlc01hcCk7Ci0gICAgICAgICAgICBpbm5lclBhdGNoTm9kZShv
bGRJbmZvLmdldCgpLCBuZXdJbmZvLmdldCgpLCBlYyk7Ci0gICAgICAgICAgICBpZiAoZWMpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG9sZEVsZW1lbnQtPnJl
bW92ZUFsbENoaWxkcmVuKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG5ld0Vs
ZW1lbnQpCi0gICAgICAgIG1fZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLT5hcHBlbmRDaGls
ZChuZXdFbGVtZW50LCBlYyk7CisgICAgcmV0dXJuIHByZXZpb3VzU2libGluZyA/IHByZXZpb3Vz
U2libGluZy0+bmV4dFNpYmxpbmcoKSA6IHBhcmVudE5vZGUtPmZpcnN0Q2hpbGQoKTsKIH0KIAog
dm9pZCBET01FZGl0b3I6OmlubmVyUGF0Y2hOb2RlKERpZ2VzdCogb2xkRGlnZXN0LCBEaWdlc3Qq
IG5ld0RpZ2VzdCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0yNjEsMTggKzI2MiwzMiBAQCBET01F
ZGl0b3I6OmRpZmYoY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG9sZExpc3QsIGNvbnN0
IFZlY3RvcjxPd25QdHI8RGlnZQogICAgIHJldHVybiBtYWtlX3BhaXIob2xkTWFwLCBuZXdNYXAp
OwogfQogCi12b2lkIERPTUVkaXRvcjo6aW5uZXJQYXRjaENoaWxkcmVuKEVsZW1lbnQqIGVsZW1l
bnQsIGNvbnN0IFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+JiBvbGRMaXN0LCBjb25zdCBWZWN0b3I8
T3duUHRyPERpZ2VzdD4gPiYgbmV3TGlzdCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIERPTUVk
aXRvcjo6aW5uZXJQYXRjaENoaWxkcmVuKENvbnRhaW5lck5vZGUqIHBhcmVudE5vZGUsIGNvbnN0
IFZlY3RvcjxPd25QdHI8RGlnZXN0PiA+JiBvbGRMaXN0LCBjb25zdCBWZWN0b3I8T3duUHRyPERp
Z2VzdD4gPiYgbmV3TGlzdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgcGFpcjxSZXN1bHRN
YXAsIFJlc3VsdE1hcD4gcmVzdWx0TWFwcyA9IGRpZmYob2xkTGlzdCwgbmV3TGlzdCk7CiAgICAg
UmVzdWx0TWFwJiBvbGRNYXAgPSByZXN1bHRNYXBzLmZpcnN0OwogICAgIFJlc3VsdE1hcCYgbmV3
TWFwID0gcmVzdWx0TWFwcy5zZWNvbmQ7CiAKKyAgICBEaWdlc3QqIG9sZEhlYWQgPSAwOworICAg
IERpZ2VzdCogb2xkQm9keSA9IDA7CisKICAgICAvLyAxLiBGaXJzdCBzdHJpcCBldmVyeXRoaW5n
IGV4Y2VwdCBmb3IgdGhlIG5vZGVzIHRoYXQgcmV0YWluLiBDb2xsZWN0IHBlbmRpbmcgbWVyZ2Vz
LgogICAgIEhhc2hNYXA8RGlnZXN0KiwgRGlnZXN0Kj4gbWVyZ2VzOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgb2xkTGlzdC5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAob2xkTWFwW2ld
LmZpcnN0KQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgLy8gQWx3YXlzIG1hdGNo
IDxoZWFkPiBhbmQgPGJvZHk+IHRhZ3Mgd2l0aCBlYWNoIG90aGVyIC0gd2UgY2FuJ3QgcmVtb3Zl
IHRoZW0gZnJvbSB0aGUgRE9NCisgICAgICAgIC8vIHVwb24gcGF0Y2hpbmcuCisgICAgICAgIGlm
IChvbGRMaXN0W2ldLT5tX25vZGUtPmhhc1RhZ05hbWUoaGVhZFRhZykpIHsKKyAgICAgICAgICAg
IG9sZEhlYWQgPSBvbGRMaXN0W2ldLmdldCgpOworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKG9sZExpc3RbaV0tPm1fbm9kZS0+aGFzVGFnTmFtZShib2R5VGFn
KSkgeworICAgICAgICAgICAgb2xkQm9keSA9IG9sZExpc3RbaV0uZ2V0KCk7CisgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgY2hhbmdl
IGlzIGJldHdlZW4gc3RhYmxlIG5vZGVzLiBJZiBpdCBpcywgY29uc2lkZXIgaXQgYXMgIm1vZGlm
aWVkIi4KICAgICAgICAgaWYgKCFtX3VudXNlZE5vZGVzTWFwLmNvbnRhaW5zKG9sZExpc3RbaV0t
Pm1fc2hhMSkgJiYgKCFpIHx8IG9sZE1hcFtpIC0gMV0uZmlyc3QpICYmIChpID09IG9sZE1hcC5z
aXplKCkgLSAxIHx8IG9sZE1hcFtpICsgMV0uZmlyc3QpKSB7CiAgICAgICAgICAgICBzaXplX3Qg
YW5jaG9yQ2FuZGlkYXRlID0gaSA/IG9sZE1hcFtpIC0gMV0uc2Vjb25kICsgMSA6IDA7CkBAIC0y
OTcsNiArMzEyLDE2IEBAIHZvaWQgRE9NRWRpdG9yOjppbm5lclBhdGNoQ2hpbGRyZW4oRWxlbWVu
dCogZWxlbWVudCwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+CiAgICAgICAgICAgICBtYXJr
Tm9kZUFzVXNlZChuZXdNYXBbaV0uZmlyc3QpOwogICAgIH0KIAorICAgIC8vIE1hcmsgPGhlYWQ+
IGFuZCA8Ym9keT4gbm9kZXMgZm9yIG1lcmdlLgorICAgIGlmIChvbGRIZWFkIHx8IG9sZEJvZHkp
IHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuZXdMaXN0LnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICBpZiAob2xkSGVhZCAmJiBuZXdMaXN0W2ldLT5tX25vZGUtPmhhc1RhZ05h
bWUoaGVhZFRhZykpCisgICAgICAgICAgICAgICAgbWVyZ2VzLnNldChuZXdMaXN0W2ldLmdldCgp
LCBvbGRIZWFkKTsKKyAgICAgICAgICAgIGlmIChvbGRCb2R5ICYmIG5ld0xpc3RbaV0tPm1fbm9k
ZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKKyAgICAgICAgICAgICAgICBtZXJnZXMuc2V0KG5ld0xp
c3RbaV0uZ2V0KCksIG9sZEJvZHkpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gMi4gUGF0
Y2ggbm9kZXMgbWFya2VkIGZvciBtZXJnZS4KICAgICBmb3IgKEhhc2hNYXA8RGlnZXN0KiwgRGln
ZXN0Kj46Oml0ZXJhdG9yIGl0ID0gbWVyZ2VzLmJlZ2luKCk7IGl0ICE9IG1lcmdlcy5lbmQoKTsg
KytpdCkgewogICAgICAgICBpbm5lclBhdGNoTm9kZShpdC0+c2Vjb25kLCBpdC0+Zmlyc3QsIGVj
KTsKQEAgLTMxMCw3ICszMzUsNyBAQCB2b2lkIERPTUVkaXRvcjo6aW5uZXJQYXRjaENoaWxkcmVu
KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFZlY3RvcjxPd25QdHI8RGlnZXN0PgogICAgICAgICAg
ICAgY29udGludWU7CiAKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgICAgIGlu
c2VydEJlZm9yZShlbGVtZW50LCBuZXdMaXN0W2ldLmdldCgpLCBlbGVtZW50LT5jaGlsZE5vZGUo
aSksIGVjKTsKKyAgICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudE5vZGUsIG5ld0xpc3RbaV0uZ2V0
KCksIHBhcmVudE5vZGUtPmNoaWxkTm9kZShpKSwgZWMpOwogICAgICAgICBpZiAoZWMpCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMzIwLDExICszNDUsMTMgQEAgdm9pZCBET01FZGl0
b3I6OmlubmVyUGF0Y2hDaGlsZHJlbihFbGVtZW50KiBlbGVtZW50LCBjb25zdCBWZWN0b3I8T3du
UHRyPERpZ2VzdD4KICAgICAgICAgaWYgKCFvbGRNYXBbaV0uZmlyc3QpCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGUgPSBvbGRNYXBbaV0uZmlyc3QtPm1f
bm9kZTsKLSAgICAgICAgTm9kZSogYW5jaG9yTm9kZSA9IGVsZW1lbnQtPmNoaWxkTm9kZShvbGRN
YXBbaV0uc2Vjb25kKTsKKyAgICAgICAgTm9kZSogYW5jaG9yTm9kZSA9IHBhcmVudE5vZGUtPmNo
aWxkTm9kZShvbGRNYXBbaV0uc2Vjb25kKTsKICAgICAgICAgaWYgKG5vZGUuZ2V0KCkgPT0gYW5j
aG9yTm9kZSkKICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAobm9kZS0+aGFzVGFn
TmFtZShib2R5VGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKGhlYWRUYWcpKQorICAgICAgICAgICAg
Y29udGludWU7IC8vIE5ldmVyIG1vdmUgaGVhZCBvciBib2R5LCBtb3ZlIHRoZSByZXN0IG9mIHRo
ZSBub2RlcyBhcm91bmQgdGhlbS4KIAotICAgICAgICBlbGVtZW50LT5pbnNlcnRCZWZvcmUobm9k
ZSwgYW5jaG9yTm9kZSwgZWMpOworICAgICAgICBwYXJlbnROb2RlLT5pbnNlcnRCZWZvcmUobm9k
ZSwgYW5jaG9yTm9kZSwgZWMpOwogICAgICAgICBpZiAoZWMpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtMzgxLDkgKzQwOCw5IEBAIFBhc3NPd25QdHI8RE9NRWRpdG9yOjpEaWdlc3Q+
IERPTUVkaXRvcjo6Y3JlYXRlRGlnZXN0KE5vZGUqIG5vZGUsIFVudXNlZE5vZGVzTWFwCiAgICAg
cmV0dXJuIGFkb3B0UHRyKGRpZ2VzdCk7CiB9CiAKLXZvaWQgRE9NRWRpdG9yOjppbnNlcnRCZWZv
cmUoRWxlbWVudCogcGFyZW50RWxlbWVudCwgRGlnZXN0KiBkaWdlc3QsIE5vZGUqIGFuY2hvciwg
RXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIERPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKENvbnRhaW5l
ck5vZGUqIHBhcmVudE5vZGUsIERpZ2VzdCogZGlnZXN0LCBOb2RlKiBhbmNob3IsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewotICAgIHBhcmVudEVsZW1lbnQtPmluc2VydEJlZm9yZShkaWdlc3QtPm1f
bm9kZSwgYW5jaG9yLCBlYyk7CisgICAgcGFyZW50Tm9kZS0+aW5zZXJ0QmVmb3JlKGRpZ2VzdC0+
bV9ub2RlLCBhbmNob3IsIGVjKTsKICAgICBtYXJrTm9kZUFzVXNlZChkaWdlc3QpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmgKaW5kZXggNzE5ZGE2NWZiMWE3MzE0NWY5NTkx
ZjJlODI5YWQ4Y2Y5ZDhjODA3NS4uOWEwNmU0NjM2OGNmNDdhMDVhZTRhNjcwMmYzN2Q1MjQ1OWVh
Y2Q4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaApAQCAtNDMsNyArNDMsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBEb2N1
bWVudDsKLWNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIE5hbWVkTm9k
ZU1hcDsKIGNsYXNzIE5vZGU7CkBAIC02MywxMiArNjIsMTEgQEAgcHJpdmF0ZToKICAgICB0eXBl
ZGVmIFZlY3RvcjxwYWlyPERpZ2VzdCosIHNpemVfdD4gPiBSZXN1bHRNYXA7CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFN0cmluZywgRGlnZXN0Kj4gVW51c2VkTm9kZXNNYXA7CiAKLSAgICB2b2lkIGlu
bmVyUGF0Y2hIVE1MRWxlbWVudChIVE1MRWxlbWVudCogb2xkRWxlbWVudCwgSFRNTEVsZW1lbnQq
IG5ld0VsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGlubmVyUGF0Y2hOb2RlKERp
Z2VzdCogb2xkTm9kZSwgRGlnZXN0KiBuZXdOb2RlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgc3Rk
OjpwYWlyPFJlc3VsdE1hcCwgUmVzdWx0TWFwPiBkaWZmKGNvbnN0IFZlY3RvcjxPd25QdHI8RGln
ZXN0PiA+JiBvbGRDaGlsZHJlbiwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4mIG5ld0No
aWxkcmVuKTsKLSAgICB2b2lkIGlubmVyUGF0Y2hDaGlsZHJlbihFbGVtZW50KiwgY29uc3QgVmVj
dG9yPE93blB0cjxEaWdlc3Q+ID4mIG9sZENoaWxkcmVuLCBjb25zdCBWZWN0b3I8T3duUHRyPERp
Z2VzdD4gPiYgbmV3Q2hpbGRyZW4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGlubmVyUGF0
Y2hDaGlsZHJlbihDb250YWluZXJOb2RlKiwgY29uc3QgVmVjdG9yPE93blB0cjxEaWdlc3Q+ID4m
IG9sZENoaWxkcmVuLCBjb25zdCBWZWN0b3I8T3duUHRyPERpZ2VzdD4gPiYgbmV3Q2hpbGRyZW4s
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzT3duUHRyPERpZ2VzdD4gY3JlYXRlRGlnZXN0KE5v
ZGUqLCBVbnVzZWROb2Rlc01hcCopOwotICAgIHZvaWQgaW5zZXJ0QmVmb3JlKEVsZW1lbnQqIHBh
cmVudEVsZW1lbnQsIERpZ2VzdCosIE5vZGUqIGFuY2hvciwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgaW5zZXJ0QmVmb3JlKENvbnRhaW5lck5vZGUqLCBEaWdlc3QqLCBOb2RlKiBhbmNob3Is
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHJlbW92ZUNoaWxkKERpZ2VzdCosIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIG1hcmtOb2RlQXNVc2VkKERpZ2VzdCopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBhODFiYmEwOTM3
MGU4YjZiNzVkMGQ2ZjY3MWM2MmJjNDVkMzgzOTNjLi5hYjYyOTA1YjYwNTE3YTFkZDJhMWNhNjUx
MTEyMDg4ZmJkODUwYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKQEAgLTY0OSwxMiArNjQ5LDYgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6c2V0T3V0ZXJIVE1MKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgY29u
c3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEVsZW1lbnQqIHBhcmVudEVsZW1lbnQg
PSBub2RlLT5wYXJlbnRFbGVtZW50KCk7Ci0gICAgaWYgKCFwYXJlbnRFbGVtZW50KSB7Ci0gICAg
ICAgICplcnJvclN0cmluZyA9ICJDYW4gb25seSBzZXQgb3V0ZXIgSFRNTCB0byBub2RlcyB3aXRo
aW4gRWxlbWVudCI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBET01FZGl0b3IgZG9t
RWRpdG9yKGRvY3VtZW50KTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpAQCAtNjY1LDE0
ICs2NTksNiBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRPdXRlckhUTUwoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdAogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgYm9vbCByZXF1aXJlc1RvdGFsVXBkYXRlID0gbm9kZS0+aXNIVE1MRWxlbWVudCgp
ICYmIChub2RlLT5ub2RlTmFtZSgpID09ICJIVE1MIiB8fCBub2RlLT5ub2RlTmFtZSgpID09ICJC
T0RZIiB8fCBub2RlLT5ub2RlTmFtZSgpID09ICJIRUFEIik7Ci0gICAgaWYgKHJlcXVpcmVzVG90
YWxVcGRhdGUpIHsKLSAgICAgICAgUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IG1fZG9jdW1l
bnQ7Ci0gICAgICAgIHJlc2V0KCk7Ci0gICAgICAgIHNldERvY3VtZW50KGRvY3VtZW50LmdldCgp
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGlmICghbmV3Tm9kZSkgewogICAgICAg
ICAvLyBUaGUgb25seSBjaGlsZCBub2RlIGhhcyBiZWVuIGRlbGV0ZWQuCiAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBjMzk5MmRmOGUxODg3NzliOTZiNjgxZTYxYTU5OWUyNDEwYzRlNWRiLi4wMTUz
ZmI5ZjAwODA3MjM1NzM1OGZkMGIzN2NlYmFhYzg3OTYxMzExIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTItMDEtMTUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogZWRpdGluZyBib2R5IG11bHRpcGxpZXMgaGVhZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNzIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9l
bGVtZW50cy9yZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJvZHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0
bWwtYm9keS5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0xMyAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFNraXAgdGVzdCB0aGF0IHN0YXJ0ZWQgZmFpbGluZyBhZnRl
ciByMTA1MDE1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Jl
c291cmNlcy9zZXQtb3V0ZXItaHRtbC1ib2R5LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtb3V0ZXItaHRtbC1ib2R5LWlmcmFtZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ5MGUwYzZkNGJhY2MyMDg1YmEyNjgxZTZmZmYxOTdhMjBmZjYzM2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvcmVzb3VyY2Vz
L3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw5IEBACis8aHRtbCBp
ZD0iaHRtbCI+Cis8aGVhZCBpZD0iaGVhZCI+Cis8c2NyaXB0PgorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBpZD0iYm9keSI+Cis8ZGl2PkZvbzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJv
ZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRl
ci1odG1sLWJvZHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3OGJiYTI0ODNiY2IwMmZhMDQ5
ZmI1ODkzNmE1NDI3NzRkNDIyZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNiBAQAorVGVzdHMgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIGludm9rZWQgb24gYm9keSB0YWcu
IAorCisKK1J1bm5pbmc6IHRlc3RTZXRVcAorCitSdW5uaW5nOiB0ZXN0U2V0Qm9keQorPGh0bWwg
aWQ9Imh0bWwiPjxoZWFkIGlkPSJoZWFkIj4KKzxzY3JpcHQ+Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+PC9odG1sPgorCitSdW5uaW5nOiB0ZXN0SW5z
ZXJ0Q29tbWVudHMKKzxodG1sIGlkPSJodG1sIj48aGVhZCBpZD0iaGVhZCI+Cis8c2NyaXB0Pgor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8IS0tIG5ldyBjb21tZW50IGJldHdlZW4gaGVhZCBhbmQgYm9k
eSAtLT48Ym9keT5OZXcgYm9keSBjb250ZW50PC9ib2R5PjwvaHRtbD4KKworUnVubmluZzogdGVz
dFNldEhlYWQKKzxodG1sIGlkPSJodG1sIj48aGVhZD48IS0tIG5ldyBoZWFkIGNvbnRlbnQgLS0+
PC9oZWFkPgorPCEtLSBuZXcgY29tbWVudCBiZXR3ZWVuIGhlYWQgYW5kIGJvZHkgLS0+PGJvZHk+
TmV3IGJvZHkgY29udGVudDwvYm9keT48L2h0bWw+CisKK1J1bm5pbmc6IHRlc3RTZXRIVE1MCis8
aHRtbD48aGVhZD48IS0tIG5ldyBoZWFkIGNvbnRlbnQgLS0+PC9oZWFkPjxib2R5PlNldHRpbmcg
Ym9keSBhcyBhIHBhcnQgb2YgSFRNTC48L2JvZHk+PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtYm9keS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJvZHkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wMTVkNzMyZmM1ODQ3MzhmODhhMjY0M2RlMjIyZDE4NDRjY2VlMjg0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1vdXRlci1odG1s
LWJvZHkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8aHRtbD4KKzxoZWFkPgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGh0
bWxOb2RlOworICAgIHZhciBib2R5Tm9kZTsKKyAgICB2YXIgaGVhZE5vZGU7CisKKyAgICBJbnNw
ZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0
KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJl
ZShzdGVwMSk7CisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgaHRtbE5vZGUgPSBJbnNwZWN0b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJ
ZCgiaHRtbCIpOworICAgICAgICAgICAgICAgIGhlYWROb2RlID0gSW5zcGVjdG9yVGVzdC5leHBh
bmRlZE5vZGVXaXRoSWQoImhlYWQiKTsKKyAgICAgICAgICAgICAgICBib2R5Tm9kZSA9IEluc3Bl
Y3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJib2R5Iik7CisgICAgICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRCb2R5KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIERPTUFnZW50LnNldE91dGVySFRN
TChib2R5Tm9kZS5pZCwgIjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+IiwgZHVtcEhUTUwo
bmV4dCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RJbnNlcnRDb21tZW50
cyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoYm9k
eU5vZGUuaWQsICI8IS0tIG5ldyBjb21tZW50IGJldHdlZW4gaGVhZCBhbmQgYm9keSAtLT48Ym9k
eT5OZXcgYm9keSBjb250ZW50PC9ib2R5PiIsIGR1bXBIVE1MKG5leHQpKTsKKyAgICAgICAgfSwK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0SGVhZChuZXh0KQorICAgICAgICB7CisgICAgICAg
ICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoaGVhZE5vZGUuaWQsICI8aGVhZD48IS0tIG5ldyBo
ZWFkIGNvbnRlbnQgLS0+PC9oZWFkPiIsIGR1bXBIVE1MKG5leHQpKTsKKyAgICAgICAgfSwKKwor
ICAgICAgICAgZnVuY3Rpb24gdGVzdFNldEhUTUwobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MKGh0bWxOb2RlLmlkLCAiPGh0bWw+PGhlYWQ+PCEtLSBu
ZXcgaGVhZCBjb250ZW50IC0tPjwvaGVhZD48Ym9keT5TZXR0aW5nIGJvZHkgYXMgYSBwYXJ0IG9m
IEhUTUwuPC9ib2R5PjwvaHRtbD4iLCBkdW1wSFRNTChuZXh0KSk7CisgICAgICAgIH0KKyAgICBd
KTsKKworICAgIGZ1bmN0aW9uIGR1bXBIVE1MKG5leHQpCisgICAgeworICAgICAgICBmdW5jdGlv
biBkdW1wKCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gVXNlciBjb25zb2xlLmxvZyBmb3Ig
b3V0cHV0IHNpbmNlIGJvZHkgaGFzIGJlZW4gb3ZlcndyaXR0ZW4uCisgICAgICAgICAgICBET01B
Z2VudC5nZXRPdXRlckhUTUwoaHRtbE5vZGUuaWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKGVycm9yLCB0ZXh0KQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9yID8gZXJyb3IgOiB0ZXh0KTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0
dXJuIGR1bXA7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+CitU
ZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBvbiBib2R5IHRhZy4KKzxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbCIgb25sb2FkPSJy
dW5UZXN0KCkiPjwvaWZyYW1lPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="123398"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>