<?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>125908</bug_id>
          
          <creation_ts>2013-12-17 19:50:31 -0800</creation_ts>
          <short_desc>Add a simple stack abstraction for x86_64</short_desc>
          <delta_ts>2013-12-18 17:24:26 -0800</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>960812</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-17 19:50:31 -0800</bug_when>
    <thetext>Add a simple stack abstraction for x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960827</commentid>
    <comment_count>1</comment_count>
      <attachid>219503</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-17 20:54:16 -0800</bug_when>
    <thetext>Created attachment 219503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960856</commentid>
    <comment_count>2</comment_count>
      <attachid>219503</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-12-17 23:21:03 -0800</bug_when>
    <thetext>Comment on attachment 219503
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        Add an explicit abstraction for the &quot;lea&quot; instruction. This is needed
&gt; +        by the experimental JIT to have add and substract without changing the flags.

Why do we need to avoid changing flags before a call? Would be good to explain that.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:231
&gt; +#if ENABLE(CSS_SELECTOR_JIT)

No need for the #if.

&gt; Source/WebCore/cssjit/StackAllocator.h:112
&gt; +    void combine(StackAllocator&amp;&amp; stackA, StackAllocator&amp;&amp; stackB)

I think the typical compiler word for this is &quot;merge&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961193</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-18 17:24:26 -0800</bug_when>
    <thetext>Committed r160800: &lt;http://trac.webkit.org/changeset/160800&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219503</attachid>
            <date>2013-12-17 20:54:16 -0800</date>
            <delta_ts>2013-12-17 23:21:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125908-20131217205415.patch</filename>
            <type>text/plain</type>
            <size>14531</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MzJkYmFkMjg4OGQzMDI4NmQ2OWEyNTA0MTEyYjQyY2Y2NjE3YTFhLi4xZjhiMGE1MWE3ZTNhNjFm
YTRhMjU1NTk0M2M4NTk5ZDY3YmQwMzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMy0xMi0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHN0YWNrIGFic3RyYWN0aW9uIGZvciB4ODZf
NjQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTkw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2XzY0OjphZGRQdHJOb0ZsYWdzKToKKyAgICAgICAgQWRkIGFuIGV4cGxpY2l0IGFic3Ry
YWN0aW9uIGZvciB0aGUgImxlYSIgaW5zdHJ1Y3Rpb24uIFRoaXMgaXMgbmVlZGVkCisgICAgICAg
IGJ5IHRoZSBleHBlcmltZW50YWwgSklUIHRvIGhhdmUgYWRkIGFuZCBzdWJzdHJhY3Qgd2l0aG91
dCBjaGFuZ2luZyB0aGUgZmxhZ3MuCisKIDIwMTMtMTItMTcgIEp1bGllbiBCcmlhbmNlYXUgIDxq
YnJpYW5jZUBjaXNjby5jb20+CiAKICAgICAgICAgRml4IGFybXY3IGFuZCBzaDQgYnVpbGRzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDY3OTJmN2Y4Yjk4Mjg3ZTY1YjJkNTEzN2ZjNzAxY2FmMTQwZTU2MTYuLmQ4
YzkzNzNiZGE2YTJjMGZlZGIwNjdmNGY5ZjI1MWM3YjJlMTMxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MyBAQAorMjAxMy0xMi0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHN0YWNrIGFic3RyYWN0aW9uIGZvciB4ODZf
NjQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTkw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YWNr
QWxsb2NhdG9yIHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIHRvIG1ha2UgaXQgaGFyZCB0byBtYWtl
IG1pc3Rha2VzIGFuZCBwcm90ZWN0cyBmcm9tIG9idmlvdXMKKyAgICAgICAgaXNzdWVzIGF0IHJ1
bnRpbWUuCisKKyAgICAgICAgVGhlIGtleSByb2xlcyBvZiBTdGFja0FsbG9jYXRvcnMgYXJlOgor
ICAgICAgICAtUHJvdmlkZSB0aGUgbmVjZXNzYXJ5IHN0YWNrIGFsaWdubWVudCBmb3IgZnVuY3Rp
b24gY2FsbHMgKG9ubHkgeDg2XzY0IHN0YWNrIGZvciBub3cpLgorICAgICAgICAtUHJvdmlkZSB3
YXlzIHRvIHNhdmUgcmVnaXN0ZXJzIG9uIHRoZSBzdGFjaywgcmVzdG9yZSBvciBkaXNjYXJkIHRo
ZW0gYXMgbmVlZGVkLgorICAgICAgICAtQ3Jhc2ggYXQgcnVudGltZSBpZiBhbiBvcGVyYXRpb24g
d291bGQgb2J2aW91c2x5IGNhdXNlIGEgc3RhY2sgaW5jb25zaXN0ZW5jeS4KKworICAgICAgICBU
aGUgd2F5IHNpbXBsZSBpbmNvbnNpc3RlbmNpZXMgYXJlIGRldGVjdGVkIGlzIHRocm91Z2ggdGhl
IFN0YWNrUmVmZXJlbmNlIG9iamVjdAorICAgICAgICByZXR1cm5lZCB3aGVuZXZlciBzb21ldGhp
bmcgaXMgYWRkZWQgb24gdGhlIHN0YWNrLgorICAgICAgICBUaGUgb2JqZWN0IGtlZXBzIGEgcmVm
ZXJlbmNlIHRvIHRoZSBvZmZzZXQgb2Ygd2hhdCBoYXMgYmVlbiBwdXNoZWQuIFdoZW4gdGhlIFN0
YWNrUmVmZXJlbmNlCisgICAgICAgIGlzIHVzZWQgdG8gcmVjb3ZlciB0aGUgcmVnaXN0ZXIsIGlm
IHRoZSBvZmZzZXQgaXMgZGlmZmVyZW50LCB0aGVyZSBpcyBhIG1pc3NtYXRjaCBiZXR3ZWVuCisg
ICAgICAgIHB1c2goKSBhbmQgcG9wKCkgYWZ0ZXIgdGhlIG9iamVjdCB3YXMgcHVzaGVkLgorCisg
ICAgICAgICogY3Nzaml0L1N0YWNrQWxsb2NhdG9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U3RhY2tBbGxvY2F0b3I6OlN0YWNrUmVmZXJlbmNlOjpTdGFja1JlZmVyZW5jZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U6Om9wZXJhdG9yIHVu
c2lnbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0YWNrQWxsb2NhdG9yOjpTdGFja0FsbG9jYXRv
cik6CisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6flN0YWNrQWxsb2NhdG9yKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0YWNrQWxsb2NhdG9yOjpwdXNoKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0YWNrQWxsb2NhdG9yOjpwb3ApOgorCisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9j
YXRvcjo6YWxpZ25TdGFja1ByZUZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIChXZWJDb3JlOjpTdGFj
a0FsbG9jYXRvcjo6dW5hbGlnblN0YWNrUG9zdEZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIFRob3Nl
IGhlbHBlcnMgcHJvdmlkZSBhIHNpbXBsZSB3YXkgdG8gaGF2ZSBhIHZhbGlkIHN0YWNrIHByaW9y
IHRvIGEgZnVuY3Rpb24gY2FsbC4KKyAgICAgICAgU2luY2UgU3RhY2tBbGxvY2F0b3Iga25vd3Mg
dGhlIG9mZnNldCBhbmQgdGhlIHBsYXRmb3JtIHJ1bGVzLCBpdCBjYW4gYWRqdXN0IHRoZSBzdGFj
aworICAgICAgICBpZiBuZWVkZWQgZm9yIHg4Nl82NC4KKworICAgICAgICAoV2ViQ29yZTo6U3Rh
Y2tBbGxvY2F0b3I6OmRpc2NhcmQpOiBEaXNjYXJkIGEgc2luZ2xlIHJlZ2lzdGVyIG9yIHRoZSBm
dWxsIHN0YWNrLgorCisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6Y29tYmluZSk6
IGNvbWJpbmluZyBzdGFja3MgaXMgdGhlIHdheSB0byBzb2x2ZSBicmFuY2hlcworICAgICAgICB3
aGVyZSB0aGUgc3RhY2sgaXMgdXNlZCBkaWZmZXJlbnRseSBpbiBlYWNoIGNhc2UuCisgICAgICAg
IFRvIGRvIHRoYXQsIHRoZSBzdGFjayBpcyBmaXJzdCBjb3BpZWQgdG8gQSBhbmQgQi4gRWFjaCBi
cmFuY2ggd29ya3Mgb24gaXRzIG93bgorICAgICAgICBTdGFja0FsbG9jYXRvciBjb3B5LCB0aGVu
IHRoZSB0d28gY29waWVzIGFyZSBsaW5rZWQgdG9nZXRoZXIgdG8gdGhlIG9yaWdpbmFsIHN0YWNr
LgorCisgICAgICAgIFRoZSBjb3BpZXMgZW5zdXJlIHRoZSBsb2NhbCBjb25zaXN0ZW5jeSBpbiBl
YWNoIGJyYW5jaCwgbGlua2luZyB0aGUgY29waWVzIGVuc3VyZSBnbG9iYWwKKyAgICAgICAgY29u
c2lzdGVuY2llcyBhbmQgdGhhdCBib3RoIGJyYW5jaGVzIGVuZCBpbiB0aGUgc2FtZSBzdGFjayBz
dGF0ZS4KKworICAgICAgICAoV2ViQ29yZTo6U3RhY2tBbGxvY2F0b3I6Om9mZnNldFRvU3RhY2tS
ZWZlcmVuY2UpOiBIZWxwZXIgZnVuY3Rpb24gdG8gYWNjZXNzIHRoZSBzdGFjayBieSBhZGRyZXNz
CisgICAgICAgIHRocm91Z2ggaXRzIFN0YWNrUmVmZXJlbmNlLgorCisgICAgICAgIChXZWJDb3Jl
OjpTdGFja0FsbG9jYXRvcjo6cmVzZXQpOgorCiAyMDEzLTEyLTE3ICBSYWR1IFN0YXZpbGEgIDxz
dGF2aWxhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIFBvc2l0aW9uZWQgZWxl
bWVudHMgaW4gcmVnaW9ucyBnZXQgY2xpcHBlZCBpZiB0aGV5IGZhbGwgb3V0c2lkZSB0aGUgcmVn
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2XzY0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2XzY0LmgKaW5kZXggZTgxNzRiYjFlOGZjNzgyMDQxZDJmMjczN2NiZjhlNWZmYzE4
YjU0Yy4uYWU0M2U1NjVlZjYwOGFkNmM0M2JkMjAwZmRhOTVhNDEzMzMyNzkyZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZf
NjQuaApAQCAtMjI4LDYgKzIyOCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGFkZDY0KGltbSwgQWRk
cmVzcyhzY3JhdGNoUmVnaXN0ZXIpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9S
X0pJVCkKKyAgICB2b2lkIGFkZFB0ck5vRmxhZ3MoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJ
RCBzcmNEZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIubGVhcV9tcihpbW0ubV92YWx1
ZSwgc3JjRGVzdCwgc3JjRGVzdCk7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIGFuZDY0KFJl
Z2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxl
ci5hbmRxX3JyKHNyYywgZGVzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzJlMDVhYTY1M2NhZmIzYTJlYmRjZWIzZDk0ZWIx
Yzg4MGY3ZGY5OS4uZmQ1OTRjMDFkMmZhY2Y1ODMxMzlmYzY1OTE5YzFlOGNiY2ZiOTQ5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTEwLDYgKzkxMCw3IEBACiAJCTI2NTU0MTUyMTQ4OUIyMzMwMDBERkM1RCAvKiBDdXJzb3JJ
T1MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjY1
NTQxNEIxNDg5QUEyQjAwMERGQzVEIC8qIEN1cnNvcklPUy5jcHAgKi87IH07CiAJCTI2OTIzOTk2
MTUwNUUxQUEwMDlFNTdGQyAvKiBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjY5MjM5OTIxNTA1RTFBQTAwOUU1
N0ZDIC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggKi87IH07CiAJCTI2Qjk5OThGMTgwM0FF
NzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZCOTk5OEUxODAzQUU3MjAwRDAxMTIxIC8qIFJlZ2lz
dGVyQWxsb2NhdG9yLmggKi87IH07CisJCTI2Qjk5OTkxMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFj
a0FsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjZCOTk5OTAxODAzQjNDOTAwRDAxMTIxIC8qIFN0YWNrQWxsb2NhdG9yLmggKi87IH07CiAJ
CTI2QzE1Q0Y2MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2QzE1Q0Y0MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJj
ZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCAqLzsg
fTsKIAkJMjZDMTVDRjcxODU3RTE1RTAwRjE1QzAzIC8qIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2QzE1Q0Y1MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmggKi87
IH07CiAJCTI2QzE3QTNFMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkMxN0EzQzE0OTFEMkQ0
MDBEMTJCQTIgLyogRmlsZVN5c3RlbUlPUy5oICovOyB9OwpAQCAtNzU2MCw2ICs3NTYxLDcgQEAK
IAkJMjY5MjM5OTExNTA1RTFBQTAwOUU1N0ZDIC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCVmVyc2lvbkNoYW5n
ZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY5MjM5OTIxNTA1RTFB
QTAwOUU1N0ZDIC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9j
YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZWdpc3RlckFsbG9jYXRv
ci5oOyBwYXRoID0gY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdGFja0FsbG9jYXRvci5oOyBwYXRo
ID0gY3Nzaml0L1N0YWNrQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI2QzE1Q0Y0MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3Bl
cmF0aW9uUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNkMxNUNGNTE4
NTdFMTVEMDBGMTVDMDMgLyogUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdp
dGhPcGVyYXRpb25RdWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2QzE3QTNDMTQ5MUQyRDQwMEQxMkJBMiAvKiBG
aWxlU3lzdGVtSU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZpbGVTeXN0
ZW1JT1MuaDsgcGF0aCA9IGlvcy9GaWxlU3lzdGVtSU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNDY0Miw2ICsxNDY0NCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9j
YXRvci5oICovLAorCQkJCTI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRv
ci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBjc3NqaXQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwpAQCAtMjQ3MTMsNiArMjQ3MTYsNyBAQAogCQkJCTk3QkM2QTVEMTUwNUYwODEwMDFCNzRB
QyAvKiBTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEy
RTZFNUEwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
M0YxOTk2MzA4MjQ1RTU5MDAxRTlBQkMgLyogU1NMS2V5R2VuZXJhdG9yLmggaW4gSGVhZGVycyAq
LywKKwkJCQkyNkI5OTk5MTE4MDNCM0M5MDBEMDExMjEgLyogU3RhY2tBbGxvY2F0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDN0ZBNjJEMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q4QjVBNDMxODBEMTQ5QTAwOEI4RTY1IC8qIFZpZGVv
VHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUFG
QjM1MDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvY3Nzaml0L1N0YWNrQWxsb2NhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRmYjUzOWI4YWQ5NTgx
OTc1NDUxODgxZjg0YjAzNzcwOGMxMWU4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5oCkBAIC0wLDAgKzEsMTY2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBTdGFja0FsbG9jYXRvcl9oCisjZGVmaW5lIFN0YWNrQWxsb2NhdG9yX2gKKwor
I2lmIEVOQUJMRShDU1NfU0VMRUNUT1JfSklUKQorCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
TWFjcm9Bc3NlbWJsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdGFja0Fs
bG9jYXRvciB7CitwdWJsaWM6CisgICAgY2xhc3MgU3RhY2tSZWZlcmVuY2UgeworICAgIHB1Ymxp
YzoKKyAgICAgICAgU3RhY2tSZWZlcmVuY2UoKQorICAgICAgICAgICAgOiBtX29mZnNldEZyb21U
b3AoLTEpCisgICAgICAgIHsgfQorICAgICAgICBleHBsaWNpdCBTdGFja1JlZmVyZW5jZSh1bnNp
Z25lZCBvZmZzZXQpCisgICAgICAgICAgICA6IG1fb2Zmc2V0RnJvbVRvcChvZmZzZXQpCisgICAg
ICAgIHsgfQorICAgICAgICBvcGVyYXRvciB1bnNpZ25lZCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zm
c2V0RnJvbVRvcDsgfQorICAgIHByaXZhdGU6CisgICAgICAgIHVuc2lnbmVkIG1fb2Zmc2V0RnJv
bVRvcDsKKyAgICB9OworCisgICAgU3RhY2tBbGxvY2F0b3IoSlNDOjpNYWNyb0Fzc2VtYmxlciYg
YXNzZW1ibGVyKQorICAgICAgICA6IG1fYXNzZW1ibGVyKGFzc2VtYmxlcikKKyAgICAgICAgLCBt
X29mZnNldEZyb21Ub3AoMCkKKyAgICAgICAgLCBtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcoZmFs
c2UpCisgICAgeworICAgIH0KKworICAgIH5TdGFja0FsbG9jYXRvcigpCisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghbV9vZmZzZXRGcm9tVG9wKTsKKyAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIW1faGFzRnVuY3Rpb25DYWxsUGFkZGluZyk7CisgICAgfQorCisgICAgU3RhY2tSZWZlcmVu
Y2UgcHVzaChKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJlZ2lzdGVySUQpCisgICAg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5nKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXIucHVzaChyZWdpc3RlcklEKTsKKyAgICAgICAgbV9vZmZzZXRGcm9t
VG9wICs9IDg7CisgICAgICAgIHJldHVybiBTdGFja1JlZmVyZW5jZShtX29mZnNldEZyb21Ub3Ap
OworICAgIH0KKworICAgIHZvaWQgcG9wKFN0YWNrUmVmZXJlbmNlIHN0YWNrUmVmZXJlbmNlLCBK
U0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJlZ2lzdGVySUQpCisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdGFja1JlZmVyZW5jZSA9PSBtX29mZnNldEZyb21Ub3ApOworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghbV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5nKTsKKyAgICAgICAg
QVNTRVJUKG1fb2Zmc2V0RnJvbVRvcCA+IDApOworICAgICAgICBtX29mZnNldEZyb21Ub3AgLT0g
ODsKKyAgICAgICAgbV9hc3NlbWJsZXIucG9wKHJlZ2lzdGVySUQpOworICAgIH0KKworICAgIHZv
aWQgcG9wQW5kRGlzY2FyZChTdGFja1JlZmVyZW5jZSBzdGFja1JlZmVyZW5jZSkKKyAgICB7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0YWNrUmVmZXJlbmNlID09IG1fb2Zmc2V0RnJvbVRvcCk7
CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZFB0cihKU0M6Ok1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoOCksIEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAg
ICAgICAgbV9vZmZzZXRGcm9tVG9wIC09IDg7CisgICAgfQorCisgICAgdm9pZCBhbGlnblN0YWNr
UHJlRnVuY3Rpb25DYWxsKCkKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2hhc0Z1
bmN0aW9uQ2FsbFBhZGRpbmcpOworICAgICAgICB1bnNpZ25lZCB0b3BBbGlnbm1lbnQgPSA4Owor
ICAgICAgICBpZiAoKHRvcEFsaWdubWVudCArIG1fb2Zmc2V0RnJvbVRvcCkgJSAxNikgeworICAg
ICAgICAgICAgbV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmFkZFB0ck5vRmxhZ3MoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KC04KSwgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAg
ICB9CisgICAgfQorCisgICAgdm9pZCB1bmFsaWduU3RhY2tQb3N0RnVuY3Rpb25DYWxsKCkKKyAg
ICB7CisgICAgICAgIGlmIChtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpIHsKKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmFkZFB0ck5vRmxhZ3MoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bTMyKDgpLCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAg
ICAgICAgICBtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcgPSBmYWxzZTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHZvaWQgZGlzY2FyZCgpCisgICAgeworICAgICAgICBpZiAobV9vZmZzZXRGcm9t
VG9wKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkUHRyKEpTQzo6TWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW0zMihtX29mZnNldEZyb21Ub3ApLCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFj
a1BvaW50ZXJSZWdpc3Rlcik7CisgICAgICAgIG1fb2Zmc2V0RnJvbVRvcCA9IDA7CisgICAgfQor
CisgICAgdm9pZCBjb21iaW5lKFN0YWNrQWxsb2NhdG9yJiYgc3RhY2tBLCBTdGFja0FsbG9jYXRv
ciYmIHN0YWNrQikKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0YWNrQS5tX29mZnNl
dEZyb21Ub3AgPT0gc3RhY2tCLm1fb2Zmc2V0RnJvbVRvcCk7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0YWNrQS5tX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcgPT0gc3RhY2tCLm1faGFzRnVuY3Rp
b25DYWxsUGFkZGluZyk7CisgICAgICAgIEFTU0VSVCgmc3RhY2tBLm1fYXNzZW1ibGVyID09ICZz
dGFja0IubV9hc3NlbWJsZXIpOworICAgICAgICBBU1NFUlQoJm1fYXNzZW1ibGVyID09ICZzdGFj
a0IubV9hc3NlbWJsZXIpOworCisgICAgICAgIG1fb2Zmc2V0RnJvbVRvcCA9IHN0YWNrQS5tX29m
ZnNldEZyb21Ub3A7CisgICAgICAgIG1faGFzRnVuY3Rpb25DYWxsUGFkZGluZyA9IHN0YWNrQS5t
X2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmc7CisKKyAgICAgICAgc3RhY2tBLnJlc2V0KCk7CisgICAg
ICAgIHN0YWNrQi5yZXNldCgpOworICAgIH0KKworICAgIHZvaWQgY29tYmluZShTdGFja0FsbG9j
YXRvciYmIHN0YWNrQSwgU3RhY2tBbGxvY2F0b3ImJiBzdGFja0IsIFN0YWNrQWxsb2NhdG9yJiYg
c3RhY2tDKQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RhY2tBLm1fb2Zmc2V0RnJv
bVRvcCA9PSBzdGFja0IubV9vZmZzZXRGcm9tVG9wKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c3RhY2tBLm1fb2Zmc2V0RnJvbVRvcCA9PSBzdGFja0MubV9vZmZzZXRGcm9tVG9wKTsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoc3RhY2tBLm1faGFzRnVuY3Rpb25DYWxsUGFkZGluZyA9PSBzdGFj
a0IubV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5nKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Rh
Y2tBLm1faGFzRnVuY3Rpb25DYWxsUGFkZGluZyA9PSBzdGFja0MubV9oYXNGdW5jdGlvbkNhbGxQ
YWRkaW5nKTsKKyAgICAgICAgQVNTRVJUKCZzdGFja0EubV9hc3NlbWJsZXIgPT0gJnN0YWNrQi5t
X2Fzc2VtYmxlcik7CisgICAgICAgIEFTU0VSVCgmc3RhY2tBLm1fYXNzZW1ibGVyID09ICZzdGFj
a0MubV9hc3NlbWJsZXIpOworICAgICAgICBBU1NFUlQoJm1fYXNzZW1ibGVyID09ICZzdGFja0Iu
bV9hc3NlbWJsZXIpOworCisgICAgICAgIG1fb2Zmc2V0RnJvbVRvcCA9IHN0YWNrQS5tX29mZnNl
dEZyb21Ub3A7CisgICAgICAgIG1faGFzRnVuY3Rpb25DYWxsUGFkZGluZyA9IHN0YWNrQS5tX2hh
c0Z1bmN0aW9uQ2FsbFBhZGRpbmc7CisKKyAgICAgICAgc3RhY2tBLnJlc2V0KCk7CisgICAgICAg
IHN0YWNrQi5yZXNldCgpOworICAgICAgICBzdGFja0MucmVzZXQoKTsKKyAgICB9CisKKyAgICB1
bnNpZ25lZCBvZmZzZXRUb1N0YWNrUmVmZXJlbmNlKFN0YWNrUmVmZXJlbmNlIHN0YWNrUmVmZXJl
bmNlKQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9vZmZzZXRGcm9tVG9wID49IHN0
YWNrUmVmZXJlbmNlKTsKKyAgICAgICAgcmV0dXJuIG1fb2Zmc2V0RnJvbVRvcCAtIHN0YWNrUmVm
ZXJlbmNlOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAg
ICAgIG1fb2Zmc2V0RnJvbVRvcCA9IDA7CisgICAgICAgIG1faGFzRnVuY3Rpb25DYWxsUGFkZGlu
ZyA9IGZhbHNlOworICAgIH0KKworICAgIEpTQzo6TWFjcm9Bc3NlbWJsZXImIG1fYXNzZW1ibGVy
OworICAgIHVuc2lnbmVkIG1fb2Zmc2V0RnJvbVRvcDsKKyAgICBib29sIG1faGFzRnVuY3Rpb25D
YWxsUGFkZGluZzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShDU1NfU0VMRUNUT1JfSklUKQorCisjZW5kaWYgLy8gU3RhY2tBbGxvY2F0b3JfaAo=
</data>
<flag name="review"
          id="243134"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>