<?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>47788</bug_id>
          
          <creation_ts>2010-10-17 20:20:32 -0700</creation_ts>
          <short_desc>Strict mode: Assignment that would create a global should be a late ReferenceError, not a syntax failure</short_desc>
          <delta_ts>2010-11-11 07:34:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>47801</dependson>
          <blocked>47672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295315</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-10-17 20:20:32 -0700</bug_when>
    <thetext>Strict mode: Assignment that would create a global should be a late ReferenceError, not a syntax failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295317</commentid>
    <comment_count>1</comment_count>
      <attachid>70990</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-10-17 20:29:52 -0700</bug_when>
    <thetext>Created attachment 70990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295318</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-17 20:31:50 -0700</bug_when>
    <thetext>Attachment 70990 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
JavaScriptCore/interpreter/Interpreter.cpp:2455:  vm_throw is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 20 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>295322</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-17 20:46:50 -0700</bug_when>
    <thetext>Attachment 70990 did not build on qt:
Build output: http://queues.webkit.org/results/4404065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295323</commentid>
    <comment_count>4</comment_count>
      <attachid>70992</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-10-17 20:51:50 -0700</bug_when>
    <thetext>Created attachment 70992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295326</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-17 20:54:56 -0700</bug_when>
    <thetext>Attachment 70992 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
JavaScriptCore/interpreter/Interpreter.cpp:2455:  vm_throw is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 20 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>295329</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-10-17 21:09:36 -0700</bug_when>
    <thetext>Committed r69940: &lt;http://trac.webkit.org/changeset/69940&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295382</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-10-18 00:43:46 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Committed r69940: &lt;http://trac.webkit.org/changeset/69940&gt;
It broke the interpreter build, fix landed in http://trac.webkit.org/changeset/69944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307503</commentid>
    <comment_count>8</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-10 12:56:39 -0800</bug_when>
    <thetext>Seems this has broken non-JIT JS functionality. When assigning a variable in &quot;catch&quot; block, it always throws this exception.

&lt;html&gt;
&lt;script&gt;
try {
   throw &quot;test&quot;;
} catch (e1) {
    try {
       var s;
       s = e1.message;
       document.write(&quot;succeeded&quot;);
    } catch (e2) {
        alert(e2);
    }
}
&lt;/script&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307648</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-10 17:13:40 -0800</bug_when>
    <thetext>&gt; Seems this has broken non-JIT JS functionality.

Could you please file a bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307904</commentid>
    <comment_count>10</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 07:34:50 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; Seems this has broken non-JIT JS functionality.
&gt; 
&gt; Could you please file a bug?

Bug 49383 created for this</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70990</attachid>
            <date>2010-10-17 20:29:52 -0700</date>
            <delta_ts>2010-10-17 20:51:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47788-20101017202947.patch</filename>
            <type>text/plain</type>
            <size>24799</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhNjIzZjg3MGJmYjU3NDIzZmIxNzUzNDVjYzRmNmJlYWNiMDc4OTdhLi45
ODhiYTI3OGYyOGU5YzcwMmYxYjZjOTUwMjk4OGJkMzBiMjFjNDI0IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTggQEAKKzIwMTAtMTAtMTcgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdHJpY3Qg
bW9kZTogQXNzaWdubWVudCB0aGF0IHdvdWxkIGNyZWF0ZSBhIGdsb2JhbCBzaG91bGQgYmUgYSBs
YXRlIFJlZmVyZW5jZUVycm9yLCBub3QgYSBzeW50YXggZmFpbHVyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc3ODgKKworICAgICAgICBGaXhpbmcg
dGhpcyByZXF1aXJlZCBhIGNvdXBsZSBvZiBjaGFuZ2VzOgorICAgICAgICAgKiByZXNvbHZlX2Jh
c2Ugbm93IGhhcyBhIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBpdCBpcyBiZWluZyB1c2VkIGZv
ciBhIHB1dCBpbiBzdHJpY3QgbW9kZS4KKyAgICAgICAgICAgdGhpcyBhbGxvd3MgdXMgdG8gdGhy
b3cgYW4gZXhjZXB0aW9uIHdoZW4gd2UncmUgZG9pbmcgYSBjb21wbGV0ZWx5IGdlbmVyaWMgcmVz
b2x2ZSBmb3IKKyAgICAgICAgICAgYXNzaWdubWVudCwgYW5kIHRoYXQgYXNzaWdubWVudCB3b3Vs
ZCBjcmVhdGUgYSBuZXcgZ2xvYmFsLgorICAgICAgICAgKiBUaGVyZSBpcyBhIG5ldyBvcGNvZGUg
J29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMnIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hl
dGhlcgorICAgICAgICAgICB0aGUgcHJvcGVydHkgYmVpbmcgYXNzaWduZWQgdG8gYWxyZWFkeSBl
eGlzdHMgb24gdGhlIGdsb2JhbCBvYmplY3QuICBUaGlzIGN1cnJlbnRseQorICAgICAgICAgICBo
YXMgbm8gY2FjaGluZywgYnV0IHN1Y2ggY2FjaGluZyBjb3VsZCBiZSBhZGRlZCByZWxhdGl2ZWx5
IHRyaXZpYWxseS4gIEl0IGlzIG9ubHkgdXNlZAorICAgICAgICAgICBpbiB0aGUgY2FzZSB3aGVy
ZSB3ZSBrbm93IHRoYXQgYSBwcm9wZXJ0eSB3aWxsIGJlIHBsYWNlZCBvbiB0aGUgZ2xvYmFsIG9i
amVjdCwgYW5kCisgICAgICAgICAgIHdlIGNhbm5vdCB2ZXJpZnkgdGhhdCB0aGUgcHJvcGVydHkg
YWxyZWFkeSBleGlzdHMuCisKKyAgICAgICAgSW4gdGhlIGppdCB3ZSBwbGFudCBhIGNhbGwgdG8g
Y3RpX29wX3Jlc29sdmVfYmFzZV9zdHJpY3RfcHV0IGluIHRoZSBlZmZlY3RlZCBjYXNlIHJhdGhl
cgorICAgICAgICB0aGFuIG1ha2luZyBvcF9yZXNvbHZlX2Jhc2UgaGF2ZSBhbiBhZGRpdGlvbmFs
IHJ1bnRpbWUgYnJhbmNoLgorCisgICAgICAgIFRoZXJlJ3MgYWxzbyBhIG5ldyBoZWxwZXIgZnVu
Y3Rpb24gdG8gY3JlYXRlIHRoZSBleGNlcHRpb24gZm9yIHRoZSBpbnZhbGlkIGFzc2lnbm1lbnQu
CisKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2Rl
QmxvY2s6OmR1bXApOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0UmVzb2x2ZUJhc2UpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdFJlc29sdmVCYXNlRm9yUHV0KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cDoKKyAgICAgICAgKEpTQzo6QXNzaWduUmVzb2x2ZU5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAg
ICAgIChKU0M6OkZvckluTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpyZXNvbHZlQmFz
ZSk6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAg
ICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3Jlc29sdmVfYmFzZSk6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKToKKyAgICAgICAgKiBqaXQvSklU
T3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3Jlc29sdmVfYmFz
ZSk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKToK
KyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAgICAoSlNDOjpERUZJTkVfU1RVQl9G
VU5DVElPTik6CisgICAgICAgICogaml0L0pJVFN0dWJzLmg6CisgICAgICAgICogcGFyc2VyL0pT
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQYXJzZXI6OnBhcnNlUHJvZ3JhbSk6CisgICAg
ICAgICogcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRl
RXJyb3JGb3JJbnZhbGlkR2xvYmFsQXNzaWdubWVudCk6CisgICAgICAgICogcnVudGltZS9FeGNl
cHRpb25IZWxwZXJzLmg6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6CisgICAgICAg
IChKU0M6OnJlc29sdmVCYXNlKToKKwogMjAxMC0xMC0xNiAgS3l1c3VuIEtpbSAgPG1hbmlhZ29v
bkBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlh
a292LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBi
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggYjBlMTk0NzkzZWQ1
ODVkMDkwZTZjYjgzZjU5MjA5NDExNWZlNjU2Ni4uNTUxMDFkNDgwYzA4ZDQ2ZDE0MDIwYWU0YTky
M2I0NTI4ODE2N2Q5YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC03
NjEsNyArNzYxLDE0IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImCiAgICAgICAgIGNhc2Ugb3Bf
cmVzb2x2ZV9iYXNlOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsK
ICAgICAgICAgICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFuZDsKLSAgICAgICAgICAgIHBy
aW50ZigiWyU0ZF0gcmVzb2x2ZV9iYXNlXHQgJXMsICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJO
YW1lKGV4ZWMsIHIwKS5kYXRhKCksIGlkTmFtZShpZDAsIG1faWRlbnRpZmllcnNbaWQwXSkuZGF0
YSgpKTsKKyAgICAgICAgICAgIGludCBpc1N0cmljdCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAg
ICAgICAgICAgcHJpbnRmKCJbJTRkXSByZXNvbHZlX2Jhc2Ulc1x0ICVzLCAlc1xuIiwgbG9jYXRp
b24sIGlzU3RyaWN0ID8gIl9zdHJpY3QiIDogIiIsIHJlZ2lzdGVyTmFtZShleGVjLCByMCkuZGF0
YSgpLCBpZE5hbWUoaWQwLCBtX2lkZW50aWZpZXJzW2lkMF0pLmRhdGEoKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIG9wX2Vuc3VyZV9wcm9wZXJ0eV9leGlz
dHM6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAg
ICAgaW50IGlkMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRmKCJbJTRk
XSBlbnN1cmVfcHJvcGVydHlfZXhpc3RzXHQgJXMsICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJO
YW1lKGV4ZWMsIHIwKS5kYXRhKCksIGlkTmFtZShpZDAsIG1faWRlbnRpZmllcnNbaWQwXSkuZGF0
YSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfcmVz
b2x2ZV93aXRoX2Jhc2U6IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09w
Y29kZS5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggODg0YmVhNWZh
MjU4NzU5MTBiNTVlMTkzMjdlYWQ4ZTliNzdiNzUyYy4uZTFlZjAxZWQ1ODg2N2Q1MDY2YTA3NDE0
NGU2ZDY2YWIxZjIyOGE1NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKQEAgLTEwMCw3ICsx
MDAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbWFjcm8ob3BfcHV0X3Njb3BlZF92YXIs
IDQpIFwKICAgICAgICAgbWFjcm8ob3BfZ2V0X2dsb2JhbF92YXIsIDMpIFwKICAgICAgICAgbWFj
cm8ob3BfcHV0X2dsb2JhbF92YXIsIDMpIFwKLSAgICAgICAgbWFjcm8ob3BfcmVzb2x2ZV9iYXNl
LCAzKSBcCisgICAgICAgIG1hY3JvKG9wX3Jlc29sdmVfYmFzZSwgNCkgXAorICAgICAgICBtYWNy
byhvcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzLCAzKSBcCiAgICAgICAgIG1hY3JvKG9wX3Jlc29s
dmVfd2l0aF9iYXNlLCA0KSBcCiAgICAgICAgIG1hY3JvKG9wX2dldF9ieV9pZCwgOCkgXAogICAg
ICAgICBtYWNybyhvcF9nZXRfYnlfaWRfc2VsZiwgOCkgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZDU4ZmQ1NTQwMjM3ZWEx
MGZlNDI3MjY3OTJmNmMzZjdiMDUwY2NiYy4uNTNmM2Q2YmMwMDIzNjQ0MzM3ZmNkODA3ZjFmMmZj
NTE3YWM5MDY2ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwCkBAIC0xMjcxLDYgKzEyNzEsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFJlc29sdmVCYXNlKFJlZ2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRp
ZmllcgogICAgICAgICBlbWl0T3Bjb2RlKG9wX3Jlc29sdmVfYmFzZSk7CiAgICAgICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZChkc3QtPmluZGV4KCkpOwogICAgICAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkpKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBw
ZW5kKGZhbHNlKTsKICAgICAgICAgcmV0dXJuIGRzdDsKICAgICB9CiAKQEAgLTEyNzgsNiArMTI3
OSwzMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJlc29sdmVCYXNlKFJl
Z2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRpZmllcgogICAgIHJldHVybiBlbWl0TG9hZChkc3Qs
IEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSk7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0UmVzb2x2ZUJhc2VGb3JQdXQoUmVnaXN0ZXJJRCogZHN0LCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eSkKK3sKKyAgICBpZiAoIW1fY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkK
KyAgICAgICAgcmV0dXJuIGVtaXRSZXNvbHZlQmFzZShkc3QsIHByb3BlcnR5KTsKKyAgICBzaXpl
X3QgZGVwdGggPSAwOworICAgIGludCBpbmRleCA9IDA7CisgICAgSlNPYmplY3QqIGdsb2JhbE9i
amVjdCA9IDA7CisgICAgYm9vbCByZXF1aXJlc0R5bmFtaWNDaGVja3MgPSBmYWxzZTsKKyAgICBm
aW5kU2NvcGVkUHJvcGVydHkocHJvcGVydHksIGluZGV4LCBkZXB0aCwgZmFsc2UsIHJlcXVpcmVz
RHluYW1pY0NoZWNrcywgZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoIWdsb2JhbE9iamVjdCB8fCBy
ZXF1aXJlc0R5bmFtaWNDaGVja3MpIHsKKyAgICAgICAgLy8gV2UgY2FuJ3Qgb3B0aW1pc2UgYXQg
YWxsIDotKAorICAgICAgICBlbWl0T3Bjb2RlKG9wX3Jlc29sdmVfYmFzZSk7CisgICAgICAgIGlu
c3RydWN0aW9ucygpLmFwcGVuZChkc3QtPmluZGV4KCkpOworICAgICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkpKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKHRydWUpOworICAgICAgICByZXR1cm4gZHN0OworICAgIH0KKyAgICAKKyAgICAvLyBH
bG9iYWwgb2JqZWN0IGlzIHRoZSBiYXNlCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHJlc3VsdCA9
IGVtaXRMb2FkKGRzdCwgSlNWYWx1ZShnbG9iYWxPYmplY3QpKTsKKyAgICBlbWl0T3Bjb2RlKG9w
X2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChkc3Qt
PmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChhZGRDb25zdGFudChwcm9wZXJ0
eSkpOworICAgIHJldHVybiByZXN1bHQuZ2V0KCk7Cit9CisKIFJlZ2lzdGVySUQqIEJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0UmVzb2x2ZVdpdGhCYXNlKFJlZ2lzdGVySUQqIGJhc2VEc3QsIFJlZ2lz
dGVySUQqIHByb3BEc3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5KQogewogICAgIHNpemVf
dCBkZXB0aCA9IDA7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCmluZGV4IGJkNWM4MDNhYzM3NjcwZTE2MGEwYjYwNzU2ZDM5Nzc1YTc4YzM1ZDgu
LmQwZTRhNmI0MGFjOWQzOTE2ODdmNzZjMjM1ZTJkNzg2NGQ3ZGM2MTYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC0zMjksNiArMzI5
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXRTY29wZWRW
YXIoc2l6ZV90IHNraXAsIGludCBpbmRleCwgUmVnaXN0ZXJJRCogdmFsdWUsIEpTVmFsdWUgZ2xv
YmFsT2JqZWN0KTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0UmVzb2x2ZUJhc2UoUmVnaXN0
ZXJJRCogZHN0LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSk7CisgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXRSZXNvbHZlQmFzZUZvclB1dChSZWdpc3RlcklEKiBkc3QsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFJlc29sdmVXaXRoQmFzZShS
ZWdpc3RlcklEKiBiYXNlRHN0LCBSZWdpc3RlcklEKiBwcm9wRHN0LCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eSk7CiAKICAgICAgICAgdm9pZCBlbWl0TWV0aG9kQ2hlY2soKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMGEzM2JiNmIxYjdk
ZTE5OTkzNTYwZjk2MjI1ZWE4YWJjNDA1MmRlMy4uNWYwNzNhODM1ODVlNGIxMjcyMmVjY2RlMzlk
NDdiMGQyMWUyMjAyYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKQEAgLTEyMzEsNyArMTIzMSw3IEBAIFJlZ2lzdGVySUQqIEFzc2lnblJlc29sdmVO
b2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0CiAg
ICAgICAgIHJldHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFz
ZSA9IGdlbmVyYXRvci5lbWl0UmVzb2x2ZUJhc2UoZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBt
X2lkZW50KTsKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFzZSA9IGdlbmVyYXRvci5lbWl0UmVz
b2x2ZUJhc2VGb3JQdXQoZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBtX2lkZW50KTsKICAgICBp
ZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAgICAgICAgIGRzdCA9IDA7CiAg
ICAgUmVnaXN0ZXJJRCogdmFsdWUgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3JpZ2h0KTsK
QEAgLTE2MDUsNyArMTYwNSw3IEBAIFJlZ2lzdGVySUQqIEZvckluTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzCiAgICAgICAgIGlm
ICghcHJvcGVydHlOYW1lKSB7CiAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBnZW5lcmF0b3Iu
bmV3VGVtcG9yYXJ5KCk7CiAgICAgICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvdGVjdCA9
IHByb3BlcnR5TmFtZTsKLSAgICAgICAgICAgIFJlZ2lzdGVySUQqIGJhc2UgPSBnZW5lcmF0b3Iu
ZW1pdFJlc29sdmVCYXNlKGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwgaWRlbnQpOworICAgICAg
ICAgICAgUmVnaXN0ZXJJRCogYmFzZSA9IGdlbmVyYXRvci5lbWl0UmVzb2x2ZUJhc2VGb3JQdXQo
Z2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBpZGVudCk7CiAKICAgICAgICAgICAgIGdlbmVyYXRv
ci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3QoKSwgc3RhcnRPZmZzZXQoKSwgZW5kT2Zmc2V0KCkp
OwogICAgICAgICAgICAgZ2VuZXJhdG9yLmVtaXRQdXRCeUlkKGJhc2UsIGlkZW50LCBwcm9wZXJ0
eU5hbWUpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4
IGJiZDE5MjUxMGZlMTRjYmFiNjRlNjk5ZDhhZGNiZDYzNTY3OGRlMjguLjE0MjA0Y2U2YjdjZjUz
NWNkOWZjMGYzZWY3ZjlmMWNiMTY1N2ExNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAKQEAgLTI4MCw4ICsyODAsMTQgQEAgTkVWRVJfSU5MSU5FIHZvaWQg
SW50ZXJwcmV0ZXI6OnJlc29sdmVCYXNlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBJbnN0cnVjdGlv
biogdlAKIHsKICAgICBpbnQgZHN0ID0gdlBDWzFdLnUub3BlcmFuZDsKICAgICBpbnQgcHJvcGVy
dHkgPSB2UENbMl0udS5vcGVyYW5kOwotICAgIGNhbGxGcmFtZS0+cihkc3QpID0gSlNWYWx1ZShK
U0M6OnJlc29sdmVCYXNlKGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aWRlbnRp
Zmllcihwcm9wZXJ0eSksIGNhbGxGcmFtZS0+c2NvcGVDaGFpbigpKSk7Ci0gICAgQVNTRVJUKGNh
bGxGcmFtZS0+cihkc3QpLmpzVmFsdWUoKSk7CisgICAgYm9vbCBpc1N0cmljdFB1dCA9IHZQQ1sz
XS51Lm9wZXJhbmQ7CisgICAgY29uc3QgSWRlbnRpZmllciBpZGVudCA9IGNhbGxGcmFtZS0+Y29k
ZUJsb2NrKCktPmlkZW50aWZpZXIocHJvcGVydHkpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gSlND
OjpyZXNvbHZlQmFzZShjYWxsRnJhbWUsIGlkZW50LCBjYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKSwg
aXNTdHJpY3RQdXQpOworICAgIGlmICghcmVzdWx0KSB7CisgICAgICAgIGNhbGxGcmFtZS0+cihk
c3QpID0gcmVzdWx0OworICAgICAgICBBU1NFUlQoY2FsbEZyYW1lLT5yKGRzdCkuanNWYWx1ZSgp
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuZXhjZXB0aW9u
ID0gY3JlYXRlRXJyb3JGb3JJbnZhbGlkR2xvYmFsQXNzaWdubWVudChjYWxsRnJhbWUsIGlkZW50
LnVzdHJpbmcoKSk7CiB9CiAKIE5FVkVSX0lOTElORSBib29sIEludGVycHJldGVyOjpyZXNvbHZl
QmFzZUFuZFByb3BlcnR5KENhbGxGcmFtZSogY2FsbEZyYW1lLCBJbnN0cnVjdGlvbiogdlBDLCBK
U1ZhbHVlJiBleGNlcHRpb25WYWx1ZSkKQEAgLTI0MzIsNiArMjQzOCwyNCBAQCBKU1ZhbHVlIElu
dGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZShFeGVjdXRpb25GbGFnIGZsYWcsIFJlZ2lzdGVyRmls
ZSogcmVnaXN0ZXJGaQogICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9yZXNvbHZlX2Jh
c2UpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQorICAgIERFRklORV9PUENP
REUob3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykgeworICAgICAgICAvKiBlbnN1cmVfcHJvcGVy
dHlfZXhpc3RzIGJhc2UocikgcHJvcGVydHkoaWQpCisKKyAgICAgICAgICAgVGhyb3dzIGFuIGV4
Y2VwdGlvbiBpZiBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCBvbiBiYXNlCisgICAgICAgICAqLwor
ICAgICAgICBpbnQgYmFzZSA9IHZQQ1sxXS51Lm9wZXJhbmQ7CisgICAgICAgIGludCBwcm9wZXJ0
eSA9IHZQQ1syXS51Lm9wZXJhbmQ7CisgICAgICAgIElkZW50aWZpZXImIGlkZW50ID0gY29kZUJs
b2NrLT5pZGVudGlmaWVyKHByb3BlcnR5KTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgYmFz
ZVZhbCA9IGNhbGxGcmFtZS0+cihiYXNlKS5qc1ZhbHVlKCk7CisgICAgICAgIEpTT2JqZWN0KiBi
YXNlT2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbCk7CisgICAgICAgIFByb3BlcnR5U2xvdCBzbG90
KGJhc2VWYWwpOworICAgICAgICBpZiAoIWJhc2VPYmplY3QtPmdldFByb3BlcnR5U2xvdChjYWxs
RnJhbWUsIGlkZW50LCBzbG90KSkgeworICAgICAgICAgICAgZXhjZXB0aW9uVmFsdWUgPSBjcmVh
dGVFcnJvckZvckludmFsaWRHbG9iYWxBc3NpZ25tZW50KGNhbGxGcmFtZSwgaWRlbnQudXN0cmlu
ZygpKTsKKyAgICAgICAgICAgIGdvdG8gdm1fdGhyb3c7CisgICAgICAgIH0KKyAgICAgICAgTkVY
VF9JTlNUUlVDVElPTigpOworICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX3Jlc29sdmVfd2l0
aF9iYXNlKSB7CiAgICAgICAgIC8qIHJlc29sdmVfd2l0aF9iYXNlIGJhc2VEc3QocikgcHJvcERz
dChyKSBwcm9wZXJ0eShpZCkKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCA3OTEwODI3MmQ2NzM5M2EzMGQ1
ODIwZTk0NGI0ZjM3MGE2Y2Q3NzU1Li5lYzkzNzVmMWRkYTU5NDkxZDZjMmMxM2NlYmNiMGRhY2Yy
YjcwYzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMzAyLDYgKzMwMiw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3B1dF9zZXR0ZXIpCiAg
ICAgICAgIERFRklORV9PUChvcF9yZXNvbHZlKQogICAgICAgICBERUZJTkVfT1Aob3BfcmVzb2x2
ZV9iYXNlKQorICAgICAgICBERUZJTkVfT1Aob3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykKICAg
ICAgICAgREVGSU5FX09QKG9wX3Jlc29sdmVfZ2xvYmFsKQogICAgICAgICBERUZJTkVfT1Aob3Bf
cmVzb2x2ZV9nbG9iYWxfZHluYW1pYykKICAgICAgICAgREVGSU5FX09QKG9wX3Jlc29sdmVfc2tp
cCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAppbmRleCA4OWRlYWM2NjNjMDA2NjdmMzM3MjNmZTVjNjQwY2NlODk5OWFlNjM1
Li40YTBkZWIyMjJlMjE5ZjJmNmViMjMzOWQ1YjlkMWJkZmI3ZTk1MjA1IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC04MTEsNiArODExLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9w
dXRfc2V0dGVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9yZXNvbHZlKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9yZXNvbHZlX2Jhc2UoSW5zdHJ1Y3Rp
b24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX3Jlc29sdmVfZ2xvYmFsKEluc3RydWN0aW9u
KiwgYm9vbCBkeW5hbWljID0gZmFsc2UpOwogICAgICAgICB2b2lkIGVtaXRfb3BfcmVzb2x2ZV9n
bG9iYWxfZHluYW1pYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcmVzb2x2
ZV9za2lwKEluc3RydWN0aW9uKik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggM2U3
MDU3OGEyY2FlZDVkMjgxNmZmODMwYWI2NWFiNzg3MTViYzFkNC4uZWJkMjJiYmU3YTVhODEyZmI3
OTRlMTU4YjhlNzQzMGU0ODkyYjFlYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAt
NjQ0LDcgKzY0NCwxNSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9zdHJjYXQoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKIAogdm9pZCBKSVQ6OmVtaXRfb3BfcmVzb2x2ZV9iYXNlKEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0gICAgSklUU3R1YkNhbGwgc3R1YkNhbGwo
dGhpcywgY3RpX29wX3Jlc29sdmVfYmFzZSk7CisgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhp
cywgY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCA/IGN0aV9vcF9yZXNvbHZlX2Jhc2Vf
c3RyaWN0X3B1dCA6IGN0aV9vcF9yZXNvbHZlX2Jhc2UpOworICAgIHN0dWJDYWxsLmFkZEFyZ3Vt
ZW50KEltbVB0cigmbV9jb2RlQmxvY2stPmlkZW50aWZpZXIoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCkpKTsKKyAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQpOworfQorCit2b2lkIEpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3Rz
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSklUU3R1YkNhbGwgc3R1
YkNhbGwodGhpcywgY3RpX29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMpOworICAgIHN0dWJDYWxs
LmFkZEFyZ3VtZW50KEltbTMyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKICAg
ICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoJm1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CiAgICAgc3R1YkNhbGwuY2FsbChjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMzMl82NC5jcHAKaW5kZXggN2JlZmEyNjY5NmRkNWE0YWFjYjYyNjk5OTMyYWE1MTc2M2M1NmE3
OC4uYzNiN2FjMjllMDVjMmJkYWE1ZDM1MTUzNWQyYTlkM2Q5MWRmOGE3MSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTczNyw3ICs3MzcsMTUgQEAgdm9pZCBKSVQ6
OmVtaXRfb3Bfc3RyY2F0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKIHZvaWQg
SklUOjplbWl0X29wX3Jlc29sdmVfYmFzZShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogewotICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9yZXNvbHZlX2Jhc2Up
OworICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQgPyBjdGlfb3BfcmVzb2x2ZV9iYXNlX3N0cmljdF9wdXQgOiBjdGlfb3BfcmVzb2x2
ZV9iYXNlKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoJm1fY29kZUJsb2NrLT5p
ZGVudGlmaWVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CisgICAgc3R1YkNh
bGwuY2FsbChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKK30KKwordm9pZCBKSVQ6
OmVtaXRfb3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cyhJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQoreworICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9lbnN1cmVf
cHJvcGVydHlfZXhpc3RzKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW0zMihjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSk7CiAgICAgc3R1YkNhbGwuYWRkQXJndW1lbnQoSW1t
UHRyKCZtX2NvZGVCbG9jay0+aWRlbnRpZmllcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kKSkpOwogICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZCk7CiB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwIGIvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCBlZDJhZDdlZTRlMjE1NzRhZmU1OGE0
OTAwOTU3YzkxZGQ5MDgxYjhkLi44MzQwMjExMDA4MmRlMmViZWE4MDQ2YTcwZmQ4ZDMxYWUzY2Q3
ZDdlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTI2OTcsOSArMjY5NywzNSBAQCBERUZJ
TkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfcmVzb2x2ZV9iYXNlKQogewogICAg
IFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKIAotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoSlNDOjpyZXNvbHZlQmFzZShzdGFja0ZyYW1lLmNhbGxGcmFtZSwgc3RhY2tGcmFt
ZS5hcmdzWzBdLmlkZW50aWZpZXIoKSwgc3RhY2tGcmFtZS5jYWxsRnJhbWUtPnNjb3BlQ2hhaW4o
KSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNDOjpyZXNvbHZlQmFzZShzdGFja0Zy
YW1lLmNhbGxGcmFtZSwgc3RhY2tGcmFtZS5hcmdzWzBdLmlkZW50aWZpZXIoKSwgc3RhY2tGcmFt
ZS5jYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKSwgZmFsc2UpKTsKIH0KIAorREVGSU5FX1NUVUJfRlVO
Q1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX3Jlc29sdmVfYmFzZV9zdHJpY3RfcHV0KQoreworICAg
IFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKKyAgICBKU1ZhbHVlIGJhc2UgPSBK
U0M6OnJlc29sdmVCYXNlKHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0u
aWRlbnRpZmllcigpLCBzdGFja0ZyYW1lLmNhbGxGcmFtZS0+c2NvcGVDaGFpbigpLCB0cnVlKTsK
KyAgICBpZiAoIWJhc2UpIHsKKyAgICAgICAgc3RhY2tGcmFtZS5nbG9iYWxEYXRhLT5leGNlcHRp
b24gPSBjcmVhdGVFcnJvckZvckludmFsaWRHbG9iYWxBc3NpZ25tZW50KHN0YWNrRnJhbWUuY2Fs
bEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0uaWRlbnRpZmllcigpLnVzdHJpbmcoKSk7CisgICAg
ICAgIFZNX1RIUk9XX0VYQ0VQVElPTigpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGJhc2UpOworfQorCitERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3Bf
ZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykKK3sKKyAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3Rh
Y2tGcmFtZSk7CisgICAgSlNWYWx1ZSBiYXNlID0gc3RhY2tGcmFtZS5jYWxsRnJhbWUtPnIoc3Rh
Y2tGcmFtZS5hcmdzWzBdLmludDMyKCkpLmpzVmFsdWUoKTsKKyAgICBKU09iamVjdCogb2JqZWN0
ID0gYXNPYmplY3QoYmFzZSk7CisgICAgUHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBB
U1NFUlQoc3RhY2tGcmFtZS5jYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSk7
CisgICAgaWYgKCFvYmplY3QtPmdldFByb3BlcnR5U2xvdChzdGFja0ZyYW1lLmNhbGxGcmFtZSwg
c3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKSwgc2xvdCkpIHsKKyAgICAgICAgc3RhY2tG
cmFtZS5nbG9iYWxEYXRhLT5leGNlcHRpb24gPSBjcmVhdGVFcnJvckZvckludmFsaWRHbG9iYWxB
c3NpZ25tZW50KHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMV0uaWRlbnRp
ZmllcigpLnVzdHJpbmcoKSk7CisgICAgICAgIFZNX1RIUk9XX0VYQ0VQVElPTigpOworICAgIH0K
KworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZSk7Cit9CisgICAgCiBERUZJTkVfU1RV
Ql9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfcmVzb2x2ZV9za2lwKQogewogICAgIFNUVUJf
SU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVicy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKaW5kZXggYmQ3
ZDE5Y2RkNmM3Y2QxNmI2OGY5OTA4YjNlNjQ0OWJhOTc4N2YyYS4uYzg4NDE5NWU5YzA5ZGZkZGE2
MjA0OWRjNzFkMWRkMjg0NGQ0YjVmZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKQEAgLTMzOCw2ICsz
MzgsOCBAQCBleHRlcm4gIkMiIHsKICAgICBFbmNvZGVkSlNWYWx1ZSBKSVRfU1RVQiBjdGlfb3Bf
cHJlX2luYyhTVFVCX0FSR1NfREVDTEFSQVRJT04pOwogICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9T
VFVCIGN0aV9vcF9yZXNvbHZlKFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAgICAgRW5jb2RlZEpT
VmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29sdmVfYmFzZShTVFVCX0FSR1NfREVDTEFSQVRJT04p
OworICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9TVFVCIGN0aV9vcF9yZXNvbHZlX2Jhc2Vfc3RyaWN0
X3B1dChTVFVCX0FSR1NfREVDTEFSQVRJT04pOworICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9TVFVC
IGN0aV9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAg
ICAgRW5jb2RlZEpTVmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29sdmVfZ2xvYmFsKFNUVUJfQVJH
U19ERUNMQVJBVElPTik7CiAgICAgRW5jb2RlZEpTVmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29s
dmVfZ2xvYmFsX2R5bmFtaWMoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICBFbmNvZGVkSlNW
YWx1ZSBKSVRfU1RVQiBjdGlfb3BfcmVzb2x2ZV9za2lwKFNUVUJfQVJHU19ERUNMQVJBVElPTik7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0pTUGFyc2VyLmNwcAppbmRleCA0YjEwMDlmMTc5YTE0NTM5ZDk1Njhj
MzdlODc4OGJjNTliYTE5YmJiLi5hYWIxMDgxMTdmNTk3ZDgzZGY5M2ZlNmYwNjhiZDU3NDZmZjhi
NWNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9KU1BhcnNlci5jcHAKQEAgLTUyOSwxOCArNTI5LDEwIEBA
IGJvb2wgSlNQYXJzZXI6OnBhcnNlUHJvZ3JhbShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCkKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmICghbV9zeW50YXhBbHJlYWR5VmFsaWRhdGVkKSB7
Ci0gICAgICAgIElkZW50aWZpZXJTZXQgd3JpdHRlblZhcmlhYmxlczsKLSAgICAgICAgc2NvcGUt
PmdldFVuY2FwdHVyZWRXcml0dGVuVmFyaWFibGVzKHdyaXR0ZW5WYXJpYWJsZXMpOwotICAgICAg
ICBJZGVudGlmaWVyU2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSB3cml0dGVuVmFyaWFibGVzLmVu
ZCgpOwotICAgICAgICBmb3IgKElkZW50aWZpZXJTZXQ6OmNvbnN0X2l0ZXJhdG9yIHB0ciA9IHdy
aXR0ZW5WYXJpYWJsZXMuYmVnaW4oKTsgcHRyICE9IGVuZDsgKytwdHIpIHsKLSAgICAgICAgICAg
IFByb3BlcnR5U2xvdCBzbG90KGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgICAgICAgICAgaWYg
KCFsZXhpY2FsR2xvYmFsT2JqZWN0LT5nZXRQcm9wZXJ0eVNsb3QobGV4aWNhbEdsb2JhbE9iamVj
dC0+Z2xvYmFsRXhlYygpLCBJZGVudGlmaWVyKG1fZ2xvYmFsRGF0YSwgKnB0ciksIHNsb3QpKQot
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9CiAgICAgICAgIElkZW50aWZp
ZXJTZXQgZGVsZXRlZFZhcmlhYmxlczsKICAgICAgICAgaWYgKCFzY29wZS0+Z2V0RGVsZXRlZFZh
cmlhYmxlcyhkZWxldGVkVmFyaWFibGVzKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBlbmQgPSBkZWxldGVkVmFyaWFibGVzLmVuZCgpOworICAgICAgICBJZGVudGlmaWVyU2V0
Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBkZWxldGVkVmFyaWFibGVzLmVuZCgpOwogICAgICAgICBT
eW1ib2xUYWJsZSYgZ2xvYmFsRW52UmVjb3JkID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+c3ltYm9s
VGFibGUoKTsKICAgICAgICAgZm9yIChJZGVudGlmaWVyU2V0Ojpjb25zdF9pdGVyYXRvciBwdHIg
PSBkZWxldGVkVmFyaWFibGVzLmJlZ2luKCk7IHB0ciAhPSBlbmQ7ICsrcHRyKSB7CiAgICAgICAg
ICAgICBpZiAoIWdsb2JhbEVudlJlY29yZC5nZXQoKnB0cikuaXNOdWxsKCkpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcAppbmRleCBiNGRlOWIzM2Y5ZDRkNWI3
MjA4Zjc0M2E1OWNkMzRjZWU3ZWI0ODBhLi4zYWQyYzExZTdkODJkOWExZmQ3YjY0NmQ4ZTJlOGU1
MjY0OTkyNmZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhl
bHBlcnMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5j
cHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU05vdEFuT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgorI2luY2x1ZGUgIlN0cmluZ0J1
aWxkZXIuaCIKICNpbmNsdWRlICJVU3RyaW5nQ29uY2F0ZW5hdGUuaCIKIAogbmFtZXNwYWNlIEpT
QyB7CkBAIC0xOTIsNCArMTkzLDEzIEBAIEpTVmFsdWUgdGhyb3dPdXRPZk1lbW9yeUVycm9yKEV4
ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVFcnJvcihl
eGVjLCAiT3V0IG9mIG1lbW9yeSIpKTsKIH0KIAorSlNPYmplY3QqIGNyZWF0ZUVycm9yRm9ySW52
YWxpZEdsb2JhbEFzc2lnbm1lbnQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBVU3RyaW5nJiBwcm9w
ZXJ0eU5hbWUpCit7CisgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgIGJ1aWxkZXIuYXBw
ZW5kKCJTdHJpY3QgbW9kZSBmb3JiaWRzIGltcGxpY2l0IGNyZWF0aW9uIG9mIGdsb2JhbCBwcm9w
ZXJ0eSAnIik7CisgICAgYnVpbGRlci5hcHBlbmQoU3RyaW5nKHByb3BlcnR5TmFtZS5pbXBsKCkp
KTsKKyAgICBidWlsZGVyLmFwcGVuZCgiJyIpOworICAgIHJldHVybiBjcmVhdGVSZWZlcmVuY2VF
cnJvcihleGVjLCBVU3RyaW5nKGJ1aWxkZXIudG9TdHJpbmcoKS5pbXBsKCkpKTsKK30gICAgCisK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGNlcHRpb25IZWxwZXJzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBl
cnMuaAppbmRleCAzZTZkZTg2MTRiMDVjNjQxMDVlMjNjMjdjMmFkYTNhYjc5YTg2ZGE4Li45YjZm
MWYyM2Q1NTdkNjVmYjkyZWUwZGRjNDY4MjMyNjllMjI1OGQ5IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICBKU1ZhbHVlIGNyZWF0ZU5vdEFGdW5jdGlvbkVycm9yKEV4ZWNTdGF0ZSosIEpTVmFs
dWUsIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LCBDb2RlQmxvY2sqKTsKICAgICBKU09iamVjdCog
Y3JlYXRlTm90QW5PYmplY3RFcnJvcihFeGVjU3RhdGUqLCBKU05vdEFuT2JqZWN0RXJyb3JTdHVi
KiwgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIENvZGVCbG9jayopOwogICAgIEpTVmFsdWUgdGhy
b3dPdXRPZk1lbW9yeUVycm9yKEV4ZWNTdGF0ZSopOworICAgIEpTT2JqZWN0KiBjcmVhdGVFcnJv
ckZvckludmFsaWRHbG9iYWxBc3NpZ25tZW50KEV4ZWNTdGF0ZSosIGNvbnN0IFVTdHJpbmcmKTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3BlcmF0aW9ucy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKaW5k
ZXggZWVkMWYxNmE1NjUxNGExNWQ4MzFlNjI1ZTM5YTIzMTA1YzU3MWU3NS4uOTIyNjk1M2U3M2Iy
ZTExNWY3YzFmMmE0YWRhZTUzMTg1MmQxMmM1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcGVyYXRpb25zLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmgKQEAgLTQ2MCw3ICs0NjAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAg
IH0KIAotICAgIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSByZXNvbHZlQmFzZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSWRlbnRpZmllciYgcHJvcGVydHksIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWlu
KQorICAgIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSByZXNvbHZlQmFzZShDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSWRlbnRpZmllciYgcHJvcGVydHksIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluLCBi
b29sIGlzU3RyaWN0UHV0KQogICAgIHsKICAgICAgICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGl0ZXIg
PSBzY29wZUNoYWluLT5iZWdpbigpOwogICAgICAgICBTY29wZUNoYWluSXRlcmF0b3IgbmV4dCA9
IGl0ZXI7CkBAIC00NzIsNyArNDcyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTT2Jq
ZWN0KiBiYXNlOwogICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgYmFzZSA9ICpp
dGVyOwotICAgICAgICAgICAgaWYgKG5leHQgPT0gZW5kIHx8IGJhc2UtPmdldFByb3BlcnR5U2xv
dChjYWxsRnJhbWUsIHByb3BlcnR5LCBzbG90KSkKKyAgICAgICAgICAgIGlmIChuZXh0ID09IGVu
ZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXNTdHJpY3RQdXQgPyBKU1ZhbHVlKCkgOiBiYXNl
OworICAgICAgICAgICAgaWYgKGJhc2UtPmdldFByb3BlcnR5U2xvdChjYWxsRnJhbWUsIHByb3Bl
cnR5LCBzbG90KSkKICAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTsKIAogICAgICAgICAgICAg
aXRlciA9IG5leHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGQ4NjQ5YzRhMjZjZWViYTViMDBlMzY2ZTM3Njc3ZDc5OWZm
MDJkOC4uMTk2OGMxZTkzMjNlN2NiYmFhMTdlNzJiYzYwOTY5YjhmMjJiMzkwNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTEwLTE3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RyaWN0
IG1vZGU6IEFzc2lnbm1lbnQgdGhhdCB3b3VsZCBjcmVhdGUgYSBnbG9iYWwgc2hvdWxkIGJlIGEg
bGF0ZSBSZWZlcmVuY2VFcnJvciwgbm90IGEgc3ludGF4IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3Nzg4CisKKyAgICAgICAgVXBkYXRl
IHRlc3QgdG8gY2hlY2sgZm9yIHRoZSBjb3JyZWN0IGJlaGF2aW91ci4KKworICAgICAgICAqIGZh
c3QvanMvYmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMv
c2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmljdC1tb2RlLmpzOgorCiAyMDEwLTEwLTE3ICBWaWF0Y2hl
c2xhdiBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9raWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL2Jhc2ljLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvYmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CmluZGV4IGFjM2RlODNkODBkOTBkMjEx
MmFiMDViNmI1OTJhYjQ1MzY5YTAzMzIuLmZkYjk5ZDZmNDVlYWQxMzc0YzUyMzU0NTZhYTc2Mjlj
ZGNjZjVjMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvYmFzaWMtc3RyaWN0LW1v
ZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvYmFzaWMtc3RyaWN0LW1v
ZGUtZXhwZWN0ZWQudHh0CkBAIC01MSw3ICs1MSw4IEBAIFBBU1MgJ3VzZSBzdHJpY3QnOyAnXDAw
Nyc7IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IuCiBQQVNTICdcMDA3
JzsgJ3VzZSBzdHJpY3QnOyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9y
LgogUEFTUyAndXNlIHN0cmljdCc7IChmdW5jdGlvbiAoKXsgZGVsZXRlIHNvbWVEZWNsYXJlZEds
b2JhbDt9KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFTUyAo
ZnVuY3Rpb24gKCl7ICd1c2Ugc3RyaWN0JzsgZGVsZXRlIHNvbWVEZWNsYXJlZEdsb2JhbDt9KSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgotUEFTUyAndXNlIHN0cmlj
dCc7IHNvbWVHbG9iYWwgPSAnU2hvdWxkblwndCBiZSBhYmxlIHRvIGFzc2lnbiB0aGlzLic7IHNv
bWVHbG9iYWw7IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IuCitQQVNT
ICd1c2Ugc3RyaWN0JzsgaWYgKDApIHsgc29tZUdsb2JhbCA9ICdTaG91bGRuXCd0IGJlIGFibGUg
dG8gYXNzaWduIHRoaXMuJzsgfTsgdHJ1ZTsgaXMgdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IHNv
bWVHbG9iYWwgPSAnU2hvdWxkblwndCBiZSBhYmxlIHRvIGFzc2lnbiB0aGlzLic7ICB0aHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IFN0cmljdCBtb2RlIGZvcmJpZHMgaW1wbGljaXQgY3Jl
YXRpb24gb2YgZ2xvYmFsIHByb3BlcnR5ICdzb21lR2xvYmFsJy4KIFBBU1MgJ3VzZSBzdHJpY3Qn
OyBldmFsKCd2YXIgaW50cm9kdWNlZFZhcmlhYmxlID0gIkZBSUw6IHZhcmlhYmxlIGludHJvZHVj
ZWQgaW50byBjb250YWluaW5nIHNjb3BlIjsnKTsgaW50cm9kdWNlZFZhcmlhYmxlIHRocmV3IGV4
Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogaW50cm9kdWNlZFZh
cmlhYmxlLgogUEFTUyAndXNlIHN0cmljdCc7IG9iamVjdFdpdGhSZWFkb25seVByb3BlcnR5LnBy
b3AgPSAnZmFpbCcgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2ln
biB0byByZWFkb25seSBwcm9wZXJ0eS4uCiBQQVNTICd1c2Ugc3RyaWN0JzsgZGVsZXRlIG9iamVj
dFdpdGhSZWFkb25seVByb3BlcnR5LnByb3AgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVW5h
YmxlIHRvIGRlbGV0ZSBwcm9wZXJ0eS4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L3NjcmlwdC10ZXN0cy9iYXNpYy1zdHJpY3QtbW9kZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmljdC1tb2RlLmpzCmluZGV4IDU1OTJiZTQ1YzUyYTkxNmRj
Y2MxMThlYWZkYzI3MjcwMzMyZTBkNjEuLjdmNjYyNjhhOTdiNWY3ZmY2NzI1YjkzNWYzMGY3YzMy
MmNiMGRjYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Jh
c2ljLXN0cmljdC1tb2RlLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3Rz
L2Jhc2ljLXN0cmljdC1tb2RlLmpzCkBAIC02MCw3ICs2MCw4IEBAIHNob3VsZFRocm93KCInXFww
MDcnOyAndXNlIHN0cmljdCc7Iik7CiB2YXIgc29tZURlY2xhcmVkR2xvYmFsOwogc2hvdWxkVGhy
b3coIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uICgpeyBkZWxldGUgc29tZURlY2xhcmVkR2xvYmFs
O30pIik7CiBzaG91bGRUaHJvdygiKGZ1bmN0aW9uICgpeyAndXNlIHN0cmljdCc7IGRlbGV0ZSBz
b21lRGVjbGFyZWRHbG9iYWw7fSkiKTsKLXNob3VsZFRocm93KCIndXNlIHN0cmljdCc7IHNvbWVH
bG9iYWwgPSAnU2hvdWxkblxcJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyBzb21lR2xvYmFs
OyIpOworc2hvdWxkQmVUcnVlKCIndXNlIHN0cmljdCc7IGlmICgwKSB7IHNvbWVHbG9iYWwgPSAn
U2hvdWxkblxcJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyB9OyB0cnVlOyIpOworc2hvdWxk
VGhyb3coIid1c2Ugc3RyaWN0Jzsgc29tZUdsb2JhbCA9ICdTaG91bGRuXFwndCBiZSBhYmxlIHRv
IGFzc2lnbiB0aGlzLic7ICIpOwogc2hvdWxkVGhyb3coIid1c2Ugc3RyaWN0JzsgZXZhbCgndmFy
IGludHJvZHVjZWRWYXJpYWJsZSA9IFwiRkFJTDogdmFyaWFibGUgaW50cm9kdWNlZCBpbnRvIGNv
bnRhaW5pbmcgc2NvcGVcIjsnKTsgaW50cm9kdWNlZFZhcmlhYmxlIik7CiB2YXIgb2JqZWN0V2l0
aFJlYWRvbmx5UHJvcGVydHkgPSB7fTsKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3RXaXRo
UmVhZG9ubHlQcm9wZXJ0eSwgInByb3AiLCB7dmFsdWU6ICJ2YWx1ZSIsIHdyaXRhYmxlOmZhbHNl
fSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70992</attachid>
            <date>2010-10-17 20:51:50 -0700</date>
            <delta_ts>2010-10-17 21:02:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47788-20101017205149.patch</filename>
            <type>text/plain</type>
            <size>24497</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhNjIzZjg3MGJmYjU3NDIzZmIxNzUzNDVjYzRmNmJlYWNiMDc4OTdhLi45
ODhiYTI3OGYyOGU5YzcwMmYxYjZjOTUwMjk4OGJkMzBiMjFjNDI0IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTggQEAKKzIwMTAtMTAtMTcgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdHJpY3Qg
bW9kZTogQXNzaWdubWVudCB0aGF0IHdvdWxkIGNyZWF0ZSBhIGdsb2JhbCBzaG91bGQgYmUgYSBs
YXRlIFJlZmVyZW5jZUVycm9yLCBub3QgYSBzeW50YXggZmFpbHVyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc3ODgKKworICAgICAgICBGaXhpbmcg
dGhpcyByZXF1aXJlZCBhIGNvdXBsZSBvZiBjaGFuZ2VzOgorICAgICAgICAgKiByZXNvbHZlX2Jh
c2Ugbm93IGhhcyBhIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBpdCBpcyBiZWluZyB1c2VkIGZv
ciBhIHB1dCBpbiBzdHJpY3QgbW9kZS4KKyAgICAgICAgICAgdGhpcyBhbGxvd3MgdXMgdG8gdGhy
b3cgYW4gZXhjZXB0aW9uIHdoZW4gd2UncmUgZG9pbmcgYSBjb21wbGV0ZWx5IGdlbmVyaWMgcmVz
b2x2ZSBmb3IKKyAgICAgICAgICAgYXNzaWdubWVudCwgYW5kIHRoYXQgYXNzaWdubWVudCB3b3Vs
ZCBjcmVhdGUgYSBuZXcgZ2xvYmFsLgorICAgICAgICAgKiBUaGVyZSBpcyBhIG5ldyBvcGNvZGUg
J29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMnIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hl
dGhlcgorICAgICAgICAgICB0aGUgcHJvcGVydHkgYmVpbmcgYXNzaWduZWQgdG8gYWxyZWFkeSBl
eGlzdHMgb24gdGhlIGdsb2JhbCBvYmplY3QuICBUaGlzIGN1cnJlbnRseQorICAgICAgICAgICBo
YXMgbm8gY2FjaGluZywgYnV0IHN1Y2ggY2FjaGluZyBjb3VsZCBiZSBhZGRlZCByZWxhdGl2ZWx5
IHRyaXZpYWxseS4gIEl0IGlzIG9ubHkgdXNlZAorICAgICAgICAgICBpbiB0aGUgY2FzZSB3aGVy
ZSB3ZSBrbm93IHRoYXQgYSBwcm9wZXJ0eSB3aWxsIGJlIHBsYWNlZCBvbiB0aGUgZ2xvYmFsIG9i
amVjdCwgYW5kCisgICAgICAgICAgIHdlIGNhbm5vdCB2ZXJpZnkgdGhhdCB0aGUgcHJvcGVydHkg
YWxyZWFkeSBleGlzdHMuCisKKyAgICAgICAgSW4gdGhlIGppdCB3ZSBwbGFudCBhIGNhbGwgdG8g
Y3RpX29wX3Jlc29sdmVfYmFzZV9zdHJpY3RfcHV0IGluIHRoZSBlZmZlY3RlZCBjYXNlIHJhdGhl
cgorICAgICAgICB0aGFuIG1ha2luZyBvcF9yZXNvbHZlX2Jhc2UgaGF2ZSBhbiBhZGRpdGlvbmFs
IHJ1bnRpbWUgYnJhbmNoLgorCisgICAgICAgIFRoZXJlJ3MgYWxzbyBhIG5ldyBoZWxwZXIgZnVu
Y3Rpb24gdG8gY3JlYXRlIHRoZSBleGNlcHRpb24gZm9yIHRoZSBpbnZhbGlkIGFzc2lnbm1lbnQu
CisKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2Rl
QmxvY2s6OmR1bXApOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0UmVzb2x2ZUJhc2UpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdFJlc29sdmVCYXNlRm9yUHV0KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cDoKKyAgICAgICAgKEpTQzo6QXNzaWduUmVzb2x2ZU5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAg
ICAgIChKU0M6OkZvckluTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpyZXNvbHZlQmFz
ZSk6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAg
ICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3Jlc29sdmVfYmFzZSk6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKToKKyAgICAgICAgKiBqaXQvSklU
T3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3Jlc29sdmVfYmFz
ZSk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKToK
KyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAgICAoSlNDOjpERUZJTkVfU1RVQl9G
VU5DVElPTik6CisgICAgICAgICogaml0L0pJVFN0dWJzLmg6CisgICAgICAgICogcGFyc2VyL0pT
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQYXJzZXI6OnBhcnNlUHJvZ3JhbSk6CisgICAg
ICAgICogcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRl
RXJyb3JGb3JJbnZhbGlkR2xvYmFsQXNzaWdubWVudCk6CisgICAgICAgICogcnVudGltZS9FeGNl
cHRpb25IZWxwZXJzLmg6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6CisgICAgICAg
IChKU0M6OnJlc29sdmVCYXNlKToKKwogMjAxMC0xMC0xNiAgS3l1c3VuIEtpbSAgPG1hbmlhZ29v
bkBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlh
a292LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBi
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggYjBlMTk0NzkzZWQ1
ODVkMDkwZTZjYjgzZjU5MjA5NDExNWZlNjU2Ni4uNTUxMDFkNDgwYzA4ZDQ2ZDE0MDIwYWU0YTky
M2I0NTI4ODE2N2Q5YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC03
NjEsNyArNzYxLDE0IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImCiAgICAgICAgIGNhc2Ugb3Bf
cmVzb2x2ZV9iYXNlOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsK
ICAgICAgICAgICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFuZDsKLSAgICAgICAgICAgIHBy
aW50ZigiWyU0ZF0gcmVzb2x2ZV9iYXNlXHQgJXMsICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJO
YW1lKGV4ZWMsIHIwKS5kYXRhKCksIGlkTmFtZShpZDAsIG1faWRlbnRpZmllcnNbaWQwXSkuZGF0
YSgpKTsKKyAgICAgICAgICAgIGludCBpc1N0cmljdCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAg
ICAgICAgICAgcHJpbnRmKCJbJTRkXSByZXNvbHZlX2Jhc2Ulc1x0ICVzLCAlc1xuIiwgbG9jYXRp
b24sIGlzU3RyaWN0ID8gIl9zdHJpY3QiIDogIiIsIHJlZ2lzdGVyTmFtZShleGVjLCByMCkuZGF0
YSgpLCBpZE5hbWUoaWQwLCBtX2lkZW50aWZpZXJzW2lkMF0pLmRhdGEoKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIG9wX2Vuc3VyZV9wcm9wZXJ0eV9leGlz
dHM6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAg
ICAgaW50IGlkMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRmKCJbJTRk
XSBlbnN1cmVfcHJvcGVydHlfZXhpc3RzXHQgJXMsICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJO
YW1lKGV4ZWMsIHIwKS5kYXRhKCksIGlkTmFtZShpZDAsIG1faWRlbnRpZmllcnNbaWQwXSkuZGF0
YSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfcmVz
b2x2ZV93aXRoX2Jhc2U6IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09w
Y29kZS5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggODg0YmVhNWZh
MjU4NzU5MTBiNTVlMTkzMjdlYWQ4ZTliNzdiNzUyYy4uZTFlZjAxZWQ1ODg2N2Q1MDY2YTA3NDE0
NGU2ZDY2YWIxZjIyOGE1NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKQEAgLTEwMCw3ICsx
MDAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbWFjcm8ob3BfcHV0X3Njb3BlZF92YXIs
IDQpIFwKICAgICAgICAgbWFjcm8ob3BfZ2V0X2dsb2JhbF92YXIsIDMpIFwKICAgICAgICAgbWFj
cm8ob3BfcHV0X2dsb2JhbF92YXIsIDMpIFwKLSAgICAgICAgbWFjcm8ob3BfcmVzb2x2ZV9iYXNl
LCAzKSBcCisgICAgICAgIG1hY3JvKG9wX3Jlc29sdmVfYmFzZSwgNCkgXAorICAgICAgICBtYWNy
byhvcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzLCAzKSBcCiAgICAgICAgIG1hY3JvKG9wX3Jlc29s
dmVfd2l0aF9iYXNlLCA0KSBcCiAgICAgICAgIG1hY3JvKG9wX2dldF9ieV9pZCwgOCkgXAogICAg
ICAgICBtYWNybyhvcF9nZXRfYnlfaWRfc2VsZiwgOCkgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZDU4ZmQ1NTQwMjM3ZWEx
MGZlNDI3MjY3OTJmNmMzZjdiMDUwY2NiYy4uNTNmM2Q2YmMwMDIzNjQ0MzM3ZmNkODA3ZjFmMmZj
NTE3YWM5MDY2ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwCkBAIC0xMjcxLDYgKzEyNzEsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFJlc29sdmVCYXNlKFJlZ2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRp
ZmllcgogICAgICAgICBlbWl0T3Bjb2RlKG9wX3Jlc29sdmVfYmFzZSk7CiAgICAgICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZChkc3QtPmluZGV4KCkpOwogICAgICAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkpKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBw
ZW5kKGZhbHNlKTsKICAgICAgICAgcmV0dXJuIGRzdDsKICAgICB9CiAKQEAgLTEyNzgsNiArMTI3
OSwzMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJlc29sdmVCYXNlKFJl
Z2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRpZmllcgogICAgIHJldHVybiBlbWl0TG9hZChkc3Qs
IEpTVmFsdWUoZ2xvYmFsT2JqZWN0KSk7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0UmVzb2x2ZUJhc2VGb3JQdXQoUmVnaXN0ZXJJRCogZHN0LCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eSkKK3sKKyAgICBpZiAoIW1fY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkK
KyAgICAgICAgcmV0dXJuIGVtaXRSZXNvbHZlQmFzZShkc3QsIHByb3BlcnR5KTsKKyAgICBzaXpl
X3QgZGVwdGggPSAwOworICAgIGludCBpbmRleCA9IDA7CisgICAgSlNPYmplY3QqIGdsb2JhbE9i
amVjdCA9IDA7CisgICAgYm9vbCByZXF1aXJlc0R5bmFtaWNDaGVja3MgPSBmYWxzZTsKKyAgICBm
aW5kU2NvcGVkUHJvcGVydHkocHJvcGVydHksIGluZGV4LCBkZXB0aCwgZmFsc2UsIHJlcXVpcmVz
RHluYW1pY0NoZWNrcywgZ2xvYmFsT2JqZWN0KTsKKyAgICBpZiAoIWdsb2JhbE9iamVjdCB8fCBy
ZXF1aXJlc0R5bmFtaWNDaGVja3MpIHsKKyAgICAgICAgLy8gV2UgY2FuJ3Qgb3B0aW1pc2UgYXQg
YWxsIDotKAorICAgICAgICBlbWl0T3Bjb2RlKG9wX3Jlc29sdmVfYmFzZSk7CisgICAgICAgIGlu
c3RydWN0aW9ucygpLmFwcGVuZChkc3QtPmluZGV4KCkpOworICAgICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkpKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKHRydWUpOworICAgICAgICByZXR1cm4gZHN0OworICAgIH0KKyAgICAKKyAgICAvLyBH
bG9iYWwgb2JqZWN0IGlzIHRoZSBiYXNlCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHJlc3VsdCA9
IGVtaXRMb2FkKGRzdCwgSlNWYWx1ZShnbG9iYWxPYmplY3QpKTsKKyAgICBlbWl0T3Bjb2RlKG9w
X2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChkc3Qt
PmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChhZGRDb25zdGFudChwcm9wZXJ0
eSkpOworICAgIHJldHVybiByZXN1bHQuZ2V0KCk7Cit9CisKIFJlZ2lzdGVySUQqIEJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0UmVzb2x2ZVdpdGhCYXNlKFJlZ2lzdGVySUQqIGJhc2VEc3QsIFJlZ2lz
dGVySUQqIHByb3BEc3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5KQogewogICAgIHNpemVf
dCBkZXB0aCA9IDA7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCmluZGV4IGJkNWM4MDNhYzM3NjcwZTE2MGEwYjYwNzU2ZDM5Nzc1YTc4YzM1ZDgu
LmQwZTRhNmI0MGFjOWQzOTE2ODdmNzZjMjM1ZTJkNzg2NGQ3ZGM2MTYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC0zMjksNiArMzI5
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXRTY29wZWRW
YXIoc2l6ZV90IHNraXAsIGludCBpbmRleCwgUmVnaXN0ZXJJRCogdmFsdWUsIEpTVmFsdWUgZ2xv
YmFsT2JqZWN0KTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0UmVzb2x2ZUJhc2UoUmVnaXN0
ZXJJRCogZHN0LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSk7CisgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXRSZXNvbHZlQmFzZUZvclB1dChSZWdpc3RlcklEKiBkc3QsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFJlc29sdmVXaXRoQmFzZShS
ZWdpc3RlcklEKiBiYXNlRHN0LCBSZWdpc3RlcklEKiBwcm9wRHN0LCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eSk7CiAKICAgICAgICAgdm9pZCBlbWl0TWV0aG9kQ2hlY2soKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMGEzM2JiNmIxYjdk
ZTE5OTkzNTYwZjk2MjI1ZWE4YWJjNDA1MmRlMy4uNWYwNzNhODM1ODVlNGIxMjcyMmVjY2RlMzlk
NDdiMGQyMWUyMjAyYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKQEAgLTEyMzEsNyArMTIzMSw3IEBAIFJlZ2lzdGVySUQqIEFzc2lnblJlc29sdmVO
b2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0CiAg
ICAgICAgIHJldHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFz
ZSA9IGdlbmVyYXRvci5lbWl0UmVzb2x2ZUJhc2UoZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBt
X2lkZW50KTsKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFzZSA9IGdlbmVyYXRvci5lbWl0UmVz
b2x2ZUJhc2VGb3JQdXQoZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBtX2lkZW50KTsKICAgICBp
ZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAgICAgICAgIGRzdCA9IDA7CiAg
ICAgUmVnaXN0ZXJJRCogdmFsdWUgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3JpZ2h0KTsK
QEAgLTE2MDUsNyArMTYwNSw3IEBAIFJlZ2lzdGVySUQqIEZvckluTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzCiAgICAgICAgIGlm
ICghcHJvcGVydHlOYW1lKSB7CiAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBnZW5lcmF0b3Iu
bmV3VGVtcG9yYXJ5KCk7CiAgICAgICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvdGVjdCA9
IHByb3BlcnR5TmFtZTsKLSAgICAgICAgICAgIFJlZ2lzdGVySUQqIGJhc2UgPSBnZW5lcmF0b3Iu
ZW1pdFJlc29sdmVCYXNlKGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwgaWRlbnQpOworICAgICAg
ICAgICAgUmVnaXN0ZXJJRCogYmFzZSA9IGdlbmVyYXRvci5lbWl0UmVzb2x2ZUJhc2VGb3JQdXQo
Z2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBpZGVudCk7CiAKICAgICAgICAgICAgIGdlbmVyYXRv
ci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3QoKSwgc3RhcnRPZmZzZXQoKSwgZW5kT2Zmc2V0KCkp
OwogICAgICAgICAgICAgZ2VuZXJhdG9yLmVtaXRQdXRCeUlkKGJhc2UsIGlkZW50LCBwcm9wZXJ0
eU5hbWUpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4
IGJiZDE5MjUxMGZlMTRjYmFiNjRlNjk5ZDhhZGNiZDYzNTY3OGRlMjguLjE0MjA0Y2U2YjdjZjUz
NWNkOWZjMGYzZWY3ZjlmMWNiMTY1N2ExNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAKQEAgLTI4MCw4ICsyODAsMTQgQEAgTkVWRVJfSU5MSU5FIHZvaWQg
SW50ZXJwcmV0ZXI6OnJlc29sdmVCYXNlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBJbnN0cnVjdGlv
biogdlAKIHsKICAgICBpbnQgZHN0ID0gdlBDWzFdLnUub3BlcmFuZDsKICAgICBpbnQgcHJvcGVy
dHkgPSB2UENbMl0udS5vcGVyYW5kOwotICAgIGNhbGxGcmFtZS0+cihkc3QpID0gSlNWYWx1ZShK
U0M6OnJlc29sdmVCYXNlKGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aWRlbnRp
Zmllcihwcm9wZXJ0eSksIGNhbGxGcmFtZS0+c2NvcGVDaGFpbigpKSk7Ci0gICAgQVNTRVJUKGNh
bGxGcmFtZS0+cihkc3QpLmpzVmFsdWUoKSk7CisgICAgYm9vbCBpc1N0cmljdFB1dCA9IHZQQ1sz
XS51Lm9wZXJhbmQ7CisgICAgY29uc3QgSWRlbnRpZmllciBpZGVudCA9IGNhbGxGcmFtZS0+Y29k
ZUJsb2NrKCktPmlkZW50aWZpZXIocHJvcGVydHkpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gSlND
OjpyZXNvbHZlQmFzZShjYWxsRnJhbWUsIGlkZW50LCBjYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKSwg
aXNTdHJpY3RQdXQpOworICAgIGlmICghcmVzdWx0KSB7CisgICAgICAgIGNhbGxGcmFtZS0+cihk
c3QpID0gcmVzdWx0OworICAgICAgICBBU1NFUlQoY2FsbEZyYW1lLT5yKGRzdCkuanNWYWx1ZSgp
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuZXhjZXB0aW9u
ID0gY3JlYXRlRXJyb3JGb3JJbnZhbGlkR2xvYmFsQXNzaWdubWVudChjYWxsRnJhbWUsIGlkZW50
LnVzdHJpbmcoKSk7CiB9CiAKIE5FVkVSX0lOTElORSBib29sIEludGVycHJldGVyOjpyZXNvbHZl
QmFzZUFuZFByb3BlcnR5KENhbGxGcmFtZSogY2FsbEZyYW1lLCBJbnN0cnVjdGlvbiogdlBDLCBK
U1ZhbHVlJiBleGNlcHRpb25WYWx1ZSkKQEAgLTI0MzIsNiArMjQzOCwyNCBAQCBKU1ZhbHVlIElu
dGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZShFeGVjdXRpb25GbGFnIGZsYWcsIFJlZ2lzdGVyRmls
ZSogcmVnaXN0ZXJGaQogICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9yZXNvbHZlX2Jh
c2UpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQorICAgIERFRklORV9PUENP
REUob3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykgeworICAgICAgICAvKiBlbnN1cmVfcHJvcGVy
dHlfZXhpc3RzIGJhc2UocikgcHJvcGVydHkoaWQpCisKKyAgICAgICAgICAgVGhyb3dzIGFuIGV4
Y2VwdGlvbiBpZiBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCBvbiBiYXNlCisgICAgICAgICAqLwor
ICAgICAgICBpbnQgYmFzZSA9IHZQQ1sxXS51Lm9wZXJhbmQ7CisgICAgICAgIGludCBwcm9wZXJ0
eSA9IHZQQ1syXS51Lm9wZXJhbmQ7CisgICAgICAgIElkZW50aWZpZXImIGlkZW50ID0gY29kZUJs
b2NrLT5pZGVudGlmaWVyKHByb3BlcnR5KTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgYmFz
ZVZhbCA9IGNhbGxGcmFtZS0+cihiYXNlKS5qc1ZhbHVlKCk7CisgICAgICAgIEpTT2JqZWN0KiBi
YXNlT2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbCk7CisgICAgICAgIFByb3BlcnR5U2xvdCBzbG90
KGJhc2VWYWwpOworICAgICAgICBpZiAoIWJhc2VPYmplY3QtPmdldFByb3BlcnR5U2xvdChjYWxs
RnJhbWUsIGlkZW50LCBzbG90KSkgeworICAgICAgICAgICAgZXhjZXB0aW9uVmFsdWUgPSBjcmVh
dGVFcnJvckZvckludmFsaWRHbG9iYWxBc3NpZ25tZW50KGNhbGxGcmFtZSwgaWRlbnQudXN0cmlu
ZygpKTsKKyAgICAgICAgICAgIGdvdG8gdm1fdGhyb3c7CisgICAgICAgIH0KKyAgICAgICAgTkVY
VF9JTlNUUlVDVElPTigpOworICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX3Jlc29sdmVfd2l0
aF9iYXNlKSB7CiAgICAgICAgIC8qIHJlc29sdmVfd2l0aF9iYXNlIGJhc2VEc3QocikgcHJvcERz
dChyKSBwcm9wZXJ0eShpZCkKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCA3OTEwODI3MmQ2NzM5M2EzMGQ1
ODIwZTk0NGI0ZjM3MGE2Y2Q3NzU1Li5lYzkzNzVmMWRkYTU5NDkxZDZjMmMxM2NlYmNiMGRhY2Yy
YjcwYzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMzAyLDYgKzMwMiw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3B1dF9zZXR0ZXIpCiAg
ICAgICAgIERFRklORV9PUChvcF9yZXNvbHZlKQogICAgICAgICBERUZJTkVfT1Aob3BfcmVzb2x2
ZV9iYXNlKQorICAgICAgICBERUZJTkVfT1Aob3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykKICAg
ICAgICAgREVGSU5FX09QKG9wX3Jlc29sdmVfZ2xvYmFsKQogICAgICAgICBERUZJTkVfT1Aob3Bf
cmVzb2x2ZV9nbG9iYWxfZHluYW1pYykKICAgICAgICAgREVGSU5FX09QKG9wX3Jlc29sdmVfc2tp
cCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAppbmRleCA4OWRlYWM2NjNjMDA2NjdmMzM3MjNmZTVjNjQwY2NlODk5OWFlNjM1
Li40YTBkZWIyMjJlMjE5ZjJmNmViMjMzOWQ1YjlkMWJkZmI3ZTk1MjA1IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC04MTEsNiArODExLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9w
dXRfc2V0dGVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9yZXNvbHZlKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9yZXNvbHZlX2Jhc2UoSW5zdHJ1Y3Rp
b24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX3Jlc29sdmVfZ2xvYmFsKEluc3RydWN0aW9u
KiwgYm9vbCBkeW5hbWljID0gZmFsc2UpOwogICAgICAgICB2b2lkIGVtaXRfb3BfcmVzb2x2ZV9n
bG9iYWxfZHluYW1pYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcmVzb2x2
ZV9za2lwKEluc3RydWN0aW9uKik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggM2U3
MDU3OGEyY2FlZDVkMjgxNmZmODMwYWI2NWFiNzg3MTViYzFkNC4uZWJkMjJiYmU3YTVhODEyZmI3
OTRlMTU4YjhlNzQzMGU0ODkyYjFlYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAt
NjQ0LDcgKzY0NCwxNSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9zdHJjYXQoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKIAogdm9pZCBKSVQ6OmVtaXRfb3BfcmVzb2x2ZV9iYXNlKEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0gICAgSklUU3R1YkNhbGwgc3R1YkNhbGwo
dGhpcywgY3RpX29wX3Jlc29sdmVfYmFzZSk7CisgICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhp
cywgY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCA/IGN0aV9vcF9yZXNvbHZlX2Jhc2Vf
c3RyaWN0X3B1dCA6IGN0aV9vcF9yZXNvbHZlX2Jhc2UpOworICAgIHN0dWJDYWxsLmFkZEFyZ3Vt
ZW50KEltbVB0cigmbV9jb2RlQmxvY2stPmlkZW50aWZpZXIoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCkpKTsKKyAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQpOworfQorCit2b2lkIEpJVDo6ZW1pdF9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3Rz
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSklUU3R1YkNhbGwgc3R1
YkNhbGwodGhpcywgY3RpX29wX2Vuc3VyZV9wcm9wZXJ0eV9leGlzdHMpOworICAgIHN0dWJDYWxs
LmFkZEFyZ3VtZW50KEltbTMyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKICAg
ICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoJm1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CiAgICAgc3R1YkNhbGwuY2FsbChjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMzMl82NC5jcHAKaW5kZXggN2JlZmEyNjY5NmRkNWE0YWFjYjYyNjk5OTMyYWE1MTc2M2M1NmE3
OC4uYzNiN2FjMjllMDVjMmJkYWE1ZDM1MTUzNWQyYTlkM2Q5MWRmOGE3MSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTczNyw3ICs3MzcsMTUgQEAgdm9pZCBKSVQ6
OmVtaXRfb3Bfc3RyY2F0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKIHZvaWQg
SklUOjplbWl0X29wX3Jlc29sdmVfYmFzZShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogewotICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9yZXNvbHZlX2Jhc2Up
OworICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQgPyBjdGlfb3BfcmVzb2x2ZV9iYXNlX3N0cmljdF9wdXQgOiBjdGlfb3BfcmVzb2x2
ZV9iYXNlKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoJm1fY29kZUJsb2NrLT5p
ZGVudGlmaWVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7CisgICAgc3R1YkNh
bGwuY2FsbChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKK30KKwordm9pZCBKSVQ6
OmVtaXRfb3BfZW5zdXJlX3Byb3BlcnR5X2V4aXN0cyhJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQoreworICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9lbnN1cmVf
cHJvcGVydHlfZXhpc3RzKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW0zMihjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSk7CiAgICAgc3R1YkNhbGwuYWRkQXJndW1lbnQoSW1t
UHRyKCZtX2NvZGVCbG9jay0+aWRlbnRpZmllcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kKSkpOwogICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZCk7CiB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwIGIvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCBlZDJhZDdlZTRlMjE1NzRhZmU1OGE0
OTAwOTU3YzkxZGQ5MDgxYjhkLi44MzQwMjExMDA4MmRlMmViZWE4MDQ2YTcwZmQ4ZDMxYWUzY2Q3
ZDdlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTI2OTcsOSArMjY5NywzNSBAQCBERUZJ
TkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfcmVzb2x2ZV9iYXNlKQogewogICAg
IFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKIAotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoSlNDOjpyZXNvbHZlQmFzZShzdGFja0ZyYW1lLmNhbGxGcmFtZSwgc3RhY2tGcmFt
ZS5hcmdzWzBdLmlkZW50aWZpZXIoKSwgc3RhY2tGcmFtZS5jYWxsRnJhbWUtPnNjb3BlQ2hhaW4o
KSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNDOjpyZXNvbHZlQmFzZShzdGFja0Zy
YW1lLmNhbGxGcmFtZSwgc3RhY2tGcmFtZS5hcmdzWzBdLmlkZW50aWZpZXIoKSwgc3RhY2tGcmFt
ZS5jYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKSwgZmFsc2UpKTsKIH0KIAorREVGSU5FX1NUVUJfRlVO
Q1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX3Jlc29sdmVfYmFzZV9zdHJpY3RfcHV0KQoreworICAg
IFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKKyAgICBKU1ZhbHVlIGJhc2UgPSBK
U0M6OnJlc29sdmVCYXNlKHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0u
aWRlbnRpZmllcigpLCBzdGFja0ZyYW1lLmNhbGxGcmFtZS0+c2NvcGVDaGFpbigpLCB0cnVlKTsK
KyAgICBpZiAoIWJhc2UpIHsKKyAgICAgICAgc3RhY2tGcmFtZS5nbG9iYWxEYXRhLT5leGNlcHRp
b24gPSBjcmVhdGVFcnJvckZvckludmFsaWRHbG9iYWxBc3NpZ25tZW50KHN0YWNrRnJhbWUuY2Fs
bEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0uaWRlbnRpZmllcigpLnVzdHJpbmcoKSk7CisgICAg
ICAgIFZNX1RIUk9XX0VYQ0VQVElPTigpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGJhc2UpOworfQorCitERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3Bf
ZW5zdXJlX3Byb3BlcnR5X2V4aXN0cykKK3sKKyAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3Rh
Y2tGcmFtZSk7CisgICAgSlNWYWx1ZSBiYXNlID0gc3RhY2tGcmFtZS5jYWxsRnJhbWUtPnIoc3Rh
Y2tGcmFtZS5hcmdzWzBdLmludDMyKCkpLmpzVmFsdWUoKTsKKyAgICBKU09iamVjdCogb2JqZWN0
ID0gYXNPYmplY3QoYmFzZSk7CisgICAgUHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBB
U1NFUlQoc3RhY2tGcmFtZS5jYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSk7
CisgICAgaWYgKCFvYmplY3QtPmdldFByb3BlcnR5U2xvdChzdGFja0ZyYW1lLmNhbGxGcmFtZSwg
c3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKSwgc2xvdCkpIHsKKyAgICAgICAgc3RhY2tG
cmFtZS5nbG9iYWxEYXRhLT5leGNlcHRpb24gPSBjcmVhdGVFcnJvckZvckludmFsaWRHbG9iYWxB
c3NpZ25tZW50KHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMV0uaWRlbnRp
ZmllcigpLnVzdHJpbmcoKSk7CisgICAgICAgIFZNX1RIUk9XX0VYQ0VQVElPTigpOworICAgIH0K
KworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZSk7Cit9CisgICAgCiBERUZJTkVfU1RV
Ql9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfcmVzb2x2ZV9za2lwKQogewogICAgIFNUVUJf
SU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVicy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKaW5kZXggYmQ3
ZDE5Y2RkNmM3Y2QxNmI2OGY5OTA4YjNlNjQ0OWJhOTc4N2YyYS4uYzg4NDE5NWU5YzA5ZGZkZGE2
MjA0OWRjNzFkMWRkMjg0NGQ0YjVmZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKQEAgLTMzOCw2ICsz
MzgsOCBAQCBleHRlcm4gIkMiIHsKICAgICBFbmNvZGVkSlNWYWx1ZSBKSVRfU1RVQiBjdGlfb3Bf
cHJlX2luYyhTVFVCX0FSR1NfREVDTEFSQVRJT04pOwogICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9T
VFVCIGN0aV9vcF9yZXNvbHZlKFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAgICAgRW5jb2RlZEpT
VmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29sdmVfYmFzZShTVFVCX0FSR1NfREVDTEFSQVRJT04p
OworICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9TVFVCIGN0aV9vcF9yZXNvbHZlX2Jhc2Vfc3RyaWN0
X3B1dChTVFVCX0FSR1NfREVDTEFSQVRJT04pOworICAgIEVuY29kZWRKU1ZhbHVlIEpJVF9TVFVC
IGN0aV9vcF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAg
ICAgRW5jb2RlZEpTVmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29sdmVfZ2xvYmFsKFNUVUJfQVJH
U19ERUNMQVJBVElPTik7CiAgICAgRW5jb2RlZEpTVmFsdWUgSklUX1NUVUIgY3RpX29wX3Jlc29s
dmVfZ2xvYmFsX2R5bmFtaWMoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICBFbmNvZGVkSlNW
YWx1ZSBKSVRfU1RVQiBjdGlfb3BfcmVzb2x2ZV9za2lwKFNUVUJfQVJHU19ERUNMQVJBVElPTik7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0pTUGFyc2VyLmNwcAppbmRleCA0YjEwMDlmMTc5YTE0NTM5ZDk1Njhj
MzdlODc4OGJjNTliYTE5YmJiLi5hYWIxMDgxMTdmNTk3ZDgzZGY5M2ZlNmYwNjhiZDU3NDZmZjhi
NWNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9KU1BhcnNlci5jcHAKQEAgLTUyOSwxOCArNTI5LDEwIEBA
IGJvb2wgSlNQYXJzZXI6OnBhcnNlUHJvZ3JhbShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCkKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmICghbV9zeW50YXhBbHJlYWR5VmFsaWRhdGVkKSB7
Ci0gICAgICAgIElkZW50aWZpZXJTZXQgd3JpdHRlblZhcmlhYmxlczsKLSAgICAgICAgc2NvcGUt
PmdldFVuY2FwdHVyZWRXcml0dGVuVmFyaWFibGVzKHdyaXR0ZW5WYXJpYWJsZXMpOwotICAgICAg
ICBJZGVudGlmaWVyU2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSB3cml0dGVuVmFyaWFibGVzLmVu
ZCgpOwotICAgICAgICBmb3IgKElkZW50aWZpZXJTZXQ6OmNvbnN0X2l0ZXJhdG9yIHB0ciA9IHdy
aXR0ZW5WYXJpYWJsZXMuYmVnaW4oKTsgcHRyICE9IGVuZDsgKytwdHIpIHsKLSAgICAgICAgICAg
IFByb3BlcnR5U2xvdCBzbG90KGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgICAgICAgICAgaWYg
KCFsZXhpY2FsR2xvYmFsT2JqZWN0LT5nZXRQcm9wZXJ0eVNsb3QobGV4aWNhbEdsb2JhbE9iamVj
dC0+Z2xvYmFsRXhlYygpLCBJZGVudGlmaWVyKG1fZ2xvYmFsRGF0YSwgKnB0ciksIHNsb3QpKQot
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9CiAgICAgICAgIElkZW50aWZp
ZXJTZXQgZGVsZXRlZFZhcmlhYmxlczsKICAgICAgICAgaWYgKCFzY29wZS0+Z2V0RGVsZXRlZFZh
cmlhYmxlcyhkZWxldGVkVmFyaWFibGVzKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBlbmQgPSBkZWxldGVkVmFyaWFibGVzLmVuZCgpOworICAgICAgICBJZGVudGlmaWVyU2V0
Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBkZWxldGVkVmFyaWFibGVzLmVuZCgpOwogICAgICAgICBT
eW1ib2xUYWJsZSYgZ2xvYmFsRW52UmVjb3JkID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+c3ltYm9s
VGFibGUoKTsKICAgICAgICAgZm9yIChJZGVudGlmaWVyU2V0Ojpjb25zdF9pdGVyYXRvciBwdHIg
PSBkZWxldGVkVmFyaWFibGVzLmJlZ2luKCk7IHB0ciAhPSBlbmQ7ICsrcHRyKSB7CiAgICAgICAg
ICAgICBpZiAoIWdsb2JhbEVudlJlY29yZC5nZXQoKnB0cikuaXNOdWxsKCkpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcAppbmRleCBiNGRlOWIzM2Y5ZDRkNWI3
MjA4Zjc0M2E1OWNkMzRjZWU3ZWI0ODBhLi5hMWUyOGQxYzMyNmU2ZGQ4YjU0NTdjZjBkZDdhOGM3
NjI0NTBiYWRlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhl
bHBlcnMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5j
cHAKQEAgLTE5Miw0ICsxOTIsOSBAQCBKU1ZhbHVlIHRocm93T3V0T2ZNZW1vcnlFcnJvcihFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlRXJyb3IoZXhl
YywgIk91dCBvZiBtZW1vcnkiKSk7CiB9CiAKK0pTT2JqZWN0KiBjcmVhdGVFcnJvckZvckludmFs
aWRHbG9iYWxBc3NpZ25tZW50KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0cmluZyYgcHJvcGVy
dHlOYW1lKQoreworICAgIHJldHVybiBjcmVhdGVSZWZlcmVuY2VFcnJvcihleGVjLCBtYWtlVVN0
cmluZygiU3RyaWN0IG1vZGUgZm9yYmlkcyBpbXBsaWNpdCBjcmVhdGlvbiBvZiBnbG9iYWwgcHJv
cGVydHkgJyIsIHByb3BlcnR5TmFtZSwgIiciKSk7Cit9ICAgIAorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmgKaW5kZXggM2U2ZGU4
NjE0YjA1YzY0MTA1ZTIzYzI3YzJhZGEzYWI3OWE4NmRhOC4uOWI2ZjFmMjNkNTU3ZDY1ZmI5MmVl
MGRkYzQ2ODIzMjY5ZTIyNThkOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGNlcHRpb25IZWxwZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25I
ZWxwZXJzLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgSlNWYWx1ZSBj
cmVhdGVOb3RBRnVuY3Rpb25FcnJvcihFeGVjU3RhdGUqLCBKU1ZhbHVlLCB1bnNpZ25lZCBieXRl
Y29kZU9mZnNldCwgQ29kZUJsb2NrKik7CiAgICAgSlNPYmplY3QqIGNyZWF0ZU5vdEFuT2JqZWN0
RXJyb3IoRXhlY1N0YXRlKiwgSlNOb3RBbk9iamVjdEVycm9yU3R1YiosIHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0LCBDb2RlQmxvY2sqKTsKICAgICBKU1ZhbHVlIHRocm93T3V0T2ZNZW1vcnlFcnJv
cihFeGVjU3RhdGUqKTsKKyAgICBKU09iamVjdCogY3JlYXRlRXJyb3JGb3JJbnZhbGlkR2xvYmFs
QXNzaWdubWVudChFeGVjU3RhdGUqLCBjb25zdCBVU3RyaW5nJik7CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCmluZGV4IGVlZDFmMTZhNTY1MTRh
MTVkODMxZTYyNWUzOWEyMzEwNWM1NzFlNzUuLjkyMjY5NTNlNzNiMmUxMTVmN2MxZjJhNGFkYWU1
MzE4NTJkMTJjNWUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9u
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCkBAIC00NjAsNyAr
NDYwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBBTFdBWVNf
SU5MSU5FIEpTVmFsdWUgcmVzb2x2ZUJhc2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIElkZW50aWZp
ZXImIHByb3BlcnR5LCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbikKKyAgICBBTFdBWVNfSU5M
SU5FIEpTVmFsdWUgcmVzb2x2ZUJhc2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIElkZW50aWZpZXIm
IHByb3BlcnR5LCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbiwgYm9vbCBpc1N0cmljdFB1dCkK
ICAgICB7CiAgICAgICAgIFNjb3BlQ2hhaW5JdGVyYXRvciBpdGVyID0gc2NvcGVDaGFpbi0+YmVn
aW4oKTsKICAgICAgICAgU2NvcGVDaGFpbkl0ZXJhdG9yIG5leHQgPSBpdGVyOwpAQCAtNDcyLDcg
KzQ3Miw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU09iamVjdCogYmFzZTsKICAgICAg
ICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgIGJhc2UgPSAqaXRlcjsKLSAgICAgICAgICAg
IGlmIChuZXh0ID09IGVuZCB8fCBiYXNlLT5nZXRQcm9wZXJ0eVNsb3QoY2FsbEZyYW1lLCBwcm9w
ZXJ0eSwgc2xvdCkpCisgICAgICAgICAgICBpZiAobmV4dCA9PSBlbmQpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGlzU3RyaWN0UHV0ID8gSlNWYWx1ZSgpIDogYmFzZTsKKyAgICAgICAgICAgIGlm
IChiYXNlLT5nZXRQcm9wZXJ0eVNsb3QoY2FsbEZyYW1lLCBwcm9wZXJ0eSwgc2xvdCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGJhc2U7CiAKICAgICAgICAgICAgIGl0ZXIgPSBuZXh0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDRkODY0OWM0YTI2Y2VlYmE1YjAwZTM2NmUzNzY3N2Q3OTlmZjAyZDguLjE5NjhjMWU5MzIz
ZTdjYmJhYTE3ZTcyYmM2MDk2OWI4ZjIyYjM5MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MC0xMC0xNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0cmljdCBtb2RlOiBBc3NpZ25tZW50
IHRoYXQgd291bGQgY3JlYXRlIGEgZ2xvYmFsIHNob3VsZCBiZSBhIGxhdGUgUmVmZXJlbmNlRXJy
b3IsIG5vdCBhIHN5bnRheCBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00Nzc4OAorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGNoZWNrIGZv
ciB0aGUgY29ycmVjdCBiZWhhdmlvdXIuCisKKyAgICAgICAgKiBmYXN0L2pzL2Jhc2ljLXN0cmlj
dC1tb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNp
Yy1zdHJpY3QtbW9kZS5qczoKKwogMjAxMC0xMC0xNyAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8
b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
bnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9iYXNpYy1zdHJp
Y3QtbW9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2Jhc2ljLXN0cmljdC1t
b2RlLWV4cGVjdGVkLnR4dAppbmRleCBhYzNkZTgzZDgwZDkwZDIxMTJhYjA1YjZiNTkyYWI0NTM2
OWEwMzMyLi5mZGI5OWQ2ZjQ1ZWFkMTM3NGM1MjM1NDU2YWE3NjI5Y2RjY2Y1YzE3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2Jhc2ljLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2Jhc2ljLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dApA
QCAtNTEsNyArNTEsOCBAQCBQQVNTICd1c2Ugc3RyaWN0JzsgJ1wwMDcnOyB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgogUEFTUyAnXDAwNyc7ICd1c2Ugc3RyaWN0Jzsg
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvci4KIFBBU1MgJ3VzZSBzdHJp
Y3QnOyAoZnVuY3Rpb24gKCl7IGRlbGV0ZSBzb21lRGVjbGFyZWRHbG9iYWw7fSkgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvci4KIFBBU1MgKGZ1bmN0aW9uICgpeyAndXNl
IHN0cmljdCc7IGRlbGV0ZSBzb21lRGVjbGFyZWRHbG9iYWw7fSkgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBQYXJzZSBlcnJvci4KLVBBU1MgJ3VzZSBzdHJpY3QnOyBzb21lR2xvYmFsID0g
J1Nob3VsZG5cJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyBzb21lR2xvYmFsOyB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgorUEFTUyAndXNlIHN0cmljdCc7IGlm
ICgwKSB7IHNvbWVHbG9iYWwgPSAnU2hvdWxkblwndCBiZSBhYmxlIHRvIGFzc2lnbiB0aGlzLic7
IH07IHRydWU7IGlzIHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyBzb21lR2xvYmFsID0gJ1Nob3Vs
ZG5cJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyAgdGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5j
ZUVycm9yOiBTdHJpY3QgbW9kZSBmb3JiaWRzIGltcGxpY2l0IGNyZWF0aW9uIG9mIGdsb2JhbCBw
cm9wZXJ0eSAnc29tZUdsb2JhbCcuCiBQQVNTICd1c2Ugc3RyaWN0JzsgZXZhbCgndmFyIGludHJv
ZHVjZWRWYXJpYWJsZSA9ICJGQUlMOiB2YXJpYWJsZSBpbnRyb2R1Y2VkIGludG8gY29udGFpbmlu
ZyBzY29wZSI7Jyk7IGludHJvZHVjZWRWYXJpYWJsZSB0aHJldyBleGNlcHRpb24gUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGludHJvZHVjZWRWYXJpYWJsZS4KIFBBU1MgJ3Vz
ZSBzdHJpY3QnOyBvYmplY3RXaXRoUmVhZG9ubHlQcm9wZXJ0eS5wcm9wID0gJ2ZhaWwnIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJv
cGVydHkuLgogUEFTUyAndXNlIHN0cmljdCc7IGRlbGV0ZSBvYmplY3RXaXRoUmVhZG9ubHlQcm9w
ZXJ0eS5wcm9wIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFVuYWJsZSB0byBkZWxldGUgcHJv
cGVydHkuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYmFz
aWMtc3RyaWN0LW1vZGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNp
Yy1zdHJpY3QtbW9kZS5qcwppbmRleCA1NTkyYmU0NWM1MmE5MTZkY2NjMTE4ZWFmZGMyNzI3MDMz
MmUwZDYxLi43ZjY2MjY4YTk3YjVmN2ZmNjcyNWI5MzVmMzBmN2MzMjJjYjBkY2E0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNpYy1zdHJpY3QtbW9kZS5q
cworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNpYy1zdHJpY3QtbW9k
ZS5qcwpAQCAtNjAsNyArNjAsOCBAQCBzaG91bGRUaHJvdygiJ1xcMDA3JzsgJ3VzZSBzdHJpY3Qn
OyIpOwogdmFyIHNvbWVEZWNsYXJlZEdsb2JhbDsKIHNob3VsZFRocm93KCIndXNlIHN0cmljdCc7
IChmdW5jdGlvbiAoKXsgZGVsZXRlIHNvbWVEZWNsYXJlZEdsb2JhbDt9KSIpOwogc2hvdWxkVGhy
b3coIihmdW5jdGlvbiAoKXsgJ3VzZSBzdHJpY3QnOyBkZWxldGUgc29tZURlY2xhcmVkR2xvYmFs
O30pIik7Ci1zaG91bGRUaHJvdygiJ3VzZSBzdHJpY3QnOyBzb21lR2xvYmFsID0gJ1Nob3VsZG5c
XCd0IGJlIGFibGUgdG8gYXNzaWduIHRoaXMuJzsgc29tZUdsb2JhbDsiKTsKK3Nob3VsZEJlVHJ1
ZSgiJ3VzZSBzdHJpY3QnOyBpZiAoMCkgeyBzb21lR2xvYmFsID0gJ1Nob3VsZG5cXCd0IGJlIGFi
bGUgdG8gYXNzaWduIHRoaXMuJzsgfTsgdHJ1ZTsiKTsKK3Nob3VsZFRocm93KCIndXNlIHN0cmlj
dCc7IHNvbWVHbG9iYWwgPSAnU2hvdWxkblxcJ3QgYmUgYWJsZSB0byBhc3NpZ24gdGhpcy4nOyAi
KTsKIHNob3VsZFRocm93KCIndXNlIHN0cmljdCc7IGV2YWwoJ3ZhciBpbnRyb2R1Y2VkVmFyaWFi
bGUgPSBcIkZBSUw6IHZhcmlhYmxlIGludHJvZHVjZWQgaW50byBjb250YWluaW5nIHNjb3BlXCI7
Jyk7IGludHJvZHVjZWRWYXJpYWJsZSIpOwogdmFyIG9iamVjdFdpdGhSZWFkb25seVByb3BlcnR5
ID0ge307CiBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0V2l0aFJlYWRvbmx5UHJvcGVydHks
ICJwcm9wIiwge3ZhbHVlOiAidmFsdWUiLCB3cml0YWJsZTpmYWxzZX0pOwo=
</data>
<flag name="review"
          id="60934"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>