<?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>110825</bug_id>
          
          <creation_ts>2013-02-25 17:20:40 -0800</creation_ts>
          <short_desc>[Shadow]: left side of ::-webkit-distributed selector not working as expected</short_desc>
          <delta_ts>2013-03-14 19:04:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>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>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>59827</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Orvell">sorvell</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>hayato</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841449</commentid>
    <comment_count>0</comment_count>
      <attachid>190164</attachid>
    <who name="Steve Orvell">sorvell</who>
    <bug_when>2013-02-25 17:20:40 -0800</bug_when>
    <thetext>Created attachment 190164
reduction

Styling distributed nodes with ::-webkit-distributed is working correctly when the left side of the expression is either content or * but not when it includes a class or attribute.

For example, this is working:

content::-webkit-distributed(*) {
  background: green;
}

but this is not:

content.foo::-webkit-distributed(*) {
  background: green;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853199</commentid>
    <comment_count>1</comment_count>
      <attachid>192670</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2013-03-12 01:54:43 -0700</bug_when>
    <thetext>Created attachment 192670
Fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853564</commentid>
    <comment_count>2</comment_count>
      <attachid>192670</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-03-12 09:47:17 -0700</bug_when>
    <thetext>Comment on attachment 192670
Fix.

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

&gt; Source/WebCore/css/CSSParser.cpp:11300
&gt; +    if (CSSParserSelector* distributedPseudoElementSelector = specifiers-&gt;findDistributedPseudoElementSelector()) {

Sounds like we&apos;re calling findDistributedPseudoElementSelector twice: once in rewriteSpecifiersWithNamespaceIfNeeded(CSSParserSelector* specifiers), and once here.

&gt; Source/WebCore/css/CSSParser.cpp:11306
&gt; +                end-&gt;clearTagHistory();

Why are we chopping things off here?

&gt; Source/WebCore/css/CSSParserValues.cpp:234
&gt; +CSSParserSelector* CSSParserSelector::findDistributedPseudoElementSelector() const

Can you help me understand why we need to reach into to the selector history and look for this? Might be good to have a diagram in a ChangeLog too.

&gt; LayoutTests/fast/dom/shadow/distributed-pseudo-element-specifiers-in-left-side.html:12
&gt; +shadowStyle.innerHTML = &apos;content.non-exist::-webkit-distributed(div) { color: red; }&apos;;
&gt; +shadowStyle.innerHTML += &apos;content.content-class::-webkit-distributed(div) { color: green; }&apos;;
&gt; +shadowStyle.innerHTML += &apos;#content-id::-webkit-distributed(div) { color: blue; }&apos;;

This is pretty poor form of building a style string. It&apos;s not a big deal, but it&apos;s better to first build a string, then set textContent on shadowStyle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855009</commentid>
    <comment_count>3</comment_count>
      <attachid>193078</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2013-03-14 00:01:15 -0700</bug_when>
    <thetext>Created attachment 193078
Addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855011</commentid>
    <comment_count>4</comment_count>
      <attachid>192670</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2013-03-14 00:05:46 -0700</bug_when>
    <thetext>Comment on attachment 192670
Fix.

Thank you for the review.

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

&gt;&gt; Source/WebCore/css/CSSParser.cpp:11300
&gt;&gt; +    if (CSSParserSelector* distributedPseudoElementSelector = specifiers-&gt;findDistributedPseudoElementSelector()) {
&gt; 
&gt; Sounds like we&apos;re calling findDistributedPseudoElementSelector twice: once in rewriteSpecifiersWithNamespaceIfNeeded(CSSParserSelector* specifiers), and once here.

I factored the functions so that we can avoid calling it twice.

&gt;&gt; Source/WebCore/css/CSSParserValues.cpp:234
&gt;&gt; +CSSParserSelector* CSSParserSelector::findDistributedPseudoElementSelector() const
&gt; 
&gt; Can you help me understand why we need to reach into to the selector history and look for this? Might be good to have a diagram in a ChangeLog too.

Sure.
That would be helpful since this kind of manipulation of CSSParserSelector is very tricky and hard to understand.
I added an explanation to the ChangeLog.

&gt;&gt; LayoutTests/fast/dom/shadow/distributed-pseudo-element-specifiers-in-left-side.html:12
&gt;&gt; +shadowStyle.innerHTML += &apos;#content-id::-webkit-distributed(div) { color: blue; }&apos;;
&gt; 
&gt; This is pretty poor form of building a style string. It&apos;s not a big deal, but it&apos;s better to first build a string, then set textContent on shadowStyle.

Ops. My bad. I didn&apos;t notice this before submitting the patch. It should be used only in debugging time.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855634</commentid>
    <comment_count>5</comment_count>
      <attachid>193078</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 19:04:32 -0700</bug_when>
    <thetext>Comment on attachment 193078
Addressed.

Clearing flags on attachment: 193078

Committed r145865: &lt;http://trac.webkit.org/changeset/145865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855635</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 19:04:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>190164</attachid>
            <date>2013-02-25 17:20:40 -0800</date>
            <delta_ts>2013-02-25 17:20:40 -0800</delta_ts>
            <desc>reduction</desc>
            <filename>distributed-reduction.html</filename>
            <type>text/html</type>
            <size>1379</size>
            <attacher name="Steve Orvell">sorvell</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+OjpEaXN0cmlidXRlZCBSZWR1
Y3Rpb248L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgogIDxoMj5UZXN0aW5nIExlZnQgc2lkZSBvZiA6
Oi13ZWJraXQtZGlzdHJpYnV0ZWQ8L2gyPgogIDxoMz5UZXN0IDE6IGNvbnRlbnQuZm9vOjotd2Vi
a2l0LWRpc3RyaWJ1dGVkKCopPC9oMz4KICA8ZGl2IGlkPSJ0ZXN0MSI+CiAgICA8ZGl2IGNsYXNz
PSJmb28iPkZvbzwvZGl2PgogIDwvZGl2PgogIDxzY3JpcHQ+CiAgICB2YXIgcm9vdCA9IHRlc3Qx
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgIHJvb3QuaW5uZXJIVE1MID0gJzxzdHlsZT4n
ICsKICAgICAgJ2NvbnRlbnQuZm9vOjotd2Via2l0LWRpc3RyaWJ1dGVkKCopIHsgYmFja2dyb3Vu
ZDogZ3JlZW47IH0nICsKICAgICAgJzwvc3R5bGU+JyArCiAgICAgICc8Y29udGVudCBjbGFzcz0i
Zm9vIj48L2NvbnRlbnQ+JzsKICA8L3NjcmlwdD4KICA8cD5FeHBlY3RlZCByZXN1bHQ6PC9wPgog
IDxkaXYgY2xhc3M9InRlc3QxIj4KICAgIDxzdHlsZSBzY29wZWQ+CiAgICAgIC50ZXN0MSB7IAog
ICAgICAgIGJhY2tncm91bmQ6IHllbGxvdzsKICAgICAgfQogICAgICAKICAgICAgLnRlc3QxIC5m
b28gewogICAgICAgIGJhY2tncm91bmQ6IGdyZWVuOwogICAgICB9CiAgICA8L3N0eWxlPgogICAg
PGRpdiBjbGFzcz0iZm9vIj4KICAgICAgRm9vCiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8YnI+
PGhyPjxicj4KICA8aDM+VGVzdCAyOiBjb250ZW50W3NlbGVjdD0uZm9vXTo6LXdlYmtpdC1kaXN0
cmlidXRlZCgqKTwvaDM+CiAgPGRpdiBpZD0idGVzdDIiPgogICAgPGRpdiBjbGFzcz0iZm9vIj5G
b288L2Rpdj4KICA8L2Rpdj4KICA8c2NyaXB0PgogICAgdmFyIHJvb3QgPSB0ZXN0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICByb290LmlubmVySFRNTCA9ICc8c3R5bGU+JyArCiAgICAg
ICdjb250ZW50W3NlbGVjdD0uZm9vXTo6LXdlYmtpdC1kaXN0cmlidXRlZCgqKSB7IGJhY2tncm91
bmQ6IGdyZWVuOyB9JyArCiAgICAgICc8L3N0eWxlPicgKwogICAgICAnPGNvbnRlbnQgc2VsZWN0
PSIuZm9vIj48L2NvbnRlbnQ+JzsKICA8L3NjcmlwdD4KICA8cD5FeHBlY3RlZCByZXN1bHQ6PC9w
PgogIDxkaXYgY2xhc3M9InRlc3QyIj4KICAgIDxzdHlsZSBzY29wZWQ+CiAgICAgIC50ZXN0MiB7
IAogICAgICAgIGJhY2tncm91bmQ6IHllbGxvdzsKICAgICAgfQogICAgICAKICAgICAgLnRlc3Qy
IC5mb28gewogICAgICAgIGJhY2tncm91bmQ6IGdyZWVuOwogICAgICB9CiAgICA8L3N0eWxlPgog
ICAgPGRpdiBjbGFzcz0iZm9vIj4KICAgICAgRm9vCiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9ib2R5
PgoKPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192670</attachid>
            <date>2013-03-12 01:54:43 -0700</date>
            <delta_ts>2013-03-14 00:05:46 -0700</delta_ts>
            <desc>Fix.</desc>
            <filename>bug-110825-20130312175041.patch</filename>
            <type>text/plain</type>
            <size>8987</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDczODUwYjAwMWU2ZmIx
ZmY2NGM3ODg2MDRhZGM3MTNlOTE2YTU3Yi4uN2JiMTg0ZmIwYTg4ODNhYzEwOGNiY2IyMjc2NDIw
OWQwZDFlOWNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTEyICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XTogbGVmdCBz
aWRlIG9mIDo6LXdlYmtpdC1kaXN0cmlidXRlZCBzZWxlY3RvciBub3Qgd29ya2luZyBhcyBleHBl
Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZSBmdW5jdGlvbmFsIHBzZXVkbyBkaXN0cmlidXRlZCBlbGVtZW50cyB3b3JrIGV2ZW4gd2hlbiBh
IGxlZnQgc2lkZSBlbGVtZW50IGhhcyBzcGVjaWZpZXJzLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQt
c2lkZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cmV3cml0ZVNwZWNpZmllcnNXaXRoTmFtZXNwYWNlSWZOZWVkZWQpOgor
ICAgICAgICBNYWtlIGl0IGNhbGwgcmV3cml0ZVNwZWNpZmllcnNXaXRoRWxlbWVudE5hbWUgaWYg
cmVxdWlyZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnJld3JpdGVTcGVjaWZpZXJz
V2l0aEVsZW1lbnROYW1lKToKKyAgICAgICAgVXBkYXRlZCBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0
ZSBhIGNvcnJlY3QgY2hhaW4gb2YKKyAgICAgICAgQ1NTUGFyc2VyU2VsZWN0b3JzIGV2ZW4gd2hl
biAnOjpkaXN0cmlidXRlZCgpJyBpcyB1c2VkIHdpdGggYW4KKyAgICAgICAgZWxlbWVudCwgd2hp
Y2ggbWlnaHQgYmUgZW1wdHksIHdpdGggc3BlY2lmaWVycy4KKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyVmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyU2VsZWN0b3I6OmZpbmREaXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3Rvcik6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5oOgorICAgICAgICAoQ1NTUGFyc2VyU2VsZWN0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OmNsZWFyVGFnSGlzdG9y
eSk6CisKIDIwMTMtMDMtMTEgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXBsYWNlIHN0YXRpY19jYXN0cyB3aXRoIHRvKiBmdW5jdGlvbnMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQxYjg5NzU1MTBjM2UwYWM2NGU2OTJjNzZmZTI0YTcz
N2JiOWM3NjEuLmJjNjU5YzBiOGEwM2EzMzQ0ZjBlYWQ4YjQwNDc0N2Y2Y2RlYTJiNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xMTI4Miw3ICsxMTI4MiwxMSBAQCBRdWFsaWZpZWRO
YW1lIENTU1BhcnNlcjo6ZGV0ZXJtaW5lTmFtZUluTmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgcHJlZml4LCBjbwogCiBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjpyZXdyaXRlU3Bl
Y2lmaWVyc1dpdGhOYW1lc3BhY2VJZk5lZWRlZChDU1NQYXJzZXJTZWxlY3Rvciogc3BlY2lmaWVy
cykKIHsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBpZiAobV9kZWZhdWx0TmFtZXNwYWNl
ICE9IHN0YXJBdG9tIHx8IHNwZWNpZmllcnMtPmlzQ3VzdG9tUHNldWRvRWxlbWVudCgpIHx8IHNw
ZWNpZmllcnMtPmZpbmREaXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3RvcigpKQorI2Vsc2UK
ICAgICBpZiAobV9kZWZhdWx0TmFtZXNwYWNlICE9IHN0YXJBdG9tIHx8IHNwZWNpZmllcnMtPmlz
Q3VzdG9tUHNldWRvRWxlbWVudCgpKQorI2VuZGlmCiAgICAgICAgIHJldHVybiByZXdyaXRlU3Bl
Y2lmaWVyc1dpdGhFbGVtZW50TmFtZShudWxsQXRvbSwgc3RhckF0b20sIHNwZWNpZmllcnMsIC8q
dGFnSXNGb3JOYW1lc3BhY2VSdWxlKi90cnVlKTsKICAgICByZXR1cm4gc3BlY2lmaWVyczsKIH0K
QEAgLTExMjkzLDE0ICsxMTI5NywyMCBAQCBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjpy
ZXdyaXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbgogICAgIFF1
YWxpZmllZE5hbWUgdGFnKG5hbWVzcGFjZVByZWZpeCwgZWxlbWVudE5hbWUsIGRldGVybWluZWRO
YW1lc3BhY2UpOwogCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgaWYgKHNwZWNpZmllcnMt
PmlzRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50KCkpIHsKLSAgICAgICAgQ1NTUGFyc2VyU2VsZWN0
b3IqIGFyZ3VtZW50U2VsZWN0b3IgPSBzcGVjaWZpZXJzLT5mdW5jdGlvbkFyZ3VtZW50U2VsZWN0
b3IoKTsKKyAgICBpZiAoQ1NTUGFyc2VyU2VsZWN0b3IqIGRpc3RyaWJ1dGVkUHNldWRvRWxlbWVu
dFNlbGVjdG9yID0gc3BlY2lmaWVycy0+ZmluZERpc3RyaWJ1dGVkUHNldWRvRWxlbWVudFNlbGVj
dG9yKCkpIHsKKyAgICAgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIGFyZ3VtZW50U2VsZWN0b3IgPSBk
aXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3Rvci0+ZnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9y
KCk7CiAgICAgICAgIEFTU0VSVChhcmd1bWVudFNlbGVjdG9yKTsKKyAgICAgICAgc3BlY2lmaWVy
cy0+cHJlcGVuZFRhZ1NlbGVjdG9yKHRhZywgdGFnSXNGb3JOYW1lc3BhY2VSdWxlKTsKKyAgICAg
ICAgZm9yIChDU1NQYXJzZXJTZWxlY3RvciogZW5kID0gc3BlY2lmaWVyczsgZW5kLT50YWdIaXN0
b3J5KCk7IGVuZCA9IGVuZC0+dGFnSGlzdG9yeSgpKSB7CisgICAgICAgICAgICBpZiAoZW5kLT50
YWdIaXN0b3J5KCktPmlzRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50KCkpIHsKKyAgICAgICAgICAg
ICAgICBlbmQtPmNsZWFyVGFnSGlzdG9yeSgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIENTU1BhcnNlclNlbGVjdG9yKiBlbmQgPSBh
cmd1bWVudFNlbGVjdG9yOwogICAgICAgICB3aGlsZSAoZW5kLT50YWdIaXN0b3J5KCkpCiAgICAg
ICAgICAgICBlbmQgPSBlbmQtPnRhZ0hpc3RvcnkoKTsKLSAgICAgICAgT3duUHRyPENTU1BhcnNl
clNlbGVjdG9yPiBlbGVtZW50TmFtZVNlbGVjdG9yID0gYWRvcHRQdHIobmV3IENTU1BhcnNlclNl
bGVjdG9yKHRhZykpOwotICAgICAgICBlbmQtPnNldFRhZ0hpc3RvcnkoZWxlbWVudE5hbWVTZWxl
Y3Rvci5yZWxlYXNlKCkpOworICAgICAgICBlbmQtPnNldFRhZ0hpc3Rvcnkoc2lua0Zsb2F0aW5n
U2VsZWN0b3Ioc3BlY2lmaWVycykpOwogICAgICAgICBlbmQtPnNldFJlbGF0aW9uKENTU1NlbGVj
dG9yOjpTaGFkb3dEaXN0cmlidXRlZCk7CiAgICAgICAgIHJldHVybiBhcmd1bWVudFNlbGVjdG9y
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKaW5kZXggNzQ0OGYx
NzIxOWU4ZjM5OTMxNTYxNTRjOWQwNTkyMzFhZWE3MjA3ZS4uMGFjNTJiMjQwMWFmM2NhYTM5MDQ3
NjQwNmVhMmM2NWU3NDk3Y2VhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlclZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5j
cHAKQEAgLTIzMCw1ICsyMzAsMTcgQEAgdm9pZCBDU1NQYXJzZXJTZWxlY3Rvcjo6cHJlcGVuZFRh
Z1NlbGVjdG9yKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ1FOYW1lLCBib29sIHQKICAgICBtX3Nl
bGVjdG9yLT5tX3JlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yOwogfQogCisjaWYg
RU5BQkxFKFNIQURPV19ET00pCitDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyU2VsZWN0b3I6
OmZpbmREaXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3RvcigpIGNvbnN0Cit7CisgICAgQ1NT
UGFyc2VyU2VsZWN0b3IqIHNlbGVjdG9yID0gY29uc3RfY2FzdDxDU1NQYXJzZXJTZWxlY3Rvcio+
KHRoaXMpOworICAgIGRvIHsKKyAgICAgICAgaWYgKHNlbGVjdG9yLT5pc0Rpc3RyaWJ1dGVkUHNl
dWRvRWxlbWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHNlbGVjdG9yOworICAgIH0gd2hpbGUg
KChzZWxlY3RvciA9IHNlbGVjdG9yLT50YWdIaXN0b3J5KCkpKTsKKyAgICByZXR1cm4gMDsKK30K
KyNlbmRpZgorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJW
YWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCBhZGNk
MjY5NDcyZjJkNzI3Zjg3ODFkOWUwYjk1NTY0YWJhYTMyZTUzLi5iMWExOWQxMjlmMWY5Y2ZkZmNm
MTk2OWUzN2NkMTE1YzcwMWQxNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyVmFsdWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
CkBAIC0xOTAsNiArMTkwLDcgQEAgcHVibGljOgogICAgIENTU1BhcnNlclNlbGVjdG9yKiBmdW5j
dGlvbkFyZ3VtZW50U2VsZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uQXJndW1lbnRT
ZWxlY3RvcjsgfQogICAgIHZvaWQgc2V0RnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9yKENTU1BhcnNl
clNlbGVjdG9yKiBzZWxlY3RvcikgeyBtX2Z1bmN0aW9uQXJndW1lbnRTZWxlY3RvciA9IHNlbGVj
dG9yOyB9CiAgICAgYm9vbCBpc0Rpc3RyaWJ1dGVkUHNldWRvRWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2VsZWN0b3ItPmlzRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50KCk7IH0KKyAgICBDU1NQ
YXJzZXJTZWxlY3RvciogZmluZERpc3RyaWJ1dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yKCkgY29u
c3Q7CiAjZW5kaWYKIAogICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBzZXVkb1R5cGUoKSBj
b25zdCB7IHJldHVybiBtX3NlbGVjdG9yLT5wc2V1ZG9UeXBlKCk7IH0KQEAgLTIwMCw2ICsyMDEs
NyBAQCBwdWJsaWM6CiAKICAgICBDU1NQYXJzZXJTZWxlY3RvciogdGFnSGlzdG9yeSgpIGNvbnN0
IHsgcmV0dXJuIG1fdGFnSGlzdG9yeS5nZXQoKTsgfQogICAgIHZvaWQgc2V0VGFnSGlzdG9yeShQ
YXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiBzZWxlY3RvcikgeyBtX3RhZ0hpc3RvcnkgPSBz
ZWxlY3RvcjsgfQorICAgIHZvaWQgY2xlYXJUYWdIaXN0b3J5KCkgeyBtX3RhZ0hpc3RvcnkuY2xl
YXIoKTsgfQogICAgIHZvaWQgaW5zZXJ0VGFnSGlzdG9yeShDU1NTZWxlY3Rvcjo6UmVsYXRpb24g
YmVmb3JlLCBQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiwgQ1NTU2VsZWN0b3I6OlJlbGF0
aW9uIGFmdGVyKTsKICAgICB2b2lkIGFwcGVuZFRhZ0hpc3RvcnkoQ1NTU2VsZWN0b3I6OlJlbGF0
aW9uLCBQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPik7CiAgICAgdm9pZCBwcmVwZW5kVGFn
U2VsZWN0b3IoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGJvb2wgdGFnSXNGb3JOYW1lc3BhY2VSdWxl
ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGU1MGUxNzIwMDA5NjFkNDc5MTFlNDI3ZjczMGRjNGRiZjExZTMw
ODAuLmQ3Mjc2MmRhYmMwNjc3OGM0OWFmODZkMTQwN2Q3N2FjNTUyYWQyNjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMy0wMy0xMiAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW1NoYWRvd106IGxlZnQgc2lkZSBvZiA6Oi13ZWJraXQtZGlzdHJpYnV0ZWQg
c2VsZWN0b3Igbm90IHdvcmtpbmcgYXMgZXhwZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLXBz
ZXVkby1lbGVtZW50LXNwZWNpZmllcnMtaW4tbGVmdC1zaWRlLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1z
cGVjaWZpZXJzLWluLWxlZnQtc2lkZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0xMSAgWXVraSBT
ZWtpZ3VjaGkgIDx5dWtpLnNla2lndWNoaUBhY2Nlc3MtY29tcGFueS5jb20+CiAKICAgICAgICAg
UnVieSB0ZXh0IGlzIGluY29ycmVjdGx5IHBvc2l0aW9uZWQgd2hlbiBpdHMgd3JpdGluZy1tb2Rl
IGlzIGNoYW5nZWQgdG8gdmVydGljYWwgYWZ0ZXIgbGF5b3V0IGlzIGRvbmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1z
cGVjaWZpZXJzLWluLWxlZnQtc2lkZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2Rpc3RyaWJ1dGVkLXBzZXVkby1lbGVtZW50LXNwZWNpZmllcnMtaW4tbGVmdC1z
aWRlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk5MTMwNjNkZjBkOGI3YjBmNjM2Yzk4YmE0
MTRlYWUzYmIzZDJhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQtc2lkZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
Ym9keT4KKzxkaXYgaWQ9InNhbmRib3giPgorICA8ZGl2IGlkPSJob3N0Ij4KKyAgICA8ZGl2Pm5v
cm1hbDwvZGl2PgorICAgIDxkaXYgc3R5bGU9J2NvbG9yOiBncmVlbic+Z3JlZW48L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSdjb2xvcjogYmx1ZSc+Ymx1ZTwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmli
dXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQtc2lkZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLXBzZXVkby1lbGVtZW50LXNwZWNpZmll
cnMtaW4tbGVmdC1zaWRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgwMjg5NjA2MWI0OGUzYjY1ZGYzOWFj
MDEwY2IyOTA3Yzc1ZjhlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQtc2lk
ZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9InNhbmRib3giPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBzaGFkb3dT
dHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CitzaGFkb3dTdHlsZS5pbm5l
ckhUTUwgPSAnY29udGVudC5ub24tZXhpc3Q6Oi13ZWJraXQtZGlzdHJpYnV0ZWQoZGl2KSB7IGNv
bG9yOiByZWQ7IH0nOworc2hhZG93U3R5bGUuaW5uZXJIVE1MICs9ICdjb250ZW50LmNvbnRlbnQt
Y2xhc3M6Oi13ZWJraXQtZGlzdHJpYnV0ZWQoZGl2KSB7IGNvbG9yOiBncmVlbjsgfSc7CitzaGFk
b3dTdHlsZS5pbm5lckhUTUwgKz0gJyNjb250ZW50LWlkOjotd2Via2l0LWRpc3RyaWJ1dGVkKGRp
dikgeyBjb2xvcjogYmx1ZTsgfSc7CisKK3ZhciBzYW5kYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NhbmRib3gnKTsKK3NhbmRib3guYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdk
aXYnLCB7J2lkJzogJ2hvc3QnfSwKKyAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAg
ICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnY29udGVudCcsIHsnc2VsZWN0JzogJyNob3N0LWNo
aWxkLTEnfSksCisgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J2NsYXNz
JzogJ2NvbnRlbnQtY2xhc3MnLCAnc2VsZWN0JzogJyNob3N0LWNoaWxkLTInfSksCisgICAgICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J2lkJzogJ2NvbnRlbnQtaWQnLCAnc2Vs
ZWN0JzogJyNob3N0LWNoaWxkLTMnfSksCisgICAgICAgICAgICAgICAgICBzaGFkb3dTdHlsZSks
CisgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0LWNoaWxkLTEnfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdub3JtYWwn
KSksCisgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0LWNoaWxkLTIn
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdncmVl
bicpKSwKKyAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2hvc3QtY2hpbGQt
Myd9LAorICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2Js
dWUnKSkpKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193078</attachid>
            <date>2013-03-14 00:01:15 -0700</date>
            <delta_ts>2013-03-14 19:04:32 -0700</delta_ts>
            <desc>Addressed.</desc>
            <filename>bug-110825-20130314155711.patch</filename>
            <type>text/plain</type>
            <size>12414</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQxZGRlYTE3YmNiMjk4
NjJjYzlmYzdjOGEyOGJkYWU3NGJlOWViZC4uMTVlZmQ1N2JhNmNlY2JlMThjYTZhZGE5Njk3NGU4
N2ZlZjVjNTY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEzLTAzLTEyICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XTogbGVmdCBz
aWRlIG9mIDo6LXdlYmtpdC1kaXN0cmlidXRlZCBzZWxlY3RvciBub3Qgd29ya2luZyBhcyBleHBl
Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEw
ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZSBmdW5jdGlvbmFsIHBzZXVkbyBkaXN0cmlidXRlZCBlbGVtZW50cyB3b3JrIGV2ZW4gd2hlbiBh
IGxlZnQgc2lkZSBlbGVtZW50IGhhcyBzcGVjaWZpZXJzLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQt
c2lkZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cmV3cml0ZVNwZWNpZmllcnNXaXRoTmFtZXNwYWNlSWZOZWVkZWQpOgor
ICAgICAgICBNYWtlIGl0IGNhbGwgcmV3cml0ZVNwZWNpZmllcnNGb3JTaGFkb3dEaXN0cmlidXRl
ZCgpIGlmIHJlcXVpcmVkLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnJld3JpdGVT
cGVjaWZpZXJzV2l0aEVsZW1lbnROYW1lKToKKyAgICAgICAgVXBkYXRlZCBzbyB0aGF0IGl0IGNh
biBnZW5lcmF0ZSBhIGNvcnJlY3QgY2hhaW4gb2YKKyAgICAgICAgQ1NTUGFyc2VyU2VsZWN0b3Jz
IGV2ZW4gd2hlbiAnOjpkaXN0cmlidXRlZCgpJyBpcyB1c2VkIHdpdGggYW4KKyAgICAgICAgZWxl
bWVudCwgd2hpY2ggbWlnaHQgYmUgZW1wdHksIHdpdGggc3BlY2lmaWVycy4KKworICAgICAgICBl
LmcuIFdoZW4gcGFyc2luZyBhIHNlbGVjdG9yIG9mICdjb250ZW50LmNvbnRlbnQtY2xhc3M6Oi13
ZWJraXQtZGlzdHJpYnV0ZWQoZGl2KScsIHRoZSBmb2xsb3dpbmcgaGFwcGVuczoKKworICAgICAg
ICAxLiByZXdyaXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZSguLi4pIGlzIGNhbGxlZCB3aXRo
OgorCisgICAgICAgICAgIGVsZW1lbnROYW1lIGlzOiAiY29udGVudCIKKyAgICAgICAgICAgc3Bl
Y2lmaWVycyBpczogWy5jb250ZW50LWNsYXNzXSAtPiBbOjotd2Via2l0LWRpc3RyaWJ1dGVkXQor
CisgICAgICAgIDIuIExvb2tpbmcgZm9yIGEgZGlzdHJpYnV0ZWQgcHNldWRvIGVsZW1lbnQgaW4g
dGhlIHNwZWNpZmllcnMgYW5kCisgICAgICAgICAgIGZvdW5kIGl0IGF0IHRoZSBlbmQgb2YgdGFn
SGlzdG9yeSBjaGFpbiBvZiB0aGUgc3BlY2lmaWVycy4KKworICAgICAgICAzLiBUaGUgcmVzdWx0
IG9mIGNhbGxpbmcgc3BlY2lmaWVycy0+cHJlcGVuZFRhZ1NlbGVjdG9yKHRhZykgaXM6CisKKyAg
ICAgICAgICAgc3BlY2lmaWVycyBpczogW2NvbnRlbnRdIC0+IFsuY29udGVudC1jbGFzc10gLT4g
Wzo6LXdlYmtpdC1kaXN0cmlidXRlZF0KKworICAgICAgICA0LiByZXdyaXRlU3BlY2lmaWVyc0Zv
clNoYWRvd0Rpc3RyaWJ1dGVkKCkgaXMgY2FsbGVkIHdpdGg6CisKKyAgICAgICAgICAgc3BlY2lm
aWVycyBpczogW2NvbnRlbnRdIC0+IFsuY29udGVudC1jbGFzc10gLT4gWzo6LXdlYmtpdC1kaXN0
cmlidXRlZF0KKyAgICAgICAgICAgZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IgaXM6
IFs6Oi13ZWJraXQtZGlzdHJpYnV0ZWRdCisKKyAgICAgICAgNS4gQW4gYXJndW1lbnRTZWxlY3Rv
ciBvZiB0aGUgZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IgaXM6CisKKyAgICAgICAg
ICAgYXJndW1lbnRTZWxlY3RvciBpczogW2Rpdl0KKworICAgICAgICA2LiBSZW1vdmUgdGhlIGRp
c3RyaWJ1dGVkIHBzZXVkbyBlbGVtZW50IHNlbGVjdG9yIGZyb20gdGhlIHNwZWNpZmllcnMuCisK
KyAgICAgICAgICAgc3BlY2lmaWVycyBpczogW2NvbnRlbnRdIC0+IFsuY29udGVudC1jbGFzc10K
KworICAgICAgICAgICBOb3RlIHRoYXQgb25lIHBzZXVkby1lbGVtZW50IG1heSBhcHBlYXIgcGVy
IGNvbXBsZXggc2VsZWN0b3IKKyAgICAgICAgICAgYW5kIHRoZSBwc2V1ZG8tZWxlbWVudCBtYXkg
YXBwZWFyIG9ubHkgaWYgdGhlIHN1YmplY3Qgb2YgdGhlCisgICAgICAgICAgIHNlbGVjdG9yIGlz
IHRoZSBsYXN0IGNvbXBvdW5kIHNlbGVjdG9yIGluIHRoZSBzZWxlY3Rvci4KKworICAgICAgICA3
LiBBcHBlbmQgc3BlY2lmaWVycyB0byB0aGUgZW5kIG9mIHRoZSBhcmd1bWVudCBzZWxlY3RvciB3
aXRoIGEgcmVsYXRpb24gb2YgU2hhZG93RGlzdHJpYnV0ZWQ6CisKKyAgICAgICAgICAgYXJndW1l
bnRTZWxlY3RvciBpczogW2Rpdl0gLShTaGFkb3dEaXN0cmlidXRlZCktPiBbY29udGVudF0gLT4g
Wy5jb250ZW50LWNsYXNzXQorCisgICAgICAgIDguIFJldHVybnMgdGhlIGFyZ3VtZW50IHNlbGVj
dG9yIGFzIGEgcmV0dXJuIHZhbHVlLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnJl
d3JpdGVTcGVjaWZpZXJzRm9yU2hhZG93RGlzdHJpYnV0ZWQpOiBBcyBleHBsYWluZWQuCisgICAg
ICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlclNlbGVjdG9yOjpmaW5kRGlzdHJpYnV0ZWRQc2V1ZG9FbGVt
ZW50U2VsZWN0b3IpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAg
KENTU1BhcnNlclNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclNlbGVjdG9y
OjpjbGVhclRhZ0hpc3RvcnkpOgorCiAyMDEzLTAzLTEzICBSYWZhZWwgV2VpbnN0ZWluICA8cmFm
YWVsd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0hUTUxUZW1wbGF0ZUVsZW1lbnRdIEVPRiBz
aG91bGQgdW53aW5kIHRoZSBzdGFjayBvZiB0ZW1wbGF0ZSBpbnNlcnRpb24gbW9kZXMgaXRlcmF0
aXZlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZDFiODk3NTUxMGMzZTBhYzY0ZTY5
MmM3NmZlMjRhNzM3YmI5Yzc2MS4uMzQ4ZmM4Mzc4NDBhYzlmMjIzZmQ1YjkxOWZmYmUzNDBmMTU3
YzAyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTExMjg0LDYgKzExMjg0LDEyIEBA
IENTU1BhcnNlclNlbGVjdG9yKiBDU1NQYXJzZXI6OnJld3JpdGVTcGVjaWZpZXJzV2l0aE5hbWVz
cGFjZUlmTmVlZGVkKENTU1BhcnNlclNlCiB7CiAgICAgaWYgKG1fZGVmYXVsdE5hbWVzcGFjZSAh
PSBzdGFyQXRvbSB8fCBzcGVjaWZpZXJzLT5pc0N1c3RvbVBzZXVkb0VsZW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuIHJld3JpdGVTcGVjaWZpZXJzV2l0aEVsZW1lbnROYW1lKG51bGxBdG9tLCBzdGFy
QXRvbSwgc3BlY2lmaWVycywgLyp0YWdJc0Zvck5hbWVzcGFjZVJ1bGUqL3RydWUpOworI2lmIEVO
QUJMRShTSEFET1dfRE9NKQorICAgIGlmIChDU1NQYXJzZXJTZWxlY3RvciogZGlzdHJpYnV0ZWRQ
c2V1ZG9FbGVtZW50U2VsZWN0b3IgPSBzcGVjaWZpZXJzLT5maW5kRGlzdHJpYnV0ZWRQc2V1ZG9F
bGVtZW50U2VsZWN0b3IoKSkgeworICAgICAgICBzcGVjaWZpZXJzLT5wcmVwZW5kVGFnU2VsZWN0
b3IoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgc3RhckF0b20sIG1fZGVmYXVsdE5hbWVzcGFjZSks
IC8qdGFnSXNGb3JOYW1lc3BhY2VSdWxlKi90cnVlKTsKKyAgICAgICAgcmV0dXJuIHJld3JpdGVT
cGVjaWZpZXJzRm9yU2hhZG93RGlzdHJpYnV0ZWQoc3BlY2lmaWVycywgZGlzdHJpYnV0ZWRQc2V1
ZG9FbGVtZW50U2VsZWN0b3IpOworICAgIH0KKyNlbmRpZgogICAgIHJldHVybiBzcGVjaWZpZXJz
OwogfQogCkBAIC0xMTI5MywxNiArMTEyOTksOSBAQCBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFy
c2VyOjpyZXdyaXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbgog
ICAgIFF1YWxpZmllZE5hbWUgdGFnKG5hbWVzcGFjZVByZWZpeCwgZWxlbWVudE5hbWUsIGRldGVy
bWluZWROYW1lc3BhY2UpOwogCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgaWYgKHNwZWNp
ZmllcnMtPmlzRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50KCkpIHsKLSAgICAgICAgQ1NTUGFyc2Vy
U2VsZWN0b3IqIGFyZ3VtZW50U2VsZWN0b3IgPSBzcGVjaWZpZXJzLT5mdW5jdGlvbkFyZ3VtZW50
U2VsZWN0b3IoKTsKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50U2VsZWN0b3IpOwotICAgICAgICBD
U1NQYXJzZXJTZWxlY3RvciogZW5kID0gYXJndW1lbnRTZWxlY3RvcjsKLSAgICAgICAgd2hpbGUg
KGVuZC0+dGFnSGlzdG9yeSgpKQotICAgICAgICAgICAgZW5kID0gZW5kLT50YWdIaXN0b3J5KCk7
Ci0gICAgICAgIE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gZWxlbWVudE5hbWVTZWxlY3RvciA9
IGFkb3B0UHRyKG5ldyBDU1NQYXJzZXJTZWxlY3Rvcih0YWcpKTsKLSAgICAgICAgZW5kLT5zZXRU
YWdIaXN0b3J5KGVsZW1lbnROYW1lU2VsZWN0b3IucmVsZWFzZSgpKTsKLSAgICAgICAgZW5kLT5z
ZXRSZWxhdGlvbihDU1NTZWxlY3Rvcjo6U2hhZG93RGlzdHJpYnV0ZWQpOwotICAgICAgICByZXR1
cm4gYXJndW1lbnRTZWxlY3RvcjsKKyAgICBpZiAoQ1NTUGFyc2VyU2VsZWN0b3IqIGRpc3RyaWJ1
dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yID0gc3BlY2lmaWVycy0+ZmluZERpc3RyaWJ1dGVkUHNl
dWRvRWxlbWVudFNlbGVjdG9yKCkpIHsKKyAgICAgICAgc3BlY2lmaWVycy0+cHJlcGVuZFRhZ1Nl
bGVjdG9yKHRhZywgdGFnSXNGb3JOYW1lc3BhY2VSdWxlKTsKKyAgICAgICAgcmV0dXJuIHJld3Jp
dGVTcGVjaWZpZXJzRm9yU2hhZG93RGlzdHJpYnV0ZWQoc3BlY2lmaWVycywgZGlzdHJpYnV0ZWRQ
c2V1ZG9FbGVtZW50U2VsZWN0b3IpOwogICAgIH0KICNlbmRpZgogCkBAIC0xMTMzOCw2ICsxMTMz
NywyNyBAQCBDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2VyOjpyZXdyaXRlU3BlY2lmaWVyc1dp
dGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbgogICAgIHJldHVybiBzcGVjaWZpZXJzOwog
fQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCitDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFyc2Vy
OjpyZXdyaXRlU3BlY2lmaWVyc0ZvclNoYWRvd0Rpc3RyaWJ1dGVkKENTU1BhcnNlclNlbGVjdG9y
KiBzcGVjaWZpZXJzLCBDU1NQYXJzZXJTZWxlY3RvciogZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50
U2VsZWN0b3IpCit7CisgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIGFyZ3VtZW50U2VsZWN0b3IgPSBk
aXN0cmlidXRlZFBzZXVkb0VsZW1lbnRTZWxlY3Rvci0+ZnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9y
KCk7CisgICAgQVNTRVJUKGFyZ3VtZW50U2VsZWN0b3IpOworICAgIEFTU0VSVCghc3BlY2lmaWVy
cy0+aXNEaXN0cmlidXRlZFBzZXVkb0VsZW1lbnQoKSk7CisgICAgZm9yIChDU1NQYXJzZXJTZWxl
Y3RvciogZW5kID0gc3BlY2lmaWVyczsgZW5kLT50YWdIaXN0b3J5KCk7IGVuZCA9IGVuZC0+dGFn
SGlzdG9yeSgpKSB7CisgICAgICAgIGlmIChlbmQtPnRhZ0hpc3RvcnkoKS0+aXNEaXN0cmlidXRl
ZFBzZXVkb0VsZW1lbnQoKSkgeworICAgICAgICAgICAgZW5kLT5jbGVhclRhZ0hpc3RvcnkoKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIENTU1BhcnNlclNlbGVj
dG9yKiBlbmQgPSBhcmd1bWVudFNlbGVjdG9yOworICAgIHdoaWxlIChlbmQtPnRhZ0hpc3Rvcnko
KSkKKyAgICAgICAgZW5kID0gZW5kLT50YWdIaXN0b3J5KCk7CisgICAgZW5kLT5zZXRUYWdIaXN0
b3J5KHNpbmtGbG9hdGluZ1NlbGVjdG9yKHNwZWNpZmllcnMpKTsKKyAgICBlbmQtPnNldFJlbGF0
aW9uKENTU1NlbGVjdG9yOjpTaGFkb3dEaXN0cmlidXRlZCk7CisgICAgcmV0dXJuIGFyZ3VtZW50
U2VsZWN0b3I7Cit9CisjZW5kaWYKKwogQ1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlcjo6cmV3
cml0ZVNwZWNpZmllcnMoQ1NTUGFyc2VyU2VsZWN0b3IqIHNwZWNpZmllcnMsIENTU1BhcnNlclNl
bGVjdG9yKiBuZXdTcGVjaWZpZXIpCiB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCmluZGV4IDE1OTk3ZTk2M2MzYzAyMmYyY2E0ODc1MmYwYjk2YzA4MjExYzQw
MzkuLmJlZjMwOTViNTMxYjMyYjNjZjhjMDY2MDcyZjI1MjZkNWZkZTgyMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmgKQEAgLTM0Miw2ICszNDIsOSBAQCBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU2Vs
ZWN0b3IqIHJld3JpdGVTcGVjaWZpZXJzV2l0aEVsZW1lbnROYW1lKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZXNwYWNlUHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIGVsZW1lbnROYW1lLCBDU1NQ
YXJzZXJTZWxlY3RvciosIGJvb2wgaXNOYW1lc3BhY2VQbGFjZWhvbGRlciA9IGZhbHNlKTsKICAg
ICBDU1NQYXJzZXJTZWxlY3RvciogcmV3cml0ZVNwZWNpZmllcnNXaXRoTmFtZXNwYWNlSWZOZWVk
ZWQoQ1NTUGFyc2VyU2VsZWN0b3IqKTsKICAgICBDU1NQYXJzZXJTZWxlY3RvciogcmV3cml0ZVNw
ZWNpZmllcnMoQ1NTUGFyc2VyU2VsZWN0b3IqLCBDU1NQYXJzZXJTZWxlY3RvciopOworI2lmIEVO
QUJMRShTSEFET1dfRE9NKQorICAgIENTU1BhcnNlclNlbGVjdG9yKiByZXdyaXRlU3BlY2lmaWVy
c0ZvclNoYWRvd0Rpc3RyaWJ1dGVkKENTU1BhcnNlclNlbGVjdG9yKiBzcGVjaWZpZXJzLCBDU1NQ
YXJzZXJTZWxlY3RvciogZGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2VsZWN0b3IpOworI2VuZGlm
CiAKICAgICB2b2lkIGludmFsaWRCbG9ja0hpdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXJWYWx1ZXMuY3BwCmluZGV4IDc0NDhmMTcyMTllOGYzOTkzMTU2MTU0YzlkMDU5MjMxYWVhNzIw
N2UuLjBhYzUyYjI0MDFhZjNjYWEzOTA0NzY0MDZlYTJjNjVlNzQ5N2NlYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCkBAIC0yMzAsNSArMjMwLDE3IEBAIHZvaWQgQ1NT
UGFyc2VyU2VsZWN0b3I6OnByZXBlbmRUYWdTZWxlY3Rvcihjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdRTmFtZSwgYm9vbCB0CiAgICAgbV9zZWxlY3Rvci0+bV9yZWxhdGlvbiA9IENTU1NlbGVjdG9y
OjpTdWJTZWxlY3RvcjsKIH0KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorQ1NTUGFyc2VyU2Vs
ZWN0b3IqIENTU1BhcnNlclNlbGVjdG9yOjpmaW5kRGlzdHJpYnV0ZWRQc2V1ZG9FbGVtZW50U2Vs
ZWN0b3IoKSBjb25zdAoreworICAgIENTU1BhcnNlclNlbGVjdG9yKiBzZWxlY3RvciA9IGNvbnN0
X2Nhc3Q8Q1NTUGFyc2VyU2VsZWN0b3IqPih0aGlzKTsKKyAgICBkbyB7CisgICAgICAgIGlmIChz
ZWxlY3Rvci0+aXNEaXN0cmlidXRlZFBzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVy
biBzZWxlY3RvcjsKKyAgICB9IHdoaWxlICgoc2VsZWN0b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9y
eSgpKSk7CisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyVmFsdWVzLmgKaW5kZXggYWRjZDI2OTQ3MmYyZDcyN2Y4NzgxZDllMGI5NTU2NGFiYWEz
MmU1My4uYjFhMTlkMTI5ZjFmOWNmZGZjZjE5NjllMzdjZDExNWM3MDFkMTYyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAtMTkwLDYgKzE5MCw3IEBAIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJTZWxlY3RvciogZnVuY3Rpb25Bcmd1bWVudFNlbGVjdG9yKCkgY29uc3QgeyBy
ZXR1cm4gbV9mdW5jdGlvbkFyZ3VtZW50U2VsZWN0b3I7IH0KICAgICB2b2lkIHNldEZ1bmN0aW9u
QXJndW1lbnRTZWxlY3RvcihDU1NQYXJzZXJTZWxlY3Rvciogc2VsZWN0b3IpIHsgbV9mdW5jdGlv
bkFyZ3VtZW50U2VsZWN0b3IgPSBzZWxlY3RvcjsgfQogICAgIGJvb2wgaXNEaXN0cmlidXRlZFBz
ZXVkb0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9yLT5pc0Rpc3RyaWJ1dGVkUHNl
dWRvRWxlbWVudCgpOyB9CisgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIGZpbmREaXN0cmlidXRlZFBz
ZXVkb0VsZW1lbnRTZWxlY3RvcigpIGNvbnN0OwogI2VuZGlmCiAKICAgICBDU1NTZWxlY3Rvcjo6
UHNldWRvVHlwZSBwc2V1ZG9UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rvci0+cHNldWRv
VHlwZSgpOyB9CkBAIC0yMDAsNiArMjAxLDcgQEAgcHVibGljOgogCiAgICAgQ1NTUGFyc2VyU2Vs
ZWN0b3IqIHRhZ0hpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3RhZ0hpc3RvcnkuZ2V0KCk7IH0K
ICAgICB2b2lkIHNldFRhZ0hpc3RvcnkoUGFzc093blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gc2Vs
ZWN0b3IpIHsgbV90YWdIaXN0b3J5ID0gc2VsZWN0b3I7IH0KKyAgICB2b2lkIGNsZWFyVGFnSGlz
dG9yeSgpIHsgbV90YWdIaXN0b3J5LmNsZWFyKCk7IH0KICAgICB2b2lkIGluc2VydFRhZ0hpc3Rv
cnkoQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIGJlZm9yZSwgUGFzc093blB0cjxDU1NQYXJzZXJTZWxl
Y3Rvcj4sIENTU1NlbGVjdG9yOjpSZWxhdGlvbiBhZnRlcik7CiAgICAgdm9pZCBhcHBlbmRUYWdI
aXN0b3J5KENTU1NlbGVjdG9yOjpSZWxhdGlvbiwgUGFzc093blB0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4pOwogICAgIHZvaWQgcHJlcGVuZFRhZ1NlbGVjdG9yKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBi
b29sIHRhZ0lzRm9yTmFtZXNwYWNlUnVsZSA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYTFjOTA4MjQ4OWQy
MjhiOWViZjIwOTU0MDRlMWY2NDJhYTQyNzgxLi5kYzUxNTY5YjM0ZTMzNjMxNDdjNTZkYTk1YzEx
MDc0NmIwYmNlYzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMTIgIEhheWF0byBJ
dG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3ddOiBsZWZ0IHNpZGUg
b2YgOjotd2Via2l0LWRpc3RyaWJ1dGVkIHNlbGVjdG9yIG5vdCB3b3JraW5nIGFzIGV4cGVjdGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA4MjUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1wc2V1ZG8tZWxlbWVudC1zcGVjaWZpZXJzLWluLWxlZnQt
c2lkZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlz
dHJpYnV0ZWQtcHNldWRvLWVsZW1lbnQtc3BlY2lmaWVycy1pbi1sZWZ0LXNpZGUuaHRtbDogQWRk
ZWQuCisKIDIwMTMtMDMtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBsaW50LXRlc3QtZXhwZWN0YXRpb25zIGhhcHB5IHdpdGggdGhlIEFw
cGxlLVdpbmRvd3MgVGVzdEV4cGVjdGF0aW9ucyBmaWxlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLXBzZXVkby1lbGVtZW50LXNwZWNpZmllcnMt
aW4tbGVmdC1zaWRlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
ZGlzdHJpYnV0ZWQtcHNldWRvLWVsZW1lbnQtc3BlY2lmaWVycy1pbi1sZWZ0LXNpZGUtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTkxMzA2M2RmMGQ4YjdiMGY2MzZjOThiYTQxNGVhZTNiYjNk
MmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3Ry
aWJ1dGVkLXBzZXVkby1lbGVtZW50LXNwZWNpZmllcnMtaW4tbGVmdC1zaWRlLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGRp
diBpZD0ic2FuZGJveCI+CisgIDxkaXYgaWQ9Imhvc3QiPgorICAgIDxkaXY+bm9ybWFsPC9kaXY+
CisgICAgPGRpdiBzdHlsZT0nY29sb3I6IGdyZWVuJz5ncmVlbjwvZGl2PgorICAgIDxkaXYgc3R5
bGU9J2NvbG9yOiBibHVlJz5ibHVlPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLXBzZXVk
by1lbGVtZW50LXNwZWNpZmllcnMtaW4tbGVmdC1zaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZGlzdHJpYnV0ZWQtcHNldWRvLWVsZW1lbnQtc3BlY2lmaWVycy1pbi1sZWZ0
LXNpZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTJjMWUyZWFlNjg0MTQzYTI1NjBhZWE3NDU3MGUwMGMy
MzMxM2ZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rp
c3RyaWJ1dGVkLXBzZXVkby1lbGVtZW50LXNwZWNpZmllcnMtaW4tbGVmdC1zaWRlLmh0bWwKQEAg
LTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0ic2FuZGJveCI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHNoYWRvd1N0eWxlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKK3NoYWRvd1N0eWxlLmlubmVySFRNTCA9ICdj
b250ZW50Lm5vbi1leGlzdDo6LXdlYmtpdC1kaXN0cmlidXRlZChkaXYpIHsgY29sb3I6IHJlZDsg
fScKKyAgICArICdjb250ZW50LmNvbnRlbnQtY2xhc3M6Oi13ZWJraXQtZGlzdHJpYnV0ZWQoZGl2
KSB7IGNvbG9yOiBncmVlbjsgfScKKyAgICArICcjY29udGVudC1pZDo6LXdlYmtpdC1kaXN0cmli
dXRlZChkaXYpIHsgY29sb3I6IGJsdWU7IH0nOworCit2YXIgc2FuZGJveCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzYW5kYm94Jyk7CitzYW5kYm94LmFwcGVuZENoaWxkKAorICAgIGNyZWF0
ZURPTSgnZGl2JywgeydpZCc6ICdob3N0J30sCisgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jv
b3QoCisgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J3NlbGVjdCc6ICcj
aG9zdC1jaGlsZC0xJ30pLAorICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50Jywg
eydjbGFzcyc6ICdjb250ZW50LWNsYXNzJywgJ3NlbGVjdCc6ICcjaG9zdC1jaGlsZC0yJ30pLAor
ICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydpZCc6ICdjb250ZW50LWlk
JywgJ3NlbGVjdCc6ICcjaG9zdC1jaGlsZC0zJ30pLAorICAgICAgICAgICAgICAgICAgc2hhZG93
U3R5bGUpLAorICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnaG9zdC1jaGls
ZC0xJ30sCisgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgn
bm9ybWFsJykpLAorICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnaG9zdC1j
aGlsZC0yJ30sCisgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgnZ3JlZW4nKSksCisgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0
LWNoaWxkLTMnfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCdibHVlJykpKSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>