<?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>104859</bug_id>
          
          <creation_ts>2012-12-12 16:15:50 -0800</creation_ts>
          <short_desc>REGRESSION(r137524): Causes m_deletionHasBegun assertion failures in MutationObserver tests (Requested by aklein on #webkit).</short_desc>
          <delta_ts>2012-12-12 17:26:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>59816</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>adamk</cc>
    
    <cc>esprehn</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790027</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:15:50 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/137524 broke the build:
Causes m_deletionHasBegun assertion failures in MutationObserver tests (Requested by aklein on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790030</commentid>
    <comment_count>1</comment_count>
      <attachid>179144</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:16:44 -0800</bug_when>
    <thetext>Created attachment 179144
ROLLOUT of r137524

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790034</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-12 16:17:47 -0800</bug_when>
    <thetext>Please provide justifications and reasons for which this patch needs to reverted on publicly visible place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790042</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-12-12 16:24:14 -0800</bug_when>
    <thetext>Stack trace from fast/mutation/observe-attributes.html (11 other similar results in fast/mutation): 

crash log for DumpRenderTree (pid 26400):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: !m_deletionHasBegun
STDERR: ../../third_party/WebKit/Source/WebCore/dom/Document.h(240) : void WebCore::Document::guardDeref()
STDERR: 1   0x7fa2c173a888
STDERR: 2   0x7fa2c17d1d57
STDERR: 3   0x7fa2c170bf48
STDERR: 4   0x7fa2c1725570
STDERR: 5   0x7fa2c25c8f8f
STDERR: 6   0x7fa2c25c8fda
STDERR: 7   0x7fa2c173a90e
STDERR: 8   0x7fa2c17257c2
STDERR: 9   0x7fa2c17da1b6
STDERR: 10  0x7fa2c10426a0
STDERR: 11  0x7fa2c28de7d6
STDERR: 12  0x7fa2c1f2bdcc
STDERR: 13  0x7fa2c1f2bd94
STDERR: 14  0x7fa2c6da1b84
STDERR: 15  0x7fa2c6da0458
STDERR: 16  0x7fa2c6db1da1
STDERR: 17  0x7fa2c6db10b2
STDERR: 18  0x7fa2c6d20a66
STDERR: 19  0x7fa2c6eb22c9
STDERR: 20  0x7fa2c6f4974b
STDERR: 21  0x7fa2c6f49f2e
STDERR: 22  0x3d3f0a0654e
STDERR: Received signal 11
STDERR: 	base::debug::StackTrace::StackTrace() [0x7fa2c5083dcc]
STDERR: 	base::debug::(anonymous namespace)::StackDumpSignalHandler() [0x7fa2c5083acd]
STDERR: 	&lt;unknown&gt; [0x7fa2bd8d54a0]
STDERR: 	WebCore::Document::guardDeref() [0x7fa2c173a892]
STDERR: 	WebCore::Node::~Node() [0x7fa2c17d1d57]
STDERR: 	WebCore::ContainerNode::~ContainerNode() [0x7fa2c170bf48]
STDERR: 	WebCore::Document::~Document() [0x7fa2c1725570]
STDERR: 	WebCore::HTMLDocument::~HTMLDocument() [0x7fa2c25c8f8f]
STDERR: 	WebCore::HTMLDocument::~HTMLDocument() [0x7fa2c25c8fda]
STDERR: 	WebCore::Document::guardDeref() [0x7fa2c173a90e]
STDERR: 	WebCore::Document::removedLastRef() [0x7fa2c17257c2]
STDERR: 	WebCore::Node::removedLastRef() [0x7fa2c17da1b6]
STDERR: 	WebCore::TreeShared&lt;&gt;::deref() [0x7fa2c10426a0]
STDERR: 	WebCore::V8HTMLDocument::derefObject() [0x7fa2c28de7d6]
STDERR: 	WebCore::WrapperTypeInfo::derefObject() [0x7fa2c1f2bdcc]
STDERR: 	WebCore::DOMDataStore::weakCallback() [0x7fa2c1f2bd94]
STDERR: 	v8::internal::GlobalHandles::Node::PostGarbageCollectionProcessing() [0x7fa2c6da1b84]
STDERR: 	v8::internal::GlobalHandles::PostGarbageCollectionProcessing() [0x7fa2c6da0458]
STDERR: 	v8::internal::Heap::PerformGarbageCollection() [0x7fa2c6db1da1]
STDERR: 	v8::internal::Heap::CollectGarbage() [0x7fa2c6db10b2]
STDERR: 	v8::internal::Heap::CollectGarbage() [0x7fa2c6d20a66]
STDERR: 	v8::internal::JSReceiver::SetProperty() [0x7fa2c6eb22c9]
STDERR: 	v8::internal::Runtime::SetObjectProperty() [0x7fa2c6f4974b]
STDERR: 	v8::internal::Runtime_SetProperty() [0x7fa2c6f49f2e]
STDERR: 	&lt;unknown&gt; [0x3d3f0a0654e]


It seems that the Document is being deleted twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790051</commentid>
    <comment_count>4</comment_count>
      <attachid>179144</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:33:19 -0800</bug_when>
    <thetext>Comment on attachment 179144
ROLLOUT of r137524

Clearing flags on attachment: 179144

Committed r137535: &lt;http://trac.webkit.org/changeset/137535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790052</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:33:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790104</commentid>
    <comment_count>6</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-12 17:26:59 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; All reviewed patches have been landed.  Closing bug.

This was my bad, inside ~Node we guardDeref() the document, and previously ~Document did m_document = 0 to prevent guard derefing itself.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179144</attachid>
            <date>2012-12-12 16:16:44 -0800</date>
            <delta_ts>2012-12-12 16:33:19 -0800</delta_ts>
            <desc>ROLLOUT of r137524</desc>
            <filename>bug-104859-20121213002305.patch</filename>
            <type>text/plain</type>
            <size>19186</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNjMmE3OTVmZDUzZWVj
OTc1OGMxMDMwMzgzMjE5ZTJiYzFmNmNiNS4uY2VjODQ3MWMxNTU0YzAzMDFmMDQ4Y2Q5NzVhNDIx
MTQzZmRhOGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTEyLTEyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM3NTI0LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzc1MjQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNDg1OQorCisgICAgICAgIENhdXNlcyBtX2RlbGV0aW9uSGFzQmVndW4gYXNz
ZXJ0aW9uIGZhaWx1cmVzIGluCisgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXIgdGVzdHMgKFJlcXVl
c3RlZCBieSBha2xlaW4gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN1
Z2dlc3RlZE1JTUVUeXBlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmlzRG9jdW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9kZTo6dHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Ok5v
ZGUpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmNyZWF0ZVJhcmVEYXRhKToKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6Cisg
ICAgICAgIChFbGVtZW50UmFyZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVE
YXRhOjpFbGVtZW50UmFyZURhdGEpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6On5Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldERvY3Vt
ZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0VHJl
ZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNyZWF0ZVJhcmVEYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vZGU6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJhcmVEYXRhQmFzZTo6dHJlZVNjb3BlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0YUJhc2U6OnNldFRyZWVTY29wZSk6CisgICAgICAgIChO
b2RlUmFyZURhdGFCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0YUJhc2U6Ok5v
ZGVSYXJlRGF0YUJhc2UpOgorICAgICAgICAoTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjppbkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRvY3VtZW50SW50ZXJuYWwp
OgorICAgICAgICAqIGRvbS9Ob2RlUmFyZURhdGEuY3BwOgorICAgICAgICAoU2FtZVNpemVBc05v
ZGVSYXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vTm9kZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlUmFyZURhdGE6Ok5vZGVSYXJlRGF0YSk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6U2hhZG93Um9vdCk6CisgICAgICAg
ICogZG9tL1RyZWVTY29wZS5jcHA6CisgICAgICAgIChTYW1lU2l6ZUFzVHJlZVNjb3BlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZTo6VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRyZWVTY29wZTo6c2V0UGFyZW50VHJlZVNjb3BlKToKKyAgICAgICAgKiBkb20vVHJlZVNjb3Bl
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRyZWVTY29wZSk6CisgICAgICAgICog
ZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRv
cHRlcjo6bW92ZVRyZWVUb05ld1Njb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZUFk
b3B0ZXI6Om1vdmVOb2RlVG9OZXdEb2N1bWVudCk6CisKIDIwMTItMTItMTIgIFNlb2tqdSBLd29u
ICA8c2Vva2p1Lmt3b25AZ21haWwuY29tPgogCiAgICAgICAgIFtFRkxdIFJlZmFjdG9yIGR1cGxp
Y2F0ZSBjb2RlIGludG8gRWZsSW5zcGVjdG9yVXRpbGl0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCBlZTE4YTZkYzM3ZDQ2ZDNkNThhOWYxODUyMzgyOGY1YTgwNjNiZWVhLi4xNTRjMjMy
NTAzNmIyYzM4N2Y3YmU5NzExNjBhYTY1YjJiYmE4MDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTQzNiw3ICs0MzYsNyBAQCBwcml2YXRlOgogdWludDY0X3QgRG9jdW1lbnQ6OnNfZ2xv
YmFsVHJlZVZlcnNpb24gPSAwOwogCiBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBj
b25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCi0gICAgOiBDb250YWlu
ZXJOb2RlKHRoaXMsIENyZWF0ZURvY3VtZW50KQorICAgIDogQ29udGFpbmVyTm9kZSgwLCBDcmVh
dGVEb2N1bWVudCkKICAgICAsIFRyZWVTY29wZSh0aGlzKQogICAgICwgbV9ndWFyZFJlZkNvdW50
KDApCiAgICAgLCBtX3N0eWxlUmVzb2x2ZXJUaHJvd2F3YXlUaW1lcih0aGlzLCAmRG9jdW1lbnQ6
OnN0eWxlUmVzb2x2ZXJUaHJvd2F3YXlUaW1lckZpcmVkKQpAQCAtNTEwLDYgKzUxMCw4IEBAIERv
Y3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBpc1hI
VE1MLCBib29sIGlzSFRNTCkKICAgICAsIG1fZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXND
aGFuZ2VkKGZhbHNlKQogI2VuZGlmCiB7CisgICAgbV9kb2N1bWVudCA9IHRoaXM7CisKICAgICBt
X3ByaW50aW5nID0gZmFsc2U7CiAgICAgbV9wYWdpbmF0ZWRGb3JTY3JlZW4gPSBmYWxzZTsKIApA
QCAtNjY3LDYgKzY2OSw4IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKG1fbm9kZUxpc3RDb3VudHMpOyBpKyspCiAg
ICAgICAgIEFTU0VSVCghbV9ub2RlTGlzdENvdW50c1tpXSk7CiAKKyAgICBtX2RvY3VtZW50ID0g
MDsKKwogICAgIEluc3BlY3RvckNvdW50ZXJzOjpkZWNyZW1lbnRDb3VudGVyKEluc3BlY3RvckNv
dW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOwogfQogCkBAIC0xMzQxLDEzICsxMzQ1LDEzIEBAIHZv
aWQgRG9jdW1lbnQ6OnNldENvbnRlbnQoY29uc3QgU3RyaW5nJiBjb250ZW50KQogCiBTdHJpbmcg
RG9jdW1lbnQ6OnN1Z2dlc3RlZE1JTUVUeXBlKCkgY29uc3QKIHsKLSAgICBpZiAoaXNYSFRNTERv
Y3VtZW50KCkpCisgICAgaWYgKG1fZG9jdW1lbnQtPmlzWEhUTUxEb2N1bWVudCgpKQogICAgICAg
ICByZXR1cm4gImFwcGxpY2F0aW9uL3hodG1sK3htbCI7Ci0gICAgaWYgKGlzU1ZHRG9jdW1lbnQo
KSkKKyAgICBpZiAobV9kb2N1bWVudC0+aXNTVkdEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4g
ImltYWdlL3N2Zyt4bWwiOwotICAgIGlmICh4bWxTdGFuZGFsb25lKCkpCisgICAgaWYgKG1fZG9j
dW1lbnQtPnhtbFN0YW5kYWxvbmUoKSkKICAgICAgICAgcmV0dXJuICJ0ZXh0L3htbCI7Ci0gICAg
aWYgKGlzSFRNTERvY3VtZW50KCkpCisgICAgaWYgKG1fZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50
KCkpCiAgICAgICAgIHJldHVybiAidGV4dC9odG1sIjsKIAogICAgIGlmIChEb2N1bWVudExvYWRl
ciogZG9jdW1lbnRMb2FkZXIgPSBsb2FkZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZGI4
OTFkNTI2ODlmYjQwYWU5NjFiNTAyMzM1MjUzOTNkOTY4M2Q2Zi4uZDk5NGY2MWNlNTMxMjU0Y2My
ZmI0NGUxMDllZmMxYTUyYzc1ZjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1NTksMjAg
KzE1NTksMjIgQEAgaW5saW5lIHZvaWQgRG9jdW1lbnQ6Om5vdGlmeVJlbW92ZVBlbmRpbmdTaGVl
dElmTmVlZGVkKCkKIAogaW5saW5lIGJvb2wgTm9kZTo6aXNEb2N1bWVudE5vZGUoKSBjb25zdAog
ewotICAgIHJldHVybiB0aGlzID09IGRvY3VtZW50SW50ZXJuYWwoKTsKKyAgICByZXR1cm4gdGhp
cyA9PSBtX2RvY3VtZW50OworfQorCitpbmxpbmUgVHJlZVNjb3BlKiBOb2RlOjp0cmVlU2NvcGUo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gbV9kYXRhLm1fcmFyZURhdGEt
PnRyZWVTY29wZSgpIDogZG9jdW1lbnRJbnRlcm5hbCgpOwogfQogCiBpbmxpbmUgTm9kZTo6Tm9k
ZShEb2N1bWVudCogZG9jdW1lbnQsIENvbnN0cnVjdGlvblR5cGUgdHlwZSkKICAgICA6IG1fbm9k
ZUZsYWdzKHR5cGUpCi0gICAgLCBtX3RyZWVTY29wZShkb2N1bWVudCkKKyAgICAsIG1fZG9jdW1l
bnQoZG9jdW1lbnQpCiAgICAgLCBtX3ByZXZpb3VzKDApCiAgICAgLCBtX25leHQoMCkKIHsKICAg
ICBpZiAoZG9jdW1lbnQpCiAgICAgICAgIGRvY3VtZW50LT5ndWFyZFJlZigpOwotICAgIGVsc2UK
LSAgICAgICAgbV90cmVlU2NvcGUgPSBUcmVlU2NvcGU6Om5vRG9jdW1lbnRJbnN0YW5jZSgpOwot
CiAjaWYgIWRlZmluZWQoTkRFQlVHKSB8fCAoZGVmaW5lZChEVU1QX05PREVfU1RBVElTVElDUykg
JiYgRFVNUF9OT0RFX1NUQVRJU1RJQ1MpCiAgICAgdHJhY2tGb3JEZWJ1Z2dpbmcoKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDI2YWIxZTk0ZmVhYWZlNzM3MGY5NzMyYzliZTFh
ODJhMGNmZGFjZWMuLjQ0OThkMzI5YTViOTllODhmYzlkMTQ3Yjk1MTdkM2JiMDI5MDBiYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIxNyw3ICsyMTcsNyBAQCBpbmxpbmUgRWxlbWVudFJh
cmVEYXRhKiBFbGVtZW50OjplbnN1cmVFbGVtZW50UmFyZURhdGEoKQogCiBQYXNzT3duUHRyPE5v
ZGVSYXJlRGF0YT4gRWxlbWVudDo6Y3JlYXRlUmFyZURhdGEoKQogewotICAgIHJldHVybiBhZG9w
dFB0cihuZXcgRWxlbWVudFJhcmVEYXRhKCkpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgRWxl
bWVudFJhcmVEYXRhKGRvY3VtZW50SW50ZXJuYWwoKSkpOwogfQogCiBERUZJTkVfVklSVFVBTF9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoRWxlbWVudCwgYmx1cik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudFJhcmVEYXRhLmgKaW5kZXggODhmMjZiZDE2NGFjNzUzYWZkZGUzOGZkZjI4ZDQxM2RjZjAx
YjEyNi4uNzkwNWNiNTQ4ZTVmZmM0OWYyMDRhMzlkZWM1MDFjNDA5ZWQyZmExNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb2RlUmFyZURhdGEgewog
cHVibGljOgotICAgIEVsZW1lbnRSYXJlRGF0YSgpOworICAgIEVsZW1lbnRSYXJlRGF0YShEb2N1
bWVudCopOwogICAgIHZpcnR1YWwgfkVsZW1lbnRSYXJlRGF0YSgpOwogCiAgICAgdm9pZCBzZXRQ
c2V1ZG9FbGVtZW50KFBzZXVkb0lkLCBQYXNzUmVmUHRyPFBzZXVkb0VsZW1lbnQ+KTsKQEAgLTEz
MCw4ICsxMzAsOSBAQCBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemlu
ZygpCiAgICAgcmV0dXJuIEludFNpemUoTGF5b3V0VW5pdDo6bWF4KCksIExheW91dFVuaXQ6Om1h
eCgpKTsKIH0KIAotaW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKCkKLSAg
ICA6IG1fbWluaW11bVNpemVGb3JSZXNpemluZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemlu
ZygpKQoraW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKERvY3VtZW50KiBk
b2N1bWVudCkKKyAgICA6IE5vZGVSYXJlRGF0YShkb2N1bWVudCkKKyAgICAsIG1fbWluaW11bVNp
emVGb3JSZXNpemluZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpKQogICAgICwgbV9n
ZW5lcmF0ZWRCZWZvcmUoMCkKICAgICAsIG1fZ2VuZXJhdGVkQWZ0ZXIoMCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAppbmRleCBiNGMyZmVkOTc5NGQwMWJkN2M5MDBjMjRmZWE0MmU2NjM3MmE3NzUzLi43NjUz
MDJhZTEzNWQwNWMyMmQ2NjQ0OWMyZGYwNDUwOThmMDNhOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBA
IC00MTgsNyArNDE4LDcgQEAgTm9kZTo6fk5vZGUoKQogICAgIGlmIChyZW5kZXJlcigpKQogICAg
ICAgICBkZXRhY2goKTsKIAotICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudEludGVybmFsKCk7
CisgICAgRG9jdW1lbnQqIGRvYyA9IG1fZG9jdW1lbnQ7CiAgICAgaWYgKEFYT2JqZWN0Q2FjaGU6
OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgZG9jICYmIGRvYy0+YXhPYmplY3RDYWNoZUV4aXN0
cygpICYmICFpc0NvbnRhaW5lck5vZGUoKSkKICAgICAgICAgZG9jLT5heE9iamVjdENhY2hlKCkt
PnJlbW92ZSh0aGlzKTsKICAgICAKQEAgLTQzMyw2ICs0MzMsMjMgQEAgTm9kZTo6fk5vZGUoKQog
ICAgIEluc3BlY3RvckNvdW50ZXJzOjpkZWNyZW1lbnRDb3VudGVyKEluc3BlY3RvckNvdW50ZXJz
OjpOb2RlQ291bnRlcik7CiB9CiAKK3ZvaWQgTm9kZTo6c2V0RG9jdW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50KQoreworICAgIEFTU0VSVCghaW5Eb2N1bWVudCgpIHx8IG1fZG9jdW1lbnQgPT0gZG9j
dW1lbnQpOworICAgIGlmIChpbkRvY3VtZW50KCkgfHwgbV9kb2N1bWVudCA9PSBkb2N1bWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9kb2N1bWVudCA9IGRvY3VtZW50OworfQorCit2b2lk
IE5vZGU6OnNldFRyZWVTY29wZShUcmVlU2NvcGUqIHNjb3BlKQoreworICAgIGlmICghaGFzUmFy
ZURhdGEoKSAmJiBzY29wZS0+cm9vdE5vZGUoKS0+aXNEb2N1bWVudE5vZGUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgZW5zdXJlUmFyZURhdGEoKS0+c2V0VHJlZVNjb3BlKHNjb3BlKTsKK30K
KwogTm9kZVJhcmVEYXRhKiBOb2RlOjpyYXJlRGF0YSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhh
c1JhcmVEYXRhKCkpOwpAQCAtNDU0LDcgKzQ3MSw3IEBAIE5vZGVSYXJlRGF0YSogTm9kZTo6ZW5z
dXJlUmFyZURhdGEoKQogCiBQYXNzT3duUHRyPE5vZGVSYXJlRGF0YT4gTm9kZTo6Y3JlYXRlUmFy
ZURhdGEoKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgTm9kZVJhcmVEYXRhKCkpOworICAg
IHJldHVybiBhZG9wdFB0cihuZXcgTm9kZVJhcmVEYXRhKGRvY3VtZW50SW50ZXJuYWwoKSkpOwog
fQogCiB2b2lkIE5vZGU6OmNsZWFyUmFyZURhdGEoKQpAQCAtMTA2NSw3ICsxMDgyLDcgQEAgdm9p
ZCBOb2RlOjphdHRhY2goKQogICAgIHNldEF0dGFjaGVkKCk7CiAgICAgY2xlYXJOZWVkc1N0eWxl
UmVjYWxjKCk7CiAKLSAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnRJbnRlcm5hbCgpOworICAg
IERvY3VtZW50KiBkb2MgPSBtX2RvY3VtZW50OwogICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpICYmIGRvYyAmJiBkb2MtPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSkK
ICAgICAgICAgZG9jLT5heE9iamVjdENhY2hlKCktPnVwZGF0ZUNhY2hlQWZ0ZXJOb2RlSXNBdHRh
Y2hlZCh0aGlzKTsKIH0KQEAgLTI1ODIsNyArMjU5OSw3IEBAIHZvaWQgTm9kZTo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkRPTSk7CiAgICAgVHJlZVNoYXJlZDxOb2RlLCBDb250YWluZXJOb2RlPjo6cmVwb3J0
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgU2NyaXB0V3JhcHBhYmxlOjpyZXBv
cnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Ry
ZWVTY29wZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kb2N1bWVudCk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9uZXh0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3ByZXZpb3VzKTsKICAgICBpbmZv
LmFkZE1lbWJlcih0aGlzLT5yZW5kZXJlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDg0OWRkNjVhNTE3
NDkwZjFhZTFjZGM1ZGM4YTBjOGVkZWEzNmIzYTEuLjUwNTM5YmI5ZDBmMzNmNmY3MzYxZWQ4MzNj
MGJjZmFmNDYyYzZlNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUg
IlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAj
aW5jbHVkZSAiU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmgiCi0jaW5jbHVkZSAiVHJlZVNjb3BlLmgi
CiAjaW5jbHVkZSAiVHJlZVNoYXJlZC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CkBAIC04Niw2ICs4NSw3IEBAIGNsYXNzIFJlbmRlck9i
amVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgU2hhZG93Um9vdDsKIGNsYXNzIFRhZ05v
ZGVMaXN0OworY2xhc3MgVHJlZVNjb3BlOwogCiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQog
Y2xhc3MgUGxhdGZvcm1HZXN0dXJlRXZlbnQ7CkBAIC0xMTUsMTEgKzExNSwxOCBAQCBwdWJsaWM6
CiAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXI7
IH0KICAgICB2b2lkIHNldFJlbmRlcmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIHsgbV9yZW5k
ZXJlciA9IHJlbmRlcmVyOyB9CiAKKyAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHJlZVNjb3BlOyB9CisgICAgdm9pZCBzZXRUcmVlU2NvcGUoVHJlZVNjb3BlKiBz
Y29wZSkgeyBtX3RyZWVTY29wZSA9IHNjb3BlOyB9CisKICAgICB2aXJ0dWFsIH5Ob2RlUmFyZURh
dGFCYXNlKCkgeyB9CiBwcm90ZWN0ZWQ6Ci0gICAgTm9kZVJhcmVEYXRhQmFzZSgpIHsgfQorICAg
IE5vZGVSYXJlRGF0YUJhc2UoVHJlZVNjb3BlKiBzY29wZSkKKyAgICAgICAgOiBtX3RyZWVTY29w
ZShzY29wZSkKKyAgICB7CisgICAgfQogcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3QqIG1fcmVu
ZGVyZXI7CisgICAgVHJlZVNjb3BlKiBtX3RyZWVTY29wZTsKIH07CiAKIGNsYXNzIE5vZGUgOiBw
dWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hh
cmVkPE5vZGUsIENvbnRhaW5lck5vZGU+IHsKQEAgLTQ1MiwxMyArNDU5LDEzIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGRvY3VtZW50SW50ZXJuYWwoKTsKICAgICB9CiAKLSAgICBUcmVlU2Nv
cGUqIHRyZWVTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZVNjb3BlOyB9CisgICAgVHJlZVNj
b3BlKiB0cmVlU2NvcGUoKSBjb25zdDsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIG5v
ZGUgaXMgYXNzb2NpYXRlZCB3aXRoIGEgZG9jdW1lbnQgYW5kIGlzIGluIGl0cyBhc3NvY2lhdGVk
IGRvY3VtZW50J3MKICAgICAvLyBub2RlIHRyZWUsIGZhbHNlIG90aGVyd2lzZS4KICAgICBib29s
IGluRG9jdW1lbnQoKSBjb25zdCAKICAgICB7IAotICAgICAgICBBU1NFUlQoZG9jdW1lbnRJbnRl
cm5hbCgpIHx8ICFnZXRGbGFnKEluRG9jdW1lbnRGbGFnKSk7CisgICAgICAgIEFTU0VSVChtX2Rv
Y3VtZW50IHx8ICFnZXRGbGFnKEluRG9jdW1lbnRGbGFnKSk7CiAgICAgICAgIHJldHVybiBnZXRG
bGFnKEluRG9jdW1lbnRGbGFnKTsKICAgICB9CiAKQEAgLTc0OSwxNCArNzU2LDE3IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZvaWQgc2V0SGFzQ3VzdG9tQ2FsbGJhY2tzKCkgeyBzZXRGbGFnKHRydWUs
IEhhc0N1c3RvbUNhbGxiYWNrc0ZsYWcpOyB9CiAKLSAgICBEb2N1bWVudCogZG9jdW1lbnRJbnRl
cm5hbCgpIGNvbnN0IHsgcmV0dXJuIHRyZWVTY29wZSgpLT5kb2N1bWVudFNjb3BlKCk7IH0KLSAg
ICB2b2lkIHNldFRyZWVTY29wZShUcmVlU2NvcGUqIHNjb3BlKSB7IG1fdHJlZVNjb3BlID0gc2Nv
cGU7IH0KKyAgICBEb2N1bWVudCogZG9jdW1lbnRJbnRlcm5hbCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9jdW1lbnQ7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgVHJlZVNoYXJlZDxOb2Rl
LCBDb250YWluZXJOb2RlPjsKIAogICAgIHZvaWQgcmVtb3ZlZExhc3RSZWYoKTsKIAorICAgIC8v
IFRoZXNlIEFQSSBzaG91bGQgYmUgb25seSB1c2VkIGZvciBhIHRyZWUgc2NvcGUgbWlncmF0aW9u
LgorICAgIHZvaWQgc2V0VHJlZVNjb3BlKFRyZWVTY29wZSopOworICAgIHZvaWQgc2V0RG9jdW1l
bnQoRG9jdW1lbnQqKTsKKwogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNo
bHlFZGl0YWJsZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWws
IFVzZXJTZWxlY3RBbGxUcmVhdG1lbnQgPSBVc2VyU2VsZWN0QWxsSXNBbHdheXNOb25FZGl0YWJs
ZSkgY29uc3Q7CiAgICAgYm9vbCBpc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2
ZWwpIGNvbnN0OwpAQCAtNzk5LDcgKzgwOSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIG11
dGFibGUgdWludDMyX3QgbV9ub2RlRmxhZ3M7Ci0gICAgVHJlZVNjb3BlKiBtX3RyZWVTY29wZTsK
KyAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKICAgICBOb2RlKiBtX3ByZXZpb3VzOwogICAgIE5v
ZGUqIG1fbmV4dDsKICAgICAvLyBXaGVuIGEgbm9kZSBoYXMgcmFyZSBkYXRhIHdlIG1vdmUgdGhl
IHJlbmRlcmVyIGludG8gdGhlIHJhcmUgZGF0YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5j
cHAKaW5kZXggMmZiNDk0NGRlOWM1MTE0YmFjYmFjYzlhM2FlNjdjZGRiMWQ1ODNmYy4uOTU2MDdi
YjIxN2M3MWZkYmM2MDJhMjI4YWU2ZWJlNzM1NTU4NmYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL05vZGVSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVS
YXJlRGF0YS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Ry
dWN0IFNhbWVTaXplQXNOb2RlUmFyZURhdGEgewotICAgIHZvaWQqIG1fcG9pbnRlclszXTsKKyAg
ICB2b2lkKiBtX3BvaW50ZXJbNF07CiAgICAgdW5zaWduZWQgbV9pbmRpY2VzQW5kQml0ZmllbGRz
WzJdOwogCiAjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKQEAgLTY0LDYgKzY0LDcgQEAg
dm9pZCBOb2RlTGlzdHNOb2RlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY28KIHZvaWQgTm9kZVJhcmVEYXRhOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6RE9NKTsKKyAgICBpbmZvLmFkZE1lbWJlcih0cmVlU2NvcGUoKSk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9ub2RlTGlzdHMpOwogCiAjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCA4MWE2NTNhZTM0ZTM0Zjk3ODdmMmZmNDI0
MmQyNTRiNGJhYmI5YTNkLi5kMjU5MzcxMDdjZThmZDllNzZhOWFlNGMyN2JjYmNiNjA1MzM5ZGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0yNDYsOCArMjQ2LDkgQEAgY2xhc3Mg
Tm9kZVJhcmVEYXRhIDogcHVibGljIE5vZGVSYXJlRGF0YUJhc2UgewogI2VuZGlmCiAKIHB1Ymxp
YzogICAgCi0gICAgTm9kZVJhcmVEYXRhKCkKLSAgICAgICAgOiBtX3RhYkluZGV4KDApCisgICAg
Tm9kZVJhcmVEYXRhKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICAgICAgOiBOb2RlUmFyZURhdGFC
YXNlKGRvY3VtZW50KQorICAgICAgICAsIG1fdGFiSW5kZXgoMCkKICAgICAgICAgLCBtX2NoaWxk
SW5kZXgoMCkKICAgICAgICAgLCBtX3RhYkluZGV4V2FzU2V0RXhwbGljaXRseShmYWxzZSkKICAg
ICAgICAgLCBtX25lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoKGZhbHNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGU2NjZlYzBhMWI1MDhhN2JmYzZmNjVi
YTY2NTBjY2ZjZDRhN2FjMWEuLjg5NzA4OWUzMWQ5ODA3NGYwZmFiMTliMjJhNjNmNWE3Y2YwMzg2
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgQ09NUElM
RV9BU1NFUlQoc2l6ZW9mKFNoYWRvd1Jvb3QpID09IHNpemVvZihTYW1lU2l6ZUFzU2hhZG93Um9v
dCksIHNoYWRvd3Jvb3Rfc2gKIAogU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBEb2N1bWVudEZyYWdtZW50KGRvY3VtZW50LCBDcmVhdGVTaGFkb3dSb290
KQotICAgICwgVHJlZVNjb3BlKHRoaXMsIGRvY3VtZW50KQorICAgICwgVHJlZVNjb3BlKHRoaXMp
CiAgICAgLCBtX3ByZXYoMCkKICAgICAsIG1fbmV4dCgwKQogICAgICwgbV9udW1iZXJPZlN0eWxl
cygwKQpAQCAtNzUsNyArNzUsMTIgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCog
ZG9jdW1lbnQpCiAgICAgLCBtX3JlZ2lzdGVyZWRXaXRoUGFyZW50U2hhZG93Um9vdChmYWxzZSkK
IHsKICAgICBBU1NFUlQoZG9jdW1lbnQpOwotICAgIHNldFRyZWVTY29wZSh0aGlzKTsKKyAgICAK
KyAgICAvLyBBc3N1bWUgZG9jdW1lbnQgYXMgcGFyZW50IHNjb3BlLgorICAgIHNldFBhcmVudFRy
ZWVTY29wZShkb2N1bWVudCk7CisgICAgLy8gU2hhZG93IHRyZWUgc2NvcGVzIGhhdmUgdGhlIHNj
b3BlIHBvaW50ZXIgcG9pbnQgdG8gdGhlbXNlbHZlcy4KKyAgICAvLyBUaGlzIHdheSwgZGlyZWN0
IGNoaWxkcmVuIHdpbGwgcmVjZWl2ZSB0aGUgY29ycmVjdCBzY29wZSBwb2ludGVyLgorICAgIGVu
c3VyZVJhcmVEYXRhKCktPnNldFRyZWVTY29wZSh0aGlzKTsKIH0KIAogU2hhZG93Um9vdDo6flNo
YWRvd1Jvb3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAppbmRleCA5YWQ1NTJiNWNmNzQzMWFl
MDA3YmFjY2Q2MzVjMWQzM2VhMzhjMDcwLi5mZTE5YTBmYTE4OWExMmZkMWFlYTllYTNhZGQ3MDQw
YjA5YjQ3MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcApAQCAtNTUsMzggKzU1LDE5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFNhbWVTaXplQXNUcmVlU2NvcGUgewogICAg
IHZpcnR1YWwgflNhbWVTaXplQXNUcmVlU2NvcGUoKTsKLSAgICB2b2lkKiBwb2ludGVyc1s4XTsK
KyAgICB2b2lkKiBwb2ludGVyc1s3XTsKIH07CiAKIENPTVBJTEVfQVNTRVJUKHNpemVvZihUcmVl
U2NvcGUpID09IHNpemVvZihTYW1lU2l6ZUFzVHJlZVNjb3BlKSwgdHJlZXNjb3BlX3Nob3VsZF9z
dGF5X3NtYWxsKTsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotVHJlZVNjb3BlOjpU
cmVlU2NvcGUoQ29udGFpbmVyTm9kZSogcm9vdE5vZGUsIERvY3VtZW50KiBkb2N1bWVudCkKK1Ry
ZWVTY29wZTo6VHJlZVNjb3BlKENvbnRhaW5lck5vZGUqIHJvb3ROb2RlKQogICAgIDogbV9yb290
Tm9kZShyb290Tm9kZSkKLSAgICAsIG1fZG9jdW1lbnRTY29wZShkb2N1bWVudCkKLSAgICAsIG1f
cGFyZW50VHJlZVNjb3BlKGRvY3VtZW50KQotICAgICwgbV9pZFRhcmdldE9ic2VydmVyUmVnaXN0
cnkoSWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5OjpjcmVhdGUoKSkKLXsKLSAgICBBU1NFUlQocm9v
dE5vZGUpOwotICAgIEFTU0VSVChkb2N1bWVudCk7Ci0gICAgQVNTRVJUKHJvb3ROb2RlICE9IGRv
Y3VtZW50KTsKLX0KLQotVHJlZVNjb3BlOjpUcmVlU2NvcGUoRG9jdW1lbnQqIGRvY3VtZW50KQot
ICAgIDogbV9yb290Tm9kZShkb2N1bWVudCkKLSAgICAsIG1fZG9jdW1lbnRTY29wZShkb2N1bWVu
dCkKICAgICAsIG1fcGFyZW50VHJlZVNjb3BlKDApCiAgICAgLCBtX2lkVGFyZ2V0T2JzZXJ2ZXJS
ZWdpc3RyeShJZFRhcmdldE9ic2VydmVyUmVnaXN0cnk6OmNyZWF0ZSgpKQogewotICAgIEFTU0VS
VChkb2N1bWVudCk7Ci19Ci0KLVRyZWVTY29wZTo6VHJlZVNjb3BlKCkKLSAgICA6IG1fcm9vdE5v
ZGUoMCkKLSAgICAsIG1fZG9jdW1lbnRTY29wZSgwKQotICAgICwgbV9wYXJlbnRUcmVlU2NvcGUo
MCkKLXsKKyAgICBBU1NFUlQocm9vdE5vZGUpOwogfQogCiBUcmVlU2NvcGU6On5UcmVlU2NvcGUo
KQpAQCAtMTEyLDcgKzkzLDYgQEAgdm9pZCBUcmVlU2NvcGU6OnNldFBhcmVudFRyZWVTY29wZShU
cmVlU2NvcGUqIG5ld1BhcmVudFNjb3BlKQogICAgIEFTU0VSVChuZXdQYXJlbnRTY29wZSk7CiAK
ICAgICBtX3BhcmVudFRyZWVTY29wZSA9IG5ld1BhcmVudFNjb3BlOwotICAgIHNldERvY3VtZW50
U2NvcGUobmV3UGFyZW50U2NvcGUtPmRvY3VtZW50U2NvcGUoKSk7CiB9CiAKIEVsZW1lbnQqIFRy
ZWVTY29wZTo6Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50SWQpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJlZVNjb3BlLmgKaW5kZXggYzFkMDRjNjVmYTBmZmM0YmQ3NDY3NDEzMTQ0
NjY5NDNjNTE1YjEyMC4uY2I2NjkwZGM2ZjUxNGJhNDE4NzE1YjRjYTY0YTRiOWIyNTZmMjYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UcmVlU2NvcGUuaApAQCAtMzUsNyArMzUsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBET01TZWxlY3Rpb247Ci1jbGFzcyBE
b2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBIVE1MTGFiZWxFbGVtZW50OwogY2xhc3Mg
SFRNTE1hcEVsZW1lbnQ7CkBAIC00Nyw3ICs0Niw2IEBAIGNsYXNzIE5vZGU7CiAvLyB0aGUgZGVz
dHJ1Y3Rvci4KIGNsYXNzIFRyZWVTY29wZSB7CiAgICAgZnJpZW5kIGNsYXNzIERvY3VtZW50Owot
ICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGVBZG9wdGVyOwogCiBwdWJsaWM6CiAgICAgVHJlZVNj
b3BlKiBwYXJlbnRUcmVlU2NvcGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFRyZWVTY29wZTsg
fQpAQCAtNjAsOCArNTgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRFbGVtZW50QnlJZChjb25z
dCBBdG9taWNTdHJpbmcmIGVsZW1lbnRJZCwgRWxlbWVudCopOwogICAgIHZvaWQgcmVtb3ZlRWxl
bWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50SWQsIEVsZW1lbnQqKTsKIAotICAg
IERvY3VtZW50KiBkb2N1bWVudFNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudFNjb3Bl
OyB9Ci0KICAgICBOb2RlKiBhbmNlc3RvckluVGhpc1Njb3BlKE5vZGUqKSBjb25zdDsKIAogICAg
IHZvaWQgYWRkSW1hZ2VNYXAoSFRNTE1hcEVsZW1lbnQqKTsKQEAgLTk1LDMwICs5MSwxNCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyopIGNvbnN0OwogCi0gICAgc3RhdGljIFRyZWVTY29wZSogbm9Eb2N1bWVudEluc3RhbmNl
KCkKLSAgICB7Ci0gICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoVHJlZVNjb3BlLCBpbnN0YW5j
ZSwgKCkpOwotICAgICAgICByZXR1cm4gJmluc3RhbmNlOwotICAgIH0KLQogcHJvdGVjdGVkOgot
ICAgIFRyZWVTY29wZShDb250YWluZXJOb2RlKiwgRG9jdW1lbnQqKTsKLSAgICBUcmVlU2NvcGUo
RG9jdW1lbnQqKTsKKyAgICBleHBsaWNpdCBUcmVlU2NvcGUoQ29udGFpbmVyTm9kZSopOwogICAg
IHZpcnR1YWwgflRyZWVTY29wZSgpOwogCiAgICAgdm9pZCBkZXN0cm95VHJlZVNjb3BlRGF0YSgp
OwotICAgIHZvaWQgc2V0RG9jdW1lbnRTY29wZShEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgewot
ICAgICAgICBBU1NFUlQoZG9jdW1lbnQpOwotICAgICAgICBBU1NFUlQodGhpcyAhPSBub0RvY3Vt
ZW50SW5zdGFuY2UoKSk7Ci0gICAgICAgIG1fZG9jdW1lbnRTY29wZSA9IGRvY3VtZW50OwotICAg
IH0KIAogcHJpdmF0ZToKLSAgICBUcmVlU2NvcGUoKTsKLQogICAgIENvbnRhaW5lck5vZGUqIG1f
cm9vdE5vZGU7Ci0gICAgRG9jdW1lbnQqIG1fZG9jdW1lbnRTY29wZTsKICAgICBUcmVlU2NvcGUq
IG1fcGFyZW50VHJlZVNjb3BlOwogCiAgICAgT3duUHRyPERvY3VtZW50T3JkZXJlZE1hcD4gbV9l
bGVtZW50c0J5SWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRv
cHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAKaW5kZXgg
NGJlNmY5NzliY2RjMDFmMTJiNjlkYWIxMmY2NzBhMjYyNzM0N2U0Ny4uMDE5ZTY3YWI0M2RmZWEw
NjhlZjEyZmYwOTQ0MzA5OWZmNGY1YWRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1RyZWVTY29wZUFkb3B0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVB
ZG9wdGVyLmNwcApAQCAtNDMsMTUgKzQzLDE0IEBAIHZvaWQgVHJlZVNjb3BlQWRvcHRlcjo6bW92
ZVRyZWVUb05ld1Njb3BlKE5vZGUqIHJvb3QpIGNvbnN0CiAgICAgLy8gdGhhdCBlbGVtZW50IG1h
eSBjb250YWluIHN0YWxlIGRhdGEgYXMgY2hhbmdlcyBtYWRlIHRvIGl0IHdpbGwgaGF2ZSB1cGRh
dGVkIHRoZSBET01UcmVlVmVyc2lvbgogICAgIC8vIG9mIHRoZSBkb2N1bWVudCBpdCB3YXMgbW92
ZWQgdG8uIEJ5IGluY3JlYXNpbmcgdGhlIERPTVRyZWVWZXJzaW9uIG9mIHRoZSBkb25hdGluZyBk
b2N1bWVudCBoZXJlCiAgICAgLy8gd2UgZW5zdXJlIHRoYXQgdGhlIGNvbGxlY3Rpb24gY2FjaGUg
d2lsbCBiZSBpbnZhbGlkYXRlZCBhcyBuZWVkZWQgd2hlbiB0aGUgZWxlbWVudCBpcyBtb3ZlZCBi
YWNrLgotICAgIERvY3VtZW50KiBvbGREb2N1bWVudCA9IG1fb2xkU2NvcGUtPmRvY3VtZW50U2Nv
cGUoKTsKLSAgICBEb2N1bWVudCogbmV3RG9jdW1lbnQgPSBtX25ld1Njb3BlLT5kb2N1bWVudFNj
b3BlKCk7CisgICAgRG9jdW1lbnQqIG9sZERvY3VtZW50ID0gbV9vbGRTY29wZSA/IG1fb2xkU2Nv
cGUtPnJvb3ROb2RlKCktPmRvY3VtZW50KCkgOiAwOworICAgIERvY3VtZW50KiBuZXdEb2N1bWVu
dCA9IG1fbmV3U2NvcGUtPnJvb3ROb2RlKCktPmRvY3VtZW50KCk7CiAgICAgYm9vbCB3aWxsTW92
ZVRvTmV3RG9jdW1lbnQgPSBvbGREb2N1bWVudCAhPSBuZXdEb2N1bWVudDsKICAgICBpZiAob2xk
RG9jdW1lbnQgJiYgd2lsbE1vdmVUb05ld0RvY3VtZW50KQogICAgICAgICBvbGREb2N1bWVudC0+
aW5jRE9NVHJlZVZlcnNpb24oKTsKIAogICAgIGZvciAoTm9kZSogbm9kZSA9IHJvb3Q7IG5vZGU7
IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KG5vZGUsIHJvb3QpKSB7CiAgICAgICAgIG5vZGUt
PnNldFRyZWVTY29wZShtX25ld1Njb3BlKTsKLQogICAgICAgICBpZiAobm9kZS0+aGFzUmFyZURh
dGEoKSkgewogICAgICAgICAgICAgTm9kZVJhcmVEYXRhKiByYXJlRGF0YSA9IG5vZGUtPnJhcmVE
YXRhKCk7CiAgICAgICAgICAgICBpZiAocmFyZURhdGEtPm5vZGVMaXN0cygpKQpAQCAtOTgsOCAr
OTcsNyBAQCBpbmxpbmUgdm9pZCBUcmVlU2NvcGVBZG9wdGVyOjptb3ZlTm9kZVRvTmV3RG9jdW1l
bnQoTm9kZSogbm9kZSwgRG9jdW1lbnQqIG9sZERvYwogICAgIGlmIChvbGREb2N1bWVudCkKICAg
ICAgICAgb2xkRG9jdW1lbnQtPm1vdmVOb2RlSXRlcmF0b3JzVG9OZXdEb2N1bWVudChub2RlLCBu
ZXdEb2N1bWVudCk7CiAKLSAgICBpZiAobm9kZS0+aXNTaGFkb3dSb290KCkpCi0gICAgICAgIHRv
U2hhZG93Um9vdChub2RlKS0+c2V0RG9jdW1lbnRTY29wZShuZXdEb2N1bWVudCk7CisgICAgbm9k
ZS0+c2V0RG9jdW1lbnQobmV3RG9jdW1lbnQpOwogCiAjaWZuZGVmIE5ERUJVRwogICAgIGRpZE1v
dmVUb05ld0RvY3VtZW50V2FzQ2FsbGVkID0gZmFsc2U7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>