<?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>83321</bug_id>
          
          <creation_ts>2012-04-05 15:14:27 -0700</creation_ts>
          <short_desc>Text tracks should not render unless they have kind=captions or kind=subtitles</short_desc>
          <delta_ts>2012-05-21 13:33:44 -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>Media</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>43668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anna Cavender">annacc</reporter>
          <assigned_to name="Anna Cavender">annacc</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>silviapf</cc>
    
    <cc>vcarbune</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>596958</commentid>
    <comment_count>0</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-04-05 15:14:27 -0700</bug_when>
    <thetext>Videos that have a track element with kind=metadata should not render captions.

For example, captions should not be visible here: http://www.annacavender.com/track/demo1/track-metadata.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603732</commentid>
    <comment_count>1</comment_count>
      <attachid>137468</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-04-16 20:06:17 -0700</bug_when>
    <thetext>Created attachment 137468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603736</commentid>
    <comment_count>2</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-04-16 20:12:41 -0700</bug_when>
    <thetext>I&apos;m not entirely convinced that updateDisplay() is the proper place to check the text track kind.  Another solution would be to maintain a separate list of renderable TextTrackCues in HTMLMediaElement.  My gut tells me that the overhead of maintaining that list is not worth it and that currentlyActiveCues() will typically be small enough that sifting them right before rendering is probably not a big deal.  I&apos;m open to suggestions.

As for testing, I&apos;m reluctant to add more pixel tests.  Any other ideas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603844</commentid>
    <comment_count>3</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2012-04-17 00:38:46 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I&apos;m not entirely convinced that updateDisplay() is the proper place to check the text track kind.  Another solution would be to maintain a separate list of renderable TextTrackCues in HTMLMediaElement.  My gut tells me that the overhead of maintaining that list is not worth it and that currentlyActiveCues() will typically be small enough that sifting them right before rendering is probably not a big deal.  I&apos;m open to suggestions.
&gt;
&gt; As for testing, I&apos;m reluctant to add more pixel tests.  Any other ideas?
You can call textTrackDisplayElement(video, &apos;display&apos;) defined LayoutTest/media/media-controls.js and check that it throws an error (hence no cue display block is there).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605678</commentid>
    <comment_count>4</comment_count>
      <attachid>137468</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-04-19 10:41:46 -0700</bug_when>
    <thetext>Comment on attachment 137468
Patch

Marking r- because this needs a test. I agree that we DO NOT want any more pixel tests, but I think Victor&apos;s suggestion should work well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610076</commentid>
    <comment_count>5</comment_count>
      <attachid>138879</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-04-25 15:09:11 -0700</bug_when>
    <thetext>Created attachment 138879
Remove any currently rendered cues if kind changes to a non-visible kind.  + tests.

Thanks for the suggestions, Victor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626843</commentid>
    <comment_count>6</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-05-17 12:22:28 -0700</bug_when>
    <thetext>Ping!  I think the next review on this one fell through the cracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626994</commentid>
    <comment_count>7</comment_count>
      <attachid>138879</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-05-17 14:39:04 -0700</bug_when>
    <thetext>Comment on attachment 138879
Remove any currently rendered cues if kind changes to a non-visible kind.  + tests.

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1288
&gt; +        ExceptionCode unusedException;
&gt; +        track-&gt;setMode(TextTrack::HIDDEN, unusedException);

ASSERT_NO_EXCEPTION would be preferable.

&gt; Source/WebCore/html/track/TextTrackCue.cpp:614
&gt; +    ExceptionCode unusedException;
&gt; +    m_displayTree-&gt;remove(unusedException);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628769</commentid>
    <comment_count>8</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-05-20 22:10:32 -0700</bug_when>
    <thetext>Thanks Eric!

(In reply to comment #7)
&gt; (From update of attachment 138879 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=138879&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLMediaElement.cpp:1288
&gt; &gt; +        ExceptionCode unusedException;
&gt; &gt; +        track-&gt;setMode(TextTrack::HIDDEN, unusedException);
&gt; 
&gt; ASSERT_NO_EXCEPTION would be preferable.

Good idea, that makes sense here.

&gt; 
&gt; &gt; Source/WebCore/html/track/TextTrackCue.cpp:614
&gt; &gt; +    ExceptionCode unusedException;
&gt; &gt; +    m_displayTree-&gt;remove(unusedException);
&gt; 
&gt; Ditto.

In this case, I&apos;d have to add an ASSERT_NO_EXCEPTION in Node.h.  Is this worth doing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629181</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-05-21 09:23:56 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/html/track/TextTrackCue.cpp:614
&gt; &gt; &gt; +    ExceptionCode unusedException;
&gt; &gt; &gt; +    m_displayTree-&gt;remove(unusedException);
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; In this case, I&apos;d have to add an ASSERT_NO_EXCEPTION in Node.h.  Is this worth doing?
&gt;
  &quot;m_displayTree-&gt;remove(ASSERT_NO_EXCEPTION)&quot; won&apos;t work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629221</commentid>
    <comment_count>10</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-05-21 10:09:12 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/html/track/TextTrackCue.cpp:614
&gt; &gt; &gt; &gt; +    ExceptionCode unusedException;
&gt; &gt; &gt; &gt; +    m_displayTree-&gt;remove(unusedException);
&gt; &gt; &gt; 
&gt; &gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; In this case, I&apos;d have to add an ASSERT_NO_EXCEPTION in Node.h.  Is this worth doing?
&gt; &gt;
&gt;   &quot;m_displayTree-&gt;remove(ASSERT_NO_EXCEPTION)&quot; won&apos;t work?

Oh, yes, I misunderstood your original suggestion.  I&apos;ll go ahead and land with those two additions.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629394</commentid>
    <comment_count>11</comment_count>
      <attachid>143077</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-05-21 12:38:35 -0700</bug_when>
    <thetext>Created attachment 143077
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629437</commentid>
    <comment_count>12</comment_count>
      <attachid>143077</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 13:33:38 -0700</bug_when>
    <thetext>Comment on attachment 143077
Patch for landing

Clearing flags on attachment: 143077

Committed r117811: &lt;http://trac.webkit.org/changeset/117811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629438</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 13:33:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137468</attachid>
            <date>2012-04-16 20:06:17 -0700</date>
            <delta_ts>2012-04-25 15:09:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83321-20120416200616.patch</filename>
            <type>text/plain</type>
            <size>1558</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE4YTRhZmViOWQ2ZjVj
OWM0YTQzOWZiYzc4OGE0MTAzZWE5NjBkMy4uMmRkYzQyMzhlOWEzOWFkOTVkYjVmODM2OTgyYmM4
MzA4ZTE3ZTRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTE2ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBPbmx5IHJlbmRlciB0
ZXh0IHRyYWNrIGN1ZXMgaWYga2luZD1jYXB0aW9ucyBvciBraW5kPXN1YnRpdGxlcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMzIxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC4u
LiB5ZXQuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50
Ojp1cGRhdGVEaXNwbGF5KToKKwogMjAxMi0wNC0xNiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHRpbWVsaW5lLiBSYW5nZSBz
ZWxlY3Rpb24gd29ya3MgaW5jb3JyZWN0IHdpdGggcmlnaHQgY2xpY2sKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA1ZDQ1
ZTAwNmQ1NTMyNzRjNTFlYmI5NDBkZjZlYWIxNjllYjE0MWNjLi4wYTA4MmMyODFlYzBlZmIyNWFk
NzM5MGNmZTU3YzY0MjQ1YjdiN2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC0xMjg0LDYgKzEyODQsOSBAQCB2b2lk
IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZURpc3BsYXkoKQog
ICAgICAgICBpZiAoIWN1ZS0+dHJhY2soKSB8fCBjdWUtPnRyYWNrKCktPm1vZGUoKSAhPSBUZXh0
VHJhY2s6OlNIT1dJTkcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAorICAgICAgICBpZiAoY3Vl
LT50cmFjaygpLT5raW5kKCkgIT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSAmJiBjdWUt
PnRyYWNrKCktPmtpbmQoKSAhPSBUZXh0VHJhY2s6OnN1YnRpdGxlc0tleXdvcmQoKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gZGlzcGxh
eVRyZWUgPSBjdWUtPmdldERpc3BsYXlUcmVlKCk7CiAKICAgICAgICAgLy8gQXBwZW5kIG9ubHkg
bmV3IGRpc3BsYXkgdHJlZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138879</attachid>
            <date>2012-04-25 15:09:11 -0700</date>
            <delta_ts>2012-05-21 12:38:31 -0700</delta_ts>
            <desc>Remove any currently rendered cues if kind changes to a non-visible kind.  + tests.</desc>
            <filename>bug-83321-20120425150910.patch</filename>
            <type>text/plain</type>
            <size>11607</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM2NGM0OGRkOGFlMjZj
M2E2NjljYjI2ODExMzkxOWJlMjI3NWZiOC4uMWI4YzY5YTkwNTA3YTEyYjdlMDZkNTliMDNjZTA5
NDQ1MjNjOGNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA0LTI1ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBPbmx5IHJlbmRlciB0
ZXh0IHRyYWNrIGN1ZXMgaWYga2luZD1jYXB0aW9ucyBvciBraW5kPXN1YnRpdGxlcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMzIxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBN
b2RpZmljYXRpb24gdG8gbWVkaWEvdHJhY2svdHJhY2sta2luZC5odG1sCisKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6dGV4dFRyYWNrS2luZENoYW5nZWQpOgorICAgICAgICAgICBJZiB0aGUga2luZCBjaGFu
Z2VzIGZyb20gYSAndmlzaWJsZScga2luZCB0byBhICdub24tdmlzaWJsZScga2luZCwKKyAgICAg
ICAgICAgdXBkYXRlIHRoZSB0cmFjaydzIG1vZGUgdG8gSElEREVOLgorCisgICAgICAgICogaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSk6CisgICAg
ICAgICAgICBEbyBub3QgcmVuZGVyIGN1ZXMgZnJvbSB0cmFja3MgdGhhdCBhcmUgbm90IGNhcHRp
b25zIG9yIHN1YnRpdGxlcy4KKworICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6c2V0TW9kZSk6CisgICAgICAgICAgICBJZiB0
aGUgdHJhY2sncyBtb2RlIGNoYW5nZXMgZnJvbSBTSE9XSU5HIHRvIEhJRERFTiBvciBESVNBQkxF
RCwKKyAgICAgICAgICAgIGVuc3VyZSBhbnkgY3VycmVudGx5IHZpc2libGUgY3VlcyB3aWxsIG5v
IGxvbmdlciBiZSByZW5kZXJlZC4KKworICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6cmVtb3ZlRGlzcGxheVRyZWUp
OiBOZXcgbWV0aG9kLgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmg6CisgICAg
ICAgIChUZXh0VHJhY2tDdWUpOgorCiAyMDEyLTA0LTI1ICBOYXRlIENoYXBpbiAgPGphcGhldEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gQ2FjaGVkUmF3UmVzb3VyY2U6OmRpZEFk
ZENsaWVudCgpIGR1ZSB0byBtaXNzaW5nIHByb3RlY3Rvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDJhMjc2YWVjMDY5NzE3OTM4MDY1Zjg2NjVlMjc2MGQ0
Y2ZiNzQwZWIuLjQ1MWRhYWE5ZTRhOGFhMjNmZjExNWM3NDZkYTIzZmMyMjUyYTk0ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTI4MSw5ICsxMjgxLDEy
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrTW9kZUNoYW5nZWQoVGV4dFRyYWNr
KiB0cmFjaykKICAgICBjb25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KCk7CiB9CiAKLXZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrKikKK3ZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrKiB0cmFjaykKIHsK
LSAgICAvLyBGSVhNRSg2Mjg4NSk6IEltcGxlbWVudC4KKyAgICBpZiAodHJhY2stPmtpbmQoKSAh
PSBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpICYmIHRyYWNrLT5raW5kKCkgIT0gVGV4dFRy
YWNrOjpzdWJ0aXRsZXNLZXl3b3JkKCkgJiYgdHJhY2stPm1vZGUoKSA9PSBUZXh0VHJhY2s6OlNI
T1dJTkcpIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSB1bnVzZWRFeGNlcHRpb247CisgICAgICAg
IHRyYWNrLT5zZXRNb2RlKFRleHRUcmFjazo6SElEREVOLCB1bnVzZWRFeGNlcHRpb24pOworICAg
IH0KIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tBZGRDdWVzKFRleHRUcmFj
ayosIGNvbnN0IFRleHRUcmFja0N1ZUxpc3QqIGN1ZXMpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDZlYTQ4NWQxZThl
ZmRiZWZlNTk1YmNhNWM1NzQ2OWExNGZlYTBlNTAuLjIzY2Y5Njg1YWM0OWY1ZTcwN2Y5Zjc0MjJm
ZDhkYzQxNGM2OGIzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEyNTEsNiArMTI1MSw5IEBAIHZvaWQgTWVkaWFD
b250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSgpCiAgICAgICAg
IFRleHRUcmFja0N1ZSogY3VlID0gYWN0aXZlQ3Vlc1tpXS5kYXRhKCk7CiAKICAgICAgICAgQVNT
RVJUKGN1ZS0+aXNBY3RpdmUoKSk7CisgICAgICAgIGlmIChjdWUtPnRyYWNrKCktPmtpbmQoKSAh
PSBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpICYmIGN1ZS0+dHJhY2soKS0+a2luZCgpICE9
IFRleHRUcmFjazo6c3VidGl0bGVzS2V5d29yZCgpKQorICAgICAgICAgICAgY29udGludWU7CisK
ICAgICAgICAgaWYgKCFjdWUtPnRyYWNrKCkgfHwgY3VlLT50cmFjaygpLT5tb2RlKCkgIT0gVGV4
dFRyYWNrOjpTSE9XSU5HKQogICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrLmNwcAppbmRleCA1M2Q1ZWU1YzBmNDNhNDNkMjJlNTBmMWVhN2Zh
YjBjYTQ2ZTVmZWQxLi4yMGQ1M2M2OGMyM2E3YjIwZmE5NDM5NDZhOWVlNzdmZWM1NjFjZmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwCkBAIC0xNDIsNyArMTQyLDEx
IEBAIHZvaWQgVGV4dFRyYWNrOjpzZXRNb2RlKHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogICAgIC8vIElmIG1vZGUgY2hhbmdlcyB0byBkaXNhYmxlZCwgcmVtb3ZlIHRo
aXMgdHJhY2sncyBjdWVzIGZyb20gdGhlIGNsaWVudAogICAgIC8vIGJlY2F1c2UgdGhleSB3aWxs
IG5vIGxvbmdlciBiZSBhY2Nlc3NpYmxlIGZyb20gdGhlIGN1ZXMoKSBmdW5jdGlvbi4KICAgICBp
ZiAobW9kZSA9PSBUZXh0VHJhY2s6OkRJU0FCTEVEICYmIG1fY2xpZW50ICYmIG1fY3VlcykKLSAg
ICAgICAgIG1fY2xpZW50LT50ZXh0VHJhY2tSZW1vdmVDdWVzKHRoaXMsIG1fY3Vlcy5nZXQoKSk7
CisgICAgICAgIG1fY2xpZW50LT50ZXh0VHJhY2tSZW1vdmVDdWVzKHRoaXMsIG1fY3Vlcy5nZXQo
KSk7CisgICAgICAgICAKKyAgICBpZiAobW9kZSAhPSBUZXh0VHJhY2s6OlNIT1dJTkcgJiYgbV9j
dWVzKQorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fY3Vlcy0+bGVuZ3RoKCk7ICsr
aSkKKyAgICAgICAgICAgIG1fY3Vlcy0+aXRlbShpKS0+cmVtb3ZlRGlzcGxheVRyZWUoKTsKIAog
ICAgIC8vICAuLi4gTm90ZTogSWYgdGhlIG1vZGUgaGFkIGJlZW4gc2hvd2luZyBieSBkZWZhdWx0
LCB0aGlzIHdpbGwgY2hhbmdlIGl0IHRvIHNob3dpbmcsIAogICAgIC8vIGV2ZW4gdGhvdWdoIHRo
ZSB2YWx1ZSBvZiBtb2RlIHdvdWxkIGFwcGVhciBub3QgdG8gY2hhbmdlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwCmluZGV4IDQxMDVkYTJmNWY3NmRjY2E5YmRj
OTczNDljMWViMTM4ZDcxMjBmNWUuLjZhNjE2ZWYzZDI0YjlhNjQxZmE1MDA3NTczMzE1ODQyZDc3
OWUyMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5jcHAKQEAg
LTYwOCw2ICs2MDgsMTIgQEAgUGFzc1JlZlB0cjxIVE1MRGl2RWxlbWVudD4gVGV4dFRyYWNrQ3Vl
OjpnZXREaXNwbGF5VHJlZSgpCiAgICAgcmV0dXJuIG1fZGlzcGxheVRyZWU7CiB9CiAKK3ZvaWQg
VGV4dFRyYWNrQ3VlOjpyZW1vdmVEaXNwbGF5VHJlZSgpCit7CisgICAgRXhjZXB0aW9uQ29kZSB1
bnVzZWRFeGNlcHRpb247CisgICAgbV9kaXNwbGF5VHJlZS0+cmVtb3ZlKHVudXNlZEV4Y2VwdGlv
bik7Cit9CisKIHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4gVGV4dFRyYWNrQ3VlOjpnZXRQb3Np
dGlvbkNvb3JkaW5hdGVzKCkKIHsKICAgICBzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+IGNvb3Jk
aW5hdGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tD
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmgKaW5kZXggNTlk
YTIzMDRjZTc2NDMxYmJiMzRiYmFhYTRjOTgwY2IwZDI0ZWE0NC4uYTJjZjMwYjFkY2NjODk3NzZm
MTRmNzVhOWVhNzRjMGI4M2I3MjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2tDdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRU
cmFja0N1ZS5oCkBAIC0xMDIsNiArMTAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNBY3Rp
dmUoYm9vbCk7CiAKICAgICBQYXNzUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBnZXREaXNwbGF5VHJl
ZSgpOworICAgIHZvaWQgcmVtb3ZlRGlzcGxheVRyZWUoKTsKIAogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CiAgICAgdmlydHVhbCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NzIzMDczMjI4N2IzNTdiNDg2ZTllMGZlNzRiN2NkYjQ0Yzc3M2RhYS4uZDFkZGE5YWRkNjhmNGMx
NmFiZTJjZjk3OGEzYjFlNDRlNWMzYzQ0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0
LTI1ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBPbmx5
IHJlbmRlciB0ZXh0IHRyYWNrIGN1ZXMgaWYga2luZD1jYXB0aW9ucyBvciBraW5kPXN1YnRpdGxl
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMzIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRp
YS90cmFjay90cmFjay1raW5kLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS90cmFjay90
cmFjay1raW5kLmh0bWw6CisKIDIwMTItMDQtMjUgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWJhc2VsaW5lIGNocm9taXVtIHRlc3QgcmVzdWx0
cyBhZnRlciBidWcgNzI3OTYgaXMgZml4ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3RyYWNrLWtpbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2sta2luZC1leHBlY3RlZC50eHQKaW5kZXggZmI1MDVhY2Q0OTFhMTBiMTRmMjY1NDVkNTE3
NTNlOTEyNTNlMDc0NC4uZGRmOWUyZTM2MWQ5YjliZGI5ZDBkNzdhN2JmNDRiODRmNTY3MGZkMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2sta2luZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2sta2luZC1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw0IEBACi1UZXN0cyB0aGF0IHRoZSAnYWRkdHJhY2snIGV2ZW50IGlzIGZpcmVk
IHdoZW4gYSBUZXh0VHJhY2sgaXMgY3JlYXRlZC4KLQorVGVzdHMgdGhhdCB0aGUgJ2tpbmQnIGF0
dHJpYnV0ZSBpcyBzZXQgcHJvcGVybHkgYW5kIHRoYXQgY3VlcyBhcmUgb25seSB2aXNpYmxlIHdo
ZW4gJ2tpbmQnIGlzIHNldCB0byAnY2FwdGlvbnMnIG9yICdzdWJ0aXRsZXMnLgogCiArKyBUZXN0
IGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmdldEF0dHJp
YnV0ZSgna2luZCcpID09ICdudWxsJykgT0sKQEAgLTM0LDYgKzMzLDcgQEAgUlVOKHRyYWNrRWxl
bWVudC5zZXRBdHRyaWJ1dGUoJ2tpbmQnLCAnc3VidGl0bGVzJykpCiBFWFBFQ1RFRCAodHJhY2tF
bGVtZW50LmtpbmQgPT0gJ3N1YnRpdGxlcycpIE9LCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LnRy
YWNrLmtpbmQgPT0gJ3N1YnRpdGxlcycpIE9LCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmdldEF0
dHJpYnV0ZSgna2luZCcpID09ICdzdWJ0aXRsZXMnKSBPSworRVhQRUNURUQgKHRleHRUcmFja0Rp
c3BsYXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsICcpIE9LCiAKICsrICdjYXB0aW9ucycKIHNldCB2aWEgRE9NCkBAIC00
OCw2ICs0OCw3IEBAIFJVTih0cmFja0VsZW1lbnQuc2V0QXR0cmlidXRlKCdraW5kJywgJ2NhcHRp
b25zJykpCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmtpbmQgPT0gJ2NhcHRpb25zJykgT0sKIEVY
UEVDVEVEICh0cmFja0VsZW1lbnQudHJhY2sua2luZCA9PSAnY2FwdGlvbnMnKSBPSwogRVhQRUNU
RUQgKHRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQnKSA9PSAnY2FwdGlvbnMnKSBPSwor
RVhQRUNURUQgKHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVy
VGV4dCA9PSAnTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsICcpIE9LCiAKICsrICdkZXNjcmlw
dGlvbnMnCiBzZXQgdmlhIERPTQpAQCAtNjIsNiArNjMsNyBAQCBSVU4odHJhY2tFbGVtZW50LnNl
dEF0dHJpYnV0ZSgna2luZCcsICdkZXNjcmlwdGlvbnMnKSkKIEVYUEVDVEVEICh0cmFja0VsZW1l
bnQua2luZCA9PSAnZGVzY3JpcHRpb25zJykgT0sKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQudHJh
Y2sua2luZCA9PSAnZGVzY3JpcHRpb25zJykgT0sKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQuZ2V0
QXR0cmlidXRlKCdraW5kJykgPT0gJ2Rlc2NyaXB0aW9ucycpIE9LCitObyB0ZXh0IHRyYWNrIGN1
ZSB3aXRoIGRpc3BsYXkgaWQgJy13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1kaXNwbGF5JyBpcyBj
dXJyZW50bHkgdmlzaWJsZQogCiArKyAnY2hhcHRlcnMnCiBzZXQgdmlhIERPTQpAQCAtNzYsNiAr
NzgsNyBAQCBSVU4odHJhY2tFbGVtZW50LnNldEF0dHJpYnV0ZSgna2luZCcsICdjaGFwdGVycycp
KQogRVhQRUNURUQgKHRyYWNrRWxlbWVudC5raW5kID09ICdjaGFwdGVycycpIE9LCiBFWFBFQ1RF
RCAodHJhY2tFbGVtZW50LnRyYWNrLmtpbmQgPT0gJ2NoYXB0ZXJzJykgT0sKIEVYUEVDVEVEICh0
cmFja0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdraW5kJykgPT0gJ2NoYXB0ZXJzJykgT0sKK05vIHRl
eHQgdHJhY2sgY3VlIHdpdGggZGlzcGxheSBpZCAnLXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWRp
c3BsYXknIGlzIGN1cnJlbnRseSB2aXNpYmxlCiAKICsrICdtZXRhZGF0YScKIHNldCB2aWEgRE9N
CkBAIC05MCw2ICs5Myw3IEBAIFJVTih0cmFja0VsZW1lbnQuc2V0QXR0cmlidXRlKCdraW5kJywg
J21ldGFkYXRhJykpCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmtpbmQgPT0gJ21ldGFkYXRhJykg
T0sKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQudHJhY2sua2luZCA9PSAnbWV0YWRhdGEnKSBPSwog
RVhQRUNURUQgKHRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQnKSA9PSAnbWV0YWRhdGEn
KSBPSworTm8gdGV4dCB0cmFjayBjdWUgd2l0aCBkaXNwbGF5IGlkICctd2Via2l0LW1lZGlhLXRl
eHQtdHJhY2stZGlzcGxheScgaXMgY3VycmVudGx5IHZpc2libGUKIAogRU5EIE9GIFRFU1QKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2sta2luZC5odG1sIGIvTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2sta2luZC5odG1sCmluZGV4IDIwNmQ3Yjc1MjQ1NDNh
MmI2MjU2YTcyMTM1MTk0MGM5OWQ2YmRkZmIuLmVlMDJjMDdjZTkxNDk1YjQ4OGRhZjI3MjdlMjIw
NGM3ODA3ZjcyM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWtp
bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1raW5kLmh0bWwKQEAg
LTQsMTEgKzQsMTMgQEAKIAogICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwv
c2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4KICAgICAg
ICAgPHNjcmlwdD4KIAogICAgICAgICAgICAgdmFyIHRyYWNrRWxlbWVudDsKICAgICAgICAgICAg
IGZ1bmN0aW9uIHNldEtpbmQodmFsdWUpCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCI8Yj4rKyAnIiArIHZhbHVlICsgIic8L2I+Iik7CiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCI8Yj4gc2V0IHZpYSBET008L2I+Iik7CiAgICAgICAgICAgICAgICAg
cnVuKCJ0cmFja0VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdraW5kJykiKTsKICAgICAgICAgICAg
ICAgICBydW4oInRyYWNrRWxlbWVudC5raW5kID0gJyIgKyB2YWx1ZSArICInIik7CkBAIC0yMSwx
NyArMjMsMTMgQEAKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrRWxlbWVudC5r
aW5kIiwgdmFsdWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2tFbGVtZW50
LnRyYWNrLmtpbmQiLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFj
a0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdraW5kJykiLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ2Rpc3BsYXknKS5p
bm5lclRleHQiLCAiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsICIpOwogICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiIik7CiAKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVu
Y3Rpb24gc3RhcnQoKQorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEtpbmQoKQogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIiIpOwotCi0gICAgICAgICAgICAgICAgdHJhY2tFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyYWNrXzEnKTsKLQogICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiPGI+KysgVGVzdCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZTwvYj4iKTsKICAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQn
KSIsIG51bGwpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2tFbGVtZW50Lmtp
bmQiLCAic3VidGl0bGVzIik7CkBAIC01NSwzMCArNTMsMzUgQEAKICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIiIpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4qKiog
U2V0IHRvIGtub3duIHZhbHVlczwvYj4iKTsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IjxiPisrICdzdWJ0aXRsZXMnPC9iPiIpOwogICAgICAgICAgICAgICAgIHNldEtpbmQoInN1YnRp
dGxlcyIpOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4rKyAnY2FwdGlvbnMn
PC9iPiIpOwogICAgICAgICAgICAgICAgIHNldEtpbmQoImNhcHRpb25zIik7CiAKLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisrICdkZXNjcmlwdGlvbnMnPC9iPiIpOwogICAgICAg
ICAgICAgICAgIHNldEtpbmQoImRlc2NyaXB0aW9ucyIpOwogCi0gICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCI8Yj4rKyAnY2hhcHRlcnMnPC9iPiIpOwogICAgICAgICAgICAgICAgIHNldEtp
bmQoImNoYXB0ZXJzIik7CiAKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisrICdt
ZXRhZGF0YSc8L2I+Iik7CiAgICAgICAgICAgICAgICAgc2V0S2luZCgibWV0YWRhdGEiKTsKIAog
ICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgZnVuY3Rpb24gbG9hZGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgdHJhY2tFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyYWNrXzEnKTsKKworICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudHNBbmRDYWxsKFtbdmlkZW8sICdjYW5wbGF5dGhyb3VnaCddLCBbdHJhY2tFbGVt
ZW50LCAnbG9hZCddXSwgdGVzdEtpbmQpOworCisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0g
ZmluZE1lZGlhRmlsZSgndmlkZW8nLCAnLi4vY29udGVudC9jb3VudGluZycpOworICAgICAgICAg
ICAgfQogCiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9
InN0YXJ0KCkiPgotICAgICAgICA8cD5UZXN0cyB0aGF0IHRoZSAnYWRkdHJhY2snIGV2ZW50IGlz
IGZpcmVkIHdoZW4gYSBUZXh0VHJhY2sgaXMgY3JlYXRlZC48L3A+CisgICAgPGJvZHkgb25sb2Fk
PSJsb2FkZWQoKSI+CisgICAgICAgIDxwPlRlc3RzIHRoYXQgdGhlICdraW5kJyBhdHRyaWJ1dGUg
aXMgc2V0IHByb3Blcmx5IGFuZCB0aGF0IGN1ZXMgYXJlIG9ubHkgdmlzaWJsZSB3aGVuICdraW5k
JyBpcyBzZXQgdG8gJ2NhcHRpb25zJyBvciAnc3VidGl0bGVzJy48L3A+CiAgICAgICAgIDx2aWRl
bz4KLSAgICAgICAgICAgIDx0cmFjayBpZD10cmFja18xPgorICAgICAgICAgICAgPHRyYWNrIGlk
PXRyYWNrXzEgc3JjPSJjYXB0aW9ucy13ZWJ2dHQvbWV0YWRhdGEudnR0IiBkZWZhdWx0PgogICAg
ICAgICA8L3ZpZGVvPgogICAgIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143077</attachid>
            <date>2012-05-21 12:38:35 -0700</date>
            <delta_ts>2012-05-21 13:33:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83321-20120521123834.patch</filename>
            <type>text/plain</type>
            <size>11627</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3Nzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM3NjliMzYxNGU4ZmIx
ZmI3MzgzMTkyOWY5NjZhZjBjZjliN2E2NC4uOGIzMjk2OGQyODYwMjc1MTlmZjhjMDJhMzU4ZGY0
YjI1MDVmNDRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTIxIEFubmEg
Q2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE9ubHkgcmVuZGVyIHRl
eHQgdHJhY2sgY3VlcyBpZiBraW5kPWNhcHRpb25zIG9yIGtpbmQ9c3VidGl0bGVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMzMjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBNb2Rp
ZmljYXRpb24gdG8gbWVkaWEvdHJhY2svdHJhY2sta2luZC5odG1sCisKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6dGV4dFRyYWNrS2luZENoYW5nZWQpOgorICAgICAgICAgICBJZiB0aGUga2luZCBjaGFuZ2Vz
IGZyb20gYSAndmlzaWJsZScga2luZCB0byBhICdub24tdmlzaWJsZScga2luZCwKKyAgICAgICAg
ICAgdXBkYXRlIHRoZSB0cmFjaydzIG1vZGUgdG8gSElEREVOLgorCisgICAgICAgICogaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSk6CisgICAgICAg
ICAgICBEbyBub3QgcmVuZGVyIGN1ZXMgZnJvbSB0cmFja3MgdGhhdCBhcmUgbm90IGNhcHRpb25z
IG9yIHN1YnRpdGxlcy4KKworICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6c2V0TW9kZSk6CisgICAgICAgICAgICBJZiB0aGUg
dHJhY2sncyBtb2RlIGNoYW5nZXMgZnJvbSBTSE9XSU5HIHRvIEhJRERFTiBvciBESVNBQkxFRCwK
KyAgICAgICAgICAgIGVuc3VyZSBhbnkgY3VycmVudGx5IHZpc2libGUgY3VlcyB3aWxsIG5vIGxv
bmdlciBiZSByZW5kZXJlZC4KKworICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6cmVtb3ZlRGlzcGxheVRyZWUpOiBO
ZXcgbWV0aG9kLgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmg6CisgICAgICAg
IChUZXh0VHJhY2tDdWUpOgorIAogMjAxMi0wNS0yMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtyZWZhY3RvcmluZ10gcHJv
bW90ZSBmaWxsL2JvcmRlciBjb2xvcnMgdXNlZCBieSB0aW1lbGluZSdzIGZyYW1lIG92ZXJ2aWV3
IHRvIFRpbWVsaW5lQ2F0ZWdvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCmluZGV4IDNjNDA3OWEzY2IzNzc2Y2FhYmNiODQ1NGI4NDVhNWFjMzM1YTRiMzguLjEzMGQx
MWZiYjZmMDJjZmI4ZTg3ZjJiY2VkM2U2YTFiYmQyNTg2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTI4NSw5ICsxMjg1LDEwIEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6dGV4dFRyYWNrTW9kZUNoYW5nZWQoVGV4dFRyYWNrKiB0cmFjaykKICAgICBj
b25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KCk7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrKikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrKiB0cmFjaykKIHsKLSAgICAvLyBGSVhNRSg2
Mjg4NSk6IEltcGxlbWVudC4KKyAgICBpZiAodHJhY2stPmtpbmQoKSAhPSBUZXh0VHJhY2s6OmNh
cHRpb25zS2V5d29yZCgpICYmIHRyYWNrLT5raW5kKCkgIT0gVGV4dFRyYWNrOjpzdWJ0aXRsZXNL
ZXl3b3JkKCkgJiYgdHJhY2stPm1vZGUoKSA9PSBUZXh0VHJhY2s6OlNIT1dJTkcpCisgICAgICAg
IHRyYWNrLT5zZXRNb2RlKFRleHRUcmFjazo6SElEREVOLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tBZGRDdWVzKFRleHRUcmFjayos
IGNvbnN0IFRleHRUcmFja0N1ZUxpc3QqIGN1ZXMpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IGE4MmM4ZmIwYmJiZjM1
NzYyZjAxZDZhZjczYTBlYmJhN2I2ZDc0MDAuLmY2MmNmOWU5ODk5Mzc1ZGYyOGUwM2Q3ZmFiNzdh
MDdjMjFhNmJkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEyODQsNiArMTI4NCw5IEBAIHZvaWQgTWVkaWFDb250
cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSgpCiAgICAgICAgIFRl
eHRUcmFja0N1ZSogY3VlID0gYWN0aXZlQ3Vlc1tpXS5kYXRhKCk7CiAKICAgICAgICAgQVNTRVJU
KGN1ZS0+aXNBY3RpdmUoKSk7CisgICAgICAgIGlmIChjdWUtPnRyYWNrKCktPmtpbmQoKSAhPSBU
ZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpICYmIGN1ZS0+dHJhY2soKS0+a2luZCgpICE9IFRl
eHRUcmFjazo6c3VidGl0bGVzS2V5d29yZCgpKQorICAgICAgICAgICAgY29udGludWU7CisKICAg
ICAgICAgaWYgKCFjdWUtPnRyYWNrKCkgfHwgY3VlLT50cmFjaygpLT5tb2RlKCkgIT0gVGV4dFRy
YWNrOjpTSE9XSU5HKQogICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVGV4dFRyYWNrLmNwcAppbmRleCA1M2Q1ZWU1YzBmNDNhNDNkMjJlNTBmMWVhN2ZhYjBj
YTQ2ZTVmZWQxLi4yMGQ1M2M2OGMyM2E3YjIwZmE5NDM5NDZhOWVlNzdmZWM1NjFjZmYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwCkBAIC0xNDIsNyArMTQyLDExIEBA
IHZvaWQgVGV4dFRyYWNrOjpzZXRNb2RlKHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgIC8vIElmIG1vZGUgY2hhbmdlcyB0byBkaXNhYmxlZCwgcmVtb3ZlIHRoaXMg
dHJhY2sncyBjdWVzIGZyb20gdGhlIGNsaWVudAogICAgIC8vIGJlY2F1c2UgdGhleSB3aWxsIG5v
IGxvbmdlciBiZSBhY2Nlc3NpYmxlIGZyb20gdGhlIGN1ZXMoKSBmdW5jdGlvbi4KICAgICBpZiAo
bW9kZSA9PSBUZXh0VHJhY2s6OkRJU0FCTEVEICYmIG1fY2xpZW50ICYmIG1fY3VlcykKLSAgICAg
ICAgIG1fY2xpZW50LT50ZXh0VHJhY2tSZW1vdmVDdWVzKHRoaXMsIG1fY3Vlcy5nZXQoKSk7Cisg
ICAgICAgIG1fY2xpZW50LT50ZXh0VHJhY2tSZW1vdmVDdWVzKHRoaXMsIG1fY3Vlcy5nZXQoKSk7
CisgICAgICAgICAKKyAgICBpZiAobW9kZSAhPSBUZXh0VHJhY2s6OlNIT1dJTkcgJiYgbV9jdWVz
KQorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fY3Vlcy0+bGVuZ3RoKCk7ICsraSkK
KyAgICAgICAgICAgIG1fY3Vlcy0+aXRlbShpKS0+cmVtb3ZlRGlzcGxheVRyZWUoKTsKIAogICAg
IC8vICAuLi4gTm90ZTogSWYgdGhlIG1vZGUgaGFkIGJlZW4gc2hvd2luZyBieSBkZWZhdWx0LCB0
aGlzIHdpbGwgY2hhbmdlIGl0IHRvIHNob3dpbmcsIAogICAgIC8vIGV2ZW4gdGhvdWdoIHRoZSB2
YWx1ZSBvZiBtb2RlIHdvdWxkIGFwcGVhciBub3QgdG8gY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwCmluZGV4IDQxMDVkYTJmNWY3NmRjY2E5YmRjOTcz
NDljMWViMTM4ZDcxMjBmNWUuLjg1YzdiMmM1MmFjYWIwZmZmMDJjM2RlZjA0OTQzYmIwZWJjNjBj
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5jcHAKQEAgLTYw
OCw2ICs2MDgsMTIgQEAgUGFzc1JlZlB0cjxIVE1MRGl2RWxlbWVudD4gVGV4dFRyYWNrQ3VlOjpn
ZXREaXNwbGF5VHJlZSgpCiAgICAgcmV0dXJuIG1fZGlzcGxheVRyZWU7CiB9CiAKK3ZvaWQgVGV4
dFRyYWNrQ3VlOjpyZW1vdmVEaXNwbGF5VHJlZSgpCit7CisgICAgaWYgKG1fZGlzcGxheVRyZWUt
PnBhcmVudE5vZGUoKSkKKyAgICAgICAgbV9kaXNwbGF5VHJlZS0+cmVtb3ZlKEFTU0VSVF9OT19F
WENFUFRJT04pOworfQorCiBzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+IFRleHRUcmFja0N1ZTo6
Z2V0UG9zaXRpb25Db29yZGluYXRlcygpCiB7CiAgICAgc3RkOjpwYWlyPGRvdWJsZSwgZG91Ymxl
PiBjb29yZGluYXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCmlu
ZGV4IDU5ZGEyMzA0Y2U3NjQzMWJiYjM0YmJhYWE0Yzk4MGNiMGQyNGVhNDQuLmEyY2YzMGIxZGNj
Yzg5Nzc2ZjE0Zjc1YTllYTc0YzBiODNiNzIyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2tDdWUuaApAQCAtMTAyLDYgKzEwMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dElzQWN0aXZlKGJvb2wpOwogCiAgICAgUGFzc1JlZlB0cjxIVE1MRGl2RWxlbWVudD4gZ2V0RGlz
cGxheVRyZWUoKTsKKyAgICB2b2lkIHJlbW92ZURpc3BsYXlUcmVlKCk7CiAKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwogICAgIHZpcnR1YWwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDUwNjE1ZjhjMTdhZTJjZjBhMDgzZTk1OTA5NjNjZWRiYmU1ZDkyMTkuLjliN2M4YmU5
NTc3YjZjZDM1NzgwNjY0ZDk4ZDViNjgzNTIwYWMzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMi0wNS0yMSAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgT25seSByZW5kZXIgdGV4dCB0cmFjayBjdWVzIGlmIGtpbmQ9Y2FwdGlvbnMgb3Iga2luZD1z
dWJ0aXRsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MzMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAq
IG1lZGlhL3RyYWNrL3RyYWNrLWtpbmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3Ry
YWNrL3RyYWNrLWtpbmQuaHRtbDoKKworCiAyMDEyLTA1LTIxICBDc2FiYSBPc3p0cm9nb27DoWMg
IDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dLMl0gV1RSIG5lZWRzIGFuIGltcGxlbWVu
dGF0aW9uIG9mIHNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2sta2luZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1raW5kLWV4cGVjdGVkLnR4dAppbmRleCBmYjUwNWFj
ZDQ5MWExMGIxNGYyNjU0NWQ1MTc1M2U5MTI1M2UwNzQ0Li5kZGY5ZTJlMzYxZDliOWJkYjlkMGQ3
N2E3YmY0NGI4NGY1NjcwZmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1raW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1raW5kLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKLVRlc3RzIHRoYXQgdGhlICdhZGR0
cmFjaycgZXZlbnQgaXMgZmlyZWQgd2hlbiBhIFRleHRUcmFjayBpcyBjcmVhdGVkLgotCitUZXN0
cyB0aGF0IHRoZSAna2luZCcgYXR0cmlidXRlIGlzIHNldCBwcm9wZXJseSBhbmQgdGhhdCBjdWVz
IGFyZSBvbmx5IHZpc2libGUgd2hlbiAna2luZCcgaXMgc2V0IHRvICdjYXB0aW9ucycgb3IgJ3N1
YnRpdGxlcycuCiAKICsrIFRlc3QgZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWUKIEVYUEVDVEVEICh0
cmFja0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdraW5kJykgPT0gJ251bGwnKSBPSwpAQCAtMzQsNiAr
MzMsNyBAQCBSVU4odHJhY2tFbGVtZW50LnNldEF0dHJpYnV0ZSgna2luZCcsICdzdWJ0aXRsZXMn
KSkKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQua2luZCA9PSAnc3VidGl0bGVzJykgT0sKIEVYUEVD
VEVEICh0cmFja0VsZW1lbnQudHJhY2sua2luZCA9PSAnc3VidGl0bGVzJykgT0sKIEVYUEVDVEVE
ICh0cmFja0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdraW5kJykgPT0gJ3N1YnRpdGxlcycpIE9LCitF
WFBFQ1RFRCAodGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdkaXNwbGF5JykuaW5uZXJU
ZXh0ID09ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgJykgT0sKIAogKysgJ2NhcHRpb25z
Jwogc2V0IHZpYSBET00KQEAgLTQ4LDYgKzQ4LDcgQEAgUlVOKHRyYWNrRWxlbWVudC5zZXRBdHRy
aWJ1dGUoJ2tpbmQnLCAnY2FwdGlvbnMnKSkKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQua2luZCA9
PSAnY2FwdGlvbnMnKSBPSwogRVhQRUNURUQgKHRyYWNrRWxlbWVudC50cmFjay5raW5kID09ICdj
YXB0aW9ucycpIE9LCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmdldEF0dHJpYnV0ZSgna2luZCcp
ID09ICdjYXB0aW9ucycpIE9LCitFWFBFQ1RFRCAodGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlk
ZW8sICdkaXNwbGF5JykuaW5uZXJUZXh0ID09ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
JykgT0sKIAogKysgJ2Rlc2NyaXB0aW9ucycKIHNldCB2aWEgRE9NCkBAIC02Miw2ICs2Myw3IEBA
IFJVTih0cmFja0VsZW1lbnQuc2V0QXR0cmlidXRlKCdraW5kJywgJ2Rlc2NyaXB0aW9ucycpKQog
RVhQRUNURUQgKHRyYWNrRWxlbWVudC5raW5kID09ICdkZXNjcmlwdGlvbnMnKSBPSwogRVhQRUNU
RUQgKHRyYWNrRWxlbWVudC50cmFjay5raW5kID09ICdkZXNjcmlwdGlvbnMnKSBPSwogRVhQRUNU
RUQgKHRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQnKSA9PSAnZGVzY3JpcHRpb25zJykg
T0sKK05vIHRleHQgdHJhY2sgY3VlIHdpdGggZGlzcGxheSBpZCAnLXdlYmtpdC1tZWRpYS10ZXh0
LXRyYWNrLWRpc3BsYXknIGlzIGN1cnJlbnRseSB2aXNpYmxlCiAKICsrICdjaGFwdGVycycKIHNl
dCB2aWEgRE9NCkBAIC03Niw2ICs3OCw3IEBAIFJVTih0cmFja0VsZW1lbnQuc2V0QXR0cmlidXRl
KCdraW5kJywgJ2NoYXB0ZXJzJykpCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmtpbmQgPT0gJ2No
YXB0ZXJzJykgT0sKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQudHJhY2sua2luZCA9PSAnY2hhcHRl
cnMnKSBPSwogRVhQRUNURUQgKHRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQnKSA9PSAn
Y2hhcHRlcnMnKSBPSworTm8gdGV4dCB0cmFjayBjdWUgd2l0aCBkaXNwbGF5IGlkICctd2Via2l0
LW1lZGlhLXRleHQtdHJhY2stZGlzcGxheScgaXMgY3VycmVudGx5IHZpc2libGUKIAogKysgJ21l
dGFkYXRhJwogc2V0IHZpYSBET00KQEAgLTkwLDYgKzkzLDcgQEAgUlVOKHRyYWNrRWxlbWVudC5z
ZXRBdHRyaWJ1dGUoJ2tpbmQnLCAnbWV0YWRhdGEnKSkKIEVYUEVDVEVEICh0cmFja0VsZW1lbnQu
a2luZCA9PSAnbWV0YWRhdGEnKSBPSwogRVhQRUNURUQgKHRyYWNrRWxlbWVudC50cmFjay5raW5k
ID09ICdtZXRhZGF0YScpIE9LCiBFWFBFQ1RFRCAodHJhY2tFbGVtZW50LmdldEF0dHJpYnV0ZSgn
a2luZCcpID09ICdtZXRhZGF0YScpIE9LCitObyB0ZXh0IHRyYWNrIGN1ZSB3aXRoIGRpc3BsYXkg
aWQgJy13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1kaXNwbGF5JyBpcyBjdXJyZW50bHkgdmlzaWJs
ZQogCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1raW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1raW5kLmh0bWwK
aW5kZXggMjA2ZDdiNzUyNDU0M2EyYjYyNTZhNzIxMzUxOTQwYzk5ZDZiZGRmYi4uZWUwMmMwN2Nl
OTE0OTViNDg4ZGFmMjcyN2UyMjA0Yzc4MDdmNzIzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2sta2luZC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNr
L3RyYWNrLWtpbmQuaHRtbApAQCAtNCwxMSArNCwxMyBAQAogCiAgICAgICAgIDxzY3JpcHQgc3Jj
PS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVv
LXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4uL21lZGlhLWNvbnRyb2xz
LmpzPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgogCiAgICAgICAgICAgICB2YXIgdHJhY2tF
bGVtZW50OwogICAgICAgICAgICAgZnVuY3Rpb24gc2V0S2luZCh2YWx1ZSkKICAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisrICciICsgdmFsdWUgKyAiJzwv
Yj4iKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPiBzZXQgdmlhIERPTTwvYj4i
KTsKICAgICAgICAgICAgICAgICBydW4oInRyYWNrRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2tp
bmQnKSIpOwogICAgICAgICAgICAgICAgIHJ1bigidHJhY2tFbGVtZW50LmtpbmQgPSAnIiArIHZh
bHVlICsgIiciKTsKQEAgLTIxLDE3ICsyMywxMyBAQAogICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgidHJhY2tFbGVtZW50LmtpbmQiLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJ0cmFja0VsZW1lbnQudHJhY2sua2luZCIsIHZhbHVlKTsKICAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInRyYWNrRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tpbmQnKSIsIHZhbHVl
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRleHRUcmFja0Rpc3BsYXlFbGVtZW50
KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCIsICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgIik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKIAogICAgICAgICAgICAg
fQogCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGFydCgpCisgICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0S2luZCgpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVu
dCgpOwotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7Ci0KLSAgICAgICAgICAgICAg
ICB0cmFja0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJhY2tfMScpOwotCiAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4rKyBUZXN0IGRlZmF1bHQgYXR0cmlidXRl
IHZhbHVlPC9iPiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2tFbGVtZW50
LmdldEF0dHJpYnV0ZSgna2luZCcpIiwgbnVsbCk7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJ0cmFja0VsZW1lbnQua2luZCIsICJzdWJ0aXRsZXMiKTsKQEAgLTU1LDMwICs1MywzNSBA
QAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAKICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIjxiPioqKiBTZXQgdG8ga25vd24gdmFsdWVzPC9iPiIpOwotICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ3N1YnRpdGxlcyc8L2I+Iik7CiAgICAgICAgICAg
ICAgICAgc2V0S2luZCgic3VidGl0bGVzIik7CiAKLSAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIjxiPisrICdjYXB0aW9ucyc8L2I+Iik7CiAgICAgICAgICAgICAgICAgc2V0S2luZCgiY2Fw
dGlvbnMiKTsKIAotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ2Rlc2NyaXB0
aW9ucyc8L2I+Iik7CiAgICAgICAgICAgICAgICAgc2V0S2luZCgiZGVzY3JpcHRpb25zIik7CiAK
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisrICdjaGFwdGVycyc8L2I+Iik7CiAg
ICAgICAgICAgICAgICAgc2V0S2luZCgiY2hhcHRlcnMiKTsKIAotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGI+KysgJ21ldGFkYXRhJzwvYj4iKTsKICAgICAgICAgICAgICAgICBzZXRL
aW5kKCJtZXRhZGF0YSIpOwogCiAgICAgICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiBsb2FkZWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKyAgICAgICAgICAg
ICAgICB0cmFja0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJhY2tfMScpOwor
CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50c0FuZENhbGwoW1t2aWRlbywgJ2NhbnBsYXl0
aHJvdWdoJ10sIFt0cmFja0VsZW1lbnQsICdsb2FkJ11dLCB0ZXN0S2luZCk7CisKKyAgICAgICAg
ICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICcuLi9jb250ZW50L2Nv
dW50aW5nJyk7CisgICAgICAgICAgICB9CiAKICAgICAgICAgPC9zY3JpcHQ+CiAgICAgPC9oZWFk
PgotICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+Ci0gICAgICAgIDxwPlRlc3RzIHRoYXQgdGhl
ICdhZGR0cmFjaycgZXZlbnQgaXMgZmlyZWQgd2hlbiBhIFRleHRUcmFjayBpcyBjcmVhdGVkLjwv
cD4KKyAgICA8Ym9keSBvbmxvYWQ9ImxvYWRlZCgpIj4KKyAgICAgICAgPHA+VGVzdHMgdGhhdCB0
aGUgJ2tpbmQnIGF0dHJpYnV0ZSBpcyBzZXQgcHJvcGVybHkgYW5kIHRoYXQgY3VlcyBhcmUgb25s
eSB2aXNpYmxlIHdoZW4gJ2tpbmQnIGlzIHNldCB0byAnY2FwdGlvbnMnIG9yICdzdWJ0aXRsZXMn
LjwvcD4KICAgICAgICAgPHZpZGVvPgotICAgICAgICAgICAgPHRyYWNrIGlkPXRyYWNrXzE+Cisg
ICAgICAgICAgICA8dHJhY2sgaWQ9dHJhY2tfMSBzcmM9ImNhcHRpb25zLXdlYnZ0dC9tZXRhZGF0
YS52dHQiIGRlZmF1bHQ+CiAgICAgICAgIDwvdmlkZW8+CiAgICAgPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>