<?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>46945</bug_id>
          
          <creation_ts>2010-09-30 17:26:47 -0700</creation_ts>
          <short_desc>Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state</short_desc>
          <delta_ts>2010-11-05 09:56:16 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46525</blocked>
    
    <blocked>46540</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>darin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>287954</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-09-30 17:26:47 -0700</bug_when>
    <thetext>Currently suspendAnimations/resumeAnimations in WebCore take a document, but the pass through from WebKit, which allows access from LayoutTestController simply passes in the top-level document. The WebKit versions should traverse all subframes. Also, we don&apos;t remember the suspend state in AnimationController, so starting a new animation while suspended doesn&apos;t suspend.

I&apos;m fixing these together because the test case I am writing needs the functionality in the former to test the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287958</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-30 17:32:55 -0700</bug_when>
    <thetext>Dup of bug 46429?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288256</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-01 08:33:11 -0700</bug_when>
    <thetext>*** Bug 46944 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288259</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-01 08:34:59 -0700</bug_when>
    <thetext>*** Bug 46429 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288260</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-01 08:35:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/8472265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304952</commentid>
    <comment_count>5</comment_count>
      <attachid>72995</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-11-04 15:56:22 -0700</bug_when>
    <thetext>Created attachment 72995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304982</commentid>
    <comment_count>6</comment_count>
      <attachid>72995</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-04 16:17:14 -0700</bug_when>
    <thetext>Comment on attachment 72995
Patch

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

&gt; LayoutTests/animations/animation-test-helpers.js:82
&gt; +        }
&gt; +    }

inIframe is redundant, because you could just test if (iframeId)...

&gt; LayoutTests/animations/stop-animation-on-suspend.html:56
&gt; +        setTimeout(suspend, 250);
&gt; +        setTimeout(resume, 500);

Can we make this test faster?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305319</commentid>
    <comment_count>7</comment_count>
      <attachid>72995</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-05 09:51:03 -0700</bug_when>
    <thetext>Comment on attachment 72995
Patch

We should not be adding new functions to Frame. We’ve been working hard slowly moving functions off of it and adding new ones is not a good idea. These function should go on the animation controller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305327</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-11-05 09:55:35 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 72995 [details])
&gt; We should not be adding new functions to Frame. We’ve been working hard slowly moving functions off of it and adding new ones is not a good idea. These function should go on the animation controller.

Sorry, but I already checked in before seeing this. I have opened a new bug (https://bugs.webkit.org/show_bug.cgi?id=49073) to make this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305328</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-11-05 09:56:16 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/71424</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72995</attachid>
            <date>2010-11-04 15:56:22 -0700</date>
            <delta_ts>2010-11-05 09:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46945-20101104155621.patch</filename>
            <type>text/plain</type>
            <size>19143</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMTEtMDQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2Ugc3VzcGVuZEFuaW1hdGlvbnMvcmVzdW1lQW5pbWF0aW9ucyBhbmQgc2V0Q1NTQW5pbWF0aW9u
cyB0cmF2ZXJzZSB0aHJvdWdoIHN1YmZyYW1lcyBhbmQgcmVtZW1iZXIgc3RhdGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2OTQ1CisKKyAgICAgICAg
QWRkIG5ldyBmdW50aW9ucyB0byBzdXNwZW5kIGFuZCByZXN1bWUgYW5pbWF0aW9ucy4gVGhlIGdv
IHRocm91Z2ggYWxsIHN1YmZyYW1lcyBhbmQgc3VzcGVuZCBvciByZXN1bWUgdGhlbQorICAgICAg
ICByZWN1cnNpdmVseS4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL3N0b3AtYW5pbWF0aW9u
LW9uLXN1c3BlbmQuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c3VzcGVuZEFuaW1hdGlv
bnMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnJlc3VtZUFuaW1hdGlvbnMpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuaDoKKwogMjAxMC0xMS0wNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5leHAuaW4J
KHJldmlzaW9uIDcxMTI0KQorKysgV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5
KQpAQCAtNjM0LDggKzYzNCwxMCBAQCBfX1pON1dlYkNvcmU1Q2FjaGUxM2dldFN0YXRpc3RpY3NF
dgogX19aTjdXZWJDb3JlNUNhY2hlMTNzZXRDYXBhY2l0aWVzRWpqagogX19aTjdXZWJDb3JlNUZy
YW1lMTBjcmVhdGVWaWV3RVJLTlNfN0ludFNpemVFUktOU181Q29sb3JFYlMzX2JOU18xM1Njcm9s
bGJhck1vZGVFYlM3X2IKIF9fWk43V2ViQ29yZTVGcmFtZTE0ZnJhbWVGb3JXaWRnZXRFUEtOU182
V2lkZ2V0RQorX19aTjdXZWJDb3JlNUZyYW1lMTZyZXN1bWVBbmltYXRpb25zRXYKIF9fWk43V2Vi
Q29yZTVGcmFtZTE3c2V0UGFnZVpvb21GYWN0b3JFZgogX19aTjdXZWJDb3JlNUZyYW1lMTdzZXRU
ZXh0Wm9vbUZhY3RvckVmCitfX1pON1dlYkNvcmU1RnJhbWUxN3N1c3BlbmRBbmltYXRpb25zRXYK
IF9fWk43V2ViQ29yZTVGcmFtZTIzdmlzaWJsZVBvc2l0aW9uRm9yUG9pbnRFUktOU184SW50UG9p
bnRFCiBfX1pON1dlYkNvcmU1RnJhbWUyNW1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnRFUDdOU0Fy
cmF5UE5TXzdFbGVtZW50RQogX19aTjdXZWJDb3JlNUZyYW1lMjVzZXRQYWdlQW5kVGV4dFpvb21G
YWN0b3JzRWZmCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDcxMTI0KQorKysgV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTg2LDQgKzk4NiwyMiBAQCB2b2lkIEZyYW1lOjpz
Y2FsZVBhZ2UoZmxvYXQgc2NhbGUpCiAgICAgfQogfQogCit2b2lkIEZyYW1lOjpzdXNwZW5kQW5p
bWF0aW9ucygpCit7CisgICAgYW5pbWF0aW9uKCktPnN1c3BlbmRBbmltYXRpb25zKGRvY3VtZW50
KCkpOworICAgIAorICAgIC8vIEhhbmRsZSBzdWJmcmFtZXMKKyAgICBmb3IgKEZyYW1lKiBjaGls
ZCA9IHRyZWUoKS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+dHJlZSgpLT5u
ZXh0U2libGluZygpKQorICAgICAgICBjaGlsZC0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKK30KKwor
dm9pZCBGcmFtZTo6cmVzdW1lQW5pbWF0aW9ucygpCit7CisgICAgYW5pbWF0aW9uKCktPnJlc3Vt
ZUFuaW1hdGlvbnMoZG9jdW1lbnQoKSk7CisgICAgCisgICAgLy8gSGFuZGxlIHN1YmZyYW1lcwor
ICAgIGZvciAoRnJhbWUqIGNoaWxkID0gdHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGls
ZCA9IGNoaWxkLT50cmVlKCktPm5leHRTaWJsaW5nKCkpCisgICAgICAgIGNoaWxkLT5yZXN1bWVB
bmltYXRpb25zKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
cGFnZS9GcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZS5oCShyZXZpc2lv
biA3MTEyNCkKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2
ICs5OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRnJhbWVUcmVlKiB0cmVlKCkg
Y29uc3Q7CiAgICAgICAgIEFuaW1hdGlvbkNvbnRyb2xsZXIqIGFuaW1hdGlvbigpIGNvbnN0Owog
ICAgICAgICBTY3JpcHRDb250cm9sbGVyKiBzY3JpcHQoKTsKKyAgICAgICAgCisgICAgICAgIHZv
aWQgc3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKCk7
CiAKICAgICAgICAgUmVuZGVyVmlldyogY29udGVudFJlbmRlcmVyKCkgY29uc3Q7IC8vIFJvb3Qg
b2YgdGhlIHJlbmRlciB0cmVlIGZvciB0aGUgZG9jdW1lbnQgY29udGFpbmVkIGluIHRoaXMgZnJh
bWUuCiAgICAgICAgIFJlbmRlclBhcnQqIG93bmVyUmVuZGVyZXIoKSBjb25zdDsgLy8gUmVuZGVy
ZXIgZm9yIHRoZSBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhpcyBmcmFtZS4KSW5kZXg6IFdlYktp
dC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZp
c2lvbiA3MTM2MikKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTAtMTEtMDQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
c3VzcGVuZEFuaW1hdGlvbnMvcmVzdW1lQW5pbWF0aW9ucyBhbmQgc2V0Q1NTQW5pbWF0aW9ucyB0
cmF2ZXJzZSB0aHJvdWdoIHN1YmZyYW1lcyBhbmQgcmVtZW1iZXIgc3RhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2OTQ1CisKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9mcmFtZV9zdXNw
ZW5kX2FuaW1hdGlvbnMpOgorICAgICAgICAod2Via2l0X3dlYl9mcmFtZV9yZXN1bWVfYW5pbWF0
aW9ucyk6CisKIDIwMTAtMTEtMDMgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgogCiAg
ICAgICAgIEZvciB1bm5hbWVkIGZyYW1lcywgd2luZG93Lm5hbWUgcmV0dXJucyBhIGdlbmVyYXRl
ZCBuYW1lCkluZGV4OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCShyZXZpc2lvbiA3
MTEyNCkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTA1OSwxMSArMTA1OSw3IEBAIHZvaWQgd2Via2l0X3dlYl9mcmFtZV9zdXNwZW5k
X2FuaW1hdGlvbnMKICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
QW5pbWF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IGNvcmVGcmFtZS0+YW5pbWF0aW9uKCk7
Ci0gICAgaWYgKCFjb250cm9sbGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjb250cm9sbGVy
LT5zdXNwZW5kQW5pbWF0aW9ucyhjb3JlRnJhbWUtPmRvY3VtZW50KCkpOworICAgIGZyYW1lLT5z
dXNwZW5kQW5pbWF0aW9ucygpOwogfQogCiB2b2lkIHdlYmtpdF93ZWJfZnJhbWVfcmVzdW1lX2Fu
aW1hdGlvbnMoV2ViS2l0V2ViRnJhbWUqIGZyYW1lKQpAQCAtMTA3MiwxMSArMTA2OCw3IEBAIHZv
aWQgd2Via2l0X3dlYl9mcmFtZV9yZXN1bWVfYW5pbWF0aW9ucygKICAgICBpZiAoIWNvcmVGcmFt
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQW5pbWF0aW9uQ29udHJvbGxlciogY29udHJvbGxl
ciA9IGNvcmVGcmFtZS0+YW5pbWF0aW9uKCk7Ci0gICAgaWYgKCFjb250cm9sbGVyKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBjb250cm9sbGVyLT5yZXN1bWVBbmltYXRpb25zKGNvcmVGcmFtZS0+
ZG9jdW1lbnQoKSk7CisgICAgZnJhbWUtPnJlc3VtZUFuaW1hdGlvbnMoKTsKIH0KIAogZ2NoYXIq
IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3Jlc3BvbnNlX21pbWVfdHlwZShXZWJLaXRXZWJGcmFtZSog
ZnJhbWUpCkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
bWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNzEzNjIpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTExLTA0ICBDaHJpcyBNYXJyaW4g
IDxjbWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHN1c3BlbmRBbmltYXRpb25zL3Jlc3VtZUFuaW1hdGlvbnMgYW5k
IHNldENTU0FuaW1hdGlvbnMgdHJhdmVyc2UgdGhyb3VnaCBzdWJmcmFtZXMgYW5kIHJlbWVtYmVy
IHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
Njk0NQorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJh
bWUgX3N1c3BlbmRBbmltYXRpb25zXSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9yZXN1bWVBbmlt
YXRpb25zXSk6CisKIDIwMTAtMTEtMDQgIE1pa2UgVGhvbGUgIDxtdGhvbGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lLm1tCShyZXZpc2lvbiA3MTEyNCkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTEzNiwxMiArMTEzNiw4IEBAIC0gKHZvaWQpIF9zdXNwZW5k
QW5pbWF0aW9ucwogICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoc2VsZik7CiAgICAgaWYgKCFmcmFt
ZSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgQW5pbWF0aW9uQ29udHJvbGxlciogY29udHJvbGxl
ciA9IGZyYW1lLT5hbmltYXRpb24oKTsKLSAgICBpZiAoIWNvbnRyb2xsZXIpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGNvbnRyb2xsZXItPnN1c3BlbmRBbmltYXRpb25zKGZyYW1lLT5kb2N1bWVu
dCgpKTsKKyAgICAgICAgCisgICAgZnJhbWUtPnN1c3BlbmRBbmltYXRpb25zKCk7CiB9CiAKIC0g
KHZvaWQpIF9yZXN1bWVBbmltYXRpb25zCkBAIC0xMTUwLDExICsxMTQ2LDcgQEAgLSAodm9pZCkg
X3Jlc3VtZUFuaW1hdGlvbnMKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBBbmltYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gZnJhbWUtPmFuaW1hdGlvbigpOwot
ICAgIGlmICghY29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29udHJvbGxlci0+
cmVzdW1lQW5pbWF0aW9ucyhmcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgZnJhbWUtPnJlc3VtZUFu
aW1hdGlvbnMoKTsKIH0KIAogLSAodm9pZClfcmVwbGFjZVNlbGVjdGlvbldpdGhGcmFnbWVudDoo
RE9NRG9jdW1lbnRGcmFnbWVudCAqKWZyYWdtZW50IHNlbGVjdFJlcGxhY2VtZW50OihCT09MKXNl
bGVjdFJlcGxhY2VtZW50IHNtYXJ0UmVwbGFjZTooQk9PTClzbWFydFJlcGxhY2UgbWF0Y2hTdHls
ZTooQk9PTCltYXRjaFN0eWxlCkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNzEzNjIpCisrKyBXZWJLaXQvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTExLTA0ICBD
aHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1c3BlbmRBbmltYXRpb25zL3Jlc3VtZUFu
aW1hdGlvbnMgYW5kIHNldENTU0FuaW1hdGlvbnMgdHJhdmVyc2UgdGhyb3VnaCBzdWJmcmFtZXMg
YW5kIHJlbWVtYmVyIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Njk0NQorCisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2Vi
RnJhbWU6OnN1c3BlbmRBbmltYXRpb25zKToKKyAgICAgICAgKFdlYkZyYW1lOjpyZXN1bWVBbmlt
YXRpb25zKToKKwogMjAxMC0xMS0wMiAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdC93aW4vV2ViRnJh
bWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViRnJhbWUuY3BwCShyZXZpc2lvbiA3
MTEyNCkKKysrIFdlYktpdC93aW4vV2ViRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjk5
LDExICsxMjk5LDcgQEAgSFJFU1VMVCBXZWJGcmFtZTo6c3VzcGVuZEFuaW1hdGlvbnMoKQogICAg
IGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBBbmltYXRpb25Db250
cm9sbGVyKiBjb250cm9sbGVyID0gZnJhbWUtPmFuaW1hdGlvbigpOwotICAgIGlmICghY29udHJv
bGxlcikKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIGNvbnRyb2xsZXItPnN1c3BlbmRB
bmltYXRpb25zKGZyYW1lLT5kb2N1bWVudCgpKTsKKyAgICBmcmFtZS0+c3VzcGVuZEFuaW1hdGlv
bnMoKTsKICAgICByZXR1cm4gU19PSzsKIH0KIApAQCAtMTMxMywxMSArMTMwOSw3IEBAIEhSRVNV
TFQgV2ViRnJhbWU6OnJlc3VtZUFuaW1hdGlvbnMoKQogICAgIGlmICghZnJhbWUpCiAgICAgICAg
IHJldHVybiBFX0ZBSUw7CiAKLSAgICBBbmltYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0g
ZnJhbWUtPmFuaW1hdGlvbigpOwotICAgIGlmICghY29udHJvbGxlcikKLSAgICAgICAgcmV0dXJu
IEVfRkFJTDsKLQotICAgIGNvbnRyb2xsZXItPnJlc3VtZUFuaW1hdGlvbnMoZnJhbWUtPmRvY3Vt
ZW50KCkpOworICAgIGZyYW1lLT5yZXN1bWVBbmltYXRpb25zKCk7CiAgICAgcmV0dXJuIFNfT0s7
CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcxMzYyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTEtMDQgIENocmlzIE1hcnJp
biAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2Ugc3VzcGVuZEFuaW1hdGlvbnMvcmVzdW1lQW5pbWF0aW9ucyBh
bmQgc2V0Q1NTQW5pbWF0aW9ucyB0cmF2ZXJzZSB0aHJvdWdoIHN1YmZyYW1lcyBhbmQgcmVtZW1i
ZXIgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ2OTQ1CisKKyAgICAgICAgTmV3IHRlc3Qgd2hpY2ggc3RhcnRzIGFuaW1hdGlvbnMgaW4gdGhl
IHBhZ2UgYW4gaW4gYW4gaWZyYW1lLiBNYWtlcyBzdXJlIGJvdGggYW5pbWF0aW9ucworICAgICAg
ICBzdG9wIHdoZW4gc3VzcGVuZEFuaW1hdGlvbnMgaXMgY2FsbGVkLiBJIGFsc28gYWRkZWQgZG90
IG5vdGF0aW9uIHN5bnRheCB0byBhbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCisgICAgICAgIHRo
YXQgY2FuIGRpZyBkb3duIGludG8gaWZyYW1lcyB0byB2YWx1ZXMgZm9yIHRlc3RpbmcuCisKKyAg
ICAgICAgKiBhbmltYXRpb25zL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanM6CisgICAgICAgIChj
aGVja0V4cGVjdGVkVmFsdWUpOgorICAgICAgICAqIGFuaW1hdGlvbnMvc3RvcC1hbmltYXRpb24t
b24tc3VzcGVuZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvc3Rv
cC1hbmltYXRpb24tb24tc3VzcGVuZC5odG1sOiBBZGRlZC4KKwogMjAxMC0xMS0wNCAgRHVtaXRy
dSBEYW5pbGl1YyAgPGR1bWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVw
ZGF0aW5nIENocm9taXVtIGV4cGVjdGF0aW9ucy4KSW5kZXg6IExheW91dFRlc3RzL2FuaW1hdGlv
bnMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9h
bmltYXRpb25zL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMJKHJldmlzaW9uIDcxMTI0KQorKysg
TGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0yMyw2ICsyMyw5IEBAIEZ1bmN0aW9uIHBhcmFtZXRlcnM6CiAgICAgWzJdIElm
IGEgc2luZ2xlIHN0cmluZyBpcyBwYXNzZWQsIGl0IGlzIHRoZSBpZCBvZiB0aGUgZWxlbWVudCB0
byB0ZXN0LiBJZiBhbiBhcnJheSB3aXRoIDIgZWxlbWVudHMgaXMgcGFzc2VkIHRoZXkKICAgICBh
cmUgdGhlIGlkcyBvZiAyIGVsZW1lbnRzLCB3aG9zZSB2YWx1ZXMgYXJlIGNvbXBhcmVkIGZvciBl
cXVhbGl0eS4gSW4gdGhpcyBjYXNlIHRoZSBleHBlY3RlZCB2YWx1ZSBpcyBpZ25vcmVkCiAgICAg
YnV0IHRoZSB0b2xlcmFuY2UgaXMgdXNlZCBpbiB0aGUgY29tcGFyaXNvbi4KKyAgICAKKyAgICBJ
ZiBhIHN0cmluZyB3aXRoIGEgJy4nIGlzIHBhc3NlZCwgdGhpcyBpcyBhbiBlbGVtZW50IGluIGFu
IGlmcmFtZS4gVGhlIHN0cmluZyBiZWZvcmUgdGhlIGRvdCBpcyB0aGUgaWZyYW1lIGlkCisgICAg
YW5kIHRoZSBzdHJpbmcgYWZ0ZXIgdGhlIGRvdCBpcyB0aGUgZWxlbWVudCBuYW1lIGluIHRoYXQg
aWZyYW1lLgogCiAgICAgWzNdIElmIHRoZSBDU1MgcHJvcGVydHkgbmFtZSBpcyAid2Via2l0VHJh
bnNmb3JtIiwgZXhwZWN0ZWQgdmFsdWUgbXVzdCBiZSBhbiBhcnJheSBvZiAxIG9yIG1vcmUgbnVt
YmVycyBjb3JyZXNwb25kaW5nIHRvIHRoZSBtYXRyaXggZWxlbWVudHMsCiAgICAgb3IgYSBzdHJp
bmcgd2hpY2ggd2lsbCBiZSBjb21wYXJlZCBkaXJlY3RseSAodXNlZnVsIGlmIHRoZSBleHBlY3Rl
ZCB2YWx1ZSBpcyAibm9uZSIpCkBAIC02NSw2ICs2OCwxOCBAQCBmdW5jdGlvbiBjaGVja0V4cGVj
dGVkVmFsdWUoZXhwZWN0ZWQsIGluCiAgICAgICAgIGVsZW1lbnRJZCA9IGVsZW1lbnRJZFswXTsK
ICAgICAgICAgY29tcGFyZUVsZW1lbnRzID0gdHJ1ZTsKICAgICB9CisgICAgCisgICAgLy8gQ2hl
Y2sgZm9yIGEgZG90IHNlcGFyYXRlZCBzdHJpbmcKKyAgICB2YXIgaW5JZnJhbWUgPSBmYWxzZTsK
KyAgICB2YXIgaWZyYW1lSWQ7CisgICAgaWYgKCFjb21wYXJlRWxlbWVudHMpIHsKKyAgICAgICAg
dmFyIGFycmF5ID0gZWxlbWVudElkLnNwbGl0KCcuJyk7CisgICAgICAgIGlmIChhcnJheS5sZW5n
dGggPT0gMikgeworICAgICAgICAgICAgaWZyYW1lSWQgPSBhcnJheVswXTsKKyAgICAgICAgICAg
IGVsZW1lbnRJZCA9IGFycmF5WzFdOworICAgICAgICAgICAgaW5JZnJhbWUgPSB0cnVlOworICAg
ICAgICB9CisgICAgfQogCiAgICAgaWYgKGFuaW1hdGlvbk5hbWUgJiYgaGFzUGF1c2VBbmltYXRp
b25BUEkgJiYgIWxheW91dFRlc3RDb250cm9sbGVyLnBhdXNlQW5pbWF0aW9uQXRUaW1lT25FbGVt
ZW50V2l0aElkKGFuaW1hdGlvbk5hbWUsIHRpbWUsIGVsZW1lbnRJZCkpIHsKICAgICAgICAgcmVz
dWx0ICs9ICJGQUlMIC0gYW5pbWF0aW9uIFwiIiArIGFuaW1hdGlvbk5hbWUgKyAiXCIgaXMgbm90
IHJ1bm5pbmciICsgIjxicj4iOwpAQCAtNzksNyArOTQsMTMgQEAgZnVuY3Rpb24gY2hlY2tFeHBl
Y3RlZFZhbHVlKGV4cGVjdGVkLCBpbgogICAgIHZhciBjb21wdXRlZFZhbHVlLCBjb21wdXRlZFZh
bHVlMjsKICAgICB2YXIgcGFzcyA9IHRydWU7CiAgICAgaWYgKCFwcm9wZXJ0eS5pbmRleE9mKCJ3
ZWJraXRUcmFuc2Zvcm0iKSkgewotICAgICAgICBjb21wdXRlZFZhbHVlID0gd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKSkud2Via2l0VHJh
bnNmb3JtOworICAgICAgICB2YXIgZWxlbWVudDsKKyAgICAgICAgaWYgKGluSWZyYW1lKQorICAg
ICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlmcmFtZUlkKS5jb250
ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgY29tcHV0ZWRWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQpLndlYmtpdFRyYW5zZm9ybTsKICAgICAgICAgaWYgKGNvbXBhcmVFbGVtZW50
cykgewogICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZTIgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQyKSkud2Via2l0VHJhbnNmb3JtOwog
ICAgICAgICAgICAgdmFyIG0xID0gbWF0cml4U3RyaW5nVG9BcnJheShjb21wdXRlZFZhbHVlKTsK
QEAgLTEwOCw3ICsxMjksMTMgQEAgZnVuY3Rpb24gY2hlY2tFeHBlY3RlZFZhbHVlKGV4cGVjdGVk
LCBpbgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9
PSAibGluZUhlaWdodCIpIHsKLSAgICAgICAgY29tcHV0ZWRWYWx1ZSA9IHBhcnNlSW50KHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkpLmxp
bmVIZWlnaHQpOworICAgICAgICB2YXIgZWxlbWVudDsKKyAgICAgICAgaWYgKGluSWZyYW1lKQor
ICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlmcmFtZUlkKS5j
b250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7
CisgICAgICAgICAgICAKKyAgICAgICAgY29tcHV0ZWRWYWx1ZSA9IHBhcnNlSW50KHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmxpbmVIZWlnaHQpOwogICAgICAgICBpZiAoY29tcGFy
ZUVsZW1lbnRzKSB7CiAgICAgICAgICAgICBjb21wdXRlZFZhbHVlMiA9IHBhcnNlSW50KHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZDIpKS5s
aW5lSGVpZ2h0KTsKICAgICAgICAgICAgIHBhc3MgPSBpc0Nsb3NlRW5vdWdoKGNvbXB1dGVkVmFs
dWUsIGNvbXB1dGVkVmFsdWUyLCB0b2xlcmFuY2UpOwpAQCAtMTE2LDcgKzE0MywxMyBAQCBmdW5j
dGlvbiBjaGVja0V4cGVjdGVkVmFsdWUoZXhwZWN0ZWQsIGluCiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHBhc3MgPSBpc0Nsb3NlRW5vdWdoKGNvbXB1dGVkVmFsdWUsIGV4cGVjdGVkVmFsdWUs
IHRvbGVyYW5jZSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIGNvbXB1dGVkU3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQp
KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5KTsKKyAgICAgICAgdmFyIGVsZW1lbnQ7Cisg
ICAgICAgIGlmIChpbklmcmFtZSkKKyAgICAgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpZnJhbWVJZCkuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1l
bnRJZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChlbGVtZW50SWQpOworCisgICAgICAgIHZhciBjb21wdXRlZFN0eWxlID0gd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0
eSk7CiAgICAgICAgIGNvbXB1dGVkVmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldEZsb2F0VmFsdWUo
Q1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUik7CiAgICAgICAgIGlmIChjb21wYXJlRWxlbWVu
dHMpIHsKICAgICAgICAgICAgIHZhciBjb21wdXRlZFN0eWxlMiA9IHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZDIpKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKHByb3BlcnR5KTsKQEAgLTEyOSwxNCArMTYyLDI0IEBAIGZ1bmN0aW9uIGNoZWNrRXhw
ZWN0ZWRWYWx1ZShleHBlY3RlZCwgaW4KIAogICAgIGlmIChjb21wYXJlRWxlbWVudHMpIHsKICAg
ICAgICAgaWYgKHBhc3MpCi0gICAgICAgICAgICByZXN1bHQgKz0gIlBBU1MgLSBcIiIgKyBwcm9w
ZXJ0eSArICJcIiBwcm9wZXJ0eSBmb3IgXCIiICsgZWxlbWVudElkICsgIlwiIGFuZCBcIiIgKyBl
bGVtZW50SWQyICsgIlwiIGVsZW1lbnRzIGF0ICIgKyB0aW1lICsgInMgYXJlIGNsb3NlIGVub3Vn
aCB0byBlYWNoIG90aGVyIiArICI8YnI+IjsKKyAgICAgICAgICAgIHJlc3VsdCArPSAiUEFTUyAt
IFwiIiArIHByb3BlcnR5ICsgIlwiIHByb3BlcnR5IGZvciBcIiIgKyBlbGVtZW50SWQgKyAiXCIg
YW5kIFwiIiArIGVsZW1lbnRJZDIgKyAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCIg
ZWxlbWVudHMgYXQgIiArIHRpbWUgKyAicyBhcmUgY2xvc2UgZW5vdWdoIHRvIGVhY2ggb3RoZXIi
ICsgIjxicj4iOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgKz0gIkZBSUwgLSBc
IiIgKyBwcm9wZXJ0eSArICJcIiBwcm9wZXJ0eSBmb3IgXCIiICsgZWxlbWVudElkICsgIlwiIGFu
ZCBcIiIgKyBlbGVtZW50SWQyICsgIlwiIGVsZW1lbnRzIGF0ICIgKyB0aW1lICsgInMgc2F3OiBc
IiIgKyBjb21wdXRlZFZhbHVlICsgIlwiIGFuZCBcIiIgKyBjb21wdXRlZFZhbHVlMiArICJcIiB3
aGljaCBhcmUgbm90IGNsb3NlIGVub3VnaCB0byBlYWNoIG90aGVyIiArICI8YnI+IjsKKyAgICAg
ICAgICAgIHJlc3VsdCArPSAiRkFJTCAtIFwiIiArIHByb3BlcnR5ICsgIlwiIHByb3BlcnR5IGZv
ciBcIiIgKyBlbGVtZW50SWQgKyAiXCIgYW5kIFwiIiArIGVsZW1lbnRJZDIgKyAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiXCIgZWxlbWVudHMgYXQgIiArIHRpbWUgKyAicyBzYXc6IFwi
IiArIGNvbXB1dGVkVmFsdWUgKyAiXCIgYW5kIFwiIiArIGNvbXB1dGVkVmFsdWUyICsgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIiB3aGljaCBhcmUgbm90
IGNsb3NlIGVub3VnaCB0byBlYWNoIG90aGVyIiArICI8YnI+IjsKICAgICB9IGVsc2UgeworICAg
ICAgICB2YXIgZWxlbWVudE5hbWU7CisgICAgICAgIGlmIChpbklmcmFtZSkKKyAgICAgICAgICAg
IGVsZW1lbnROYW1lID0gaWZyYW1lSWQgKyAnLicgKyBlbGVtZW50SWQ7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGVsZW1lbnROYW1lID0gZWxlbWVudElkOwogICAgICAgICBpZiAocGFzcykK
LSAgICAgICAgICAgIHJlc3VsdCArPSAiUEFTUyAtIFwiIiArIHByb3BlcnR5ICsgIlwiIHByb3Bl
cnR5IGZvciBcIiIgKyBlbGVtZW50SWQgKyAiXCIgZWxlbWVudCBhdCAiICsgdGltZSArICJzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86ICIgKyBleHBlY3RlZFZhbHVlICsgIjxicj4iOworICAgICAg
ICAgICAgcmVzdWx0ICs9ICJQQVNTIC0gXCIiICsgcHJvcGVydHkgKyAiXCIgcHJvcGVydHkgZm9y
IFwiIiArIGVsZW1lbnROYW1lICsgIlwiIGVsZW1lbnQgYXQgIiArIHRpbWUgKyAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAiICsgZXhwZWN0
ZWRWYWx1ZSArICI8YnI+IjsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ICs9ICJG
QUlMIC0gXCIiICsgcHJvcGVydHkgKyAiXCIgcHJvcGVydHkgZm9yIFwiIiArIGVsZW1lbnRJZCAr
ICJcIiBlbGVtZW50IGF0ICIgKyB0aW1lICsgInMgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZFZhbHVl
ICsgIiBidXQgc2F3OiAiICsgY29tcHV0ZWRWYWx1ZSArICI8YnI+IjsKKyAgICAgICAgICAgIHJl
c3VsdCArPSAiRkFJTCAtIFwiIiArIHByb3BlcnR5ICsgIlwiIHByb3BlcnR5IGZvciBcIiIgKyBl
bGVtZW50TmFtZSArICJcIiBlbGVtZW50IGF0ICIgKyB0aW1lICsgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInMgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZFZhbHVlICsgIiBidXQgc2F3OiAi
ICsgY29tcHV0ZWRWYWx1ZSArICI8YnI+IjsKICAgICB9CiB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L2FuaW1hdGlvbnMvc3RvcC1hbmltYXRpb24tb24tc3VzcGVuZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9zdG9wLWFuaW1hdGlvbi1vbi1zdXNwZW5k
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FuaW1hdGlvbnMvc3Rv
cC1hbmltYXRpb24tb24tc3VzcGVuZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNiBAQAorCitQQVNTIC0gIndlYmtpdFRyYW5zZm9ybSIgcHJvcGVydHkgZm9yICJib3giIGVs
ZW1lbnQgYXQgMC40cyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxLDAsMCwxLDEwMCwwCitQQVNT
IC0gIndlYmtpdFRyYW5zZm9ybSIgcHJvcGVydHkgZm9yICJpZnJhbWUuc3ViZnJhbWUtYm94IiBl
bGVtZW50IGF0IDAuNHMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMSwwLDAsMSwxMDAsMAorUEFT
UyAtICJ3ZWJraXRUcmFuc2Zvcm0iIHByb3BlcnR5IGZvciAiYm94IiBlbGVtZW50IGF0IDAuNzVz
IHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IDEsMCwwLDEsMjAwLDAKK1BBU1MgLSAid2Via2l0VHJh
bnNmb3JtIiBwcm9wZXJ0eSBmb3IgImlmcmFtZS5zdWJmcmFtZS1ib3giIGVsZW1lbnQgYXQgMC43
NXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMSwwLDAsMSwyMDAsMAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9hbmltYXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9hbmltYXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FuaW1hdGlvbnMvc3RvcC1hbmltYXRpb24t
b24tc3VzcGVuZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUg
aHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPlRlc3QgdGhhdCBhbmltYXRpb25zIHN0
b3Agb24gc3VzcGVuZDwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNj
cmVlbiI+CisgICAgaWZyYW1lIHsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Cisg
ICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICBoZWln
aHQ6IDIwMHB4OworICAgICAgICB3aWR0aDogNjAwcHg7CisgICAgfQorICAgIAorICAgIC5ib3gg
eworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAg
IG1hcmdpbjogMzVweDsKKyAgICAgICAgcGFkZGluZzogNXB4OworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKyAgICAgICAgb3ZlcmZsb3c6aGlkZGVuOworICAgICAgICAtd2Via2l0
LWFuaW1hdGlvbjogbW92ZSAxcyBhbHRlcm5hdGUgaW5maW5pdGUgbGluZWFyOworICAgIH0KKwor
ICAgIEAtd2Via2l0LWtleWZyYW1lcyBtb3ZlIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfQorICAgICAgICB0byAgIHsgLXdl
YmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQwMHB4LCAwcHgsIDBweCk7IH0KKyAgICB9Cisg
IDwvc3R5bGU+CisgIDxzY3JpcHQgc3JjPSJhbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzIiB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4KKyAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgCisgICAgY29uc3QgZXhw
ZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAvLyBbYW5pbWF0aW9uLW5hbWUsIHRpbWUsIGVsZW1lbnQt
aWQsIHByb3BlcnR5LCBleHBlY3RlZC12YWx1ZSwgdG9sZXJhbmNlXQorICAgICAgWyJtb3ZlIiwg
MC40LCAiYm94IiwgIndlYmtpdFRyYW5zZm9ybSIsIFsxLDAsMCwxLCAxMDAsIDBdLCAxNV0sCisg
ICAgICBbIm1vdmUiLCAwLjc1LCAiYm94IiwgIndlYmtpdFRyYW5zZm9ybSIsIFsxLDAsMCwxLCAy
MDAsIDBdLCAxNV0sCisgICAgICBbIm1vdmUiLCAwLjQsICJpZnJhbWUuc3ViZnJhbWUtYm94Iiwg
IndlYmtpdFRyYW5zZm9ybSIsIFsxLDAsMCwxLCAxMDAsIDBdLCAxNV0sCisgICAgICBbIm1vdmUi
LCAwLjc1LCAiaWZyYW1lLnN1YmZyYW1lLWJveCIsICJ3ZWJraXRUcmFuc2Zvcm0iLCBbMSwwLDAs
MSwgMjAwLCAwXSwgMTVdLAorICAgIF07CisgICAgCisgICAgZnVuY3Rpb24gc3VzcGVuZCgpCisg
ICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICB9CisgICAg
CisgICAgZnVuY3Rpb24gcmVzdW1lKCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5yZXN1bWVB
bmltYXRpb25zKCk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIHNldFRpbWVycygpCisgICAg
eworICAgICAgICBzZXRUaW1lb3V0KHN1c3BlbmQsIDI1MCk7CisgICAgICAgIHNldFRpbWVvdXQo
cmVzdW1lLCA1MDApOworICAgIH0KKworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1
ZXMsIHNldFRpbWVycywgdW5kZWZpbmVkLCB0cnVlKTsKKyAgICAKKyAgPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJib3giIGlkPSJib3giPjwvZGl2PgorICAgIDwh
LS0gVGhlIHBhcmVudCBkb2N1bWVudCBtYXkgaW50byBjb21wb3NpdGluZyBtb2RlIGJ5IHRoZSBp
ZnJhbWUuIC0tPgorICAgIDxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvc3RvcC1h
bmltYXRpb24tb24tc3VzcGVuZC1zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKyAgICA8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9yZXNvdXJjZXMvc3RvcC1hbmltYXRpb24tb24tc3VzcGVuZC1zdWJmcmFtZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL3N0b3AtYW5p
bWF0aW9uLW9uLXN1c3BlbmQtc3ViZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQtc3ViZnJh
bWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
CisgICAgYm9keSB7IGJhY2tncm91bmQtY29sb3I6c2lsdmVyIH0KKyAgICAKKyAgICAuYm94IHsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBt
YXJnaW46IDM1cHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIG92
ZXJmbG93OmhpZGRlbjsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmUgMXMgYWx0ZXJu
YXRlIGluZmluaXRlIGxpbmVhcjsKKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgbW92
ZSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAw
cHgsIDBweCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUz
ZCg0MDBweCwgMHB4LCAwcHgpOyB9CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CisKKyAgICA8ZGl2IGlkPSJzdWJmcmFtZS1ib3giIGNsYXNzPSJib3giPgorICAgIDwvZGl2Pgor
ICAgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="63350"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>