<?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>37998</bug_id>
          
          <creation_ts>2010-04-22 10:58:18 -0700</creation_ts>
          <short_desc>Improve code generator scripts to handle OR (&apos;|&apos;) condition in the extended attributes</short_desc>
          <delta_ts>2010-04-27 14:22:31 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>37840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>sam</cc>
    
    <cc>yaar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>215966</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-22 10:58:18 -0700</bug_when>
    <thetext>The current code generator scripts support using AND (&apos;&amp;&apos;) condition in the extended attributes of an interface. We need to also add support for OR &apos;|&apos; condition, like in FileError interface case:
      interface [
          Conditional=FILE_READER|FILE_WRITER
      ] FileError {

In addition, the condition operator is not supported in the extended attributes of properties/methods of an interface. We need to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215982</commentid>
    <comment_count>1</comment_count>
      <attachid>54079</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-22 11:31:59 -0700</bug_when>
    <thetext>Created attachment 54079
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216320</commentid>
    <comment_count>2</comment_count>
      <attachid>54079</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-23 00:47:49 -0700</bug_when>
    <thetext>Comment on attachment 54079
Proposed Patch

WebCore/bindings/scripts/CodeGeneratorJS.pm:298
 +      } else {
Maybe it&apos;s better to be explicit here?  You&apos;re assuming that not &amp; is |

Nice removal Of copy/paste code.  Please address the above before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216592</commentid>
    <comment_count>3</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-23 15:25:33 -0700</bug_when>
    <thetext>Fixed and landed at http://trac.webkit.org/changeset/58193.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216616</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-23 16:29:08 -0700</bug_when>
    <thetext>It occurs to me that you didn&apos;t add a test to our spiffy new generated code testing harness.  Can you please add one in a follow up bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216628</commentid>
    <comment_count>5</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-23 16:57:56 -0700</bug_when>
    <thetext>Where is it located? I will add one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216670</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-23 19:01:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Where is it located? I will add one.

I&apos;m not 100% sure.  Look for a file with the word &quot;test&quot; and idl in it&apos;s name.  I think there is a run-bindings-tests script somewhere too.  This is all very new.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54079</attachid>
            <date>2010-04-22 11:31:59 -0700</date>
            <delta_ts>2010-04-23 00:47:49 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>37998</filename>
            <type>text/plain</type>
            <size>12089</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWZhMWY2Yi4uODVlZDQxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNC0yMiAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wcm92ZSBjb2RlIGdlbmVyYXRvciBzY3JpcHRzIHRvIGhhbmRsZSBPUiAo
J3wnKSBjb25kaXRpb24gaW4gdGhlCisgICAgICAgIGV4dGVuZGVkIGF0dHJpYnV0ZXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzk5OAorCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TFN0cnVjdHVyZS5wbToKKwogMjAxMC0wNC0yMiAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDkxOWUzMjEuLjEyZTdhZDIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjkwLDYg
KzI5MCwyNyBAQCBzdWIgcHJvdG90eXBlSGFzaFRhYmxlQWNjZXNzb3IKICAgICB9CiB9CiAKK3N1
YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlCit7CisgICAgbXkg
JGNvbmRpdGlvbmFsID0gc2hpZnQ7CisgICAgaWYgKCRjb25kaXRpb25hbCA9fiAvJi8pIHsKKyAg
ICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5BQkxFKCIsIHNwbGl0KC8mLywg
JGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuICJFTkFC
TEUoIiAuIGpvaW4oIikgfHwgRU5BQkxFKCIsIHNwbGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4g
IikiOworICAgIH0KK30KKworc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcKK3sKKyAgICBt
eSAkbm9kZSA9IHNoaWZ0OworICAgIG15ICRjb25kaXRpb25hbCA9ICRub2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKKyAgICBpZiAoJGNvbmRpdGlvbmFsKSB7CisgICAg
ICAgIHJldHVybiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlKCRj
b25kaXRpb25hbCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuICIiOworICAgIH0KK30K
Kwogc3ViIEdlbmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogewogICAgIG15ICgkZGF0YU5v
ZGUsICRpbnRlcmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkaW1wbENsYXNzTmFtZSwgJGhhc0F0dHJp
YnV0ZXMsICRpbmxpbmVkKSA9IEBfOwpAQCAtNDk2LDcgKzUxNyw2IEBAIHN1YiBHZW5lcmF0ZUhl
YWRlcgogICAgIG15ICRoYXNSZWFsUGFyZW50ID0gQHskZGF0YU5vZGUtPnBhcmVudHN9ID4gMDsK
ICAgICBteSAkaGFzUGFyZW50ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsK
ICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gR2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7
Ci0gICAgbXkgJGNvbmRpdGlvbmFsID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
Q29uZGl0aW9uYWwifTsKICAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwogICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CiAgICAgCkBA
IC01MDcsMTEgKzUyNyw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIHB1c2goQGhlYWRlckNv
bnRlbnRIZWFkZXIsICJcbiNpZm5kZWYgJGNsYXNzTmFtZSIgLiAiX2giKTsKICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50SGVhZGVyLCAiXG4jZGVmaW5lICRjbGFzc05hbWUiIC4gIl9oXG5cbiIpOwog
Ci0gICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nOwotICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAg
ICAgICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUo
Iiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudEhlYWRlciwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuXG4iKTsKLSAgICB9Cisg
ICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZygkZGF0
YU5vZGUpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnRIZWFkZXIsICIjaWYgJHtjb25kaXRpb25h
bFN0cmluZ31cblxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogCiAgICAgaWYgKCRoYXNQYXJl
bnQpIHsKICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyIkcGFyZW50Q2xhc3NOYW1lLmgifSA9IDE7
CkBAIC05MDYsNyArOTIzLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIlxufSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuXG4iKTsKLSAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiI2VuZGlmIC8vICR7Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIp
IGlmICRjb25kaXRpb25hbDsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiI2VuZGlmIC8vICR7
Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiI2VuZGlmXG4iKTsKIAogICAgICMgLSBHZW5lcmF0ZSBkZXBlbmRl
bmNpZXMuCkBAIC05MjgsNyArOTQ1LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICBteSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfSA+IDA7CiAgICAgbXkg
JGhhc1BhcmVudCA9ICRoYXNMZWdhY3lQYXJlbnQgfHwgJGhhc1JlYWxQYXJlbnQ7CiAgICAgbXkg
JHBhcmVudENsYXNzTmFtZSA9IEdldFBhcmVudENsYXNzTmFtZSgkZGF0YU5vZGUpOwotICAgIG15
ICRjb25kaXRpb25hbCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlv
bmFsIn07CiAgICAgbXkgJHZpc2libGVDbGFzc05hbWUgPSBHZXRWaXNpYmxlQ2xhc3NOYW1lKCRp
bnRlcmZhY2VOYW1lKTsKICAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwogICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CkBAIC05Mzcs
MTEgKzk1Myw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgQGltcGxDb250ZW50
SGVhZGVyID0gc3BsaXQoIlxyIiwgJGhlYWRlclRlbXBsYXRlKTsKIAogICAgIHB1c2goQGltcGxD
b250ZW50SGVhZGVyLCAiXG4jaW5jbHVkZSBcImNvbmZpZy5oXCJcbiIpOwotICAgIG15ICRjb25k
aXRpb25hbFN0cmluZzsKLSAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICRjb25kaXRp
b25hbFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5BQkxFKCIsIHNwbGl0KC8mLywg
JGNvbmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCAi
XG4jaWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIik7Ci0gICAgfQorICAgIG15ICRjb25kaXRp
b25hbFN0cmluZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGRhdGFOb2RlKTsKKyAgICBw
dXNoKEBpbXBsQ29udGVudEhlYWRlciwgIlxuI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIp
IGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwgIiNp
bmNsdWRlIFwiJGNsYXNzTmFtZS5oXCJcblxuIik7CiAKICAgICBBZGRJbmNsdWRlc0ZvclNWR0Fu
aW1hdGVkVHlwZSgkaW50ZXJmYWNlTmFtZSkgaWYgJGNsYXNzTmFtZSA9fiAvXkpTU1ZHQW5pbWF0
ZWQvOwpAQCAtMTMwNSwxMSArMTMxOCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgICAgICAgICAgICAgbXkgJGdldEZ1bmN0aW9uTmFtZSA9ICJqcyIgLiAkaW50ZXJmYWNlTmFt
ZSAuICAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5h
bWUpIC4gKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLyA/ICJD
b25zdHJ1Y3RvciIgOiAiIik7CiAgICAgICAgICAgICAgICAgbXkgJGltcGxHZXR0ZXJGdW5jdGlv
bk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgkbmFtZSk7CiAKLSAgICAgICAgICAg
ICAgICBteSAkY29uZGl0aW9uYWwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9OwotICAgICAgICAgICAgICAgIGlmICgkY29uZGl0aW9u
YWwpIHsKLSAgICAgICAgICAgICAgICAgICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgi
IC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsK
LSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25h
bFN0cmluZ31cbiIpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBteSAkYXR0
cmlidXRlQ29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRy
aWJ1dGUtPnNpZ25hdHVyZSk7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIj
aWYgJHthdHRyaWJ1dGVDb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRhdHRyaWJ1dGVDb25kaXRp
b25hbFN0cmluZzsKIAogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1
ZSAke2dldEZ1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBj
b25zdCBJZGVudGlmaWVyJilcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAie1xuIik7CkBAIC0xNDE3LDkgKzE0MjcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKIAotICAgICAg
ICAgICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIjZW5kaWZcbiIpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlv
bmFsU3RyaW5nOwogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwog
ICAgICAgICAgICAgfQpAQCAtMTQ4NiwxMSArMTQ5NCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICBteSAkcHV0RnVuY3Rpb25OYW1lID0gInNl
dEpTIiAuICRpbnRlcmZhY2VOYW1lIC4gICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRuYW1l
KSAuICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8gPyAiQ29u
c3RydWN0b3IiIDogIiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGltcGxTZXR0ZXJG
dW5jdGlvbk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkbmFtZSk7CiAKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3Bs
aXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkYXR0cmli
dXRlQ29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiNpZiAke2F0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGF0dHJpYnV0ZUNv
bmRpdGlvbmFsU3RyaW5nOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgInZvaWQgJHtwdXRGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
IHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CkBAIC0xNTcxLDkgKzE1NzYsNyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOwogCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZc
biIpIGlmICRhdHRyaWJ1dGVDb25kaXRpb25hbFN0cmluZzsKIAogICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAgICAgICAgICAgICAgICAgICB9CkBA
IC0xODI3LDcgKzE4MzAsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJcbn1cbiIpOwogCi0gICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiNl
bmRpZiAvLyAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGNvbmRpdGlvbmFsOworICAgIHB1
c2goQGltcGxDb250ZW50LCAiXG4jZW5kaWYgLy8gJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlm
ICRjb25kaXRpb25hbFN0cmluZzsKIH0KIAogc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25GdW5j
dGlvbkNhbGwoKQpAQCAtMjE5MSw3ICsyMTk0LDcgQEAgdGFibGVTaXplTG9vcDoKICAgICAgICAg
ICAgICRjb25kaXRpb25hbCA9ICRjb25kaXRpb25hbHMtPnska2V5fTsKICAgICAgICAgfQogICAg
ICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJp
bmcgPSAiRU5BQkxFKCIgLiBqb2luKCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRp
b25hbCkpIC4gIikiOworICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJh
dGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpOwogICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIp
OwogICAgICAgICB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JPYmpDLnBtCmluZGV4IDNjNWZlNDUuLjJhNWU1MmEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KQEAgLTI2OSw2ICsyNjksMjEgQEAg
c3ViIFJlYWRQdWJsaWNJbnRlcmZhY2VzCiAgICAgJGludGVyZmFjZUF2YWlsYWJpbGl0eVZlcnNp
b24gPSAiV0VCS0lUX1ZFUlNJT05fTEFURVNUIiBpZiAkbmV3UHVibGljQ2xhc3M7CiB9CiAKK3N1
YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCit7CisgICAgbXkgJG5vZGUgPSBzaGlmdDsKKyAg
ICBteSAkY29uZGl0aW9uYWwgPSAkbm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlv
bmFsIn07CisgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICBpZiAoJGNvbmRpdGlvbmFs
ID1+IC8mLykgeworICAgICAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5B
QkxFKCIsIHNwbGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSB8fCBFTkFCTEUoIiwgc3Bs
aXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0KKyAgICB9IGVsc2Ugewor
ICAgICAgICByZXR1cm4gIiI7CisgICAgfQorfQorCiAjIFBhcmFtczogJ2RvbUNsYXNzJyBzdHJ1
Y3QKIHN1YiBHZW5lcmF0ZUludGVyZmFjZQogewpAQCAtMTAxNCw3ICsxMDI5LDYgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBteSAkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2Ug
PSAiV2ViQ29yZTo6IiAuICRpbXBsQ2xhc3NOYW1lOwogICAgIG15ICRiYXNlQ2xhc3MgPSBHZXRC
YXNlQ2xhc3MoJHBhcmVudEltcGxDbGFzc05hbWUpOwogICAgIG15ICRjbGFzc0hlYWRlck5hbWUg
PSBHZXRDbGFzc0hlYWRlck5hbWUoJGNsYXNzTmFtZSk7Ci0gICAgbXkgJGNvbmRpdGlvbmFsID0g
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKIAogICAgIG15
ICRudW1BdHRyaWJ1dGVzID0gQHskZGF0YU5vZGUtPmF0dHJpYnV0ZXN9OwogICAgIG15ICRudW1G
dW5jdGlvbnMgPSBAeyRkYXRhTm9kZS0+ZnVuY3Rpb25zfTsKQEAgLTEwMzIsMTEgKzEwNDYsOCBA
QCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICMgLSBJTkNMVURFUyAtCiAgICAgcHVz
aChAaW1wbENvbnRlbnRIZWFkZXIsICJcbiNpbXBvcnQgXCJjb25maWcuaFwiXG4iKTsKIAotICAg
IG15ICRjb25kaXRpb25hbFN0cmluZzsKLSAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAg
ICRjb25kaXRpb25hbFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5BQkxFKCIsIHNw
bGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50
SGVhZGVyLCAiXG4jaWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIik7Ci0gICAgfQorICAgIG15
ICRjb25kaXRpb25hbFN0cmluZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGRhdGFOb2Rl
KTsKKyAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwgIlxuI2lmICR7Y29uZGl0aW9uYWxTdHJp
bmd9XG5cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKIAogICAgIHB1c2goQGltcGxDb250ZW50
SGVhZGVyLCAiI2ltcG9ydCBcIkRPTUludGVybmFsLmhcIlxuXG4iKTsKICAgICBwdXNoKEBpbXBs
Q29udGVudEhlYWRlciwgIiNpbXBvcnQgXCIkY2xhc3NIZWFkZXJOYW1lLmhcIlxuXG4iKTsKQEAg
LTE1ODUsNyArMTU5Niw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgfQogCiAg
ICAgIyAtIEVuZCB0aGUgaWZkZWYgY29uZGl0aW9uYWwgaWYgbmVjZXNzYXJ5Ci0gICAgcHVzaChA
aW1wbENvbnRlbnQsICJcbiNlbmRpZiAvLyAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGNv
bmRpdGlvbmFsOworICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4jZW5kaWYgLy8gJHtjb25kaXRp
b25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKIAogICAgICMgLSBHZW5lcmF0
ZSBkZXBlbmRlbmNpZXMuCiAgICAgaWYgKCR3cml0ZURlcGVuZGVuY2llcyAmJiBAYW5jZXN0b3JJ
bnRlcmZhY2VOYW1lcykgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG0KaW5kZXggMWM1ZjM5OC4uZDdiMGVhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xODksNyArMTg5LDExIEBAIHN1YiBHZW5lcmF0ZUNv
bmRpdGlvbmFsU3RyaW5nCiAgICAgbXkgJG5vZGUgPSBzaGlmdDsKICAgICBteSAkY29uZGl0aW9u
YWwgPSAkbm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07CiAgICAgaWYg
KCRjb25kaXRpb25hbCkgewotICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBF
TkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAgICAgaWYgKCRj
b25kaXRpb25hbCA9fiAvJi8pIHsKKyAgICAgICAgICAgIHJldHVybiAiRU5BQkxFKCIgLiBqb2lu
KCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgfHwgRU5B
QkxFKCIsIHNwbGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAgICB9CiAgICAg
fSBlbHNlIHsKICAgICAgICAgcmV0dXJuICIiOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMU3RydWN0dXJlLnBtCmluZGV4IDYyMjRlNTQuLmUwNjAyNTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG0KKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbQpAQCAtOTYsNyArOTYsNyBAQCAkdHlwZU5hbWVz
cGFjZVNlbGVjdG9yID0gJygoPzonIC4gJGlkbElkIC4gJyo6OikqKVxzKignIC4gJGlkbERhdGFU
eXBlIC4gJyopJzsKICRleGNlcHRpb25TZWxlY3RvciA9ICdleGNlcHRpb25ccyooJyAuICRpZGxJ
ZE5zIC4gJyopXHMqKFthLXpBLVpcc3s7XSp9OyknOwogJGV4Y2VwdGlvblN1YlNlbGVjdG9yID0g
J3tccyonIC4gJHN1cHBvcnRlZFR5cGVzIC4gJ1xzKignIC4gJGlkbFR5cGUgLiAnKilccyo7XHMq
fSc7CiAKLSRpbnRlcmZhY2VTZWxlY3RvciA9ICdpbnRlcmZhY2VccyooKD86JyAuICRleHRlbmRl
ZEF0dHJpYnV0ZVN5bnRheCAuICcgKT8pKCcgLiAkaWRsSWROcyAuICcqKVxzKig/OjooXHMqW157
XSopKT97KFthLXpBLVowLTlfPVxzKCksOzpcW1xdXSopJzsKKyRpbnRlcmZhY2VTZWxlY3RvciA9
ICdpbnRlcmZhY2VccyooKD86JyAuICRleHRlbmRlZEF0dHJpYnV0ZVN5bnRheCAuICcgKT8pKCcg
LiAkaWRsSWROcyAuICcqKVxzKig/OjooXHMqW157XSopKT97KFthLXpBLVowLTlfPVxzKCksOzpc
W1xdJlx8XSopJzsKICRpbnRlcmZhY2VNZXRob2RTZWxlY3RvciA9ICdccyooKD86JyAuICRleHRl
bmRlZEF0dHJpYnV0ZVN5bnRheCAuICcgKT8pJyAuICRzdXBwb3J0ZWRUeXBlcyAuICdccyooJyAu
ICRpZGxJZE5zIC4gJyopXHMqXChccyooW2EtekEtWjAtOTpccyw9XFtcXV0qKSc7CiAkaW50ZXJm
YWNlUGFyYW1ldGVyU2VsZWN0b3IgPSAnaW5ccyooKD86JyAuICRleHRlbmRlZEF0dHJpYnV0ZVN5
bnRheCAuICcgKT8pJyAuICRzdXBwb3J0ZWRUeXBlcyAuICdccyooJyAuICRpZGxJZE5zIC4gJyop
JzsKIAo=
</data>
<flag name="review"
          id="37959"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="37960"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>