<?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>38828</bug_id>
          
          <creation_ts>2010-05-09 18:25:51 -0700</creation_ts>
          <short_desc>REGRESSION(r57955): RegExp literals should not actually be cached, so r57955 should be rolled out.</short_desc>
          <delta_ts>2010-05-09 18:41:23 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>223123</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-05-09 18:25:51 -0700</bug_when>
    <thetext>REGRESSION(r57955): RegExp literals should not actually be cached, so r57955 should be rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223125</commentid>
    <comment_count>1</comment_count>
      <attachid>55513</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-05-09 18:27:47 -0700</bug_when>
    <thetext>Created attachment 55513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223126</commentid>
    <comment_count>2</comment_count>
      <attachid>55513</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-09 18:29:43 -0700</bug_when>
    <thetext>Comment on attachment 55513
Patch

This patch does not give the reason they should not be cached. Is it because caching them makes things slower? Or perhaps it gives incorrect results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223127</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-05-09 18:32:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/7961634&gt;


In order to match firefox I made JSC cache regexp literals, however it turns out that this behaviour is part of ES3, and ES5 mandates the we don&apos;t cache.  eg. Old JSC was correct per-ES5.  This needs to be reverted due to the following reasons:

1. We did this partially as a compat fix, but firefox is dropping regexp caching in 3.7 and moving to our (old) non-caching behaviour. eg. we will be the only browser that does this.
2. Even in firefox, where regexp literals have always been cached, the caching of regexp literals is their 2nd most frequently duped bug report.
3. Due to the way RegExp.lastIndex works this change in behaviour can result in significantly different regexp behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223130</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-09 18:33:48 -0700</bug_when>
    <thetext>Attachment 55513 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
JavaScriptCore/bytecode/CodeBlock.h:461:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/bytecode/CodeBlock.h:462:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 2 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223131</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-05-09 18:41:23 -0700</bug_when>
    <thetext>Committed r59064: &lt;http://trac.webkit.org/changeset/59064&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55513</attachid>
            <date>2010-05-09 18:27:47 -0700</date>
            <delta_ts>2010-05-09 18:33:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38828-20100509182746.patch</filename>
            <type>text/plain</type>
            <size>21561</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhY2RlNGUzMTkyMWZmY2IzMWMyNzczNTc5YmE4MTI3NDE3MGZkMmNkLi4w
MGM1ODk4YTRlYTJlNDE5MWYzNjFlYzAzYTYxZWE2Y2JiYTYyNGFkIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsNDIgQEAKIDIwMTAtMDUtMDkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OKHI1Nzk1NSk6IFJlZ0V4cCBsaXRlcmFscyBzaG91bGQgbm90IGFjdHVhbGx5IGJlIGNhY2hl
ZCwgc28gcjU3OTU1IHNob3VsZCBiZSByb2xsZWQgb3V0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg4MjgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc5NjE2MzQ+CisKKyAgICAgICAgUm9sbG91dCByNTc5NTUKKworICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OnJlZ2V4cFRvU291cmNlU3RyaW5nKToKKyAg
ICAgICAgKEpTQzo6cmVnZXhwTmFtZSk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcCk6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6c2hyaW5rVG9GaXQpOgorICAgICAgICAqIGJ5dGVj
b2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZFJlZ0V4cCk6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6cmVnZXhwKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNv
ZGUuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6YWRkUmVnRXhwKToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdSZWdFeHApOgorICAgICAgICAqIGJ5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHBOb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAg
ICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0
ZXI6OnByaXZhdGVFeGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklULmg6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X3JlZ2V4cCk6CisgICAgICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6
REVGSU5FX1NUVUJfRlVOQ1RJT04pOgorICAgICAgICAqIGppdC9KSVRTdHVicy5oOgorICAgICAg
ICAoSlNDOjopOgorCisyMDEwLTA1LTA5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+
CisKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCiAKICAgICAgICAgSW1w
cm92ZSBzdHJpbmcgaW5kZXhpbmcgcGVyZm9ybWFuY2UKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suY3BwCmluZGV4IGNkMTRjMzk1M2U5MDU5YzVjYTNlYWNjOWI5M2E2YzcwN2VlNTM2ZTAu
LjE4ZjEwY2MxM2FmNDM2NzJkOTIxYTZjMGI5MmVlMTAyNWFhMGY2NjAgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtODksNiArODksMjUgQEAgQ1N0cmluZyBDb2RlQmxv
Y2s6OnJlZ2lzdGVyTmFtZShFeGVjU3RhdGUqIGV4ZWMsIGludCByKSBjb25zdAogICAgIHJldHVy
biBtYWtlU3RyaW5nKCJyIiwgVVN0cmluZzo6ZnJvbShyKSkuVVRGOFN0cmluZygpOwogfQogCitz
dGF0aWMgVVN0cmluZyByZWdleHBUb1NvdXJjZVN0cmluZyhSZWdFeHAqIHJlZ0V4cCkKK3sKKyAg
ICBjaGFyIHBvc3RmaXhbNV0gPSB7ICcvJywgMCwgMCwgMCwgMCB9OworICAgIGludCBpbmRleCA9
IDE7CisgICAgaWYgKHJlZ0V4cC0+Z2xvYmFsKCkpCisgICAgICAgIHBvc3RmaXhbaW5kZXgrK10g
PSAnZyc7CisgICAgaWYgKHJlZ0V4cC0+aWdub3JlQ2FzZSgpKQorICAgICAgICBwb3N0Zml4W2lu
ZGV4KytdID0gJ2knOworICAgIGlmIChyZWdFeHAtPm11bHRpbGluZSgpKQorICAgICAgICBwb3N0
Zml4W2luZGV4XSA9ICdtJzsKKworICAgIHJldHVybiBtYWtlU3RyaW5nKCIvIiwgcmVnRXhwLT5w
YXR0ZXJuKCksIHBvc3RmaXgpOworfQorCitzdGF0aWMgQ1N0cmluZyByZWdleHBOYW1lKGludCBy
ZSwgUmVnRXhwKiByZWdleHApCit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcocmVnZXhwVG9Tb3Vy
Y2VTdHJpbmcocmVnZXhwKSwgIihAcmUiLCBVU3RyaW5nOjpmcm9tKHJlKSwgIikiKS5VVEY4U3Ry
aW5nKCk7Cit9CisKIHN0YXRpYyBVU3RyaW5nIHBvaW50ZXJUb1NvdXJjZVN0cmluZyh2b2lkKiBw
KQogewogICAgIGNoYXIgYnVmZmVyWzIgKyAyICogc2l6ZW9mKHZvaWQqKSArIDFdOyAvLyAweCBb
dHdvIGNoYXJhY3RlcnMgcGVyIGJ5dGVdIFwwCkBAIC0zNDksNiArMzY4LDE1IEBAIHZvaWQgQ29k
ZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICAgICAgfSB3aGlsZSAoaSA8
IG1fY29uc3RhbnRSZWdpc3RlcnMuc2l6ZSgpKTsKICAgICB9CiAKKyAgICBpZiAobV9yYXJlRGF0
YSAmJiAhbV9yYXJlRGF0YS0+bV9yZWdleHBzLmlzRW1wdHkoKSkgeworICAgICAgICBwcmludGYo
IlxubV9yZWdleHBzOlxuIik7CisgICAgICAgIHNpemVfdCBpID0gMDsKKyAgICAgICAgZG8gewor
ICAgICAgICAgICAgcHJpbnRmKCIgIHJlJXUgPSAlc1xuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGkpLCByZWdleHBUb1NvdXJjZVN0cmluZyhtX3JhcmVEYXRhLT5tX3JlZ2V4cHNbaV0uZ2V0KCkp
LmFzY2lpKCkpOworICAgICAgICAgICAgKytpOworICAgICAgICB9IHdoaWxlIChpIDwgbV9yYXJl
RGF0YS0+bV9yZWdleHBzLnNpemUoKSk7CisgICAgfQorCiAjaWYgRU5BQkxFKEpJVCkKICAgICBp
ZiAoIW1fZ2xvYmFsUmVzb2x2ZUluZm9zLmlzRW1wdHkoKSB8fCAhbV9zdHJ1Y3R1cmVTdHViSW5m
b3MuaXNFbXB0eSgpKQogICAgICAgICBwcmludGYoIlxuU3RydWN0dXJlczpcbiIpOwpAQCAtNDg2
LDYgKzUxNCwxMiBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJgogICAgICAgICAgICAgcHJpbnRm
KCJbJTRkXSBuZXdfYXJyYXlcdCAlcywgJXMsICVkXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJOYW1l
KGV4ZWMsIGRzdCkuZGF0YSgpLCByZWdpc3Rlck5hbWUoZXhlYywgYXJndikuZGF0YSgpLCBhcmdj
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2Ugb3BfbmV3X3Jl
Z2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAg
ICAgICBpbnQgcmUwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludGYoIlsl
NGRdIG5ld19yZWdleHBcdCAlcywgJXNcbiIsIGxvY2F0aW9uLCByZWdpc3Rlck5hbWUoZXhlYywg
cjApLmRhdGEoKSwgcmVnZXhwTmFtZShyZTAsIHJlZ2V4cChyZTApKS5kYXRhKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9tb3Y6IHsKICAgICAgICAg
ICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHIxID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CkBAIC0xNjk1LDYgKzE3MjksNyBAQCB2b2lkIENvZGVCbG9jazo6c2hy
aW5rVG9GaXQoKQogCiAgICAgaWYgKG1fcmFyZURhdGEpIHsKICAgICAgICAgbV9yYXJlRGF0YS0+
bV9leGNlcHRpb25IYW5kbGVycy5zaHJpbmtUb0ZpdCgpOworICAgICAgICBtX3JhcmVEYXRhLT5t
X3JlZ2V4cHMuc2hyaW5rVG9GaXQoKTsKICAgICAgICAgbV9yYXJlRGF0YS0+bV9pbW1lZGlhdGVT
d2l0Y2hKdW1wVGFibGVzLnNocmlua1RvRml0KCk7CiAgICAgICAgIG1fcmFyZURhdGEtPm1fY2hh
cmFjdGVyU3dpdGNoSnVtcFRhYmxlcy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3JhcmVEYXRh
LT5tX3N0cmluZ1N3aXRjaEp1bXBUYWJsZXMuc2hyaW5rVG9GaXQoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgKaW5kZXggMWJiYjI2NWNjYzAyN2MyZjVmMjRiNjAyN2IwYjg2YTYxODdi
MGEwOC4uZmIwNmYzNWI3YmYxMzJhYTE5ZjcyMTQzZjBiMWI2ZjQ2MmE1MDE1ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTQ1OCw2ICs0NTgsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHVuc2lnbmVkIGFkZEZ1bmN0aW9uRXhwcihOb25OdWxsUGFzc1JlZlB0cjxG
dW5jdGlvbkV4ZWN1dGFibGU+IG4pIHsgdW5zaWduZWQgc2l6ZSA9IG1fZnVuY3Rpb25FeHBycy5z
aXplKCk7IG1fZnVuY3Rpb25FeHBycy5hcHBlbmQobik7IHJldHVybiBzaXplOyB9CiAgICAgICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeHByKGludCBpbmRleCkgeyByZXR1cm4gbV9m
dW5jdGlvbkV4cHJzW2luZGV4XS5nZXQoKTsgfQogCisgICAgICAgIHVuc2lnbmVkIGFkZFJlZ0V4
cChSZWdFeHAqIHIpIHsgY3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOyB1bnNpZ25lZCBzaXpl
ID0gbV9yYXJlRGF0YS0+bV9yZWdleHBzLnNpemUoKTsgbV9yYXJlRGF0YS0+bV9yZWdleHBzLmFw
cGVuZChyKTsgcmV0dXJuIHNpemU7IH0KKyAgICAgICAgUmVnRXhwKiByZWdleHAoaW50IGluZGV4
KSBjb25zdCB7IEFTU0VSVChtX3JhcmVEYXRhKTsgcmV0dXJuIG1fcmFyZURhdGEtPm1fcmVnZXhw
c1tpbmRleF0uZ2V0KCk7IH0KKworCiAgICAgICAgIC8vIEp1bXAgVGFibGVzCiAKICAgICAgICAg
c2l6ZV90IG51bWJlck9mSW1tZWRpYXRlU3dpdGNoSnVtcFRhYmxlcygpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZURhdGEgPyBtX3JhcmVEYXRhLT5tX2ltbWVkaWF0ZVN3aXRjaEp1bXBUYWJsZXMuc2l6
ZSgpIDogMDsgfQpAQCAtNTUyLDYgKzU1Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBz
dHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgICAgIFZlY3RvcjxIYW5k
bGVySW5mbz4gbV9leGNlcHRpb25IYW5kbGVyczsKIAorICAgICAgICAgICAgLy8gUmFyZSBDb25z
dGFudHMKKyAgICAgICAgICAgIFZlY3RvcjxSZWZQdHI8UmVnRXhwPiA+IG1fcmVnZXhwczsKKwog
ICAgICAgICAgICAgLy8gSnVtcCBUYWJsZXMKICAgICAgICAgICAgIFZlY3RvcjxTaW1wbGVKdW1w
VGFibGU+IG1faW1tZWRpYXRlU3dpdGNoSnVtcFRhYmxlczsKICAgICAgICAgICAgIFZlY3RvcjxT
aW1wbGVKdW1wVGFibGU+IG1fY2hhcmFjdGVyU3dpdGNoSnVtcFRhYmxlczsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT3Bjb2RlLmgKaW5kZXggZDQ5YmVlM2M1NzljZTI4NjZlODA1YjljN2IxYmRiNDU3MjJjNWEy
NS4uZGI1NDc4MmQ3MjQ2MDgxNzJhMjg4YTU2Y2JmOGQ1MjhkOWQwNjRlMSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvT3Bjb2RlLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IFwKICAgICAgICAgbWFjcm8ob3BfbmV3X29iamVjdCwgMikgXAogICAgICAgICBtYWNybyhvcF9u
ZXdfYXJyYXksIDQpIFwKKyAgICAgICAgbWFjcm8ob3BfbmV3X3JlZ2V4cCwgMykgXAogICAgICAg
ICBtYWNybyhvcF9tb3YsIDMpIFwKICAgICAgICAgXAogICAgICAgICBtYWNybyhvcF9ub3QsIDMp
IFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCmluZGV4IDM2YjZjNWQ4MDYyYjdiYjZlNmM1Yjg0ZGY3Njk0ZDM4YTJjNWMwMTEuLmU1ZjNk
MTVhZTg3ZDdhM2QwNWE2ZTkwMTY1MzUzZDM2ZjRjMjViZjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMzQsOCArMzQsNiBA
QAogI2luY2x1ZGUgIlByb3RvdHlwZUZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCi0jaW5jbHVkZSAiUmVnRXhwLmgiCi0jaW5jbHVk
ZSAiUmVnRXhwT2JqZWN0LmgiCiAjaW5jbHVkZSAiVVN0cmluZy5oIgogCiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwpAQCAtODI5LDYgKzgyNywxMSBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6YWRkQ29uc3RhbnRWYWx1ZShKU1ZhbHVlIHYpCiAgICAgcmV0dXJuICZtX2NvbnN0YW50UG9v
bFJlZ2lzdGVyc1tpbmRleF07CiB9CiAKK3Vuc2lnbmVkIEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRS
ZWdFeHAoUmVnRXhwKiByKQoreworICAgIHJldHVybiBtX2NvZGVCbG9jay0+YWRkUmVnRXhwKHIp
OworfQorCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE1vdmUoUmVnaXN0ZXJJ
RCogZHN0LCBSZWdpc3RlcklEKiBzcmMpCiB7CiAgICAgZW1pdE9wY29kZShvcF9tb3YpOwpAQCAt
OTc5LDEyICs5ODIsNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdExvYWQo
UmVnaXN0ZXJJRCogZHN0LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudAogICAgIHJldHVybiBlbWl0
TG9hZChkc3QsIEpTVmFsdWUoc3RyaW5nSW5NYXApKTsKIH0KIAotUmVnaXN0ZXJJRCogQnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKiByZWdFeHApCi17
Ci0gICAgSlNWYWx1ZSBqc1JlZ0V4cCA9IG5ldyAoZ2xvYmFsRGF0YSgpKSBSZWdFeHBPYmplY3Qo
bV9zY29wZUNoYWluLT5nbG9iYWxPYmplY3QoKS0+cmVnRXhwU3RydWN0dXJlKCksIHJlZ0V4cCk7
Ci0gICAgcmV0dXJuIGVtaXRMb2FkKGRzdCwganNSZWdFeHApOwotfQotCiBSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdExvYWQoUmVnaXN0ZXJJRCogZHN0LCBKU1ZhbHVlIHYpCiB7
CiAgICAgUmVnaXN0ZXJJRCogY29uc3RhbnRJRCA9IGFkZENvbnN0YW50VmFsdWUodik7CkBAIC0x
MzgwLDYgKzEzNzcsMTUgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdG
dW5jdGlvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUKICAgICByZXR1cm4gZHN0
OwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld1JlZ0V4cChSZWdp
c3RlcklEKiBkc3QsIFJlZ0V4cCogcmVnRXhwKQoreworICAgIGVtaXRPcGNvZGUob3BfbmV3X3Jl
Z2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGRzdC0+aW5kZXgoKSk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKGFkZFJlZ0V4cChyZWdFeHApKTsKKyAgICByZXR1cm4gZHN0Owor
fQorCisKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHBy
ZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCiB7CiAgICAgRnVuY3Rpb25C
b2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGRkNDZiMDRlODg1OWZiNDQwZjRjYjY0
YTk5MzlkNGIwZTcxNmVjN2YuLjBhNDkzOTIzOTI4ZTk2N2UwYmQ0NDU4MWUxNTdiOGRjMWZkM2Ix
OTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5oCkBAIC0yNjQsNyArMjY0LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgYm9vbCk7CiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgZG91YmxlKTsKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdExvYWQoUmVnaXN0ZXJJRCogZHN0LCBjb25zdCBJZGVudGlmaWVyJik7Ci0gICAgICAgIFJl
Z2lzdGVySUQqIGVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKiByZWdFeHApOwogICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0TG9hZChSZWdpc3RlcklEKiBkc3QsIEpTVmFsdWUpOwogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRVbmFyeU9wKE9wY29kZUlELCBSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIHNyYyk7CkBAIC0yNzcsNiArMjc2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVu
Y3Rpb25Cb2R5Tm9kZSogYm9keSk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOworICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKiByZWdF
eHApOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRNb3ZlKFJlZ2lzdGVySUQqIGRzdCwgUmVn
aXN0ZXJJRCogc3JjKTsKIApAQCAtNDQ2LDYgKzQ0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHVuc2lnbmVkIGFkZENvbnN0YW50KGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAg
UmVnaXN0ZXJJRCogYWRkQ29uc3RhbnRWYWx1ZShKU1ZhbHVlKTsKKyAgICAgICAgdW5zaWduZWQg
YWRkUmVnRXhwKFJlZ0V4cCopOwogCiAgICAgICAgIFBhc3NSZWZQdHI8RnVuY3Rpb25FeGVjdXRh
YmxlPiBtYWtlRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCmluZGV4IGRmNjdkZmYxY2VhNGY0ZDllMWZmMWU2YzI0NGFlNGI4ZWVmM2VkN2IuLmNmZDAw
ZGFkMjUxYzE2ZmFkNWZlYjcxZWJiNDAwMDNkODAxYTJlOGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xNDksNyArMTQ5LDcgQEAgUmVnaXN0
ZXJJRCogUmVnRXhwTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0
b3IsIFJlZ2lzdGVySUQqIGQKICAgICAgICAgcmV0dXJuIGVtaXRUaHJvd0Vycm9yKGdlbmVyYXRv
ciwgU3ludGF4RXJyb3IsICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogJXMiLCByZWdFeHAt
PmVycm9yTWVzc2FnZSgpKTsKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0
KCkpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdExvYWQoZ2Vu
ZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgcmVnRXhwLmdldCgpKTsKKyAgICByZXR1cm4g
Z2VuZXJhdG9yLmVtaXROZXdSZWdFeHAoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwg
cmVnRXhwLmdldCgpKTsKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRo
aXNOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCAyNTNkNTY5NmUzZjViMDAxMTRi
Yzc0MGE3YjljMDdlZjJmMDE1ODk5Li45MjFkZmRmMGQwZTA2MjQ0OTgyYTgxMmY4NjI5MjMxNGNm
NDU5NDY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBA
IC0xMzA2LDYgKzEzMDYsMjAgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cHJpdmF0ZUV4ZWN1dGUo
RXhlY3V0aW9uRmxhZyBmbGFnLCBSZWdpc3RlckZpbGUqIHJlZ2lzdGVyRmkKICAgICAgICAgdlBD
ICs9IE9QQ09ERV9MRU5HVEgob3BfbmV3X2FycmF5KTsKICAgICAgICAgTkVYVF9JTlNUUlVDVElP
TigpOwogICAgIH0KKyAgICBERUZJTkVfT1BDT0RFKG9wX25ld19yZWdleHApIHsKKyAgICAgICAg
LyogbmV3X3JlZ2V4cCBkc3QocikgcmVnRXhwKHJlKQorCisgICAgICAgICAgIENvbnN0cnVjdHMg
YSBuZXcgUmVnRXhwIGluc3RhbmNlIHVzaW5nIHRoZSBvcmlnaW5hbAorICAgICAgICAgICBjb25z
dHJ1Y3RvciBmcm9tIHJlZ2V4cCByZWdFeHAsIGFuZCBwdXRzIHRoZSByZXN1bHQgaW4KKyAgICAg
ICAgICAgcmVnaXN0ZXIgZHN0LgorICAgICAgICAqLworICAgICAgICBpbnQgZHN0ID0gdlBDWzFd
LnUub3BlcmFuZDsKKyAgICAgICAgaW50IHJlZ0V4cCA9IHZQQ1syXS51Lm9wZXJhbmQ7CisgICAg
ICAgIGNhbGxGcmFtZS0+cihkc3QpID0gSlNWYWx1ZShuZXcgKGdsb2JhbERhdGEpIFJlZ0V4cE9i
amVjdChjYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKS0+Z2xvYmFsT2JqZWN0LT5yZWdFeHBTdHJ1Y3R1
cmUoKSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+cmVnZXhwKHJlZ0V4cCkpKTsKKworICAgICAg
ICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9uZXdfcmVnZXhwKTsKKyAgICAgICAgTkVYVF9JTlNU
UlVDVElPTigpOworICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX21vdikgewogICAgICAgICAv
KiBtb3YgZHN0KHIpIHNyYyhyKQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IDBhNjhhZjcyNmE3NmYzNmNi
NTM1OGYzNjUyOTM5ZTE0NzEzY2JlMjMuLmM1NWE1NGNhNWM0MzZhMjdiZDgzZTk0YmJkNWJjNzU1
ODUzYzY0NzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNzUsNiArMjc1LDcgQEAgdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAg
ICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuY19leHApCiAgICAgICAgIERFRklORV9PUChvcF9u
ZXdfb2JqZWN0KQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVG
SU5FX09QKG9wX25leHRfcG5hbWUpCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCiAgICAgICAg
IERFRklORV9PUChvcF9uc3RyaWN0ZXEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMWQ3ZTk5YmFkY2Q5NWQ0YWE4
NWY2ODAxZGFhN2QzMzZiMmU2MjFhZS4uYTA3NWJiNDE5NzBmNmU2NWI1NjY5NWMzYjMwZTgzYmI1
NWQwZmY0ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNjk0LDYgKzY5NCw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRf
b3BfbmV3X29iamVjdChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3Jl
Z2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfZ2V0X3BuYW1lcyhJbnN0
cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV4dF9wbmFtZShJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKaW5kZXggMjFlOGM2Y2FhOWU4MWU3MDQ5ZTdkY2Q1NGJjZTc1ZDA2MjllNmMz
NS4uZjA0MGRkNDlmY2U3YTgyY2M0ZWQ1NTZlYWRiMmFlOWY3NTUzNDVkOSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGNvZGVzLmNwcApAQCAtOTYzLDYgKzk2MywxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9i
aXR4b3IoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBlbWl0UHV0VmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwogfQogCit2b2lkIEpJ
VDo6ZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7
CisgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX25ld19yZWdleHApOworICAg
IHN0dWJDYWxsLmFkZEFyZ3VtZW50KEltbVB0cihtX2NvZGVCbG9jay0+cmVnZXhwKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CisgICAgc3R1YkNhbGwuY2FsbChjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKK30KKwogdm9pZCBKSVQ6OmVtaXRfb3BfYml0b3IoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lz
dGVycyhjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCwgY3VycmVudEluc3Ry
dWN0aW9uWzNdLnUub3BlcmFuZCwgcmVnVDEpOwpAQCAtMTYyOSw2ICsxNjM2LDEzIEBAIHZvaWQg
SklUOjplbWl0U2xvd19vcF9yZXNvbHZlX2dsb2JhbF9keW5hbWljKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24sIFZlCiAgICAgc3R1YkNhbGwuY2FsbChkc3QpOwogfQogCit2b2lkIEpJ
VDo6ZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7
CisgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX25ld19yZWdleHApOworICAg
IHN0dWJDYWxsLmFkZEFyZ3VtZW50KEltbVB0cihtX2NvZGVCbG9jay0+cmVnZXhwKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CisgICAgc3R1YkNhbGwuY2FsbChjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKK30KKwogLy8gRm9yIGJvdGggSlNWYWx1ZTMyXzY0IGFu
ZCBKU1ZhbHVlMzIKICNpZiBFTkFCTEUoSklUX09QVElNSVpFX01PRCkKICNpZiBDUFUoQVJNX1RS
QURJVElPTkFMKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCBi
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKaW5kZXggZTIzN2JkNWNhMGViZjIwZDcw
M2M4Nzg0ZmJlNThhZjBkMTZhNWY5NS4uYmZmMTlmYzNiYTk1MWZjYjAzZjY4ZTViY2RjNTg4NTRi
NzEzODU2ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC0yODcwLDYgKzI4NzAsMTMgQEAg
REVGSU5FX1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2JpdHhvcikKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0RFRklORV9TVFVCX0ZVTkNUSU9OKEpT
T2JqZWN0Kiwgb3BfbmV3X3JlZ2V4cCkKK3sKKyAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3Rh
Y2tGcmFtZSk7CisKKyAgICByZXR1cm4gbmV3IChzdGFja0ZyYW1lLmdsb2JhbERhdGEpIFJlZ0V4
cE9iamVjdChzdGFja0ZyYW1lLmNhbGxGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdF
eHBTdHJ1Y3R1cmUoKSwgc3RhY2tGcmFtZS5hcmdzWzBdLnJlZ0V4cCgpKTsKK30KKwogREVGSU5F
X1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2JpdG9yKQogewogICAgIFNUVUJfSU5J
VF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVicy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKaW5kZXggNDliZjE3
NjEyNTkzYWQzN2YzNzYyY2MzZjAyMjRlYmQxZmNkODQ3MS4uNzI5ODI0ODFmNTBkYjEwZDc5ZDQz
ODk4ZTQ1NDM3ZjYyYjZhMGE4OSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKQEAgLTM1Nyw2ICszNTcs
NyBAQCBleHRlcm4gIkMiIHsKICAgICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX25ld19mdW5j
KFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAgICAgSlNPYmplY3QqIEpJVF9TVFVCIGN0aV9vcF9u
ZXdfZnVuY19leHAoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICBKU09iamVjdCogSklUX1NU
VUIgY3RpX29wX25ld19vYmplY3QoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKKyAgICBKU09iamVj
dCogSklUX1NUVUIgY3RpX29wX25ld19yZWdleHAoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAg
ICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX3B1c2hfYWN0aXZhdGlvbihTVFVCX0FSR1NfREVD
TEFSQVRJT04pOwogICAgIEpTT2JqZWN0KiBKSVRfU1RVQiBjdGlfb3BfcHVzaF9uZXdfc2NvcGUo
U1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX3B1
c2hfc2NvcGUoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYzAzNjEyYzQ3ZDEzNjEx
NjEyMjZkMGI4MDlkZDFkNDkxMWZhNTJhLi44OWEyNTBkMzQ1NjYxNzEwZWFiMDQyMWZjYjY0Nzlk
OGUyZjA4ZWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDUtMDkgIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSRUdSRVNTSU9OKHI1Nzk1NSk6IFJlZ0V4cCBsaXRlcmFscyBzaG91bGQg
bm90IGFjdHVhbGx5IGJlIGNhY2hlZCwgc28gcjU3OTU1IHNob3VsZCBiZSByb2xsZWQgb3V0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg4MjgKKwor
ICAgICAgICBSZXBsYWNlIGluY29ycmVjdCB0ZXN0IGZvciBjYWNoaW5nIHJlZ2V4cCBsaXRlcmFs
cyB3aXRoIG9uZXMgdGhhdCB0ZXN0cyB0aGF0IHRoZXkgYXJlIG5vdCBjYWNoZWQuCisKKyAgICAg
ICAgKiBmYXN0L2pzL3JlZ2V4cC1saXRlcmFscy1hcmUtY29uc3RhbnRzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2pzL3JlZ2V4cC1saXRlcmFscy1hcmUtY29uc3RhbnRz
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlbnQt
Y29uc3RhbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZWdleHAt
bGl0ZXJhbHMtYXJlbnQtY29uc3RhbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
c2NyaXB0LXRlc3RzL3JlZ2V4cC1saXRlcmFscy1hcmUtY29uc3RhbnRzLmpzOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1saXRlcmFscy1hcmVudC1jb25z
dGFudHMuanM6IEFkZGVkLgorICAgICAgICAodGVzdDEpOgorICAgICAgICAocmV0dXJuUmVnRXhw
TGl0ZXJhbCk6CisgICAgICAgIChyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwpOgorCiAy
MDEwLTA1LTA5ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
UXRdIFVwZGF0ZSBleHBlY3RlZCByZXN1bHRzIGZvciB1bnNraXBwZWQgZWRpdGluZy9pbnNlcnRp
bmcgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxz
LWFyZS1jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdleHAt
bGl0ZXJhbHMtYXJlLWNvbnN0YW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGRmNDU3ODY2OTJhZmI0MWNlZjQxMjYxYTQzNzNkOWYyNmI1MThjNjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNiArMCwwIEBACi1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHJlZ2V1bGFyIGV4
cHJlc3Npb24gbGl0ZXJhbHMgYXJlIGNvbnN0YW50cywgYW5kIHNvIHBlcnNpc3Qgb3ZlciBtdWx0
aXBsZSBleGVjdXRpb25zCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGN1
cnJlbnRSZWdFeHAgaXMgbGFzdFJlZ0V4cAotUEFTUyBjdXJyZW50UmVnRXhwIGlzIGxhc3RSZWdF
eHAKLVBBU1MgcmV0dXJuUmVnRXhwTGl0ZXJhbCgpIGlzIHJldHVyblJlZ0V4cExpdGVyYWwoKQot
UEFTUyByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkgaXMgcmV0dXJuQ29uZGl0
aW9uYWxSZWdFeHBMaXRlcmFsKHRydWUpCi1QQVNTIHJldHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0
ZXJhbChmYWxzZSkgaXMgcmV0dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFsKGZhbHNlKQotUEFT
UyByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkgPT09IHJldHVybkNvbmRpdGlv
bmFsUmVnRXhwTGl0ZXJhbChmYWxzZSkgaXMgZmFsc2UKLVBBU1MgcmV0dXJuUmVnRXhwTGl0ZXJh
bCgpLnNvbWVBZGRlZFByb3BlcnR5IGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L3JlZ2V4cC1saXRlcmFscy1hcmVudC1jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlbnQtY29uc3RhbnRzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wOWUzNjIzNzYwYjY4ZTA4MTY5YzJkNjY0NWZlMjhmNzZmNzFjMDAxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlbnQt
Y29uc3RhbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUaGlzIHRlc3QgZW5zdXJl
cyB0aGF0IHJlZ2V1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMgYXJlIGNvbnN0YW50cywgYW5kIHNv
IHBlcnNpc3Qgb3ZlciBtdWx0aXBsZSBleGVjdXRpb25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGN1cnJlbnRSZWdFeHAgPT09IGxhc3RSZWdFeHAgaXMgZmFsc2UKK1BB
U1MgY3VycmVudFJlZ0V4cCA9PT0gbGFzdFJlZ0V4cCBpcyBmYWxzZQorUEFTUyByZXR1cm5SZWdF
eHBMaXRlcmFsKCkgPT09IHJldHVyblJlZ0V4cExpdGVyYWwoKSBpcyBmYWxzZQorUEFTUyByZXR1
cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkgPT09IHJldHVybkNvbmRpdGlvbmFsUmVn
RXhwTGl0ZXJhbCh0cnVlKSBpcyBmYWxzZQorUEFTUyByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExp
dGVyYWwoZmFsc2UpID09PSByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwoZmFsc2UpIGlz
IGZhbHNlCitQQVNTIHJldHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbCh0cnVlKSA9PT0gcmV0
dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFsKGZhbHNlKSBpcyBmYWxzZQorUEFTUyByZXR1cm5S
ZWdFeHBMaXRlcmFsKCkuc29tZUFkZGVkUHJvcGVydHkgaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZW50LWNvbnN0YW50cy5odG1sCnNp
bWlsYXJpdHkgaW5kZXggODAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhw
LWxpdGVyYWxzLWFyZS1jb25zdGFudHMuaHRtbApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvZmFzdC9q
cy9yZWdleHAtbGl0ZXJhbHMtYXJlbnQtY29uc3RhbnRzLmh0bWwKaW5kZXggNThkZjU4NDA1N2Y1
MTczM2UxNmFmNTRjMzg0ODY2MWE3NDNlZjVmOS4uYWYxNTgxODRlZjFiNGI4YTE5NDJkYjhlM2Jj
YjUwZGQ1NGIyOTZhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdleHAtbGl0
ZXJhbHMtYXJlLWNvbnN0YW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhw
LWxpdGVyYWxzLWFyZW50LWNvbnN0YW50cy5odG1sCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9yZWdleHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlZ2V4cC1saXRlcmFscy1hcmVudC1j
b25zdGFudHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9yZWdleHAtbGl0ZXJhbHMtYXJlbnQt
Y29uc3RhbnRzLmpzCnNpbWlsYXJpdHkgaW5kZXggNjElCnJlbmFtZSBmcm9tIExheW91dFRlc3Rz
L2Zhc3QvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1saXRlcmFscy1hcmUtY29uc3RhbnRzLmpzCnJl
bmFtZSB0byBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9yZWdleHAtbGl0ZXJhbHMt
YXJlbnQtY29uc3RhbnRzLmpzCmluZGV4IDk0ZTEwNWYwNDFjNTc4YmE5YmRkODhjYmNlMTgyMjc5
NGNmNGMxMDYuLmIyNGQ3MzgwZmQ3YmUzODI1ZTM1MTM5MDc2MTc1NDAzMDE0Y2IzZTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1saXRlcmFscy1h
cmUtY29uc3RhbnRzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3Jl
Z2V4cC1saXRlcmFscy1hcmVudC1jb25zdGFudHMuanMKQEAgLTMsNyArMyw3IEBAIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHJlZ2V1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMg
YXJlIGNvbnN0YW50cywKIGZvciAodmFyIGkgPSAwOyBpIDwgMjsgaSsrKSB7CiAgICAgY3VycmVu
dFJlZ0V4cCA9IC9hLzsKICAgICBpZiAoaSkKLSAgICAgICAgc2hvdWxkQmUoImN1cnJlbnRSZWdF
eHAiLCAibGFzdFJlZ0V4cCIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJjdXJyZW50UmVnRXhw
ID09PSBsYXN0UmVnRXhwIik7CiAgICAgbGFzdFJlZ0V4cCA9IGN1cnJlbnRSZWdFeHA7CiB9CiAK
QEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCAyOyBpKyspIHsKICAgICAgICAgY3VycmVudFJlZ0V4cCA9IC9hLzsKICAgICAgICAgaWYg
KGkpCi0gICAgICAgICAgICBzaG91bGRCZSgiY3VycmVudFJlZ0V4cCIsICJsYXN0UmVnRXhwIik7
CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjdXJyZW50UmVnRXhwID09PSBsYXN0UmVnRXhw
Iik7CiAgICAgICAgIGxhc3RSZWdFeHAgPSBjdXJyZW50UmVnRXhwOwogICAgIH0KIH0KQEAgLTE5
LDcgKzE5LDcgQEAgdGVzdDEoKTsKIAogZnVuY3Rpb24gcmV0dXJuUmVnRXhwTGl0ZXJhbCgpIHsg
cmV0dXJuIC9hLyB9CiAKLXNob3VsZEJlKCJyZXR1cm5SZWdFeHBMaXRlcmFsKCkiLCAicmV0dXJu
UmVnRXhwTGl0ZXJhbCgpIik7CitzaG91bGRCZUZhbHNlKCJyZXR1cm5SZWdFeHBMaXRlcmFsKCkg
PT09IHJldHVyblJlZ0V4cExpdGVyYWwoKSIpOwogCiBmdW5jdGlvbiByZXR1cm5Db25kaXRpb25h
bFJlZ0V4cExpdGVyYWwoZmlyc3QpIHsKICAgICBpZiAoZmlyc3QpCkBAIC0yNywxMCArMjcsMTAg
QEAgZnVuY3Rpb24gcmV0dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFsKGZpcnN0KSB7CiAgICAg
cmV0dXJuIC9hLzsKIH0KIAotc2hvdWxkQmUoInJldHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJh
bCh0cnVlKSIsICJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkiKTsKLXNob3Vs
ZEJlKCJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwoZmFsc2UpIiwgInJldHVybkNvbmRp
dGlvbmFsUmVnRXhwTGl0ZXJhbChmYWxzZSkiKTsKK3Nob3VsZEJlRmFsc2UoInJldHVybkNvbmRp
dGlvbmFsUmVnRXhwTGl0ZXJhbCh0cnVlKSA9PT0gcmV0dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRl
cmFsKHRydWUpIik7CitzaG91bGRCZUZhbHNlKCJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVy
YWwoZmFsc2UpID09PSByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwoZmFsc2UpIik7CiBz
aG91bGRCZUZhbHNlKCJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkgPT09IHJl
dHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbChmYWxzZSkiKTsKIHJldHVyblJlZ0V4cExpdGVy
YWwoKS5zb21lQWRkZWRQcm9wZXJ0eSA9IHRydWU7Ci1zaG91bGRCZVRydWUoInJldHVyblJlZ0V4
cExpdGVyYWwoKS5zb21lQWRkZWRQcm9wZXJ0eSIpOworc2hvdWxkQmVVbmRlZmluZWQoInJldHVy
blJlZ0V4cExpdGVyYWwoKS5zb21lQWRkZWRQcm9wZXJ0eSIpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="39716"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>