<?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>86710</bug_id>
          
          <creation_ts>2012-05-16 23:41:26 -0700</creation_ts>
          <short_desc>REGRESSION(r117372): &quot;triggerring crashes&quot; (Requested by morrita on #webkit).</short_desc>
          <delta_ts>2012-05-16 23:52:33 -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>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>83610</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>crogers</cc>
    
    <cc>kbr</cc>
    
    <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626302</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 23:41:26 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/117372 broke the build:
&quot;triggerring crashes&quot; (Requested by morrita 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>626304</commentid>
    <comment_count>1</comment_count>
      <attachid>142422</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 23:42:14 -0700</bug_when>
    <thetext>Created attachment 142422
ROLLOUT of r117372

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>626305</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-16 23:45:34 -0700</bug_when>
    <thetext>My crash log collection:

----

* webaudio/biquad-allpass.html (Linux)

crash log for DumpRenderTree (pid 2937):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_table
STDERR: ../../WTF/wtf/HashTable.h(210) : void WTF::HashTableConstIterator&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt;, WTF::RefPtr&lt;WebCore::AudioParam&gt;, WTF::IdentityExtractor, WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt; &gt;::checkValidity() const [Key = WTF::RefPtr&lt;WebCore::AudioParam&gt;, Value = WTF::RefPtr&lt;WebCore::AudioParam&gt;, Extractor = WTF::IdentityExtractor, HashFunctions = WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, Traits = WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, KeyTraits = WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;]
STDERR: 1   0x193401a2 start
STDERR: 2   0x19340210 start
STDERR: 3   0x1933ff4f start
STDERR: 4   0x1933f16e start
STDERR: 5   0x1933f1e9 start
STDERR: 6   0x19338962 start
STDERR: 7   0x193385b1 start
STDERR: 8   0x1a51a99b start
STDERR: 9   0x194631a8 start
STDERR: 10  0x194630e9 start
STDERR: 11  0x19463a54 start
STDERR: 12  0x194635fa start
STDERR: 13  0x17e2794c start
STDERR: 14  0x17e25c1d start
STDERR: 15  0x17e3d9e3 start
STDERR: 16  0x17e3d115 start
STDERR: 17  0x17e3302b start
STDERR: 18  0x18126791 start
STDERR: 19  0x2e50a39d
STDERR: [2937:-1603913952:2127438684187:ERROR:process_util_posix.cc(143)] Received signal 11
STDERR: 	0   DumpRenderTree                      0x1751103f start + 8612295
STDERR: 	1   DumpRenderTree                      0x17510fdb start + 8612195
STDERR: 	2   DumpRenderTree                      0x175c9db7 start + 9369407
STDERR: 	3   libSystem.B.dylib                   0x94e551cb _sigtramp + 43
STDERR: 	4   ???                                 0xffffffff 0x0 + 4294967295
STDERR: 	5   DumpRenderTree                      0x19340210 start + 40262552
STDERR: 	6   DumpRenderTree                      0x1933ff4f start + 40261847
STDERR: 	7   DumpRenderTree                      0x1933f16e start + 40258294
STDERR: 	8   DumpRenderTree                      0x1933f1e9 start + 40258417
STDERR: 	9   DumpRenderTree                      0x19338962 start + 40231658
STDERR: 	10  DumpRenderTree                      0x193385b1 start + 40230713
STDERR: 	11  DumpRenderTree                      0x1a51a99b start + 58983203
STDERR: 	12  DumpRenderTree                      0x194631a8 start + 41454384
STDERR: 	13  DumpRenderTree                      0x194630e9 start + 41454193
STDERR: 	14  DumpRenderTree                      0x19463a54 start + 41456604
STDERR: 	15  DumpRenderTree                      0x194635fa start + 41455490
STDERR: 	16  DumpRenderTree                      0x17e2794c start + 18141908
STDERR: 	17  DumpRenderTree                      0x17e25c1d start + 18134437
STDERR: 	18  DumpRenderTree                      0x17e3d9e3 start + 18232171
STDERR: 	19  DumpRenderTree                      0x17e3d115 start + 18229917
STDERR: 	20  DumpRenderTree                      0x17e3302b start + 18188723
STDERR: 	21  DumpRenderTree                      0x18126791 start + 21283097
STDERR: 	22  ???                                 0x2e50a39d 0x0 + 777036701
STDERR: ax: bbadbeef, bx: 13008, cx: 46359c68, dx: 46359c68
STDERR: di: 1ae5063e, si: 1b1015dd, bp: bfffc608, sp: bfffc5d0, ss: 1f, flags: 10282
STDERR: ip: 193401ac, cs: 17, ds: 1f, es: 1f, fs: 0, gs: 37

----

* webaudio/audioparam-exponentialRampToValueAtTime.html (Linux)

crash log for DumpRenderTree (pid 28896):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_table
STDERR: third_party/WebKit/Source/WTF/wtf/HashTable.h(210) : void WTF::HashTableConstIterator&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::checkValidity() const [with Key = WTF::RefPtr&lt;WebCore::AudioParam&gt;, Value = WTF::RefPtr&lt;WebCore::AudioParam&gt;, Extractor = WTF::IdentityExtractor, HashFunctions = WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, Traits = WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;, KeyTraits = WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::AudioParam&gt; &gt;]
STDERR: 1   0x1752ccf
STDERR: 2   0x1751d52
STDERR: 3   0x1751010
STDERR: 4   0x1750615
STDERR: 5   0x1750698
STDERR: 6   0x174d168
STDERR: 7   0x174cedf
STDERR: 8   0x1d1a297
STDERR: 9   0x1785fea
STDERR: 10  0x1785fb9
STDERR: 11  0x17864f5
STDERR: 12  0x1786217
STDERR: 13  0xba3090
STDERR: 14  0xba1ad5
STDERR: 15  0xbb1444
STDERR: 16  0xbb064a
STDERR: 17  0xb8c9e3
STDERR: 18  0xd6b96d
STDERR: 19  0x9f54d50621b
STDERR: [28896:28896:4697645228250:ERROR:process_util_posix.cc(143)] Received signal 11
STDERR: 	base::debug::StackTrace::StackTrace() [0x86d30a]
STDERR: 	base::(anonymous namespace)::StackDumpSignalHandler() [0x82d475]
STDERR: 	0x7fd7275e5af0
STDERR: 	WTF::HashTableConstIterator&lt;&gt;::checkValidity() [0x1752cd9]
STDERR: 	WTF::HashTableConstIterator&lt;&gt;::operator++() [0x1751d52]
STDERR: 	WTF::HashTableConstIteratorAdapter&lt;&gt;::operator++() [0x1751010]
STDERR: 	WebCore::AudioNodeOutput::disconnectAllParams() [0x1750615]
STDERR: 	WebCore::AudioNodeOutput::disconnectAll() [0x1750698]
STDERR: 	WebCore::AudioNode::finishDeref() [0x174d168]
STDERR: 	WebCore::AudioNode::deref() [0x174cedf]
STDERR: 	WebCore::V8AudioBufferSourceNode::derefObject() [0x1d1a297]
STDERR: 	WebCore::WrapperTypeInfo::derefObject() [0x1785fea]
STDERR: 	WebCore::DOMData::derefObject() [0x1785fb9]
STDERR: 	WebCore::DOMData::handleWeakObject&lt;&gt;() [0x17864f5]
STDERR: 	WebCore::DOMDataStore::weakDOMObjectCallback() [0x1786217]
STDERR: 	v8::internal::GlobalHandles::Node::PostGarbageCollectionProcessing() [0xba3090]
STDERR: 	v8::internal::GlobalHandles::PostGarbageCollectionProcessing() [0xba1ad5]
STDERR: 	v8::internal::Heap::PerformGarbageCollection() [0xbb1444]
STDERR: 	v8::internal::Heap::CollectGarbage() [0xbb064a]
STDERR: 	v8::internal::Heap::CollectGarbage() [0xb8c9e3]
STDERR: 	v8::internal::Runtime::PerformGC() [0xd6b96d]
STDERR: 	0x9f54d50621b</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626311</commentid>
    <comment_count>3</comment_count>
      <attachid>142422</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 23:52:22 -0700</bug_when>
    <thetext>Comment on attachment 142422
ROLLOUT of r117372

Clearing flags on attachment: 142422

Committed r117404: &lt;http://trac.webkit.org/changeset/117404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626312</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 23:52:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142422</attachid>
            <date>2012-05-16 23:42:14 -0700</date>
            <delta_ts>2012-05-16 23:52:22 -0700</delta_ts>
            <desc>ROLLOUT of r117372</desc>
            <filename>bug-86710-20120517064618.patch</filename>
            <type>text/plain</type>
            <size>15486</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYwMDVkNjc5ZTQyZmZk
NzE3NmJkZDEyMmUxYjVhZDBiODc3ZTUwNC4uYzliZjFlOGNkNzY5NjRhYjk0Zjc2OWRlOWU5YTNj
NjhlMTc2YWM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE3MzcyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTczNzIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2NzEwCisKKyAgICAgICAgInRyaWdnZXJyaW5nIGNyYXNoZXMiIChSZXF1ZXN0
ZWQgYnkgbW9ycml0YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9QYXJhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1BhcmFtOjpjYWxjdWxhdGVT
YW1wbGVBY2N1cmF0ZVZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1BhcmFtOjpjYWxj
dWxhdGVBdWRpb1JhdGVTaWduYWxWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9QYXJh
bTo6Y29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1BhcmFtOjpkaXNjb25uZWN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW0uaDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvUGFyYW06OmNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9QYXJhbTo6
aGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9QYXJhbTo6
QXVkaW9QYXJhbSk6CisgICAgICAgIChBdWRpb1BhcmFtKToKKwogMjAxMi0wNS0xNiAgSGF5YXRv
IEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IGEgU2hhZG93
IERPTSBzcGVjJ3Mgc2VjdGlvbiA2ICdFdmVudHMnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9QYXJhbS5jcHAKaW5kZXggMTVjNjc0MzFkMTg4ODAyOWEwNWVhODA2
ZWJmY2QzZWY4YzE1ZmU4ZS4uZGVjNzA4NzgyNWUxYThhZTQ5YTdiZTE5MTdkNDZhMzViZjNlZjA1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW0uY3Bw
CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBBdWRpb1BhcmFtOjpjYWxjdWxhdGVTYW1wbGVBY2N1
cmF0ZVZhbHVlcyhmbG9hdCogdmFsdWVzLCB1bnNpZ25lZCBudW1iZXJPZlYKICAgICBpZiAoIWlz
U2FmZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG51bWJlck9mUmVuZGVyaW5nQ29ubmVj
dGlvbnMoKSkKKyAgICBpZiAobV9hdWRpb1JhdGVTaWduYWwpCiAgICAgICAgIGNhbGN1bGF0ZUF1
ZGlvUmF0ZVNpZ25hbFZhbHVlcyh2YWx1ZXMsIG51bWJlck9mVmFsdWVzKTsKICAgICBlbHNlCiAg
ICAgICAgIGNhbGN1bGF0ZVRpbWVsaW5lVmFsdWVzKHZhbHVlcywgbnVtYmVyT2ZWYWx1ZXMpOwpA
QCAtMTA5LDQwICsxMDksMjYgQEAgdm9pZCBBdWRpb1BhcmFtOjpjYWxjdWxhdGVTYW1wbGVBY2N1
cmF0ZVZhbHVlcyhmbG9hdCogdmFsdWVzLCB1bnNpZ25lZCBudW1iZXJPZlYKIAogdm9pZCBBdWRp
b1BhcmFtOjpjYWxjdWxhdGVBdWRpb1JhdGVTaWduYWxWYWx1ZXMoZmxvYXQqIHZhbHVlcywgdW5z
aWduZWQgbnVtYmVyT2ZWYWx1ZXMpCiB7Ci0gICAgYm9vbCBpc0dvb2QgPSBudW1iZXJPZlJlbmRl
cmluZ0Nvbm5lY3Rpb25zKCkgJiYgbnVtYmVyT2ZWYWx1ZXM7Ci0gICAgQVNTRVJUKGlzR29vZCk7
Ci0gICAgaWYgKCFpc0dvb2QpCisgICAgLy8gRklYTUU6IHN1cHBvcnQgZmFuLWluIChtdWx0aXBs
ZSBhdWRpbyBjb25uZWN0aW9ucyB0byB0aGlzIHBhcmFtZXRlciB3aXRoIHVuaXR5LWdhaW4gc3Vt
bWluZykuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgz
NjEwCisgICAgQVNTRVJUKG1fYXVkaW9SYXRlU2lnbmFsKTsKKworICAgIEF1ZGlvQnVzKiBidXMg
PSBtX2F1ZGlvUmF0ZVNpZ25hbC0+cHVsbCgwLCBudW1iZXJPZlZhbHVlcyk7CisgICAgYm9vbCBp
c0J1c0dvb2QgPSBidXMgJiYgYnVzLT5udW1iZXJPZkNoYW5uZWxzKCkgJiYgYnVzLT5sZW5ndGgo
KSA+PSBudW1iZXJPZlZhbHVlczsKKyAgICBBU1NFUlQoaXNCdXNHb29kKTsKKyAgICBpZiAoIWlz
QnVzR29vZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGhlIGNhbGN1bGF0ZWQgcmVzdWx0
IHdpbGwgYmUgdGhlICJpbnRyaW5zaWMiIHZhbHVlIHN1bW1lZCB3aXRoIGFsbCBhdWRpby1yYXRl
IGNvbm5lY3Rpb25zLgotCi0gICAgaWYgKG1fdGltZWxpbmUuaGFzVmFsdWVzKCkpIHsKLSAgICAg
ICAgLy8gQ2FsY3VsYXRlIHJlZ3VsYXIgdGltZWxpbmUgdmFsdWVzLCBpZiB3ZSBoYXZlIGFueS4K
LSAgICAgICAgY2FsY3VsYXRlVGltZWxpbmVWYWx1ZXModmFsdWVzLCBudW1iZXJPZlZhbHVlcyk7
CisgICAgaWYgKGJ1cy0+bnVtYmVyT2ZDaGFubmVscygpID09IDEpIHsKKyAgICAgICAgLy8gVGhl
IG5vcm1hbCBjYXNlIGlzIHRvIGRlYWwgd2l0aCBhIG1vbm8gYXVkaW8tcmF0ZSBzaWduYWwuCisg
ICAgICAgIG1lbWNweSh2YWx1ZXMsIGJ1cy0+Y2hhbm5lbCgwKS0+ZGF0YSgpLCBzaXplb2YoZmxv
YXQpICogbnVtYmVyT2ZWYWx1ZXMpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIE90aGVyd2lz
ZSBzZXQgdmFsdWVzIGFycmF5IHRvIG91ciBjb25zdGFudCB2YWx1ZS4KLSAgICAgICAgZmxvYXQg
dmFsdWUgPSBtX3ZhbHVlOyAvLyBDYWNoZSBpbiBsb2NhbC4KLQotICAgICAgICAvLyBGSVhNRTog
Y2FuIGJlIG9wdGltaXplZCBpZiB3ZSBjcmVhdGUgYSBuZXcgVmVjdG9yTWF0aCBmdW5jdGlvbi4K
LSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bWJlck9mVmFsdWVzOyArK2kpCi0g
ICAgICAgICAgICB2YWx1ZXNbaV0gPSB2YWx1ZTsKLSAgICB9Ci0KLSAgICAvLyBOb3cgc3VtIGFs
bCBvZiB0aGUgYXVkaW8tcmF0ZSBjb25uZWN0aW9ucyB0b2dldGhlciAodW5pdHktZ2FpbiBzdW1t
aW5nIGp1bmN0aW9uKS4KLSAgICAvLyBOb3RlIHRoYXQgY29ubmVjdGlvbnMgd291bGQgbm9ybWFs
bHkgYmUgbW9ubywgYnV0IHdlIG1peCBkb3duIHRvIG1vbm8gaWYgbmVjZXNzYXJ5LgotICAgIEF1
ZGlvQnVzIHN1bW1pbmdCdXMoMSwgbnVtYmVyT2ZWYWx1ZXMsIGZhbHNlKTsKLSAgICBzdW1taW5n
QnVzLnNldENoYW5uZWxNZW1vcnkoMCwgdmFsdWVzLCBudW1iZXJPZlZhbHVlcyk7Ci0KLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZSZW5kZXJpbmdDb25uZWN0aW9ucygpOyAr
K2kpIHsKLSAgICAgICAgQXVkaW9Ob2RlT3V0cHV0KiBvdXRwdXQgPSByZW5kZXJpbmdPdXRwdXQo
aSk7Ci0gICAgICAgIEFTU0VSVChvdXRwdXQpOwotCi0gICAgICAgIC8vIFJlbmRlciBhdWRpbyBm
cm9tIHRoaXMgb3V0cHV0LgotICAgICAgICBBdWRpb0J1cyogY29ubmVjdGlvbkJ1cyA9IG91dHB1
dC0+cHVsbCgwLCBudW1iZXJPZlZhbHVlcyk7Ci0KLSAgICAgICAgLy8gU3VtLCB3aXRoIHVuaXR5
LWdhaW4uCi0gICAgICAgIHN1bW1pbmdCdXMuc3VtRnJvbSgqY29ubmVjdGlvbkJ1cyk7CisgICAg
ICAgIC8vIERvIGEgc3RhbmRhcmQgbWl4ZG93biB0byBvbmUgY2hhbm5lbCBpZiBuZWNlc3Nhcnku
CisgICAgICAgIEF1ZGlvQnVzIHdyYXBwZXJCdXMoMSwgbnVtYmVyT2ZWYWx1ZXMsIGZhbHNlKTsK
KyAgICAgICAgd3JhcHBlckJ1cy5zZXRDaGFubmVsTWVtb3J5KDAsIHZhbHVlcywgbnVtYmVyT2ZW
YWx1ZXMpOworICAgICAgICB3cmFwcGVyQnVzLmNvcHlGcm9tKCpidXMpOyAvLyBNaXhkb3duLgog
ICAgIH0KKyAgICBtX3ZhbHVlID0gdmFsdWVzWzBdOyAvLyBVcGRhdGUgdG8gZmlyc3QgdmFsdWUu
CiB9CiAKIHZvaWQgQXVkaW9QYXJhbTo6Y2FsY3VsYXRlVGltZWxpbmVWYWx1ZXMoZmxvYXQqIHZh
bHVlcywgdW5zaWduZWQgbnVtYmVyT2ZWYWx1ZXMpCkBAIC0xNTgsMzUgKzE0NCwzMyBAQCB2b2lk
IEF1ZGlvUGFyYW06OmNhbGN1bGF0ZVRpbWVsaW5lVmFsdWVzKGZsb2F0KiB2YWx1ZXMsIHVuc2ln
bmVkIG51bWJlck9mVmFsdWVzKQogICAgIG1fdmFsdWUgPSBtX3RpbWVsaW5lLnZhbHVlc0ZvclRp
bWVSYW5nZShzdGFydFRpbWUsIGVuZFRpbWUsIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobV92YWx1
ZSksIHZhbHVlcywgbnVtYmVyT2ZWYWx1ZXMsIHNhbXBsZVJhdGUsIHNhbXBsZVJhdGUpOwogfQog
Ci12b2lkIEF1ZGlvUGFyYW06OmNvbm5lY3QoQXVkaW9Ob2RlT3V0cHV0KiBvdXRwdXQpCit2b2lk
IEF1ZGlvUGFyYW06OmNvbm5lY3QoQXVkaW9Ob2RlT3V0cHV0KiBhdWRpb1JhdGVTaWduYWwpCiB7
CiAgICAgQVNTRVJUKGNvbnRleHQoKS0+aXNHcmFwaE93bmVyKCkpOwotCi0gICAgQVNTRVJUKG91
dHB1dCk7Ci0gICAgaWYgKCFvdXRwdXQpCisgICAgQVNTRVJUKGF1ZGlvUmF0ZVNpZ25hbCk7Cisg
ICAgaWYgKCFhdWRpb1JhdGVTaWduYWwpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX291
dHB1dHMuY29udGFpbnMob3V0cHV0KSkKLSAgICAgICAgcmV0dXJuOworICAgIGlmIChtX2F1ZGlv
UmF0ZVNpZ25hbCAmJiBtX2F1ZGlvUmF0ZVNpZ25hbCAhPSBhdWRpb1JhdGVTaWduYWwpIHsKKyAg
ICAgICAgLy8gQmVjYXVzZSB3ZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBmYW4taW4gd2UgbXVz
dCBleHBsaWNpdGx5IGRpc2Nvbm5lY3QgZnJvbSBhbiBvbGQgb3V0cHV0LgorICAgICAgICBtX2F1
ZGlvUmF0ZVNpZ25hbC0+cmVtb3ZlUGFyYW0odGhpcyk7CisgICAgfQogCi0gICAgb3V0cHV0LT5h
ZGRQYXJhbSh0aGlzKTsKLSAgICBtX291dHB1dHMuYWRkKG91dHB1dCk7Ci0gICAgY2hhbmdlZE91
dHB1dHMoKTsKKyAgICBhdWRpb1JhdGVTaWduYWwtPmFkZFBhcmFtKHRoaXMpOworICAgIG1fYXVk
aW9SYXRlU2lnbmFsID0gYXVkaW9SYXRlU2lnbmFsOwogfQogCi12b2lkIEF1ZGlvUGFyYW06OmRp
c2Nvbm5lY3QoQXVkaW9Ob2RlT3V0cHV0KiBvdXRwdXQpCit2b2lkIEF1ZGlvUGFyYW06OmRpc2Nv
bm5lY3QoQXVkaW9Ob2RlT3V0cHV0KiBhdWRpb1JhdGVTaWduYWwpCiB7CiAgICAgQVNTRVJUKGNv
bnRleHQoKS0+aXNHcmFwaE93bmVyKCkpOwotCi0gICAgQVNTRVJUKG91dHB1dCk7Ci0gICAgaWYg
KCFvdXRwdXQpCisgICAgQVNTRVJUKGF1ZGlvUmF0ZVNpZ25hbCk7CisgICAgaWYgKCFhdWRpb1Jh
dGVTaWduYWwpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX291dHB1dHMuY29udGFpbnMo
b3V0cHV0KSkgewotICAgICAgICBtX291dHB1dHMucmVtb3ZlKG91dHB1dCk7Ci0gICAgICAgIGNo
YW5nZWRPdXRwdXRzKCk7Ci0gICAgICAgIG91dHB1dC0+cmVtb3ZlUGFyYW0odGhpcyk7Ci0gICAg
fQorICAgIC8vIEZJWE1FOiBzdXBwb3J0IGZhbi1pbiAobXVsdGlwbGUgYXVkaW8gY29ubmVjdGlv
bnMgdG8gdGhpcyBwYXJhbWV0ZXIgd2l0aCB1bml0eS1nYWluIHN1bW1pbmcpLgorICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzYxMAorICAgIGlmIChtX2F1
ZGlvUmF0ZVNpZ25hbCA9PSBhdWRpb1JhdGVTaWduYWwpCisgICAgICAgIG1fYXVkaW9SYXRlU2ln
bmFsID0gMDsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW0uaAppbmRleCA5MGZkZTNiNTIwNTJhOWY1MzFhM2Vj
MzUxZWViZGExYTk5YzQ4MDZhLi4zYmQyN2FiZDhjODZkZThkNGFlZWE3NDliMTU0OWUzN2NmNzk0
YTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFy
YW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW0uaApA
QCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCiAjaW5jbHVkZSAi
QXVkaW9QYXJhbVRpbWVsaW5lLmgiCi0jaW5jbHVkZSAiQXVkaW9TdW1taW5nSnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9GbG9hdDMyQXJyYXkuaD4KQEAgLTQyLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBBdWRpb05vZGVPdXRwdXQ7CiAKLWNsYXNzIEF1ZGlvUGFyYW0gOiBw
dWJsaWMgQXVkaW9TdW1taW5nSnVuY3Rpb24sIHB1YmxpYyBSZWZDb3VudGVkPEF1ZGlvUGFyYW0+
IHsKK2NsYXNzIEF1ZGlvUGFyYW0gOiBwdWJsaWMgUmVmQ291bnRlZDxBdWRpb1BhcmFtPiB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0U21vb3RoaW5nQ29uc3RhbnQ7
CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBTbmFwVGhyZXNob2xkOwpAQCAtNTIsOSArNTEsNyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9QYXJhbShjb250ZXh0
LCBuYW1lLCBkZWZhdWx0VmFsdWUsIG1pblZhbHVlLCBtYXhWYWx1ZSwgdW5pdHMpKTsKICAgICB9
CiAKLSAgICAvLyBBdWRpb1N1bW1pbmdKdW5jdGlvbgotICAgIHZpcnR1YWwgYm9vbCBjYW5VcGRh
dGVTdGF0ZSgpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlk
VXBkYXRlKCkgT1ZFUlJJREUgeyB9CisgICAgQXVkaW9Db250ZXh0KiBjb250ZXh0KCkgeyByZXR1
cm4gbV9jb250ZXh0LmdldCgpOyB9CiAKICAgICBmbG9hdCB2YWx1ZSgpOwogICAgIHZvaWQgc2V0
VmFsdWUoZmxvYXQpOwpAQCAtODcsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1
ZUN1cnZlQXRUaW1lKEZsb2F0MzJBcnJheSogY3VydmUsIGZsb2F0IHRpbWUsIGZsb2F0IGR1cmF0
aW9uKSB7IG1fdGltZWxpbmUuc2V0VmFsdWVDdXJ2ZUF0VGltZShjdXJ2ZSwgdGltZSwgZHVyYXRp
b24pOyB9CiAgICAgdm9pZCBjYW5jZWxTY2hlZHVsZWRWYWx1ZXMoZmxvYXQgc3RhcnRUaW1lKSB7
IG1fdGltZWxpbmUuY2FuY2VsU2NoZWR1bGVkVmFsdWVzKHN0YXJ0VGltZSk7IH0KIAotICAgIGJv
b2wgaGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMoKSB7IHJldHVybiBtX3RpbWVsaW5lLmhhc1ZhbHVl
cygpIHx8IG51bWJlck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKTsgfQorICAgIGJvb2wgaGFzU2Ft
cGxlQWNjdXJhdGVWYWx1ZXMoKSB7IHJldHVybiBtX3RpbWVsaW5lLmhhc1ZhbHVlcygpIHx8IG1f
YXVkaW9SYXRlU2lnbmFsOyB9CiAgICAgCiAgICAgLy8gQ2FsY3VsYXRlcyBudW1iZXJPZlZhbHVl
cyBwYXJhbWV0ZXIgdmFsdWVzIHN0YXJ0aW5nIGF0IHRoZSBjb250ZXh0J3MgY3VycmVudCB0aW1l
LgogICAgIC8vIE11c3QgYmUgY2FsbGVkIGluIHRoZSBjb250ZXh0J3MgcmVuZGVyIHRocmVhZC4K
QEAgLTk5LDcgKzk2LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgQXVkaW9QYXJhbShB
dWRpb0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIGRlZmF1bHRW
YWx1ZSwgZG91YmxlIG1pblZhbHVlLCBkb3VibGUgbWF4VmFsdWUsIHVuc2lnbmVkIHVuaXRzID0g
MCkKLSAgICAgICAgOiBBdWRpb1N1bW1pbmdKdW5jdGlvbihjb250ZXh0KQorICAgICAgICA6IG1f
Y29udGV4dChjb250ZXh0KQogICAgICAgICAsIG1fbmFtZShuYW1lKQogICAgICAgICAsIG1fdmFs
dWUoZGVmYXVsdFZhbHVlKQogICAgICAgICAsIG1fZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSkK
QEAgLTEwOCw2ICsxMDUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICwgbV91bml0cyh1bml0cykK
ICAgICAgICAgLCBtX3Ntb290aGVkVmFsdWUoZGVmYXVsdFZhbHVlKQogICAgICAgICAsIG1fc21v
b3RoaW5nQ29uc3RhbnQoRGVmYXVsdFNtb290aGluZ0NvbnN0YW50KQorICAgICAgICAsIG1fYXVk
aW9SYXRlU2lnbmFsKDApCiAgICAgewogICAgIH0KIApAQCAtMTE1LDYgKzExMyw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBjYWxjdWxhdGVBdWRpb1JhdGVTaWduYWxWYWx1ZXMoZmxvYXQqIHZhbHVl
cywgdW5zaWduZWQgbnVtYmVyT2ZWYWx1ZXMpOwogICAgIHZvaWQgY2FsY3VsYXRlVGltZWxpbmVW
YWx1ZXMoZmxvYXQqIHZhbHVlcywgdW5zaWduZWQgbnVtYmVyT2ZWYWx1ZXMpOwogCisgICAgUmVm
UHRyPEF1ZGlvQ29udGV4dD4gbV9jb250ZXh0OwogICAgIFN0cmluZyBtX25hbWU7CiAgICAgZG91
YmxlIG1fdmFsdWU7CiAgICAgZG91YmxlIG1fZGVmYXVsdFZhbHVlOwpAQCAtMTI3LDYgKzEyNiwx
MSBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX3Ntb290aGluZ0NvbnN0YW50OwogICAgIAogICAg
IEF1ZGlvUGFyYW1UaW1lbGluZSBtX3RpbWVsaW5lOworCisgICAgLy8gQW4gYXVkaW8tcmF0ZSBz
aWduYWwgZGlyZWN0bHkgcHJvdmlkaW5nIHBhcmFtZXRlciB2YWx1ZXMuCisgICAgLy8gRklYTUU6
IHN1cHBvcnQgZmFuLWluIChtdWx0aXBsZSBhdWRpbyBjb25uZWN0aW9ucyB0byB0aGlzIHBhcmFt
ZXRlciB3aXRoIHVuaXR5LWdhaW4gc3VtbWluZykuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjEwCisgICAgQXVkaW9Ob2RlT3V0cHV0KiBtX2F1ZGlv
UmF0ZVNpZ25hbDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMjhhNDQ3
NTE5MDhkNGU0OWI0YWYyYWRkM2I3MzQ4ZjljNDYyOGRmLi5iNDM1ZWVlZjE3ZDM3NGEyZjY1NTRi
NWIyMmFlMmZiOGUwZjU1Mjk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDUtMTYgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTczNzIuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzExNzM3MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODY3MTAKKworICAgICAgICAidHJpZ2dlcnJpbmcgY3Jhc2hlcyIgKFJlcXVl
c3RlZCBieSBtb3JyaXRhIG9uICN3ZWJraXQpLgorCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9w
YXJhbS1jb25uZWN0LWF1ZGlvcmF0ZXNpZ25hbC5odG1sOgorICAgICAgICAqIHdlYmF1ZGlvL2F1
ZGlvcGFyYW0tc3VtbWluZ2p1bmN0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJhdWRpby9hdWRpb3BhcmFtLXN1bW1pbmdqdW5jdGlvbi5odG1sOiBSZW1vdmVkLgorCiAy
MDEyLTA1LTE2ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCBHVEsgZ2FyZGVuaW5nIGFmdGVyIHIxMTczNzMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3BhcmFtLWNvbm5lY3QtYXVkaW9yYXRlc2lnbmFsLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3BhcmFtLWNvbm5lY3QtYXVkaW9yYXRlc2ln
bmFsLmh0bWwKaW5kZXggYTA1MzYxYWM3MDZkZGY3NDE5MmE0NmIwZTcwOTgxZjI4MDUwMmFjOS4u
NTQ2ZWI3MDNmOGIwOWNiMmY4NzE4YmY5ZDI3YjY1ZjFmYTQ2OGJmNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wYXJhbS1jb25uZWN0LWF1ZGlvcmF0ZXNpZ25hbC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcGFyYW0tY29ubmVjdC1hdWRpb3JhdGVz
aWduYWwuaHRtbApAQCAtODcsMTAgKzg3LDYgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKIAogICAg
IC8vIENyZWF0ZSBhIGdhaW4gbm9kZSBjb250cm9sbGluZyB0aGUgZ2FpbiBvZiBjb25zdGFudFNv
dXJjZSBhbmQgbWFrZSB0aGUgY29ubmVjdGlvbnMuCiAgICAgdmFyIGdhaW5Ob2RlID0gY29udGV4
dC5jcmVhdGVHYWluTm9kZSgpOwotCi0gICAgLy8gSW50cmluc2ljIGJhc2VsaW5lIGdhaW4gb2Yg
emVyby4KLSAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMDsKLQogICAgIGNvbnN0YW50U291cmNl
LmNvbm5lY3QoZ2Fpbk5vZGUpOwogICAgIGdhaW5Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5h
dGlvbik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcGFyYW0tc3Vt
bWluZ2p1bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcGFy
YW0tc3VtbWluZ2p1bmN0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTUyOGEwOTRkOTUyMDdlYmQ1MmMxMTBhNWZiMDliNDM0ODAxOWY0Ny4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb3BhcmFtLXN1bW1pbmdqdW5jdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLVBBU1MgUmVuZGVyZWQgc2lnbmFsIGlzIG9mIGNvcnJlY3QgbGVuZ3Ro
LgotUEFTUyBSZW5kZXJlZCBzaWduYWwgbWF0Y2hlcyBzdW0gb2YgdHdvIGF1ZGlvLXJhdGUgZ2Fp
biBjaGFuZ2luZyBzaWduYWxzIHBsdXMgYmFzZWxpbmUgZ2Fpbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9hdWRpb3BhcmFtLXN1bW1pbmdqdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW9wYXJhbS1zdW1taW5nanVuY3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWNmYzdiZTc4OTAwMWQ3YWVhM2Y0YzNmYjllOGRkODI4YWFiOWVhZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9hdWRpb3BhcmFtLXN1bW1pbmdqdW5jdGlvbi5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTMyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotCi08IS0tCi1UZXN0cyB0aGF0IG11
bHRpcGxlIGF1ZGlvLXJhdGUgc2lnbmFscyAoQXVkaW9Ob2RlIG91dHB1dHMpIGNhbiBiZSBjb25u
ZWN0ZWQgdG8gYW4gQXVkaW9QYXJhbQotYW5kIHRoYXQgdGhlc2Ugc2lnbmFscyBhcmUgc3VtbWVk
LCBhbG9uZyB3aXRoIHRoZSBBdWRpb1BhcmFtcyBpbnRyaW5zaWMgdmFsdWUuCi0tLT4KLQotPGh0
bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYXVkaW8t
dGVzdGluZy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL21peC10ZXN0aW5n
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLTxib2R5PgotCi08c2NyaXB0PgotCi12YXIg
c2FtcGxlUmF0ZSA9IDQ0MTAwLjA7Ci12YXIgbGVuZ3RoSW5TZWNvbmRzID0gMTsKLQotdmFyIGNv
bnRleHQgPSAwOwotCi0vLyBCdWZmZXJzIHVzZWQgYnkgdGhlIHR3byBnYWluIGNvbnRyb2xsaW5n
IHNvdXJjZXMuCi12YXIgbGluZWFyUmFtcEJ1ZmZlcjsKLXZhciB0b25lQnVmZmVyOwotdmFyIHRv
bmVGcmVxdWVuY3kgPSA0NDA7Ci0KLS8vIEFyYml0cmFyeSBub24temVybyB2YWx1ZS4KLXZhciBi
YXNlbGluZUdhaW4gPSA1OwotCi0vLyBBbGxvdyBmb3IgYSBzbWFsbCByb3VuZC1vZmYgZXJyb3Iu
Ci12YXIgbWF4QWxsb3dlZEVycm9yID0gMWUtNjsKLQotZnVuY3Rpb24gY2hlY2tSZXN1bHQoZXZl
bnQpIHsKLSAgICB2YXIgcmVuZGVyZWRCdWZmZXIgPSBldmVudC5yZW5kZXJlZEJ1ZmZlcjsKLSAg
ICB2YXIgcmVuZGVyZWREYXRhID0gcmVuZGVyZWRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7Ci0K
LSAgICAvLyBHZXQgYnVmZmVyIGRhdGEgZnJvbSB0aGUgdHdvIHNvdXJjZXMgdXNlZCB0byBjb250
cm9sIGdhaW4uCi0gICAgdmFyIGxpbmVhclJhbXBEYXRhID0gbGluZWFyUmFtcEJ1ZmZlci5nZXRD
aGFubmVsRGF0YSgwKTsKLSAgICB2YXIgdG9uZURhdGEgPSB0b25lQnVmZmVyLmdldENoYW5uZWxE
YXRhKDApOwotCi0gICAgdmFyIG4gPSByZW5kZXJlZEJ1ZmZlci5sZW5ndGg7Ci0KLSAgICBpZiAo
biA9PSBsaW5lYXJSYW1wQnVmZmVyLmxlbmd0aCkgewotICAgICAgICB0ZXN0UGFzc2VkKCJSZW5k
ZXJlZCBzaWduYWwgaXMgb2YgY29ycmVjdCBsZW5ndGguIik7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgdGVzdEZhaWxlZCgiUmVuZGVyZWQgc2lnbmFsIGlzIG5vdCBvZiBjb3JyZWN0IGxlbmd0aC4i
KTsKLSAgICB9Ci0KLSAgICAvLyBDaGVjayB0aGF0IHRoZSByZW5kZXJlZCByZXN1bHQgZXhhY3Rs
eSBtYXRjaGVzIHRoZSBzdW0gb2YgdGhlIGludHJpbnNpYyBnYWluIHBsdXMgdGhlIHR3byBzb3Vy
Y2VzIHVzZWQgdG8gY29udHJvbCBnYWluLgotICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB3ZSdyZSBj
aGFuZ2luZyB0aGUgZ2FpbiBvZiBhIHNpZ25hbCBoYXZpbmcgY29uc3RhbnQgdmFsdWUgMS4KLSAg
ICB2YXIgc3VjY2VzcyA9IHRydWU7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsK
LSAgICAgICAgdmFyIGV4cGVjdGVkVmFsdWUgPSBiYXNlbGluZUdhaW4gKyBsaW5lYXJSYW1wRGF0
YVtpXSArIHRvbmVEYXRhW2ldOwotICAgICAgICB2YXIgZXJyb3IgPSBNYXRoLmFicyhleHBlY3Rl
ZFZhbHVlIC0gcmVuZGVyZWREYXRhW2ldKTsKLQotICAgICAgICBpZiAoZXJyb3IgPiBtYXhBbGxv
d2VkRXJyb3IpIHsKLSAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKHN1Y2Nlc3MpIHsKLSAgICAgICAgdGVz
dFBhc3NlZCgiUmVuZGVyZWQgc2lnbmFsIG1hdGNoZXMgc3VtIG9mIHR3byBhdWRpby1yYXRlIGdh
aW4gY2hhbmdpbmcgc2lnbmFscyBwbHVzIGJhc2VsaW5lIGdhaW4uIik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgdGVzdEZhaWxlZCgiUmVuZGVyZWQgc2lnbmFsIGRpZmZlcnMgZnJvbSB0aGUgc3Vt
IG9mIHR3byBhdWRpby1yYXRlIGdhaW4gY2hhbmdpbmcgc2lnbmFscyBwbHVzIGJhc2VsaW5lIGdh
aW4uIik7Ci0gICAgfQotCi0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0KLSAgICB2YXIgc2FtcGxlRnJhbWVMZW5ndGggPSBzYW1wbGVSYXRlICogbGVu
Z3RoSW5TZWNvbmRzOwotCi0gICAgLy8gQ3JlYXRlIG9mZmxpbmUgYXVkaW8gY29udGV4dC4KLSAg
ICBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgxLCBzYW1wbGVGcmFtZUxlbmd0aCwg
c2FtcGxlUmF0ZSk7Ci0KLSAgICAvLyBDcmVhdGUgYnVmZmVyIHVzZWQgYnkgdGhlIHNvdXJjZSB3
aGljaCB3aWxsIGhhdmUgaXRzIGdhaW4gY29udHJvbGxlZC4KLSAgICB2YXIgY29uc3RhbnRPbmVC
dWZmZXIgPSBjcmVhdGVDb25zdGFudEJ1ZmZlcihjb250ZXh0LCBzYW1wbGVGcmFtZUxlbmd0aCwg
MSk7Ci0gICAgdmFyIGNvbnN0YW50U291cmNlID0gY29udGV4dC5jcmVhdGVCdWZmZXJTb3VyY2Uo
KTsKLSAgICBjb25zdGFudFNvdXJjZS5idWZmZXIgPSBjb25zdGFudE9uZUJ1ZmZlcjsKLQotICAg
IC8vIENyZWF0ZSAxc3QgYnVmZmVyIHVzZWQgdG8gY29udHJvbCBnYWluIChhIGxpbmVhciByYW1w
KS4KLSAgICBsaW5lYXJSYW1wQnVmZmVyID0gY3JlYXRlTGluZWFyUmFtcEJ1ZmZlcihjb250ZXh0
LCBzYW1wbGVGcmFtZUxlbmd0aCk7Ci0gICAgdmFyIGdhaW5Tb3VyY2UxID0gY29udGV4dC5jcmVh
dGVCdWZmZXJTb3VyY2UoKTsKLSAgICBnYWluU291cmNlMS5idWZmZXIgPSBsaW5lYXJSYW1wQnVm
ZmVyOwotCi0gICAgLy8gQ3JlYXRlIDJuZCBidWZmZXIgdXNlZCB0byBjb250cm9sIGdhaW4gKGEg
c2ltcGxlIHNpbmUgd2F2ZSB0b25lKS4KLSAgICB0b25lQnVmZmVyID0gY3JlYXRlVG9uZUJ1ZmZl
cihjb250ZXh0LCB0b25lRnJlcXVlbmN5LCBsZW5ndGhJblNlY29uZHMsIDEpOwotICAgIHZhciBn
YWluU291cmNlMiA9IGNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7Ci0gICAgZ2FpblNvdXJj
ZTIuYnVmZmVyID0gdG9uZUJ1ZmZlcjsKLQotICAgIC8vIENyZWF0ZSBhIGdhaW4gbm9kZSBjb250
cm9sbGluZyB0aGUgZ2FpbiBvZiBjb25zdGFudFNvdXJjZSBhbmQgbWFrZSB0aGUgY29ubmVjdGlv
bnMuCi0gICAgdmFyIGdhaW5Ob2RlID0gY29udGV4dC5jcmVhdGVHYWluTm9kZSgpOwotCi0gICAg
Ly8gSW50cmluc2ljIGJhc2VsaW5lIGdhaW4uCi0gICAgLy8gVGhpcyBnYWluIHZhbHVlIHNob3Vs
ZCBiZSBzdW1tZWQgd2l0aCBnYWluU291cmNlMSBhbmQgZ2FpblNvdXJjZTIuCi0gICAgZ2Fpbk5v
ZGUuZ2Fpbi52YWx1ZSA9IGJhc2VsaW5lR2FpbjsKLQotICAgIGNvbnN0YW50U291cmNlLmNvbm5l
Y3QoZ2Fpbk5vZGUpOwotICAgIGdhaW5Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7
Ci0KLSAgICAvLyBDb25uZWN0IHR3byBhdWRpby1yYXRlIHNpZ25hbHMgdG8gY29udHJvbCB0aGUg
LmdhaW4gQXVkaW9QYXJhbS4KLSAgICBnYWluU291cmNlMS5jb25uZWN0KGdhaW5Ob2RlLmdhaW4p
OwotICAgIGdhaW5Tb3VyY2UyLmNvbm5lY3QoZ2Fpbk5vZGUuZ2Fpbik7Ci0KLSAgICAvLyBTdGFy
dCBhbGwgc291cmNlcyBhdCB0aW1lIDAuCi0gICAgY29uc3RhbnRTb3VyY2Uubm90ZU9uKDApOwot
ICAgIGdhaW5Tb3VyY2UxLm5vdGVPbigwKTsKLSAgICBnYWluU291cmNlMi5ub3RlT24oMCk7Ci0K
LSAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBjaGVja1Jlc3VsdDsKLSAgICBjb250ZXh0LnN0YXJ0
UmVuZGVyaW5nKCk7Ci19Ci0KLXJ1blRlc3QoKTsKLXN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>