<?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>34706</bug_id>
          
          <creation_ts>2010-02-08 09:04:43 -0800</creation_ts>
          <short_desc>Web Inspector: Continue with debugger and profiler unforking</short_desc>
          <delta_ts>2010-02-09 18:02:49 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Mikhail Naganov">mnaganov</reporter>
          <assigned_to name="Mikhail Naganov">mnaganov</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>188636</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2010-02-08 09:04:43 -0800</bug_when>
    <thetext>Narrow scope of JSC-specific ifdefs.

Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required for really enabling it in V8 bindings generation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188639</commentid>
    <comment_count>1</comment_count>
      <attachid>48335</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2010-02-08 09:07:58 -0800</bug_when>
    <thetext>Created attachment 48335
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188646</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-08 09:16:38 -0800</bug_when>
    <thetext>Attachment 48335 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/244785</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188660</commentid>
    <comment_count>3</comment_count>
      <attachid>48335</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-02-08 09:49:00 -0800</bug_when>
    <thetext>Comment on attachment 48335
proposed patch

r- for the bot failure.

+ #elif ENABLE(JAVASCRIPT_DEBUGGER)
+     , m_profilerEnabled(true)

It would be more clear if m_profilerEnabled was mentioned only once and resided in a simple ENABLE(JAVASCRIPT_DEBUGGER) section.

Also please do not mix formatting with changes that heavily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188960</commentid>
    <comment_count>4</comment_count>
      <attachid>48405</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2010-02-09 04:15:24 -0800</bug_when>
    <thetext>Created attachment 48405
comment addressed, removed style changes, fixed chromium port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188968</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-09 04:54:50 -0800</bug_when>
    <thetext>Attachment 48405 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/250407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188971</commentid>
    <comment_count>6</comment_count>
      <attachid>48406</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2010-02-09 05:10:08 -0800</bug_when>
    <thetext>Created attachment 48406
really fixed chromimum port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189192</commentid>
    <comment_count>7</comment_count>
      <attachid>48406</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-09 18:02:37 -0800</bug_when>
    <thetext>Comment on attachment 48406
really fixed chromimum port

Clearing flags on attachment: 48406

Committed r54576: &lt;http://trac.webkit.org/changeset/54576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189193</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-09 18:02:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48335</attachid>
            <date>2010-02-08 09:07:58 -0800</date>
            <delta_ts>2010-02-09 04:15:24 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>unfork-prof-4-patch</filename>
            <type>text/plain</type>
            <size>25009</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTgyZTkzYy4uZWQyMGVkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMC0wMi0wOCAgTWlraGFpbCBOYWdh
bm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvbnRpbnVpbmcgZGVidWdnZXIgYW5kIHByb2ZpbGVyIHVu
Zm9ya2luZzogbmFycm93IHNjb3BlIG9mIEpTQy1zcGVjaWZpYyBpZmRlZnMuCisgICAgICAgIEFs
c28sIGVuYWJsZSBKQVZBU0NSSVBUX0RFQlVHR0VSIGV4cGxpY2l0bHkgaW4gZmVhdHVyZXMsIGl0
IGFwcGVhcnMgdG8gYmUgcmVxdWlyZWQKKyAgICAgICAgZm9yIHJlYWxseSBlbmFibGluZyBpdCBp
biBWOCBiaW5kaW5ncyBnZW5lcmF0aW9uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcwNgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6Y3VycmVu
dENhbGxGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpnZXRQcm9m
aWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6OmRpc3BhdGNoT25Jbmpl
Y3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmFkZFByb2ZpbGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjpzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6c3RvcFVzZXJJbml0aWF0ZWRQcm9m
aWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5hYmxlUHJv
ZmlsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzYWJsZVBy
b2ZpbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZDo6YWRkQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OnNob3dQYW5lbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JGcm9udGVuZDo6cGF1c2VkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kOjpyZXN1bWVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kOjpwcm9maWxlcldhc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmQ6OnByb2ZpbGVyV2FzRGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmQ6OmRpZEdldFByb2ZpbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OnNjcmlw
dFN0YXRlKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaWRsOgorCiAyMDEwLTAyLTA3ICBEYW5p
ZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQu
Y3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKaW5kZXggNWUzYTkx
MC4uNzU4ZmJhMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2Vu
ZC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKQEAgLTIy
Miw2ICsyMjIsMTMgQEAgdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpzZXRQYXVzZU9uRXhjZXB0aW9u
c1N0YXRlKGxvbmcgcGF1c2VTdGF0ZSkKICAgICBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJl
ZCgpLnNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUoc3RhdGljX2Nhc3Q8SmF2YVNjcmlwdERlYnVn
U2VydmVyOjpQYXVzZU9uRXhjZXB0aW9uc1N0YXRlPihwYXVzZVN0YXRlKSk7CiB9CiAKK0phdmFT
Y3JpcHRDYWxsRnJhbWUqIEluc3BlY3RvckJhY2tlbmQ6OmN1cnJlbnRDYWxsRnJhbWUoKSBjb25z
dAoreworICAgIHJldHVybiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJlZCgpLmN1cnJlbnRD
YWxsRnJhbWUoKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIp
CiBib29sIEluc3BlY3RvckJhY2tlbmQ6OnByb2ZpbGVyRW5hYmxlZCgpCiB7CiAgICAgaWYgKG1f
aW5zcGVjdG9yQ29udHJvbGxlcikKQEAgLTI2NCwxMSArMjcxLDYgQEAgdm9pZCBJbnNwZWN0b3JC
YWNrZW5kOjpnZXRQcm9maWxlKGxvbmcgY2FsbElkLCB1bnNpZ25lZCB1aWQpCiAgICAgaWYgKG1f
aW5zcGVjdG9yQ29udHJvbGxlcikKICAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5nZXRQ
cm9maWxlKGNhbGxJZCwgdWlkKTsKIH0KLQotSmF2YVNjcmlwdENhbGxGcmFtZSogSW5zcGVjdG9y
QmFja2VuZDo6Y3VycmVudENhbGxGcmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEphdmFTY3Jp
cHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkuY3VycmVudENhbGxGcmFtZSgpOwotfQogI2VuZGlmCiAK
IHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6c2V0SW5qZWN0ZWRTY3JpcHRTb3VyY2UoY29uc3QgU3Ry
aW5nJiBzb3VyY2UpCkBAIC0yOTksNyArMzAxLDcgQEAgdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpk
aXNwYXRjaE9uSW5qZWN0ZWRTY3JpcHQobG9uZyBjYWxsSWQsIGxvbmcgaW5qZWN0ZWRTY3JpcHQK
ICAgICBib29sIGhhZEV4Y2VwdGlvbiA9IGZhbHNlOwogICAgIGluamVjdGVkU2NyaXB0LmRpc3Bh
dGNoKGNhbGxJZCwgbWV0aG9kTmFtZSwgYXJndW1lbnRzLCBhc3luYywgJnJlc3VsdCwgJmhhZEV4
Y2VwdGlvbik7CiAgICAgaWYgKGFzeW5jKQotICAgICAgICByZXR1cm47ICAvLyBJbmplY3RlZFNj
cmlwdCB3aWxsIHJldHVybiByZXN1bHQgYXN5bmNocm9ub3VzbHkgYnkgbWVhbnMgb2YgOjpyZXBv
cnREaWREaXNwYXRjaE9uSW5qZWN0ZWRTY3JpcHQuCisgICAgICAgIHJldHVybjsgLy8gSW5qZWN0
ZWRTY3JpcHQgd2lsbCByZXR1cm4gcmVzdWx0IGFzeW5jaHJvbm91c2x5IGJ5IG1lYW5zIG9mIDo6
cmVwb3J0RGlkRGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0LgogICAgIGZyb250ZW5kLT5kaWREaXNw
YXRjaE9uSW5qZWN0ZWRTY3JpcHQoY2FsbElkLCByZXN1bHQuZ2V0KCksIGhhZEV4Y2VwdGlvbik7
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaCBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaAppbmRleCA3Yzk2NDRmLi42MmQw
YzhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCkBAIC00NSw4ICs0NSw3IEBA
IGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgU3RvcmFnZTsK
IAotY2xhc3MgSW5zcGVjdG9yQmFja2VuZCA6IHB1YmxpYyBSZWZDb3VudGVkPEluc3BlY3RvckJh
Y2tlbmQ+Ci17CitjbGFzcyBJbnNwZWN0b3JCYWNrZW5kIDogcHVibGljIFJlZkNvdW50ZWQ8SW5z
cGVjdG9yQmFja2VuZD4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rv
ckJhY2tlbmQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVy
KQogICAgIHsKQEAgLTkyLDYgKzkxLDkgQEAgcHVibGljOgogICAgIHZvaWQgc3RlcEludG9TdGF0
ZW1lbnRJbkRlYnVnZ2VyKCk7CiAgICAgdm9pZCBzdGVwT3V0T2ZGdW5jdGlvbkluRGVidWdnZXIo
KTsKIAorICAgIEphdmFTY3JpcHRDYWxsRnJhbWUqIGN1cnJlbnRDYWxsRnJhbWUoKSBjb25zdDsK
KyNlbmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIGJvb2wgcHJvZmls
ZXJFbmFibGVkKCk7CiAgICAgdm9pZCBlbmFibGVQcm9maWxlcihib29sIGFsd2F5cyk7CiAgICAg
dm9pZCBkaXNhYmxlUHJvZmlsZXIoYm9vbCBhbHdheXMpOwpAQCAtMTAxLDggKzEwMyw2IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgZ2V0UHJvZmlsZUhlYWRlcnMobG9uZyBjYWxsSWQpOwogICAgIHZv
aWQgZ2V0UHJvZmlsZShsb25nIGNhbGxJZCwgdW5zaWduZWQgdWlkKTsKLQotICAgIEphdmFTY3Jp
cHRDYWxsRnJhbWUqIGN1cnJlbnRDYWxsRnJhbWUoKSBjb25zdDsKICNlbmRpZgogCiAgICAgdm9p
ZCBzZXRJbmplY3RlZFNjcmlwdFNvdXJjZShjb25zdCBTdHJpbmcmIHNvdXJjZSk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWM3NzEuLmJkOWY5MTAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC01Myw4ICs1
Myw4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUgIklu
amVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCisjaW5jbHVk
ZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50
LmgiCkBAIC0xNDcsNiArMTQ3LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2Rl
YnVnZ2VyRW5hYmxlZChmYWxzZSkKICAgICAsIG1fYXR0YWNoRGVidWdnZXJXaGVuU2hvd24oZmFs
c2UpCiAgICAgLCBtX3Byb2ZpbGVyRW5hYmxlZChmYWxzZSkKKyNlbGlmIEVOQUJMRShKQVZBU0NS
SVBUX0RFQlVHR0VSKQorICAgICwgbV9wcm9maWxlckVuYWJsZWQodHJ1ZSkKKyNlbmRpZgorI2lm
IEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICwgbV9yZWNvcmRpbmdVc2VySW5pdGlh
dGVkUHJvZmlsZShmYWxzZSkKICAgICAsIG1fY3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTnVt
YmVyKC0xKQogICAgICwgbV9uZXh0VXNlckluaXRpYXRlZFByb2ZpbGVOdW1iZXIoMSkKQEAgLTEz
NDIsNyArMTM0Niw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bW92ZVdpbmRvd0J5KGZs
b2F0IHgsIGZsb2F0IHkpIGNvbnN0CiAgICAgbV9wYWdlLT5jaHJvbWUoKS0+c2V0V2luZG93UmVj
dChmcmFtZVJlY3QpOwogfQogCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVT
RShKU0MpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmFkZFByb2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBwcnBQcm9maWxl
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBp
ZiAoIWVuYWJsZWQoKSkKQEAgLTEzNTIsNyArMTM1Niw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6YWRkUHJvZmlsZShQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHBycFByb2ZpbGUsIHVu
c2lnCiAgICAgbV9wcm9maWxlcy5hZGQocHJvZmlsZS0+dWlkKCksIHByb2ZpbGUpOwogCiAgICAg
aWYgKG1fZnJvbnRlbmQpIHsKKyNpZiBVU0UoSlNDKQogICAgICAgICBKU0xvY2sgbG9jayhTaWxl
bmNlQXNzZXJ0aW9uc09ubHkpOworI2VuZGlmCiAgICAgICAgIG1fZnJvbnRlbmQtPmFkZFByb2Zp
bGVIZWFkZXIoY3JlYXRlUHJvZmlsZUhlYWRlcigqcHJvZmlsZSkpOwogICAgIH0KIApAQCAtMTM5
MCw4ICsxMzk2LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmlsZShsb25n
IGNhbGxJZCwgdW5zaWduZWQgdWlkKQogICAgIGlmICghbV9mcm9udGVuZCkKICAgICAgICAgcmV0
dXJuOwogICAgIFByb2ZpbGVzTWFwOjppdGVyYXRvciBpdCA9IG1fcHJvZmlsZXMuZmluZCh1aWQp
OworI2lmIFVTRShKU0MpCiAgICAgaWYgKGl0ICE9IG1fcHJvZmlsZXMuZW5kKCkpCiAgICAgICAg
IG1fZnJvbnRlbmQtPmRpZEdldFByb2ZpbGUoY2FsbElkLCB0b0pTKG1fZnJvbnRlbmRTY3JpcHRT
dGF0ZSwgaXQtPnNlY29uZC5nZXQoKSkpOworI2VuZGlmCiB9CiAKIFNjcmlwdE9iamVjdCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpjcmVhdGVQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFByb2ZpbGUm
IHByb2ZpbGUpCkBAIC0xNDIzLDE0ICsxNDMxLDIwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKFRpbWVyPEluc3BlY3RvckNvbnRyb2xsZXI+
CiAKICAgICBpZiAoIXByb2ZpbGVyRW5hYmxlZCgpKSB7CiAgICAgICAgIGVuYWJsZVByb2ZpbGVy
KGZhbHNlLCB0cnVlKTsKKyNpZiBVU0UoSlNDKQogICAgICAgICBKYXZhU2NyaXB0RGVidWdTZXJ2
ZXI6OnNoYXJlZCgpLnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CisjZW5kaWYKICAgICB9CiAK
ICAgICBtX3JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlID0gdHJ1ZTsKIAogICAgIFN0cmlu
ZyB0aXRsZSA9IGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUodHJ1ZSk7CiAKKyNp
ZiBVU0UoSlNDKQogICAgIEV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUgPSB0b0pTRE9NV2luZG93KG1f
aW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCksIGRlYnVnZ2VyV29ybGQoKSktPmdsb2JhbEV4ZWMo
KTsKKyNlbHNlCisgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gMDsKKyNlbmRpZgogICAg
IFNjcmlwdFByb2ZpbGVyOjpzdGFydChzY3JpcHRTdGF0ZSwgdGl0bGUpOwogCiAgICAgYWRkU3Rh
cnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKHRpdGxlLCAwLCBTdHJpbmcoKSk7CkBAIC0xNDQ3
LDcgKzE0NjEsMTEgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzdG9wVXNlckluaXRpYXRl
ZFByb2ZpbGluZygpCiAKICAgICBTdHJpbmcgdGl0bGUgPSBnZXRDdXJyZW50VXNlckluaXRpYXRl
ZFByb2ZpbGVOYW1lKCk7CiAKKyNpZiBVU0UoSlNDKQogICAgIEV4ZWNTdGF0ZSogc2NyaXB0U3Rh
dGUgPSB0b0pTRE9NV2luZG93KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCksIGRlYnVnZ2Vy
V29ybGQoKSktPmdsb2JhbEV4ZWMoKTsKKyNlbHNlCisgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0
YXRlID0gMDsKKyNlbmRpZgogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlID0gU2Ny
aXB0UHJvZmlsZXI6OnN0b3Aoc2NyaXB0U3RhdGUsIHRpdGxlKTsKICAgICBpZiAocHJvZmlsZSkK
ICAgICAgICAgYWRkUHJvZmlsZShwcm9maWxlLCAwLCBTdHJpbmcoKSk7CkBAIC0xNDcyLDggKzE0
OTAsMTAgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjplbmFibGVQcm9maWxlcihib29sIGFs
d2F5cywgYm9vbCBza2lwUmVjb21waWxlKQogCiAgICAgbV9wcm9maWxlckVuYWJsZWQgPSB0cnVl
OwogCisjaWYgVVNFKEpTQykKICAgICBpZiAoIXNraXBSZWNvbXBpbGUpCiAgICAgICAgIEphdmFT
Y3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkucmVjb21waWxlQWxsSlNGdW5jdGlvbnNTb29uKCk7
CisjZW5kaWYKIAogICAgIGlmIChtX2Zyb250ZW5kKQogICAgICAgICBtX2Zyb250ZW5kLT5wcm9m
aWxlcldhc0VuYWJsZWQoKTsKQEAgLTE0ODksMTIgKzE1MDksMTYgQEAgdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaXNhYmxlUHJvZmlsZXIoYm9vbCBhbHdheXMpCiAKICAgICBtX3Byb2ZpbGVy
RW5hYmxlZCA9IGZhbHNlOwogCisjaWYgVVNFKEpTQykKICAgICBKYXZhU2NyaXB0RGVidWdTZXJ2
ZXI6OnNoYXJlZCgpLnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zU29vbigpOworI2VuZGlmCiAKICAg
ICBpZiAobV9mcm9udGVuZCkKICAgICAgICAgbV9mcm9udGVuZC0+cHJvZmlsZXJXYXNEaXNhYmxl
ZCgpOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNF
KEpTQykKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5hYmxlRGVidWdnZXJGcm9tRnJvbnRl
bmQoYm9vbCBhbHdheXMpCiB7CiAgICAgaWYgKGFsd2F5cykKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuaAppbmRleCA2OTA0MzgwLi4yZjI1ZWVjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0yMjAsNyArMjIwLDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBtYXJrVGltZWxpbmUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsgCiAKLSNpZiBFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKKyNpZiBFTkFCTEUoSkFWQVNDUklQ
VF9ERUJVR0dFUikKICAgICB2b2lkIGFkZFByb2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxl
PiwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogICAgIHZv
aWQgYWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNjcmlwdFBy
b2ZpbGU+LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAg
ICAgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiB0
aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwpAQCAt
MjM0LDcgKzIzNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuYWJsZVByb2ZpbGVyKGJvb2wgYWx3
YXlzID0gZmFsc2UsIGJvb2wgc2tpcFJlY29tcGlsZSA9IGZhbHNlKTsKICAgICB2b2lkIGRpc2Fi
bGVQcm9maWxlcihib29sIGFsd2F5cyA9IGZhbHNlKTsKICAgICBib29sIHByb2ZpbGVyRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIGVuYWJsZWQoKSAmJiBtX3Byb2ZpbGVyRW5hYmxlZDsgfQorI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAgICB2
b2lkIGVuYWJsZURlYnVnZ2VyKCk7CiAgICAgdm9pZCBkaXNhYmxlRGVidWdnZXIoYm9vbCBhbHdh
eXMgPSBmYWxzZSk7CiAgICAgYm9vbCBkZWJ1Z2dlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2RlYnVnZ2VyRW5hYmxlZDsgfQpAQCAtMjY4LDcgKzI3MCw3IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGRlbGV0ZUNvb2tpZShjb25zdCBTdHJpbmcmIGNvb2tpZU5hbWUsIGNvbnN0IFN0cmluZyYg
ZG9tYWluKTsKIAotI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBVU0UoSlNDKQor
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNp
Z25lZCBpbnQsIFJlZlB0cjxTY3JpcHRQcm9maWxlPiA+IFByb2ZpbGVzTWFwOwogCiAgICAgdm9p
ZCBzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmdTb29uKCk7CkBAIC0zNDksNiArMzUxLDggQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAg
ICBib29sIG1fZGVidWdnZXJFbmFibGVkOwogICAgIGJvb2wgbV9hdHRhY2hEZWJ1Z2dlcldoZW5T
aG93bjsKKyNlbmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIGJvb2wg
bV9wcm9maWxlckVuYWJsZWQ7CiAgICAgYm9vbCBtX3JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9m
aWxlOwogICAgIGludCBtX2N1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU51bWJlcjsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcAppbmRleCAxYmNlMWYzLi41ZTU5ODc5IDEw
MDc1NQotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCkBAIC0xMTUsOSArMTE1LDgg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkQ29uc29sZU1lc3NhZ2UoY29uc3QgU2NyaXB0
T2JqZWN0JiBtZXNzYWdlT2JqLCBjb25zdAogICAgICAgICAgICAgfQogICAgICAgICAgICAgZnVu
Y3Rpb24uYXBwZW5kQXJndW1lbnQoc2NyaXB0VmFsdWUpOwogICAgICAgICB9Ci0gICAgfSBlbHNl
IHsKKyAgICB9IGVsc2UKICAgICAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQobWVzc2FnZSk7
Ci0gICAgfQogICAgIGZ1bmN0aW9uLmNhbGwoKTsKIH0KIApAQCAtMTgyLDMwICsxODEsMzAgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6c2hvd1BhbmVsKGludCBwYW5lbCkKIHsKICAgICBjb25z
dCBjaGFyKiBzaG93RnVuY3Rpb25OYW1lOwogICAgIHN3aXRjaCAocGFuZWwpIHsKLSAgICAgICAg
Y2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpDb25zb2xlUGFuZWw6Ci0gICAgICAgICAgICBzaG93
RnVuY3Rpb25OYW1lID0gInNob3dDb25zb2xlUGFuZWwiOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgSW5zcGVjdG9yQ29udHJvbGxlcjo6RWxlbWVudHNQYW5lbDoKLSAgICAgICAg
ICAgIHNob3dGdW5jdGlvbk5hbWUgPSAic2hvd0VsZW1lbnRzUGFuZWwiOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgSW5zcGVjdG9yQ29udHJvbGxlcjo6UmVzb3VyY2VzUGFuZWw6
Ci0gICAgICAgICAgICBzaG93RnVuY3Rpb25OYW1lID0gInNob3dSZXNvdXJjZXNQYW5lbCI7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpTY3Jp
cHRzUGFuZWw6Ci0gICAgICAgICAgICBzaG93RnVuY3Rpb25OYW1lID0gInNob3dTY3JpcHRzUGFu
ZWwiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSW5zcGVjdG9yQ29udHJvbGxl
cjo6VGltZWxpbmVQYW5lbDoKLSAgICAgICAgICAgIHNob3dGdW5jdGlvbk5hbWUgPSAic2hvd1Rp
bWVsaW5lUGFuZWwiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSW5zcGVjdG9y
Q29udHJvbGxlcjo6UHJvZmlsZXNQYW5lbDoKLSAgICAgICAgICAgIHNob3dGdW5jdGlvbk5hbWUg
PSAic2hvd1Byb2ZpbGVzUGFuZWwiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
SW5zcGVjdG9yQ29udHJvbGxlcjo6U3RvcmFnZVBhbmVsOgotICAgICAgICAgICAgc2hvd0Z1bmN0
aW9uTmFtZSA9ICJzaG93U3RvcmFnZVBhbmVsIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAg
ICBzaG93RnVuY3Rpb25OYW1lID0gMDsKKyAgICBjYXNlIEluc3BlY3RvckNvbnRyb2xsZXI6OkNv
bnNvbGVQYW5lbDoKKyAgICAgICAgc2hvd0Z1bmN0aW9uTmFtZSA9ICJzaG93Q29uc29sZVBhbmVs
IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpFbGVtZW50
c1BhbmVsOgorICAgICAgICBzaG93RnVuY3Rpb25OYW1lID0gInNob3dFbGVtZW50c1BhbmVsIjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpSZXNvdXJjZXNQ
YW5lbDoKKyAgICAgICAgc2hvd0Z1bmN0aW9uTmFtZSA9ICJzaG93UmVzb3VyY2VzUGFuZWwiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEluc3BlY3RvckNvbnRyb2xsZXI6OlNjcmlwdHNQYW5l
bDoKKyAgICAgICAgc2hvd0Z1bmN0aW9uTmFtZSA9ICJzaG93U2NyaXB0c1BhbmVsIjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpUaW1lbGluZVBhbmVsOgor
ICAgICAgICBzaG93RnVuY3Rpb25OYW1lID0gInNob3dUaW1lbGluZVBhbmVsIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpQcm9maWxlc1BhbmVsOgorICAg
ICAgICBzaG93RnVuY3Rpb25OYW1lID0gInNob3dQcm9maWxlc1BhbmVsIjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbnNwZWN0b3JDb250cm9sbGVyOjpTdG9yYWdlUGFuZWw6CisgICAgICAg
IHNob3dGdW5jdGlvbk5hbWUgPSAic2hvd1N0b3JhZ2VQYW5lbCI7CisgICAgICAgIGJyZWFrOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBzaG93
RnVuY3Rpb25OYW1lID0gMDsKICAgICB9CiAKICAgICBpZiAoc2hvd0Z1bmN0aW9uTmFtZSkKQEAg
LTI2NiwxNiArMjY1LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZGVidWdnZXJXYXNEaXNh
YmxlZCgpCiAgICAgY2FsbFNpbXBsZUZ1bmN0aW9uKCJkZWJ1Z2dlcldhc0Rpc2FibGVkIik7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnByb2ZpbGVyV2FzRW5hYmxlZCgpCi17Ci0gICAg
Y2FsbFNpbXBsZUZ1bmN0aW9uKCJwcm9maWxlcldhc0VuYWJsZWQiKTsKLX0KLQotdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZDo6cHJvZmlsZXJXYXNEaXNhYmxlZCgpCi17Ci0gICAgY2FsbFNpbXBsZUZ1
bmN0aW9uKCJwcm9maWxlcldhc0Rpc2FibGVkIik7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmQ6OnBhcnNlZFNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSkKIHsK
ICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJbnNwZWN0b3IsICJkaXNwYXRj
aCIpOyAKQEAgLTI5OSw2ICsyODgsMzIgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZmFpbGVk
VG9QYXJzZVNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSwKICAgICBm
dW5jdGlvbi5jYWxsKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnBhdXNlZFNjcmlw
dChTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGNhbGxGcmFtZXMpCit7CisgICAgU2NyaXB0VmFsdWUg
Y2FsbEZyYW1lc1ZhbHVlID0gU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKHNjcmlwdFN0YXRlKCks
IGNhbGxGcmFtZXMpOworICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihtX3dlYkluc3Bl
Y3RvciwgImRpc3BhdGNoIik7IAorICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KCJwYXVzZWRT
Y3JpcHQiKTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJhbWVzVmFsdWUpOwor
ICAgIGZ1bmN0aW9uLmNhbGwoKTsKK30KKwordm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cmVzdW1l
ZFNjcmlwdCgpCit7CisgICAgY2FsbFNpbXBsZUZ1bmN0aW9uKCJyZXN1bWVkU2NyaXB0Iik7Cit9
CisjZW5kaWYKKworI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQordm9pZCBJbnNwZWN0
b3JGcm9udGVuZDo6cHJvZmlsZXJXYXNFbmFibGVkKCkKK3sKKyAgICBjYWxsU2ltcGxlRnVuY3Rp
b24oInByb2ZpbGVyV2FzRW5hYmxlZCIpOworfQorCit2b2lkIEluc3BlY3RvckZyb250ZW5kOjpw
cm9maWxlcldhc0Rpc2FibGVkKCkKK3sKKyAgICBjYWxsU2ltcGxlRnVuY3Rpb24oInByb2ZpbGVy
V2FzRGlzYWJsZWQiKTsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUHJvZmlsZUhl
YWRlcihjb25zdCBTY3JpcHRWYWx1ZSYgcHJvZmlsZSkKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNh
bGwgZnVuY3Rpb24obV93ZWJJbnNwZWN0b3IsICJkaXNwYXRjaCIpOyAKQEAgLTMzMiwyMCArMzQ3
LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZGlkR2V0UHJvZmlsZShpbnQgY2FsbElkLCBj
b25zdCBTY3JpcHRWYWx1ZSYgcHJvZmlsZSkKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChw
cm9maWxlKTsKICAgICBmdW5jdGlvbi5jYWxsKCk7CiB9Ci0KLXZvaWQgSW5zcGVjdG9yRnJvbnRl
bmQ6OnBhdXNlZFNjcmlwdChTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGNhbGxGcmFtZXMpCi17Ci0g
ICAgU2NyaXB0VmFsdWUgY2FsbEZyYW1lc1ZhbHVlID0gU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXpl
KHNjcmlwdFN0YXRlKCksIGNhbGxGcmFtZXMpOwotICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5j
dGlvbihtX3dlYkluc3BlY3RvciwgImRpc3BhdGNoIik7IAotICAgIGZ1bmN0aW9uLmFwcGVuZEFy
Z3VtZW50KCJwYXVzZWRTY3JpcHQiKTsKLSAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxs
RnJhbWVzVmFsdWUpOwotICAgIGZ1bmN0aW9uLmNhbGwoKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JG
cm9udGVuZDo6cmVzdW1lZFNjcmlwdCgpCi17Ci0gICAgY2FsbFNpbXBsZUZ1bmN0aW9uKCJyZXN1
bWVkU2NyaXB0Iik7Ci19CiAjZW5kaWYKIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6c2V0RG9j
dW1lbnQoY29uc3QgU2NyaXB0T2JqZWN0JiByb290KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kLmgKaW5kZXggYzNkMTIxMi4uMmVlNTdlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZC5oCkBAIC0zNywxMTYgKzM3LDExOCBAQAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJ
UFRfREVCVUdHRVIpICYmIFVTRShKU0MpCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBKU1Zh
bHVlOwotICAgIGNsYXNzIFNvdXJjZUNvZGU7Ci0gICAgY2xhc3MgVVN0cmluZzsKK2NsYXNzIEpT
VmFsdWU7CitjbGFzcyBTb3VyY2VDb2RlOworY2xhc3MgVVN0cmluZzsKIH0KICNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQ29uc29sZU1lc3NhZ2U7Ci0gICAgY2xhc3Mg
RGF0YWJhc2U7Ci0gICAgY2xhc3MgRnJhbWU7Ci0gICAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxl
cjsKLSAgICBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKLSAgICBjbGFzcyBOb2RlOwotICAgIGNs
YXNzIFNjcmlwdFN0cmluZzsKLSAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7Ci0gICAg
Y2xhc3MgU3RvcmFnZTsKLQotICAgIGNsYXNzIEluc3BlY3RvckZyb250ZW5kIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIEluc3BlY3RvckZyb250ZW5kKEluc3Bl
Y3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIFNjcmlwdE9iamVjdCB3ZWJJbnNw
ZWN0b3IpOwotICAgICAgICB+SW5zcGVjdG9yRnJvbnRlbmQoKTsKLQotICAgICAgICBTY3JpcHRB
cnJheSBuZXdTY3JpcHRBcnJheSgpOwotICAgICAgICBTY3JpcHRPYmplY3QgbmV3U2NyaXB0T2Jq
ZWN0KCk7Ci0KLSAgICAgICAgdm9pZCBkaWRDb21taXRMb2FkKCk7Ci0KLSAgICAgICAgdm9pZCBw
b3B1bGF0ZUZyb250ZW5kU2V0dGluZ3MoY29uc3QgU3RyaW5nJiBzZXR0aW5ncyk7Ci0KLSAgICAg
ICAgdm9pZCB1cGRhdGVDb25zb2xlTWVzc2FnZUV4cGlyZWRDb3VudCh1bnNpZ25lZCBjb3VudCk7
Ci0gICAgICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoY29uc3QgU2NyaXB0T2JqZWN0JiBtZXNz
YWdlT2JqLCBjb25zdCBWZWN0b3I8U2NyaXB0U3RyaW5nPiYgZnJhbWVzLCBTY3JpcHRTdGF0ZSos
IGNvbnN0IFZlY3RvcjxTY3JpcHRWYWx1ZT4gYXJndW1lbnRzLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpOwotICAgICAgICB2b2lkIHVwZGF0ZUNvbnNvbGVNZXNzYWdlUmVwZWF0Q291bnQodW5zaWdu
ZWQgY291bnQpOwotICAgICAgICB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7Ci0KLSAgICAg
ICAgYm9vbCB1cGRhdGVSZXNvdXJjZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNj
cmlwdE9iamVjdCYgcmVzb3VyY2VPYmopOwotICAgICAgICB2b2lkIHJlbW92ZVJlc291cmNlKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllcik7Ci0gICAgICAgIHZvaWQgZGlkR2V0UmVzb3VyY2VDb250
ZW50KGludCBjYWxsSWQsIGNvbnN0IFN0cmluZyYgY29udGVudCk7Ci0KLSAgICAgICAgdm9pZCB1
cGRhdGVGb2N1c2VkTm9kZShsb25nIG5vZGVJZCk7Ci0gICAgICAgIHZvaWQgc2V0QXR0YWNoZWRX
aW5kb3coYm9vbCBhdHRhY2hlZCk7Ci0gICAgICAgIHZvaWQgc2hvd1BhbmVsKGludCBwYW5lbCk7
Ci0gICAgICAgIHZvaWQgcG9wdWxhdGVJbnRlcmZhY2UoKTsKLSAgICAgICAgdm9pZCByZXNldCgp
OwotCi0gICAgICAgIHZvaWQgcmVzb3VyY2VUcmFja2luZ1dhc0VuYWJsZWQoKTsKLSAgICAgICAg
dm9pZCByZXNvdXJjZVRyYWNraW5nV2FzRGlzYWJsZWQoKTsKK2NsYXNzIENvbnNvbGVNZXNzYWdl
OworY2xhc3MgRGF0YWJhc2U7CitjbGFzcyBGcmFtZTsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xs
ZXI7CitjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKK2NsYXNzIE5vZGU7CitjbGFzcyBTY3JpcHRT
dHJpbmc7CitjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CitjbGFzcyBTdG9yYWdlOworCitj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJsaWM6Cisg
ICAgSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJv
bGxlciwgU2NyaXB0T2JqZWN0IHdlYkluc3BlY3Rvcik7CisgICAgfkluc3BlY3RvckZyb250ZW5k
KCk7CisKKyAgICBTY3JpcHRBcnJheSBuZXdTY3JpcHRBcnJheSgpOworICAgIFNjcmlwdE9iamVj
dCBuZXdTY3JpcHRPYmplY3QoKTsKKworICAgIHZvaWQgZGlkQ29tbWl0TG9hZCgpOworCisgICAg
dm9pZCBwb3B1bGF0ZUZyb250ZW5kU2V0dGluZ3MoY29uc3QgU3RyaW5nJiBzZXR0aW5ncyk7CisK
KyAgICB2b2lkIHVwZGF0ZUNvbnNvbGVNZXNzYWdlRXhwaXJlZENvdW50KHVuc2lnbmVkIGNvdW50
KTsKKyAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKGNvbnN0IFNjcmlwdE9iamVjdCYgbWVzc2Fn
ZU9iaiwgY29uc3QgVmVjdG9yPFNjcmlwdFN0cmluZz4mIGZyYW1lcywgU2NyaXB0U3RhdGUqLCBj
b25zdCBWZWN0b3I8U2NyaXB0VmFsdWU+IGFyZ3VtZW50cywgY29uc3QgU3RyaW5nJiBtZXNzYWdl
KTsKKyAgICB2b2lkIHVwZGF0ZUNvbnNvbGVNZXNzYWdlUmVwZWF0Q291bnQodW5zaWduZWQgY291
bnQpOworICAgIHZvaWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKKworICAgIGJvb2wgdXBkYXRl
UmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRPYmplY3QmIHJl
c291cmNlT2JqKTsKKyAgICB2b2lkIHJlbW92ZVJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRp
Zmllcik7CisgICAgdm9pZCBkaWRHZXRSZXNvdXJjZUNvbnRlbnQoaW50IGNhbGxJZCwgY29uc3Qg
U3RyaW5nJiBjb250ZW50KTsKKworICAgIHZvaWQgdXBkYXRlRm9jdXNlZE5vZGUobG9uZyBub2Rl
SWQpOworICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3coYm9vbCBhdHRhY2hlZCk7CisgICAgdm9p
ZCBzaG93UGFuZWwoaW50IHBhbmVsKTsKKyAgICB2b2lkIHBvcHVsYXRlSW50ZXJmYWNlKCk7Cisg
ICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCByZXNvdXJjZVRyYWNraW5nV2FzRW5hYmxlZCgp
OworICAgIHZvaWQgcmVzb3VyY2VUcmFja2luZ1dhc0Rpc2FibGVkKCk7CiAKICNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAgICAgICAgdm9pZCBhdHRhY2hEZWJ1
Z2dlcldoZW5TaG93bigpOwogICAgICAgICB2b2lkIGRlYnVnZ2VyV2FzRW5hYmxlZCgpOwogICAg
ICAgICB2b2lkIGRlYnVnZ2VyV2FzRGlzYWJsZWQoKTsKLSAgICAgICAgdm9pZCBwcm9maWxlcldh
c0VuYWJsZWQoKTsKLSAgICAgICAgdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7CiAgICAgICAg
IHZvaWQgcGFyc2VkU2NyaXB0U291cmNlKGNvbnN0IEpTQzo6U291cmNlQ29kZSYpOwogICAgICAg
ICB2b2lkIGZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2UoY29uc3QgSlNDOjpTb3VyY2VDb2RlJiwg
aW50IGVycm9yTGluZSwgY29uc3QgSlNDOjpVU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwotICAgICAg
ICB2b2lkIGFkZFByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0VmFsdWUmIHByb2ZpbGUpOwotICAg
ICAgICB2b2lkIHNldFJlY29yZGluZ1Byb2ZpbGUoYm9vbCBpc1Byb2ZpbGluZyk7Ci0gICAgICAg
IHZvaWQgZGlkR2V0UHJvZmlsZUhlYWRlcnMoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0QXJyYXkm
IGhlYWRlcnMpOwotICAgICAgICB2b2lkIGRpZEdldFByb2ZpbGUoaW50IGNhbGxJZCwgY29uc3Qg
U2NyaXB0VmFsdWUmIHByb2ZpbGUpOwogICAgICAgICB2b2lkIHBhdXNlZFNjcmlwdChTZXJpYWxp
emVkU2NyaXB0VmFsdWUqIGNhbGxGcmFtZXMpOwogICAgICAgICB2b2lkIHJlc3VtZWRTY3JpcHQo
KTsKICNlbmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorICAgIHZvaWQgcHJv
ZmlsZXJXYXNFbmFibGVkKCk7CisgICAgdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7CisgICAg
dm9pZCBhZGRQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFZhbHVlJiBwcm9maWxlKTsKKyAgICB2
b2lkIHNldFJlY29yZGluZ1Byb2ZpbGUoYm9vbCBpc1Byb2ZpbGluZyk7CisgICAgdm9pZCBkaWRH
ZXRQcm9maWxlSGVhZGVycyhpbnQgY2FsbElkLCBjb25zdCBTY3JpcHRBcnJheSYgaGVhZGVycyk7
CisgICAgdm9pZCBkaWRHZXRQcm9maWxlKGludCBjYWxsSWQsIGNvbnN0IFNjcmlwdFZhbHVlJiBw
cm9maWxlKTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQotICAgICAgICBib29sIGFk
ZERhdGFiYXNlKGNvbnN0IFNjcmlwdE9iamVjdCYgZGJPYmopOwotICAgICAgICB2b2lkIHNlbGVj
dERhdGFiYXNlKGludCBkYXRhYmFzZUlkKTsKLSAgICAgICAgdm9pZCBkaWRHZXREYXRhYmFzZVRh
YmxlTmFtZXMoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0QXJyYXkmIHRhYmxlTmFtZXMpOworICAg
IGJvb2wgYWRkRGF0YWJhc2UoY29uc3QgU2NyaXB0T2JqZWN0JiBkYk9iaik7CisgICAgdm9pZCBz
ZWxlY3REYXRhYmFzZShpbnQgZGF0YWJhc2VJZCk7CisgICAgdm9pZCBkaWRHZXREYXRhYmFzZVRh
YmxlTmFtZXMoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0QXJyYXkmIHRhYmxlTmFtZXMpOwogI2Vu
ZGlmCiAgICAgICAgIAogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKLSAgICAgICAgYm9vbCBhZGRE
T01TdG9yYWdlKGNvbnN0IFNjcmlwdE9iamVjdCYgZG9tU3RvcmFnZU9iaik7Ci0gICAgICAgIHZv
aWQgc2VsZWN0RE9NU3RvcmFnZShpbnQgc3RvcmFnZUlkKTsKLSAgICAgICAgdm9pZCBkaWRHZXRE
T01TdG9yYWdlRW50cmllcyhpbnQgY2FsbElkLCBjb25zdCBTY3JpcHRBcnJheSYgZW50cmllcyk7
Ci0gICAgICAgIHZvaWQgZGlkU2V0RE9NU3RvcmFnZUl0ZW0oaW50IGNhbGxJZCwgYm9vbCBzdWNj
ZXNzKTsKLSAgICAgICAgdm9pZCBkaWRSZW1vdmVET01TdG9yYWdlSXRlbShpbnQgY2FsbElkLCBi
b29sIHN1Y2Nlc3MpOwotICAgICAgICB2b2lkIHVwZGF0ZURPTVN0b3JhZ2UoaW50IHN0b3JhZ2VJ
ZCk7CisgICAgYm9vbCBhZGRET01TdG9yYWdlKGNvbnN0IFNjcmlwdE9iamVjdCYgZG9tU3RvcmFn
ZU9iaik7CisgICAgdm9pZCBzZWxlY3RET01TdG9yYWdlKGludCBzdG9yYWdlSWQpOworICAgIHZv
aWQgZGlkR2V0RE9NU3RvcmFnZUVudHJpZXMoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0QXJyYXkm
IGVudHJpZXMpOworICAgIHZvaWQgZGlkU2V0RE9NU3RvcmFnZUl0ZW0oaW50IGNhbGxJZCwgYm9v
bCBzdWNjZXNzKTsKKyAgICB2b2lkIGRpZFJlbW92ZURPTVN0b3JhZ2VJdGVtKGludCBjYWxsSWQs
IGJvb2wgc3VjY2Vzcyk7CisgICAgdm9pZCB1cGRhdGVET01TdG9yYWdlKGludCBzdG9yYWdlSWQp
OwogI2VuZGlmCiAKLSAgICAgICAgdm9pZCBzZXREb2N1bWVudChjb25zdCBTY3JpcHRPYmplY3Qm
IHJvb3QpOwotICAgICAgICB2b2lkIHNldERldGFjaGVkUm9vdChjb25zdCBTY3JpcHRPYmplY3Qm
IHJvb3QpOwotICAgICAgICB2b2lkIHNldENoaWxkTm9kZXMoaW50IHBhcmVudElkLCBjb25zdCBT
Y3JpcHRBcnJheSYgbm9kZXMpOwotICAgICAgICB2b2lkIGNoaWxkTm9kZUNvdW50VXBkYXRlZChp
bnQgaWQsIGludCBuZXdWYWx1ZSk7Ci0gICAgICAgIHZvaWQgY2hpbGROb2RlSW5zZXJ0ZWQoaW50
IHBhcmVudElkLCBpbnQgcHJldklkLCBjb25zdCBTY3JpcHRPYmplY3QmIG5vZGUpOwotICAgICAg
ICB2b2lkIGNoaWxkTm9kZVJlbW92ZWQoaW50IHBhcmVudElkLCBpbnQgaWQpOwotICAgICAgICB2
b2lkIGF0dHJpYnV0ZXNVcGRhdGVkKGludCBpZCwgY29uc3QgU2NyaXB0QXJyYXkmIGF0dHJpYnV0
ZXMpOwotICAgICAgICB2b2lkIGRpZEdldENoaWxkTm9kZXMoaW50IGNhbGxJZCk7Ci0gICAgICAg
IHZvaWQgZGlkQXBwbHlEb21DaGFuZ2UoaW50IGNhbGxJZCwgYm9vbCBzdWNjZXNzKTsKLSAgICAg
ICAgdm9pZCBkaWRHZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoaW50IGNhbGxJZCwgaW50IG5vZGVJ
ZCwgU2NyaXB0QXJyYXkmIGxpc3RlbmVyc0FycmF5KTsKLSAgICAgICAgdm9pZCBkaWRSZW1vdmVO
b2RlKGludCBjYWxsSWQsIGludCBub2RlSWQpOwotCi0gICAgICAgIHZvaWQgdGltZWxpbmVQcm9m
aWxlcldhc1N0YXJ0ZWQoKTsKLSAgICAgICAgdm9pZCB0aW1lbGluZVByb2ZpbGVyV2FzU3RvcHBl
ZCgpOwotICAgICAgICB2b2lkIGFkZFJlY29yZFRvVGltZWxpbmUoY29uc3QgU2NyaXB0T2JqZWN0
Jik7Ci0KLSAgICAgICAgdm9pZCBkaWRHZXRDb29raWVzKGludCBjYWxsSWQsIGNvbnN0IFNjcmlw
dEFycmF5JiBjb29raWVzLCBjb25zdCBTdHJpbmcmIGNvb2tpZXNTdHJpbmcpOwotICAgICAgICB2
b2lkIGRpZERpc3BhdGNoT25JbmplY3RlZFNjcmlwdChpbnQgY2FsbElkLCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUqIHJlc3VsdCwgYm9vbCBpc0V4Y2VwdGlvbik7Ci0KLSAgICAgICAgdm9pZCBhZGRO
b2Rlc1RvU2VhcmNoUmVzdWx0KGNvbnN0IFN0cmluZyYgbm9kZUlkcyk7Ci0KLSAgICAgICAgdm9p
ZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChpbnQgaXRlbUlkKTsKLSAgICAgICAgdm9pZCBjb250
ZXh0TWVudUNsZWFyZWQoKTsKLQotICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUoKSBj
b25zdCB7IHJldHVybiBtX3dlYkluc3BlY3Rvci5zY3JpcHRTdGF0ZSgpOyB9Ci0KLSAgICAgICAg
dm9pZCBldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGludCBjYWxsSWQsIGNvbnN0IFN0cmluZyYg
c2NyaXB0KTsKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGNhbGxTaW1wbGVGdW5jdGlvbihj
b25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIq
IG1faW5zcGVjdG9yQ29udHJvbGxlcjsKLSAgICAgICAgU2NyaXB0T2JqZWN0IG1fd2ViSW5zcGVj
dG9yOwotICAgIH07CisgICAgdm9pZCBzZXREb2N1bWVudChjb25zdCBTY3JpcHRPYmplY3QmIHJv
b3QpOworICAgIHZvaWQgc2V0RGV0YWNoZWRSb290KGNvbnN0IFNjcmlwdE9iamVjdCYgcm9vdCk7
CisgICAgdm9pZCBzZXRDaGlsZE5vZGVzKGludCBwYXJlbnRJZCwgY29uc3QgU2NyaXB0QXJyYXkm
IG5vZGVzKTsKKyAgICB2b2lkIGNoaWxkTm9kZUNvdW50VXBkYXRlZChpbnQgaWQsIGludCBuZXdW
YWx1ZSk7CisgICAgdm9pZCBjaGlsZE5vZGVJbnNlcnRlZChpbnQgcGFyZW50SWQsIGludCBwcmV2
SWQsIGNvbnN0IFNjcmlwdE9iamVjdCYgbm9kZSk7CisgICAgdm9pZCBjaGlsZE5vZGVSZW1vdmVk
KGludCBwYXJlbnRJZCwgaW50IGlkKTsKKyAgICB2b2lkIGF0dHJpYnV0ZXNVcGRhdGVkKGludCBp
ZCwgY29uc3QgU2NyaXB0QXJyYXkmIGF0dHJpYnV0ZXMpOworICAgIHZvaWQgZGlkR2V0Q2hpbGRO
b2RlcyhpbnQgY2FsbElkKTsKKyAgICB2b2lkIGRpZEFwcGx5RG9tQ2hhbmdlKGludCBjYWxsSWQs
IGJvb2wgc3VjY2Vzcyk7CisgICAgdm9pZCBkaWRHZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoaW50
IGNhbGxJZCwgaW50IG5vZGVJZCwgU2NyaXB0QXJyYXkmIGxpc3RlbmVyc0FycmF5KTsKKyAgICB2
b2lkIGRpZFJlbW92ZU5vZGUoaW50IGNhbGxJZCwgaW50IG5vZGVJZCk7CisKKyAgICB2b2lkIHRp
bWVsaW5lUHJvZmlsZXJXYXNTdGFydGVkKCk7CisgICAgdm9pZCB0aW1lbGluZVByb2ZpbGVyV2Fz
U3RvcHBlZCgpOworICAgIHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShjb25zdCBTY3JpcHRPYmpl
Y3QmKTsKKworICAgIHZvaWQgZGlkR2V0Q29va2llcyhpbnQgY2FsbElkLCBjb25zdCBTY3JpcHRB
cnJheSYgY29va2llcywgY29uc3QgU3RyaW5nJiBjb29raWVzU3RyaW5nKTsKKyAgICB2b2lkIGRp
ZERpc3BhdGNoT25JbmplY3RlZFNjcmlwdChpbnQgY2FsbElkLCBTZXJpYWxpemVkU2NyaXB0VmFs
dWUqIHJlc3VsdCwgYm9vbCBpc0V4Y2VwdGlvbik7CisKKyAgICB2b2lkIGFkZE5vZGVzVG9TZWFy
Y2hSZXN1bHQoY29uc3QgU3RyaW5nJiBub2RlSWRzKTsKKworICAgIHZvaWQgY29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoaW50IGl0ZW1JZCk7CisgICAgdm9pZCBjb250ZXh0TWVudUNsZWFyZWQoKTsK
KworICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViSW5z
cGVjdG9yLnNjcmlwdFN0YXRlKCk7IH0KKworICAgIHZvaWQgZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChpbnQgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7Citwcml2YXRlOgorICAgIHZv
aWQgY2FsbFNpbXBsZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgZnVuY3Rpb25OYW1lKTsKKyAgICBJ
bnNwZWN0b3JDb250cm9sbGVyKiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CisgICAgU2NyaXB0T2Jq
ZWN0IG1fd2ViSW5zcGVjdG9yOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwgYi9XZWJDb3JlL3BhZ2UvQ29uc29sZS5p
ZGwKaW5kZXggYjNjMGMyNC4uYzA4ZmNjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnNv
bGUuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbApAQCAtMzAsNyArMzAsOCBAQCBt
b2R1bGUgd2luZG93IHsKIAogICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBDb25zb2xl
IHsKIAotI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9K
QVZBU0NSSVBUX0RFQlVHR0VSCisgICAgICAgIC8vIE5vdCBlbmFibGVkIGluIFY4IGJlY2F1c2Ug
aXQgcmVxdWlyZXMgcmVxdWVzdC1yZXBseSBzdHlsZS4KKyNpZiBkZWZpbmVkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAmJiAhKGRlZmlu
ZWQoVjhfQklORElORykgJiYgVjhfQklORElORykKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFtDdXN0b21HZXR0ZXJdIEFycmF5IHByb2ZpbGVzOwogI2VuZGlmCiAgICAgCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCBlM2U1YTA3Li42YTI4MGY2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MC0wMi0wOCAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnRpbnVpbmcgZGVi
dWdnZXIgYW5kIHByb2ZpbGVyIHVuZm9ya2luZzogbmFycm93IHNjb3BlIG9mIEpTQy1zcGVjaWZp
YyBpZmRlZnMuCisgICAgICAgIEFsc28sIGVuYWJsZSBKQVZBU0NSSVBUX0RFQlVHR0VSIGV4cGxp
Y2l0bHkgaW4gZmVhdHVyZXMsIGl0IGFwcGVhcnMgdG8gYmUgcmVxdWlyZWQKKyAgICAgICAgZm9y
IHJlYWxseSBlbmFibGluZyBpdCBpbiBWOCBiaW5kaW5ncyBnZW5lcmF0aW9uLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcwNgorCisgICAgICAg
ICogZmVhdHVyZXMuZ3lwaToKKwogMjAxMC0wMi0wNyAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMu
Z3lwaQppbmRleCA3NDY1ZmIxLi4yOWUzMTMwIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQorKysgYi9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtNDcs
NiArNDcsNyBAQAogICAgICAgICAnRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUPTAnLAogICAgICAg
ICAnRU5BQkxFX0RPTV9TVE9SQUdFPTEnLAogICAgICAgICAnRU5BQkxFX0dFT0xPQ0FUSU9OPTEn
LAorICAgICAgICAnRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVI9MScsCiAgICAgICAgICdFTkFC
TEVfSlNDX01VTFRJUExFX1RIUkVBRFM9MCcsCiAgICAgICAgICdFTkFCTEVfSUNPTkRBVEFCQVNF
PTAnLAogICAgICAgICAnRU5BQkxFX0lOREVYRURfREFUQUJBU0U9MScsCg==
</data>
<flag name="review"
          id="31003"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48405</attachid>
            <date>2010-02-09 04:15:24 -0800</date>
            <delta_ts>2010-02-09 05:10:08 -0800</delta_ts>
            <desc>comment addressed, removed style changes, fixed chromium port</desc>
            <filename>unfork-prof-4-patch</filename>
            <type>text/plain</type>
            <size>15188</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTA3OTZjMy4uZGY0ZjFmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMC0wMi0wOSAgTWlraGFpbCBOYWdh
bm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvbnRpbnVpbmcgZGVidWdnZXIgYW5kIHByb2ZpbGVyIHVu
Zm9ya2luZzogbmFycm93IHNjb3BlIG9mIEpTQy1zcGVjaWZpYyBpZmRlZnMuCisgICAgICAgIEFs
c28sIGVuYWJsZSBKQVZBU0NSSVBUX0RFQlVHR0VSIGV4cGxpY2l0bHkgaW4gZmVhdHVyZXMsIGl0
IGFwcGVhcnMgdG8gYmUgcmVxdWlyZWQKKyAgICAgICAgZm9yIHJlYWxseSBlbmFibGluZyBpdCBp
biBWOCBiaW5kaW5ncyBnZW5lcmF0aW9uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcwNgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6Y3VycmVu
dENhbGxGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpnZXRQcm9m
aWxlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNv
bnRyb2xsZXI6OmFkZFByb2ZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJv
bGxlcjo6Z2V0UHJvZmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5hYmxlUHJvZmlsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzYWJsZVByb2ZpbGVyKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZDo6
cGF1c2VkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kOjpyZXN1
bWVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kOjpwcm9maWxl
cldhc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OnByb2Zp
bGVyV2FzRGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OmRp
ZEdldFByb2ZpbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oOgor
ICAgICAgICAqIHBhZ2UvQ29uc29sZS5pZGw6CisKIDIwMTAtMDItMDkgIEt3YW5nIFl1bCBTZW8g
IDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29t
Ym9zLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNwcAppbmRleCA1ZTNhOTEwLi5j
NDNiZTYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNw
cAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNwcApAQCAtMjIyLDYg
KzIyMiwxMyBAQCB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OnNldFBhdXNlT25FeGNlcHRpb25zU3Rh
dGUobG9uZyBwYXVzZVN0YXRlKQogICAgIEphdmFTY3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCku
c2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShzdGF0aWNfY2FzdDxKYXZhU2NyaXB0RGVidWdTZXJ2
ZXI6OlBhdXNlT25FeGNlcHRpb25zU3RhdGU+KHBhdXNlU3RhdGUpKTsKIH0KIAorSmF2YVNjcmlw
dENhbGxGcmFtZSogSW5zcGVjdG9yQmFja2VuZDo6Y3VycmVudENhbGxGcmFtZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIEphdmFTY3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkuY3VycmVudENhbGxG
cmFtZSgpOworfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIGJv
b2wgSW5zcGVjdG9yQmFja2VuZDo6cHJvZmlsZXJFbmFibGVkKCkKIHsKICAgICBpZiAobV9pbnNw
ZWN0b3JDb250cm9sbGVyKQpAQCAtMjY0LDExICsyNzEsNiBAQCB2b2lkIEluc3BlY3RvckJhY2tl
bmQ6OmdldFByb2ZpbGUobG9uZyBjYWxsSWQsIHVuc2lnbmVkIHVpZCkKICAgICBpZiAobV9pbnNw
ZWN0b3JDb250cm9sbGVyKQogICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmdldFByb2Zp
bGUoY2FsbElkLCB1aWQpOwogfQotCi1KYXZhU2NyaXB0Q2FsbEZyYW1lKiBJbnNwZWN0b3JCYWNr
ZW5kOjpjdXJyZW50Q2FsbEZyYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gSmF2YVNjcmlwdERl
YnVnU2VydmVyOjpzaGFyZWQoKS5jdXJyZW50Q2FsbEZyYW1lKCk7Ci19CiAjZW5kaWYKIAogdm9p
ZCBJbnNwZWN0b3JCYWNrZW5kOjpzZXRJbmplY3RlZFNjcmlwdFNvdXJjZShjb25zdCBTdHJpbmcm
IHNvdXJjZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaAppbmRleCA3Yzk2NDRmLi4w
ZGYxM2Y1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmgK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCkBAIC05Miw2ICs5Miw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0ZXBJbnRvU3RhdGVtZW50SW5EZWJ1Z2dlcigpOwogICAg
IHZvaWQgc3RlcE91dE9mRnVuY3Rpb25JbkRlYnVnZ2VyKCk7CiAKKyAgICBKYXZhU2NyaXB0Q2Fs
bEZyYW1lKiBjdXJyZW50Q2FsbEZyYW1lKCkgY29uc3Q7CisjZW5kaWYKKyNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKICAgICBib29sIHByb2ZpbGVyRW5hYmxlZCgpOwogICAgIHZvaWQg
ZW5hYmxlUHJvZmlsZXIoYm9vbCBhbHdheXMpOwogICAgIHZvaWQgZGlzYWJsZVByb2ZpbGVyKGJv
b2wgYWx3YXlzKTsKQEAgLTEwMSw4ICsxMDQsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdldFBy
b2ZpbGVIZWFkZXJzKGxvbmcgY2FsbElkKTsKICAgICB2b2lkIGdldFByb2ZpbGUobG9uZyBjYWxs
SWQsIHVuc2lnbmVkIHVpZCk7Ci0KLSAgICBKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjdXJyZW50Q2Fs
bEZyYW1lKCkgY29uc3Q7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UoY29uc3QgU3RyaW5nJiBzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQmFja2VuZC5pZGwgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5k
LmlkbAppbmRleCAwNDNhOWY1Li45ZmFhZTc2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JCYWNrZW5kLmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kLmlkbApAQCAtNDcsNyArNDcsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIHZvaWQg
c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CiAgICAgICAgIHZvaWQgc3RvcFRpbWVsaW5lUHJvZmls
ZXIoKTsKIAotI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSCisjaWYgZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJiYgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgJiYgIShkZWZpbmVkKFY4X0JJTkRJ
TkcpICYmIFY4X0JJTkRJTkcpCiAgICAgICAgIGJvb2xlYW4gZGVidWdnZXJFbmFibGVkKCk7CiAg
ICAgICAgIHZvaWQgZW5hYmxlRGVidWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOwogICAgICAgICB2
b2lkIGRpc2FibGVEZWJ1Z2dlcihpbiBib29sZWFuIGFsd2F5cyk7CkBAIC02NSw3ICs2NSw4IEBA
IG1vZHVsZSBjb3JlIHsKIAogICAgICAgICBsb25nIHBhdXNlT25FeGNlcHRpb25zU3RhdGUoKTsK
ICAgICAgICAgdm9pZCBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKGluIGxvbmcgcGF1c2VPbkV4
Y2VwdGlvbnNTdGF0ZSk7Ci0KKyNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCiAgICAgICAgIGJvb2xlYW4g
cHJvZmlsZXJFbmFibGVkKCk7CiAgICAgICAgIHZvaWQgZW5hYmxlUHJvZmlsZXIoaW4gYm9vbGVh
biBhbHdheXMpOwogICAgICAgICB2b2lkIGRpc2FibGVQcm9maWxlcihpbiBib29sZWFuIGFsd2F5
cyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWM3
NzEuLmY5MTQ1ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC0xNDYsNyArMTQ2LDkgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJv
bGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAgICAsIG1fZGVidWdnZXJFbmFibGVkKGZh
bHNlKQogICAgICwgbV9hdHRhY2hEZWJ1Z2dlcldoZW5TaG93bihmYWxzZSkKLSAgICAsIG1fcHJv
ZmlsZXJFbmFibGVkKGZhbHNlKQorI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCisgICAgLCBtX3Byb2ZpbGVyRW5hYmxlZCghV1RGX1VTRV9KU0MpCiAgICAgLCBtX3JlY29y
ZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKGZhbHNlKQogICAgICwgbV9jdXJyZW50VXNlckluaXRp
YXRlZFByb2ZpbGVOdW1iZXIoLTEpCiAgICAgLCBtX25leHRVc2VySW5pdGlhdGVkUHJvZmlsZU51
bWJlcigxKQpAQCAtMTM0Miw3ICsxMzQ0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpt
b3ZlV2luZG93QnkoZmxvYXQgeCwgZmxvYXQgeSkgY29uc3QKICAgICBtX3BhZ2UtPmNocm9tZSgp
LT5zZXRXaW5kb3dSZWN0KGZyYW1lUmVjdCk7CiB9CiAKLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9E
RUJVR0dFUikgJiYgVVNFKEpTQykKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6YWRkUHJvZmlsZShQYXNzUmVmUHRyPFNjcmlwdFByb2Zp
bGU+IHBycFByb2ZpbGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKQogewogICAgIGlmICghZW5hYmxlZCgpKQpAQCAtMTM1Miw3ICsxMzU0LDkgQEAgdm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjphZGRQcm9maWxlKFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4g
cHJwUHJvZmlsZSwgdW5zaWcKICAgICBtX3Byb2ZpbGVzLmFkZChwcm9maWxlLT51aWQoKSwgcHJv
ZmlsZSk7CiAKICAgICBpZiAobV9mcm9udGVuZCkgeworI2lmIFVTRShKU0MpCiAgICAgICAgIEpT
TG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CisjZW5kaWYKICAgICAgICAgbV9mcm9u
dGVuZC0+YWRkUHJvZmlsZUhlYWRlcihjcmVhdGVQcm9maWxlSGVhZGVyKCpwcm9maWxlKSk7CiAg
ICAgfQogCkBAIC0xMzkwLDggKzEzOTQsMTAgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpn
ZXRQcm9maWxlKGxvbmcgY2FsbElkLCB1bnNpZ25lZCB1aWQpCiAgICAgaWYgKCFtX2Zyb250ZW5k
KQogICAgICAgICByZXR1cm47CiAgICAgUHJvZmlsZXNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9wcm9m
aWxlcy5maW5kKHVpZCk7CisjaWYgVVNFKEpTQykKICAgICBpZiAoaXQgIT0gbV9wcm9maWxlcy5l
bmQoKSkKICAgICAgICAgbV9mcm9udGVuZC0+ZGlkR2V0UHJvZmlsZShjYWxsSWQsIHRvSlMobV9m
cm9udGVuZFNjcmlwdFN0YXRlLCBpdC0+c2Vjb25kLmdldCgpKSk7CisjZW5kaWYKIH0KIAogU2Ny
aXB0T2JqZWN0IEluc3BlY3RvckNvbnRyb2xsZXI6OmNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3Qg
U2NyaXB0UHJvZmlsZSYgcHJvZmlsZSkKQEAgLTE0MjMsMTQgKzE0MjksMjAgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoVGltZXI8SW5zcGVj
dG9yQ29udHJvbGxlcj4KIAogICAgIGlmICghcHJvZmlsZXJFbmFibGVkKCkpIHsKICAgICAgICAg
ZW5hYmxlUHJvZmlsZXIoZmFsc2UsIHRydWUpOworI2lmIFVTRShKU0MpCiAgICAgICAgIEphdmFT
Y3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkucmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKTsKKyNl
bmRpZgogICAgIH0KIAogICAgIG1fcmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGUgPSB0cnVl
OwogCiAgICAgU3RyaW5nIHRpdGxlID0gZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFt
ZSh0cnVlKTsKIAorI2lmIFVTRShKU0MpCiAgICAgRXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSA9IHRv
SlNET01XaW5kb3cobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSwgZGVidWdnZXJXb3JsZCgp
KS0+Z2xvYmFsRXhlYygpOworI2Vsc2UKKyAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSAw
OworI2VuZGlmCiAgICAgU2NyaXB0UHJvZmlsZXI6OnN0YXJ0KHNjcmlwdFN0YXRlLCB0aXRsZSk7
CiAKICAgICBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUodGl0bGUsIDAsIFN0cmlu
ZygpKTsKQEAgLTE0NDcsNyArMTQ1OSwxMSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnN0
b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKIAogICAgIFN0cmluZyB0aXRsZSA9IGdldEN1cnJl
bnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUoKTsKIAorI2lmIFVTRShKU0MpCiAgICAgRXhlY1N0
YXRlKiBzY3JpcHRTdGF0ZSA9IHRvSlNET01XaW5kb3cobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJh
bWUoKSwgZGVidWdnZXJXb3JsZCgpKS0+Z2xvYmFsRXhlYygpOworI2Vsc2UKKyAgICBTY3JpcHRT
dGF0ZSogc2NyaXB0U3RhdGUgPSAwOworI2VuZGlmCiAgICAgUmVmUHRyPFNjcmlwdFByb2ZpbGU+
IHByb2ZpbGUgPSBTY3JpcHRQcm9maWxlcjo6c3RvcChzY3JpcHRTdGF0ZSwgdGl0bGUpOwogICAg
IGlmIChwcm9maWxlKQogICAgICAgICBhZGRQcm9maWxlKHByb2ZpbGUsIDAsIFN0cmluZygpKTsK
QEAgLTE0NzIsOCArMTQ4OCwxMCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmVuYWJsZVBy
b2ZpbGVyKGJvb2wgYWx3YXlzLCBib29sIHNraXBSZWNvbXBpbGUpCiAKICAgICBtX3Byb2ZpbGVy
RW5hYmxlZCA9IHRydWU7CiAKKyNpZiBVU0UoSlNDKQogICAgIGlmICghc2tpcFJlY29tcGlsZSkK
ICAgICAgICAgSmF2YVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKS5yZWNvbXBpbGVBbGxKU0Z1
bmN0aW9uc1Nvb24oKTsKKyNlbmRpZgogCiAgICAgaWYgKG1fZnJvbnRlbmQpCiAgICAgICAgIG1f
ZnJvbnRlbmQtPnByb2ZpbGVyV2FzRW5hYmxlZCgpOwpAQCAtMTQ4OSwxMiArMTUwNywxNiBAQCB2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2FibGVQcm9maWxlcihib29sIGFsd2F5cykKIAog
ICAgIG1fcHJvZmlsZXJFbmFibGVkID0gZmFsc2U7CiAKKyNpZiBVU0UoSlNDKQogICAgIEphdmFT
Y3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkucmVjb21waWxlQWxsSlNGdW5jdGlvbnNTb29uKCk7
CisjZW5kaWYKIAogICAgIGlmIChtX2Zyb250ZW5kKQogICAgICAgICBtX2Zyb250ZW5kLT5wcm9m
aWxlcldhc0Rpc2FibGVkKCk7CiB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKSAmJiBVU0UoSlNDKQogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjplbmFibGVEZWJ1
Z2dlckZyb21Gcm9udGVuZChib29sIGFsd2F5cykKIHsKICAgICBpZiAoYWx3YXlzKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDY5MDQzODAuLjJmMjVlZWMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTIyMCw3ICsyMjAsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIG1hcmtUaW1lbGluZShjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
OyAKIAotI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBVU0UoSlNDKQorI2lmIEVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIHZvaWQgYWRkUHJvZmlsZShQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCk7CiAgICAgdm9pZCBhZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4sIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMKTsKICAgICB2b2lkIGFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShj
b25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCk7CkBAIC0yMzQsNyArMjM0LDkgQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlUHJv
ZmlsZXIoYm9vbCBhbHdheXMgPSBmYWxzZSwgYm9vbCBza2lwUmVjb21waWxlID0gZmFsc2UpOwog
ICAgIHZvaWQgZGlzYWJsZVByb2ZpbGVyKGJvb2wgYWx3YXlzID0gZmFsc2UpOwogICAgIGJvb2wg
cHJvZmlsZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZW5hYmxlZCgpICYmIG1fcHJvZmlsZXJF
bmFibGVkOyB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBV
U0UoSlNDKQogICAgIHZvaWQgZW5hYmxlRGVidWdnZXIoKTsKICAgICB2b2lkIGRpc2FibGVEZWJ1
Z2dlcihib29sIGFsd2F5cyA9IGZhbHNlKTsKICAgICBib29sIGRlYnVnZ2VyRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fZGVidWdnZXJFbmFibGVkOyB9CkBAIC0yNjgsNyArMjcwLDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgZGVsZXRlQ29va2llKGNvbnN0IFN0cmluZyYgY29va2llTmFtZSwg
Y29uc3QgU3RyaW5nJiBkb21haW4pOwogCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIp
ICYmIFVTRShKU0MpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPHVuc2lnbmVkIGludCwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+ID4gUHJvZmlsZXNN
YXA7CiAKICAgICB2b2lkIHN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZ1Nvb24oKTsKQEAgLTM0
OSw2ICszNTEsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAm
JiBVU0UoSlNDKQogICAgIGJvb2wgbV9kZWJ1Z2dlckVuYWJsZWQ7CiAgICAgYm9vbCBtX2F0dGFj
aERlYnVnZ2VyV2hlblNob3duOworI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAgICAgYm9vbCBtX3Byb2ZpbGVyRW5hYmxlZDsKICAgICBib29sIG1fcmVjb3JkaW5nVXNl
ckluaXRpYXRlZFByb2ZpbGU7CiAgICAgaW50IG1fY3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxl
TnVtYmVyOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQu
Y3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCmluZGV4IDFiY2Ux
ZjMuLjkwYjYwZjQgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKQEAg
LTI2NiwxNiArMjY2LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZGVidWdnZXJXYXNEaXNh
YmxlZCgpCiAgICAgY2FsbFNpbXBsZUZ1bmN0aW9uKCJkZWJ1Z2dlcldhc0Rpc2FibGVkIik7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnByb2ZpbGVyV2FzRW5hYmxlZCgpCi17Ci0gICAg
Y2FsbFNpbXBsZUZ1bmN0aW9uKCJwcm9maWxlcldhc0VuYWJsZWQiKTsKLX0KLQotdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZDo6cHJvZmlsZXJXYXNEaXNhYmxlZCgpCi17Ci0gICAgY2FsbFNpbXBsZUZ1
bmN0aW9uKCJwcm9maWxlcldhc0Rpc2FibGVkIik7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmQ6OnBhcnNlZFNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSkKIHsK
ICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJbnNwZWN0b3IsICJkaXNwYXRj
aCIpOyAKQEAgLTI5OSw2ICsyODksMzIgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZmFpbGVk
VG9QYXJzZVNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSwKICAgICBm
dW5jdGlvbi5jYWxsKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnBhdXNlZFNjcmlw
dChTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGNhbGxGcmFtZXMpCit7CisgICAgU2NyaXB0VmFsdWUg
Y2FsbEZyYW1lc1ZhbHVlID0gU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKHNjcmlwdFN0YXRlKCks
IGNhbGxGcmFtZXMpOworICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihtX3dlYkluc3Bl
Y3RvciwgImRpc3BhdGNoIik7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoInBhdXNlZFNj
cmlwdCIpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGNhbGxGcmFtZXNWYWx1ZSk7Cisg
ICAgZnVuY3Rpb24uY2FsbCgpOworfQorCit2b2lkIEluc3BlY3RvckZyb250ZW5kOjpyZXN1bWVk
U2NyaXB0KCkKK3sKKyAgICBjYWxsU2ltcGxlRnVuY3Rpb24oInJlc3VtZWRTY3JpcHQiKTsKK30K
KyNlbmRpZgorCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCit2b2lkIEluc3BlY3Rv
ckZyb250ZW5kOjpwcm9maWxlcldhc0VuYWJsZWQoKQoreworICAgIGNhbGxTaW1wbGVGdW5jdGlv
bigicHJvZmlsZXJXYXNFbmFibGVkIik7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnBy
b2ZpbGVyV2FzRGlzYWJsZWQoKQoreworICAgIGNhbGxTaW1wbGVGdW5jdGlvbigicHJvZmlsZXJX
YXNEaXNhYmxlZCIpOworfQorCiB2b2lkIEluc3BlY3RvckZyb250ZW5kOjphZGRQcm9maWxlSGVh
ZGVyKGNvbnN0IFNjcmlwdFZhbHVlJiBwcm9maWxlKQogewogICAgIFNjcmlwdEZ1bmN0aW9uQ2Fs
bCBmdW5jdGlvbihtX3dlYkluc3BlY3RvciwgImRpc3BhdGNoIik7IApAQCAtMzMyLDIwICszNDgs
NiBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kOjpkaWRHZXRQcm9maWxlKGludCBjYWxsSWQsIGNv
bnN0IFNjcmlwdFZhbHVlJiBwcm9maWxlKQogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHBy
b2ZpbGUpOwogICAgIGZ1bmN0aW9uLmNhbGwoKTsKIH0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVu
ZDo6cGF1c2VkU2NyaXB0KFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogY2FsbEZyYW1lcykKLXsKLSAg
ICBTY3JpcHRWYWx1ZSBjYWxsRnJhbWVzVmFsdWUgPSBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUo
c2NyaXB0U3RhdGUoKSwgY2FsbEZyYW1lcyk7Ci0gICAgU2NyaXB0RnVuY3Rpb25DYWxsIGZ1bmN0
aW9uKG1fd2ViSW5zcGVjdG9yLCAiZGlzcGF0Y2giKTsgCi0gICAgZnVuY3Rpb24uYXBwZW5kQXJn
dW1lbnQoInBhdXNlZFNjcmlwdCIpOwotICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGNhbGxG
cmFtZXNWYWx1ZSk7Ci0gICAgZnVuY3Rpb24uY2FsbCgpOwotfQotCi12b2lkIEluc3BlY3RvckZy
b250ZW5kOjpyZXN1bWVkU2NyaXB0KCkKLXsKLSAgICBjYWxsU2ltcGxlRnVuY3Rpb24oInJlc3Vt
ZWRTY3JpcHQiKTsKLX0KICNlbmRpZgogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kOjpzZXREb2N1
bWVudChjb25zdCBTY3JpcHRPYmplY3QmIHJvb3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmQuaAppbmRleCBjM2QxMjEyLi4xYTM3MjU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kLmgKQEAgLTg4LDE2ICs4OCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgYXR0YWNoRGVidWdnZXJXaGVuU2hvd24oKTsKICAgICAgICAgdm9pZCBkZWJ1Z2dl
cldhc0VuYWJsZWQoKTsKICAgICAgICAgdm9pZCBkZWJ1Z2dlcldhc0Rpc2FibGVkKCk7Ci0gICAg
ICAgIHZvaWQgcHJvZmlsZXJXYXNFbmFibGVkKCk7Ci0gICAgICAgIHZvaWQgcHJvZmlsZXJXYXNE
aXNhYmxlZCgpOwogICAgICAgICB2b2lkIHBhcnNlZFNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNv
dXJjZUNvZGUmKTsKICAgICAgICAgdm9pZCBmYWlsZWRUb1BhcnNlU2NyaXB0U291cmNlKGNvbnN0
IEpTQzo6U291cmNlQ29kZSYsIGludCBlcnJvckxpbmUsIGNvbnN0IEpTQzo6VVN0cmluZyYgZXJy
b3JNZXNzYWdlKTsKKyAgICAgICAgdm9pZCBwYXVzZWRTY3JpcHQoU2VyaWFsaXplZFNjcmlwdFZh
bHVlKiBjYWxsRnJhbWVzKTsKKyAgICAgICAgdm9pZCByZXN1bWVkU2NyaXB0KCk7CisjZW5kaWYK
KyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyAgICAgICAgdm9pZCBwcm9maWxlcldh
c0VuYWJsZWQoKTsKKyAgICAgICAgdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7CiAgICAgICAg
IHZvaWQgYWRkUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRWYWx1ZSYgcHJvZmlsZSk7CiAgICAg
ICAgIHZvaWQgc2V0UmVjb3JkaW5nUHJvZmlsZShib29sIGlzUHJvZmlsaW5nKTsKICAgICAgICAg
dm9pZCBkaWRHZXRQcm9maWxlSGVhZGVycyhpbnQgY2FsbElkLCBjb25zdCBTY3JpcHRBcnJheSYg
aGVhZGVycyk7CiAgICAgICAgIHZvaWQgZGlkR2V0UHJvZmlsZShpbnQgY2FsbElkLCBjb25zdCBT
Y3JpcHRWYWx1ZSYgcHJvZmlsZSk7Ci0gICAgICAgIHZvaWQgcGF1c2VkU2NyaXB0KFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSogY2FsbEZyYW1lcyk7Ci0gICAgICAgIHZvaWQgcmVzdW1lZFNjcmlwdCgp
OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvQ29uc29sZS5pZGwgYi9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwKaW5kZXggYjNjMGMyNC4u
YzA4ZmNjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsCisrKyBiL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmlkbApAQCAtMzAsNyArMzAsOCBAQCBtb2R1bGUgd2luZG93IHsKIAog
ICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBDb25zb2xlIHsKIAotI2lmIGRlZmluZWQo
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VS
CisgICAgICAgIC8vIE5vdCBlbmFibGVkIGluIFY4IGJlY2F1c2UgaXQgcmVxdWlyZXMgcmVxdWVz
dC1yZXBseSBzdHlsZS4KKyNpZiBkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAm
JiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAmJiAhKGRlZmluZWQoVjhfQklORElORykgJiYg
VjhfQklORElORykKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21HZXR0ZXJdIEFy
cmF5IHByb2ZpbGVzOwogI2VuZGlmCiAgICAgCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5N2QxOTAyLi42YWE3
OGViIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMi0wOSAgTWlraGFpbCBO
YWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnRpbnVpbmcgZGVidWdnZXIgYW5kIHByb2ZpbGVy
IHVuZm9ya2luZzogbmFycm93IHNjb3BlIG9mIEpTQy1zcGVjaWZpYyBpZmRlZnMuCisgICAgICAg
IEFsc28sIGVuYWJsZSBKQVZBU0NSSVBUX0RFQlVHR0VSIGV4cGxpY2l0bHkgaW4gZmVhdHVyZXMs
IGl0IGFwcGVhcnMgdG8gYmUgcmVxdWlyZWQKKyAgICAgICAgZm9yIHJlYWxseSBlbmFibGluZyBp
dCBpbiBWOCBiaW5kaW5ncyBnZW5lcmF0aW9uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcwNgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToK
KwogMjAxMC0wMi0wOSAgQXZpIERyaXNzbWFuICA8YXZpQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpIGIvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggNzQ2NWZi
MS4uMjllMzEzMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysr
IGIvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTQ3LDYgKzQ3LDcgQEAKICAgICAg
ICAgJ0VOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wJywKICAgICAgICAgJ0VOQUJMRV9ET01fU1RP
UkFHRT0xJywKICAgICAgICAgJ0VOQUJMRV9HRU9MT0NBVElPTj0xJywKKyAgICAgICAgJ0VOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSPTEnLAogICAgICAgICAnRU5BQkxFX0pTQ19NVUxUSVBMRV9U
SFJFQURTPTAnLAogICAgICAgICAnRU5BQkxFX0lDT05EQVRBQkFTRT0wJywKICAgICAgICAgJ0VO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFPTEnLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48406</attachid>
            <date>2010-02-09 05:10:08 -0800</date>
            <delta_ts>2010-02-09 18:02:37 -0800</delta_ts>
            <desc>really fixed chromimum port</desc>
            <filename>unfork-prof-4-patch</filename>
            <type>text/plain</type>
            <size>15906</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTA3OTZjMy4uNWM4ZTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMC0wMi0wOSAgTWlraGFpbCBOYWdh
bm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvbnRpbnVpbmcgZGVidWdnZXIgYW5kIHByb2ZpbGVyIHVu
Zm9ya2luZzogbmFycm93IHNjb3BlIG9mIEpTQy1zcGVjaWZpYyBpZmRlZnMuCisgICAgICAgIEFs
c28sIGVuYWJsZSBKQVZBU0NSSVBUX0RFQlVHR0VSIGV4cGxpY2l0bHkgaW4gZmVhdHVyZXMsIGl0
IGFwcGVhcnMgdG8gYmUgcmVxdWlyZWQKKyAgICAgICAgZm9yIHJlYWxseSBlbmFibGluZyBpdCBp
biBWOCBiaW5kaW5ncyBnZW5lcmF0aW9uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcwNgorCisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0SG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6Y3VycmVudENhbGxGcmFtZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpnZXRQcm9maWxlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0
b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmFk
ZFByb2ZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJv
ZmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpzdGFydFVzZXJJ
bml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6ZW5hYmxlUHJvZmlsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6ZGlzYWJsZVByb2ZpbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZDo6cGF1c2VkU2NyaXB0
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kOjpyZXN1bWVkU2NyaXB0KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kOjpwcm9maWxlcldhc0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OnByb2ZpbGVyV2FzRGlzYWJs
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmQ6OmRpZEdldFByb2ZpbGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oOgorICAgICAgICAqIHBh
Z2UvQ29uc29sZS5pZGw6CisKIDIwMTAtMDItMDkgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21w
YW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwKaW5kZXggNzNhMzZmZC4uYmI1N2MzYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbAorKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBAIC00MSw3ICs0MSw3
IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgdm9pZCBhZGROb2Rlc1RvU2VhcmNoUmVzdWx0KGlu
IERPTVN0cmluZyBub2RlSWRzKTsKICAgICAgICAgbG9uZyBwdXNoTm9kZUJ5UGF0aFRvRnJvbnRl
bmQoaW4gRE9NU3RyaW5nIHBhdGgpOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJiYgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIKKyNpZiBkZWZpbmVkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAmJiAh
KGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORykKICAgICAgICAgW0N1c3RvbV0gRE9N
T2JqZWN0IGN1cnJlbnRDYWxsRnJhbWUoKTsKICAgICAgICAgW0N1c3RvbV0gYm9vbGVhbiBpc0Fj
dGl2YXRpb24oaW4gRE9NT2JqZWN0IG9iamVjdCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQmFja2VuZC5jcHAKaW5kZXggNWUzYTkxMC4uYzQzYmU2MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKQEAgLTIyMiw2ICsyMjIsMTMgQEAgdm9pZCBJbnNwZWN0
b3JCYWNrZW5kOjpzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKGxvbmcgcGF1c2VTdGF0ZSkKICAg
ICBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJlZCgpLnNldFBhdXNlT25FeGNlcHRpb25zU3Rh
dGUoc3RhdGljX2Nhc3Q8SmF2YVNjcmlwdERlYnVnU2VydmVyOjpQYXVzZU9uRXhjZXB0aW9uc1N0
YXRlPihwYXVzZVN0YXRlKSk7CiB9CiAKK0phdmFTY3JpcHRDYWxsRnJhbWUqIEluc3BlY3RvckJh
Y2tlbmQ6OmN1cnJlbnRDYWxsRnJhbWUoKSBjb25zdAoreworICAgIHJldHVybiBKYXZhU2NyaXB0
RGVidWdTZXJ2ZXI6OnNoYXJlZCgpLmN1cnJlbnRDYWxsRnJhbWUoKTsKK30KKyNlbmRpZgorCisj
aWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiBib29sIEluc3BlY3RvckJhY2tlbmQ6OnBy
b2ZpbGVyRW5hYmxlZCgpCiB7CiAgICAgaWYgKG1faW5zcGVjdG9yQ29udHJvbGxlcikKQEAgLTI2
NCwxMSArMjcxLDYgQEAgdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpnZXRQcm9maWxlKGxvbmcgY2Fs
bElkLCB1bnNpZ25lZCB1aWQpCiAgICAgaWYgKG1faW5zcGVjdG9yQ29udHJvbGxlcikKICAgICAg
ICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5nZXRQcm9maWxlKGNhbGxJZCwgdWlkKTsKIH0KLQot
SmF2YVNjcmlwdENhbGxGcmFtZSogSW5zcGVjdG9yQmFja2VuZDo6Y3VycmVudENhbGxGcmFtZSgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIEphdmFTY3JpcHREZWJ1Z1NlcnZlcjo6c2hhcmVkKCkuY3Vy
cmVudENhbGxGcmFtZSgpOwotfQogI2VuZGlmCiAKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6c2V0
SW5qZWN0ZWRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2UpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kLmgKaW5kZXggN2M5NjQ0Zi4uMGRmMTNmNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckJhY2tlbmQuaApAQCAtOTIsNiArOTIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
dGVwSW50b1N0YXRlbWVudEluRGVidWdnZXIoKTsKICAgICB2b2lkIHN0ZXBPdXRPZkZ1bmN0aW9u
SW5EZWJ1Z2dlcigpOwogCisgICAgSmF2YVNjcmlwdENhbGxGcmFtZSogY3VycmVudENhbGxGcmFt
ZSgpIGNvbnN0OworI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAg
Ym9vbCBwcm9maWxlckVuYWJsZWQoKTsKICAgICB2b2lkIGVuYWJsZVByb2ZpbGVyKGJvb2wgYWx3
YXlzKTsKICAgICB2b2lkIGRpc2FibGVQcm9maWxlcihib29sIGFsd2F5cyk7CkBAIC0xMDEsOCAr
MTA0LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBnZXRQcm9maWxlSGVhZGVycyhsb25nIGNhbGxJ
ZCk7CiAgICAgdm9pZCBnZXRQcm9maWxlKGxvbmcgY2FsbElkLCB1bnNpZ25lZCB1aWQpOwotCi0g
ICAgSmF2YVNjcmlwdENhbGxGcmFtZSogY3VycmVudENhbGxGcmFtZSgpIGNvbnN0OwogI2VuZGlm
CiAKICAgICB2b2lkIHNldEluamVjdGVkU2NyaXB0U291cmNlKGNvbnN0IFN0cmluZyYgc291cmNl
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaWRsIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5pZGwKaW5kZXggMDQzYTlmNS4uOWZh
YWU3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5pZGwK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5pZGwKQEAgLTQ3LDcgKzQ3
LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICB2b2lkIHN0YXJ0VGltZWxpbmVQcm9maWxlcigp
OwogICAgICAgICB2b2lkIHN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CiAKLSNpZiBkZWZpbmVkKEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUgor
I2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSICYmICEoZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HKQogICAg
ICAgICBib29sZWFuIGRlYnVnZ2VyRW5hYmxlZCgpOwogICAgICAgICB2b2lkIGVuYWJsZURlYnVn
Z2VyKGluIGJvb2xlYW4gYWx3YXlzKTsKICAgICAgICAgdm9pZCBkaXNhYmxlRGVidWdnZXIoaW4g
Ym9vbGVhbiBhbHdheXMpOwpAQCAtNjUsNyArNjUsOCBAQCBtb2R1bGUgY29yZSB7CiAKICAgICAg
ICAgbG9uZyBwYXVzZU9uRXhjZXB0aW9uc1N0YXRlKCk7CiAgICAgICAgIHZvaWQgc2V0UGF1c2VP
bkV4Y2VwdGlvbnNTdGF0ZShpbiBsb25nIHBhdXNlT25FeGNlcHRpb25zU3RhdGUpOwotCisjZW5k
aWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUgogICAgICAgICBib29sZWFuIHByb2ZpbGVyRW5hYmxlZCgpOwogICAg
ICAgICB2b2lkIGVuYWJsZVByb2ZpbGVyKGluIGJvb2xlYW4gYWx3YXlzKTsKICAgICAgICAgdm9p
ZCBkaXNhYmxlUHJvZmlsZXIoaW4gYm9vbGVhbiBhbHdheXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAzNTFjNzcxLi5mOTE0NWUyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTQ2LDcgKzE0Niw5IEBAIElu
c3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVj
dG9yQ2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVT
RShKU0MpCiAgICAgLCBtX2RlYnVnZ2VyRW5hYmxlZChmYWxzZSkKICAgICAsIG1fYXR0YWNoRGVi
dWdnZXJXaGVuU2hvd24oZmFsc2UpCi0gICAgLCBtX3Byb2ZpbGVyRW5hYmxlZChmYWxzZSkKKyNl
bmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorICAgICwgbV9wcm9maWxlckVu
YWJsZWQoIVdURl9VU0VfSlNDKQogICAgICwgbV9yZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmls
ZShmYWxzZSkKICAgICAsIG1fY3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTnVtYmVyKC0xKQog
ICAgICwgbV9uZXh0VXNlckluaXRpYXRlZFByb2ZpbGVOdW1iZXIoMSkKQEAgLTEzNDIsNyArMTM0
NCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZs
b2F0IHkpIGNvbnN0CiAgICAgbV9wYWdlLT5jaHJvbWUoKS0+c2V0V2luZG93UmVjdChmcmFtZVJl
Y3QpOwogfQogCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVTRShKU0MpCisj
aWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6
OmFkZFByb2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBwcnBQcm9maWxlLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBpZiAoIWVuYWJs
ZWQoKSkKQEAgLTEzNTIsNyArMTM1NCw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6YWRk
UHJvZmlsZShQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHBycFByb2ZpbGUsIHVuc2lnCiAgICAg
bV9wcm9maWxlcy5hZGQocHJvZmlsZS0+dWlkKCksIHByb2ZpbGUpOwogCiAgICAgaWYgKG1fZnJv
bnRlbmQpIHsKKyNpZiBVU0UoSlNDKQogICAgICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0
aW9uc09ubHkpOworI2VuZGlmCiAgICAgICAgIG1fZnJvbnRlbmQtPmFkZFByb2ZpbGVIZWFkZXIo
Y3JlYXRlUHJvZmlsZUhlYWRlcigqcHJvZmlsZSkpOwogICAgIH0KIApAQCAtMTM5MCw4ICsxMzk0
LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmlsZShsb25nIGNhbGxJZCwg
dW5zaWduZWQgdWlkKQogICAgIGlmICghbV9mcm9udGVuZCkKICAgICAgICAgcmV0dXJuOwogICAg
IFByb2ZpbGVzTWFwOjppdGVyYXRvciBpdCA9IG1fcHJvZmlsZXMuZmluZCh1aWQpOworI2lmIFVT
RShKU0MpCiAgICAgaWYgKGl0ICE9IG1fcHJvZmlsZXMuZW5kKCkpCiAgICAgICAgIG1fZnJvbnRl
bmQtPmRpZEdldFByb2ZpbGUoY2FsbElkLCB0b0pTKG1fZnJvbnRlbmRTY3JpcHRTdGF0ZSwgaXQt
PnNlY29uZC5nZXQoKSkpOworI2VuZGlmCiB9CiAKIFNjcmlwdE9iamVjdCBJbnNwZWN0b3JDb250
cm9sbGVyOjpjcmVhdGVQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFByb2ZpbGUmIHByb2ZpbGUp
CkBAIC0xNDIzLDE0ICsxNDI5LDIwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c3RhcnRV
c2VySW5pdGlhdGVkUHJvZmlsaW5nKFRpbWVyPEluc3BlY3RvckNvbnRyb2xsZXI+CiAKICAgICBp
ZiAoIXByb2ZpbGVyRW5hYmxlZCgpKSB7CiAgICAgICAgIGVuYWJsZVByb2ZpbGVyKGZhbHNlLCB0
cnVlKTsKKyNpZiBVU0UoSlNDKQogICAgICAgICBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJl
ZCgpLnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CisjZW5kaWYKICAgICB9CiAKICAgICBtX3Jl
Y29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlID0gdHJ1ZTsKIAogICAgIFN0cmluZyB0aXRsZSA9
IGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUodHJ1ZSk7CiAKKyNpZiBVU0UoSlND
KQogICAgIEV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUgPSB0b0pTRE9NV2luZG93KG1faW5zcGVjdGVk
UGFnZS0+bWFpbkZyYW1lKCksIGRlYnVnZ2VyV29ybGQoKSktPmdsb2JhbEV4ZWMoKTsKKyNlbHNl
CisgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gMDsKKyNlbmRpZgogICAgIFNjcmlwdFBy
b2ZpbGVyOjpzdGFydChzY3JpcHRTdGF0ZSwgdGl0bGUpOwogCiAgICAgYWRkU3RhcnRQcm9maWxp
bmdNZXNzYWdlVG9Db25zb2xlKHRpdGxlLCAwLCBTdHJpbmcoKSk7CkBAIC0xNDQ3LDcgKzE0NTks
MTEgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzdG9wVXNlckluaXRpYXRlZFByb2ZpbGlu
ZygpCiAKICAgICBTdHJpbmcgdGl0bGUgPSBnZXRDdXJyZW50VXNlckluaXRpYXRlZFByb2ZpbGVO
YW1lKCk7CiAKKyNpZiBVU0UoSlNDKQogICAgIEV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUgPSB0b0pT
RE9NV2luZG93KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCksIGRlYnVnZ2VyV29ybGQoKSkt
Pmdsb2JhbEV4ZWMoKTsKKyNlbHNlCisgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gMDsK
KyNlbmRpZgogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlID0gU2NyaXB0UHJvZmls
ZXI6OnN0b3Aoc2NyaXB0U3RhdGUsIHRpdGxlKTsKICAgICBpZiAocHJvZmlsZSkKICAgICAgICAg
YWRkUHJvZmlsZShwcm9maWxlLCAwLCBTdHJpbmcoKSk7CkBAIC0xNDcyLDggKzE0ODgsMTAgQEAg
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjplbmFibGVQcm9maWxlcihib29sIGFsd2F5cywgYm9v
bCBza2lwUmVjb21waWxlKQogCiAgICAgbV9wcm9maWxlckVuYWJsZWQgPSB0cnVlOwogCisjaWYg
VVNFKEpTQykKICAgICBpZiAoIXNraXBSZWNvbXBpbGUpCiAgICAgICAgIEphdmFTY3JpcHREZWJ1
Z1NlcnZlcjo6c2hhcmVkKCkucmVjb21waWxlQWxsSlNGdW5jdGlvbnNTb29uKCk7CisjZW5kaWYK
IAogICAgIGlmIChtX2Zyb250ZW5kKQogICAgICAgICBtX2Zyb250ZW5kLT5wcm9maWxlcldhc0Vu
YWJsZWQoKTsKQEAgLTE0ODksMTIgKzE1MDcsMTYgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVy
OjpkaXNhYmxlUHJvZmlsZXIoYm9vbCBhbHdheXMpCiAKICAgICBtX3Byb2ZpbGVyRW5hYmxlZCA9
IGZhbHNlOwogCisjaWYgVVNFKEpTQykKICAgICBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJl
ZCgpLnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zU29vbigpOworI2VuZGlmCiAKICAgICBpZiAobV9m
cm9udGVuZCkKICAgICAgICAgbV9mcm9udGVuZC0+cHJvZmlsZXJXYXNEaXNhYmxlZCgpOwogfQor
I2VuZGlmCiAKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5hYmxlRGVidWdnZXJGcm9tRnJvbnRlbmQoYm9vbCBh
bHdheXMpCiB7CiAgICAgaWYgKGFsd2F5cykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAppbmRleCA2OTA0MzgwLi4yZjI1ZWVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5oCkBAIC0yMjAsNyArMjIwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBt
YXJrVGltZWxpbmUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsgCiAKLSNpZiBFTkFCTEUoSkFWQVND
UklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dF
UikKICAgICB2b2lkIGFkZFByb2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiwgdW5zaWdu
ZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogICAgIHZvaWQgYWRkUHJv
ZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAgICAgdm9pZCBh
ZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiB0aXRsZSwgdW5z
aWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwpAQCAtMjM0LDcgKzIz
NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuYWJsZVByb2ZpbGVyKGJvb2wgYWx3YXlzID0gZmFs
c2UsIGJvb2wgc2tpcFJlY29tcGlsZSA9IGZhbHNlKTsKICAgICB2b2lkIGRpc2FibGVQcm9maWxl
cihib29sIGFsd2F5cyA9IGZhbHNlKTsKICAgICBib29sIHByb2ZpbGVyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIGVuYWJsZWQoKSAmJiBtX3Byb2ZpbGVyRW5hYmxlZDsgfQorI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAgICB2b2lkIGVuYWJs
ZURlYnVnZ2VyKCk7CiAgICAgdm9pZCBkaXNhYmxlRGVidWdnZXIoYm9vbCBhbHdheXMgPSBmYWxz
ZSk7CiAgICAgYm9vbCBkZWJ1Z2dlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnZ2Vy
RW5hYmxlZDsgfQpAQCAtMjY4LDcgKzI3MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRlbGV0
ZUNvb2tpZShjb25zdCBTdHJpbmcmIGNvb2tpZU5hbWUsIGNvbnN0IFN0cmluZyYgZG9tYWluKTsK
IAotI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBVU0UoSlNDKQorI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCBpbnQs
IFJlZlB0cjxTY3JpcHRQcm9maWxlPiA+IFByb2ZpbGVzTWFwOwogCiAgICAgdm9pZCBzdGFydFVz
ZXJJbml0aWF0ZWRQcm9maWxpbmdTb29uKCk7CkBAIC0zNDksNiArMzUxLDggQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKICAgICBib29sIG1f
ZGVidWdnZXJFbmFibGVkOwogICAgIGJvb2wgbV9hdHRhY2hEZWJ1Z2dlcldoZW5TaG93bjsKKyNl
bmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIGJvb2wgbV9wcm9maWxl
ckVuYWJsZWQ7CiAgICAgYm9vbCBtX3JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlOwogICAg
IGludCBtX2N1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU51bWJlcjsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kLmNwcAppbmRleCAxYmNlMWYzLi45MGI2MGY0IDEwMDc1NQotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCkBAIC0yNjYsMTYgKzI2Niw2IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmQ6OmRlYnVnZ2VyV2FzRGlzYWJsZWQoKQogICAgIGNhbGxTaW1wbGVG
dW5jdGlvbigiZGVidWdnZXJXYXNEaXNhYmxlZCIpOwogfQogCi12b2lkIEluc3BlY3RvckZyb250
ZW5kOjpwcm9maWxlcldhc0VuYWJsZWQoKQotewotICAgIGNhbGxTaW1wbGVGdW5jdGlvbigicHJv
ZmlsZXJXYXNFbmFibGVkIik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnByb2ZpbGVy
V2FzRGlzYWJsZWQoKQotewotICAgIGNhbGxTaW1wbGVGdW5jdGlvbigicHJvZmlsZXJXYXNEaXNh
YmxlZCIpOwotfQotCiB2b2lkIEluc3BlY3RvckZyb250ZW5kOjpwYXJzZWRTY3JpcHRTb3VyY2Uo
Y29uc3QgSlNDOjpTb3VyY2VDb2RlJiBzb3VyY2UpCiB7CiAgICAgU2NyaXB0RnVuY3Rpb25DYWxs
IGZ1bmN0aW9uKG1fd2ViSW5zcGVjdG9yLCAiZGlzcGF0Y2giKTsgCkBAIC0yOTksNiArMjg5LDMy
IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OmZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2UoY29u
c3QgSlNDOjpTb3VyY2VDb2RlJiBzb3VyY2UsCiAgICAgZnVuY3Rpb24uY2FsbCgpOwogfQogCit2
b2lkIEluc3BlY3RvckZyb250ZW5kOjpwYXVzZWRTY3JpcHQoU2VyaWFsaXplZFNjcmlwdFZhbHVl
KiBjYWxsRnJhbWVzKQoreworICAgIFNjcmlwdFZhbHVlIGNhbGxGcmFtZXNWYWx1ZSA9IFNjcmlw
dFZhbHVlOjpkZXNlcmlhbGl6ZShzY3JpcHRTdGF0ZSgpLCBjYWxsRnJhbWVzKTsKKyAgICBTY3Jp
cHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJbnNwZWN0b3IsICJkaXNwYXRjaCIpOworICAg
IGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KCJwYXVzZWRTY3JpcHQiKTsKKyAgICBmdW5jdGlvbi5h
cHBlbmRBcmd1bWVudChjYWxsRnJhbWVzVmFsdWUpOworICAgIGZ1bmN0aW9uLmNhbGwoKTsKK30K
Kwordm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cmVzdW1lZFNjcmlwdCgpCit7CisgICAgY2FsbFNp
bXBsZUZ1bmN0aW9uKCJyZXN1bWVkU2NyaXB0Iik7Cit9CisjZW5kaWYKKworI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cHJvZmlsZXJXYXNF
bmFibGVkKCkKK3sKKyAgICBjYWxsU2ltcGxlRnVuY3Rpb24oInByb2ZpbGVyV2FzRW5hYmxlZCIp
OworfQorCit2b2lkIEluc3BlY3RvckZyb250ZW5kOjpwcm9maWxlcldhc0Rpc2FibGVkKCkKK3sK
KyAgICBjYWxsU2ltcGxlRnVuY3Rpb24oInByb2ZpbGVyV2FzRGlzYWJsZWQiKTsKK30KKwogdm9p
ZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRWYWx1ZSYg
cHJvZmlsZSkKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJbnNwZWN0
b3IsICJkaXNwYXRjaCIpOyAKQEAgLTMzMiwyMCArMzQ4LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9u
dGVuZDo6ZGlkR2V0UHJvZmlsZShpbnQgY2FsbElkLCBjb25zdCBTY3JpcHRWYWx1ZSYgcHJvZmls
ZSkKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChwcm9maWxlKTsKICAgICBmdW5jdGlvbi5j
YWxsKCk7CiB9Ci0KLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnBhdXNlZFNjcmlwdChTZXJpYWxp
emVkU2NyaXB0VmFsdWUqIGNhbGxGcmFtZXMpCi17Ci0gICAgU2NyaXB0VmFsdWUgY2FsbEZyYW1l
c1ZhbHVlID0gU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKHNjcmlwdFN0YXRlKCksIGNhbGxGcmFt
ZXMpOwotICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihtX3dlYkluc3BlY3RvciwgImRp
c3BhdGNoIik7IAotICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KCJwYXVzZWRTY3JpcHQiKTsK
LSAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYWxsRnJhbWVzVmFsdWUpOwotICAgIGZ1bmN0
aW9uLmNhbGwoKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cmVzdW1lZFNjcmlwdCgp
Ci17Ci0gICAgY2FsbFNpbXBsZUZ1bmN0aW9uKCJyZXN1bWVkU2NyaXB0Iik7Ci19CiAjZW5kaWYK
IAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6c2V0RG9jdW1lbnQoY29uc3QgU2NyaXB0T2JqZWN0
JiByb290KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmgKaW5kZXggYzNkMTIxMi4u
MWEzNzI1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oCkBAIC04OCwxNiAr
ODgsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGF0dGFjaERlYnVnZ2Vy
V2hlblNob3duKCk7CiAgICAgICAgIHZvaWQgZGVidWdnZXJXYXNFbmFibGVkKCk7CiAgICAgICAg
IHZvaWQgZGVidWdnZXJXYXNEaXNhYmxlZCgpOwotICAgICAgICB2b2lkIHByb2ZpbGVyV2FzRW5h
YmxlZCgpOwotICAgICAgICB2b2lkIHByb2ZpbGVyV2FzRGlzYWJsZWQoKTsKICAgICAgICAgdm9p
ZCBwYXJzZWRTY3JpcHRTb3VyY2UoY29uc3QgSlNDOjpTb3VyY2VDb2RlJik7CiAgICAgICAgIHZv
aWQgZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJjZShjb25zdCBKU0M6OlNvdXJjZUNvZGUmLCBpbnQg
ZXJyb3JMaW5lLCBjb25zdCBKU0M6OlVTdHJpbmcmIGVycm9yTWVzc2FnZSk7CisgICAgICAgIHZv
aWQgcGF1c2VkU2NyaXB0KFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogY2FsbEZyYW1lcyk7CisgICAg
ICAgIHZvaWQgcmVzdW1lZFNjcmlwdCgpOworI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRf
REVCVUdHRVIpCisgICAgICAgIHZvaWQgcHJvZmlsZXJXYXNFbmFibGVkKCk7CisgICAgICAgIHZv
aWQgcHJvZmlsZXJXYXNEaXNhYmxlZCgpOwogICAgICAgICB2b2lkIGFkZFByb2ZpbGVIZWFkZXIo
Y29uc3QgU2NyaXB0VmFsdWUmIHByb2ZpbGUpOwogICAgICAgICB2b2lkIHNldFJlY29yZGluZ1By
b2ZpbGUoYm9vbCBpc1Byb2ZpbGluZyk7CiAgICAgICAgIHZvaWQgZGlkR2V0UHJvZmlsZUhlYWRl
cnMoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0QXJyYXkmIGhlYWRlcnMpOwogICAgICAgICB2b2lk
IGRpZEdldFByb2ZpbGUoaW50IGNhbGxJZCwgY29uc3QgU2NyaXB0VmFsdWUmIHByb2ZpbGUpOwot
ICAgICAgICB2b2lkIHBhdXNlZFNjcmlwdChTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGNhbGxGcmFt
ZXMpOwotICAgICAgICB2b2lkIHJlc3VtZWRTY3JpcHQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KERBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsIGIvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuaWRsCmluZGV4IGIzYzBjMjQuLmMwOGZjYzAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwKQEAg
LTMwLDcgKzMwLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICBpbnRlcmZhY2UgW09taXRDb25z
dHJ1Y3Rvcl0gQ29uc29sZSB7CiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUgorICAgICAgICAvLyBOb3QgZW5hYmxl
ZCBpbiBWOCBiZWNhdXNlIGl0IHJlcXVpcmVzIHJlcXVlc3QtcmVwbHkgc3R5bGUuCisjaWYgZGVm
aW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIgJiYgIShkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcpCiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tR2V0dGVyXSBBcnJheSBwcm9maWxlczsKICNlbmRpZgog
ICAgIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKaW5kZXggOTdkMTkwMi4uNmFhNzhlYiAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMDItMDkgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb250aW51aW5nIGRlYnVnZ2VyIGFuZCBwcm9maWxlciB1bmZvcmtpbmc6IG5hcnJvdyBzY29w
ZSBvZiBKU0Mtc3BlY2lmaWMgaWZkZWZzLgorICAgICAgICBBbHNvLCBlbmFibGUgSkFWQVNDUklQ
VF9ERUJVR0dFUiBleHBsaWNpdGx5IGluIGZlYXR1cmVzLCBpdCBhcHBlYXJzIHRvIGJlIHJlcXVp
cmVkCisgICAgICAgIGZvciByZWFsbHkgZW5hYmxpbmcgaXQgaW4gVjggYmluZGluZ3MgZ2VuZXJh
dGlvbi4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzQ3MDYKKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTAtMDItMDkgIEF2aSBEcmlz
c21hbiAgPGF2aUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2
aW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1dlYktpdC9j
aHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IDc0NjVmYjEuLjI5ZTMxMzAgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1dlYktpdC9jaHJvbWl1bS9mZWF0
dXJlcy5neXBpCkBAIC00Nyw2ICs0Nyw3IEBACiAgICAgICAgICdFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQ9MCcsCiAgICAgICAgICdFTkFCTEVfRE9NX1NUT1JBR0U9MScsCiAgICAgICAgICdFTkFC
TEVfR0VPTE9DQVRJT049MScsCisgICAgICAgICdFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUj0x
JywKICAgICAgICAgJ0VOQUJMRV9KU0NfTVVMVElQTEVfVEhSRUFEUz0wJywKICAgICAgICAgJ0VO
QUJMRV9JQ09OREFUQUJBU0U9MCcsCiAgICAgICAgICdFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0x
JywK
</data>

          </attachment>
      

    </bug>

</bugzilla>