<?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>160154</bug_id>
          
          <creation_ts>2016-07-24 20:39:05 -0700</creation_ts>
          <short_desc>various math operations don&apos;t properly check for an exception after calling toNumber() on the lhs</short_desc>
          <delta_ts>2016-08-05 17:48:18 -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>JavaScriptCore</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214097</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-07-24 20:39:05 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218094</commentid>
    <comment_count>1</comment_count>
      <attachid>285460</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-05 16:16:24 -0700</bug_when>
    <thetext>Created attachment 285460
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218096</commentid>
    <comment_count>2</comment_count>
      <attachid>285460</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-05 16:24:36 -0700</bug_when>
    <thetext>Comment on attachment 285460
patch

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

r=me.

&gt; Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:441
&gt;      RETURN_WITH_PROFILING(result, {

Is it acceptable to update the ArithProfile here based on a wrong result if right.toNumber() throws?

&gt; Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:456
&gt;      RETURN_WITH_PROFILING(result, {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218100</commentid>
    <comment_count>3</comment_count>
      <attachid>285460</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-05 16:29:04 -0700</bug_when>
    <thetext>Comment on attachment 285460
patch

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

&gt;&gt; Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:441
&gt;&gt;      RETURN_WITH_PROFILING(result, {
&gt; 
&gt; Is it acceptable to update the ArithProfile here based on a wrong result if right.toNumber() throws?

It is always OK to update it. However, this code isn&apos;t actually doing that.
RETURN_WITH_PROFILING always does CHECK_EXCEPTION before updating the profile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218131</commentid>
    <comment_count>4</comment_count>
      <attachid>285460</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-05 17:27:42 -0700</bug_when>
    <thetext>Comment on attachment 285460
patch

Thanks for the review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218141</commentid>
    <comment_count>5</comment_count>
      <attachid>285460</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 17:48:13 -0700</bug_when>
    <thetext>Comment on attachment 285460
patch

Clearing flags on attachment: 285460

Committed r204206: &lt;http://trac.webkit.org/changeset/204206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218142</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 17:48:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285460</attachid>
            <date>2016-08-05 16:16:24 -0700</date>
            <delta_ts>2016-08-05 17:48:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>22609</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDQxOTcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIxIEBACisyMDE2LTA4LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHZhcmlvdXMgbWF0aCBvcGVyYXRpb25zIGRvbid0IHByb3Blcmx5IGNo
ZWNrIGZvciBhbiBleGNlcHRpb24gYWZ0ZXIgY2FsbGluZyB0b051bWJlcigpIG9uIHRoZSBsaHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDE1NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNz
L3RvLW51bWJlci10aHJvd3MtY29ycmVjdC1leGNlcHRpb24uanM6IEFkZGVkLgorICAgICAgICAo
dGVzdC5sZXQudGVzdC5ydW5UZXN0Lik6CisgICAgICAgICh0ZXN0LmxldC50ZXN0LnJ1blRlc3Qu
Z2V0IGYpOgorICAgICAgICAodGVzdC5sZXQudGVzdC5ydW5UZXN0KToKKyAgICAgICAgKHRlc3Qu
bGV0LnRlc3QpOgorICAgICAgICAodGVzdCk6CisgICAgICAgICh0ZXN0Mi5ydW5UZXN0Lik6Cisg
ICAgICAgICh0ZXN0Mi5ydW5UZXN0LmdldCBmKToKKyAgICAgICAgKHRlc3QyLnJ1blRlc3QpOgor
ICAgICAgICAodGVzdDIpOgorCiAyMDE2LTA4LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBw
bGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIHdoZW4gYWNjZXNzaW5nIFREWiB2
YXJpYWJsZSBpbiBjYXRjaCB0aHJvdWdoIGV2YWwKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RvLW51
bWJlci10aHJvd3MtY29ycmVjdC1leGNlcHRpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9z
dHJlc3MvdG8tbnVtYmVyLXRocm93cy1jb3JyZWN0LWV4Y2VwdGlvbi5qcwkocmV2aXNpb24gMCkK
KysrIEpTVGVzdHMvc3RyZXNzL3RvLW51bWJlci10aHJvd3MtY29ycmVjdC1leGNlcHRpb24uanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjEgQEAKK2Z1bmN0aW9uIHRlc3Qob3ApIHsKKyAg
ICBsZXQgdGVzdCA9IGAKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdChpdGVycykgeworICAgICAg
ICAgICAgbGV0IHNob3VsZFRocm93ID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgYSA9IHsKKyAg
ICAgICAgICAgICAgICB2YWx1ZU9mKCkgeyAKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNob3Vs
ZFRocm93KQorICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgImEiOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9OworICAg
ICAgICAgICAgbGV0IHtwcm94eTogYiwgcmV2b2tlfSA9IFByb3h5LnJldm9jYWJsZSh7fSwgewor
ICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBwcm9wKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChwcm9wID09PSAidmFsdWVPZiIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIlNob3VsZCBub3QgYmUgaGVyZSEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZnVuY3Rpb24gZihh
LCBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGEgJHtvcH0gYjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIG5vSW5saW5lKGYpOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpdGVyczsgaSsrKSB7CisgICAgICAgICAgICAgICAgZihhLCBiKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgc2hvdWxkVGhyb3cgPSB0cnVlOworICAgICAgICAgICAgbGV0IHZhbGlk
RXhjZXB0aW9uID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgZXhjZXB0aW9uID0gbnVsbDsKKyAg
ICAgICAgICAgIHJldm9rZSgpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBm
KGEsIGIpOworICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAgdmFsaWRF
eGNlcHRpb24gPSBlID09PSAiYSI7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gZTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdmFsaWRFeGNlcHRpb24pCisgICAgICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3BlcmF0aW9uOiAiICsgZXhjZXB0aW9uLnRvU3Ry
aW5nKCkgKyAiIHdpdGggaXRlcnM6ICIgKyBpdGVycyk7CisgICAgICAgIH0KKyAgICAgICAgcnVu
VGVzdCgyKTsKKyAgICAgICAgcnVuVGVzdCgxMCk7CisgICAgICAgIHJ1blRlc3QoNTApOworICAg
ICAgICBydW5UZXN0KDEwMDApOworICAgICAgICBydW5UZXN0KDEwMDAwKTsKKyAgICBgOworICAg
IGV2YWwodGVzdCk7Cit9CitsZXQgb3BzID0gWworICAgICIrIgorICAgICwgIi0iCisgICAgLCAi
KiIKKyAgICAsICIqKiIKKyAgICAsICIvIgorICAgICwgIiUiCisgICAgLCAiJiIKKyAgICAsICJ8
IgorICAgICwgIl4iCisgICAgLCAiPj4iCisgICAgLCAiPj4+IgorICAgICwgIjw8IgorXTsKK2Zv
ciAobGV0IG9wIG9mIG9wcykKKyAgICB0ZXN0KG9wKTsKKworZnVuY3Rpb24gdGVzdDIob3ApIHsK
KyAgICBmdW5jdGlvbiBydW5UZXN0KGl0ZXJzKSB7CisgICAgICAgIGxldCB0ZXN0ID0gYAorICAg
ICAgICAgICAgbGV0IHNob3VsZFRocm93ID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgYSA9IHsK
KyAgICAgICAgICAgICAgICB2YWx1ZU9mKCkgeyAKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNo
b3VsZFRocm93KQorICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgImEiOworICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Owor
ICAgICAgICAgICAgbGV0IHtwcm94eTogYiwgcmV2b2tlfSA9IFByb3h5LnJldm9jYWJsZSh7fSwg
eworICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBwcm9wKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChwcm9wID09PSAidmFsdWVPZiIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIlNob3VsZCBub3QgYmUgaGVyZSEiKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZnVuY3Rpb24g
ZihhLCBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGEgJHtvcH0gYjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIG5vSW5saW5lKGYpOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAke2l0ZXJzfTsgaSsrKSB7CisgICAgICAgICAgICAgICAgZihhLCBiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgc2hvdWxkVGhyb3cgPSB0cnVlOworICAgICAgICAgICAgbGV0
IHZhbGlkRXhjZXB0aW9uID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgZXhjZXB0aW9uID0gbnVs
bDsKKyAgICAgICAgICAgIHJldm9rZSgpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICBmKGEsIGIpOworICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAg
dmFsaWRFeGNlcHRpb24gPSBlID09PSAiYSI7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0g
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdmFsaWRFeGNlcHRpb24pCisgICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3BlcmF0aW9uOiAiICsgZXhjZXB0aW9u
LnRvU3RyaW5nKCkgKyAiIHdpdGggaXRlcnM6ICIgKyAke2l0ZXJzfSk7CisgICAgICAgIGA7Cisg
ICAgICAgIGV2YWwoTWF0aC5yYW5kb20oKSArICI7IiArIHRlc3QpOworICAgIH0KKyAgICBydW5U
ZXN0KDIpOworICAgIHJ1blRlc3QoMTApOworICAgIHJ1blRlc3QoNTApOworICAgIHJ1blRlc3Qo
MTAwMCk7CisgICAgcnVuVGVzdCgxMDAwMCk7Cit9Citmb3IgKGxldCBvcCBvZiBvcHMpCisgICAg
dGVzdDIob3ApOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDQxODIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMTYtMDgtMDUgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgdmFyaW91cyBtYXRoIG9wZXJhdGlvbnMgZG9uJ3QgcHJvcGVybHkgY2hlY2sg
Zm9yIGFuIGV4Y2VwdGlvbiBhZnRlciBjYWxsaW5nIHRvTnVtYmVyKCkgb24gdGhlIGxocworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMTU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbXVzdCBjaGVj
ayBmb3IgYW4gZXhjZXB0aW9uIGFmdGVyIGNhbGxpbmcgdG9OdW1iZXIoKSBvbiB0aGUgbGhzCisg
ICAgICAgIGJlY2F1c2UgdGhpcyBjYW4gdGhyb3cgYW4gZXhjZXB0aW9uLiBJZiB3ZSBjYWxsZWQg
dG9OdW1iZXIoKSBvbgorICAgICAgICB0aGUgcmhzIHdpdGhvdXQgZmlyc3QgY2hlY2tpbmcgZm9y
IGFuIGV4Y2VwdGlvbiBhZnRlciB0aGUgdG9OdW1iZXIoKQorICAgICAgICBvbiB0aGUgbGhzLCB0
aGlzIGNhbiBsZWFkIHVzIHRvIGV4ZWN1dGUgZWZmZWN0ZnVsIGNvZGUgb3IgZGV2aWF0ZQorICAg
ICAgICBmcm9tIHRoZSBzdGFuZGFyZCBpbiBzdWJ0bGUgd2F5cy4gSSBmaXhlZCB0aGlzIGJ1ZyBp
biB2YXJpb3VzIHBsYWNlcworICAgICAgICBieSBhbHdheXMgY2hlY2tpbmcgZm9yIGFuIGV4Y2Vw
dGlvbiBhZnRlciBjYWxsaW5nIHRvTnVtYmVyKCkgb24gdGhlCisgICAgICAgIGxocyBmb3IgdGhl
IHZhcmlvdXMgYml0IGFuZCBhcml0aG1ldGljIG9wZXJhdGlvbnMuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhbHNvIGZvdW5kIGEgY29tbXV0YXRpdml0eSBidWcgaW5zaWRlIERGR1N0cmVuZ3RoUmVk
dWN0aW9uLgorICAgICAgICBXZSBjb3VsZCBlbmQgdXAgY29tbXV0aW5nIHRoZSBsaHMgYW5kIHJo
cyBvZiBzYXkgYW4gInwiIGV4cHJlc3Npb24KKyAgICAgICAgZXZlbiB3aGVuIHRoZSBsaHMvcmhz
IG1heSBub3QgYmUgbnVtYmVycy4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlCisgICAgICAgIGV4ZWN1
dGluZyB0b051bWJlcigpIG9uIHRoZSBsaHMvcmhzIGhhcyBzdHJpY3Qgb3JkZXJpbmcgZ3VhcmFu
dGVlcworICAgICAgICBieSB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgaXMgb2JzZXJ2YWJsZSBieSB1
c2VyIHByb2dyYW1zLgorCisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAg
ICAqIGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTdHJlbmd0aFJlZHVjdGlvblBoYXNlOjpoYW5kbGVDb21tdXRhdGl2aXR5KToKKyAgICAgICAg
KiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwOgorICAgICAgICAoSlNDOjpTTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGlt
ZS9PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6anNBZGRTbG93Q2FzZSk6CisKIDIwMTYt
MDgtMDUgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0
aW9uIGZhaWx1cmUgd2hlbiBhY2Nlc3NpbmcgVERaIHZhcmlhYmxlIGluIGNhdGNoIHRocm91Z2gg
ZXZhbApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
CShyZXZpc2lvbiAyMDQxODEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsNiArMjEwLDggQEAgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAgICAgaW50MzJfdCBhID0gb3AxLnRvSW50MzIoZXhlYyk7
CisgICAgaWYgKFVOTElLRUxZKHZtLT5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICBpbnQzMl90IGIgPSBvcDIudG9JbnQzMihleGVj
KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgJiBiKSk7CiB9CkBAIC0y
MjMsNiArMjI1LDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQog
ICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAgICAgaW50
MzJfdCBhID0gb3AxLnRvSW50MzIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLT5leGNlcHRp
b24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICBp
bnQzMl90IGIgPSBvcDIudG9JbnQzMihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzTnVtYmVyKGEgfCBiKSk7CiB9CkBAIC0yMzYsNiArMjQwLDggQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcDIpOwogCiAgICAgaW50MzJfdCBhID0gb3AxLnRvSW50MzIoZXhlYyk7Cisg
ICAgaWYgKFVOTElLRUxZKHZtLT5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICBpbnQzMl90IGIgPSBvcDIudG9JbnQzMihleGVjKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgXiBiKSk7CiB9CkBAIC0yNDks
NiArMjU1LDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAg
IEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAgICAgaW50MzJf
dCBhID0gb3AxLnRvSW50MzIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLT5leGNlcHRpb24o
KSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICB1aW50
MzJfdCBiID0gb3AyLnRvVUludDMyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOdW1iZXIoYSA8PCAoYiAmIDB4MWYpKSk7CiB9CkBAIC0yNjIsNiArMjcwLDggQEAgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIEpTVmFsdWUgb3AyID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAgICAgaW50MzJfdCBhID0gb3AxLnRvSW50MzIo
ZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLT5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICB1aW50MzJfdCBiID0gb3AyLnRvVUlu
dDMyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoYSA+PiAoYiAm
IDB4MWYpKSk7CiB9CkBAIC0yNzUsNiArMjg1LDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25WYQogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRPcDIpOwogCiAgICAgdWludDMyX3QgYSA9IG9wMS50b1VJbnQzMihleGVjKTsKKyAgICBpZiAo
VU5MSUtFTFkodm0tPmV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShKU1ZhbHVlKCkpOwogICAgIHVpbnQzMl90IGIgPSBvcDIudG9VSW50MzIoZXhlYyk7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihzdGF0aWNfY2FzdDxpbnQzMl90PihhID4+
IChiICYgMHgxZikpKSk7CiB9CkBAIC0zMDQsNiArMzE2LDggQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRPcDIpOwogCiAgICAgZG91YmxlIGEgPSBvcDEudG9OdW1iZXIoZXhlYyk7CisgICAg
aWYgKFVOTElLRUxZKHZtLT5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNWYWx1ZSgpKTsKICAgICBkb3VibGUgYiA9IG9wMi50b051bWJlcihleGVjKTsKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgLyBiKSk7CiB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25Q
aGFzZS5jcHAJKHJldmlzaW9uIDIwNDE4MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0NCwxMyAr
NzQ0LDE4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBoYW5kbGVDb21tdXRhdGl2aXR5KCkK
ICAgICB7CisgICAgICAgIC8vIEl0J3MgZGVmaW5pdGVseSBub3Qgc291bmQgdG8gc3dhcCB0aGUg
bGhzIGFuZCByaHMgd2hlbiB3ZSBtYXkgYmUgcGVyZm9ybWluZyBlZmZlY3RmdWwKKyAgICAgICAg
Ly8gY2FsbHMgb24gdGhlIGxocy9yaHMgZm9yIHZhbHVlT2YuCisgICAgICAgIGlmIChtX25vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlIHx8IG1fbm9kZS0+Y2hpbGQyKCkudXNl
S2luZCgpID09IFVudHlwZWRVc2UpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgLy8g
SWYgdGhlIHJpZ2h0IHNpZGUgaXMgYSBjb25zdGFudCB0aGVuIHRoZXJlIGlzIG5vdGhpbmcgbGVm
dCB0byBkby4KICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQyKCktPmhhc0NvbnN0YW50KCkpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgICAgICAvLyBUaGlzIGNhc2UgZW5zdXJl
cyB0aGF0IG9wdGltaXphdGlvbnMgdGhhdCBsb29rIGZvciB4ICsgY29uc3QgZG9uJ3QgYWxzbyBo
YXZlCiAgICAgICAgIC8vIHRvIGxvb2sgZm9yIGNvbnN0ICsgeC4KLSAgICAgICAgaWYgKG1fbm9k
ZS0+Y2hpbGQxKCktPmhhc0NvbnN0YW50KCkpIHsKKyAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQx
KCktPmhhc0NvbnN0YW50KCkgJiYgIW1fbm9kZS0+Y2hpbGQxKCktPmFzSlNWYWx1ZSgpLmlzQ2Vs
bCgpKSB7CiAgICAgICAgICAgICBzdGQ6OnN3YXAobV9ub2RlLT5jaGlsZDEoKSwgbV9ub2RlLT5j
aGlsZDIoKSk7CiAgICAgICAgICAgICBtX2NoYW5nZWQgPSB0cnVlOwogICAgICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CShyZXZpc2lvbiAyMDQxODEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzU0LDE3ICsyMzU0LDE5IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHVu
cHJvZmlsZWRNdWwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQorQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgdW5wcm9maWxlZE11bChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKIHsKICAgICBKU1ZhbHVl
IG9wMSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKTsKICAgICBKU1ZhbHVlIG9wMiA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkT3AyKTsKIAogICAgIGRvdWJsZSBhID0gb3AxLnRvTnVtYmVy
KGV4ZWMpOworICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICBkb3VibGUgYiA9IG9wMi50b051bWJl
cihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgKiBiKSk7CiB9
CiAKLUFMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHByb2ZpbGVkTXVsKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMiwgQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUsIGJvb2wgc2hvdWxkT2JzZXJ2ZUxI
U0FuZFJIU1R5cGVzID0gdHJ1ZSkKK0FMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IHByb2ZpbGVkTXVsKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBBcml0aFByb2ZpbGUqIGFyaXRoUHJv
ZmlsZSwgYm9vbCBzaG91bGRPYnNlcnZlTEhTQW5kUkhTVHlwZXMgPSB0cnVlKQogewogICAgIEpT
VmFsdWUgb3AxID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDEpOwogICAgIEpTVmFsdWUgb3Ay
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwpAQCAtMjM3Myw3ICsyMzc1LDExIEBAIEFM
V0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHByb2YKICAgICAgICAgYXJpdGhQcm9m
aWxlLT5vYnNlcnZlTEhTQW5kUkhTKG9wMSwgb3AyKTsKIAogICAgIGRvdWJsZSBhID0gb3AxLnRv
TnVtYmVyKGV4ZWMpOworICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpCisgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICBkb3VibGUgYiA9IG9wMi50
b051bWJlcihleGVjKTsKKyAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKQorICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CiAgICAgCiAgICAgSlNWYWx1ZSBy
ZXN1bHQgPSBqc051bWJlcihhICogYik7CiAgICAgYXJpdGhQcm9maWxlLT5vYnNlcnZlUmVzdWx0
KHJlc3VsdCk7CkBAIC0yMzg1LDcgKzIzOTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblZhCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAKLSAgICByZXR1cm4gdW5wcm9maWxlZE11
bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKKyAgICByZXR1cm4gdW5wcm9maWxlZE11
bCgqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIpOwogfQogCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsTm9PcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIs
IEpJVE11bElDKikKQEAgLTIzOTMsNyArMjM5OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uVmEKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKIAotICAgIHJldHVybiB1bnByb2ZpbGVk
TXVsKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIpOworICAgIHJldHVybiB1bnByb2ZpbGVk
TXVsKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMik7CiB9CiAKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVNdWxPcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIs
IEpJVE11bElDKiBtdWxJQykKQEAgLTI0MTAsNyArMjQxNiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKICAgICBleGVjLT5jb2RlQmxvY2soKS0+ZHVtcE1hdGhJ
Q1N0YXRzKCk7CiAjZW5kaWYKIAotICAgIHJldHVybiB1bnByb2ZpbGVkTXVsKGV4ZWMsIGVuY29k
ZWRPcDEsIGVuY29kZWRPcDIpOworICAgIHJldHVybiB1bnByb2ZpbGVkTXVsKCp2bSwgZXhlYywg
ZW5jb2RlZE9wMSwgZW5jb2RlZE9wMik7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uVmFsdWVNdWxQcm9maWxlZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEFyaXRoUHJvZmlsZSog
YXJpdGhQcm9maWxlKQpAQCAtMjQxOCw3ICsyNDI0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25WYQogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogCi0gICAgcmV0dXJuIHByb2ZpbGVk
TXVsKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRoUHJvZmlsZSk7CisgICAgcmV0
dXJuIHByb2ZpbGVkTXVsKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMiwgYXJpdGhQ
cm9maWxlKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1
ZU11bFByb2ZpbGVkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBBcml0aFByb2ZpbGUqIGFyaXRoUHJv
ZmlsZSwgSklUTXVsSUMqIG11bElDKQpAQCAtMjQzNCw3ICsyNDQwLDcgQEAgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIGV4ZWMtPmNvZGVCbG9jaygpLT5kdW1w
TWF0aElDU3RhdHMoKTsKICNlbmRpZgogCi0gICAgcmV0dXJuIHByb2ZpbGVkTXVsKGV4ZWMsIGVu
Y29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRoUHJvZmlsZSwgZmFsc2UpOworICAgIHJldHVybiBw
cm9maWxlZE11bCgqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRoUHJvZmls
ZSwgZmFsc2UpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZh
bHVlTXVsUHJvZmlsZWROb09wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgQXJpdGhQcm9maWxlKiBhcml0
aFByb2ZpbGUsIEpJVE11bElDKikKQEAgLTI0NDIsMjAgKzI0NDgsMjIgQEAgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogCi0gICAgcmV0dXJu
IHByb2ZpbGVkTXVsKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRoUHJvZmlsZSk7
CisgICAgcmV0dXJuIHByb2ZpbGVkTXVsKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9w
MiwgYXJpdGhQcm9maWxlKTsKIH0KIAotQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgdW5wcm9maWxlZFN1YihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRP
cDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCitBTFdBWVNfSU5MSU5FIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSB1bnByb2ZpbGVkU3ViKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQogewogICAgIEpT
VmFsdWUgb3AxID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDEpOwogICAgIEpTVmFsdWUgb3Ay
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAgICAgZG91YmxlIGEgPSBvcDEudG9O
dW1iZXIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOwogICAgIGRvdWJsZSBiID0gb3AyLnRv
TnVtYmVyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoYSAtIGIp
KTsKIH0KIAotQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcHJvZmlsZWRTdWIo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkT3AyLCBBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSwgYm9vbCBzaG91bGRPYnNl
cnZlTEhTQW5kUkhTVHlwZXMgPSB0cnVlKQorQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgcHJvZmlsZWRTdWIoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEFyaXRoUHJvZmlsZSogYXJp
dGhQcm9maWxlLCBib29sIHNob3VsZE9ic2VydmVMSFNBbmRSSFNUeXBlcyA9IHRydWUpCiB7CiAg
ICAgSlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CiAgICAgSlNWYWx1
ZSBvcDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMik7CkBAIC0yNDY0LDcgKzI0NzIsMTEg
QEAgQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcHJvZgogICAgICAgICBhcml0
aFByb2ZpbGUtPm9ic2VydmVMSFNBbmRSSFMob3AxLCBvcDIpOwogCiAgICAgZG91YmxlIGEgPSBv
cDEudG9OdW1iZXIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOwogICAgIGRvdWJsZSBiID0g
b3AyLnRvTnVtYmVyKGV4ZWMpOworICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpCisg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICAKICAgICBKU1Zh
bHVlIHJlc3VsdCA9IGpzTnVtYmVyKGEgLSBiKTsKICAgICBhcml0aFByb2ZpbGUtPm9ic2VydmVS
ZXN1bHQocmVzdWx0KTsKQEAgLTI0NzUsNyArMjQ4Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uVmEKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICByZXR1cm4gdW5wcm9m
aWxlZFN1YihleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKKyAgICByZXR1cm4gdW5wcm9m
aWxlZFN1Yigqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlU3ViUHJvZmlsZWQoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
T3AyLCBBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSkKQEAgLTI0ODMsNyArMjQ5NSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKIAot
ICAgIHJldHVybiBwcm9maWxlZFN1YihleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyLCBhcml0
aFByb2ZpbGUpOworICAgIHJldHVybiBwcm9maWxlZFN1Yigqdm0sIGV4ZWMsIGVuY29kZWRPcDEs
IGVuY29kZWRPcDIsIGFyaXRoUHJvZmlsZSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uVmFsdWVTdWJPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEpJVFN1YklDKiBz
dWJJQykKQEAgLTI1MDAsNyArMjUxMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uVmEKICAgICBleGVjLT5jb2RlQmxvY2soKS0+ZHVtcE1hdGhJQ1N0YXRzKCk7CiAj
ZW5kaWYKIAotICAgIHJldHVybiB1bnByb2ZpbGVkU3ViKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29k
ZWRPcDIpOworICAgIHJldHVybiB1bnByb2ZpbGVkU3ViKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwg
ZW5jb2RlZE9wMik7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
VmFsdWVTdWJOb09wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgSklUU3ViSUMqKQpAQCAtMjUwOCw3ICsy
NTIwLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIFZN
KiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0s
IGV4ZWMpOwogCi0gICAgcmV0dXJuIHVucHJvZmlsZWRTdWIoZXhlYywgZW5jb2RlZE9wMSwgZW5j
b2RlZE9wMik7CisgICAgcmV0dXJuIHVucHJvZmlsZWRTdWIoKnZtLCBleGVjLCBlbmNvZGVkT3Ax
LCBlbmNvZGVkT3AyKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25WYWx1ZVN1YlByb2ZpbGVkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBBcml0aFByb2ZpbGUqIGFy
aXRoUHJvZmlsZSwgSklUU3ViSUMqIHN1YklDKQpAQCAtMjUyNCw3ICsyNTM2LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogICAgIGV4ZWMtPmNvZGVCbG9jaygp
LT5kdW1wTWF0aElDU3RhdHMoKTsKICNlbmRpZgogCi0gICAgcmV0dXJuIHByb2ZpbGVkU3ViKGV4
ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRoUHJvZmlsZSwgZmFsc2UpOworICAgIHJl
dHVybiBwcm9maWxlZFN1Yigqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsIGFyaXRo
UHJvZmlsZSwgZmFsc2UpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblZhbHVlU3ViUHJvZmlsZWROb09wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgQXJpdGhQcm9maWxl
KiBhcml0aFByb2ZpbGUsIEpJVFN1YklDKikKQEAgLTI1MzIsNyArMjU0NCw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKICAgICBWTSogdm0gPSAmZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKIAotICAgIHJl
dHVybiBwcm9maWxlZFN1YihleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyLCBhcml0aFByb2Zp
bGUpOworICAgIHJldHVybiBwcm9maWxlZFN1Yigqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29k
ZWRPcDIsIGFyaXRoUHJvZmlsZSk7CiB9CiAKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
cm9jZXNzVHlwZVByb2ZpbGVyTG9nKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24g
MjA0MTgxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM0LDYgKzQzNCw4IEBAIFNMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9tdWwpCiAgICAgSlNWYWx1ZSBsZWZ0ID0gT1BfQygyKS5qc1ZhbHVlKCk7CiAgICAg
SlNWYWx1ZSByaWdodCA9IE9QX0MoMykuanNWYWx1ZSgpOwogICAgIGRvdWJsZSBhID0gbGVmdC50
b051bWJlcihleGVjKTsKKyAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKQorICAgICAg
ICBSRVRVUk4oSlNWYWx1ZSgpKTsKICAgICBkb3VibGUgYiA9IHJpZ2h0LnRvTnVtYmVyKGV4ZWMp
OwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoYSAqIGIpOwogICAgIFJFVFVSTl9XSVRI
X1BST0ZJTElORyhyZXN1bHQsIHsKQEAgLTQ0Nyw2ICs0NDksOCBAQCBTTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfc3ViKQogICAgIEpTVmFsdWUgbGVmdCA9IE9QX0MoMikuanNWYWx1ZSgpOwogICAg
IEpTVmFsdWUgcmlnaHQgPSBPUF9DKDMpLmpzVmFsdWUoKTsKICAgICBkb3VibGUgYSA9IGxlZnQu
dG9OdW1iZXIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAgICAg
ICAgUkVUVVJOKEpTVmFsdWUoKSk7CiAgICAgZG91YmxlIGIgPSByaWdodC50b051bWJlcihleGVj
KTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKGEgLSBiKTsKICAgICBSRVRVUk5fV0lU
SF9QUk9GSUxJTkcocmVzdWx0LCB7CkBAIC00NjAsNyArNDY0LDExIEBAIFNMT1dfUEFUSF9ERUNM
KHNsb3dfcGF0aF9kaXYpCiAgICAgSlNWYWx1ZSBsZWZ0ID0gT1BfQygyKS5qc1ZhbHVlKCk7CiAg
ICAgSlNWYWx1ZSByaWdodCA9IE9QX0MoMykuanNWYWx1ZSgpOwogICAgIGRvdWJsZSBhID0gbGVm
dC50b051bWJlcihleGVjKTsKKyAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKQorICAg
ICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKICAgICBkb3VibGUgYiA9IHJpZ2h0LnRvTnVtYmVyKGV4
ZWMpOworICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpCisgICAgICAgIFJFVFVSTihK
U1ZhbHVlKCkpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoYSAvIGIpOwogICAgIFJF
VFVSTl9XSVRIX1BST0ZJTElORyhyZXN1bHQsIHsKICAgICAgICAgdXBkYXRlQXJpdGhQcm9maWxl
Rm9yQmluYXJ5QXJpdGhPcChleGVjLCBwYywgcmVzdWx0LCBsZWZ0LCByaWdodCk7CkBAIC00NzEs
NiArNDc5LDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX21vZCkKIHsKICAgICBCRUdJTigp
OwogICAgIGRvdWJsZSBhID0gT1BfQygyKS5qc1ZhbHVlKCkudG9OdW1iZXIoZXhlYyk7CisgICAg
aWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAgICAgICAgUkVUVVJOKEpTVmFsdWUoKSk7
CiAgICAgZG91YmxlIGIgPSBPUF9DKDMpLmpzVmFsdWUoKS50b051bWJlcihleGVjKTsKICAgICBS
RVRVUk4oanNOdW1iZXIoanNNb2QoYSwgYikpKTsKIH0KQEAgLTQ3OSw3ICs0ODksMTEgQEAgU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX3BvdykKIHsKICAgICBCRUdJTigpOwogICAgIGRvdWJsZSBh
ID0gT1BfQygyKS5qc1ZhbHVlKCkudG9OdW1iZXIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZt
LmV4Y2VwdGlvbigpKSkKKyAgICAgICAgUkVUVVJOKEpTVmFsdWUoKSk7CiAgICAgZG91YmxlIGIg
PSBPUF9DKDMpLmpzVmFsdWUoKS50b051bWJlcihleGVjKTsKKyAgICBpZiAoVU5MSUtFTFkodm0u
ZXhjZXB0aW9uKCkpKQorICAgICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKICAgICBSRVRVUk4oanNO
dW1iZXIob3BlcmF0aW9uTWF0aFBvdyhhLCBiKSkpOwogfQogCkBAIC00ODcsNiArNTAxLDggQEAg
U0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2xzaGlmdCkKIHsKICAgICBCRUdJTigpOwogICAgIGlu
dDMyX3QgYSA9IE9QX0MoMikuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7CisgICAgaWYgKFVOTElL
RUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAgICAgICAgUkVUVVJOKEpTVmFsdWUoKSk7CiAgICAgdWlu
dDMyX3QgYiA9IE9QX0MoMykuanNWYWx1ZSgpLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTihq
c051bWJlcihhIDw8IChiICYgMzEpKSk7CiB9CkBAIC00OTUsNiArNTExLDggQEAgU0xPV19QQVRI
X0RFQ0woc2xvd19wYXRoX3JzaGlmdCkKIHsKICAgICBCRUdJTigpOwogICAgIGludDMyX3QgYSA9
IE9QX0MoMikuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLmV4
Y2VwdGlvbigpKSkKKyAgICAgICAgUkVUVVJOKEpTVmFsdWUoKSk7CiAgICAgdWludDMyX3QgYiA9
IE9QX0MoMykuanNWYWx1ZSgpLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTihqc051bWJlcihh
ID4+IChiICYgMzEpKSk7CiB9CkBAIC01MDMsNiArNTIxLDggQEAgU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX3Vyc2hpZnQpCiB7CiAgICAgQkVHSU4oKTsKICAgICB1aW50MzJfdCBhID0gT1BfQygy
KS5qc1ZhbHVlKCkudG9VSW50MzIoZXhlYyk7CisgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlv
bigpKSkKKyAgICAgICAgUkVUVVJOKEpTVmFsdWUoKSk7CiAgICAgdWludDMyX3QgYiA9IE9QX0Mo
MykuanNWYWx1ZSgpLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTihqc051bWJlcihzdGF0aWNf
Y2FzdDxpbnQzMl90PihhID4+IChiICYgMzEpKSkpOwogfQpAQCAtNTE4LDYgKzUzOCw4IEBAIFNM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9iaXRhbmQpCiB7CiAgICAgQkVHSU4oKTsKICAgICBpbnQz
Ml90IGEgPSBPUF9DKDIpLmpzVmFsdWUoKS50b0ludDMyKGV4ZWMpOworICAgIGlmIChVTkxJS0VM
WSh2bS5leGNlcHRpb24oKSkpCisgICAgICAgIFJFVFVSTihKU1ZhbHVlKCkpOwogICAgIGludDMy
X3QgYiA9IE9QX0MoMykuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7CiAgICAgUkVUVVJOKGpzTnVt
YmVyKGEgJiBiKSk7CiB9CkBAIC01MjYsNiArNTQ4LDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX2JpdG9yKQogewogICAgIEJFR0lOKCk7CiAgICAgaW50MzJfdCBhID0gT1BfQygyKS5qc1Zh
bHVlKCkudG9JbnQzMihleGVjKTsKKyAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKQor
ICAgICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKICAgICBpbnQzMl90IGIgPSBPUF9DKDMpLmpzVmFs
dWUoKS50b0ludDMyKGV4ZWMpOwogICAgIFJFVFVSTihqc051bWJlcihhIHwgYikpOwogfQpAQCAt
NTM0LDYgKzU1OCw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9iaXR4b3IpCiB7CiAgICAg
QkVHSU4oKTsKICAgICBpbnQzMl90IGEgPSBPUF9DKDIpLmpzVmFsdWUoKS50b0ludDMyKGV4ZWMp
OworICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpCisgICAgICAgIFJFVFVSTihKU1Zh
bHVlKCkpOwogICAgIGludDMyX3QgYiA9IE9QX0MoMykuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7
CiAgICAgUkVUVVJOKGpzTnVtYmVyKGEgXiBiKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjA0MTgxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDggKzQzLDEzIEBAIGJvb2wgSlNWYWx1ZTo6c3RyaWN0RXF1YWxTbG93Q2FzZShFeGVj
U3QKIE5FVkVSX0lOTElORSBKU1ZhbHVlIGpzQWRkU2xvd0Nhc2UoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTVmFsdWUgdjEsIEpTVmFsdWUgdjIpCiB7CiAgICAgLy8gZXhjZXB0aW9uIGZvciB0aGUg
RGF0ZSBleGNlcHRpb24gaW4gZGVmYXVsdFZhbHVlKCkKKyAgICBWTSYgdm0gPSBjYWxsRnJhbWUt
PnZtKCk7CiAgICAgSlNWYWx1ZSBwMSA9IHYxLnRvUHJpbWl0aXZlKGNhbGxGcmFtZSk7CisgICAg
aWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsK
ICAgICBKU1ZhbHVlIHAyID0gdjIudG9QcmltaXRpdmUoY2FsbEZyYW1lKTsKKyAgICBpZiAoVU5M
SUtFTFkodm0uZXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwogCiAgICAg
aWYgKHAxLmlzU3RyaW5nKCkpCiAgICAgICAgIHJldHVybiBqc1N0cmluZyhjYWxsRnJhbWUsIGFz
U3RyaW5nKHAxKSwgcDIudG9TdHJpbmcoY2FsbEZyYW1lKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>