<?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>38577</bug_id>
          
          <creation_ts>2010-05-05 04:37:25 -0700</creation_ts>
          <short_desc>[GTK] Refactor GenerateProperties in CodeGenerationGObject.pm</short_desc>
          <delta_ts>2010-05-06 01:13:25 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>38576</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>221052</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-05 04:37:25 -0700</bug_when>
    <thetext>In order to add support for EventListeners. First step is to move the code that generates just one property out of the parent function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221055</commentid>
    <comment_count>1</comment_count>
      <attachid>55107</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-05 04:42:13 -0700</bug_when>
    <thetext>Created attachment 55107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221060</commentid>
    <comment_count>2</comment_count>
      <attachid>55109</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-05 04:58:13 -0700</bug_when>
    <thetext>Created attachment 55109
Small bug caught while refactoring, $custom variable was never initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221476</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-05 21:51:18 -0700</bug_when>
    <thetext>Holy bee-geez-us.  Can we maybe make that factored out method into smaller-yet factorings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221478</commentid>
    <comment_count>4</comment_count>
      <attachid>55107</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-05 21:52:12 -0700</bug_when>
    <thetext>Comment on attachment 55107
Patch

This is mostly a rubber-stamp.  We need to further sane-ify this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221479</commentid>
    <comment_count>5</comment_count>
      <attachid>55109</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-05 21:52:45 -0700</bug_when>
    <thetext>Comment on attachment 55109
Small bug caught while refactoring, $custom variable was never initialized.

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221549</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-06 01:12:07 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Holy bee-geez-us.  Can we maybe make that factored out method into smaller-yet
&gt; factorings?

It&apos;s good that you didn&apos;t see the original patch I had to work with ;)

GenerateProperty seems to me to be at almost sane levels by now, there&apos;s other parts of the script that are in worse shape. But in general, yeah, I will continue (trying) to improve this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221550</commentid>
    <comment_count>7</comment_count>
      <attachid>55107</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-06 01:12:38 -0700</bug_when>
    <thetext>Comment on attachment 55107
Patch

Landed in r58870</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221551</commentid>
    <comment_count>8</comment_count>
      <attachid>55109</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-06 01:12:56 -0700</bug_when>
    <thetext>Comment on attachment 55109
Small bug caught while refactoring, $custom variable was never initialized.

Landed in r58871.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221554</commentid>
    <comment_count>9</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-06 01:13:25 -0700</bug_when>
    <thetext>All patches landed, closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55107</attachid>
            <date>2010-05-05 04:42:13 -0700</date>
            <delta_ts>2010-05-06 01:12:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38577-20100505134211.patch</filename>
            <type>text/plain</type>
            <size>15825</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTM1ZmJkYWM1Nzk0MDhiNzgxZGQ2YWVhZmI1ZTc5M2IxNGM2NmI0ZS4uMDEzMDYxYThlNjgwODU0
YjZiOTRiNzRlN2I1MjU0NzdjZjBiMDNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNS0wNSAgWGFu
IExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gUmVmYWN0b3IgR2VuZXJhdGVQcm9wZXJ0aWVzIGlu
IENvZGVHZW5lcmF0aW9uR09iamVjdC5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Mzg1NzcKKworICAgICAgICBSZWZhY3RvciBHZW5lcmF0ZVByb3Bl
cnR5IG91dCBvZiBHZW5lcmF0ZVByb3BlcnRpZXMuIFRoaXMgaXMgaW4KKyAgICAgICAgcHJlcGFy
YXRpb24gZm9yIEV2ZW50TGlzdGVyZW4gYXR0cmlidXRlcywgd2hpY2ggd29uJ3QgZ2VuZXJhdGUK
KyAgICAgICAgbm9ybWFsIEdPYmplY3QgcHJvcGVydGllcy4KKworICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG06CisKIDIwMTAtMDUtMDUgIEpvc2VwaCBQ
ZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JHT2JqZWN0LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JH
T2JqZWN0LnBtCmluZGV4IDI2OTU5N2RlNDk3OTM3NjQ2N2VhYTM0ZjIxZWVmZDdkZTUxOTI0YjQu
LjVmZGZmYTU0YzZhYjczZjcyMDlkMWY1NWMzZTQ2OTRlZmQyYmI5MTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KQEAgLTI2LDYgKzI2
LDEwIEBAIHBhY2thZ2UgQ29kZUdlbmVyYXRvckdPYmplY3Q7CiBteSAlaW1wbEluY2x1ZGVzID0g
KCk7CiBteSAlaGRySW5jbHVkZXMgPSAoKTsKIAorbXkgQHR4dEluc3RhbGxQcm9wcyA9ICgpOwor
bXkgQHR4dFNldFByb3BzID0gKCk7CitteSBAdHh0R2V0UHJvcHMgPSAoKTsKKwogbXkgJGNsYXNz
TmFtZSA9ICIiOwogCiAjIERlZmF1bHQgY29uc3RydWN0b3IKQEAgLTI5OCw2ICszMDIsMTQ5IEBA
IHN1YiBHZXRXcml0ZWFibGVQcm9wZXJ0aWVzIHsKICAgICByZXR1cm4gQHJlc3VsdDsKIH0KIAor
c3ViIEdlbmVyYXRlUHJvcGVydHkgeworICAgIG15ICRhdHRyaWJ1dGUgPSBzaGlmdDsKKyAgICBt
eSAkaW50ZXJmYWNlTmFtZSA9IHNoaWZ0OworICAgIG15IEB3cml0ZWFibGVQcm9wZXJ0aWVzID0g
QHtzaGlmdCBAX307CisKKyAgICBteSAkY2FtZWxQcm9wTmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+bmFtZTsKKyAgICBteSAkc2V0UHJvcE5hbWVGdW5jdGlvbiA9ICRjb2RlR2VuZXJhdG9y
LT5XS191Y2ZpcnN0KCRjYW1lbFByb3BOYW1lKTsKKyAgICBteSAkZ2V0UHJvcE5hbWVGdW5jdGlv
biA9ICRjb2RlR2VuZXJhdG9yLT5XS19sY2ZpcnN0KCRjYW1lbFByb3BOYW1lKTsKKworICAgIG15
ICRwcm9wTmFtZSA9IGRlY2FtZWxpemUoJGNhbWVsUHJvcE5hbWUpOworICAgIG15ICRwcm9wTmFt
ZUNhcHMgPSB1YygkcHJvcE5hbWUpOworICAgICRwcm9wTmFtZSA9fiBzL18vLS9nOworICAgIG15
ICR7cHJvcEVudW19ID0gIlBST1BfJHtwcm9wTmFtZUNhcHN9IjsKKyAgICBwdXNoKEBjQm9keVBy
aXYsICIgICAgJHtwcm9wRW51bX0sXG4iKTsKKworICAgIG15ICRwcm9wVHlwZSA9ICRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+dHlwZTsKKyAgICBteSAke3Byb3BHVHlwZX0gPSBkZWNhbWVsaXplKCRw
cm9wVHlwZSk7CisgICAgaWYgKCRwcm9wR1R5cGUgZXEgImV2ZW50X3RhcmdldCIpIHsKKyAgICAg
ICAgJHByb3BHVHlwZSA9ICJldmVudF90YXJnZXRfbm9kZSI7CisgICAgfQorICAgIG15ICR7dWNQ
cm9wR1R5cGV9ID0gdWMoJHByb3BHVHlwZSk7CisKKyAgICBteSAkZ3R5cGUgPSBHZXRHVmFsdWVU
eXBlTmFtZSgkcHJvcFR5cGUpOworICAgIG15ICRncGFyYW1mbGFnID0gIldFQktJVF9QQVJBTV9S
RUFEQUJMRSI7CisgICAgbXkgJHdyaXRlYWJsZSA9ICRhdHRyaWJ1dGUtPnR5cGUgIX4gL15yZWFk
b25seS87CisgICAgbXkgJGNvbnN0ID0gInJlYWQtb25seSAiOworICAgIGlmICgkd3JpdGVhYmxl
ICYmICRjdXN0b20pIHsKKyAgICAgICAgJGNvbnN0ID0gInJlYWQtb25seSAoZHVlIHRvIGN1c3Rv
bSBmdW5jdGlvbnMgbmVlZGVkIGluIHdlYmtpdGRvbSkiOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIGlmICgkd3JpdGVhYmxlICYmICEkY3VzdG9tKSB7CisgICAgICAgICRncGFyYW1mbGFn
ID0gIldFQktJVF9QQVJBTV9SRUFEV1JJVEUiOworICAgICAgICAkY29uc3QgPSAicmVhZC13cml0
ZSAiOworICAgIH0KKworICAgIG15ICR0eXBlID0gR2V0R2xpYlR5cGVOYW1lKCRwcm9wVHlwZSk7
CisgICAgJG5pY2sgPSBkZWNhbWVsaXplKCIke2ludGVyZmFjZU5hbWV9XyR7cHJvcE5hbWV9Iik7
CisgICAgJGxvbmcgPSAiJHtjb25zdH0gJHt0eXBlfSAke2ludGVyZmFjZU5hbWV9LiR7cHJvcE5h
bWV9IjsKKworICAgIG15ICRjb252ZXJ0RnVuY3Rpb24gPSAiIjsKKyAgICBpZiAoJGd0eXBlIGVx
ICJzdHJpbmciKSB7CisgICAgICAgICRjb252ZXJ0RnVuY3Rpb24gPSAiV2ViQ29yZTo6U3RyaW5n
Ojpmcm9tVVRGOCI7CisgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ29udmVydEZyb21TdHJpbmcifSkgeworICAgICAgICAkY29udmVydEZ1
bmN0aW9uID0gIldlYkNvcmU6OlN0cmluZzo6bnVtYmVyIjsKKyAgICB9CisKKyAgICBteSAkc2V0
dGVyQ29udGVudEhlYWQ7CisgICAgbXkgJGdldHRlckNvbnRlbnRIZWFkOworICAgIG15ICRyZWZs
ZWN0ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVj
dCJ9OworICAgIG15ICRyZWZsZWN0VVJMID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9OworICAgIGlmICgkcmVmbGVjdCB8fCAkcmVmbGVj
dFVSTCkgeworICAgICAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAoKCRyZWZsZWN0IHx8
ICRyZWZsZWN0VVJMKSBlcSAiMSIpID8gJGNhbWVsUHJvcE5hbWUgOiAoJHJlZmxlY3QgfHwgJHJl
ZmxlY3RVUkwpOworICAgICAgICBteSAkbmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5hbWVz
cGFjZUZvckF0dHJpYnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRlTmFt
ZSk7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7bmFtZXNwYWNlfS5oIn0gPSAxOworICAgICAg
ICBteSAkZ2V0QXR0cmlidXRlRnVuY3Rpb25OYW1lID0gJHJlZmxlY3RVUkwgPyAiZ2V0VVJMQXR0
cmlidXRlIiA6ICJnZXRBdHRyaWJ1dGUiOworICAgICAgICAkc2V0dGVyQ29udGVudEhlYWQgPSAi
Y29yZVNlbGYtPnNldEF0dHJpYnV0ZShXZWJDb3JlOjoke25hbWVzcGFjZX06OiR7Y29udGVudEF0
dHJpYnV0ZU5hbWV9QXR0ciwgJHtjb252ZXJ0RnVuY3Rpb259KGdfdmFsdWVfZ2V0XyRndHlwZSh2
YWx1ZSkpIjsKKyAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxmLT4ke2dldEF0
dHJpYnV0ZUZ1bmN0aW9uTmFtZX0oV2ViQ29yZTo6JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRy
aWJ1dGVOYW1lfUF0dHIiOworICAgIH0gZWxzZSB7CisgICAgICAgICRzZXR0ZXJDb250ZW50SGVh
ZCA9ICJjb3JlU2VsZi0+c2V0JHtzZXRQcm9wTmFtZUZ1bmN0aW9ufSgke2NvbnZlcnRGdW5jdGlv
bn0oZ192YWx1ZV9nZXRfJGd0eXBlKHZhbHVlKSkiOworICAgICAgICAkZ2V0dGVyQ29udGVudEhl
YWQgPSAiY29yZVNlbGYtPiR7Z2V0UHJvcE5hbWVGdW5jdGlvbn0oIjsKKyAgICB9CisKKyAgICBp
ZiAoZ3JlcCB7JF8gZXEgJGF0dHJpYnV0ZX0gQHdyaXRlYWJsZVByb3BlcnRpZXMpIHsKKyAgICAg
ICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICBjYXNlICR7cHJvcEVudW19OlxuICAgIHtcbiIpOwor
ICAgICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29k
ZSBlYyA9IDA7XG4iKSBpZiBAeyRhdHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OworICAgICAg
ICBwdXNoKEB0eHRTZXRQcm9wcywgIiAgICAgICAgJHtzZXR0ZXJDb250ZW50SGVhZH0iKTsKKyAg
ICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIsIGVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJF
eGNlcHRpb25zfTsKKyAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIpO1xuIik7CisgICAgICAg
IHB1c2goQHR4dFNldFByb3BzLCAiICAgICAgICBicmVhaztcbiAgICB9XG4iKTsKKyAgICB9CisK
KyAgICBwdXNoKEB0eHRHZXRQcm9wcywgIiAgIGNhc2UgJHtwcm9wRW51bX06XG4gICAge1xuIik7
CisKKyAgICBteSAkZXhjZXB0aW9uID0gIiI7CisgICAgaWYgKEB7JGF0dHJpYnV0ZS0+Z2V0dGVy
RXhjZXB0aW9uc30pIHsKKyAgICAgICAgJGV4Y2VwdGlvbiA9ICJlYyI7CisgICAgICAgIHB1c2go
QHR4dEdldFByb3BzLCAiICAgICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIp
OworICAgIH0KKworICAgIG15ICRwb3N0Q29udmVydEZ1bmN0aW9uID0gIiI7CisgICAgbXkgJGRv
bmUgPSAwOworICAgIGlmICgkZ3R5cGUgZXEgInN0cmluZyIpIHsKKyAgICAgICAgcHVzaChAdHh0
R2V0UHJvcHMsICIgICAgICAgIGdfdmFsdWVfdGFrZV9zdHJpbmcodmFsdWUsIGNvbnZlcnRUb1VU
RjhTdHJpbmcoJHtnZXR0ZXJDb250ZW50SGVhZH0ke2V4Y2VwdGlvbn0pKSk7XG4iKTsKKyAgICAg
ICAgJGRvbmUgPSAxOworICAgIH0gZWxzaWYgKCRndHlwZSBlcSAib2JqZWN0IikgeworICAgICAg
ICAkdHh0R2V0UHJvcCA9IDw8ICJFT0YiOworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6JHtwcm9w
VHlwZX0+IHB0ciA9IGNvcmVTZWxmLT4ke2dldFByb3BOYW1lRnVuY3Rpb259KCR7ZXhjZXB0aW9u
fSk7CisgICAgICAgIGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgV2ViS2l0OjpraXQocHRyLmdl
dCgpKSk7CitFT0YKKyAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICR0eHRHZXRQcm9wKTsKKyAg
ICAgICAgJGRvbmUgPSAxOworICAgIH0KKworICAgIGlmKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRGcm9tU3RyaW5nIn0pIHsKKyAgICAgICAgIyBU
T0RPOiBBZGQgb3RoZXIgY29udmVyc2lvbiBmdW5jdGlvbnMgZm9yIGRpZmZlcmVudCB0eXBlcy4g
IEN1cnJlbnQKKyAgICAgICAgIyBJRExzIG9ubHkgbGlzdCBsb25ncy4KKyAgICAgICAgaWYoJGd0
eXBlIGVxICJsb25nIikgeworICAgICAgICAgICAgJGNvbnZlcnRGdW5jdGlvbiA9ICIiOworICAg
ICAgICAgICAgJHBvc3RDb252ZXJ0RnVuY3Rpb24gPSAiLnRvSW50KCkiOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgZGllICJDYW4ndCBjb252ZXJ0IHRvIHR5cGUgJHtndHlwZX0uIjsK
KyAgICAgICAgfQorICAgIH0KKworICAgICMgRklYTUU6IGdldCByaWQgb2YgdGhpcyBnbGl0Y2g/
CisgICAgbXkgJF9ndHlwZSA9ICRndHlwZTsKKyAgICBpZiAoJGd0eXBlIGVxICJ1c2hvcnQiKSB7
CisgICAgICAgICRfZ3R5cGUgPSAidWludCI7CisgICAgfQorCisgICAgaWYgKCEkZG9uZSkgewor
ICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgIiAgICAgICAgZ192YWx1ZV9zZXRfJF9ndHlwZSh2
YWx1ZSwgJHtjb252ZXJ0RnVuY3Rpb259Y29yZVNlbGYtPiR7Z2V0UHJvcE5hbWVGdW5jdGlvbn0o
JHtleGNlcHRpb259KSR7cG9zdENvbnZlcnRGdW5jdGlvbn0pO1xuIik7CisgICAgfQorCisgICAg
cHVzaChAdHh0R2V0UHJvcHMsICIgICAgICAgIGJyZWFrO1xuICAgIH1cbiIpOworCisgICAgbXkg
JXBhcmFtX3NwZWNfb3B0aW9ucyA9ICgiaW50IiwgIkdfTUlOSU5ULCAvKiBtaW4gKi9cbkdfTUFY
SU5ULCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImJvb2xlYW4iLCAiRkFMU0UsIC8qIGRlZmF1bHQgKi8iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImZsb2F0IiwgIi1HX01BWEZMT0FULCAvKiBtaW4gKi9cbkdfTUFY
RkxPQVQsIC8qIG1heCAqL1xuMC4wLCAvKiBkZWZhdWx0ICovIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJkb3VibGUiLCAiLUdfTUFYRE9VQkxFLCAvKiBtaW4gKi9cbkdfTUFYRE9V
QkxFLCAvKiBtYXggKi9cbjAuMCwgLyogZGVmYXVsdCAqLyIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidWludDY0IiwgIjAsIC8qIG1pbiAqL1xuR19NQVhVSU5UNjQsIC8qIG1pbiAq
L1xuMCwgLyogZGVmYXVsdCAqLyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9u
ZyIsICJHX01JTkxPTkcsIC8qIG1pbiAqL1xuR19NQVhMT05HLCAvKiBtYXggKi9cbjAsIC8qIGRl
ZmF1bHQgKi8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludDY0IiwgIkdfTUlO
SU5UNjQsIC8qIG1pbiAqL1xuR19NQVhJTlQ2NCwgLyogbWF4ICovXG4wLCAvKiBkZWZhdWx0ICov
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bG9uZyIsICIwLCAvKiBtaW4gKi9c
bkdfTUFYVUxPTkcsIC8qIG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidWludCIsICIwLCAvKiBtaW4gKi9cbkdfTUFYVUlOVCwgLyogbWF4
ICovXG4wLCAvKiBkZWZhdWx0ICovIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
c2hvcnQiLCAiMCwgLyogbWluICovXG5HX01BWFVJTlQxNiwgLyogbWF4ICovXG4wLCAvKiBkZWZh
dWx0ICovIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1Y2hhciIsICJHX01JTklO
VDgsIC8qIG1pbiAqL1xuR19NQVhJTlQ4LCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXIiLCAiMCwgLyogbWluICovXG5HX01B
WFVJTlQ4LCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN0cmluZyIsICJcIlwiLCAvKiBkZWZhdWx0ICovIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJvYmplY3QiLCAiV0VCS0lUX1RZUEVfRE9NXyR7dWNQcm9wR1R5
cGV9LCAvKiBnb2JqZWN0IHR5cGUgKi8iKTsKKworICAgIG15ICR0eHRJbnN0YWxsUHJvcCA9IDw8
ICJFT0YiOworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcm9wRW51bX0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfJHtfZ3R5cGV9KCIk
e3Byb3BOYW1lfSIsIC8qIG5hbWUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiRuaWNrIiwgLyogc2hvcnQgZGVzY3JpcHRpb24g
Ki8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIiRsb25nIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBz
dHVmZiBoZXJlICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRwYXJhbV9zcGVjX29wdGlvbnN7JGd0eXBlfQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2dwYXJhbWZs
YWd9KSk7CitFT0YKKyAgICBwdXNoKEB0eHRJbnN0YWxsUHJvcHMsICR0eHRJbnN0YWxsUHJvcCk7
Cit9CisKIHN1YiBHZW5lcmF0ZVByb3BlcnRpZXMgewogICAgIG15ICgkb2JqZWN0LCAkaW50ZXJm
YWNlTmFtZSwgJGRhdGFOb2RlKSA9IEBfOwogCkBAIC0zMTQsMTAgKzQ2MSw2IEBAIGVudW0gewog
RU9GCiAgICAgcHVzaChAY0JvZHlQcml2LCAkaW1wbENvbnRlbnQpOwogCi0gICAgbXkgQHR4dElu
c3RhbGxQcm9wcyA9ICgpOwotICAgIG15IEB0eHRTZXRQcm9wcyA9ICgpOwotICAgIG15IEB0eHRH
ZXRQcm9wcyA9ICgpOwotCiAgICAgbXkgQHJlYWRhYmxlUHJvcGVydGllcyA9IEdldFJlYWRhYmxl
UHJvcGVydGllcygkZGF0YU5vZGUtPmF0dHJpYnV0ZXMpOwogCiAgICAgbXkgJHByaXZGdW5jdGlv
biA9IEdldENvcmVPYmplY3QoJGludGVyZmFjZU5hbWUsICJjb3JlU2VsZiIsICJzZWxmIik7CkBA
IC0zNjEsMTQ3ICs1MDQsOCBAQCBFT0YKIEVPRgogICAgIHB1c2goQHR4dFNldFByb3BzLCAkdHh0
U2V0UHJvcHMpOwogCi0gICAgIyBJdGVyYXRlIG92ZXIgdGhlIGludGVyZmFjZSBhdHRyaWJ1dGVz
IGFuZCBnZW5lcmF0ZSBhIHByb3BlcnR5IGZvcgotICAgICMgZWFjaCBvbmUgb2YgdGhlbS4KLSAg
U0tJUEVOVU06CiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAcmVhZGFibGVQcm9wZXJ0aWVz
KSB7Ci0gICAgICAgIG15ICRjYW1lbFByb3BOYW1lID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5u
YW1lOwotICAgICAgICBteSAkc2V0UHJvcE5hbWVGdW5jdGlvbiA9ICRjb2RlR2VuZXJhdG9yLT5X
S191Y2ZpcnN0KCRjYW1lbFByb3BOYW1lKTsKLSAgICAgICAgbXkgJGdldFByb3BOYW1lRnVuY3Rp
b24gPSAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgkY2FtZWxQcm9wTmFtZSk7Ci0KLSAgICAg
ICAgbXkgJHByb3BOYW1lID0gZGVjYW1lbGl6ZSgkY2FtZWxQcm9wTmFtZSk7Ci0gICAgICAgIG15
ICRwcm9wTmFtZUNhcHMgPSB1YygkcHJvcE5hbWUpOwotICAgICAgICAkcHJvcE5hbWUgPX4gcy9f
Ly0vZzsKLSAgICAgICAgbXkgJHtwcm9wRW51bX0gPSAiUFJPUF8ke3Byb3BOYW1lQ2Fwc30iOwot
ICAgICAgICBwdXNoKEBjQm9keVByaXYsICIgICAgJHtwcm9wRW51bX0sXG4iKTsKLQotICAgICAg
ICBteSAkcHJvcFR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGU7Ci0gICAgICAgIG15
ICR7cHJvcEdUeXBlfSA9IGRlY2FtZWxpemUoJHByb3BUeXBlKTsKLSAgICAgICAgaWYgKCRwcm9w
R1R5cGUgZXEgImV2ZW50X3RhcmdldCIpIHsKLSAgICAgICAgICAgICRwcm9wR1R5cGUgPSAiZXZl
bnRfdGFyZ2V0X25vZGUiOwotICAgICAgICB9Ci0gICAgICAgIG15ICR7dWNQcm9wR1R5cGV9ID0g
dWMoJHByb3BHVHlwZSk7Ci0KLSAgICAgICAgbXkgJGd0eXBlID0gR2V0R1ZhbHVlVHlwZU5hbWUo
JHByb3BUeXBlKTsKLSAgICAgICAgbXkgJGdwYXJhbWZsYWcgPSAiV0VCS0lUX1BBUkFNX1JFQURB
QkxFIjsKLSAgICAgICAgbXkgJHdyaXRlYWJsZSA9ICRhdHRyaWJ1dGUtPnR5cGUgIX4gL15yZWFk
b25seS87Ci0gICAgICAgIG15ICRjb25zdCA9ICJyZWFkLW9ubHkgIjsKLSAgICAgICAgaWYgKCR3
cml0ZWFibGUgJiYgJGN1c3RvbSkgewotICAgICAgICAgICAgJGNvbnN0ID0gInJlYWQtb25seSAo
ZHVlIHRvIGN1c3RvbSBmdW5jdGlvbnMgbmVlZGVkIGluIHdlYmtpdGRvbSkiOwotICAgICAgICAg
ICAgbmV4dCBTS0lQRU5VTTsKLSAgICAgICAgfQotICAgICAgICBpZiAoJHdyaXRlYWJsZSAmJiAh
JGN1c3RvbSkgewotICAgICAgICAgICAgJGdwYXJhbWZsYWcgPSAiV0VCS0lUX1BBUkFNX1JFQURX
UklURSI7Ci0gICAgICAgICAgICAkY29uc3QgPSAicmVhZC13cml0ZSAiOwotICAgICAgICB9Ci0K
LSAgICAgICAgbXkgJHR5cGUgPSBHZXRHbGliVHlwZU5hbWUoJHByb3BUeXBlKTsKLSAgICAgICAg
JG5pY2sgPSBkZWNhbWVsaXplKCIke2ludGVyZmFjZU5hbWV9XyR7cHJvcE5hbWV9Iik7Ci0gICAg
ICAgICRsb25nID0gIiR7Y29uc3R9ICR7dHlwZX0gJHtpbnRlcmZhY2VOYW1lfS4ke3Byb3BOYW1l
fSI7Ci0KLSAgICAgICAgbXkgJGNvbnZlcnRGdW5jdGlvbiA9ICIiOwotICAgICAgICBpZiAoJGd0
eXBlIGVxICJzdHJpbmciKSB7Ci0gICAgICAgICAgICAkY29udmVydEZ1bmN0aW9uID0gIldlYkNv
cmU6OlN0cmluZzo6ZnJvbVVURjgiOwotICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0RnJvbVN0cmluZyJ9KSB7Ci0gICAg
ICAgICAgICAkY29udmVydEZ1bmN0aW9uID0gIldlYkNvcmU6OlN0cmluZzo6bnVtYmVyIjsKLSAg
ICAgICAgfQotCi0gICAgICAgIG15ICRzZXR0ZXJDb250ZW50SGVhZDsKLSAgICAgICAgbXkgJGdl
dHRlckNvbnRlbnRIZWFkOwotICAgICAgICBteSAkcmVmbGVjdCA9ICRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifTsKLSAgICAgICAgbXkgJHJlZmxl
Y3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZs
ZWN0VVJMIn07Ci0gICAgICAgIGlmICgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCkgewotICAgICAg
ICAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lID0gKCgkcmVmbGVjdCB8fCAkcmVmbGVjdFVS
TCkgZXEgIjEiKSA/ICRjYW1lbFByb3BOYW1lIDogKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKTsK
LSAgICAgICAgICAgIG15ICRuYW1lc3BhY2UgPSAkY29kZUdlbmVyYXRvci0+TmFtZXNwYWNlRm9y
QXR0cmlidXRlTmFtZSgkaW50ZXJmYWNlTmFtZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsKLSAg
ICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7bmFtZXNwYWNlfS5oIn0gPSAxOwotICAgICAgICAg
ICAgbXkgJGdldEF0dHJpYnV0ZUZ1bmN0aW9uTmFtZSA9ICRyZWZsZWN0VVJMID8gImdldFVSTEF0
dHJpYnV0ZSIgOiAiZ2V0QXR0cmlidXRlIjsKLSAgICAgICAgICAgICRzZXR0ZXJDb250ZW50SGVh
ZCA9ICJjb3JlU2VsZi0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OiR7bmFtZXNwYWNlfTo6JHtjb250
ZW50QXR0cmlidXRlTmFtZX1BdHRyLCAke2NvbnZlcnRGdW5jdGlvbn0oZ192YWx1ZV9nZXRfJGd0
eXBlKHZhbHVlKSkiOwotICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxm
LT4ke2dldEF0dHJpYnV0ZUZ1bmN0aW9uTmFtZX0oV2ViQ29yZTo6JHtuYW1lc3BhY2V9Ojoke2Nv
bnRlbnRBdHRyaWJ1dGVOYW1lfUF0dHIiOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
JHNldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxmLT5zZXQke3NldFByb3BOYW1lRnVuY3Rpb259
KCR7Y29udmVydEZ1bmN0aW9ufShnX3ZhbHVlX2dldF8kZ3R5cGUodmFsdWUpKSI7Ci0gICAgICAg
ICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiY29yZVNlbGYtPiR7Z2V0UHJvcE5hbWVGdW5jdGlv
bn0oIjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChncmVwIHskXyBlcSAkYXR0cmlidXRlfSBA
d3JpdGVhYmxlUHJvcGVydGllcykgewotICAgICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIg
ICBjYXNlICR7cHJvcEVudW19OlxuICAgIHtcbiIpOwotICAgICAgICAgICAgcHVzaChAdHh0U2V0
UHJvcHMsICIgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIikgaWYgQHsk
YXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKLSAgICAgICAgICAgIHB1c2goQHR4dFNldFBy
b3BzLCAiICAgICAgICAke3NldHRlckNvbnRlbnRIZWFkfSIpOwotICAgICAgICAgICAgcHVzaChA
dHh0U2V0UHJvcHMsICIsIGVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsK
LSAgICAgICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAiKTtcbiIpOwotICAgICAgICAgICAgcHVz
aChAdHh0U2V0UHJvcHMsICIgICAgICAgIGJyZWFrO1xuICAgIH1cbiIpOwotICAgICAgICB9Ci0K
LSAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICBjYXNlICR7cHJvcEVudW19OlxuICAgIHtc
biIpOwotCi0gICAgICAgIG15ICRleGNlcHRpb24gPSAiIjsKLSAgICAgICAgaWYgKEB7JGF0dHJp
YnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc30pIHsKLSAgICAgICAgICAgICRleGNlcHRpb24gPSAiZWMi
OwotICAgICAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAgICAgIFdlYkNvcmU6OkV4Y2Vw
dGlvbkNvZGUgZWMgPSAwO1xuIik7Ci0gICAgICAgIH0KLQotICAgICAgICBteSAkcG9zdENvbnZl
cnRGdW5jdGlvbiA9ICIiOwotICAgICAgICBteSAkZG9uZSA9IDA7Ci0gICAgICAgIGlmICgkZ3R5
cGUgZXEgInN0cmluZyIpIHsKLSAgICAgICAgICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAg
ICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5nKCR7Z2V0dGVy
Q29udGVudEhlYWR9JHtleGNlcHRpb259KSkpO1xuIik7Ci0gICAgICAgICAgICAkZG9uZSA9IDE7
Ci0gICAgICAgIH0gZWxzaWYgKCRndHlwZSBlcSAib2JqZWN0IikgewotICAgICAgICAgICAgJHR4
dEdldFByb3AgPSA8PCAiRU9GIjsKLSAgICAgICAgUmVmUHRyPFdlYkNvcmU6OiR7cHJvcFR5cGV9
PiBwdHIgPSBjb3JlU2VsZi0+JHtnZXRQcm9wTmFtZUZ1bmN0aW9ufSgke2V4Y2VwdGlvbn0pOwot
ICAgICAgICBnX3ZhbHVlX3NldF9vYmplY3QodmFsdWUsIFdlYktpdDo6a2l0KHB0ci5nZXQoKSkp
OwotRU9GCi0gICAgICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgJHR4dEdldFByb3ApOwotICAg
ICAgICAgICAgJGRvbmUgPSAxOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYoJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydEZyb21TdHJpbmcifSkgewot
ICAgICAgICAgICAgIyBUT0RPOiBBZGQgb3RoZXIgY29udmVyc2lvbiBmdW5jdGlvbnMgZm9yIGRp
ZmZlcmVudCB0eXBlcy4gIEN1cnJlbnQKLSAgICAgICAgICAgICMgSURMcyBvbmx5IGxpc3QgbG9u
Z3MuCi0gICAgICAgICAgICBpZigkZ3R5cGUgZXEgImxvbmciKSB7Ci0gICAgICAgICAgICAgICAg
JGNvbnZlcnRGdW5jdGlvbiA9ICIiOwotICAgICAgICAgICAgICAgICRwb3N0Q29udmVydEZ1bmN0
aW9uID0gIi50b0ludCgpIjsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ZGllICJDYW4ndCBjb252ZXJ0IHRvIHR5cGUgJHtndHlwZX0uIjsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotCi0gICAgICAgICMgRklYTUU6IGdldCByaWQgb2YgdGhpcyBnbGl0Y2g/Ci0gICAg
ICAgIG15ICRfZ3R5cGUgPSAkZ3R5cGU7Ci0gICAgICAgIGlmICgkZ3R5cGUgZXEgInVzaG9ydCIp
IHsKLSAgICAgICAgICAgICRfZ3R5cGUgPSAidWludCI7Ci0gICAgICAgIH0KLQotICAgICAgICBp
ZiAoISRkb25lKSB7Ci0gICAgICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgIiAgICAgICAgZ192
YWx1ZV9zZXRfJF9ndHlwZSh2YWx1ZSwgJHtjb252ZXJ0RnVuY3Rpb259Y29yZVNlbGYtPiR7Z2V0
UHJvcE5hbWVGdW5jdGlvbn0oJHtleGNlcHRpb259KSR7cG9zdENvbnZlcnRGdW5jdGlvbn0pO1xu
Iik7Ci0gICAgICAgIH0KLQotICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgIiAgICAgICAgYnJl
YWs7XG4gICAgfVxuIik7Ci0KLW15ICVwYXJhbV9zcGVjX29wdGlvbnMgPSAoImludCIsICJHX01J
TklOVCwgLyogbWluICovXG5HX01BWElOVCwgLyogbWF4ICovXG4wLCAvKiBkZWZhdWx0ICovIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb2xlYW4iLCAiRkFMU0UsIC8qIGRlZmF1bHQg
Ki8iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxvYXQiLCAiLUdfTUFYRkxPQVQsIC8q
IG1pbiAqL1xuR19NQVhGTE9BVCwgLyogbWF4ICovXG4wLjAsIC8qIGRlZmF1bHQgKi8iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZG91YmxlIiwgIi1HX01BWERPVUJMRSwgLyogbWluICov
XG5HX01BWERPVUJMRSwgLyogbWF4ICovXG4wLjAsIC8qIGRlZmF1bHQgKi8iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAidWludDY0IiwgIjAsIC8qIG1pbiAqL1xuR19NQVhVSU5UNjQsIC8q
IG1pbiAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJs
b25nIiwgIkdfTUlOTE9ORywgLyogbWluICovXG5HX01BWExPTkcsIC8qIG1heCAqL1xuMCwgLyog
ZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJpbnQ2NCIsICJHX01JTklO
VDY0LCAvKiBtaW4gKi9cbkdfTUFYSU5UNjQsIC8qIG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICJ1bG9uZyIsICIwLCAvKiBtaW4gKi9cbkdfTUFY
VUxPTkcsIC8qIG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICJ1aW50IiwgIjAsIC8qIG1pbiAqL1xuR19NQVhVSU5ULCAvKiBtYXggKi9cbjAsIC8q
IGRlZmF1bHQgKi8iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAidXNob3J0IiwgIjAsIC8q
IG1pbiAqL1xuR19NQVhVSU5UMTYsIC8qIG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1Y2hhciIsICJHX01JTklOVDgsIC8qIG1pbiAqL1xuR19N
QVhJTlQ4LCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAiY2hhciIsICIwLCAvKiBtaW4gKi9cbkdfTUFYVUlOVDgsIC8qIG1heCAqL1xuMCwg
LyogZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmciLCAiXCJc
IiwgLyogZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QiLCAi
V0VCS0lUX1RZUEVfRE9NXyR7dWNQcm9wR1R5cGV9LCAvKiBnb2JqZWN0IHR5cGUgKi8iKTsKLQot
ICAgICAgICBteSAkdHh0SW5zdGFsbFByb3AgPSA8PCAiRU9GIjsKLSAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICR7cHJvcEVudW19LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ19wYXJhbV9zcGVjXyR7X2d0eXBlfSgiJHtwcm9wTmFtZX0iLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIkbmljayIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkbG9uZyIsIC8qIGxvbmdlciAt
IGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1fc3Bl
Y19vcHRpb25zeyRndHlwZX0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJHtncGFyYW1mbGFnfSkpOwotRU9GCi0gICAgICAgIHB1c2go
QHR4dEluc3RhbGxQcm9wcywgJHR4dEluc3RhbGxQcm9wKTsKLSAgICAgICAgJHR4dEluc3RhbGxQ
cm9wID0gIi8qIFRPRE8hICRndHlwZSAqL1xuIjsKKyAgICAgICAgR2VuZXJhdGVQcm9wZXJ0eSgk
YXR0cmlidXRlLCAkaW50ZXJmYWNlTmFtZSwgXEB3cml0ZWFibGVQcm9wZXJ0aWVzKTsKICAgICB9
CiAKICAgICBwdXNoKEBjQm9keVByaXYsICJ9O1xuXG4iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55109</attachid>
            <date>2010-05-05 04:58:13 -0700</date>
            <delta_ts>2010-05-06 01:12:56 -0700</delta_ts>
            <desc>Small bug caught while refactoring, $custom variable was never initialized.</desc>
            <filename>bug-38577-20100505135810.patch</filename>
            <type>text/plain</type>
            <size>3801</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDEzMDYxYThlNjgwODU0YjZiOTRiNzRlN2I1MjU0NzdjZjBiMDNkZC4uMDNjOWY5YzNhYjgwODYz
NTMxMjZmZDU4MjAyMGFmYmE2NDBmZTIxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTUsNiArNSwyMiBAQAogICAgICAgICBbR1RLXSBS
ZWZhY3RvciBHZW5lcmF0ZVByb3BlcnRpZXMgaW4gQ29kZUdlbmVyYXRpb25HT2JqZWN0LnBtCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODU3NwogCisg
ICAgICAgIFRoaW5rbyBjYXVnaHQgd2hpbGUgcmVmYWN0b3JpbmcsICRjdXN0b20gdmFyaWFibGUg
d2FzIG5vdAorICAgICAgICBpbml0aWFsaXplZC4KKworICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHA6CisgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9w
cm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NsYXNzX2luaXQpOgorCisy
MDEwLTA1LTA1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBSZWZhY3RvciBHZW5lcmF0
ZVByb3BlcnRpZXMgaW4gQ29kZUdlbmVyYXRpb25HT2JqZWN0LnBtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODU3NworCiAgICAgICAgIFJlZmFjdG9y
IEdlbmVyYXRlUHJvcGVydHkgb3V0IG9mIEdlbmVyYXRlUHJvcGVydGllcy4gVGhpcyBpcyBpbgog
ICAgICAgICBwcmVwYXJhdGlvbiBmb3IgRXZlbnRMaXN0ZXJlbiBhdHRyaWJ1dGVzLCB3aGljaCB3
b24ndCBnZW5lcmF0ZQogICAgICAgICBub3JtYWwgR09iamVjdCBwcm9wZXJ0aWVzLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IDVm
ZGZmYTU0YzZhYjczZjcyMDlkMWY1NWMzZTQ2OTRlZmQyYmI5MTMuLjFkMDNmMDgwY2JjMzRmZjll
MzQ5YzkyMTc0ZDk3ZWEzYmQ2MTlmNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KQEAgLTMyOCw2ICszMjgsNyBAQCBzdWIgR2VuZXJh
dGVQcm9wZXJ0eSB7CiAgICAgbXkgJGdwYXJhbWZsYWcgPSAiV0VCS0lUX1BBUkFNX1JFQURBQkxF
IjsKICAgICBteSAkd3JpdGVhYmxlID0gJGF0dHJpYnV0ZS0+dHlwZSAhfiAvXnJlYWRvbmx5LzsK
ICAgICBteSAkY29uc3QgPSAicmVhZC1vbmx5ICI7CisgICAgbXkgJGN1c3RvbSA9ICRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbSJ9OwogICAgIGlmICgk
d3JpdGVhYmxlICYmICRjdXN0b20pIHsKICAgICAgICAgJGNvbnN0ID0gInJlYWQtb25seSAoZHVl
IHRvIGN1c3RvbSBmdW5jdGlvbnMgbmVlZGVkIGluIHdlYmtpdGRvbSkiOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCBkMDUzNWM2YjhlNmViZWNlYjY0NzhjZGM5MmI1
YTI2YjQ5ZmEwZWNiLi45MmJjNWJmZTBiNzgyYTA4YjgzZmU0ZGI1MDE2ODkwMDk3NTFlOGNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RPYmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTU3MSwxMSArNTcxLDYgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X2RvbV90ZXN0X29ial9zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9w
X2lkLCBjb24KICAgICAgICAgIGNvcmVTZWxmLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbigo
Z192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkpICk7CiAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAg
Y2FzZSBQUk9QX0NVU1RPTV9BVFRSOgotICAgIHsKLSAgICAgICAgIGNvcmVTZWxmLT5zZXRDdXN0
b21BdHRyKChnX3ZhbHVlX2dldF9sb25nKHZhbHVlKSkgKTsKLSAgICAgICAgIGJyZWFrOwotICAg
IH0KICAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZ
X0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTY0NSwxMSAr
NjQwLDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcHJvcGVydHkoR09i
amVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmEKICAgICAgICAgIGdfdmFsdWVfc2V0X2xv
bmcodmFsdWUsIGNvcmVTZWxmLT5hdHRyV2l0aEdldHRlckV4Y2VwdGlvbigpKTsKICAgICAgICAg
IGJyZWFrOwogICAgIH0KLSAgICBjYXNlIFBST1BfQ1VTVE9NX0FUVFI6Ci0gICAgewotICAgICAg
ICAgZ192YWx1ZV9zZXRfbG9uZyh2YWx1ZSwgY29yZVNlbGYtPmN1c3RvbUF0dHIoKSk7Ci0gICAg
ICAgICBicmVhazsKLSAgICB9CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5f
SU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgICAgYnJl
YWs7CkBAIC03NTUsMTUgKzc0NSw2IEBAIEdfTUFYTE9ORywgLyogbWF4ICovCiBHX01BWExPTkcs
IC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7
Ci0gICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9DVVNUT01fQVRUUiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKCJjdXN0b20t
YXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX2N1c3RvbS1hdHRyIiwgLyogc2hvcnQgZGVz
Y3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdsb25nIFRlc3RPYmouY3VzdG9tLWF0dHIiLCAv
KiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKIAogCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>