<?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>149365</bug_id>
          
          <creation_ts>2015-09-18 19:24:44 -0700</creation_ts>
          <short_desc>Inserting or removing slot elements can cause a crash</short_desc>
          <delta_ts>2015-09-18 21:18:49 -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>DOM</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127342</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-18 19:24:44 -0700</bug_when>
    <thetext>HTMLSlotElement::insertedInto and HTMLSlotElement::removedFrom are completely wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127344</commentid>
    <comment_count>1</comment_count>
      <attachid>261561</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-18 19:46:30 -0700</bug_when>
    <thetext>Created attachment 261561
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127347</commentid>
    <comment_count>2</comment_count>
      <attachid>261561</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-09-18 20:08:46 -0700</bug_when>
    <thetext>Comment on attachment 261561
Fixes the bug

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

&gt; Source/WebCore/html/HTMLSlotElement.cpp:52
&gt; +    if (insertionPoint.isInShadowTree() &amp;&amp; isInShadowTree() &amp;&amp; &amp;insertionPoint.treeScope() == &amp;treeScope()) {

This could use a comment.

&gt; Source/WebCore/html/HTMLSlotElement.cpp:53
&gt; +        if (auto shadowRoot = containingShadowRoot())

auto*

&gt; Source/WebCore/html/HTMLSlotElement.cpp:63
&gt;      // Can&apos;t call containingShadowRoot() here since this node has already been disconnected from the parent.
&gt; -    if (isInShadowTree()) {
&gt; -        auto&amp; oldShadowRoot = downcast&lt;ShadowRoot&gt;(insertionPoint.treeScope().rootNode());
&gt; -        oldShadowRoot.removeSlotElementByName(fastGetAttribute(nameAttr), *this);
&gt; +    if (insertionPoint.isInShadowTree() &amp;&amp; isInShadowTree() &amp;&amp; &amp;treeScope() == &amp;document()) {

This could use a bit more comprehensive comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127351</commentid>
    <comment_count>3</comment_count>
      <attachid>261563</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-18 20:30:16 -0700</bug_when>
    <thetext>Created attachment 261563
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127352</commentid>
    <comment_count>4</comment_count>
      <attachid>261563</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-18 20:32:04 -0700</bug_when>
    <thetext>Comment on attachment 261563
Patch for landing

Rejecting attachment 261563 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 261563, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/185244</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127353</commentid>
    <comment_count>5</comment_count>
      <attachid>261564</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-18 20:33:21 -0700</bug_when>
    <thetext>Created attachment 261564
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127364</commentid>
    <comment_count>6</comment_count>
      <attachid>261564</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-18 21:18:44 -0700</bug_when>
    <thetext>Comment on attachment 261564
Patch for landing

Clearing flags on attachment: 261564

Committed r190008: &lt;http://trac.webkit.org/changeset/190008&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127365</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-18 21:18:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261561</attachid>
            <date>2015-09-18 19:46:30 -0700</date>
            <delta_ts>2015-09-18 20:30:11 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-149365-20150918194616.patch</filename>
            <type>text/plain</type>
            <size>8993</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDAwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA5LTE4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEluc2VydGluZyBvciByZW1vdmlu
ZyBzbG90IGVsZW1lbnRzIGNhbiBjYXVzZSBhIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byBh
bmQgcmVtb3ZlZEZyb20gd2VyZSBkb2luZyBjb21wbGV0ZWx5IG5vbi1zZW5zaWNhbC4KKworICAg
ICAgICBTaW5jZSBpbnNlcnRlZEludG8gYW5kIHJlbW92ZWRGcm9tIGFyZSBjYWxsZWQgb24gYW4g
ZWxlbWVudCB3aGVuZXZlciBpdCBvciBpdHMgYW5jZXN0b3IgaXMgaW5zZXJ0ZWQgaW50bworICAg
ICAgICBvciByZW1vdmVkIGZyb20gYSBjb250YWluZXIgbm9kZSwgd2UgY2FuJ3QgYWx3YXlzIGNh
bGwgYWRkU2xvdEVsZW1lbnRCeU5hbWUgcmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUgd2hlbgorICAg
ICAgICB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZC4gSW5zdGVhZCwgd2UgbmVlZCB0byBjaGVj
ayB3aGV0aGVyIHRoaXMgc2xvdCBoYXMgYmVlbiBpbnNlcnRlZCBpbnRvIG9yIHJlbW92ZWQKKyAg
ICAgICAgZnJvbSBhIGNvbnRhaW5lciBub2RlIHRoYXQgcmVzaWRlcyBpbnNpZGUgYSBzaGFkb3cg
cm9vdC4KKworICAgICAgICBBbHNvIHJldmVydGVkIHIxODk5MDYgc2luY2UgdGhlIGNoYW5nZSB3
YXMgbWFkZSB1cG9uIGEgYm9ndXMgYXNzdW1wdGlvbiBJIGhhZCBtYWRlLgorCisgICAgICAgIFRl
c3Q6IGZhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2guaHRtbAorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YWRkU2hhZG93Um9v
dCk6IFJldmVydGVkIHIxODk5MDYuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVT
aGFkb3dSb290KTogRGl0dG8uCisKKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byk6IFdoZW4g
dGhlIGluc2VydGlvbiBwb2ludCdzIHRyZWUgc2NvcGUgaXMgZGlmZmVyZW50IGZyb20gb3VycywK
KyAgICAgICAgdGhlIGluc2VydGlvbiBoYXBwZW5lZCB0byBvdXIgc2hhZG93IGhvc3Qgb3IgaXRz
IGFuY2VzdG9yLiBUaGVyZSBpcyBub3RoaW5nIHRvIGJlIGRvbmUgaW4gdGhhdCBjYXNlIHNpbmNl
CisgICAgICAgIHRoZSBzaGFkb3cgdHJlZSB3YXMgbm90IG1vZGlmaWVkIChpbiBwYXJ0aWN1bGFy
LCBvdXIgcmVsYXRpb25zaGlwIHdpdGggb3VyIHNoYWRvdyByb290IG5ldmVyIGNoYW5nZWQpLgor
ICAgICAgICBXZSBhbHNvIGRvbid0IGRvIGFueXRoaW5nIGlmIHdlIGdvdCBpbnNlcnRlZCBpbnRv
IGEgcGFyZW50IHdoaWNoIGlzIG5vdCBpbnNpZGUgYSBzaGFkb3cgdHJlZS4KKworICAgICAgICAo
V2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50OjpyZW1vdmVkRnJvbSk6IFNpbmNlIENvbnRhaW5lcjo6
cmVtb3ZlQmV0d2VlbiBzZXRzIHRoZSB0cmVlIHNjb3BlIGJlZm9yZSB0aGlzCisgICAgICAgIGZ1
bmN0aW9uIGlzIGdldHRpbmcgY2FsbGVkLCB3ZSBjYW4ndCBjb21wYXJlIHRoaXMgZWxlbWVudCdz
IHRyZWVTY29wZSB3aXRoIHRoYXQgb2YgdGhlICJpbnNlcnRpb24iIHBvaW50LgorICAgICAgICBU
aGV5J3JlIGFsd2F5cyBkaWZmZXJlbnQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBpbnNlcnRp
b24gcG9pbnQgd2FzIGluIHRoZSBzYW1lIHNoYWRvdyB0cmVlIHRvIHdoaWNoCisgICAgICAgIHdl
IGJlbG9uZyBvciBpdHMgc2hhZG93IGhvc3Qncy4gSG93ZXZlciwgc2luY2UgYSBub2RlIHJlbW92
ZWQgZnJvbSBhIHNoYWRvdyB0cmVlIGlzIHB1dCBpbnRvIGRvY3VtZW50J3MKKyAgICAgICAgdHJl
ZSBzY29wZSBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYW5kIEluU2hhZG93VHJlZSBm
bGFnIGlzIHVuc2V0IGluIE5vZGU6OnJlbW92ZWRGcm9tIGF0IHRoZSBlbmQKKyAgICAgICAgb2Yg
dGhpcyBmdW5jdGlvbiwgdGhpcyBzbG90IGVsZW1lbnQgaXMgZGVmaW5pdGVseSBiZWluZyByZW1v
dmVkIGZyb20gaXRzIHNoYWRvdyByb290IHdoZW4gaXNJblNoYWRvd1RyZWUoKQorICAgICAgICBp
cyB0cnVlIGFuZCB0aGUgbmV3bHkgc2V0IHRyZWUgc2NvcGUgaXMgb2YgdGhlIGRvY3VtZW50LiBT
byBjYWxsIHJlbW92ZVNsb3RFbGVtZW50QnlOYW1lIGlmIGFuZCBvbmx5IGlmCisgICAgICAgIHRo
YXQgY29uZGl0aW9uIGhvbGRzLgorCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6
OmdldERpc3RyaWJ1dGVkTm9kZXMpOiBFeHBsaWNpdGx5IGNoZWNrIHRoYXQgd2UncmUgaW5zaWRl
IGEgc2hhZG93IHJvb3QuCisKIDIwMTUtMDktMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlZmluZSBhbmQgc2ltcGxpZnkgc29tZSBjb2xvci1yZWxhdGVkIGNv
ZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4OTk3NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyMywxOSArMTYy
MywxMCBAQCB2b2lkIEVsZW1lbnQ6OmFkZFNoYWRvd1Jvb3QoUmVmPFNoYWRvd1JvCiAgICAgc2hh
ZG93Um9vdC5zZXRIb3N0KHRoaXMpOwogICAgIHNoYWRvd1Jvb3Quc2V0UGFyZW50VHJlZVNjb3Bl
KCZ0cmVlU2NvcGUoKSk7CiAKLSAgICBhdXRvIHNoYWRvd1Jvb3RJbnNlcnRpb25SZXN1bHQgPSBz
aGFkb3dSb290Lmluc2VydGVkSW50bygqdGhpcyk7Ci0gICAgQVNTRVJUX1VOVVNFRChzaGFkb3dS
b290SW5zZXJ0aW9uUmVzdWx0LCBzaGFkb3dSb290SW5zZXJ0aW9uUmVzdWx0ID09IEluc2VydGlv
bkRvbmUpOwotICAgIGlmIChhdXRvKiBmaXJzdENoaWxkID0gc2hhZG93Um9vdC5maXJzdENoaWxk
KCkpIHsKLSAgICAgICAgTm9kZVZlY3RvciBwb3N0SW5zZXJ0aW9uTm90aWZpY2F0aW9uVGFyZ2V0
czsKLSAgICAgICAgewotICAgICAgICAgICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uIGFzc2Vy
dE5vRXZlbnREaXNwYXRjaDsKLSAgICAgICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENo
aWxkOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgICAgICAg
ICBub3RpZnlDaGlsZE5vZGVJbnNlcnRlZChzaGFkb3dSb290LCAqY2hpbGQsIHBvc3RJbnNlcnRp
b25Ob3RpZmljYXRpb25UYXJnZXRzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZvciAoYXV0byYg
dGFyZ2V0IDogcG9zdEluc2VydGlvbk5vdGlmaWNhdGlvblRhcmdldHMpCi0gICAgICAgICAgICB0
YXJnZXQtPmZpbmlzaGVkSW5zZXJ0aW5nU3VidHJlZSgpOwotICAgIH0KKyAgICBOb2RlVmVjdG9y
IHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzOworICAgIG5vdGlmeUNoaWxkTm9kZUlu
c2VydGVkKCp0aGlzLCBzaGFkb3dSb290LCBwb3N0SW5zZXJ0aW9uTm90aWZpY2F0aW9uVGFyZ2V0
cyk7CisgICAgZm9yIChhdXRvJiB0YXJnZXQgOiBwb3N0SW5zZXJ0aW9uTm90aWZpY2F0aW9uVGFy
Z2V0cykKKyAgICAgICAgdGFyZ2V0LT5maW5pc2hlZEluc2VydGluZ1N1YnRyZWUoKTsKIAogICAg
IHJlc2V0TmVlZHNOb2RlUmVuZGVyaW5nVHJhdmVyc2FsU2xvd1BhdGgoKTsKIApAQCAtMTY2Miwx
MyArMTY1Myw3IEBAIHZvaWQgRWxlbWVudDo6cmVtb3ZlU2hhZG93Um9vdCgpCiAgICAgb2xkUm9v
dC0+c2V0SG9zdChudWxscHRyKTsKICAgICBvbGRSb290LT5zZXRQYXJlbnRUcmVlU2NvcGUoJmRv
Y3VtZW50KCkpOwogCi0gICAgewotICAgICAgICBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24gYXNz
ZXJ0Tm9FdmVudERpc3BhdGNoOwotICAgICAgICBmb3IgKGF1dG8qIGNoaWxkID0gb2xkUm9vdC0+
Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkKLSAgICAg
ICAgICAgIG5vdGlmeUNoaWxkTm9kZVJlbW92ZWQoKm9sZFJvb3QsICpjaGlsZCk7Ci0gICAgfQot
Ci0gICAgb2xkUm9vdC0+cmVtb3ZlZEZyb20oKnRoaXMpOworICAgIG5vdGlmeUNoaWxkTm9kZVJl
bW92ZWQoKnRoaXMsICpvbGRSb290KTsKIH0KIAogUmVmUHRyPFNoYWRvd1Jvb3Q+IEVsZW1lbnQ6
OmNyZWF0ZVNoYWRvd1Jvb3QoRXhjZXB0aW9uQ29kZSYgZWMpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTbG90RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU2xvdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5
LDEwIEBAIEhUTUxTbG90RWxlbWVudDo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmUKICAgICBhdXRv
IGluc2VydGlvblJlc3VsdCA9IEhUTUxFbGVtZW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9p
bnQpOwogICAgIEFTU0VSVF9VTlVTRUQoaW5zZXJ0aW9uUmVzdWx0LCBpbnNlcnRpb25SZXN1bHQg
PT0gSW5zZXJ0aW9uRG9uZSk7CiAKLSAgICBpZiAoYXV0byBzaGFkb3dSb290ID0gY29udGFpbmlu
Z1NoYWRvd1Jvb3QoKSkKLSAgICAgICAgc2hhZG93Um9vdC0+YWRkU2xvdEVsZW1lbnRCeU5hbWUo
ZmFzdEdldEF0dHJpYnV0ZShuYW1lQXR0ciksICp0aGlzKTsKKyAgICBpZiAoaW5zZXJ0aW9uUG9p
bnQuaXNJblNoYWRvd1RyZWUoKSAmJiBpc0luU2hhZG93VHJlZSgpICYmICZpbnNlcnRpb25Qb2lu
dC50cmVlU2NvcGUoKSA9PSAmdHJlZVNjb3BlKCkpIHsKKyAgICAgICAgaWYgKGF1dG8gc2hhZG93
Um9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisgICAgICAgICAgICBzaGFkb3dSb290LT5h
ZGRTbG90RWxlbWVudEJ5TmFtZShmYXN0R2V0QXR0cmlidXRlKG5hbWVBdHRyKSwgKnRoaXMpOwor
ICAgIH0KIAogICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogfQpAQCAtNTgsOSArNjAsMTAgQEAg
SFRNTFNsb3RFbGVtZW50OjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZQogdm9pZCBIVE1MU2xvdEVs
ZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmIGluc2VydGlvblBvaW50KQogewogICAg
IC8vIENhbid0IGNhbGwgY29udGFpbmluZ1NoYWRvd1Jvb3QoKSBoZXJlIHNpbmNlIHRoaXMgbm9k
ZSBoYXMgYWxyZWFkeSBiZWVuIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBwYXJlbnQuCi0gICAgaWYg
KGlzSW5TaGFkb3dUcmVlKCkpIHsKLSAgICAgICAgYXV0byYgb2xkU2hhZG93Um9vdCA9IGRvd25j
YXN0PFNoYWRvd1Jvb3Q+KGluc2VydGlvblBvaW50LnRyZWVTY29wZSgpLnJvb3ROb2RlKCkpOwot
ICAgICAgICBvbGRTaGFkb3dSb290LnJlbW92ZVNsb3RFbGVtZW50QnlOYW1lKGZhc3RHZXRBdHRy
aWJ1dGUobmFtZUF0dHIpLCAqdGhpcyk7CisgICAgaWYgKGluc2VydGlvblBvaW50LmlzSW5TaGFk
b3dUcmVlKCkgJiYgaXNJblNoYWRvd1RyZWUoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmRvY3VtZW50
KCkpIHsKKyAgICAgICAgYXV0byogb2xkU2hhZG93Um9vdCA9IGluc2VydGlvblBvaW50LmNvbnRh
aW5pbmdTaGFkb3dSb290KCk7CisgICAgICAgIEFTU0VSVChvbGRTaGFkb3dSb290KTsKKyAgICAg
ICAgb2xkU2hhZG93Um9vdC0+cmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUoZmFzdEdldEF0dHJpYnV0
ZShuYW1lQXR0ciksICp0aGlzKTsKICAgICB9CiAKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZy
b20oaW5zZXJ0aW9uUG9pbnQpOwpAQCAtNzAsNyArNzMsNyBAQCB2b2lkIEhUTUxTbG90RWxlbWVu
dDo6YXR0cmlidXRlQ2hhbmdlZChjCiB7CiAgICAgSFRNTEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5n
ZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24pOwogCi0gICAgaWYgKG5hbWUgPT0g
bmFtZUF0dHIpIHsKKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSAmJiBuYW1lID09IG5hbWVBdHRy
KSB7CiAgICAgICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3Qo
KSkgewogICAgICAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUob2xk
VmFsdWUsICp0aGlzKTsKICAgICAgICAgICAgIHNoYWRvd1Jvb3QtPmFkZFNsb3RFbGVtZW50QnlO
YW1lKG5ld1ZhbHVlLCAqdGhpcyk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTAwMDUpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0w
OS0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBJbnNlcnRp
bmcgb3IgcmVtb3Zpbmcgc2xvdCBlbGVtZW50cyBjYW4gY2F1c2UgYSBjcmFzaAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MzY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgcmVncmVzc2lvbiB0
ZXN0cy4KKworICAgICAgICAqIGZhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2guaHRt
bDogQWRkZWQuCisKIDIwMTUtMDktMTggIEpha2UgTmllbHNlbiAgPGphY29iX25pZWxzZW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZHMgbW9yZSBmbGFreSB0ZXN0cyB0byBUZXN0RXhwZWNhdGlv
bnMgZm9yIGlPUyBhbmQgV0syCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2xv
dC1yZW1vdmFsLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zaGFk
b3ctZG9tL3Nsb3QtcmVtb3ZhbC1jcmFzaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zaGFkb3ctZG9tL3Nsb3QtcmVtb3ZhbC1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdHMgaW5zZXJ0aW5nIG9yIHJlbW92aW5nIHNoYWRvdyB0cmVlIHdpdGggc2xvdCBlbGVt
ZW50cyBkbyBub3QgY2F1c2UgYSBjcmFzaC48L3A+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBhZGRT
aGFkb3dXaXRoU2xvdCgpIHsKKyAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdv
cGVuJ30pOworICAgIHZhciBzbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2xvdCcpOwor
ICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2xvdCk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChob3N0KTsKKworICAgIHNsb3QucmVtb3ZlKCk7CisgICAgc2xvdC5zZXRBdHRyaWJ1
dGUoJ25hbWUnLCAnZm9vJyk7Cit9CisKK2Z1bmN0aW9uIHJlbW92ZVNoYWRvd1dpdGhTbG90KCkg
eworICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisKKyAgICB2YXIgaG9zdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGls
ZChob3N0KTsKKworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6
ICdvcGVuJ30pOworICAgIHZhciBzbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2xvdCcp
OworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2xvdCk7CisKKyAgICBjb250YWluZXIucmVt
b3ZlKCk7CisgICAgaG9zdC5yZW1vdmUoKTsKK30KKworZnVuY3Rpb24gcmVtb3ZlTmVzdGVkU2hh
ZG93c1dpdGhTbG90KCkgeworICAgIHZhciBvdXRlckhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dGVySG9zdCk7Cisg
ICAgCisgICAgdmFyIG91dGVyU2hhZG93ID0gb3V0ZXJIb3N0LmF0dGFjaFNoYWRvdyh7bW9kZTog
J29wZW4nfSk7CisgICAgdmFyIGlubmVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgIG91dGVyU2hhZG93LmFwcGVuZENoaWxkKGlubmVySG9zdCk7CisKKyAgICB2YXIg
aW5uZXJTaGFkb3cgPSBpbm5lckhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAg
ICB2YXIgc2xvdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Nsb3QnKTsKKyAgICBpbm5lclNo
YWRvdy5hcHBlbmRDaGlsZChzbG90KTsKKworICAgIG91dGVySG9zdC5yZW1vdmUoKTsKKyAgICBp
bm5lckhvc3QucmVtb3ZlKCk7Cit9CisKK2FkZFNoYWRvd1dpdGhTbG90KCk7CityZW1vdmVTaGFk
b3dXaXRoU2xvdCgpOworcmVtb3ZlTmVzdGVkU2hhZG93c1dpdGhTbG90KCkKK2RvY3VtZW50Lndy
aXRlKCdQQVNTJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261563</attachid>
            <date>2015-09-18 20:30:16 -0700</date>
            <delta_ts>2015-09-18 20:33:16 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149365-20150918203002.patch</filename>
            <type>text/plain</type>
            <size>11314</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDAwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA5LTE4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEluc2VydGluZyBvciByZW1vdmlu
ZyBzbG90IGVsZW1lbnRzIGNhbiBjYXVzZSBhIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KKworICAgICAgICBIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byBh
bmQgcmVtb3ZlZEZyb20gd2VyZSBkb2luZyBjb21wbGV0ZWx5IG5vbi1zZW5zaWNhbC4KKworICAg
ICAgICBTaW5jZSBpbnNlcnRlZEludG8gYW5kIHJlbW92ZWRGcm9tIGFyZSBjYWxsZWQgb24gYW4g
ZWxlbWVudCB3aGVuZXZlciBpdCBvciBpdHMgYW5jZXN0b3IgaXMgaW5zZXJ0ZWQgaW50bworICAg
ICAgICBvciByZW1vdmVkIGZyb20gYSBjb250YWluZXIgbm9kZSwgd2UgY2FuJ3QgYWx3YXlzIGNh
bGwgYWRkU2xvdEVsZW1lbnRCeU5hbWUgcmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUgd2hlbgorICAg
ICAgICB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZC4gSW5zdGVhZCwgd2UgbmVlZCB0byBjaGVj
ayB3aGV0aGVyIHRoaXMgc2xvdCBoYXMgYmVlbiBpbnNlcnRlZCBpbnRvIG9yIHJlbW92ZWQKKyAg
ICAgICAgZnJvbSBhIGNvbnRhaW5lciBub2RlIHRoYXQgcmVzaWRlcyBpbnNpZGUgYSBzaGFkb3cg
cm9vdC4KKworICAgICAgICBBbHNvIHJldmVydGVkIHIxODk5MDYgc2luY2UgdGhlIGNoYW5nZSB3
YXMgbWFkZSB1cG9uIGEgYm9ndXMgYXNzdW1wdGlvbiBJIGhhZCBtYWRlLgorCisgICAgICAgIFRl
c3Q6IGZhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2guaHRtbAorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5zZXJ0ZWRJbnRv
KTogQWRkZWQgY29tbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVkRnJv
bSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YWRkU2hhZG93Um9vdCk6IFJl
dmVydGVkIHIxODk5MDYuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVTaGFkb3dS
b290KTogRGl0dG8uCisKKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byk6IFdoZW4gdGhlIGlu
c2VydGlvbiBwb2ludCdzIHRyZWUgc2NvcGUgaXMgZGlmZmVyZW50IGZyb20gb3VycywKKyAgICAg
ICAgdGhlIGluc2VydGlvbiBoYXBwZW5lZCB0byBvdXIgc2hhZG93IGhvc3Qgb3IgaXRzIGFuY2Vz
dG9yLiBUaGVyZSBpcyBub3RoaW5nIHRvIGJlIGRvbmUgaW4gdGhhdCBjYXNlIHNpbmNlCisgICAg
ICAgIHRoZSBzaGFkb3cgdHJlZSB3YXMgbm90IG1vZGlmaWVkIChpbiBwYXJ0aWN1bGFyLCBvdXIg
cmVsYXRpb25zaGlwIHdpdGggb3VyIHNoYWRvdyByb290IG5ldmVyIGNoYW5nZWQpLgorICAgICAg
ICBXZSBhbHNvIGRvbid0IGRvIGFueXRoaW5nIGlmIHdlIGdvdCBpbnNlcnRlZCBpbnRvIGEgcGFy
ZW50IHdoaWNoIGlzIG5vdCBpbnNpZGUgYSBzaGFkb3cgdHJlZS4KKworICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNsb3RFbGVtZW50OjpyZW1vdmVkRnJvbSk6IFNpbmNlIENvbnRhaW5lcjo6cmVtb3Zl
QmV0d2VlbiBzZXRzIHRoZSB0cmVlIHNjb3BlIGJlZm9yZSB0aGlzCisgICAgICAgIGZ1bmN0aW9u
IGlzIGdldHRpbmcgY2FsbGVkLCB3ZSBjYW4ndCBjb21wYXJlIHRoaXMgZWxlbWVudCdzIHRyZWVT
Y29wZSB3aXRoIHRoYXQgb2YgdGhlICJpbnNlcnRpb24iIHBvaW50LgorICAgICAgICBUaGV5J3Jl
IGFsd2F5cyBkaWZmZXJlbnQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBpbnNlcnRpb24gcG9p
bnQgd2FzIGluIHRoZSBzYW1lIHNoYWRvdyB0cmVlIHRvIHdoaWNoCisgICAgICAgIHdlIGJlbG9u
ZyBvciBpdHMgc2hhZG93IGhvc3Qncy4gSG93ZXZlciwgc2luY2UgYSBub2RlIHJlbW92ZWQgZnJv
bSBhIHNoYWRvdyB0cmVlIGlzIHB1dCBpbnRvIGRvY3VtZW50J3MKKyAgICAgICAgdHJlZSBzY29w
ZSBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYW5kIEluU2hhZG93VHJlZSBmbGFnIGlz
IHVuc2V0IGluIE5vZGU6OnJlbW92ZWRGcm9tIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhpcyBm
dW5jdGlvbiwgdGhpcyBzbG90IGVsZW1lbnQgaXMgZGVmaW5pdGVseSBiZWluZyByZW1vdmVkIGZy
b20gaXRzIHNoYWRvdyByb290IHdoZW4gaXNJblNoYWRvd1RyZWUoKQorICAgICAgICBpcyB0cnVl
IGFuZCB0aGUgbmV3bHkgc2V0IHRyZWUgc2NvcGUgaXMgb2YgdGhlIGRvY3VtZW50LiBTbyBjYWxs
IHJlbW92ZVNsb3RFbGVtZW50QnlOYW1lIGlmIGFuZCBvbmx5IGlmCisgICAgICAgIHRoYXQgY29u
ZGl0aW9uIGhvbGRzLgorCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6OmdldERp
c3RyaWJ1dGVkTm9kZXMpOiBFeHBsaWNpdGx5IGNoZWNrIHRoYXQgd2UncmUgaW5zaWRlIGEgc2hh
ZG93IHJvb3QuCisKIDIwMTUtMDktMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTUwMTg3KTogdXBkYXRlSWRGb3JUcmVlU2NvcGUgbWF5
IG5vdCBiZSBjYWxsZWQgaW5zaWRlIHNoYWRvdyB0cmVlcwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAkocmV2aXNpb24gMTkwMDA3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTIxLDYgKzE1MjEsOSBAQCBOb2RlOjpJbnNlcnRpb25Ob3Rp
ZmljYXRpb25SZXF1ZXN0IEVsZW1lCiAgICAgaWYgKCFpbnNlcnRpb25Qb2ludC5pc0luVHJlZVNj
b3BlKCkpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogCisgICAgLy8gVGhpcyBmdW5j
dGlvbiBjb3VsZCBiZSBjYWxsZWQgd2hlbiB0aGlzIGVsZW1lbnQncyBzaGFkb3cgcm9vdCdzIGhv
c3Qgb3IgaXRzIGFuY2VzdG9yIGlzIGluc2VydGVkLgorICAgIC8vIFRoaXMgZWxlbWVudCBpcyBu
ZXcgdG8gdGhlIHNoYWRvdyB0cmVlIChhbmQgaXRzIHRyZWUgc2NvcGUpIG9ubHkgaWYgdGhlIHBh
cmVudCBpbnRvIHdoaWNoIHRoaXMgZWxlbWVudAorICAgIC8vIG9yIGl0cyBhbmNlc3RvciBpcyBp
bnNlcnRlZCBiZWxvbmdzIHRvIHRoZSBzYW1lIHRyZWUgc2NvcGUgYXMgdGhpcyBlbGVtZW50J3Mu
CiAgICAgVHJlZVNjb3BlKiBuZXdTY29wZSA9ICZpbnNlcnRpb25Qb2ludC50cmVlU2NvcGUoKTsK
ICAgICBIVE1MRG9jdW1lbnQqIG5ld0RvY3VtZW50ID0gIXdhc0luRG9jdW1lbnQgJiYgaW5Eb2N1
bWVudCgpICYmIGlzPEhUTUxEb2N1bWVudD4obmV3U2NvcGUtPmRvY3VtZW50U2NvcGUoKSkgPyAm
ZG93bmNhc3Q8SFRNTERvY3VtZW50PihuZXdTY29wZS0+ZG9jdW1lbnRTY29wZSgpKSA6IG51bGxw
dHI7CiAgICAgaWYgKG5ld1Njb3BlICE9ICZ0cmVlU2NvcGUoKSkKQEAgLTE1NjYsNiArMTU2OSw5
IEBAIHZvaWQgRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYKICAgICBpZiAoaW5z
ZXJ0aW9uUG9pbnQuaXNJblRyZWVTY29wZSgpKSB7CiAgICAgICAgIFRyZWVTY29wZSogb2xkU2Nv
cGUgPSAmaW5zZXJ0aW9uUG9pbnQudHJlZVNjb3BlKCk7CiAgICAgICAgIEhUTUxEb2N1bWVudCog
b2xkRG9jdW1lbnQgPSBpbkRvY3VtZW50KCkgJiYgaXM8SFRNTERvY3VtZW50PihvbGRTY29wZS0+
ZG9jdW1lbnRTY29wZSgpKSA/ICZkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KG9sZFNjb3BlLT5kb2N1
bWVudFNjb3BlKCkpIDogbnVsbHB0cjsKKworICAgICAgICAvLyBDb250YWluZXJOb2RlOjpyZW1v
dmVCZXR3ZWVuIGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWQncyB0cmVlIHNjb3BlIHRvIERv
Y3VtZW50J3MgYnV0IEluVHJlZVNjb3BlIGZsYWcgaXMgdW5zZXQgaW4gTm9kZTo6cmVtb3ZlZEZy
b20uCisgICAgICAgIC8vIFNvIHRoaXMgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhl
IG9sZCB0cmVlIHNjb3BlIG9ubHkgaWYgSW5UcmVlU2NvcGUgZmxhZyBpcyBzZXQgYW5kIHRoaXMg
ZWxlbWVudCdzIHRyZWUgc2NvcGUgaXMgRG9jdW1lbnQncy4KICAgICAgICAgaWYgKCFpc0luVHJl
ZVNjb3BlKCkgfHwgJnRyZWVTY29wZSgpICE9ICZkb2N1bWVudCgpKQogICAgICAgICAgICAgb2xk
U2NvcGUgPSBudWxscHRyOwogCkBAIC0xNjM2LDE5ICsxNjQyLDEwIEBAIHZvaWQgRWxlbWVudDo6
YWRkU2hhZG93Um9vdChSZWY8U2hhZG93Um8KICAgICBzaGFkb3dSb290LnNldEhvc3QodGhpcyk7
CiAgICAgc2hhZG93Um9vdC5zZXRQYXJlbnRUcmVlU2NvcGUoJnRyZWVTY29wZSgpKTsKIAotICAg
IGF1dG8gc2hhZG93Um9vdEluc2VydGlvblJlc3VsdCA9IHNoYWRvd1Jvb3QuaW5zZXJ0ZWRJbnRv
KCp0aGlzKTsKLSAgICBBU1NFUlRfVU5VU0VEKHNoYWRvd1Jvb3RJbnNlcnRpb25SZXN1bHQsIHNo
YWRvd1Jvb3RJbnNlcnRpb25SZXN1bHQgPT0gSW5zZXJ0aW9uRG9uZSk7Ci0gICAgaWYgKGF1dG8q
IGZpcnN0Q2hpbGQgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQoKSkgewotICAgICAgICBOb2RlVmVj
dG9yIHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzOwotICAgICAgICB7Ci0gICAgICAg
ICAgICBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24gYXNzZXJ0Tm9FdmVudERpc3BhdGNoOwotICAg
ICAgICAgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIG5vdGlmeUNoaWxkTm9kZUluc2Vy
dGVkKHNoYWRvd1Jvb3QsICpjaGlsZCwgcG9zdEluc2VydGlvbk5vdGlmaWNhdGlvblRhcmdldHMp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChhdXRvJiB0YXJnZXQgOiBwb3N0SW5zZXJ0aW9u
Tm90aWZpY2F0aW9uVGFyZ2V0cykKLSAgICAgICAgICAgIHRhcmdldC0+ZmluaXNoZWRJbnNlcnRp
bmdTdWJ0cmVlKCk7Ci0gICAgfQorICAgIE5vZGVWZWN0b3IgcG9zdEluc2VydGlvbk5vdGlmaWNh
dGlvblRhcmdldHM7CisgICAgbm90aWZ5Q2hpbGROb2RlSW5zZXJ0ZWQoKnRoaXMsIHNoYWRvd1Jv
b3QsIHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzKTsKKyAgICBmb3IgKGF1dG8mIHRh
cmdldCA6IHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzKQorICAgICAgICB0YXJnZXQt
PmZpbmlzaGVkSW5zZXJ0aW5nU3VidHJlZSgpOwogCiAgICAgcmVzZXROZWVkc05vZGVSZW5kZXJp
bmdUcmF2ZXJzYWxTbG93UGF0aCgpOwogCkBAIC0xNjc1LDEzICsxNjcyLDcgQEAgdm9pZCBFbGVt
ZW50OjpyZW1vdmVTaGFkb3dSb290KCkKICAgICBvbGRSb290LT5zZXRIb3N0KG51bGxwdHIpOwog
ICAgIG9sZFJvb3QtPnNldFBhcmVudFRyZWVTY29wZSgmZG9jdW1lbnQoKSk7CiAKLSAgICB7Ci0g
ICAgICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbiBhc3NlcnROb0V2ZW50RGlzcGF0Y2g7Ci0g
ICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBvbGRSb290LT5maXJzdENoaWxkKCk7IGNoaWxkOyBj
aGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgbm90aWZ5Q2hpbGROb2Rl
UmVtb3ZlZCgqb2xkUm9vdCwgKmNoaWxkKTsKLSAgICB9Ci0KLSAgICBvbGRSb290LT5yZW1vdmVk
RnJvbSgqdGhpcyk7CisgICAgbm90aWZ5Q2hpbGROb2RlUmVtb3ZlZCgqdGhpcywgKm9sZFJvb3Qp
OwogfQogCiBSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdChFeGNl
cHRpb25Db2RlJiBlYykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE5MDAwNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTggKzQ5LDI1IEBAIEhUTUxTbG90RWxlbWVu
dDo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmUKICAgICBhdXRvIGluc2VydGlvblJlc3VsdCA9IEhU
TUxFbGVtZW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOwogICAgIEFTU0VSVF9VTlVT
RUQoaW5zZXJ0aW9uUmVzdWx0LCBpbnNlcnRpb25SZXN1bHQgPT0gSW5zZXJ0aW9uRG9uZSk7CiAK
LSAgICBpZiAoYXV0byBzaGFkb3dSb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKLSAgICAg
ICAgc2hhZG93Um9vdC0+YWRkU2xvdEVsZW1lbnRCeU5hbWUoZmFzdEdldEF0dHJpYnV0ZShuYW1l
QXR0ciksICp0aGlzKTsKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGNvdWxkIGJlIGNhbGxlZCB3aGVu
IHRoaXMgZWxlbWVudCdzIHNoYWRvdyByb290J3MgaG9zdCBvciBpdHMgYW5jZXN0b3IgaXMgaW5z
ZXJ0ZWQuCisgICAgLy8gVGhpcyBlbGVtZW50IGlzIG5ldyB0byB0aGUgc2hhZG93IHRyZWUgKGFu
ZCBpdHMgdHJlZSBzY29wZSkgb25seSBpZiB0aGUgcGFyZW50IGludG8gd2hpY2ggdGhpcyBlbGVt
ZW50CisgICAgLy8gb3IgaXRzIGFuY2VzdG9yIGlzIGluc2VydGVkIGJlbG9uZ3MgdG8gdGhlIHNh
bWUgdHJlZSBzY29wZSBhcyB0aGlzIGVsZW1lbnQncy4KKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQu
aXNJblNoYWRvd1RyZWUoKSAmJiBpc0luU2hhZG93VHJlZSgpICYmICZpbnNlcnRpb25Qb2ludC50
cmVlU2NvcGUoKSA9PSAmdHJlZVNjb3BlKCkpIHsKKyAgICAgICAgaWYgKGF1dG8gc2hhZG93Um9v
dCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisgICAgICAgICAgICBzaGFkb3dSb290LT5hZGRT
bG90RWxlbWVudEJ5TmFtZShmYXN0R2V0QXR0cmlidXRlKG5hbWVBdHRyKSwgKnRoaXMpOworICAg
IH0KIAogICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogfQogCiB2b2lkIEhUTUxTbG90RWxlbWVu
dDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYgaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgLy8g
Q2FuJ3QgY2FsbCBjb250YWluaW5nU2hhZG93Um9vdCgpIGhlcmUgc2luY2UgdGhpcyBub2RlIGhh
cyBhbHJlYWR5IGJlZW4gZGlzY29ubmVjdGVkIGZyb20gdGhlIHBhcmVudC4KLSAgICBpZiAoaXNJ
blNoYWRvd1RyZWUoKSkgewotICAgICAgICBhdXRvJiBvbGRTaGFkb3dSb290ID0gZG93bmNhc3Q8
U2hhZG93Um9vdD4oaW5zZXJ0aW9uUG9pbnQudHJlZVNjb3BlKCkucm9vdE5vZGUoKSk7Ci0gICAg
ICAgIG9sZFNoYWRvd1Jvb3QucmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUoZmFzdEdldEF0dHJpYnV0
ZShuYW1lQXR0ciksICp0aGlzKTsKKyAgICAvLyBDb250YWluZXJOb2RlOjpyZW1vdmVCZXR3ZWVu
IGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWQncyB0cmVlIHNjb3BlIHRvIERvY3VtZW50J3Mg
YnV0IEluU2hhZG93Um9vdCBmbGFnIGlzIHVuc2V0IGluIE5vZGU6OnJlbW92ZWRGcm9tLgorICAg
IC8vIFNvIGlmIEluU2hhZG93Um9vdCBmbGFnIGlzIHNldCBidXQgdGhpcyBlbGVtZW50J3MgdHJl
ZSBzY29wZSBpcyBEb2N1bWVudCdzLCB0aGlzIGVsZW1lbnQgaGFzIGp1c3QgYmVlbiByZW1vdmVk
IGZyb20gYSBzaGFkb3cgcm9vdC4KKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQuaXNJblNoYWRvd1Ry
ZWUoKSAmJiBpc0luU2hhZG93VHJlZSgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZG9jdW1lbnQoKSkg
eworICAgICAgICBhdXRvKiBvbGRTaGFkb3dSb290ID0gaW5zZXJ0aW9uUG9pbnQuY29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKKyAgICAgICAgQVNTRVJUKG9sZFNoYWRvd1Jvb3QpOworICAgICAgICBv
bGRTaGFkb3dSb290LT5yZW1vdmVTbG90RWxlbWVudEJ5TmFtZShmYXN0R2V0QXR0cmlidXRlKG5h
bWVBdHRyKSwgKnRoaXMpOwogICAgIH0KIAogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbShp
bnNlcnRpb25Qb2ludCk7CkBAIC03MCw3ICs3Nyw3IEBAIHZvaWQgSFRNTFNsb3RFbGVtZW50Ojph
dHRyaWJ1dGVDaGFuZ2VkKGMKIHsKICAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChu
YW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHJlYXNvbik7CiAKLSAgICBpZiAobmFtZSA9PSBuYW1l
QXR0cikgeworICAgIGlmIChpc0luU2hhZG93VHJlZSgpICYmIG5hbWUgPT0gbmFtZUF0dHIpIHsK
ICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpKSB7
CiAgICAgICAgICAgICBzaGFkb3dSb290LT5yZW1vdmVTbG90RWxlbWVudEJ5TmFtZShvbGRWYWx1
ZSwgKnRoaXMpOwogICAgICAgICAgICAgc2hhZG93Um9vdC0+YWRkU2xvdEVsZW1lbnRCeU5hbWUo
bmV3VmFsdWUsICp0aGlzKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDAwNykKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA5LTE4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE5lZWQgYSBzaG9y
dCBkZXNjcmlwdGlvbiAoT09QUyEpLgorICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISku
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgKiBmYXN0
L3NoYWRvdy1kb20vc2xvdC1yZW1vdmFsLWNyYXNoLmh0bWw6IEFkZGVkLgorCisyMDE1LTA5LTE4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEluc2VydGluZyBv
ciByZW1vdmluZyBzbG90IGVsZW1lbnRzIGNhbiBjYXVzZSBhIGNyYXNoCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzNjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGRlZCByZWdyZXNzaW9uIHRlc3Rz
LgorCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL3Nsb3QtcmVtb3ZhbC1jcmFzaC5odG1sOiBB
ZGRlZC4KKwogMjAxNS0wOS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRG9uJ3QgY3JlYXRlIHJlbmRlcmVycyBmb3IgY2hpbGRyZW4gb2Ygc2hhZG93IGhv
c3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2gu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2xvdC1yZW1v
dmFsLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1k
b20vc2xvdC1yZW1vdmFsLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBpbnNlcnRp
bmcgb3IgcmVtb3Zpbmcgc2hhZG93IHRyZWUgd2l0aCBzbG90IGVsZW1lbnRzIGRvIG5vdCBjYXVz
ZSBhIGNyYXNoLjwvcD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGFkZFNoYWRvd1dpdGhTbG90KCkg
eworICAgIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgdmFy
IHNsb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzbG90Jyk7CisgICAgc2hhZG93Um9vdC5h
cHBlbmRDaGlsZChzbG90KTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3QpOwor
CisgICAgc2xvdC5yZW1vdmUoKTsKKyAgICBzbG90LnNldEF0dHJpYnV0ZSgnbmFtZScsICdmb28n
KTsKK30KKworZnVuY3Rpb24gcmVtb3ZlU2hhZG93V2l0aFNsb3QoKSB7CisgICAgdmFyIGNvbnRh
aW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKworICAgIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworCisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAg
dmFyIHNsb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzbG90Jyk7CisgICAgc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChzbG90KTsKKworICAgIGNvbnRhaW5lci5yZW1vdmUoKTsKKyAgICBob3N0
LnJlbW92ZSgpOworfQorCitmdW5jdGlvbiByZW1vdmVOZXN0ZWRTaGFkb3dzV2l0aFNsb3QoKSB7
CisgICAgdmFyIG91dGVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXJIb3N0KTsKKyAgICAKKyAgICB2YXIgb3V0
ZXJTaGFkb3cgPSBvdXRlckhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAgICB2
YXIgaW5uZXJIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgb3V0ZXJT
aGFkb3cuYXBwZW5kQ2hpbGQoaW5uZXJIb3N0KTsKKworICAgIHZhciBpbm5lclNoYWRvdyA9IGlu
bmVySG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAgIHZhciBzbG90ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc2xvdCcpOworICAgIGlubmVyU2hhZG93LmFwcGVuZENoaWxk
KHNsb3QpOworCisgICAgb3V0ZXJIb3N0LnJlbW92ZSgpOworICAgIGlubmVySG9zdC5yZW1vdmUo
KTsKK30KKworYWRkU2hhZG93V2l0aFNsb3QoKTsKK3JlbW92ZVNoYWRvd1dpdGhTbG90KCk7City
ZW1vdmVOZXN0ZWRTaGFkb3dzV2l0aFNsb3QoKQorZG9jdW1lbnQud3JpdGUoJ1BBU1MnKTsKKwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261564</attachid>
            <date>2015-09-18 20:33:21 -0700</date>
            <delta_ts>2015-09-18 21:18:44 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149365-20150918203307.patch</filename>
            <type>text/plain</type>
            <size>11544</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDAwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA5LTE4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEluc2VydGluZyBvciByZW1vdmlu
ZyBzbG90IGVsZW1lbnRzIGNhbiBjYXVzZSBhIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzNjUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KKworICAgICAgICBIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byBh
bmQgcmVtb3ZlZEZyb20gd2VyZSBkb2luZyBjb21wbGV0ZWx5IG5vbi1zZW5zaWNhbC4KKworICAg
ICAgICBTaW5jZSBpbnNlcnRlZEludG8gYW5kIHJlbW92ZWRGcm9tIGFyZSBjYWxsZWQgb24gYW4g
ZWxlbWVudCB3aGVuZXZlciBpdCBvciBpdHMgYW5jZXN0b3IgaXMgaW5zZXJ0ZWQgaW50bworICAg
ICAgICBvciByZW1vdmVkIGZyb20gYSBjb250YWluZXIgbm9kZSwgd2UgY2FuJ3QgYWx3YXlzIGNh
bGwgYWRkU2xvdEVsZW1lbnRCeU5hbWUgcmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUgd2hlbgorICAg
ICAgICB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZC4gSW5zdGVhZCwgd2UgbmVlZCB0byBjaGVj
ayB3aGV0aGVyIHRoaXMgc2xvdCBoYXMgYmVlbiBpbnNlcnRlZCBpbnRvIG9yIHJlbW92ZWQKKyAg
ICAgICAgZnJvbSBhIGNvbnRhaW5lciBub2RlIHRoYXQgcmVzaWRlcyBpbnNpZGUgYSBzaGFkb3cg
cm9vdC4KKworICAgICAgICBBbHNvIHJldmVydGVkIHIxODk5MDYgc2luY2UgdGhlIGNoYW5nZSB3
YXMgbWFkZSB1cG9uIGEgYm9ndXMgYXNzdW1wdGlvbiBJIGhhZCBtYWRlLgorCisgICAgICAgIFRl
c3Q6IGZhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2guaHRtbAorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5zZXJ0ZWRJbnRv
KTogQWRkZWQgY29tbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVkRnJv
bSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YWRkU2hhZG93Um9vdCk6IFJl
dmVydGVkIHIxODk5MDYuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVTaGFkb3dS
b290KTogRGl0dG8uCisKKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6Omluc2VydGVkSW50byk6IFdoZW4gdGhlIGlu
c2VydGlvbiBwb2ludCdzIHRyZWUgc2NvcGUgaXMgZGlmZmVyZW50IGZyb20gb3VycywKKyAgICAg
ICAgdGhlIGluc2VydGlvbiBoYXBwZW5lZCB0byBvdXIgc2hhZG93IGhvc3Qgb3IgaXRzIGFuY2Vz
dG9yLiBUaGVyZSBpcyBub3RoaW5nIHRvIGJlIGRvbmUgaW4gdGhhdCBjYXNlIHNpbmNlCisgICAg
ICAgIHRoZSBzaGFkb3cgdHJlZSB3YXMgbm90IG1vZGlmaWVkIChpbiBwYXJ0aWN1bGFyLCBvdXIg
cmVsYXRpb25zaGlwIHdpdGggb3VyIHNoYWRvdyByb290IG5ldmVyIGNoYW5nZWQpLgorICAgICAg
ICBXZSBhbHNvIGRvbid0IGRvIGFueXRoaW5nIGlmIHdlIGdvdCBpbnNlcnRlZCBpbnRvIGEgcGFy
ZW50IHdoaWNoIGlzIG5vdCBpbnNpZGUgYSBzaGFkb3cgdHJlZS4KKworICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNsb3RFbGVtZW50OjpyZW1vdmVkRnJvbSk6IFNpbmNlIENvbnRhaW5lcjo6cmVtb3Zl
QmV0d2VlbiBzZXRzIHRoZSB0cmVlIHNjb3BlIGJlZm9yZSB0aGlzCisgICAgICAgIGZ1bmN0aW9u
IGlzIGdldHRpbmcgY2FsbGVkLCB3ZSBjYW4ndCBjb21wYXJlIHRoaXMgZWxlbWVudCdzIHRyZWVT
Y29wZSB3aXRoIHRoYXQgb2YgdGhlICJpbnNlcnRpb24iIHBvaW50LgorICAgICAgICBUaGV5J3Jl
IGFsd2F5cyBkaWZmZXJlbnQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBpbnNlcnRpb24gcG9p
bnQgd2FzIGluIHRoZSBzYW1lIHNoYWRvdyB0cmVlIHRvIHdoaWNoCisgICAgICAgIHdlIGJlbG9u
ZyBvciBpdHMgc2hhZG93IGhvc3Qncy4gSG93ZXZlciwgc2luY2UgYSBub2RlIHJlbW92ZWQgZnJv
bSBhIHNoYWRvdyB0cmVlIGlzIHB1dCBpbnRvIGRvY3VtZW50J3MKKyAgICAgICAgdHJlZSBzY29w
ZSBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYW5kIEluU2hhZG93VHJlZSBmbGFnIGlz
IHVuc2V0IGluIE5vZGU6OnJlbW92ZWRGcm9tIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhpcyBm
dW5jdGlvbiwgdGhpcyBzbG90IGVsZW1lbnQgaXMgZGVmaW5pdGVseSBiZWluZyByZW1vdmVkIGZy
b20gaXRzIHNoYWRvdyByb290IHdoZW4gaXNJblNoYWRvd1RyZWUoKQorICAgICAgICBpcyB0cnVl
IGFuZCB0aGUgbmV3bHkgc2V0IHRyZWUgc2NvcGUgaXMgb2YgdGhlIGRvY3VtZW50LiBTbyBjYWxs
IHJlbW92ZVNsb3RFbGVtZW50QnlOYW1lIGlmIGFuZCBvbmx5IGlmCisgICAgICAgIHRoYXQgY29u
ZGl0aW9uIGhvbGRzLgorCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6OmdldERp
c3RyaWJ1dGVkTm9kZXMpOiBFeHBsaWNpdGx5IGNoZWNrIHRoYXQgd2UncmUgaW5zaWRlIGEgc2hh
ZG93IHJvb3QuCisKIDIwMTUtMDktMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTUwMTg3KTogdXBkYXRlSWRGb3JUcmVlU2NvcGUgbWF5
IG5vdCBiZSBjYWxsZWQgaW5zaWRlIHNoYWRvdyB0cmVlcwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAkocmV2aXNpb24gMTkwMDA3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTIxLDYgKzE1MjEsOSBAQCBOb2RlOjpJbnNlcnRpb25Ob3Rp
ZmljYXRpb25SZXF1ZXN0IEVsZW1lCiAgICAgaWYgKCFpbnNlcnRpb25Qb2ludC5pc0luVHJlZVNj
b3BlKCkpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogCisgICAgLy8gVGhpcyBmdW5j
dGlvbiBjb3VsZCBiZSBjYWxsZWQgd2hlbiB0aGlzIGVsZW1lbnQncyBzaGFkb3cgcm9vdCdzIGhv
c3Qgb3IgaXRzIGFuY2VzdG9yIGlzIGluc2VydGVkLgorICAgIC8vIFRoaXMgZWxlbWVudCBpcyBu
ZXcgdG8gdGhlIHNoYWRvdyB0cmVlIChhbmQgaXRzIHRyZWUgc2NvcGUpIG9ubHkgaWYgdGhlIHBh
cmVudCBpbnRvIHdoaWNoIHRoaXMgZWxlbWVudAorICAgIC8vIG9yIGl0cyBhbmNlc3RvciBpcyBp
bnNlcnRlZCBiZWxvbmdzIHRvIHRoZSBzYW1lIHRyZWUgc2NvcGUgYXMgdGhpcyBlbGVtZW50J3Mu
CiAgICAgVHJlZVNjb3BlKiBuZXdTY29wZSA9ICZpbnNlcnRpb25Qb2ludC50cmVlU2NvcGUoKTsK
ICAgICBIVE1MRG9jdW1lbnQqIG5ld0RvY3VtZW50ID0gIXdhc0luRG9jdW1lbnQgJiYgaW5Eb2N1
bWVudCgpICYmIGlzPEhUTUxEb2N1bWVudD4obmV3U2NvcGUtPmRvY3VtZW50U2NvcGUoKSkgPyAm
ZG93bmNhc3Q8SFRNTERvY3VtZW50PihuZXdTY29wZS0+ZG9jdW1lbnRTY29wZSgpKSA6IG51bGxw
dHI7CiAgICAgaWYgKG5ld1Njb3BlICE9ICZ0cmVlU2NvcGUoKSkKQEAgLTE1NjYsNiArMTU2OSw5
IEBAIHZvaWQgRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYKICAgICBpZiAoaW5z
ZXJ0aW9uUG9pbnQuaXNJblRyZWVTY29wZSgpKSB7CiAgICAgICAgIFRyZWVTY29wZSogb2xkU2Nv
cGUgPSAmaW5zZXJ0aW9uUG9pbnQudHJlZVNjb3BlKCk7CiAgICAgICAgIEhUTUxEb2N1bWVudCog
b2xkRG9jdW1lbnQgPSBpbkRvY3VtZW50KCkgJiYgaXM8SFRNTERvY3VtZW50PihvbGRTY29wZS0+
ZG9jdW1lbnRTY29wZSgpKSA/ICZkb3duY2FzdDxIVE1MRG9jdW1lbnQ+KG9sZFNjb3BlLT5kb2N1
bWVudFNjb3BlKCkpIDogbnVsbHB0cjsKKworICAgICAgICAvLyBDb250YWluZXJOb2RlOjpyZW1v
dmVCZXR3ZWVuIGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWQncyB0cmVlIHNjb3BlIHRvIERv
Y3VtZW50J3MgYnV0IEluVHJlZVNjb3BlIGZsYWcgaXMgdW5zZXQgaW4gTm9kZTo6cmVtb3ZlZEZy
b20uCisgICAgICAgIC8vIFNvIHRoaXMgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhl
IG9sZCB0cmVlIHNjb3BlIG9ubHkgaWYgSW5UcmVlU2NvcGUgZmxhZyBpcyBzZXQgYW5kIHRoaXMg
ZWxlbWVudCdzIHRyZWUgc2NvcGUgaXMgRG9jdW1lbnQncy4KICAgICAgICAgaWYgKCFpc0luVHJl
ZVNjb3BlKCkgfHwgJnRyZWVTY29wZSgpICE9ICZkb2N1bWVudCgpKQogICAgICAgICAgICAgb2xk
U2NvcGUgPSBudWxscHRyOwogCkBAIC0xNjM2LDE5ICsxNjQyLDEwIEBAIHZvaWQgRWxlbWVudDo6
YWRkU2hhZG93Um9vdChSZWY8U2hhZG93Um8KICAgICBzaGFkb3dSb290LnNldEhvc3QodGhpcyk7
CiAgICAgc2hhZG93Um9vdC5zZXRQYXJlbnRUcmVlU2NvcGUoJnRyZWVTY29wZSgpKTsKIAotICAg
IGF1dG8gc2hhZG93Um9vdEluc2VydGlvblJlc3VsdCA9IHNoYWRvd1Jvb3QuaW5zZXJ0ZWRJbnRv
KCp0aGlzKTsKLSAgICBBU1NFUlRfVU5VU0VEKHNoYWRvd1Jvb3RJbnNlcnRpb25SZXN1bHQsIHNo
YWRvd1Jvb3RJbnNlcnRpb25SZXN1bHQgPT0gSW5zZXJ0aW9uRG9uZSk7Ci0gICAgaWYgKGF1dG8q
IGZpcnN0Q2hpbGQgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQoKSkgewotICAgICAgICBOb2RlVmVj
dG9yIHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzOwotICAgICAgICB7Ci0gICAgICAg
ICAgICBOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24gYXNzZXJ0Tm9FdmVudERpc3BhdGNoOwotICAg
ICAgICAgICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAgIG5vdGlmeUNoaWxkTm9kZUluc2Vy
dGVkKHNoYWRvd1Jvb3QsICpjaGlsZCwgcG9zdEluc2VydGlvbk5vdGlmaWNhdGlvblRhcmdldHMp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChhdXRvJiB0YXJnZXQgOiBwb3N0SW5zZXJ0aW9u
Tm90aWZpY2F0aW9uVGFyZ2V0cykKLSAgICAgICAgICAgIHRhcmdldC0+ZmluaXNoZWRJbnNlcnRp
bmdTdWJ0cmVlKCk7Ci0gICAgfQorICAgIE5vZGVWZWN0b3IgcG9zdEluc2VydGlvbk5vdGlmaWNh
dGlvblRhcmdldHM7CisgICAgbm90aWZ5Q2hpbGROb2RlSW5zZXJ0ZWQoKnRoaXMsIHNoYWRvd1Jv
b3QsIHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzKTsKKyAgICBmb3IgKGF1dG8mIHRh
cmdldCA6IHBvc3RJbnNlcnRpb25Ob3RpZmljYXRpb25UYXJnZXRzKQorICAgICAgICB0YXJnZXQt
PmZpbmlzaGVkSW5zZXJ0aW5nU3VidHJlZSgpOwogCiAgICAgcmVzZXROZWVkc05vZGVSZW5kZXJp
bmdUcmF2ZXJzYWxTbG93UGF0aCgpOwogCkBAIC0xNjc1LDEzICsxNjcyLDcgQEAgdm9pZCBFbGVt
ZW50OjpyZW1vdmVTaGFkb3dSb290KCkKICAgICBvbGRSb290LT5zZXRIb3N0KG51bGxwdHIpOwog
ICAgIG9sZFJvb3QtPnNldFBhcmVudFRyZWVTY29wZSgmZG9jdW1lbnQoKSk7CiAKLSAgICB7Ci0g
ICAgICAgIE5vRXZlbnREaXNwYXRjaEFzc2VydGlvbiBhc3NlcnROb0V2ZW50RGlzcGF0Y2g7Ci0g
ICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBvbGRSb290LT5maXJzdENoaWxkKCk7IGNoaWxkOyBj
aGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgbm90aWZ5Q2hpbGROb2Rl
UmVtb3ZlZCgqb2xkUm9vdCwgKmNoaWxkKTsKLSAgICB9Ci0KLSAgICBvbGRSb290LT5yZW1vdmVk
RnJvbSgqdGhpcyk7CisgICAgbm90aWZ5Q2hpbGROb2RlUmVtb3ZlZCgqdGhpcywgKm9sZFJvb3Qp
OwogfQogCiBSZWZQdHI8U2hhZG93Um9vdD4gRWxlbWVudDo6Y3JlYXRlU2hhZG93Um9vdChFeGNl
cHRpb25Db2RlJiBlYykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE5MDAwNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTggKzQ5LDI1IEBAIEhUTUxTbG90RWxlbWVu
dDo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmUKICAgICBhdXRvIGluc2VydGlvblJlc3VsdCA9IEhU
TUxFbGVtZW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOwogICAgIEFTU0VSVF9VTlVT
RUQoaW5zZXJ0aW9uUmVzdWx0LCBpbnNlcnRpb25SZXN1bHQgPT0gSW5zZXJ0aW9uRG9uZSk7CiAK
LSAgICBpZiAoYXV0byBzaGFkb3dSb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKLSAgICAg
ICAgc2hhZG93Um9vdC0+YWRkU2xvdEVsZW1lbnRCeU5hbWUoZmFzdEdldEF0dHJpYnV0ZShuYW1l
QXR0ciksICp0aGlzKTsKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGNvdWxkIGJlIGNhbGxlZCB3aGVu
IHRoaXMgZWxlbWVudCdzIHNoYWRvdyByb290J3MgaG9zdCBvciBpdHMgYW5jZXN0b3IgaXMgaW5z
ZXJ0ZWQuCisgICAgLy8gVGhpcyBlbGVtZW50IGlzIG5ldyB0byB0aGUgc2hhZG93IHRyZWUgKGFu
ZCBpdHMgdHJlZSBzY29wZSkgb25seSBpZiB0aGUgcGFyZW50IGludG8gd2hpY2ggdGhpcyBlbGVt
ZW50CisgICAgLy8gb3IgaXRzIGFuY2VzdG9yIGlzIGluc2VydGVkIGJlbG9uZ3MgdG8gdGhlIHNh
bWUgdHJlZSBzY29wZSBhcyB0aGlzIGVsZW1lbnQncy4KKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQu
aXNJblNoYWRvd1RyZWUoKSAmJiBpc0luU2hhZG93VHJlZSgpICYmICZpbnNlcnRpb25Qb2ludC50
cmVlU2NvcGUoKSA9PSAmdHJlZVNjb3BlKCkpIHsKKyAgICAgICAgaWYgKGF1dG8gc2hhZG93Um9v
dCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisgICAgICAgICAgICBzaGFkb3dSb290LT5hZGRT
bG90RWxlbWVudEJ5TmFtZShmYXN0R2V0QXR0cmlidXRlKG5hbWVBdHRyKSwgKnRoaXMpOworICAg
IH0KIAogICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogfQogCiB2b2lkIEhUTUxTbG90RWxlbWVu
dDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYgaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgLy8g
Q2FuJ3QgY2FsbCBjb250YWluaW5nU2hhZG93Um9vdCgpIGhlcmUgc2luY2UgdGhpcyBub2RlIGhh
cyBhbHJlYWR5IGJlZW4gZGlzY29ubmVjdGVkIGZyb20gdGhlIHBhcmVudC4KLSAgICBpZiAoaXNJ
blNoYWRvd1RyZWUoKSkgewotICAgICAgICBhdXRvJiBvbGRTaGFkb3dSb290ID0gZG93bmNhc3Q8
U2hhZG93Um9vdD4oaW5zZXJ0aW9uUG9pbnQudHJlZVNjb3BlKCkucm9vdE5vZGUoKSk7Ci0gICAg
ICAgIG9sZFNoYWRvd1Jvb3QucmVtb3ZlU2xvdEVsZW1lbnRCeU5hbWUoZmFzdEdldEF0dHJpYnV0
ZShuYW1lQXR0ciksICp0aGlzKTsKKyAgICAvLyBDb250YWluZXJOb2RlOjpyZW1vdmVCZXR3ZWVu
IGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWQncyB0cmVlIHNjb3BlIHRvIERvY3VtZW50J3Mg
YnV0IEluU2hhZG93Um9vdCBmbGFnIGlzIHVuc2V0IGluIE5vZGU6OnJlbW92ZWRGcm9tLgorICAg
IC8vIFNvIGlmIEluU2hhZG93Um9vdCBmbGFnIGlzIHNldCBidXQgdGhpcyBlbGVtZW50J3MgdHJl
ZSBzY29wZSBpcyBEb2N1bWVudCdzLCB0aGlzIGVsZW1lbnQgaGFzIGp1c3QgYmVlbiByZW1vdmVk
IGZyb20gYSBzaGFkb3cgcm9vdC4KKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQuaXNJblNoYWRvd1Ry
ZWUoKSAmJiBpc0luU2hhZG93VHJlZSgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZG9jdW1lbnQoKSkg
eworICAgICAgICBhdXRvKiBvbGRTaGFkb3dSb290ID0gaW5zZXJ0aW9uUG9pbnQuY29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKKyAgICAgICAgQVNTRVJUKG9sZFNoYWRvd1Jvb3QpOworICAgICAgICBv
bGRTaGFkb3dSb290LT5yZW1vdmVTbG90RWxlbWVudEJ5TmFtZShmYXN0R2V0QXR0cmlidXRlKG5h
bWVBdHRyKSwgKnRoaXMpOwogICAgIH0KIAogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbShp
bnNlcnRpb25Qb2ludCk7CkBAIC03MCw3ICs3Nyw3IEBAIHZvaWQgSFRNTFNsb3RFbGVtZW50Ojph
dHRyaWJ1dGVDaGFuZ2VkKGMKIHsKICAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChu
YW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHJlYXNvbik7CiAKLSAgICBpZiAobmFtZSA9PSBuYW1l
QXR0cikgeworICAgIGlmIChpc0luU2hhZG93VHJlZSgpICYmIG5hbWUgPT0gbmFtZUF0dHIpIHsK
ICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpKSB7
CiAgICAgICAgICAgICBzaGFkb3dSb290LT5yZW1vdmVTbG90RWxlbWVudEJ5TmFtZShvbGRWYWx1
ZSwgKnRoaXMpOwogICAgICAgICAgICAgc2hhZG93Um9vdC0+YWRkU2xvdEVsZW1lbnRCeU5hbWUo
bmV3VmFsdWUsICp0aGlzKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDAwNykKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA5LTE4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEluc2VydGluZyBv
ciByZW1vdmluZyBzbG90IGVsZW1lbnRzIGNhbiBjYXVzZSBhIGNyYXNoCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzNjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGRlZCByZWdyZXNzaW9uIHRlc3Rz
LgorCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL3Nsb3QtcmVtb3ZhbC1jcmFzaC5odG1sOiBB
ZGRlZC4KKwogMjAxNS0wOS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRG9uJ3QgY3JlYXRlIHJlbmRlcmVycyBmb3IgY2hpbGRyZW4gb2Ygc2hhZG93IGhv
c3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jhc2gt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9z
bG90LXJlbW92YWwtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zaGFkb3ctZG9tL3Nsb3QtcmVtb3ZhbC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3RzIGluc2VydGluZyBvciByZW1vdmlu
ZyBzaGFkb3cgdHJlZSB3aXRoIHNsb3QgZWxlbWVudHMgZG8gbm90IGNhdXNlIGEgY3Jhc2guCisK
K1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zbG90LXJlbW92YWwtY3Jh
c2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2xvdC1y
ZW1vdmFsLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NoYWRv
dy1kb20vc2xvdC1yZW1vdmFsLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBpbnNl
cnRpbmcgb3IgcmVtb3Zpbmcgc2hhZG93IHRyZWUgd2l0aCBzbG90IGVsZW1lbnRzIGRvIG5vdCBj
YXVzZSBhIGNyYXNoLjwvcD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gYWRkU2hhZG93V2l0aFNsb3Qo
KSB7CisgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAgICB2
YXIgc2xvdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Nsb3QnKTsKKyAgICBzaGFkb3dSb290
LmFwcGVuZENoaWxkKHNsb3QpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7
CisKKyAgICBzbG90LnJlbW92ZSgpOworICAgIHNsb3Quc2V0QXR0cmlidXRlKCduYW1lJywgJ2Zv
bycpOworfQorCitmdW5jdGlvbiByZW1vdmVTaGFkb3dXaXRoU2xvdCgpIHsKKyAgICB2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChjb250YWluZXIpOworCisgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisKKyAg
ICB2YXIgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAg
ICB2YXIgc2xvdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Nsb3QnKTsKKyAgICBzaGFkb3dS
b290LmFwcGVuZENoaWxkKHNsb3QpOworCisgICAgY29udGFpbmVyLnJlbW92ZSgpOworICAgIGhv
c3QucmVtb3ZlKCk7Cit9CisKK2Z1bmN0aW9uIHJlbW92ZU5lc3RlZFNoYWRvd3NXaXRoU2xvdCgp
IHsKKyAgICB2YXIgb3V0ZXJIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdXRlckhvc3QpOworICAgIAorICAgIHZhciBv
dXRlclNoYWRvdyA9IG91dGVySG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAg
IHZhciBpbm5lckhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBvdXRl
clNoYWRvdy5hcHBlbmRDaGlsZChpbm5lckhvc3QpOworCisgICAgdmFyIGlubmVyU2hhZG93ID0g
aW5uZXJIb3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgdmFyIHNsb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzbG90Jyk7CisgICAgaW5uZXJTaGFkb3cuYXBwZW5kQ2hp
bGQoc2xvdCk7CisKKyAgICBvdXRlckhvc3QucmVtb3ZlKCk7CisgICAgaW5uZXJIb3N0LnJlbW92
ZSgpOworfQorCithZGRTaGFkb3dXaXRoU2xvdCgpOworcmVtb3ZlU2hhZG93V2l0aFNsb3QoKTsK
K3JlbW92ZU5lc3RlZFNoYWRvd3NXaXRoU2xvdCgpCitkb2N1bWVudC53cml0ZSgnUEFTUycpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>