<?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>93616</bug_id>
          
          <creation_ts>2012-08-09 08:57:56 -0700</creation_ts>
          <short_desc>Moving the common code from CodegeneratorJS/V8.pm to Codegenerator.pm</short_desc>
          <delta_ts>2012-08-10 01:46:57 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vineet Chaudhary (vineetc)">code.vineet</reporter>
          <assigned_to name="Vineet Chaudhary (vineetc)">code.vineet</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>691462</commentid>
    <comment_count>0</comment_count>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-08-09 08:57:56 -0700</bug_when>
    <thetext>IsArrayType() IsConstructorTemplate() IsTypedArrayType() these methods has the common implementaion for both V8 and JS and can be moved to
common place Codegenerator.pm.
This will also help to have checks in CodegeneratorCPP/ObjC/GObject.pm.
Ref. Bug93613</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691465</commentid>
    <comment_count>1</comment_count>
      <attachid>157461</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-08-09 08:59:15 -0700</bug_when>
    <thetext>Created attachment 157461
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691598</commentid>
    <comment_count>2</comment_count>
      <attachid>157461</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-09 10:58:05 -0700</bug_when>
    <thetext>Comment on attachment 157461
patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692246</commentid>
    <comment_count>3</comment_count>
      <attachid>157461</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-08-09 23:31:15 -0700</bug_when>
    <thetext>Comment on attachment 157461
patch

Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692349</commentid>
    <comment_count>4</comment_count>
      <attachid>157461</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 01:46:53 -0700</bug_when>
    <thetext>Comment on attachment 157461
patch

Clearing flags on attachment: 157461

Committed r125261: &lt;http://trac.webkit.org/changeset/125261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692350</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 01:46:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157461</attachid>
            <date>2012-08-09 08:59:15 -0700</date>
            <delta_ts>2012-08-10 01:46:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>common_code_001.diff</filename>
            <type>text/plain</type>
            <size>15966</size>
            <attacher name="Vineet Chaudhary (vineetc)">code.vineet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTE2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA4LTA5ICBWaW5lZXQg
Q2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBNb3ZpbmcgdGhlIGNv
bW1vbiBjb2RlIGZyb20gQ29kZWdlbmVyYXRvckpTL1Y4LnBtIHRvIENvZGVnZW5lcmF0b3IucG0K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNjE2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXNBcnJheVR5
cGUoKSBJc0NvbnN0cnVjdG9yVGVtcGxhdGUoKSBJc1R5cGVkQXJyYXlUeXBlKCkgdGhlc2UgbWV0
aG9kcworICAgICAgICBoYXMgdGhlIGNvbW1vbiBpbXBsZW1lbnRhaW9uIGZvciBib3RoIFY4IGFu
ZCBKUyBhbmQgY2FuIGJlIG1vdmVkIHRvCisgICAgICAgIGNvbW1vbiBwbGFjZSBDb2RlZ2VuZXJh
dG9yLnBtCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGVyZSBzaG91bGQgYmUgbm8gYmVoYXZp
b3VyYWwgY2hhbmdlcy4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbTogTW92ZWQgY29tbW9uIGNvZGUgaGVyZS4KKyAgICAgICAgKElzQXJyYXlUeXBlKToKKyAg
ICAgICAgKElzQ29uc3RydWN0b3JUZW1wbGF0ZSk6CisgICAgICAgIChJc1NWR1R5cGVXaXRoV3Jp
dGFibGVQcm9wZXJ0aWVzTmVlZGluZ1RlYXJPZmYpOgorICAgICAgICAoSXNUeXBlZEFycmF5VHlw
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAg
ICAgIChBZGRJbmNsdWRlc0ZvclR5cGUpOgorICAgICAgICAoQWRkQ2xhc3NGb3J3YXJkSWZOZWVk
ZWQpOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0
ZXJzQ2hlY2tFeHByZXNzaW9uKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgor
ICAgICAgICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JE
ZWNsYXJhdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6Cisg
ICAgICAgIChJc0NvbnN0cnVjdGFibGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoQWRkSW5jbHVkZXNGb3JUeXBlKToKKyAgICAgICAg
KEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdldEhlYWRlckNsYXNzSW5jbHVkZSk6CisgICAg
ICAgIChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24pOgorICAgICAgICAoR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgIChHZXRUeXBlTmFtZU9mRXh0ZXJuYWxUeXBlZEFy
cmF5KToKKwogMjAxMi0wOC0wOSAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4K
IAogICAgICAgICBQYWdlIHBvcHVwcyBjYW4gc2hvdyB1cCBhdCB3cm9uZyBsb2NhdGlvbnMKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3Iu
cG0JKHJldmlzaW9uIDEyNTE0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQkod29ya2luZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCwyMyBAQCBzdWIg
U2tpcEluY2x1ZGVIZWFkZXIKICAgICByZXR1cm4gMDsKIH0KIAorc3ViIElzQXJyYXlUeXBlCit7
CisgICAgbXkgJG9iamVjdCA9IHNoaWZ0OworICAgIG15ICR0eXBlID0gc2hpZnQ7CisgICAgIyBG
SVhNRTogQWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+LgorICAg
IHJldHVybiAkdHlwZSA9fiBtL1xbXF0kLzsKK30KKworc3ViIElzQ29uc3RydWN0b3JUZW1wbGF0
ZQoreworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsK
KyAgICBteSAkdGVtcGxhdGUgPSBzaGlmdDsKKworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3RvclRlbXBsYXRlIn0gJiYgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9IGVxICR0ZW1wbGF0ZTsKK30K
Kwogc3ViIElzTnVtZXJpY1R5cGUKIHsKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CkBAIC00MDks
NiArNDI2LDE3IEBAIHN1YiBJc1NWR1R5cGVXaXRoV3JpdGFibGVQcm9wZXJ0aWVzTmVlZGkKICAg
ICByZXR1cm4gMDsKIH0KIAorc3ViIElzVHlwZWRBcnJheVR5cGUKK3sKKyAgICBteSAkb2JqZWN0
ID0gc2hpZnQ7CisgICAgbXkgJHR5cGUgPSBzaGlmdDsKKyAgICByZXR1cm4gMSBpZiAoKCR0eXBl
IGVxICJBcnJheUJ1ZmZlciIpIG9yICgkdHlwZSBlcSAiQXJyYXlCdWZmZXJWaWV3IikpOworICAg
IHJldHVybiAxIGlmICgoJHR5cGUgZXEgIlVpbnQ4QXJyYXkiKSBvciAoJHR5cGUgZXEgIlVpbnQ4
Q2xhbXBlZEFycmF5Iikgb3IgKCR0eXBlIGVxICJVaW50MTZBcnJheSIpIG9yICgkdHlwZSBlcSAi
VWludDMyQXJyYXkiKSk7CisgICAgcmV0dXJuIDEgaWYgKCgkdHlwZSBlcSAiSW50OEFycmF5Iikg
b3IgKCR0eXBlIGVxICJJbnQxNkFycmF5Iikgb3IgKCR0eXBlIGVxICJJbnQzMkFycmF5IikpOwor
ICAgIHJldHVybiAxIGlmICgoJHR5cGUgZXEgIkZsb2F0MzJBcnJheSIpIG9yICgkdHlwZSBlcSAi
RmxvYXQ2NEFycmF5IikpOworICAgIHJldHVybiAwOworfQorCiBzdWIgR2V0U1ZHVHlwZU5lZWRp
bmdUZWFyT2ZmCiB7CiAgICAgbXkgJG9iamVjdCA9IHNoaWZ0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9u
IDEyNTE0OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNyArMjY0LDcgQEAgc3ViIEFkZEluY2x1ZGVz
Rm9yVHlwZQogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
fSA9IDE7CiAgICAgfSBlbHNpZiAoJGlzQ2FsbGJhY2spIHsKICAgICAgICAgJGluY2x1ZGVzUmVm
LT57IkpTJHt0eXBlfS5oIn0gPSAxOwotICAgIH0gZWxzaWYgKElzVHlwZWRBcnJheVR5cGUoJHR5
cGUpKSB7CisgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUoJHR5
cGUpKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyI8d3RmLyR7dHlwZX0uaD4ifSA9IDE7CiAg
ICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPkdldFNlcXVlbmNlVHlwZSgkdHlwZSkpIHsKICAg
ICB9IGVsc2UgewpAQCAtMzE1LDE2ICszMTUsNiBAQCBzdWIgSXNTY3JpcHRQcm9maWxlVHlwZQog
ICAgIHJldHVybiAwOwogfQogCi1zdWIgSXNUeXBlZEFycmF5VHlwZQotewotICAgIG15ICR0eXBl
ID0gc2hpZnQ7Ci0gICAgcmV0dXJuIDEgaWYgKCgkdHlwZSBlcSAiQXJyYXlCdWZmZXIiKSBvciAo
JHR5cGUgZXEgIkFycmF5QnVmZmVyVmlldyIpKTsKLSAgICByZXR1cm4gMSBpZiAoKCR0eXBlIGVx
ICJVaW50OEFycmF5Iikgb3IgKCR0eXBlIGVxICJVaW50OENsYW1wZWRBcnJheSIpIG9yICgkdHlw
ZSBlcSAiVWludDE2QXJyYXkiKSBvciAoJHR5cGUgZXEgIlVpbnQzMkFycmF5IikpOwotICAgIHJl
dHVybiAxIGlmICgoJHR5cGUgZXEgIkludDhBcnJheSIpIG9yICgkdHlwZSBlcSAiSW50MTZBcnJh
eSIpIG9yICgkdHlwZSBlcSAiSW50MzJBcnJheSIpKTsKLSAgICByZXR1cm4gMSBpZiAoKCR0eXBl
IGVxICJGbG9hdDMyQXJyYXkiKSBvciAoJHR5cGUgZXEgIkZsb2F0NjRBcnJheSIpKTsKLSAgICBy
ZXR1cm4gMDsKLX0KLQogc3ViIEFkZFR5cGVkZWZGb3JTY3JpcHRQcm9maWxlVHlwZQogewogICAg
IG15ICR0eXBlID0gc2hpZnQ7CkBAIC0zMzgsNyArMzI4LDcgQEAgc3ViIEFkZENsYXNzRm9yd2Fy
ZElmTmVlZGVkCiAgICAgbXkgJGltcGxDbGFzc05hbWUgPSBzaGlmdDsKIAogICAgICMgU1ZHQW5p
bWF0ZWRMZW5ndGgvTnVtYmVyL2V0Yy4gYXJlIHR5cGVkZWZzIHRvIFNWR0FuaW1hdGVkVGVtcGxh
dGUsIHNvIGRvbid0IHVzZSBjbGFzcyBmb3J3YXJkcyBmb3IgdGhlbSEKLSAgICB1bmxlc3MgKCRj
b2RlR2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkaW1wbENsYXNzTmFtZSkgb3IgSXNTY3Jp
cHRQcm9maWxlVHlwZSgkaW1wbENsYXNzTmFtZSkgb3IgSXNUeXBlZEFycmF5VHlwZSgkaW1wbENs
YXNzTmFtZSkpIHsKKyAgICB1bmxlc3MgKCRjb2RlR2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlw
ZSgkaW1wbENsYXNzTmFtZSkgb3IgSXNTY3JpcHRQcm9maWxlVHlwZSgkaW1wbENsYXNzTmFtZSkg
b3IgJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUoJGltcGxDbGFzc05hbWUpKSB7CiAg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAkaW1wbENsYXNzTmFtZTtcblxuIik7
CiAgICAgIyBTY3JpcHRQcm9maWxlIGFuZCBTY3JpcHRQcm9maWxlTm9kZSBhcmUgdHlwZWRlZnMg
dG8gSlNDOjpQcm9maWxlIGFuZCBKU0M6OlByb2ZpbGVOb2RlLgogICAgIH0gZWxzaWYgKElzU2Ny
aXB0UHJvZmlsZVR5cGUoJGltcGxDbGFzc05hbWUpKSB7CkBAIC03MDIsNyArNjkyLDcgQEAgc3Vi
IEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgaWYgKCRoYXNQYXJlbnQgJiYgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0In0pIHsKLSAg
ICAgICAgaWYgKElzVHlwZWRBcnJheVR5cGUoJGltcGxDbGFzc05hbWUpKSB7CisgICAgICAgIGlm
ICgkY29kZUdlbmVyYXRvci0+SXNUeXBlZEFycmF5VHlwZSgkaW1wbENsYXNzTmFtZSkpIHsKICAg
ICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siPHd0Zi8kaW1wbENsYXNzTmFtZS5oPiJ9ID0gMTsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siJGltcGxDbGFz
c05hbWUuaCJ9ID0gMTsKQEAgLTczNiw3ICs3MjYsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICB9CiAKICAgICBBZGRDbGFzc0ZvcndhcmRJZk5lZWRlZCgiSlNET01XaW5kb3dTaGVsbCIpIGlm
ICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciOwotICAgIEFkZENsYXNzRm9yd2FyZElmTmVl
ZGVkKCJKU0RpY3Rpb25hcnkiKSBpZiBJc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRhdGFOb2RlLCAi
RXZlbnQiKTsKKyAgICBBZGRDbGFzc0ZvcndhcmRJZk5lZWRlZCgiSlNEaWN0aW9uYXJ5IikgaWYg
JGNvZGVHZW5lcmF0b3ItPklzQ29uc3RydWN0b3JUZW1wbGF0ZSgkZGF0YU5vZGUsICJFdmVudCIp
OwogCiAgICAgIyBDbGFzcyBkZWNsYXJhdGlvbgogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJj
bGFzcyAkY2xhc3NOYW1lIDogcHVibGljICRwYXJlbnRDbGFzc05hbWUge1xuIik7CkBAIC05NDYs
NyArOTM2LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIgICAgfVxuIik7CiAgICAgfQogCi0gICAgaWYgKElzVHlwZWRBcnJheVR5cGUoJGltcGxU
eXBlKSBhbmQgKCRpbXBsVHlwZSBuZSAiQXJyYXlCdWZmZXJWaWV3IikgYW5kICgkaW1wbFR5cGUg
bmUgIkFycmF5QnVmZmVyIikpIHsKKyAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJh
eVR5cGUoJGltcGxUeXBlKSBhbmQgKCRpbXBsVHlwZSBuZSAiQXJyYXlCdWZmZXJWaWV3IikgYW5k
ICgkaW1wbFR5cGUgbmUgIkFycmF5QnVmZmVyIikpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIiAgICBzdGF0aWMgY29uc3QgSlNDOjpUeXBlZEFycmF5VHlwZSBUeXBlZEFycmF5U3Rv
cmFnZVR5cGUgPSBKU0M6OiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiVHlwZWRB
cnJheUludDgiKSBpZiAkaW1wbFR5cGUgZXEgIkludDhBcnJheSI7CiAgICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICJUeXBlZEFycmF5SW50MTYiKSBpZiAkaW1wbFR5cGUgZXEgIkludDE2QXJy
YXkiOwpAQCAtMTI3MSw3ICsxMjYxLDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhw
cmVzc2lvbgogICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9ubHkgY2hlY2tzIGlmIHRoZSB2
YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24s
ICIoJHt2YWx1ZX0uaXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNGdW5jdGlvbigpKSIpOwogICAgICAg
ICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7Ci0gICAgICAgIH0gZWxz
aWYgKElzQXJyYXlUeXBlKCR0eXBlKSB8fCAkY29kZUdlbmVyYXRvci0+R2V0U2VxdWVuY2VUeXBl
KCR0eXBlKSkgeworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNBcnJheVR5cGUo
JHR5cGUpIHx8ICRjb2RlR2VuZXJhdG9yLT5HZXRTZXF1ZW5jZVR5cGUoJHR5cGUpKSB7CiAgICAg
ICAgICAgICAjIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIFRbXSwgVFtdPywgc2VxdWVu
Y2U8VD4KICAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT5pc051bGxhYmxlKSB7CiAgICAgICAg
ICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAoJHt2
YWx1ZX0uaXNPYmplY3QoKSAmJiBpc0pTQXJyYXkoJHt2YWx1ZX0pKSkiKTsKQEAgLTE2NjIsNyAr
MTY1Miw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhKTtcbiIpOwotICAgICAgICBpZiAoSXNUeXBlZEFycmF5VHlwZSgkaW1wbFR5cGUpIGFuZCAo
JGltcGxUeXBlIG5lICJBcnJheUJ1ZmZlclZpZXciKSBhbmQgKCRpbXBsVHlwZSBuZSAiQXJyYXlC
dWZmZXIiKSkgeworICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUo
JGltcGxUeXBlKSBhbmQgKCRpbXBsVHlwZSBuZSAiQXJyYXlCdWZmZXJWaWV3IikgYW5kICgkaW1w
bFR5cGUgbmUgIkFycmF5QnVmZmVyIikpIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIFR5cGVkQXJyYXlEZXNjcmlwdG9yIGRlc2NyaXB0b3IoJiR7Y2xhc3NOYW1lfTo6c19p
bmZvLCBPQkpFQ1RfT0ZGU0VUT0YoJHtjbGFzc05hbWV9LCBtX3N0b3JhZ2UpLCBPQkpFQ1RfT0ZG
U0VUT0YoJHtjbGFzc05hbWV9LCBtX3N0b3JhZ2VMZW5ndGgpKTtcbiIpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgZ2xvYmFsRGF0YS5yZWdpc3RlclR5cGVkQXJyYXlEZXNj
cmlwdG9yKGltcGwoKSwgZGVzY3JpcHRvcik7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIG1fc3RvcmFnZSA9IGltcGwoKS0+ZGF0YSgpO1xuIik7CkBAIC0yOTk5LDEz
ICsyOTg5LDYgQEAgc3ViIElzTmF0aXZlVHlwZQogICAgIHJldHVybiBleGlzdHMgJG5hdGl2ZVR5
cGV7JHR5cGV9OwogfQogCi1zdWIgSXNBcnJheVR5cGUKLXsKLSAgICBteSAkdHlwZSA9IHNoaWZ0
OwotICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5j
ZTxUPi4KLSAgICByZXR1cm4gJHR5cGUgPX4gbS9cW1xdJC87Ci19Ci0KIHN1YiBKU1ZhbHVlVG9O
YXRpdmUKIHsKICAgICBteSAkc2lnbmF0dXJlID0gc2hpZnQ7CkBAIC0zMTkwLDcgKzMxNzMsNyBA
QCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgfSBlbHNlIHsKICAgICAgICAgIyBEZWZhdWx0LCBp
bmNsdWRlIGhlYWRlciB3aXRoIHNhbWUgbmFtZS4KICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMo
IkpTJHR5cGUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgIGlmIChJc1R5cGVkQXJyYXlUeXBl
KCR0eXBlKSkgeworICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUo
JHR5cGUpKSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiPHd0Zi8kdHlwZS5oPiIs
ICRjb25kaXRpb25hbCkgaWYgbm90ICRjb2RlR2VuZXJhdG9yLT5Ta2lwSW5jbHVkZUhlYWRlcigk
dHlwZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygi
JHR5cGUuaCIsICRjb25kaXRpb25hbCkgaWYgbm90ICRjb2RlR2VuZXJhdG9yLT5Ta2lwSW5jbHVk
ZUhlYWRlcigkdHlwZSk7CkBAIC0zNTQyLDcgKzM1MjUsNyBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1
Y3RvckRlY2xhcmF0aW9uCiAgICAgfQogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn07XG5cbiIp
OwogCi0gICAgaWYgKElzQ29uc3RydWN0b3JUZW1wbGF0ZSgkZGF0YU5vZGUsICJFdmVudCIpKSB7
CisgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRhdGFOb2Rl
LCAiRXZlbnQiKSkgewogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJib29sIGZpbGwke2lu
dGVyZmFjZU5hbWV9SW5pdCgke2ludGVyZmFjZU5hbWV9SW5pdCYsIEpTRGljdGlvbmFyeSYpO1xu
XG4iKTsKICAgICB9CiAKQEAgLTM1OTEsNyArMzU3NCw3IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVj
dG9yRGVmaW5pdGlvbgogICAgIG15ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5n
TmFtZWRDb25zdHJ1Y3RvciA/ICIke2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2Ns
YXNzTmFtZX1Db25zdHJ1Y3RvciI7CiAgICAgbXkgJG51bWJlck9mQ29uc3RydWN0b3JQYXJhbWV0
ZXJzID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JQYXJhbWV0
ZXJzIn07CiAgICAgaWYgKCFkZWZpbmVkICRudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVycykg
ewotICAgICAgICBpZiAoSXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2ZW50Iikp
IHsKKyAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRh
dGFOb2RlLCAiRXZlbnQiKSkgewogICAgICAgICAgICAgJG51bWJlck9mQ29uc3RydWN0b3JQYXJh
bWV0ZXJzID0gMjsKICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ29uc3RydWN0b3IifSkgewogICAgICAgICAgICAgJG51bWJlck9mQ29uc3RydWN0b3JQ
YXJhbWV0ZXJzID0gQHskZGF0YU5vZGUtPmNvbnN0cnVjdG9yLT5wYXJhbWV0ZXJzfTsKQEAgLTM2
NTMsNyArMzYzNiw3IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgIH0K
IAogICAgIGlmIChJc0NvbnN0cnVjdGFibGUoJGRhdGFOb2RlKSkgewotICAgICAgICBpZiAoSXND
b25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2ZW50IikpIHsKKyAgICAgICAgaWYgKCRj
b2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRhdGFOb2RlLCAiRXZlbnQiKSkg
ewogICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNEaWN0aW9uYXJ5LmgifSA9IDE7CiAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyI8cnVudGltZS9FcnJvci5oPiJ9ID0gMTsKIApAQCAtMzcx
Nyw3ICszNzAwLDcgQEAgRU5ECiB9CiAKIEVORAotICAgICAgICB9IGVsc2lmIChJc0NvbnN0cnVj
dG9yVGVtcGxhdGUoJGRhdGFOb2RlLCAiVHlwZWRBcnJheSIpKSB7CisgICAgICAgIH0gZWxzaWYg
KCRjb2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRhdGFOb2RlLCAiVHlwZWRB
cnJheSIpKSB7CiAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0FycmF5QnVmZmVyVmlld0hl
bHBlci5oIn0gPSAxOwogICAgICAgICAgICAgbXkgJHZpZXdUeXBlID0gJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiVHlwZWRBcnJheSJ9OwogICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAke2NvbnN0cnVjdG9yQ2xhc3NO
YW1lfTo6Y29uc3RydWN0JHtjbGFzc05hbWV9KEV4ZWNTdGF0ZSogZXhlYylcbiIpOwpAQCAtMzgy
MCwxMiArMzgwMyw0IEBAIHN1YiBJc0NvbnN0cnVjdGFibGUKICAgICByZXR1cm4gJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJOYW1lZENvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9OwogfQogCi1zdWIgSXNDb25zdHJ1
Y3RvclRlbXBsYXRlCi17Ci0gICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7Ci0gICAgbXkgJHRlbXBs
YXRlID0gc2hpZnQ7Ci0KLSAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9ICYmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNvbnN0cnVjdG9yVGVtcGxhdGUifSBlcSAkdGVtcGxhdGU7Ci19Ci0KIDE7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQkocmV2aXNpb24gMTI1MTQ5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsNyBAQCBzdWIg
QWRkSW5jbHVkZXNGb3JUeXBlCiAKICAgICAjIFdoZW4gd2UncmUgZmluaXNoZWQgd2l0aCB0aGUg
b25lLWZpbGUtcGVyLWNsYXNzCiAgICAgIyByZW9yZ2FuaXphdGlvbiwgd2Ugd29uJ3QgbmVlZCB0
aGVzZSBzcGVjaWFsIGNhc2VzLgotICAgIGlmIChJc1R5cGVkQXJyYXlUeXBlKCR0eXBlKSkgewor
ICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNUeXBlZEFycmF5VHlwZSgkdHlwZSkpIHsKICAgICAg
ICAgQWRkVG9JbXBsSW5jbHVkZXMoInd0Zi8ke3R5cGV9LmgiKTsKICAgICB9CiAgICAgaWYgKCEk
Y29kZUdlbmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBhbmQgISRjb2RlR2VuZXJhdG9y
LT5Jc1N0cmluZ1R5cGUoJHR5cGUpIGFuZCAhJGNvZGVHZW5lcmF0b3ItPlNraXBJbmNsdWRlSGVh
ZGVyKCR0eXBlKSBhbmQgJHR5cGUgbmUgIkRhdGUiKSB7CkBAIC0zMzksNyArMzM5LDcgQEAgc3Vi
IEdlbmVyYXRlSGVhZGVyCiAKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG4iKTsKICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgRmxvYXRSZWN0O1xuIikgaWYgJHN2Z1Byb3BlcnR5
VHlwZSAmJiAkc3ZnUHJvcGVydHlUeXBlIGVxICJGbG9hdFJlY3QiOwotICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJjbGFzcyBEaWN0aW9uYXJ5O1xuIikgaWYgSXNDb25zdHJ1Y3RvclRlbXBsYXRl
KCRkYXRhTm9kZSwgIkV2ZW50Iik7CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIERp
Y3Rpb25hcnk7XG4iKSBpZiAkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRk
YXRhTm9kZSwgIkV2ZW50Iik7CiAKICAgICBteSAkbmF0aXZlVHlwZSA9IEdldE5hdGl2ZVR5cGVG
b3JDb252ZXJzaW9ucygkZGF0YU5vZGUsICRpbnRlcmZhY2VOYW1lKTsKICAgICBpZiAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9KSB7CkBAIC01NDYs
NyArNTQ2LDcgQEAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZQogfQog
RU5ECiAKLSAgICBpZiAoSXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2ZW50Iikp
IHsKKyAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzQ29uc3RydWN0b3JUZW1wbGF0ZSgkZGF0YU5v
ZGUsICJFdmVudCIpKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJcbmJvb2wgZmls
bCR7aW1wbENsYXNzTmFtZX1Jbml0KCR7aW1wbENsYXNzTmFtZX1Jbml0JiwgY29uc3QgRGljdGlv
bmFyeSYpO1xuIik7CiAgICAgfQogCkBAIC01ODksNyArNTg5LDcgQEAgc3ViIEdldEhlYWRlckNs
YXNzSW5jbHVkZQogICAgIGlmICgkY2xhc3NOYW1lID1+IC9TVkdQYXRoU2VnLykgewogICAgICAg
ICAkY2xhc3NOYW1lID1+IHMvQWJzfFJlbC8vOwogICAgIH0KLSAgICByZXR1cm4gInd0Zi8ke2Ns
YXNzTmFtZX0uaCIgaWYgSXNUeXBlZEFycmF5VHlwZSgkY2xhc3NOYW1lKTsKKyAgICByZXR1cm4g
Ind0Zi8ke2NsYXNzTmFtZX0uaCIgaWYgJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUo
JGNsYXNzTmFtZSk7CiAgICAgcmV0dXJuICIiIGlmICgkY29kZUdlbmVyYXRvci0+U2tpcEluY2x1
ZGVIZWFkZXIoJGNsYXNzTmFtZSkpOwogICAgIHJldHVybiAiJHtjbGFzc05hbWV9LmgiOwogfQpA
QCAtNzMzLDE0ICs3MzMsNiBAQCBzdWIgSXNDb25zdHJ1Y3RhYmxlCiAgICAgcmV0dXJuICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhDdXN0b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9OwogfQogCi1zdWIgSXND
b25zdHJ1Y3RvclRlbXBsYXRlCi17Ci0gICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7Ci0gICAgbXkg
JHRlbXBsYXRlID0gc2hpZnQ7Ci0KLSAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ29uc3RydWN0b3JUZW1wbGF0ZSJ9ICYmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNvbnN0cnVjdG9yVGVtcGxhdGUifSBlcSAkdGVtcGxhdGU7Ci19Ci0KIHN1YiBH
ZW5lcmF0ZURvbWFpblNhZmVGdW5jdGlvbkdldHRlcgogewogICAgIG15ICRmdW5jdGlvbiA9IHNo
aWZ0OwpAQCAtMTM2OCw3ICsxMzYwLDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhw
cmVzc2lvbgogICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ2FsbGJhY2sifSkgewogICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9ubHkgY2hlY2tz
IGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KICAgICAgICAgICAgIHB1c2goQGFuZEV4
cHJlc3Npb24sICIoJHt2YWx1ZX0tPklzTnVsbCgpIHx8ICR7dmFsdWV9LT5Jc0Z1bmN0aW9uKCkp
Iik7Ci0gICAgICAgIH0gZWxzaWYgKElzQXJyYXlUeXBlKCR0eXBlKSB8fCAkY29kZUdlbmVyYXRv
ci0+R2V0U2VxdWVuY2VUeXBlKCR0eXBlKSkgeworICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVy
YXRvci0+SXNBcnJheVR5cGUoJHR5cGUpIHx8ICRjb2RlR2VuZXJhdG9yLT5HZXRTZXF1ZW5jZVR5
cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICAjIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9y
IFRbXSwgVFtdPywgc2VxdWVuY2U8VD4uCiAgICAgICAgICAgICBpZiAoJHBhcmFtZXRlci0+aXNO
dWxsYWJsZSkgewogICAgICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1
ZX0tPklzTnVsbCgpIHx8ICR7dmFsdWV9LT5Jc0FycmF5KCkpIik7CkBAIC0yNTA0LDE3ICsyNDk2
LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25NYXNxdWVyYWRlc0FzVQogICAgIH0KIH0K
IAotc3ViIElzVHlwZWRBcnJheVR5cGUKLXsKLSAgICBteSAkdHlwZSA9IHNoaWZ0OwotICAgIHJl
dHVybiAxIGlmICgoJHR5cGUgZXEgIkFycmF5QnVmZmVyIikgb3IgKCR0eXBlIGVxICJBcnJheUJ1
ZmZlclZpZXciKSk7Ci0gICAgcmV0dXJuIDEgaWYgKCgkdHlwZSBlcSAiVWludDhBcnJheSIpIG9y
ICgkdHlwZSBlcSAiVWludDhDbGFtcGVkQXJyYXkiKSBvciAoJHR5cGUgZXEgIlVpbnQxNkFycmF5
Iikgb3IgKCR0eXBlIGVxICJVaW50MzJBcnJheSIpKTsKLSAgICByZXR1cm4gMSBpZiAoKCR0eXBl
IGVxICJJbnQ4QXJyYXkiKSBvciAoJHR5cGUgZXEgIkludDE2QXJyYXkiKSBvciAoJHR5cGUgZXEg
IkludDMyQXJyYXkiKSk7Ci0gICAgcmV0dXJuIDEgaWYgKCgkdHlwZSBlcSAiRmxvYXQzMkFycmF5
Iikgb3IgKCR0eXBlIGVxICJGbG9hdDY0QXJyYXkiKSk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLQog
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIHsKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CkBA
IC0yNzg0LDkgKzI3NjUsOSBAQCBFTkQKICAgICAgICAgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9y
Q2FsbGJhY2soJGRhdGFOb2RlLT5jb25zdHJ1Y3RvciwgJGRhdGFOb2RlLCAkaW50ZXJmYWNlTmFt
ZSk7CiAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3Ry
dWN0b3IifSAmJiAhKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tQ29u
c3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Db25z
dHJ1Y3RvciJ9KSkgewogICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yQ2FsbGJhY2soJGRhdGFO
b2RlLT5jb25zdHJ1Y3RvciwgJGRhdGFOb2RlLCAkaW50ZXJmYWNlTmFtZSk7Ci0gICAgfSBlbHNp
ZiAoSXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2ZW50IikpIHsKKyAgICB9IGVs
c2lmICgkY29kZUdlbmVyYXRvci0+SXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2
ZW50IikpIHsKICAgICAgICAgR2VuZXJhdGVFdmVudENvbnN0cnVjdG9yQ2FsbGJhY2soJGRhdGFO
b2RlLCAkaW50ZXJmYWNlTmFtZSk7Ci0gICAgfSBlbHNpZiAoSXNDb25zdHJ1Y3RvclRlbXBsYXRl
KCRkYXRhTm9kZSwgIlR5cGVkQXJyYXkiKSkgeworICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9y
LT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRhdGFOb2RlLCAiVHlwZWRBcnJheSIpKSB7CiAgICAg
ICAgIEdlbmVyYXRlVHlwZWRBcnJheUNvbnN0cnVjdG9yQ2FsbGJhY2soJGRhdGFOb2RlLCAkaW50
ZXJmYWNlTmFtZSk7CiAgICAgfQogCkBAIC0zOTcxLDEzICszOTUyLDYgQEAgc3ViIEdldFR5cGVO
YW1lT2ZFeHRlcm5hbFR5cGVkQXJyYXkKICAgICBkaWUgIlR5cGVkQXJyYXkgb2YgdW5rbm93biB0
eXBlIGlzIGZvdW5kIjsKIH0KIAotc3ViIElzQXJyYXlUeXBlCi17Ci0gICAgbXkgJHR5cGUgPSAk
Y29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoc2hpZnQpOwotICAgICMgRklYTUU6IEFkZCBwcm9w
ZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPi4KLSAgICByZXR1cm4gJHR5cGUg
PX4gbS9cW1xdJC87Ci19Ci0KIHN1YiBJc0RPTU5vZGVUeXBlCiB7CiAgICAgbXkgJHR5cGUgPSBz
aGlmdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>