<?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>187479</bug_id>
          
          <creation_ts>2018-07-09 13:12:36 -0700</creation_ts>
          <short_desc>Add --traceLLIntExecution and --traceLLIntSlowPath options.</short_desc>
          <delta_ts>2018-07-09 14:58:47 -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 Nightly 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1440514</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-09 13:12:36 -0700</bug_when>
    <thetext>These options are only available if LLINT_TRACING is enabled in LLIntCommon.h.

The details:
1. LLINT_TRACING consolidates and replaces LLINT_EXECUTION_TRACING and LLINT_SLOW_PATH_TRACING.
2. Tracing is now guarded behind runtime options --traceLLIntExecution and --traceLLIntSlowPath.  This makes it such that enabling LLINT_TRACING doesn&apos;t means that we&apos;ll continually spammed with logging until we rebuild.
3. Fixed slow path LLINT tracing to work with exception check validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440515</commentid>
    <comment_count>1</comment_count>
      <attachid>344605</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-09 13:18:29 -0700</bug_when>
    <thetext>Created attachment 344605
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440523</commentid>
    <comment_count>2</comment_count>
      <attachid>344605</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-09 13:38:48 -0700</bug_when>
    <thetext>Comment on attachment 344605
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440524</commentid>
    <comment_count>3</comment_count>
      <attachid>344605</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-09 13:40:51 -0700</bug_when>
    <thetext>Comment on attachment 344605
proposed patch.

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

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:198
&gt; +        dataLog(values...);

Can just be dataLogIf(Options...

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:205
&gt; +        dataLogLn(values...);

Ditto

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:217
&gt; +        dataLogF(format, values...);

Not sure if we have an it variant of this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440571</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-07-09 14:56:44 -0700</bug_when>
    <thetext>Thanks for the reviews.  Landed in r233658: &lt;http://trac.webkit.org/r233658&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440574</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-09 14:58:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/41991662&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344605</attachid>
            <date>2018-07-09 13:18:29 -0700</date>
            <delta_ts>2018-07-09 13:38:48 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-187479.patch</filename>
            <type>text/plain</type>
            <size>18627</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMzNjU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDE4LTA3LTA5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgLS10cmFjZUxMSW50RXhlY3V0aW9uIGFuZCAtLXRyYWNlTExJbnRTbG93UGF0aCBvcHRpb25z
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NDc5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2Ug
b3B0aW9ucyBhcmUgb25seSBhdmFpbGFibGUgaWYgTExJTlRfVFJBQ0lORyBpcyBlbmFibGVkIGlu
IExMSW50Q29tbW9uLmguCisKKyAgICAgICAgVGhlIGRldGFpbHM6CisgICAgICAgIDEuIExMSU5U
X1RSQUNJTkcgY29uc29saWRhdGVzIGFuZCByZXBsYWNlcyBMTElOVF9FWEVDVVRJT05fVFJBQ0lO
RyBhbmQgTExJTlRfU0xPV19QQVRIX1RSQUNJTkcuCisgICAgICAgIDIuIFRyYWNpbmcgaXMgbm93
IGd1YXJkZWQgYmVoaW5kIHJ1bnRpbWUgb3B0aW9ucyAtLXRyYWNlTExJbnRFeGVjdXRpb24gYW5k
IC0tdHJhY2VMTEludFNsb3dQYXRoLgorICAgICAgICAgICBUaGlzIG1ha2VzIGl0IHN1Y2ggdGhh
dCBlbmFibGluZyBMTElOVF9UUkFDSU5HIGRvZXNuJ3QgbWVhbnMgdGhhdCB3ZSdsbAorICAgICAg
ICAgICBjb250aW51YWxseSBzcGFtbWVkIHdpdGggbG9nZ2luZyB1bnRpbCB3ZSByZWJ1aWxkLgor
ICAgICAgICAzLiBGaXhlZCBzbG93IHBhdGggTExJTlQgdHJhY2luZyB0byB3b3JrIHdpdGggZXhj
ZXB0aW9uIGNoZWNrIHZhbGlkYXRpb24uCisKKyAgICAgICAgKiBsbGludC9MTEludENvbW1vbi5o
OgorICAgICAgICAqIGxsaW50L0xMSW50RXhjZXB0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkxM
SW50OjpyZXR1cm5Ub1Rocm93KToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmNhbGxUb1Rocm93KToK
KyAgICAgICAgKiBsbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaDoKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpzbG93UGF0aExvZyk6
CisgICAgICAgIChKU0M6OkxMSW50OjpzbG93UGF0aExuKToKKyAgICAgICAgKEpTQzo6TExJbnQ6
OnNsb3dQYXRoTG9nRik6CisgICAgICAgIChKU0M6OkxMSW50OjpzbG93UGF0aExvZ0xuKToKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OmxsaW50X3RyYWNlX29wZXJhbmQpOgorICAgICAgICAoSlNDOjpM
TEludDo6bGxpbnRfdHJhY2VfdmFsdWUpOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xP
V19QQVRIX0RFQ0wpOgorICAgICAgICAoSlNDOjpMTEludDo6dHJhY2VGdW5jdGlvblByb2xvZ3Vl
KToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmhhbmRsZUhvc3RDYWxsKToKKyAgICAgICAgKEpTQzo6
TExJbnQ6OnNldFVwQ2FsbCk6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBydW50aW1l
L0NvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpDb21tb25TbG93
UGF0aHM6OmludGVycHJldGVyVGhyb3dJbkNhbGxlcik6CisgICAgICAgICogcnVudGltZS9PcHRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6T3B0aW9uczo6aXNBdmFpbGFibGUpOgorICAgICAgICAq
IHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDE4LTA3LTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIE1ha2Ugc29tZSBkYXRhIG1lbWJlcnMg
b2YgVW5saW5rZWRDb2RlQmxvY2sgcHJpdmF0ZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50Q29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50Q29tbW9uLmgJKHJldmlzaW9uIDIzMzY0NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludENvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDEzLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUs
MTEgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCi0vLyBQcmludCBldmVyeSBpbnN0cnVjdGlv
biBleGVjdXRlZC4KLSNkZWZpbmUgTExJTlRfRVhFQ1VUSU9OX1RSQUNJTkcgMAotCi0vLyBQcmlu
dCBzb21lIGluZm9ybWF0aW9uIGZvciBzb21lIG9mIHRoZSBtb3JlIHN1YnRsZSBzbG93IHBhdGhz
LgotI2RlZmluZSBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORyAwCisvLyBFbmFibGVzIExMSU5UIHRy
YWNpbmcuCisvLyAtIFByaW50cyBldmVyeSBpbnN0cnVjdGlvbiBleGVjdXRlZCBpZiBPcHRpb25z
Ojp0cmFjZUxMSW50RXhlY3V0aW9uKCkgaXMgZW5hYmxlZC4KKy8vIC0gUHJpbnRzIHNvbWUgaW5m
b3JtYXRpb24gZm9yIHNvbWUgb2YgdGhlIG1vcmUgc3VidGxlIHNsb3cgcGF0aHMgaWYKKy8vICAg
T3B0aW9uczo6dHJhY2VMTEludFNsb3dQYXRoKCkgaXMgZW5hYmxlZC4KKyNkZWZpbmUgTExJTlRf
VFJBQ0lORyAwCiAKIC8vIERpc2FibGUgaW5saW5lIGFsbG9jYXRpb24gaW4gdGhlIGludGVycHJl
dGVyLiBUaGlzIGlzIGdyZWF0IGlmIHlvdSdyZSBjaGFuZ2luZwogLy8gaG93IHRoZSBHQyBhbGxv
Y2F0ZXMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRFeGNlcHRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRFeGNl
cHRpb25zLmNwcAkocmV2aXNpb24gMjMzNjQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50RXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAK
ICNpbmNsdWRlICJMb3dMZXZlbEludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogCi0jaWYgTExJTlRfU0xPV19QQVRIX1RSQUNJTkcKKyNpZiBMTElOVF9UUkFDSU5HCiAjaW5j
bHVkZSAiRXhjZXB0aW9uLmgiCiAjZW5kaWYKIApAQCAtNDIsMTAgKzQyLDEyIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogSW5zdHJ1Y3Rpb24qIHJldHVyblRvVGhyb3coRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSNpZiBMTElOVF9TTE9X
X1BBVEhfVFJBQ0lORwotICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwotICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKCp2bSk7Ci0gICAgZGF0YUxvZygiVGhyb3dpbmcgZXhjZXB0
aW9uICIsIEpTVmFsdWUoc2NvcGUuZXhjZXB0aW9uKCkpLCAiIChyZXR1cm5Ub1Rocm93KS5cbiIp
OworI2lmIExMSU5UX1RSQUNJTkcKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dHJhY2VMTElu
dFNsb3dQYXRoKCkpKSB7CisgICAgICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOworICAgICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSgqdm0pOworICAgICAgICBkYXRhTG9nKCJU
aHJvd2luZyBleGNlcHRpb24gIiwgSlNWYWx1ZShzY29wZS5leGNlcHRpb24oKSksICIgKHJldHVy
blRvVGhyb3cpLlxuIik7CisgICAgfQogI2VuZGlmCiAgICAgcmV0dXJuIExMSW50OjpleGNlcHRp
b25JbnN0cnVjdGlvbnMoKTsKIH0KQEAgLTUzLDEwICs1NSwxMiBAQCBJbnN0cnVjdGlvbiogcmV0
dXJuVG9UaHJvdyhFeGVjU3RhdGUqIGV4CiB2b2lkKiBjYWxsVG9UaHJvdyhFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwotI2lmIExMSU5UX1NMT1dfUEFUSF9UUkFD
SU5HCi0gICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUoKnZtKTsKLSAgICBkYXRhTG9nKCJUaHJvd2luZyBleGNlcHRpb24gIiwgSlNW
YWx1ZShzY29wZS5leGNlcHRpb24oKSksICIgKGNhbGxUb1Rocm93KS5cbiIpOworI2lmIExMSU5U
X1RSQUNJTkcKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dHJhY2VMTEludFNsb3dQYXRoKCkp
KSB7CisgICAgICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOworICAgICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9DQVRDSF9TQ09QRSgqdm0pOworICAgICAgICBkYXRhTG9nKCJUaHJvd2luZyBleGNl
cHRpb24gIiwgSlNWYWx1ZShzY29wZS5leGNlcHRpb24oKSksICIgKGNhbGxUb1Rocm93KS5cbiIp
OworICAgIH0KICNlbmRpZgogICAgIHJldHVybiBMTEludDo6Z2V0Q29kZVB0cjxFeGNlcHRpb25I
YW5kbGVyUHRyVGFnPihsbGludF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5lKS5leGVjdXRh
YmxlQWRkcmVzcygpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2ZmbGluZUFzbUNvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAkocmV2aXNpb24gMjMzNjQ1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjMsMTAgKzE2MywxMCBAQAogI2RlZmluZSBPRkZMSU5FX0FTTV9CSUdfRU5ESUFO
IDAKICNlbmRpZgogCi0jaWYgTExJTlRfRVhFQ1VUSU9OX1RSQUNJTkcKLSNkZWZpbmUgT0ZGTElO
RV9BU01fRVhFQ1VUSU9OX1RSQUNJTkcgMQorI2lmIExMSU5UX1RSQUNJTkcKKyNkZWZpbmUgT0ZG
TElORV9BU01fVFJBQ0lORyAxCiAjZWxzZQotI2RlZmluZSBPRkZMSU5FX0FTTV9FWEVDVVRJT05f
VFJBQ0lORyAwCisjZGVmaW5lIE9GRkxJTkVfQVNNX1RSQUNJTkcgMAogI2VuZGlmCiAKICNpZiBV
U0UoUE9JTlRFUl9QUk9GSUxJTkcpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIzMzY0NSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4
OCw5ICsxODgsNTEgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAg
IEV4ZWNTdGF0ZSogX19yY2ZfZXhlYyA9IChleGVjQ2FsbGVlKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCi0gICAgCisK
KyNpZiBMTElOVF9UUkFDSU5HCisKK3RlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPgordm9pZCBz
bG93UGF0aExvZyhjb25zdCBUeXBlcyYuLi4gdmFsdWVzKQoreworICAgIGlmIChPcHRpb25zOjp0
cmFjZUxMSW50U2xvd1BhdGgoKSkKKyAgICAgICAgZGF0YUxvZyh2YWx1ZXMuLi4pOworfQorCit0
ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KK3ZvaWQgc2xvd1BhdGhMbihjb25zdCBUeXBlcyYu
Li4gdmFsdWVzKQoreworICAgIGlmIChPcHRpb25zOjp0cmFjZUxMSW50U2xvd1BhdGgoKSkKKyAg
ICAgICAgZGF0YUxvZ0xuKHZhbHVlcy4uLik7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lLi4uIFR5
cGVzPgordm9pZCBzbG93UGF0aExvZ0YoY29uc3QgY2hhciogZm9ybWF0LCBjb25zdCBUeXBlcyYu
Li4gdmFsdWVzKQoreworI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNwcmFnbWEgR0NDIGRp
YWdub3N0aWMgcHVzaAorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1u
b25saXRlcmFsIgorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1zZWN1
cml0eSIKKyNlbmRpZgorICAgIGlmIChPcHRpb25zOjp0cmFjZUxMSW50U2xvd1BhdGgoKSkKKyAg
ICAgICAgZGF0YUxvZ0YoZm9ybWF0LCB2YWx1ZXMuLi4pOworI2lmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisjZW5kaWYKK30KKworI2Vsc2UgLy8g
bm90IExMSU5UX1RSQUNJTkcKKwordGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHZvaWQgc2xv
d1BhdGhMb2coY29uc3QgVHlwZXMmLi4uKSB7IH0KK3RlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVz
PiB2b2lkIHNsb3dQYXRoTG9nTG4oY29uc3QgVHlwZXMmLi4uKSB7IH0KK3RlbXBsYXRlPHR5cGVu
YW1lLi4uIFR5cGVzPiB2b2lkIHNsb3dQYXRoTG9nRihjb25zdCBjaGFyKiwgY29uc3QgVHlwZXMm
Li4uKSB7IH0KKworI2VuZGlmIC8vIExMSU5UX1RSQUNJTkcKKwogZXh0ZXJuICJDIiBTbG93UGF0
aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0
aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CisgICAgaWYgKCFPcHRpb25z
Ojp0cmFjZUxMSW50RXhlY3V0aW9uKCkpCisgICAgICAgIExMSU5UX0VORF9JTVBMKCk7CisKICAg
ICBMTElOVF9CRUdJTigpOwogICAgIGRhdGFMb2dGKCI8JXA+ICVwIC8gJXA6IGV4ZWN1dGluZyBi
YyMlenUsIG9wIyV1OiBUcmFjZSglZCk6ICVkOiAlZFxuIiwKICAgICAgICAgICAgICZUaHJlYWQ6
OmN1cnJlbnQoKSwKQEAgLTIwNiw2ICsyNDgsOSBAQCBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJu
VHlwZSBsbGludF90cmFjCiAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3Ry
YWNlX3ZhbHVlKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJl
LCBpbnQgb3BlcmFuZCkKIHsKKyAgICBpZiAoIU9wdGlvbnM6OnRyYWNlTExJbnRFeGVjdXRpb24o
KSkKKyAgICAgICAgTExJTlRfRU5EX0lNUEwoKTsKKwogICAgIEpTVmFsdWUgdmFsdWUgPSBMTElO
VF9PUF9DKG9wZXJhbmQpLmpzVmFsdWUoKTsKICAgICB1bmlvbiB7CiAgICAgICAgIHN0cnVjdCB7
CkBAIC0yMzMsMTggKzI3OCwyNCBAQCBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGlu
dF90cmFjCiAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHRyYWNlX3Byb2xvZ3VlKQogeworICAgIGlm
ICghT3B0aW9uczo6dHJhY2VMTEludEV4ZWN1dGlvbigpKQorICAgICAgICBMTElOVF9FTkRfSU1Q
TCgpOworCiAgICAgZGF0YUxvZ0YoIjwlcD4gJXAgLyAlcDogaW4gcHJvbG9ndWUgb2YgIiwgJlRo
cmVhZDo6Y3VycmVudCgpLCBleGVjLT5jb2RlQmxvY2soKSwgZXhlYyk7Ci0gICAgZGF0YUxvZygq
ZXhlYy0+Y29kZUJsb2NrKCksICJcbiIpOworICAgIGRhdGFMb2coZXhlYy0+Y29kZUJsb2NrKCks
ICJcbiIpOwogICAgIExMSU5UX0VORF9JTVBMKCk7CiB9CiAKIHN0YXRpYyB2b2lkIHRyYWNlRnVu
Y3Rpb25Qcm9sb2d1ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IGNoYXIqIGNvbW1lbnQsIENvZGVT
cGVjaWFsaXphdGlvbktpbmQga2luZCkKIHsKKyAgICBpZiAoIU9wdGlvbnM6OnRyYWNlTExJbnRF
eGVjdXRpb24oKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgSlNGdW5jdGlvbiogY2FsbGVlID0g
anNDYXN0PEpTRnVuY3Rpb24qPihleGVjLT5qc0NhbGxlZSgpKTsKICAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBjYWxsZWUtPmpzRXhlY3V0YWJsZSgpOwogICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlY3V0YWJsZS0+Y29kZUJsb2NrRm9yKGtpbmQpOwogICAgIGRhdGFM
b2dGKCI8JXA+ICVwIC8gJXA6IGluICVzIG9mICIsICZUaHJlYWQ6OmN1cnJlbnQoKSwgY29kZUJs
b2NrLCBleGVjLCBjb21tZW50KTsKLSAgICBkYXRhTG9nKCpjb2RlQmxvY2spOworICAgIGRhdGFM
b2coY29kZUJsb2NrKTsKICAgICBkYXRhTG9nRigiIGZ1bmN0aW9uICVwLCBleGVjdXRhYmxlICVw
OyBudW1WYXJzID0gJXUsIG51bVBhcmFtZXRlcnMgPSAldSwgbnVtQ2FsbGVlTG9jYWxzID0gJXUs
IGNhbGxlciA9ICVwLlxuIiwKICAgICAgICAgY2FsbGVlLCBleGVjdXRhYmxlLCBjb2RlQmxvY2st
Pm51bVZhcnMoKSwgY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCksIGNvZGVCbG9jay0+bnVtQ2Fs
bGVlTG9jYWxzKCksIGV4ZWMtPmNhbGxlckZyYW1lKCkpOwogfQpAQCAtMjc1LDYgKzMyNiw5IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHRyYWNlX2FyaXR5Q2hlY2tfZm8KIAogTExJTlRfU0xPV19Q
QVRIX0RFQ0wodHJhY2UpCiB7CisgICAgaWYgKCFPcHRpb25zOjp0cmFjZUxMSW50RXhlY3V0aW9u
KCkpCisgICAgICAgIExMSU5UX0VORF9JTVBMKCk7CisKICAgICBPcGNvZGVJRCBvcGNvZGVJRCA9
IEludGVycHJldGVyOjpnZXRPcGNvZGVJRChwY1swXS51Lm9wY29kZSk7CiAgICAgZGF0YUxvZ0Yo
IjwlcD4gJXAgLyAlcDogZXhlY3V0aW5nIGJjIyV6dSwgJXMsIHBjID0gJXBcbiIsCiAgICAgICAg
ICAgICAmVGhyZWFkOjpjdXJyZW50KCksCkBAIC0yOTMsMTggKzM0Nyw2IEBAIExMSU5UX1NMT1df
UEFUSF9ERUNMKHRyYWNlKQogICAgIExMSU5UX0VORF9JTVBMKCk7CiB9CiAKLUxMSU5UX1NMT1df
UEFUSF9ERUNMKHNwZWNpYWxfdHJhY2UpCi17Ci0gICAgZGF0YUxvZ0YoIjwlcD4gJXAgLyAlcDog
ZXhlY3V0aW5nIHNwZWNpYWwgY2FzZSBiYyMlenUsIG9wIyV1LCByZXR1cm4gUEMgaXMgJXBcbiIs
Ci0gICAgICAgICAgICAmVGhyZWFkOjpjdXJyZW50KCksCi0gICAgICAgICAgICBleGVjLT5jb2Rl
QmxvY2soKSwKLSAgICAgICAgICAgIGV4ZWMsCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnRw
dHJfdD4oZXhlYy0+Y29kZUJsb2NrKCktPmJ5dGVjb2RlT2Zmc2V0KHBjKSksCi0gICAgICAgICAg
ICBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0udS5vcGNvZGUpLAotICAgICAgICAgICAg
ZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKLSAgICBMTElOVF9FTkRfSU1QTCgpOwotfQotCiBl
bnVtIEVudHJ5S2luZCB7IFByb2xvZ3VlLCBBcml0eUNoZWNrIH07CiAKICNpZiBFTkFCTEUoSklU
KQpAQCAtNDk1LDE4ICs1MzcsMTggQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc3RhY2tfY2hlY2sp
CiAKICAgICBMTElOVF9TRVRfUENfRk9SX1NUVUJTKCk7CiAKLSNpZiBMTElOVF9TTE9XX1BBVEhf
VFJBQ0lORwotICAgIGRhdGFMb2dGKCJDaGVja2luZyBzdGFjayBoZWlnaHQgd2l0aCBleGVjID0g
JXAuXG4iLCBleGVjKTsKLSAgICBkYXRhTG9nKCJDb2RlQmxvY2sgPSAiLCAqZXhlYy0+Y29kZUJs
b2NrKCksICJcbiIpOwotICAgIGRhdGFMb2dGKCJOdW0gY2FsbGVlIHJlZ2lzdGVycyA9ICV1Llxu
IiwgZXhlYy0+Y29kZUJsb2NrKCktPm51bUNhbGxlZUxvY2FscygpKTsKLSAgICBkYXRhTG9nRigi
TnVtIHZhcnMgPSAldS5cbiIsIGV4ZWMtPmNvZGVCbG9jaygpLT5udW1WYXJzKCkpOwotCi0gICAg
ZGF0YUxvZ0YoIkN1cnJlbnQgT1Mgc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0uc29mdFN0YWNr
TGltaXQoKSk7CisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
KyAgICBzbG93UGF0aExvZ0YoIkNoZWNraW5nIHN0YWNrIGhlaWdodCB3aXRoIGV4ZWMgPSAlcC5c
biIsIGV4ZWMpOworICAgIHNsb3dQYXRoTG9nKCJDb2RlQmxvY2sgPSAiLCBjb2RlQmxvY2ssICJc
biIpOworICAgIGlmIChjb2RlQmxvY2spIHsKKyAgICAgICAgc2xvd1BhdGhMb2dGKCJOdW0gY2Fs
bGVlIHJlZ2lzdGVycyA9ICV1LlxuIiwgY29kZUJsb2NrLT5udW1DYWxsZWVMb2NhbHMoKSk7Cisg
ICAgICAgIHNsb3dQYXRoTG9nRigiTnVtIHZhcnMgPSAldS5cbiIsIGNvZGVCbG9jay0+bnVtVmFy
cygpKTsKKyAgICB9CisgICAgc2xvd1BhdGhMb2dGKCJDdXJyZW50IE9TIHN0YWNrIGVuZCBpcyBh
dCAlcC5cbiIsIHZtLnNvZnRTdGFja0xpbWl0KCkpOwogI2lmICFFTkFCTEUoSklUKQotICAgIGRh
dGFMb2dGKCJDdXJyZW50IEMgTG9vcCBzdGFjayBlbmQgaXMgYXQgJXAuXG4iLCB2bS5jbG9vcFN0
YWNrTGltaXQoKSk7CisgICAgc2xvd1BhdGhMb2dGKCJDdXJyZW50IEMgTG9vcCBzdGFjayBlbmQg
aXMgYXQgJXAuXG4iLCB2bS5jbG9vcFN0YWNrTGltaXQoKSk7CiAjZW5kaWYKIAotI2VuZGlmCiAg
ICAgLy8gSWYgdGhlIHN0YWNrIGNoZWNrIHN1Y2NlZWRzIGFuZCB3ZSBkb24ndCBuZWVkIHRvIHRo
cm93IHRoZSBlcnJvciwgdGhlbgogICAgIC8vIHdlJ2xsIHJldHVybiAwIGluc3RlYWQuIFRoZSBw
cm9sb2d1ZSB3aWxsIGNoZWNrIGZvciBhIG5vbi16ZXJvIHZhbHVlCiAgICAgLy8gd2hlbiBkZXRl
cm1pbmluZyB3aGV0aGVyIHRvIHNldCB0aGUgY2FsbEZyYW1lIG9yIG5vdC4KQEAgLTEyNjIsOSAr
MTMwNCw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICAgICBM
TElOVF9CRUdJTigpOwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2Nr
KCk7CiAgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFu
ZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0jaWYgTExJTlRfU0xPV19QQVRIX1RSQUNJTkcKLSAgICBk
YXRhTG9nRigiQ3JlYXRpbmcgZnVuY3Rpb24hXG4iKTsKLSNlbmRpZgorICAgIHNsb3dQYXRoTG9n
RigiQ3JlYXRpbmcgZnVuY3Rpb24hXG4iKTsKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29w
ZSkpOwogfQogCkBAIC0xMjczLDkgKzEzMTMsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93
X3BhdGhfbmV3X2dlbmVyCiAgICAgTExJTlRfQkVHSU4oKTsKICAgICBDb2RlQmxvY2sqIGNvZGVC
bG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwogICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5j
aGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotI2lmIExMSU5UX1NM
T1dfUEFUSF9UUkFDSU5HCi0gICAgZGF0YUxvZ0YoIkNyZWF0aW5nIGZ1bmN0aW9uIVxuIik7Ci0j
ZW5kaWYKKyAgICBzbG93UGF0aExvZ0YoIkNyZWF0aW5nIGZ1bmN0aW9uIVxuIik7CiAgICAgTExJ
TlRfUkVUVVJOKEpTR2VuZXJhdG9yRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5j
dGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KIApAQCAtMTI4NCw5ICsxMzIy
LDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hc3luYwogICAgIExMSU5U
X0JFR0lOKCk7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
ICAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsKLSNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwotICAgIGRhdGFM
b2dGKCJDcmVhdGluZyBhc3luYyBmdW5jdGlvbiFcbiIpOwotI2VuZGlmCisgICAgc2xvd1BhdGhM
b2dGKCJDcmVhdGluZyBhc3luYyBmdW5jdGlvbiFcbiIpOwogICAgIExMSU5UX1JFVFVSTihKU0Fz
eW5jRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5v
cGVyYW5kKSwgc2NvcGUpKTsKIH0KIApAQCAtMTI5NSw5ICsxMzMxLDcgQEAgTExJTlRfU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX25ld19hc3luYwogICAgIExMSU5UX0JFR0lOKCk7CiAgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKICAgICBKU1Njb3BlKiBzY29w
ZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsK
LSNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwotICAgIGRhdGFMb2dGKCJDcmVhdGluZyBhc3lu
YyBnZW5lcmF0b3IgZnVuY3Rpb24hXG4iKTsKLSNlbmRpZgorICAgIHNsb3dQYXRoTG9nRigiQ3Jl
YXRpbmcgYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIVxuIik7CiAgICAgTExJTlRfUkVUVVJOKEpT
QXN5bmNHZW5lcmF0b3JGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVj
bChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQogICAgIApAQCAtMTM1OCw5ICsxMzkyLDcg
QEAgc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbAogewogICAgIFVOVVNF
RF9QQVJBTShwYyk7CiAKLSNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwotICAgIGRhdGFMb2co
IlBlcmZvcm1pbmcgaG9zdCBjYWxsLlxuIik7Ci0jZW5kaWYKKyAgICBzbG93UGF0aExvZygiUGVy
Zm9ybWluZyBob3N0IGNhbGwuXG4iKTsKICAgICAKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBleGVj
Q2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0xMzg0
LDkgKzE0MTYsNyBAQCBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsCiAg
ICAgICAgICAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjQ2FsbGVlLCBleGVjQ2FsbGVlLCBMTElu
dDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSwgQ0Z1bmN0aW9uUHRyVGFnKTsK
ICAgICAgICAgfQogICAgICAgICAKLSNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwotICAgICAg
ICBkYXRhTG9nKCJDYWxsIGNhbGxlZSBpcyBub3QgYSBmdW5jdGlvbjogIiwgY2FsbGVlLCAiXG4i
KTsKLSNlbmRpZgorICAgICAgICBzbG93UGF0aExvZygiQ2FsbCBjYWxsZWUgaXMgbm90IGEgZnVu
Y3Rpb246ICIsIGNhbGxlZSwgIlxuIik7CiAKICAgICAgICAgQVNTRVJUKGNhbGxUeXBlID09IENh
bGxUeXBlOjpOb25lKTsKICAgICAgICAgTExJTlRfQ0FMTF9USFJPVyhleGVjLCBjcmVhdGVOb3RB
RnVuY3Rpb25FcnJvcihleGVjLCBjYWxsZWUpKTsKQEAgLTE0MDgsOSArMTQzOCw3IEBAIHN0YXRp
YyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwKICAgICAgICAgTExJTlRfQ0FMTF9S
RVRVUk4oZXhlY0NhbGxlZSwgZXhlY0NhbGxlZSwgTExJbnQ6OmdldENvZGVQdHIoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSksIENGdW5jdGlvblB0clRhZyk7CiAgICAgfQogICAgIAotI2lmIExMSU5U
X1NMT1dfUEFUSF9UUkFDSU5HCi0gICAgZGF0YUxvZygiQ29uc3RydWN0b3IgY2FsbGVlIGlzIG5v
dCBhIGZ1bmN0aW9uOiAiLCBjYWxsZWUsICJcbiIpOwotI2VuZGlmCisgICAgc2xvd1BhdGhMb2co
IkNvbnN0cnVjdG9yIGNhbGxlZSBpcyBub3QgYSBmdW5jdGlvbjogIiwgY2FsbGVlLCAiXG4iKTsK
IAogICAgIEFTU0VSVChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGU6Ok5vbmUpOwogICAg
IExMSU5UX0NBTExfVEhST1coZXhlYywgY3JlYXRlTm90QUNvbnN0cnVjdG9yRXJyb3IoZXhlYywg
Y2FsbGVlKSk7CkBAIC0xNDIyLDkgKzE0NTAsNyBAQCBpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBl
IHNldFVwQ2FsbChFeGVjCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotI2lmIExMSU5UX1NMT1dfUEFUSF9U
UkFDSU5HCi0gICAgZGF0YUxvZ0YoIlBlcmZvcm1pbmcgY2FsbCB3aXRoIHJlY29yZGVkIFBDID0g
JXBcbiIsIGV4ZWMtPmN1cnJlbnRWUEMoKSk7Ci0jZW5kaWYKKyAgICBzbG93UGF0aExvZ0YoIlBl
cmZvcm1pbmcgY2FsbCB3aXRoIHJlY29yZGVkIFBDID0gJXBcbiIsIGV4ZWMtPmN1cnJlbnRWUEMo
KSk7CiAgICAgCiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rp
b24oY2FsbGVlQXNWYWx1ZSk7CiAgICAgaWYgKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgJKHJldmlz
aW9uIDIzMzY0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTIsNyArNTIsNiBAQCBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0wodHJhY2VfcHJvbG9nCiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wodHJhY2Vf
YXJpdHlDaGVja19mb3JfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wodHJhY2Vf
YXJpdHlDaGVja19mb3JfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTCh0
cmFjZSk7Ci1MTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc3BlY2lhbF90cmFjZSk7CiBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woZW50cnlfb3NyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChlbnRyeV9vc3JfZnVuY3Rpb25fZm9yX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKGVudHJ5X29zcl9mdW5jdGlvbl9mb3JfY29uc3RydWN0KTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20J
KHJldmlzaW9uIDIzMzY0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAtODM5LDcgKzgzOSw3IEBAIG1hY3Jv
IHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQogZW5kCiAKIG1hY3JvIHRyYWNlRXhlY3V0
aW9uKCkKLSAgICBpZiBFWEVDVVRJT05fVFJBQ0lORworICAgIGlmIFRSQUNJTkcKICAgICAgICAg
Y2FsbFNsb3dQYXRoKF9sbGludF90cmFjZSkKICAgICBlbmQKIGVuZApAQCAtMTAwNiw3ICsxMDA2
LDcgQEAgbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxvYwogICAgIHRhZ1Jl
dHVybkFkZHJlc3Mgc3AKICAgICBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKIAotICAgIGlmIEVY
RUNVVElPTl9UUkFDSU5HCisgICAgaWYgVFJBQ0lORwogICAgICAgICBzdWJwIG1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAogICAgICAgICBjYWxsU2xvd1BhdGgodHJhY2VTbG93UGF0
aCkKICAgICAgICAgYWRkcCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCwgc3AKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRoc0V4Y2VwdGlvbnMuY3BwCShyZXZpc2lvbiAyMzM2NDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHNFeGNlcHRpb25zLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkxMSW50Q29tbW9uLmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogCi0jaWYgTExJTlRfU0xPV19QQVRIX1RSQUNJTkcKKyNpZiBMTElO
VF9UUkFDSU5HCiAjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCiAjZW5kaWYKIApAQCAtNDcsOCArNDcs
OSBAQCB2b2lkIGludGVycHJldGVyVGhyb3dJbkNhbGxlcihFeGVjU3RhdGUqCiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoKnZtKTsKIAogICAgIHRocm93RXhjZXB0aW9uKGV4
ZWMsIHNjb3BlLCBlcnJvcik7Ci0jaWYgTExJTlRfU0xPV19QQVRIX1RSQUNJTkcKLSAgICBkYXRh
TG9nKCJUaHJvd2luZyBleGNlcHRpb24gIiwgSlNWYWx1ZShzY29wZS5leGNlcHRpb24oKSksICIu
XG4iKTsKKyNpZiBMTElOVF9UUkFDSU5HCisgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnRyYWNl
TExJbnRTbG93UGF0aCgpKSkKKyAgICAgICAgZGF0YUxvZygiVGhyb3dpbmcgZXhjZXB0aW9uICIs
IEpTVmFsdWUoc2NvcGUuZXhjZXB0aW9uKCkpLCAiLlxuIik7CiAjZW5kaWYKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHJldmlzaW9uIDIzMzY0
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiT3B0aW9ucy5oIgogCiAjaW5jbHVk
ZSAiQXNzZW1ibGVyQ29tbW9uLmgiCisjaW5jbHVkZSAiTExJbnRDb21tb24uaCIKICNpbmNsdWRl
ICJNaW5pbXVtUmVzZXJ2ZWRab25lU2l6ZS5oIgogI2luY2x1ZGUgIlNpZ2lsbENyYXNoQW5hbHl6
ZXIuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC0xNTgsNiArMTU5LDEwIEBAIGJvb2wgT3B0
aW9uczo6aXNBdmFpbGFibGUoT3B0aW9uczo6SUQgaWQKICAgICBpZiAoaWQgPT0gdXNlU2lnaWxs
Q3Jhc2hBbmFseXplcklEKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgorICAgIGlmIChp
ZCA9PSB0cmFjZUxMSW50RXhlY3V0aW9uSUQpCisgICAgICAgIHJldHVybiAhIUxMSU5UX1RSQUNJ
Tkc7CisgICAgaWYgKGlkID09IHRyYWNlTExJbnRTbG93UGF0aElEKQorICAgICAgICByZXR1cm4g
ISFMTElOVF9UUkFDSU5HOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjMzNjQ1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTMs
NyArNTEzLDkgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbgogICAg
IHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0
cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJ
ZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1
bmRlY2lkZWQuIikgXAogICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWws
ICJJZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGgg
YSBwb2x5IHByb3RvIHN0cnVjdHVyZS4iKSBcCiAgICAgdihib29sLCBmb3JjZU1pbmlWTU1vZGUs
IGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCBpdCB3aWxsIGZvcmNlIG1pbmkgVk0gbW9kZSBvbi4i
KSBcCi0gICAgdihib29sLCB1c2VUcmFjZVBvaW50cywgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikK
KyAgICB2KGJvb2wsIHVzZVRyYWNlUG9pbnRzLCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCisg
ICAgdihib29sLCB0cmFjZUxMSW50RXhlY3V0aW9uLCBmYWxzZSwgQ29uZmlndXJhYmxlLCBudWxs
cHRyKSBcCisgICAgdihib29sLCB0cmFjZUxMSW50U2xvd1BhdGgsIGZhbHNlLCBDb25maWd1cmFi
bGUsIG51bGxwdHIpIFwKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsK
</data>
<flag name="review"
          id="362627"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>