<?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>46433</bug_id>
          
          <creation_ts>2010-09-23 17:07:39 -0700</creation_ts>
          <short_desc>Delay construction of functions that aren&apos;t captured</short_desc>
          <delta_ts>2010-09-24 12:06:56 -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>
          <dependson>46447</dependson>
    
    <dependson>46448</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284120</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-23 17:07:39 -0700</bug_when>
    <thetext>Delay construction of functions that aren&apos;t captured</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284124</commentid>
    <comment_count>1</comment_count>
      <attachid>68626</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-23 17:11:39 -0700</bug_when>
    <thetext>Created attachment 68626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284131</commentid>
    <comment_count>2</comment_count>
      <attachid>68626</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-09-23 17:22:17 -0700</bug_when>
    <thetext>Comment on attachment 68626
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284156</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-23 17:53:21 -0700</bug_when>
    <thetext>Committed r68223: &lt;http://trac.webkit.org/changeset/68223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284172</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 18:33:54 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68223 might have broken SnowLeopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284218</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-23 22:22:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; http://trac.webkit.org/changeset/68223 might have broken SnowLeopard Intel Release (Tests)

Bustage looks real...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284219</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-23 22:23:04 -0700</bug_when>
    <thetext>http://build.webkit.org/results/Leopard%20Intel%20Release%20(Tests)/r68223%20(21670)/fast/js/kde/arguments-scope-pretty-diff.html
http://build.webkit.org/results/Leopard%20Intel%20Release%20(Tests)/r68223%20(21670)/fast/js/sputnik/Conformance/10_Execution_Contexts/10.1_Definitions/10.1.3_Variable_Instantiation/S10.1.3_A4_T1-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284242</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-23 23:24:08 -0700</bug_when>
    <thetext>And Qt:
http://build.webkit.org/results/Qt%20Linux%20Release/r68235%20(20738)/fast/js/kde/arguments-scope-pretty-diff.html
http://build.webkit.org/results/Qt%20Linux%20Release/r68235%20(20738)/fast/js/sputnik/Conformance/10_Execution_Contexts/10.1_Definitions/10.1.3_Variable_Instantiation/S10.1.3_A4_T1-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284247</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-23 23:27:14 -0700</bug_when>
    <thetext>Reopen, because it was rolled out by http://trac.webkit.org/changeset/68237</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284249</commentid>
    <comment_count>9</comment_count>
      <attachid>68626</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-23 23:27:40 -0700</bug_when>
    <thetext>Comment on attachment 68626
Patch

Remove r+ from landed and rolled out patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284600</commentid>
    <comment_count>10</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-24 12:06:56 -0700</bug_when>
    <thetext>Committed r68281</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68626</attachid>
            <date>2010-09-23 17:11:39 -0700</date>
            <delta_ts>2010-09-23 23:27:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46433-20100923171138.patch</filename>
            <type>text/plain</type>
            <size>21362</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBiODBkMDIwNjc3YzY5ODhlYzc2YjNhYWIzYzQ5ZjM5OWI3YjQwOTRjLi5j
NjMzYzAzNmU5MDliYjliNmUyNDgzMjBlYTg0OWFlNzY1NWVjMDU4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMTAtMDktMjMgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWxheSBj
b25zdHJ1Y3Rpb24gb2YgZnVuY3Rpb25zIHRoYXQgYXJlbid0IGNhcHR1cmVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQzMworCisgICAgICAgIElm
IGEgZnVuY3Rpb24gaXNuJ3QgY2FwdHVyZWQgYnkgYW4gYWN0aXZhdGlvbiB0aGVyZSdzIG5vCisg
ICAgICAgIHdheSBpdCBjYW4gYmUgYWNjZXNzZWQgaW5kaXJlY3RseSwgc28gd2UgY2FuIGRlbGF5
IHRoZQorICAgICAgICBjb25zdHJ1Y3Rpb24gdW50aWwgaXQncyB1c2VkIChzaW1pbGFyIHRvIHdo
YXQgd2UgZG8gd2l0aAorICAgICAgICBhcmd1bWVudHMpLiAgV2UgcmVuYW1lIHRoZSBleGlzdGlu
ZyBvcF9pbml0X2FyZ3VtZW50cyB0bworICAgICAgICBvcF9pbml0X2xhenlfcmVnIGFuZCByZW1v
dmVkIGl0cyBpbXBsaWNpdCBoYW5kbGluZyBvZgorICAgICAgICB0aGUgYW5vbnltb3VzIGFyZ3Vt
ZW50IHJlZ2lzdGVyLCBhbmQgbWFrZSBvcF9uZXdfZnVuY3Rpb24KKyAgICAgICAgdGFrZSBhIHBh
cmFtZXRlciB0byBpbmRpY2F0ZSB3aGV0aGVyIGl0IHNob3VsZCBudWxsIGNoZWNrCisgICAgICAg
IHRoZSB0YXJnZXQgc2xvdCBiZWZvcmUgY3JlYXRpbmcgdGhlIGZ1bmN0aW9uIG9iamVjdC4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9j
azo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvT3Bjb2RlLmg6CisgICAgICAgICogYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXRJbml0TGF6eVJlZ2lzdGVyKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OnJlZ2lzdGVyRm9yKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmNyZWF0
ZUxhenlSZWdpc3RlcklmTmVjZXNzYXJ5KToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OmNvbnN0UmVnaXN0ZXJGb3IpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRM
YXp5TmV3RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Z1bmN0aW9uSW50ZXJuYWwpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6SW50ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklULmNw
cDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAg
KiBqaXQvSklULmg6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRfb3BfaW5pdF9sYXp5X3JlZyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfZnVuYyk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAg
IChKU0M6OkpJVDo6ZW1pdF9vcF9pbml0X2xhenlfcmVnKToKKyAgICAgICAgKiBwYXJzZXIvTm9k
ZXMuaDoKKyAgICAgICAgKEpTQzo6U2NvcGVOb2RlOjpuZWVkc0FjdGl2YXRpb25Gb3JNb3JlVGhh
blZhcmlhYmxlcyk6CisKIDIwMTAtMDktMjMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQ2MDczMT4gfjkuOSUgc3BlZWR1cCB3
aGVuIGNvbXBpbGluZyBpbnRlcnByZXRlciB3aXRoIGxsdm0tZ2NjLTQuMgpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggNjcyNmViNTVlZDlmZTk3NzE3Yjg3NjdkZGExNzFk
NWUzODU5ZmNhNS4uODQ5ZjJiYTExMjA3M2RiYmNlYWYxYzE1NGY1ZDg2MjVhNTgyMGFiOSAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC00OTUsOSArNDk1LDkgQEAgdm9p
ZCBDb2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBWZWN0b3I8SW5zdHJ1Y3Rp
b24+Ojpjb25zdF9pdGVyYXRvciYKICAgICAgICAgICAgIHByaW50ZigiWyU0ZF0gY3JlYXRlX2Fy
Z3VtZW50c1x0ICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIwKS5kYXRhKCkp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF9pbml0X2Fy
Z3VtZW50czogeworICAgICAgICBjYXNlIG9wX2luaXRfbGF6eV9yZWc6IHsKICAgICAgICAgICAg
IGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAgcHJpbnRmKCJbJTRkXSBp
bml0X2FyZ3VtZW50c1x0ICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIwKS5k
YXRhKCkpOworICAgICAgICAgICAgcHJpbnRmKCJbJTRkXSBpbml0X2xhenlfcmVnXHQgJXNcbiIs
IGxvY2F0aW9uLCByZWdpc3Rlck5hbWUoZXhlYywgcjApLmRhdGEoKSk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIG9wX2dldF9jYWxsZWU6IHsKQEAgLTcxMyw5
ICs3MTMsNyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZl
Y3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJgogICAgICAgICBjYXNlIG9wX3Jlc29s
dmVfZ2xvYmFsOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAg
ICAgICAgICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFuZDsKLSAgICAgICAgICAgIEpTVmFs
dWUgc2NvcGUgPSBKU1ZhbHVlKCgrK2l0KS0+dS5qc0NlbGwpOwotICAgICAgICAgICAgKytpdDsK
LSAgICAgICAgICAgIHByaW50ZigiWyU0ZF0gcmVzb2x2ZV9nbG9iYWxcdCAlcywgJXMsICVzXG4i
LCBsb2NhdGlvbiwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIwKS5kYXRhKCksIHZhbHVlVG9Tb3VyY2VT
dHJpbmcoZXhlYywgc2NvcGUpLnV0ZjgoKS5kYXRhKCksIGlkTmFtZShpZDAsIG1faWRlbnRpZmll
cnNbaWQwXSkuZGF0YSgpKTsKKyAgICAgICAgICAgIHByaW50ZigiWyU0ZF0gcmVzb2x2ZV9nbG9i
YWxcdCAlcywgJXNcbiIsIGxvY2F0aW9uLCByZWdpc3Rlck5hbWUoZXhlYywgcjApLmRhdGEoKSwg
aWROYW1lKGlkMCwgbV9pZGVudGlmaWVyc1tpZDBdKS5kYXRhKCkpOwogICAgICAgICAgICAgaXQg
Kz0gMjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xMDMwLDcgKzEwMjgsOCBA
QCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZlY3RvcjxJbnN0
cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJgogICAgICAgICBjYXNlIG9wX25ld19mdW5jOiB7CiAg
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCBm
MCA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAgcHJpbnRmKCJbJTRkXSBuZXdfZnVu
Y1x0XHQgJXMsIGYlZFxuIiwgbG9jYXRpb24sIHJlZ2lzdGVyTmFtZShleGVjLCByMCkuZGF0YSgp
LCBmMCk7CisgICAgICAgICAgICBpbnQgc2hvdWxkQ2hlY2sgPSAoKytpdCktPnUub3BlcmFuZDsK
KyAgICAgICAgICAgIHByaW50ZigiWyU0ZF0gbmV3X2Z1bmNcdFx0ICVzLCBmJWQsICVzXG4iLCBs
b2NhdGlvbiwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIwKS5kYXRhKCksIGYwLCBzaG91bGRDaGVjayA/
ICI8Q2hlY2tlZD4iIDogIjxVbmNoZWNrZWQ+Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNv
ZGUuaAppbmRleCA0NTYzZWJlYTQ0ODAwNjZmZDBhYTJlOWRlMzk5MzIzNWMxMDA2NWMxLi42OGU1
MmU3MzViMzZjYTk4MmY1YzE4MjkyMTMwODE0NDcxOWM5ZjhiIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAjZGVmaW5lIEZP
Ul9FQUNIX09QQ09ERV9JRChtYWNybykgXAogICAgICAgICBtYWNybyhvcF9lbnRlciwgMSkgXAog
ICAgICAgICBtYWNybyhvcF9lbnRlcl93aXRoX2FjdGl2YXRpb24sIDIpIFwKLSAgICAgICAgbWFj
cm8ob3BfaW5pdF9hcmd1bWVudHMsIDIpIFwKKyAgICAgICAgbWFjcm8ob3BfaW5pdF9sYXp5X3Jl
ZywgMikgXAogICAgICAgICBtYWNybyhvcF9jcmVhdGVfYXJndW1lbnRzLCAyKSBcCiAgICAgICAg
IG1hY3JvKG9wX2NyZWF0ZV90aGlzLCAzKSBcCiAgICAgICAgIG1hY3JvKG9wX2dldF9jYWxsZWUs
IDIpIFwKQEAgLTE1Myw3ICsxNTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbWFjcm8o
b3Bfc3dpdGNoX2NoYXIsIDQpIFwKICAgICAgICAgbWFjcm8ob3Bfc3dpdGNoX3N0cmluZywgNCkg
XAogICAgICAgICBcCi0gICAgICAgIG1hY3JvKG9wX25ld19mdW5jLCAzKSBcCisgICAgICAgIG1h
Y3JvKG9wX25ld19mdW5jLCA0KSBcCiAgICAgICAgIG1hY3JvKG9wX25ld19mdW5jX2V4cCwgMykg
XAogICAgICAgICBtYWNybyhvcF9jYWxsLCA0KSBcCiAgICAgICAgIG1hY3JvKG9wX2NhbGxfZXZh
bCwgNCkgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKaW5kZXggZTQwOTAyNzA0YjAxYzNiMTRkZTRiMmIxYzhmOTIwZDVkN2ZkNjU0MS4u
NTg1NTdmY2MyOTI0YzQ4NTUxNDI4MmMzM2YzYjQ0MDM4OWU2MTU1MSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yMTQsNiAr
MjE0LDggQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFByb2dyYW1Ob2Rl
KiBwcm9ncmFtTm9kZSwgY29uc3QgRGVidWdnZXIqIGQKICAgICAsIG1fbmV4dEdsb2JhbEluZGV4
KC0xKQogICAgICwgbV9uZXh0Q29uc3RhbnRPZmZzZXQoMCkKICAgICAsIG1fZ2xvYmFsQ29uc3Rh
bnRJbmRleCgwKQorICAgICwgbV9maXJzdExhenlGdW5jdGlvbigwKQorICAgICwgbV9sYXN0TGF6
eUZ1bmN0aW9uKDApCiAgICAgLCBtX2dsb2JhbERhdGEoJnNjb3BlQ2hhaW4uZ2xvYmFsT2JqZWN0
KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAgICwgbV9sYXN0T3Bjb2RlSUQob3Bf
ZW5kKQogI2lmbmRlZiBOREVCVUcKQEAgLTMwNCw2ICszMDYsOCBAQCBCeXRlY29kZUdlbmVyYXRv
cjo6Qnl0ZWNvZGVHZW5lcmF0b3IoRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb25Cb2R5LCBjb25z
dCBEZWJ1ZwogICAgICwgbV9jb2RlVHlwZShGdW5jdGlvbkNvZGUpCiAgICAgLCBtX25leHRDb25z
dGFudE9mZnNldCgwKQogICAgICwgbV9nbG9iYWxDb25zdGFudEluZGV4KDApCisgICAgLCBtX2Zp
cnN0TGF6eUZ1bmN0aW9uKDApCisgICAgLCBtX2xhc3RMYXp5RnVuY3Rpb24oMCkKICAgICAsIG1f
Z2xvYmFsRGF0YSgmc2NvcGVDaGFpbi5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpLT5nbG9i
YWxEYXRhKCkpCiAgICAgLCBtX2xhc3RPcGNvZGVJRChvcF9lbmQpCiAgICAgLCBtX2VtaXROb2Rl
RGVwdGgoMCkKQEAgLTMzNSw4ICszMzksOCBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVH
ZW5lcmF0b3IoRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb25Cb2R5LCBjb25zdCBEZWJ1ZwogICAg
ICAgICBjb2RlQmxvY2stPnNldEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyLT5p
bmRleCgpKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRCh1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0
ZXIsIHVubW9kaWZpZWRBcmd1bWVudHNSZWdpc3Rlci0+aW5kZXgoKSA9PSBKU0M6OnVubW9kaWZp
ZWRBcmd1bWVudHNSZWdpc3Rlcihjb2RlQmxvY2stPmFyZ3VtZW50c1JlZ2lzdGVyKCkpKTsKIAot
ICAgICAgICBlbWl0T3Bjb2RlKG9wX2luaXRfYXJndW1lbnRzKTsKLSAgICAgICAgaW5zdHJ1Y3Rp
b25zKCkuYXBwZW5kKGFyZ3VtZW50c1JlZ2lzdGVyLT5pbmRleCgpKTsKKyAgICAgICAgZW1pdElu
aXRMYXp5UmVnaXN0ZXIoYXJndW1lbnRzUmVnaXN0ZXIpOworICAgICAgICBlbWl0SW5pdExhenlS
ZWdpc3Rlcih1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIpOwogCiAgICAgICAgIC8vIFRoZSBk
ZWJ1Z2dlciBjdXJyZW50bHkgcmV0cmlldmVzIHRoZSBhcmd1bWVudHMgb2JqZWN0IGZyb20gYW4g
YWN0aXZhdGlvbiByYXRoZXIgdGhhbiBwdWxsaW5nCiAgICAgICAgIC8vIGl0IGZyb20gYSBjYWxs
IGZyYW1lLiAgSW4gdGhlIGxvbmctdGVybSBpdCBzaG91bGQgc3RvcCBkb2luZyB0aGF0ICg8cmRh
cjovL3Byb2JsZW0vNjkxMTg4Nj4pLApAQCAtMzY3LDE1ICszNzEsMjQgQEAgQnl0ZWNvZGVHZW5l
cmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uQm9keSwg
Y29uc3QgRGVidWcKICAgICAgICAgICAgICAgICBhZGRWYXIoaWRlbnQsIHZhclN0YWNrW2ldLnNl
Y29uZCAmIERlY2xhcmF0aW9uU3RhY2tzOjpJc0NvbnN0YW50KTsKICAgICAgICAgfQogICAgIH0K
KyAgICBib29sIGNhbkxhemlseUNyZWF0ZUZ1bmN0aW9ucyA9ICFmdW5jdGlvbkJvZHktPm5lZWRz
QWN0aXZhdGlvbkZvck1vcmVUaGFuVmFyaWFibGVzKCk7CiAgICAgY29kZUJsb2NrLT5tX251bUNh
cHR1cmVkVmFycyA9IGNvZGVCbG9jay0+bV9udW1WYXJzOworICAgIG1fZmlyc3RMYXp5RnVuY3Rp
b24gPSBjb2RlQmxvY2stPm1fbnVtVmFyczsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZ1
bmN0aW9uU3RhY2suc2l6ZSgpOyArK2kpIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogZnVu
Y3Rpb24gPSBmdW5jdGlvblN0YWNrW2ldOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCA9IGZ1bmN0aW9uLT5pZGVudCgpOwogICAgICAgICBpZiAoIWZ1bmN0aW9uQm9keS0+Y2FwdHVy
ZXMoaWRlbnQpKSB7CiAgICAgICAgICAgICBtX2Z1bmN0aW9ucy5hZGQoaWRlbnQuaW1wbCgpKTsK
LSAgICAgICAgICAgIGVtaXROZXdGdW5jdGlvbihhZGRWYXIoaWRlbnQsIGZhbHNlKSwgZnVuY3Rp
b24pOworICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHJlZyA9IGFkZFZhcihpZGVudCwg
ZmFsc2UpOworICAgICAgICAgICAgaWYgKCFjYW5MYXppbHlDcmVhdGVGdW5jdGlvbnMpCisgICAg
ICAgICAgICAgICAgZW1pdE5ld0Z1bmN0aW9uKHJlZy5nZXQoKSwgZnVuY3Rpb24pOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZW1pdEluaXRMYXp5UmVnaXN0ZXIocmVnLmdl
dCgpKTsKKyAgICAgICAgICAgICAgICBtX2xhenlGdW5jdGlvbnMuc2V0KHJlZy0+aW5kZXgoKSwg
ZnVuY3Rpb24pOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorICAgIG1fbGFzdExh
enlGdW5jdGlvbiA9IGNhbkxhemlseUNyZWF0ZUZ1bmN0aW9ucyA/IGNvZGVCbG9jay0+bV9udW1W
YXJzIDogbV9maXJzdExhenlGdW5jdGlvbjsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZh
clN0YWNrLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0g
KnZhclN0YWNrW2ldLmZpcnN0OwogICAgICAgICBpZiAoIWZ1bmN0aW9uQm9keS0+Y2FwdHVyZXMo
aWRlbnQpKQpAQCAtNDMzLDYgKzQ0Niw4IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdl
bmVyYXRvcihFdmFsTm9kZSogZXZhbE5vZGUsIGNvbnN0IERlYnVnZ2VyKiBkZWJ1Z2dlCiAgICAg
LCBtX2NvZGVUeXBlKEV2YWxDb2RlKQogICAgICwgbV9uZXh0Q29uc3RhbnRPZmZzZXQoMCkKICAg
ICAsIG1fZ2xvYmFsQ29uc3RhbnRJbmRleCgwKQorICAgICwgbV9maXJzdExhenlGdW5jdGlvbigw
KQorICAgICwgbV9sYXN0TGF6eUZ1bmN0aW9uKDApCiAgICAgLCBtX2dsb2JhbERhdGEoJnNjb3Bl
Q2hhaW4uZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAgICwg
bV9sYXN0T3Bjb2RlSUQob3BfZW5kKQogICAgICwgbV9lbWl0Tm9kZURlcHRoKDApCkBAIC00NjIs
NiArNDc3LDEzIEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihFdmFsTm9k
ZSogZXZhbE5vZGUsIGNvbnN0IERlYnVnZ2VyKiBkZWJ1Z2dlCiAgICAgcHJlc2VydmVMYXN0VmFy
KCk7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0SW5pdExhenlSZWdp
c3RlcihSZWdpc3RlcklEKiByZWcpCit7CisgICAgZW1pdE9wY29kZShvcF9pbml0X2xhenlfcmVn
KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQocmVnLT5pbmRleCgpKTsKKyAgICByZXR1cm4g
cmVnOworfQorCiB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRQYXJhbWV0ZXIoY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIGludCBwYXJhbWV0ZXJJbmRleCkKIHsKICAgICAvLyBQYXJhbWV0ZXJz
IG92ZXJ3cml0ZSB2YXIgZGVjbGFyYXRpb25zLCBidXQgbm90IGZ1bmN0aW9uIGRlY2xhcmF0aW9u
cy4KQEAgLTQ5Miw3ICs1MTQsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6cmVn
aXN0ZXJGb3IoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgaWYgKGlkZW50ID09IHByb3Bl
cnR5TmFtZXMoKS5hcmd1bWVudHMpCiAgICAgICAgIGNyZWF0ZUFyZ3VtZW50c0lmTmVjZXNzYXJ5
KCk7CiAKLSAgICByZXR1cm4gJnJlZ2lzdGVyRm9yKGVudHJ5LmdldEluZGV4KCkpOworICAgIHJl
dHVybiBjcmVhdGVMYXp5UmVnaXN0ZXJJZk5lY2Vzc2FyeSgmcmVnaXN0ZXJGb3IoZW50cnkuZ2V0
SW5kZXgoKSkpOwogfQogCiBib29sIEJ5dGVjb2RlR2VuZXJhdG9yOjp3aWxsUmVzb2x2ZVRvQXJn
dW1lbnRzKGNvbnN0IElkZW50aWZpZXImIGlkZW50KQpAQCAtNTIyLDYgKzU0NCwxNCBAQCBSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6dW5jaGVja2VkUmVnaXN0ZXJGb3JBcmd1bWVudHMo
KQogICAgIHJldHVybiAmcmVnaXN0ZXJGb3IoZW50cnkuZ2V0SW5kZXgoKSk7CiB9CiAKK1JlZ2lz
dGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjpjcmVhdGVMYXp5UmVnaXN0ZXJJZk5lY2Vzc2FyeShS
ZWdpc3RlcklEKiByZWcpCit7CisgICAgaWYgKG1fbGFzdExhenlGdW5jdGlvbiA8PSByZWctPmlu
ZGV4KCkgfHwgcmVnLT5pbmRleCgpIDwgbV9maXJzdExhenlGdW5jdGlvbikKKyAgICAgICAgcmV0
dXJuIHJlZzsKKyAgICBlbWl0TGF6eU5ld0Z1bmN0aW9uKHJlZywgbV9sYXp5RnVuY3Rpb25zLmdl
dChyZWctPmluZGV4KCkpKTsKKyAgICByZXR1cm4gcmVnOworfQorCiBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6Y29uc3RSZWdpc3RlckZvcihjb25zdCBJZGVudGlmaWVyJiBpZGVudCkK
IHsKICAgICBpZiAobV9jb2RlVHlwZSA9PSBFdmFsQ29kZSkKQEAgLTUzMSw3ICs1NjEsNyBAQCBS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6Y29uc3RSZWdpc3RlckZvcihjb25zdCBJZGVu
dGlmaWVyJiBpZGVudCkKICAgICBpZiAoZW50cnkuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiAw
OwogCi0gICAgcmV0dXJuICZyZWdpc3RlckZvcihlbnRyeS5nZXRJbmRleCgpKTsKKyAgICByZXR1
cm4gY3JlYXRlTGF6eVJlZ2lzdGVySWZOZWNlc3NhcnkoJnJlZ2lzdGVyRm9yKGVudHJ5LmdldElu
ZGV4KCkpKTsKIH0KIAogYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6aXNMb2NhbChjb25zdCBJZGVu
dGlmaWVyJiBpZGVudCkKQEAgLTE0MzksMTEgKzE0NjksMjMgQEAgUmVnaXN0ZXJJRCogQnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJheShSZWdpc3RlcklEKiBkc3QsIEVsZW1lbnROb2RlKiBl
bGVtZW4KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbihS
ZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uKQogewotICAgIHVuc2ln
bmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRGVjbChtYWtlRnVuY3Rpb24obV9n
bG9iYWxEYXRhLCBmdW5jdGlvbikpOworICAgIHJldHVybiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5h
bChkc3QsIG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkRlY2wobWFrZUZ1bmN0aW9uKG1fZ2xvYmFs
RGF0YSwgZnVuY3Rpb24pKSwgZmFsc2UpOworfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdExhenlOZXdGdW5jdGlvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5v
ZGUqIGZ1bmN0aW9uKQoreworICAgIHN0ZDo6cGFpcjxGdW5jdGlvbk9mZnNldE1hcDo6aXRlcmF0
b3IsIGJvb2w+IHB0ciA9IG1fZnVuY3Rpb25PZmZzZXRzLmFkZChmdW5jdGlvbiwgMCk7CisgICAg
aWYgKHB0ci5zZWNvbmQpCisgICAgICAgIHB0ci5maXJzdC0+c2Vjb25kID0gbV9jb2RlQmxvY2st
PmFkZEZ1bmN0aW9uRGVjbChtYWtlRnVuY3Rpb24obV9nbG9iYWxEYXRhLCBmdW5jdGlvbikpOwor
ICAgIHJldHVybiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChkc3QsIHB0ci5maXJzdC0+c2Vjb25k
LCB0cnVlKTsKK30KKworUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgsIGJvb2wgZG9OdWxs
Q2hlY2spCit7CiAgICAgZW1pdE9wY29kZShvcF9uZXdfZnVuYyk7CiAgICAgaW5zdHJ1Y3Rpb25z
KCkuYXBwZW5kKGRzdC0+aW5kZXgoKSk7CiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4
KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoZG9OdWxsQ2hlY2spOwogICAgIHJldHVybiBk
c3Q7CiB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmgKaW5kZXggZjdiZDBiZjkwNGUwZDdlYmRlNWQ2MWY1OWJjZWYyZTc1ZDQ5NzliZC4uNWZi
ZTg2NDIwYzQzMTA4ZDJkYTgwNjA4ZGNmNGYxNTNhYzI3NWFmYSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTMwNyw2ICszMDcsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0FycmF5KFJlZ2lz
dGVySUQqIGRzdCwgRWxlbWVudE5vZGUqKTsgLy8gc3RvcHMgYXQgZmlyc3QgZWxpc2lvbgogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0
aW9uQm9keU5vZGUqIGJvZHkpOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0TGF6eU5ld0Z1bmN0
aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSk7CisgICAgICAgIFJl
Z2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWdu
ZWQgaW5kZXgsIGJvb2wgc2hvdWxkTnVsbENoZWNrKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVu
Yyk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdFeHAqIHJlZ0V4cCk7CiAKQEAgLTQ0MSw3ICs0NDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBKU1N0cmluZyosIElkZW50aWZpZXJS
ZXBIYXNoPiBJZGVudGlmaWVyU3RyaW5nTWFwOwogICAgICAgICAKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdENhbGwoT3Bjb2RlSUQsIFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywg
Q2FsbEFyZ3VtZW50cyYsIHVuc2lnbmVkIGRpdm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5z
aWduZWQgZW5kT2Zmc2V0KTsKLSAgICAgICAgCisKICAgICAgICAgUmVnaXN0ZXJJRCogbmV3UmVn
aXN0ZXIoKTsKIAogICAgICAgICAvLyBBZGRzIGEgdmFyIHNsb3QgYW5kIG1hcHMgaXQgdG8gdGhl
IG5hbWUgaWRlbnQgaW4gc3ltYm9sVGFibGUoKS4KQEAgLTUwMyw2ICs1MDUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBGdW5jdGlvbkV4ZWN1dGFibGU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBib2R5LT5pZGVudCgpLCBib2R5LT5zb3VyY2UoKSwgYm9keS0+dXNlc0FyZ3Vt
ZW50cygpLCBib2R5LT5wYXJhbWV0ZXJzKCksIGJvZHktPmxpbmVObygpLCBib2R5LT5sYXN0TGlu
ZSgpKTsKICAgICAgICAgfQogCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJbml0TGF6eVJlZ2lz
dGVyKFJlZ2lzdGVySUQqKTsKKwogICAgICAgICBWZWN0b3I8SW5zdHJ1Y3Rpb24+JiBpbnN0cnVj
dGlvbnMoKSB7IHJldHVybiBtX2NvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCk7IH0KICAgICAgICAg
U3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKCkgeyByZXR1cm4gKm1fc3ltYm9sVGFibGU7IH0KIApA
QCAtNTEyLDYgKzUxNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0VGhyb3dFeHByZXNzaW9uVG9vRGVlcEV4Y2VwdGlvbigpOwogCiAgICAgICAgIHZvaWQgY3Jl
YXRlQXJndW1lbnRzSWZOZWNlc3NhcnkoKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogY3JlYXRlTGF6
eVJlZ2lzdGVySWZOZWNlc3NhcnkoUmVnaXN0ZXJJRCopOwogCiAgICAgICAgIGJvb2wgbV9zaG91
bGRFbWl0RGVidWdIb29rczsKICAgICAgICAgYm9vbCBtX3Nob3VsZEVtaXRQcm9maWxlSG9va3M7
CkBAIC01NTEsNiArNTU2LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIGludCBtX2ds
b2JhbFZhclN0b3JhZ2VPZmZzZXQ7CiAKKyAgICAgICAgaW50IG1fZmlyc3RMYXp5RnVuY3Rpb247
CisgICAgICAgIGludCBtX2xhc3RMYXp5RnVuY3Rpb247CisgICAgICAgIEhhc2hNYXA8dW5zaWdu
ZWQgaW50LCBGdW5jdGlvbkJvZHlOb2RlKiwgV1RGOjpJbnRIYXNoPHVuc2lnbmVkIGludD4sIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQgaW50PiA+IG1fbGF6eUZ1
bmN0aW9uczsKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPEZ1bmN0aW9uQm9keU5vZGUqLCB1bnNp
Z25lZD4gRnVuY3Rpb25PZmZzZXRNYXA7CisgICAgICAgIEZ1bmN0aW9uT2Zmc2V0TWFwIG1fZnVu
Y3Rpb25PZmZzZXRzOworICAgICAgICAKICAgICAgICAgLy8gQ29uc3RhbnQgcG9vbAogICAgICAg
ICBJZGVudGlmaWVyTWFwIG1faWRlbnRpZmllck1hcDsKICAgICAgICAgSlNWYWx1ZU1hcCBtX2pz
VmFsdWVNYXA7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5k
ZXggOGM3YjliMjU3NmNhMzkwZGQ3MWYyMmJlYjU3YzE1MzAzZGNiZDcyOS4uZjhhYmM2YTgwMzY4
MjMwNDA1NTk1NGE4ZWYyMzk4ZDJmZjY3ODQ3MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcApAQCAtMzYxMiw4ICszNjEyLDEwIEBAIHNraXBfaWRfY3VzdG9t
X3NlbGY6CiAgICAgICAgICovCiAgICAgICAgIGludCBkc3QgPSB2UENbMV0udS5vcGVyYW5kOwog
ICAgICAgICBpbnQgZnVuYyA9IHZQQ1syXS51Lm9wZXJhbmQ7CisgICAgICAgIGludCBzaG91bGRD
aGVjayA9IHZQQ1szXS51Lm9wZXJhbmQ7CiAKLSAgICAgICAgY2FsbEZyYW1lLT5yKGRzdCkgPSBK
U1ZhbHVlKGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKGZ1bmMpLT5tYWtlKGNhbGxGcmFtZSwgY2Fs
bEZyYW1lLT5zY29wZUNoYWluKCkpKTsKKyAgICAgICAgaWYgKCFzaG91bGRDaGVjayB8fCAhY2Fs
bEZyYW1lLT5yKGRzdCkuanNWYWx1ZSgpKQorICAgICAgICAgICAgY2FsbEZyYW1lLT5yKGRzdCkg
PSBKU1ZhbHVlKGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKGZ1bmMpLT5tYWtlKGNhbGxGcmFtZSwg
Y2FsbEZyYW1lLT5zY29wZUNoYWluKCkpKTsKIAogICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdU
SChvcF9uZXdfZnVuYyk7CiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04oKTsKQEAgLTQxMzcsMTgg
KzQxMzksMTcgQEAgc2tpcF9pZF9jdXN0b21fc2VsZjoKICAgICAgICAgdlBDICs9IE9QQ09ERV9M
RU5HVEgob3BfY29udmVydF90aGlzKTsKICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwogICAg
IH0KLSAgICBERUZJTkVfT1BDT0RFKG9wX2luaXRfYXJndW1lbnRzKSB7Ci0gICAgICAgIC8qIGNy
ZWF0ZV9hcmd1bWVudHMgZHN0KHIpCisgICAgREVGSU5FX09QQ09ERShvcF9pbml0X2xhenlfcmVn
KSB7CisgICAgICAgIC8qIGluaXRfbGF6eV9yZWcgZHN0KHIpCiAKLSAgICAgICAgICAgSW5pdGlh
bGlzZXMgJ2FyZ3VtZW50cycgdG8gSlNWYWx1ZSgpLgorICAgICAgICAgICBJbml0aWFsaXNlcyBk
c3QocikgdG8gSlNWYWx1ZSgpLgogCiAgICAgICAgICAgIFRoaXMgb3Bjb2RlIGFwcGVhcnMgb25s
eSBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgY29kZSBibG9jay4KICAgICAgICAgICovCiAgICAgICAg
IGludCBkc3QgPSB2UENbMV0udS5vcGVyYW5kOwogCiAgICAgICAgIGNhbGxGcmFtZS0+cihkc3Qp
ID0gSlNWYWx1ZSgpOwotICAgICAgICBjYWxsRnJhbWUtPnIodW5tb2RpZmllZEFyZ3VtZW50c1Jl
Z2lzdGVyKGRzdCkpID0gSlNWYWx1ZSgpOwotICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChv
cF9pbml0X2FyZ3VtZW50cyk7CisgICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX2luaXRf
bGF6eV9yZWcpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQogICAgIERFRklO
RV9PUENPREUob3BfY3JlYXRlX2FyZ3VtZW50cykgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlOTBkNzlj
YzRkYTY4ZGQ0ZGUxYmFhOTlhNGM1NjM4ZDg5ZTNhM2MzLi5hYzcyNzdhYjMwYmI3YzM1NmJkYzE4
OTZjMTI1MDVmZjg2M2FhYThlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX2dl
dF9jYWxsZWUpCiAgICAgICAgIERFRklORV9PUChvcF9jcmVhdGVfdGhpcykKICAgICAgICAgREVG
SU5FX09QKG9wX2NvbnZlcnRfdGhpcykKLSAgICAgICAgREVGSU5FX09QKG9wX2luaXRfYXJndW1l
bnRzKQorICAgICAgICBERUZJTkVfT1Aob3BfaW5pdF9sYXp5X3JlZykKICAgICAgICAgREVGSU5F
X09QKG9wX2NyZWF0ZV9hcmd1bWVudHMpCiAgICAgICAgIERFRklORV9PUChvcF9kZWJ1ZykKICAg
ICAgICAgREVGSU5FX09QKG9wX2RlbF9ieV9pZCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCAxZWJlNTdiZDNjNjcx
MTc4NTU5YzExNjM2YzFlNDgwODJiYWIxYTBiLi42NzZhNWM1ZTQ3ZTgxODg2ZWM3ZTdkNzIwNWFh
ODA0ODA5Mjg2Yzc5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC03NTIsNyArNzUyLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfYnlfcG5hbWUoSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX2dldF9nbG9iYWxfdmFyKEluc3RydWN0aW9uKik7CiAgICAgICAg
IHZvaWQgZW1pdF9vcF9nZXRfc2NvcGVkX3ZhcihJbnN0cnVjdGlvbiopOwotICAgICAgICB2b2lk
IGVtaXRfb3BfaW5pdF9hcmd1bWVudHMoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0
X29wX2luaXRfbGF6eV9yZWcoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2lu
c3RhbmNlb2YoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2plcV9udWxsKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9qZmFsc2UoSW5zdHJ1Y3Rpb24qKTsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCAyM2JhODk3ZWJmNzU0YzcxYWMwYzU0Zjc4
NmNjMDZkOWRhY2EzNjFjLi43OTA1Y2QxOTU2MjlkYTdjOTRkZTM5YmM4NmE0MWRlYjY5ZjM4YzU5
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC00MjYsMTMgKzQyNiw2IEBAIHZvaWQg
SklUOjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
ICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29w
X25ld19mdW5jKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCi17Ci0gICAgSklUU3R1
YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX25ld19mdW5jKTsKLSAgICBzdHViQ2FsbC5hZGRB
cmd1bWVudChJbW1QdHIobV9jb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSkpOwotICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9u
WzFdLnUub3BlcmFuZCk7Ci19Ci0KIHZvaWQgSklUOjplbWl0X29wX2NhbGwoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBjb21waWxlT3BDYWxsKG9wX2NhbGwsIGN1cnJl
bnRJbnN0cnVjdGlvbiwgbV9jYWxsTGlua0luZm9JbmRleCsrKTsKQEAgLTEyMTgsMTIgKzEyMTEs
MTEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX2FyZ3VtZW50cyhJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogICAgIGFyZ3NDcmVhdGVkLmxpbmsodGhpcyk7CiB9CiAKLXZvaWQg
SklUOjplbWl0X29wX2luaXRfYXJndW1lbnRzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCit2b2lkIEpJVDo6ZW1pdF9vcF9pbml0X2xhenlfcmVnKEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCiB7CiAgICAgdW5zaWduZWQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZDsKIAogICAgIHN0b3JlUHRyKEltbVB0cigwKSwgQWRkcmVzcyhjYWxsRnJhbWVS
ZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOwotICAgIHN0b3JlUHRyKEltbVB0cigw
KSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqICh1bm1vZGlm
aWVkQXJndW1lbnRzUmVnaXN0ZXIoZHN0KSkpKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRfb3BfY29u
dmVydF90aGlzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC0xNTg2LDYgKzE1
NzgsMjQgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2xvYWRfdmFyYXJncyhJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0MKICAgICBzdG9yZTMyKHJldHVyblZhbHVl
UmVnaXN0ZXIsIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIGFyZ0NvdW50RHN0ICogc2l6ZW9m
KFJlZ2lzdGVyKSkpOwogfQogCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbGF6eUp1bXA7CisgICAgaW50IGRz
dCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAgaWYgKGN1cnJlbnRJbnN0
cnVjdGlvblszXS51Lm9wZXJhbmQpIHsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBs
YXp5SnVtcCA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoZHN0KSwgSW1tMzIoSlNWYWx1ZTo6
RW1wdHlWYWx1ZVRhZykpOworI2Vsc2UKKyAgICAgICAgbGF6eUp1bXAgPSBicmFuY2hUZXN0UHRy
KE5vblplcm8sIGFkZHJlc3NGb3IoZHN0KSk7CisjZW5kaWYKKyAgICB9CisgICAgSklUU3R1YkNh
bGwgc3R1YkNhbGwodGhpcywgY3RpX29wX25ld19mdW5jKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1
bWVudChJbW1QdHIobV9jb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChjdXJyZW50SW5zdHJ1Y3Rpb25b
Ml0udS5vcGVyYW5kKSkpOworICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZCk7CisgICAgaWYgKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpCisg
ICAgICAgIGxhenlKdW1wLmxpbmsodGhpcyk7Cit9CisKIC8vIEZvciBib3RoIEpTVmFsdWUzMl82
NCBhbmQgSlNWYWx1ZTMyCiAjaWYgRU5BQkxFKEpJVF9VU0VfU09GVF9NT0RVTE8pCiAjaWYgQ1BV
KEFSTV9UUkFESVRJT05BTCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzMzJfNjQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKaW5k
ZXggYTI4ZmJiMTkxNmU5ZDA4ZTY4ZTM0MTVmMjViNjM1NTUyODBiMjMyOC4uZWY3MTBlZjEzNzFi
MmVhN2I2NDgzMDVkN2M1MjQzMGE0NmMyMTI2YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMzMl82NC5jcHAKQEAgLTU3NSwxMyArNTc1LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2lu
c3RhbmNlb2YoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMK
ICAgICBzdHViQ2FsbC5jYWxsKGRzdCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX25ld19mdW5j
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCi17Ci0gICAgSklUU3R1YkNhbGwgc3R1
YkNhbGwodGhpcywgY3RpX29wX25ld19mdW5jKTsKLSAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJ
bW1QdHIobV9jb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5v
cGVyYW5kKSkpOwotICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZCk7Ci19Ci0KIHZvaWQgSklUOjplbWl0X29wX2dldF9nbG9iYWxfdmFyKEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CiAgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQ7CkBAIC0xNDk4LDEyICsxNDkxLDExIEBAIHZvaWQgSklUOjplbWl0X29w
X2NyZWF0ZV9hcmd1bWVudHMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBh
cmdzQ3JlYXRlZC5saW5rKHRoaXMpOwogfQogCi12b2lkIEpJVDo6ZW1pdF9vcF9pbml0X2FyZ3Vt
ZW50cyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQordm9pZCBKSVQ6OmVtaXRfb3Bf
aW5pdF9sYXp5X3JlZyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIHVu
c2lnbmVkIGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAKICAgICBlbWl0
U3RvcmUoZHN0LCBKU1ZhbHVlKCkpOwotICAgIGVtaXRTdG9yZSh1bm1vZGlmaWVkQXJndW1lbnRz
UmVnaXN0ZXIoZHN0KSwgSlNWYWx1ZSgpKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2Nh
bGxlZShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApp
bmRleCA1MTkzZmRkZWUwN2QyZWI2OGZhMGJkYWVjZjE4YjE5ODg2YWVmYzI5Li5mYTYxY2RjZWQy
NGQxYjZmMDYzNmUxZjM1ODkzOWFkZmIzYWU3NzI4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAt
MTQxMiw2ICsxNDEyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgdXNlc0FyZ3Vt
ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMgJiBBcmd1bWVudHNGZWF0dXJlOyB9CiAg
ICAgICAgIHZvaWQgc2V0VXNlc0FyZ3VtZW50cygpIHsgbV9mZWF0dXJlcyB8PSBBcmd1bWVudHNG
ZWF0dXJlOyB9CiAgICAgICAgIGJvb2wgdXNlc1RoaXMoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1
cmVzICYgVGhpc0ZlYXR1cmU7IH0KKyAgICAgICAgYm9vbCBuZWVkc0FjdGl2YXRpb25Gb3JNb3Jl
VGhhblZhcmlhYmxlcygpIGNvbnN0IHsgQVNTRVJUKG1fZGF0YSk7IHJldHVybiBtX2ZlYXR1cmVz
ICYgKEV2YWxGZWF0dXJlIHwgV2l0aEZlYXR1cmUgfCBDYXRjaEZlYXR1cmUpOyB9CiAgICAgICAg
IGJvb2wgbmVlZHNBY3RpdmF0aW9uKCkgY29uc3QgeyBBU1NFUlQobV9kYXRhKTsgcmV0dXJuICho
YXNDYXB0dXJlZFZhcmlhYmxlcygpKSB8fCAobV9mZWF0dXJlcyAmIChFdmFsRmVhdHVyZSB8IFdp
dGhGZWF0dXJlIHwgQ2F0Y2hGZWF0dXJlKSk7IH0KICAgICAgICAgYm9vbCBoYXNDYXB0dXJlZFZh
cmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuICEhbV9kYXRhLT5tX2NhcHR1cmVkVmFyaWFibGVzLnNp
emUoKTsgfQogICAgICAgICBzaXplX3QgY2FwdHVyZWRWYXJpYWJsZUNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhLT5tX2NhcHR1cmVkVmFyaWFibGVzLnNpemUoKTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>