<?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>46572</bug_id>
          
          <creation_ts>2010-09-25 11:48:31 -0700</creation_ts>
          <short_desc>Avoid constructing arguments object when accessing length and index properties</short_desc>
          <delta_ts>2010-10-17 14:24:21 -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>Other</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>46690</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>abarth</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>edwardjsabol</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yonkong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>285044</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-25 11:48:31 -0700</bug_when>
    <thetext>Avoid constructing arguments object when accessing length and index properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285045</commentid>
    <comment_count>1</comment_count>
      <attachid>68837</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-25 11:52:06 -0700</bug_when>
    <thetext>Created attachment 68837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285052</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-25 14:42:16 -0700</bug_when>
    <thetext>Committed r68338: &lt;http://trac.webkit.org/changeset/68338&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285054</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-25 15:05:20 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68338 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286898</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-09-29 08:40:46 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Committed r68338: &lt;http://trac.webkit.org/changeset/68338&gt;

This change caused a regression in the Interpreter:  Bug 46690.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288646</commentid>
    <comment_count>5</comment_count>
    <who name="Edward Sabol">edwardjsabol</who>
    <bug_when>2010-10-01 20:22:04 -0700</bug_when>
    <thetext>Is this going to be backed out or is a fix in the works?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295187</commentid>
    <comment_count>6</comment_count>
    <who name="yonkong">yonkong</who>
    <bug_when>2010-10-16 20:33:52 -0700</bug_when>
    <thetext>I build r69847 code using the following macro
#define WTF_USE_JSVALUE32 1
#define ENABLE_JIT 1
#define ENABLE_JIT_OPTIMIZE_CALL 0
#define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0
#define ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS 0
#define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 0

Then I used the program the executing the js code:
function foo(){
alert(arguments.length);//the result is 2.
}
foo(1,2,3,4);

when I open www.baidu.com and other urls, the program would be crash.
And the OS is windows xp. I had met the same problem in arm platform.

I had done the same thing using r67643 code, and found no problems. And I had tried to build r69847 code using the macro 
#define ENABLE_JIT 1
#define ENABLE_JIT_OPTIMIZE_CALL 0
#define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0
#define ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS 0
#define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 0
and nothing problem was found.

By a way, the file JITPropertyAccess.cpp&apos;s function emit_op_put_by_id,
a sentence is like that:
JITStubCall stubCall(this, direct ? cti_op_put_by_id_direct_generic, cti_op_put_by_id_generic);
should&apos;t it be the next sentence?
JITStubCall stubCall(this, direct ? cti_op_put_by_id_direct_generic : cti_op_put_by_id_generic);

please check, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295281</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-10-17 14:24:21 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I build r69847 code using the following macro
&gt; #define WTF_USE_JSVALUE32 1

JSVALUE32 is no longer a supported configuration on any platform</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68837</attachid>
            <date>2010-09-25 11:52:06 -0700</date>
            <delta_ts>2010-09-25 14:14:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46572-20100925115204.patch</filename>
            <type>text/plain</type>
            <size>22564</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4OTFhYzEwYTA5MTU4OTgyMWEzMWM4NmU2ZGIxNmM5M2NhYjliYTAxLi4y
ZWJlNDBhM2ZjM2UyMjBhYjk0MWRlNGYxZWFjNjYzNWU5YTU1NjEzIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTAtMDktMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdm9pZCBj
b25zdHJ1Y3RpbmcgYXJndW1lbnRzIG9iamVjdCB3aGVuIGFjY2Vzc2luZyBsZW5ndGggYW5kIGlu
ZGV4IHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ2NTcyCisKKyAgICAgICAgQWRkIG9wY29kZXMgdG8gcmVhZCBhcmd1bWVudCBsZW5n
dGggYW5kIHByb3BlcnRpZXMsIGFuZCB0aGVuIGltcGxlbWVudCB0aGVtLgorICAgICAgICBNdWNo
IGxpa2Ugb3RoZXIgbGF6eSBvcGNvZGVzIHRoZXNlIG9wY29kZXMgdGFrZSBhIGZhc3QgcGF0aCB3
aGVuIHRoZSBhcmd1bWVudHMKKyAgICAgICAgb2JqZWN0IGhhcyBub3QgYmVlbiBpbnN0YW50aWF0
ZWQsIGFuZCBmYWxsIGJhY2sgb24gZ2VuZXJpYyBhY2Nlc3MgbWVjaGFuaXNtcworICAgICAgICBp
ZiB0aGV5IGFyZSBhY3Rpbmcgb24gYW4gaW5zdGFudGlhdGVkIG9iamVjdC4KKworICAgICAgICAz
JSB3aW4gb24gdjgtZWFybGV5Ym95ZXIsIG5vIGNoYW5nZSBlbHNld2hlcmUuCisKKyAgICAgICAg
KiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXAp
OgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0R2V0QXJndW1lbnRzTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXRHZXRBcmd1bWVudEJ5VmFsKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAg
ICAgICAgKEpTQzo6QnJhY2tldEFjY2Vzc29yTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAg
KEpTQzo6RG90QWNjZXNzb3JOb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIGludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OnByaXZhdGVF
eGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNs
b3dDYXNlcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVz
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9hcmd1bWVudHNfbGVuZ3RoKToK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYXJndW1lbnRzX2xlbmd0aCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRfYnlfdmFsKToKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYXJndW1lbnRfYnlfdmFsKToKKyAgICAgICAgKiBq
aXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9h
cmd1bWVudHNfbGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYXJn
dW1lbnRzX2xlbmd0aCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRf
YnlfdmFsKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYXJndW1lbnRfYnlf
dmFsKToKKwogMjAxMC0wOS0yNSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAKaW5kZXggODQ5ZjJiYTExMjA3M2RiYmNlYWYxYzE1NGY1ZDg2MjVhNTgyMGFiOS4uYjhkYzNl
YmE5MzQzZDUxNDU5YjkwNmNkMWNiNjk0OWQxMzQ1ZWE0OSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCkBAIC04NDIsNiArODQyLDEwIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1w
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0
b3ImCiAgICAgICAgICAgICBwcmludEdldEJ5SWRPcChleGVjLCBsb2NhdGlvbiwgaXQsICJnZXRf
c3RyaW5nX2xlbmd0aCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAg
Y2FzZSBvcF9nZXRfYXJndW1lbnRzX2xlbmd0aDogeworICAgICAgICAgICAgcHJpbnRVbmFyeU9w
KGV4ZWMsIGxvY2F0aW9uLCBpdCwgImdldF9hcmd1bWVudHNfbGVuZ3RoIik7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIG9wX3B1dF9ieV9pZDogewogICAgICAg
ICAgICAgcHJpbnRQdXRCeUlkT3AoZXhlYywgbG9jYXRpb24sIGl0LCAicHV0X2J5X2lkIik7CiAg
ICAgICAgICAgICBicmVhazsKQEAgLTg5MCw2ICs4OTQsMTMgQEAgdm9pZCBDb2RlQmxvY2s6OmR1
bXAoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVy
YXRvciYKICAgICAgICAgICAgIHByaW50ZigiWyU0ZF0gZ2V0X2J5X3ZhbFx0ICVzLCAlcywgJXNc
biIsIGxvY2F0aW9uLCByZWdpc3Rlck5hbWUoZXhlYywgcjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1l
KGV4ZWMsIHIxKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShleGVjLCByMikuZGF0YSgpKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2Ugb3BfZ2V0X2FyZ3VtZW50X2J5
X3ZhbDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAg
ICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMiA9ICgr
K2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRmKCJbJTRkXSBnZXRfYXJndW1lbnRf
YnlfdmFsXHQgJXMsICVzLCAlc1xuIiwgbG9jYXRpb24sIHJlZ2lzdGVyTmFtZShleGVjLCByMCku
ZGF0YSgpLCByZWdpc3Rlck5hbWUoZXhlYywgcjEpLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKGV4ZWMs
IHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBvcF9nZXRfYnlfcG5hbWU6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVy
YW5kOwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09wY29kZS5oCmluZGV4IDY4ZTUyZTczNWIzNmNhOTgyZjVjMTgyOTIxMzA4MTQ0NzE5Yzlm
OGIuLjAzZjY1NzMzMDFjMTI5OTQ3YzYxOWI5MjZmNWVhNGMwMDIzZTVmYzIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09wY29kZS5oCkBAIC0xMjAsMTIgKzEyMCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2dlbmVyaWMsIDgpIFwKICAgICAgICAgbWFjcm8ob3Bf
Z2V0X2FycmF5X2xlbmd0aCwgOCkgXAogICAgICAgICBtYWNybyhvcF9nZXRfc3RyaW5nX2xlbmd0
aCwgOCkgXAorICAgICAgICBtYWNybyhvcF9nZXRfYXJndW1lbnRzX2xlbmd0aCwgNCkgXAogICAg
ICAgICBtYWNybyhvcF9wdXRfYnlfaWQsIDkpIFwKICAgICAgICAgbWFjcm8ob3BfcHV0X2J5X2lk
X3RyYW5zaXRpb24sIDkpIFwKICAgICAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3JlcGxhY2UsIDkp
IFwKICAgICAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX2dlbmVyaWMsIDkpIFwKICAgICAgICAgbWFj
cm8ob3BfZGVsX2J5X2lkLCA0KSBcCiAgICAgICAgIG1hY3JvKG9wX2dldF9ieV92YWwsIDQpIFwK
KyAgICAgICAgbWFjcm8ob3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbCwgNCkgXAogICAgICAgICBtYWNy
byhvcF9nZXRfYnlfcG5hbWUsIDcpIFwKICAgICAgICAgbWFjcm8ob3BfcHV0X2J5X3ZhbCwgNCkg
XAogICAgICAgICBtYWNybyhvcF9kZWxfYnlfdmFsLCA0KSBcCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBmMmJiYjc3NzRlMDAx
MDk0MzFiYmZhODY5YmQzYTgwMGE4ZjdkYmFiLi4zYjJjMmNhYmFjM2FiYzgxNDFiYTljMjFjZTUz
OGYxMDlmZTBlY2Y5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKQEAgLTEzMjgsNiArMTMyOCwxNiBAQCBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBi
YXNlLCBjbwogICAgIHJldHVybiBkc3Q7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0R2V0QXJndW1lbnRzTGVuZ3RoKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCog
YmFzZSkKK3sKKyAgICBlbWl0T3Bjb2RlKG9wX2dldF9hcmd1bWVudHNfbGVuZ3RoKTsKKyAgICBp
bnN0cnVjdGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsKKyAgICBBU1NFUlQoYmFzZS0+aW5k
ZXgoKSA9PSBtX2NvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0ZXIoKSk7CisgICAgaW5zdHJ1Y3Rp
b25zKCkuYXBwZW5kKGJhc2UtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChh
ZGRDb25zdGFudChwcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRzKSk7CisgICAgcmV0dXJuIGRzdDsK
K30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXRCeUlkKFJlZ2lzdGVy
SUQqIGJhc2UsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5LCBSZWdpc3RlcklEKiB2YWx1ZSkK
IHsKICNpZiBFTkFCTEUoSklUKQpAQCAtMTM5NSw2ICsxNDA1LDE2IEBAIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0RGVsZXRlQnlJZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVy
SUQqIGJhc2UsCiAgICAgcmV0dXJuIGRzdDsKIH0KIAorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRHZXRBcmd1bWVudEJ5VmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCog
YmFzZSwgUmVnaXN0ZXJJRCogcHJvcGVydHkpCit7CisgICAgZW1pdE9wY29kZShvcF9nZXRfYXJn
dW1lbnRfYnlfdmFsKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsK
KyAgICBBU1NFUlQoYmFzZS0+aW5kZXgoKSA9PSBtX2NvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0
ZXIoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGJhc2UtPmluZGV4KCkpOworICAgIGlu
c3RydWN0aW9ucygpLmFwcGVuZChwcm9wZXJ0eS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIGRzdDsK
K30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRCeVZhbChSZWdpc3Rl
cklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5KQogewogICAg
IGZvciAoc2l6ZV90IGkgPSBtX2ZvckluQ29udGV4dFN0YWNrLnNpemUoKTsgaSA+IDA7IGktLSkg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApp
bmRleCA1ZmJlODY0MjBjNDMxMDhkMmRhODA2MDhkY2Y0ZjE1M2FjMjc1YWZhLi4yYWZhMGM0Y2Ux
MDFlODA5NTk5NGI1ZDQzOGI2OTQ2NDk5YThmNTc2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtMzM0LDEwICszMzQsMTIgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdE1ldGhvZENoZWNrKCk7CiAKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdEdldEJ5SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNl
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSk7CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRH
ZXRBcmd1bWVudHNMZW5ndGgoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlKTsKICAg
ICAgICAgUmVnaXN0ZXJJRCogZW1pdFB1dEJ5SWQoUmVnaXN0ZXJJRCogYmFzZSwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIHZhbHVlKTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdERpcmVjdFB1dEJ5SWQoUmVnaXN0ZXJJRCogYmFzZSwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHksIFJlZ2lzdGVySUQqIHZhbHVlKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdERl
bGV0ZUJ5SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlm
aWVyJik7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRHZXRCeVZhbChSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5KTsKKyAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdEdldEFyZ3VtZW50QnlWYWwoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBi
YXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXRC
eVZhbChSZWdpc3RlcklEKiBiYXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSwgUmVnaXN0ZXJJRCog
dmFsdWUpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0RGVsZXRlQnlWYWwoUmVnaXN0ZXJJRCog
ZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSk7CiAgICAgICAgIFJl
Z2lzdGVySUQqIGVtaXRQdXRCeUluZGV4KFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4
LCBSZWdpc3RlcklEKiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwCmluZGV4IGYwOThiYTY0ZDBiZDg1ZmEyNzMzMmMxNjkzNTEzZGZkM2U5ZGVk
YjkuLjJjYzFhM2Y5NjhhNjg5NWM2ZjdjZjdkODk3ZTc0MGNlYzdmN2E0N2YgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOTAsNiArMjkwLDEy
IEBAIFJlZ2lzdGVySUQqIFByb3BlcnR5TGlzdE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdl
bmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlCiAKIFJlZ2lzdGVySUQqIEJyYWNrZXRBY2Nlc3Nv
ck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3Rl
cklEKiBkc3QpCiB7CisgICAgaWYgKG1fYmFzZS0+aXNSZXNvbHZlTm9kZSgpICYmIGdlbmVyYXRv
ci53aWxsUmVzb2x2ZVRvQXJndW1lbnRzKHN0YXRpY19jYXN0PFJlc29sdmVOb2RlKj4obV9iYXNl
KS0+aWRlbnRpZmllcigpKSkgeworICAgICAgICBSZWdpc3RlcklEKiBwcm9wZXJ0eSA9IGdlbmVy
YXRvci5lbWl0Tm9kZShtX3N1YnNjcmlwdCk7CisgICAgICAgIGdlbmVyYXRvci5lbWl0RXhwcmVz
c2lvbkluZm8oZGl2b3QoKSwgc3RhcnRPZmZzZXQoKSwgZW5kT2Zmc2V0KCkpOyAgICAKKyAgICAg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0R2V0QXJndW1lbnRCeVZhbChnZW5lcmF0b3IuZmluYWxE
ZXN0aW5hdGlvbihkc3QpLCBnZW5lcmF0b3IudW5jaGVja2VkUmVnaXN0ZXJGb3JBcmd1bWVudHMo
KSwgcHJvcGVydHkpOworICAgIH0KKwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiBiYXNlID0gZ2Vu
ZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKG1fYmFzZSwgbV9zdWJzY3JpcHRIYXNBc3Np
Z25tZW50cywgbV9zdWJzY3JpcHQtPmlzUHVyZShnZW5lcmF0b3IpKTsKICAgICBSZWdpc3RlcklE
KiBwcm9wZXJ0eSA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX3N1YnNjcmlwdCk7CiAgICAgZ2VuZXJh
dG9yLmVtaXRFeHByZXNzaW9uSW5mbyhkaXZvdCgpLCBzdGFydE9mZnNldCgpLCBlbmRPZmZzZXQo
KSk7CkBAIC0zMDAsNiArMzA2LDE3IEBAIFJlZ2lzdGVySUQqIEJyYWNrZXRBY2Nlc3Nvck5vZGU6
OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpCiAKIFJlZ2lz
dGVySUQqIERvdEFjY2Vzc29yTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKKyAgICBpZiAobV9pZGVudCA9PSBnZW5lcmF0
b3IucHJvcGVydHlOYW1lcygpLmxlbmd0aCkgeworICAgICAgICBpZiAoIW1fYmFzZS0+aXNSZXNv
bHZlTm9kZSgpKQorICAgICAgICAgICAgZ290byBub25Bcmd1bWVudHNQYXRoOworICAgICAgICBS
ZXNvbHZlTm9kZSogcmVzb2x2ZU5vZGUgPSBzdGF0aWNfY2FzdDxSZXNvbHZlTm9kZSo+KG1fYmFz
ZSk7CisgICAgICAgIGlmICghZ2VuZXJhdG9yLndpbGxSZXNvbHZlVG9Bcmd1bWVudHMocmVzb2x2
ZU5vZGUtPmlkZW50aWZpZXIoKSkpCisgICAgICAgICAgICBnb3RvIG5vbkFyZ3VtZW50c1BhdGg7
CisgICAgICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3QoKSwgc3RhcnRPZmZz
ZXQoKSwgZW5kT2Zmc2V0KCkpOyAgICAKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0R2V0
QXJndW1lbnRzTGVuZ3RoKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIGdlbmVyYXRv
ci51bmNoZWNrZWRSZWdpc3RlckZvckFyZ3VtZW50cygpKTsKKyAgICB9CisKK25vbkFyZ3VtZW50
c1BhdGg6CiAgICAgUmVnaXN0ZXJJRCogYmFzZSA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX2Jhc2Up
OwogICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3QoKSwgc3RhcnRPZmZzZXQo
KSwgZW5kT2Zmc2V0KCkpOwogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJh
dG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgYmFzZSwgbV9pZGVudCk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggZjhhYmM2YTgwMzY4MjMwNDA1NTk1
NGE4ZWYyMzk4ZDJmZjY3ODQ3My4uYWJhY2MyOWQxYzhjZTc1NGEyMWY5YjNmNDMzNTAzOWQ1NzJi
ODM2MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAt
MzA5MSw2ICszMDkxLDQ2IEBAIHNraXBfaWRfY3VzdG9tX3NlbGY6CiAgICAgICAgIHZQQyArPSBP
UENPREVfTEVOR1RIKG9wX2dldF9ieV9wbmFtZSk7CiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04o
KTsKICAgICB9CisgICAgREVGSU5FX09QQ09ERShvcF9nZXRfYXJndW1lbnRzX2xlbmd0aCkgewor
ICAgICAgICBpbnQgZHN0ID0gdlBDWzFdLnUub3BlcmFuZDsKKyAgICAgICAgaW50IGFyZ3VtZW50
c1JlZ2lzdGVyID0gdlBDWzJdLnUub3BlcmFuZDsKKyAgICAgICAgaW50IHByb3BlcnR5ID0gdlBD
WzNdLnUub3BlcmFuZDsKKyAgICAgICAgSlNWYWx1ZSBhcmd1bWVudHMgPSBjYWxsRnJhbWUtPnIo
YXJndW1lbnRzUmVnaXN0ZXIpLmpzVmFsdWUoKTsKKyAgICAgICAgaWYgKGFyZ3VtZW50cykgewor
ICAgICAgICAgICAgSWRlbnRpZmllciYgaWRlbnQgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIocHJv
cGVydHkpOworICAgICAgICAgICAgUHJvcGVydHlTbG90IHNsb3QoYXJndW1lbnRzKTsKKyAgICAg
ICAgICAgIEpTVmFsdWUgcmVzdWx0ID0gYXJndW1lbnRzLmdldChjYWxsRnJhbWUsIGlkZW50LCBz
bG90KTsKKyAgICAgICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKKyAgICAgICAgICAgIGNh
bGxGcmFtZS0+cihkc3QpID0gcmVzdWx0OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGNh
bGxGcmFtZS0+cihkc3QpID0ganNOdW1iZXIoY2FsbEZyYW1lLCBjYWxsRnJhbWUtPmFyZ3VtZW50
Q291bnQoKSk7CisKKyAgICAgICAgdlBDICs9IE9QQ09ERV9MRU5HVEgob3BfZ2V0X2FyZ3VtZW50
c19sZW5ndGgpOworICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CisgICAgfQorICAgIERFRklO
RV9PUENPREUob3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbCkgeworICAgICAgICBpbnQgZHN0ID0gdlBD
WzFdLnUub3BlcmFuZDsKKyAgICAgICAgaW50IGFyZ3VtZW50c1JlZ2lzdGVyID0gdlBDWzJdLnUu
b3BlcmFuZDsKKyAgICAgICAgaW50IHByb3BlcnR5ID0gdlBDWzNdLnUub3BlcmFuZDsKKyAgICAg
ICAgSlNWYWx1ZSBhcmd1bWVudHMgPSBjYWxsRnJhbWUtPnIoYXJndW1lbnRzUmVnaXN0ZXIpLmpz
VmFsdWUoKTsKKyAgICAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBjYWxsRnJhbWUtPnIocHJvcGVy
dHkpLmpzVmFsdWUoKTsKKyAgICAgICAgaWYgKCFhcmd1bWVudHMgJiYgc3Vic2NyaXB0LmlzVUlu
dDMyKCkgJiYgc3Vic2NyaXB0LmFzVUludDMyKCkgPCBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQo
KSkgeworICAgICAgICAgICAgdW5zaWduZWQgYXJnID0gc3Vic2NyaXB0LmFzVUludDMyKCkgKyAx
OworICAgICAgICAgICAgdW5zaWduZWQgbnVtUGFyYW1ldGVycyA9IGNhbGxGcmFtZS0+Y29kZUJs
b2NrKCktPm1fbnVtUGFyYW1ldGVyczsKKyAgICAgICAgICAgIGlmIChhcmcgPCBudW1QYXJhbWV0
ZXJzKQorICAgICAgICAgICAgICAgIGNhbGxGcmFtZS0+cihkc3QpID0gY2FsbEZyYW1lLT5yKGFy
ZyAtIFJlZ2lzdGVyRmlsZTo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIG51bVBhcmFtZXRlcnMpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNhbGxGcmFtZS0+cihkc3QpID0gY2Fs
bEZyYW1lLT5yKGFyZyAtIFJlZ2lzdGVyRmlsZTo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIG51bVBh
cmFtZXRlcnMgLSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSAtIDEpOworICAgICAgICAgICAg
dlBDICs9IE9QQ09ERV9MRU5HVEgob3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbCk7CisgICAgICAgICAg
ICBORVhUX0lOU1RSVUNUSU9OKCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFhcmd1bWVudHMp
IHsKKyAgICAgICAgICAgIEFyZ3VtZW50cyogYXJndW1lbnRzID0gbmV3IChnbG9iYWxEYXRhKSBB
cmd1bWVudHMoY2FsbEZyYW1lKTsKKyAgICAgICAgICAgIGNhbGxGcmFtZS0+cihkc3QpID0gSlNW
YWx1ZShhcmd1bWVudHMpOworICAgICAgICAgICAgY2FsbEZyYW1lLT5yKHVubW9kaWZpZWRBcmd1
bWVudHNSZWdpc3Rlcihkc3QpKSA9IEpTVmFsdWUoYXJndW1lbnRzKTsKKyAgICAgICAgfQorICAg
ICAgICAvLyBmYWxsdGhyb3VnaAorICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX2dldF9ieV92
YWwpIHsKICAgICAgICAgLyogZ2V0X2J5X3ZhbCBkc3QocikgYmFzZShyKSBwcm9wZXJ0eShyKQog
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwCmluZGV4IGFjNzI3N2FiMzBiYjdjMzU2YmRjMTg5NmMxMjUwNWZmODYzYWFh
OGUuLmE1MDhkMGM3ODAxYTYyZjdkZDU4OWViMmIxNTE0OWQ3MzA0Y2M3NmIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCkBAIC0yMzgsNyArMjM4LDkgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICBERUZJTkVfT1Aob3BfZXEpCiAgICAgICAgIERFRklORV9PUChvcF9lcV9udWxs
KQogICAgICAgICBERUZJTkVfT1Aob3BfZ2V0X2J5X2lkKQorICAgICAgICBERUZJTkVfT1Aob3Bf
Z2V0X2FyZ3VtZW50c19sZW5ndGgpCiAgICAgICAgIERFRklORV9PUChvcF9nZXRfYnlfdmFsKQor
ICAgICAgICBERUZJTkVfT1Aob3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbCkKICAgICAgICAgREVGSU5F
X09QKG9wX2dldF9ieV9wbmFtZSkKICAgICAgICAgREVGSU5FX09QKG9wX2dldF9nbG9iYWxfdmFy
KQogICAgICAgICBERUZJTkVfT1Aob3BfZ2V0X3BuYW1lcykKQEAgLTM5OSw3ICs0MDEsOSBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogI2VuZGlmCiAgICAgICAgIERFRklO
RV9TTE9XQ0FTRV9PUChvcF9lcSkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX2dldF9i
eV9pZCkKKyAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX2dldF9hcmd1bWVudHNfbGVuZ3Ro
KQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfZ2V0X2J5X3ZhbCkKKyAgICAgICAgREVG
SU5FX1NMT1dDQVNFX09QKG9wX2dldF9hcmd1bWVudF9ieV92YWwpCiAgICAgICAgIERFRklORV9T
TE9XQ0FTRV9PUChvcF9nZXRfYnlfcG5hbWUpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChv
cF9pbnN0YW5jZW9mKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfamZhbHNlKQpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCmluZGV4IDY3NmE1YzVlNDdlODE4ODZlYzdlN2Q3MjA1YWE4MDQ4MDkyODZjNzkuLjZiMmU3
MGUxZDVmOWU0ODUxNWMwN2QwYWZhZmFhMzQyN2UyOWIxYjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTc0OCw3
ICs3NDgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX2VxKEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9lcV9udWxsKEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9p
ZCBlbWl0X29wX2dldF9hcmd1bWVudHNfbGVuZ3RoKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZv
aWQgZW1pdF9vcF9nZXRfYnlfdmFsKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9v
cF9nZXRfYXJndW1lbnRfYnlfdmFsKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9v
cF9nZXRfYnlfcG5hbWUoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2dldF9n
bG9iYWxfdmFyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfc2NvcGVk
X3ZhcihJbnN0cnVjdGlvbiopOwpAQCAtODQ2LDcgKzg0OCw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRTbG93X29wX2RpdihJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2Fz
ZUVudHJ5Pjo6aXRlcmF0b3ImKTsKICAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9lcShJbnN0cnVj
dGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKICAgICAgICAgdm9pZCBl
bWl0U2xvd19vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46
Oml0ZXJhdG9yJik7CisgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfZ2V0X2FyZ3VtZW50c19sZW5n
dGgoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAgICAg
ICAgIHZvaWQgZW1pdFNsb3dfb3BfZ2V0X2J5X3ZhbChJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93
Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9nZXRfYXJn
dW1lbnRfYnlfdmFsKEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRv
ciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2dldF9ieV9wbmFtZShJbnN0cnVjdGlvbios
IFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKICAgICAgICAgdm9pZCBlbWl0U2xv
d19vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVy
YXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2pmYWxzZShJbnN0cnVjdGlvbiosIFZl
Y3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCA3OTA1Y2QxOTU2MjlkYTdjOTRkZTM5YmM4NmE0MWRlYjY5ZjM4YzU5Li4zNWNkNjc4
YjIwMWFiNjljMTk2OTg2ODMyMjNlOTVmNTNmYTA5YzQxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCkBAIC0xNDcwLDYgKzE0NzAsODggQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3RvX2pz
bnVtYmVyKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2EKICAg
ICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwogfQogCit2
b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRzX2xlbmd0aChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQoreworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kOworICAgIGludCBhcmd1bWVudHNSZWdpc3RlciA9IGN1cnJlbnRJbnN0cnVjdGlvblsy
XS51Lm9wZXJhbmQ7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoVGVzdFB0cihOb25aZXJvLCBhZGRy
ZXNzRm9yKGFyZ3VtZW50c1JlZ2lzdGVyKSkpOworICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyMzIoUmVnaXN0ZXJGaWxlOjpBcmd1bWVudENvdW50LCByZWdUMCk7CisgICAgc3ViMzIoSW1t
MzIoMSksIHJlZ1QwKTsKKyAgICBlbWl0RmFzdEFyaXRoUmVUYWdJbW1lZGlhdGUocmVnVDAsIHJl
Z1QwKTsKKyAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCwgcmVnVDApOworfQorCit2b2lk
IEpJVDo6ZW1pdFNsb3dfb3BfZ2V0X2FyZ3VtZW50c19sZW5ndGgoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKK3sK
KyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisgICAgdW5zaWduZWQgZHN0ID0gY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZDsKKyAgICB1bnNpZ25lZCBiYXNlID0gY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZDsKKyAgICBJZGVudGlmaWVyKiBpZGVudCA9ICYobV9jb2RlQmxvY2st
PmlkZW50aWZpZXIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCkpOworICAgIAorICAg
IGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYmFzZSwgcmVnVDApOworICAgIEpJVFN0dWJDYWxsIHN0
dWJDYWxsKHRoaXMsIGN0aV9vcF9nZXRfYnlfaWRfZ2VuZXJpYyk7CisgICAgc3R1YkNhbGwuYWRk
QXJndW1lbnQocmVnVDApOworICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KEltbVB0cihpZGVudCkp
OworICAgIHN0dWJDYWxsLmNhbGwoZHN0KTsKK30KKwordm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2Fy
Z3VtZW50X2J5X3ZhbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGlu
dCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworICAgIGludCBhcmd1bWVu
dHNSZWdpc3RlciA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CisgICAgaW50IHBy
b3BlcnR5ID0gY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKKyAgICBhZGRTbG93Q2Fz
ZShicmFuY2hUZXN0UHRyKE5vblplcm8sIGFkZHJlc3NGb3IoYXJndW1lbnRzUmVnaXN0ZXIpKSk7
CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihwcm9wZXJ0eSwgcmVnVDEpOworICAgIGFkZFNs
b3dDYXNlKGVtaXRKdW1wSWZOb3RJbW1lZGlhdGVJbnRlZ2VyKHJlZ1QxKSk7CisgICAgYWRkMzIo
SW1tMzIoMSksIHJlZ1QxKTsKKyAgICAvLyByZWdUMSBub3cgY29udGFpbnMgdGhlIGludGVnZXIg
aW5kZXggb2YgdGhlIGFyZ3VtZW50IHdlIHdhbnQsIGluY2x1ZGluZyB0aGlzCisgICAgZW1pdEdl
dEZyb21DYWxsRnJhbWVIZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1Qy
KTsKKyAgICBhZGRTbG93Q2FzZShicmFuY2gzMihBYm92ZU9yRXF1YWwsIHJlZ1QxLCByZWdUMikp
OworICAgIAorICAgIEp1bXAgc2tpcE91dG9mTGluZVBhcmFtczsKKyAgICBpbnQgbnVtQXJncyA9
IG1fY29kZUJsb2NrLT5tX251bVBhcmFtZXRlcnM7CisgICAgaWYgKG51bUFyZ3MpIHsKKyAgICAg
ICAgSnVtcCBub3RJbkluUGxhY2VBcmdzID0gYnJhbmNoMzIoQWJvdmVPckVxdWFsLCByZWdUMSwg
SW1tMzIobnVtQXJncykpOworICAgICAgICBhZGRQdHIoSW1tMzIoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KC0oUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICsgbnVtQXJncykgKiBzaXpl
b2YoUmVnaXN0ZXIpKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMCk7CisgICAgICAgIGxvYWRQ
dHIoQmFzZUluZGV4KHJlZ1QwLCByZWdUMSwgVGltZXNFaWdodCwgMCksIHJlZ1QwKTsKKyAgICAg
ICAgc2tpcE91dG9mTGluZVBhcmFtcyA9IGp1bXAoKTsKKyAgICAgICAgbm90SW5JblBsYWNlQXJn
cy5saW5rKHRoaXMpOworICAgIH0KKyAgICAKKyAgICBhZGRQdHIoSW1tMzIoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KC0oUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICsgbnVtQXJncykg
KiBzaXplb2YoUmVnaXN0ZXIpKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMCk7CisgICAgbXVs
MzIoSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QyLCByZWdUMik7CisgICAgc3ViUHRyKHJl
Z1QyLCByZWdUMCk7CisgICAgbG9hZFB0cihCYXNlSW5kZXgocmVnVDAsIHJlZ1QxLCBUaW1lc0Vp
Z2h0LCAwKSwgcmVnVDApOworICAgIGlmIChudW1BcmdzKQorICAgICAgICBza2lwT3V0b2ZMaW5l
UGFyYW1zLmxpbmsodGhpcyk7CisgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QsIHJlZ1Qw
KTsKK30KKwordm9pZCBKSVQ6OmVtaXRTbG93X29wX2dldF9hcmd1bWVudF9ieV92YWwoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRv
ciYgaXRlcikKK3sKKyAgICB1bnNpZ25lZCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kOworICAgIHVuc2lnbmVkIGFyZ3VtZW50cyA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51
Lm9wZXJhbmQ7CisgICAgdW5zaWduZWQgcHJvcGVydHkgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kOworICAgIAorICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKKyAgICBKdW1wIHNraXBB
cmd1bWVudHNDcmVhdGlvbiA9IGp1bXAoKTsKKyAgICAKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7
CisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOworICAgIGlmIChtX2NvZGVCbG9jay0+bV9udW1QYXJh
bWV0ZXJzID09IDEpCisgICAgICAgIEpJVFN0dWJDYWxsKHRoaXMsIGN0aV9vcF9jcmVhdGVfYXJn
dW1lbnRzX25vX3BhcmFtcykuY2FsbCgpOworICAgIGVsc2UKKyAgICAgICAgSklUU3R1YkNhbGwo
dGhpcywgY3RpX29wX2NyZWF0ZV9hcmd1bWVudHMpLmNhbGwoKTsKKyAgICBlbWl0UHV0VmlydHVh
bFJlZ2lzdGVyKGRzdCk7CisgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcih1bm1vZGlmaWVkQXJn
dW1lbnRzUmVnaXN0ZXIoZHN0KSk7CisgICAgCisgICAgc2tpcEFyZ3VtZW50c0NyZWF0aW9uLmxp
bmsodGhpcyk7CisgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX2dldF9ieV92
YWwpOworICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KGFyZ3VtZW50cywgcmVnVDIpOworICAgIHN0
dWJDYWxsLmFkZEFyZ3VtZW50KHByb3BlcnR5LCByZWdUMik7CisgICAgc3R1YkNhbGwuY2FsbChk
c3QpOworfQorCiAjZW5kaWYgLy8gIVVTRShKU1ZBTFVFMzJfNjQpCiAKIHZvaWQgSklUOjplbWl0
X29wX3Jlc29sdmVfZ2xvYmFsX2R5bmFtaWMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIGIv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKaW5kZXggZWY3MTBlZjEzNzFi
MmVhN2I2NDgzMDVkN2M1MjQzMGE0NmMyMTI2YS4uYWQzYjU1ODI2YTJmZWEwYTk2YWY2NDkzYjNj
NzQxNTEwZmQ3ZGVmZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMz
Ml82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAg
LTE1NjIsNiArMTU2Miw4OSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wcm9maWxlX2RpZF9jYWxsKElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgbm9Qcm9maWxlci5saW5rKHRoaXMp
OwogfQogCit2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRzX2xlbmd0aChJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kOworICAgIGludCBhcmd1bWVudHNSZWdpc3RlciA9IGN1cnJlbnRJbnN0
cnVjdGlvblsyXS51Lm9wZXJhbmQ7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoTm90RXF1YWws
IHRhZ0Zvcihhcmd1bWVudHNSZWdpc3RlciksIEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcp
KSk7CisgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3Vt
ZW50Q291bnQsIHJlZ1QwKTsKKyAgICBzdWIzMihJbW0zMigxKSwgcmVnVDApOworICAgIGVtaXRT
dG9yZUludDMyKGRzdCwgcmVnVDApOworfQorCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfZ2V0X2Fy
Z3VtZW50c19sZW5ndGgoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKK3sKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7
CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAgaW50
IGJhc2UgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworICAgIGludCBpZGVudCA9
IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CisgICAgCisgICAgSklUU3R1YkNhbGwg
c3R1YkNhbGwodGhpcywgY3RpX29wX2dldF9ieV9pZF9nZW5lcmljKTsKKyAgICBzdHViQ2FsbC5h
ZGRBcmd1bWVudChiYXNlKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoJihtX2Nv
ZGVCbG9jay0+aWRlbnRpZmllcihpZGVudCkpKSk7CisgICAgc3R1YkNhbGwuY2FsbChkc3QpOwor
fQorCit2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRfYnlfdmFsKEluc3RydWN0aW9uKiBj
dXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsx
XS51Lm9wZXJhbmQ7CisgICAgaW50IGFyZ3VtZW50c1JlZ2lzdGVyID0gY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZDsKKyAgICBpbnQgcHJvcGVydHkgPSBjdXJyZW50SW5zdHJ1Y3Rpb25b
M10udS5vcGVyYW5kOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3Io
YXJndW1lbnRzUmVnaXN0ZXIpLCBJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSkpOworICAg
IGVtaXRMb2FkKHByb3BlcnR5LCByZWdUMSwgcmVnVDIpOworICAgIGFkZFNsb3dDYXNlKGJyYW5j
aDMyKE5vdEVxdWFsLCByZWdUMSwgSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKSk7CisgICAgYWRk
MzIoSW1tMzIoMSksIHJlZ1QyKTsKKyAgICAvLyByZWdUMiBub3cgY29udGFpbnMgdGhlIGludGVn
ZXIgaW5kZXggb2YgdGhlIGFyZ3VtZW50IHdlIHdhbnQsIGluY2x1ZGluZyB0aGlzCisgICAgZW1p
dEdldEZyb21DYWxsRnJhbWVIZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJl
Z1QzKTsKKyAgICBhZGRTbG93Q2FzZShicmFuY2gzMihBYm92ZU9yRXF1YWwsIHJlZ1QyLCByZWdU
MykpOworICAgIAorICAgIEp1bXAgc2tpcE91dG9mTGluZVBhcmFtczsKKyAgICBpbnQgbnVtQXJn
cyA9IG1fY29kZUJsb2NrLT5tX251bVBhcmFtZXRlcnM7CisgICAgaWYgKG51bUFyZ3MpIHsKKyAg
ICAgICAgSnVtcCBub3RJbkluUGxhY2VBcmdzID0gYnJhbmNoMzIoQWJvdmVPckVxdWFsLCByZWdU
MiwgSW1tMzIobnVtQXJncykpOworICAgICAgICBhZGRQdHIoSW1tMzIoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KC0oUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICsgbnVtQXJncykgKiBz
aXplb2YoUmVnaXN0ZXIpKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7CisgICAgICAgIGxv
YWRQdHIoQmFzZUluZGV4KHJlZ1QxLCByZWdUMiwgVGltZXNFaWdodCwgT0JKRUNUX09GRlNFVE9G
KEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVnVDApOworICAgICAgICBsb2FkUHRyKEJh
c2VJbmRleChyZWdUMSwgcmVnVDIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVl
LCB1LmFzQml0cy50YWcpKSwgcmVnVDEpOworICAgICAgICBza2lwT3V0b2ZMaW5lUGFyYW1zID0g
anVtcCgpOworICAgICAgICBub3RJbkluUGxhY2VBcmdzLmxpbmsodGhpcyk7CisgICAgfQorCisg
ICAgYWRkUHRyKEltbTMyKHN0YXRpY19jYXN0PHVuc2lnbmVkPigtKFJlZ2lzdGVyRmlsZTo6Q2Fs
bEZyYW1lSGVhZGVyU2l6ZSArIG51bUFyZ3MpICogc2l6ZW9mKFJlZ2lzdGVyKSkpLCBjYWxsRnJh
bWVSZWdpc3RlciwgcmVnVDEpOworICAgIG11bDMyKEltbTMyKHNpemVvZihSZWdpc3RlcikpLCBy
ZWdUMywgcmVnVDMpOworICAgIHN1YlB0cihyZWdUMywgcmVnVDEpOworICAgIGxvYWRQdHIoQmFz
ZUluZGV4KHJlZ1QxLCByZWdUMiwgVGltZXNFaWdodCwgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUs
IHUuYXNCaXRzLnBheWxvYWQpKSwgcmVnVDApOworICAgIGxvYWRQdHIoQmFzZUluZGV4KHJlZ1Qx
LCByZWdUMiwgVGltZXNFaWdodCwgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnRh
ZykpLCByZWdUMSk7CisgICAgaWYgKG51bUFyZ3MpCisgICAgICAgIHNraXBPdXRvZkxpbmVQYXJh
bXMubGluayh0aGlzKTsKKyAgICBlbWl0U3RvcmUoZHN0LCByZWdUMSwgcmVnVDApOworfQorCit2
b2lkIEpJVDo6ZW1pdFNsb3dfb3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQor
eworICAgIHVuc2lnbmVkIGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Cisg
ICAgdW5zaWduZWQgYXJndW1lbnRzID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsK
KyAgICB1bnNpZ25lZCBwcm9wZXJ0eSA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7
CisKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisgICAgSnVtcCBza2lwQXJndW1lbnRzQ3JlYXRp
b24gPSBqdW1wKCk7CisKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisgICAgbGlua1Nsb3dDYXNl
KGl0ZXIpOworICAgIGlmIChtX2NvZGVCbG9jay0+bV9udW1QYXJhbWV0ZXJzID09IDEpCisgICAg
ICAgIEpJVFN0dWJDYWxsKHRoaXMsIGN0aV9vcF9jcmVhdGVfYXJndW1lbnRzX25vX3BhcmFtcyku
Y2FsbCgpOworICAgIGVsc2UKKyAgICAgICAgSklUU3R1YkNhbGwodGhpcywgY3RpX29wX2NyZWF0
ZV9hcmd1bWVudHMpLmNhbGwoKTsKKyAgICAKKyAgICBlbWl0U3RvcmUoYXJndW1lbnRzLCByZWdU
MSwgcmVnVDApOworICAgIGVtaXRTdG9yZSh1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIoYXJn
dW1lbnRzKSwgcmVnVDEsIHJlZ1QwKTsKKyAgICAKKyAgICBza2lwQXJndW1lbnRzQ3JlYXRpb24u
bGluayh0aGlzKTsKKyAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfZ2V0X2J5
X3ZhbCk7CisgICAgc3R1YkNhbGwuYWRkQXJndW1lbnQoYXJndW1lbnRzKTsKKyAgICBzdHViQ2Fs
bC5hZGRBcmd1bWVudChwcm9wZXJ0eSk7CisgICAgc3R1YkNhbGwuY2FsbChkc3QpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQpCg==
</data>
<flag name="review"
          id="58407"
          type_id="1"
          status="+"
          setter="zwarich"
    />
          </attachment>
      

    </bug>

</bugzilla>