<?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>62844</bug_id>
          
          <creation_ts>2011-06-16 23:02:41 -0700</creation_ts>
          <short_desc>Added some write barrier action, compiled out by default</short_desc>
          <delta_ts>2011-06-17 12:11:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>422433</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-16 23:02:41 -0700</bug_when>
    <thetext>Added some write barrier action, compiled out by default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422435</commentid>
    <comment_count>1</comment_count>
      <attachid>97546</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-16 23:06:22 -0700</bug_when>
    <thetext>Created attachment 97546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422442</commentid>
    <comment_count>2</comment_count>
      <attachid>97548</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-16 23:40:50 -0700</bug_when>
    <thetext>Created attachment 97548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422541</commentid>
    <comment_count>3</comment_count>
      <attachid>97548</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 03:46:14 -0700</bug_when>
    <thetext>Comment on attachment 97548
Patch

Attachment 97548 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8876547</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422649</commentid>
    <comment_count>4</comment_count>
      <attachid>97548</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-06-17 08:59:49 -0700</bug_when>
    <thetext>Comment on attachment 97548
Patch

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

r=me, if you turn off the flag that actually makes these things compiled out :D

&gt; Source/JavaScriptCore/wtf/Platform.h:1211
&gt; +#define ENABLE_GGC 1

Don&apos;t you want this off?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422788</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-17 11:41:07 -0700</bug_when>
    <thetext>&gt; Don&apos;t you want this off?

Yes :). Just needed to get the EWS bot to show me the Windows symbol name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422818</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-17 12:11:49 -0700</bug_when>
    <thetext>Committed r89156: &lt;http://trac.webkit.org/changeset/89156&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97546</attachid>
            <date>2011-06-16 23:06:22 -0700</date>
            <delta_ts>2011-06-16 23:40:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62844-20110616230621.patch</filename>
            <type>text/plain</type>
            <size>17486</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODkxMTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTEtMDYtMTYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzb21lIHdyaXRl
IGJhcnJpZXIgYWN0aW9uLCBjb21waWxlZCBvdXQgYnkgZGVmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4NDQKKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDogQnVpbGQhCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBGaXhlZCBhbiBpbmNyZW1lbnRhbCBidWlsZAorICAgICAgICBp
c3N1ZSB3aXRoIEhlYXAuY3BwLgorCisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAg
KEpTQzo6SGVhcDo6d3JpdGVCYXJyaWVyU2xvd0Nhc2UpOgorICAgICAgICAqIGhlYXAvSGVhcC5o
OgorICAgICAgICAoSlNDOjpIZWFwOjp3cml0ZUJhcnJpZXIpOgorICAgICAgICAqIGhlYXAvTWFy
a2VkQmxvY2suaDoKKyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6OmlzQXRvbUFsaWduZWQpOgor
ICAgICAgICAoSlNDOjpNYXJrZWRCbG9jazo6YmxvY2tGb3IpOgorICAgICAgICAoSlNDOjpNYXJr
ZWRCbG9jazo6YXRvbU51bWJlcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpvd25lclNl
dE51bWJlcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjphZGRPbGRTcGFjZU93bmVyKToK
KyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6Ok93bmVyU2V0OjpPd25lclNldCk6CisgICAgICAg
IChKU0M6Ok1hcmtlZEJsb2NrOjpPd25lclNldDo6YWRkKToKKyAgICAgICAgKEpTQzo6TWFya2Vk
QmxvY2s6Ok93bmVyU2V0OjpjbGVhcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpPd25l
clNldDo6c2l6ZSk6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpPd25lclNldDo6ZGlkT3Zl
cmZsb3cpOgorICAgICAgICAoSlNDOjpNYXJrZWRCbG9jazo6T3duZXJTZXQ6Om93bmVycyk6IEFk
ZGVkIGEgYmFzaWMgd3JpdGUgYmFycmllciB0aGF0CisgICAgICAgIHRyYWNrcyBvd25lcnMgZm9y
IHJlZ2lvbnMgd2l0aGluIGJsb2Nrcy4gQ3VycmVudGx5IHVudXNlZC4KKwogMjAxMS0wNi0xNiAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5leHAJKHJldmlzaW9uIDg5MDc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBAIF9fWk4z
SlNDNEhlYXAxN2dsb2JhbE9iamVjdENvdW50RXYKIF9fWk4zSlNDNEhlYXAxN2lzVmFsaWRBbGxv
Y2F0aW9uRW0KIF9fWk4zSlNDNEhlYXAxOXNldEFjdGl2aXR5Q2FsbGJhY2tFTjNXVEYxMFBhc3NP
d25QdHJJTlNfMThHQ0FjdGl2aXR5Q2FsbGJhY2tFRUUKIF9fWk4zSlNDNEhlYXAyMHByb3RlY3Rl
ZE9iamVjdENvdW50RXYKK19fWk4zSlNDNEhlYXAyMHdyaXRlQmFycmllclNsb3dDYXNlRVBLTlNf
NkpTQ2VsbEVQUzFfCiBfX1pOM0pTQzRIZWFwMjVwcm90ZWN0ZWRPYmplY3RUeXBlQ291bnRzRXYK
IF9fWk4zSlNDNEhlYXAyNnByb3RlY3RlZEdsb2JhbE9iamVjdENvdW50RXYKIF9fWk4zSlNDNEhl
YXAyOXJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlRW0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiA4OTA3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xODMsNiArMTgzLDggQEAKIAkJMTRCNzIzQjgxMkQ3REE2RjAwM0JENUVEIC8qIE1hY2hpbmVT
dGFja01hcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTRCNzIzNDAxMkQ3RDBEQTAwM0JENUVEIC8qIE1hY2hpbmVTdGFja01hcmtlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0QjhFQzcyMEE1
NjUyMDkwMDYyQkU1NCAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTYwQTRDRjA0QjNCM0U3MDA4QUU5
NTIgLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQkxNEJBNzhGMTEzQUFCODhG
MDA1QjdDMkMgLyogU2xvdFZpc2l0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0QkE3OEYwMTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0QkE3
QTk3MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0QkE3QTk1MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmNw
cCAqLzsgfTsKKwkJMTRCQTdBOTgxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0QkE3QTk2MTNBQURGRjgwMDVC
N0MyQyAvKiBIZWFwLmggKi87IH07CiAJCTE0QkQ1OUM1MEEzRThGOUYwMEJBRjU5QyAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzJGNUJEOTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUu
ZnJhbWV3b3JrICovOyB9OwogCQkxNEJENUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0
UmVmLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
QkQ1QTI5MEEzRTkxRjYwMEJBRjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwICovOyB9OwogCQkxNEJE
NUEzMjBBM0U5MUY2MDBCQUY1OUMgLyogSlNWYWx1ZVJlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEJENUEyQjBBM0U5MUY2MDBCQUY1OUMgLyog
SlNWYWx1ZVJlZi5jcHAgKi87IH07CkBAIC0xOTQsOCArMTk2LDYgQEAKIAkJMTRGOEJBM0UxMDdF
Qzg4NjAwOTg5MkRDIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjVFMjE3QjkwOEU3RUVDQzAwMjNFNUY2IC8qIEZhc3RNYWxs
b2MuY3BwICovOyB9OwogCQkxNEY4QkE0MzEwN0VDODhDMDA5ODkyREMgLyogVENTeXN0ZW1BbGxv
Yy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTQx
QkQ3MDA4RTgwQTE3MDAyQ0JFRTcgLyogVENTeXN0ZW1BbGxvYy5jcHAgKi87IH07CiAJCTE0Rjk3
NDQ3MTM4Qzg1M0UwMERBMUM2NyAvKiBIZWFwUm9vdFZpc2l0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2NyAv
KiBIZWFwUm9vdFZpc2l0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkxNEZCOTg2RDEzNTIyNTQxMDA4NUE1REIgLyogSGVhcC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZCOTg2QjEzNTIyNTQx
MDA4NUE1REIgLyogSGVhcC5jcHAgKi87IH07Ci0JCTE0RkI5ODZFMTM1MjI1NDEwMDg1QTVEQiAv
KiBIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NEZCOTg2QzEzNTIyNTQxMDA4NUE1REIgLyogSGVhcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0RkZGOThDMTJCRkZGNzUwMDc5NUJCOCAvKiBQ
YWdlQWxsb2NhdGlvbkFsaWduZWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTRGRkY5OEExMkJGRkY3NTAwNzk1QkI4IC8qIFBhZ2VBbGxvY2F0aW9u
QWxpZ25lZC5jcHAgKi87IH07CiAJCTE0RkZGOThEMTJCRkZGNzUwMDc5NUJCOCAvKiBQYWdlQWxs
b2NhdGlvbkFsaWduZWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0RkZGOThCMTJCRkZGNzUwMDc5NUJCOCAvKiBQYWdlQWxsb2NhdGlvbkFsaWduZWQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxODBC
OUIwODBGMTZEOTRGMDA5QkRCQzUgLyogQ3VycmVudFRpbWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE4MEI5QUYwMEYxNkM1NjkwMDlCREJDNSAvKiBD
dXJyZW50VGltZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC04MTUsNiArODE1LDggQEAKIAkJMTRCNzIzNDAxMkQ3RDBEQTAwM0JENUVEIC8qIE1h
Y2hpbmVTdGFja01hcmtlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNo
aW5lU3RhY2tNYXJrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRCOEVDQTYw
QTU2NTM5ODAwNjJCRTU0IC8qIEphdmFTY3JpcHRDb3JlLmV4cCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmV4cG9ydHM7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5leHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gNDsgdXNlc1RhYnMgPSAwOyB9OwogCQkxNEJBNzhGMDEzQUFCODhG
MDA1QjdDMkMgLyogU2xvdFZpc2l0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2xvdFZpc2l0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTRCQTdBOTUx
M0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gSGVhcC5jcHA7IHBhdGggPSAuLi8uLi8uLi93ZWJraXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJMTRC
QTdBOTYxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSGVhcC5oOyBwYXRoID0gLi4vLi4vLi4vd2Via2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQkxNEJENTlC
RjBBM0U4RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5jbHVk
ZUluSW5kZXggPSAwOyBwYXRoID0gdGVzdGFwaTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKIAkJMTRCRDVBMjkwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29udGV4dFJlZi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb250ZXh0UmVmLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRCRDVBMkEwQTNFOTFGNjAwQkFGNTlDIC8q
IEpTQ29udGV4dFJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb250
ZXh0UmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MzAsOCArODMyLDYgQEAK
IAkJMTRERTBENjgwRDAyNDMxNDAwQUFDQ0EyIC8qIEpTR2xvYmFsT2JqZWN0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRGMjUyNTYwRDA4REQ4RDAwNEVDRkZGIC8qIEpTVmFy
aWFibGVPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNWYXJpYWJs
ZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEY5NzQ0NjEzOEM4NTNF
MDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEhlYXBSb290VmlzaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
NEZCOTg2QjEzNTIyNTQxMDA4NUE1REIgLyogSGVhcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIZWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MTRGQjk4NkMxMzUyMjU0MTAwODVBNURCIC8qIEhlYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGVhcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEZGRjk4
QTEyQkZGRjc1MDA3OTVCQjggLyogUGFnZUFsbG9jYXRpb25BbGlnbmVkLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VBbGxvY2F0aW9uQWxpZ25lZC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RkZGOThCMTJCRkZGNzUwMDc5NUJCOCAvKiBQ
YWdlQWxsb2NhdGlvbkFsaWduZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFnZUFsbG9jYXRpb25BbGlnbmVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE4
MEI5QUVGMEYxNkM1NjkwMDlCREJDNSAvKiBDdXJyZW50VGltZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDdXJyZW50VGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNTAwLDggKzE1MDAsOCBAQAogCQkJCTE0MkUzMTJFMTM0RkYwQTYwMEFG
QURCNSAvKiBIYW5kbGVTdGFjay5jcHAgKi8sCiAJCQkJMTQyRTMxMkYxMzRGRjBBNjAwQUZBREI1
IC8qIEhhbmRsZVN0YWNrLmggKi8sCiAJCQkJMTQ2RkE1QTgxMzc4RjZCMDAwMzYyN0EzIC8qIEhh
bmRsZVR5cGVzLmggKi8sCi0JCQkJMTRGQjk4NkIxMzUyMjU0MTAwODVBNURCIC8qIEhlYXAuY3Bw
ICovLAotCQkJCTE0RkI5ODZDMTM1MjI1NDEwMDg1QTVEQiAvKiBIZWFwLmggKi8sCisJCQkJMTRC
QTdBOTUxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwICovLAorCQkJCTE0QkE3QTk2MTNBQURG
RjgwMDVCN0MyQyAvKiBIZWFwLmggKi8sCiAJCQkJMTRGOTc0NDYxMzhDODUzRTAwREExQzY3IC8q
IEhlYXBSb290VmlzaXRvci5oICovLAogCQkJCTE0MkUzMTMwMTM0RkYwQTYwMEFGQURCNSAvKiBM
b2NhbC5oICovLAogCQkJCTE0MkUzMTMxMTM0RkYwQTYwMEFGQURCNSAvKiBMb2NhbFNjb3BlLmgg
Ki8sCkBAIC0yNTQ4LDcgKzI1NDgsNiBAQAogCQkJCTg2NzA0QjhBMTJEQkEzMzcwMEE5RkU3QiAv
KiBZYXJyUGF0dGVybi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY3MDRCNDMxMkRCOEE4MTAwQTlG
RTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REU2RTVCMzBF
MTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAqLywKLQkJCQkx
NEZCOTg2RTEzNTIyNTQxMDA4NUE1REIgLyogSGVhcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY1
QTMwRjExMzUwMDdFMTAwQ0RCNDlFIC8qIEpTVmFsdWVJbmxpbmVNZXRob2RzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxNDJENkYwOTEzNTM5QTI4MDBCMDJFODYgLyogTWFya2VkQmxvY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTE0MkQ2RjEyMTM1MzlBNDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suaCBp
biBIZWFkZXJzICovLApAQCAtMjU3MCw2ICsyNTY5LDcgQEAKIAkJCQkxNDE0NDhDRDEzQTE3ODM3
MDBGNUJBMUEgLyogVGlueUJsb29tRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDJBMUQ4
NDEzQTE5Qzg0MDA5REE1RkUgLyogT2xkU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QkE3
OEYxMTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MTRCQTdBOTgxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMzAx
MCw3ICszMDEwLDYgQEAKIAkJCQk4NjcwNEI4NjEyREJBMzM3MDBBOUZFN0IgLyogWWFyckpJVC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4NjcwNEI4OTEyREJBMzM3MDBBOUZFN0IgLyogWWFyclBh
dHRlcm4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY3MDRCNDIxMkRCOEE4MTAwQTlGRTdCIC8q
IFlhcnJTeW50YXhDaGVja2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTE0RkI5ODZEMTM1MjI1
NDEwMDg1QTVEQiAvKiBIZWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkQ2RjA4MTM1MzlB
MjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDJENkYx
MTEzNTM5QTQxMDBCMDJFODYgLyogTWFya1N0YWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2
QUU2NEE4MTM1RTVFMUMwMDk2MzAxMiAvKiBNYWNyb0Fzc2VtYmxlclNINC5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTMwMTgsNiArMzAxNyw3IEBACiAJCQkJODZCQjA5QzAxMzhFMzgxQjAwNTY3MDJG
IC8qIERGR1JlcGF0Y2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTREMkYzREExMzlGNEJFMjAw
NDkxMDMxIC8qIE5ld1NwYWNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkExRDgzMTNBMTlD
ODQwMDlEQTVGRSAvKiBPbGRTcGFjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNEJBN0E5NzEz
QUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiA4OTA3NCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDUsNCArNjA1LDE5IEBA
IHZvaWQgSGVhcDo6c2hyaW5rKCkKICAgICBmcmVlQmxvY2tzKGZvckVhY2hCbG9jayh0YWtlSWZF
bXB0eSkpOwogfQogCisjaWYgRU5BQkxFKEdHQykKK3ZvaWQgSGVhcDo6d3JpdGVCYXJyaWVyU2xv
d0Nhc2UoY29uc3QgSlNDZWxsKiBvd25lciwgSlNDZWxsKiBjZWxsKQoreworICAgIGlmICghY2Vs
bCkKKyAgICAgICAgcmV0dXJuOworICAgIE1hcmtlZEJsb2NrOjpibG9ja0ZvcihjZWxsKS0+YWRk
T2xkU3BhY2VPd25lcihvd25lciwgY2VsbCk7Cit9CisKKyNlbHNlCisKK3ZvaWQgSGVhcDo6d3Jp
dGVCYXJyaWVyU2xvd0Nhc2UoY29uc3QgSlNDZWxsKiwgSlNDZWxsKikKK3sKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hl
YXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgJKHJl
dmlzaW9uIDg5MDc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDEsNiArMTQxLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
UmVnaXN0ZXJGaWxlJiByZWdpc3RlckZpbGUoKTsKIAorICAgICAgICBzdGF0aWMgdm9pZCB3cml0
ZUJhcnJpZXJTbG93Q2FzZShjb25zdCBKU0NlbGwqLCBKU0NlbGwqKTsKKwogICAgICAgICBPcGVy
YXRpb25JblByb2dyZXNzIG1fb3BlcmF0aW9uSW5Qcm9ncmVzczsKICAgICAgICAgTmV3U3BhY2Ug
bV9uZXdTcGFjZTsKICAgICAgICAgTWFya2VkQmxvY2tTZXQgbV9ibG9ja3M7CkBAIC0xOTgsMTQg
KzIwMCwzNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFya2VkQmxvY2s6OmJsb2NrRm9y
KGNlbGwpLT5zZXRNYXJrZWQoY2VsbCk7CiAgICAgfQogCi0gICAgaW5saW5lIHZvaWQgSGVhcDo6
d3JpdGVCYXJyaWVyKGNvbnN0IEpTQ2VsbCosIEpTVmFsdWUpCisjaWYgRU5BQkxFKEdHQykKKyAg
ICBpbmxpbmUgdm9pZCBIZWFwOjp3cml0ZUJhcnJpZXIoY29uc3QgSlNDZWxsKiBvd25lciwgSlND
ZWxsKiBjZWxsKQorICAgIHsKKyAgICAgICAgaWYgKE1hcmtlZEJsb2NrOjpibG9ja0Zvcihvd25l
ciktPmluTmV3U3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgd3JpdGVCYXJy
aWVyU2xvd0Nhc2Uob3duZXIsIGNlbGwpOworICAgIH0KKworICAgIGlubGluZSB2b2lkIEhlYXA6
OndyaXRlQmFycmllcihjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsK
KyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCF2
YWx1ZS5pc0NlbGwoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgd3JpdGVCYXJyaWVy
KG93bmVyLCB2YWx1ZS5hc0NlbGwoKSk7CiAgICAgfQogCisjZWxzZQorCiAgICAgaW5saW5lIHZv
aWQgSGVhcDo6d3JpdGVCYXJyaWVyKGNvbnN0IEpTQ2VsbCosIEpTQ2VsbCopCiAgICAgewogICAg
IH0KIAorICAgIGlubGluZSB2b2lkIEhlYXA6OndyaXRlQmFycmllcihjb25zdCBKU0NlbGwqLCBK
U1ZhbHVlKQorICAgIHsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSB2b2lkIEhlYXA6OnJl
cG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3QgY29zdCkKICAgICB7CiAgICAgICAgIGlmIChjb3N0
ID4gbWluRXh0cmFDb3N0KSAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtl
ZEJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2Vk
QmxvY2suaAkocmV2aXNpb24gODkwNzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9N
YXJrZWRCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxMyArNDIsMzQgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgY2xhc3MgTWFya2VkQmxvY2sgOiBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5v
ZGU8TWFya2VkQmxvY2s+IHsKICAgICAgICAgZnJpZW5kIGNsYXNzIFdURjo6RG91Ymx5TGlua2Vk
TGlzdE5vZGU8TWFya2VkQmxvY2s+OwogICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIGNvbnN0
IHNpemVfdCBhdG9tU2l6ZSA9IHNpemVvZihkb3VibGUpOyAvLyBFbnN1cmVzIG5hdHVyYWwgYWxp
Z25tZW50IGZvciBhbGwgYnVpbHQtaW4gdHlwZXMuCisgICAgICAgIHN0YXRpYyBjb25zdCBzaXpl
X3QgYmxvY2tTaXplID0gMTYgKiBLQjsKKworICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGF0
b21zUGVyQmxvY2sgPSBibG9ja1NpemUgLyBhdG9tU2l6ZTsgLy8gfjEuNSUgb3ZlcmhlYWQKKyAg
ICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBvd25lclNldHNQZXJCbG9jayA9IDg7IC8vIH4yJSBv
dmVyaGVhZC4KKwogICAgICAgICBzdHJ1Y3QgVm9pZEZ1bmN0b3IgewogICAgICAgICAgICAgdHlw
ZWRlZiB2b2lkIFJldHVyblR5cGU7CiAgICAgICAgICAgICB2b2lkIHJldHVyblZhbHVlKCkgeyB9
CiAgICAgICAgIH07CiAKLSAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBhdG9tU2l6ZSA9IHNp
emVvZihkb3VibGUpOyAvLyBFbnN1cmVzIG5hdHVyYWwgYWxpZ25tZW50IGZvciBhbGwgYnVpbHQt
aW4gdHlwZXMuCi0gICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYmxvY2tTaXplID0gMTYgKiBL
QjsKKyAgICAgICAgY2xhc3MgT3duZXJTZXQgeworICAgICAgICBwdWJsaWM6CisgICAgICAgICAg
ICBPd25lclNldCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICB2b2lkIGFkZChjb25zdCBK
U0NlbGwqKTsKKyAgICAgICAgICAgIHZvaWQgY2xlYXIoKTsKKworICAgICAgICAgICAgc2l6ZV90
IHNpemUoKTsKKyAgICAgICAgICAgIGJvb2wgZGlkT3ZlcmZsb3coKTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgY29uc3QgSlNDZWxsKiogb3duZXJzKCk7CisKKyAgICAgICAgcHJpdmF0ZToK
KyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2FwYWNpdHkgPSA1OworICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciBtX3NpemU7CisgICAgICAgICAgICBjb25zdCBKU0NlbGwqIG1fb3du
ZXJzW2NhcGFjaXR5XTsKKyAgICAgICAgfTsKIAogICAgICAgICBzdGF0aWMgTWFya2VkQmxvY2sq
IGNyZWF0ZShIZWFwKiwgc2l6ZV90IGNlbGxTaXplKTsKICAgICAgICAgc3RhdGljIHZvaWQgZGVz
dHJveShNYXJrZWRCbG9jayopOwpAQCAtNzYsMzEgKzk3LDMzIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBzaXplX3Qgc2l6ZSgpOwogICAgICAgICBzaXplX3QgY2FwYWNpdHkoKTsKIAotICAg
ICAgICBzaXplX3QgYXRvbU51bWJlcihjb25zdCB2b2lkKik7CiAgICAgICAgIGJvb2wgaXNNYXJr
ZWQoY29uc3Qgdm9pZCopOwogICAgICAgICBib29sIHRlc3RBbmRTZXRNYXJrZWQoY29uc3Qgdm9p
ZCopOwogICAgICAgICBib29sIHRlc3RBbmRDbGVhck1hcmtlZChjb25zdCB2b2lkKik7CiAgICAg
ICAgIHZvaWQgc2V0TWFya2VkKGNvbnN0IHZvaWQqKTsKLSAgICAgICAgCisKKyAgICAgICAgdm9p
ZCBhZGRPbGRTcGFjZU93bmVyKGNvbnN0IEpTQ2VsbCogb3duZXIsIGNvbnN0IEpTQ2VsbCopOwor
CiAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jdG9yPiB2b2lkIGZvckVhY2hDZWxsKEZ1
bmN0b3ImKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYmxv
Y2tNYXNrID0gfihibG9ja1NpemUgLSAxKTsgLy8gYmxvY2tTaXplIG11c3QgYmUgYSBwb3dlciBv
ZiB0d28uCi0KICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBhdG9tTWFzayA9IH4oYXRvbVNp
emUgLSAxKTsgLy8gYXRvbVNpemUgbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4KLSAgICAgICAgCi0g
ICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYXRvbXNQZXJCbG9jayA9IGJsb2NrU2l6ZSAvIGF0
b21TaXplOwogCiAgICAgICAgIHR5cGVkZWYgY2hhciBBdG9tW2F0b21TaXplXTsKIAogICAgICAg
ICBNYXJrZWRCbG9jayhjb25zdCBQYWdlQWxsb2NhdGlvbkFsaWduZWQmLCBIZWFwKiwgc2l6ZV90
IGNlbGxTaXplKTsKICAgICAgICAgQXRvbSogYXRvbXMoKTsKIAorICAgICAgICBzaXplX3QgYXRv
bU51bWJlcihjb25zdCB2b2lkKik7CisgICAgICAgIHNpemVfdCBvd25lclNldE51bWJlcihjb25z
dCBKU0NlbGwqKTsKKwogICAgICAgICBzaXplX3QgbV9uZXh0QXRvbTsKICAgICAgICAgc2l6ZV90
IG1fZW5kQXRvbTsgLy8gVGhpcyBpcyBhIGZ1enp5IGVuZC4gQWx3YXlzIHRlc3QgZm9yIDwgbV9l
bmRBdG9tLgogICAgICAgICBzaXplX3QgbV9hdG9tc1BlckNlbGw7CiAgICAgICAgIFdURjo6Qml0
bWFwPGJsb2NrU2l6ZSAvIGF0b21TaXplPiBtX21hcmtzOwogICAgICAgICBib29sIG1faW5OZXdT
cGFjZTsKKyAgICAgICAgT3duZXJTZXQgbV9vd25lclNldHNbb3duZXJTZXRzUGVyQmxvY2tdOwog
ICAgICAgICBQYWdlQWxsb2NhdGlvbkFsaWduZWQgbV9hbGxvY2F0aW9uOwogICAgICAgICBIZWFw
KiBtX2hlYXA7CiAgICAgICAgIE1hcmtlZEJsb2NrKiBtX3ByZXY7CkBAIC0xMTksMTIgKzE0Miwx
MiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGlubGluZSBib29sIE1hcmtlZEJsb2NrOjppc0F0
b21BbGlnbmVkKGNvbnN0IHZvaWQqIHApCiAgICAgewotICAgICAgICByZXR1cm4gISgoaW50cHRy
X3QpKHApICYgfmF0b21NYXNrKTsKKyAgICAgICAgcmV0dXJuICEocmVpbnRlcnByZXRfY2FzdDxC
aXRzPihwKSAmIH5hdG9tTWFzayk7CiAgICAgfQogCiAgICAgaW5saW5lIE1hcmtlZEJsb2NrKiBN
YXJrZWRCbG9jazo6YmxvY2tGb3IoY29uc3Qgdm9pZCogcCkKICAgICB7Ci0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PE1hcmtlZEJsb2NrKj4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KHApICYgYmxvY2tNYXNrKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8TWFy
a2VkQmxvY2sqPihyZWludGVycHJldF9jYXN0PEJpdHM+KHApICYgYmxvY2tNYXNrKTsKICAgICB9
CiAKICAgICBpbmxpbmUgSGVhcCogTWFya2VkQmxvY2s6OmhlYXAoKSBjb25zdApAQCAtMTgxLDcg
KzIwNCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgaW5saW5lIHNpemVfdCBNYXJrZWRCbG9j
azo6YXRvbU51bWJlcihjb25zdCB2b2lkKiBwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIChyZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgLSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
dGhpcykpIC8gYXRvbVNpemU7CisgICAgICAgIHJldHVybiAocmVpbnRlcnByZXRfY2FzdDxCaXRz
PihwKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Qml0cz4odGhpcykpIC8gYXRvbVNpemU7CiAgICAgfQog
CiAgICAgaW5saW5lIGJvb2wgTWFya2VkQmxvY2s6OmlzTWFya2VkKGNvbnN0IHZvaWQqIHApCkBA
IC0yMjcsNyArMjUwLDUyIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KLSAgICAKKworICAgIGlubGluZSBzaXplX3QgTWFya2VkQmxvY2s6Om93bmVyU2V0TnVt
YmVyKGNvbnN0IEpTQ2VsbCogY2VsbCkKKyAgICB7CisgICAgICAgIHJldHVybiAocmVpbnRlcnBy
ZXRfY2FzdDxCaXRzPihjZWxsKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Qml0cz4odGhpcykpICogb3du
ZXJTZXRzUGVyQmxvY2sgLyBibG9ja1NpemU7CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgTWFy
a2VkQmxvY2s6OmFkZE9sZFNwYWNlT3duZXIoY29uc3QgSlNDZWxsKiBvd25lciwgY29uc3QgSlND
ZWxsKiBjZWxsKQorICAgIHsKKyAgICAgICAgT3duZXJTZXQmIG93bmVyU2V0ID0gbV9vd25lclNl
dHNbb3duZXJTZXROdW1iZXIoY2VsbCldOworICAgICAgICBvd25lclNldC5hZGQob3duZXIpOwor
ICAgIH0KKworICAgIGlubGluZSBNYXJrZWRCbG9jazo6T3duZXJTZXQ6Ok93bmVyU2V0KCkKKyAg
ICAgICAgOiBtX3NpemUoMCkKKyAgICB7CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgTWFya2Vk
QmxvY2s6Ok93bmVyU2V0OjphZGQoY29uc3QgSlNDZWxsKiBvd25lcikKKyAgICB7CisgICAgICAg
IGlmIChtX3NpemUgPCBjYXBhY2l0eSkgeworICAgICAgICAgICAgbV9vd25lcnNbbV9zaXplKytd
ID0gb3duZXI7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9zaXpl
ID0gY2FwYWNpdHkgKyAxOyAvLyBTaWduYWxzIG92ZXJmbG93LgorICAgIH0KKworICAgIGlubGlu
ZSB2b2lkIE1hcmtlZEJsb2NrOjpPd25lclNldDo6Y2xlYXIoKQorICAgIHsKKyAgICAgICAgbV9z
aXplID0gMDsKKyAgICB9CisKKyAgICBpbmxpbmUgc2l6ZV90IE1hcmtlZEJsb2NrOjpPd25lclNl
dDo6c2l6ZSgpCisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKworICAgIGlu
bGluZSBib29sIE1hcmtlZEJsb2NrOjpPd25lclNldDo6ZGlkT3ZlcmZsb3coKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIG1fc2l6ZSA+IGNhcGFjaXR5OworICAgIH0KKworICAgIGlubGluZSBjb25z
dCBKU0NlbGwqKiBNYXJrZWRCbG9jazo6T3duZXJTZXQ6Om93bmVycygpCisgICAgeworICAgICAg
ICByZXR1cm4gbV9vd25lcnM7CisgICAgfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNw
YWNlIFdURiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lv
biA4OTA3NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIwOCw0ICsxMjA4LDYgQEAKICNlbmRpZgogI2VuZGlmCiAKKyNkZWZpbmUg
RU5BQkxFX0dHQyAxCisKICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97548</attachid>
            <date>2011-06-16 23:40:50 -0700</date>
            <delta_ts>2011-06-17 08:59:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62844-20110616234048.patch</filename>
            <type>text/plain</type>
            <size>18133</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODkxMTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTEtMDYtMTYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzb21lIHdyaXRl
IGJhcnJpZXIgYWN0aW9uLCBjb21waWxlZCBvdXQgYnkgZGVmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4NDQKKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDogQnVpbGQhCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBGaXhlZCBhbiBpbmNyZW1lbnRhbCBidWlsZAorICAgICAgICBp
c3N1ZSB3aXRoIEhlYXAuY3BwLgorCisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAg
KEpTQzo6SGVhcDo6d3JpdGVCYXJyaWVyU2xvd0Nhc2UpOgorICAgICAgICAqIGhlYXAvSGVhcC5o
OgorICAgICAgICAoSlNDOjpIZWFwOjp3cml0ZUJhcnJpZXIpOgorICAgICAgICAqIGhlYXAvTWFy
a2VkQmxvY2suaDoKKyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6OmlzQXRvbUFsaWduZWQpOgor
ICAgICAgICAoSlNDOjpNYXJrZWRCbG9jazo6YmxvY2tGb3IpOgorICAgICAgICAoSlNDOjpNYXJr
ZWRCbG9jazo6YXRvbU51bWJlcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpvd25lclNl
dE51bWJlcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjphZGRPbGRTcGFjZU93bmVyKToK
KyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6Ok93bmVyU2V0OjpPd25lclNldCk6CisgICAgICAg
IChKU0M6Ok1hcmtlZEJsb2NrOjpPd25lclNldDo6YWRkKToKKyAgICAgICAgKEpTQzo6TWFya2Vk
QmxvY2s6Ok93bmVyU2V0OjpjbGVhcik6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpPd25l
clNldDo6c2l6ZSk6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpPd25lclNldDo6ZGlkT3Zl
cmZsb3cpOgorICAgICAgICAoSlNDOjpNYXJrZWRCbG9jazo6T3duZXJTZXQ6Om93bmVycyk6IEFk
ZGVkIGEgYmFzaWMgd3JpdGUgYmFycmllciB0aGF0CisgICAgICAgIHRyYWNrcyBvd25lcnMgZm9y
IHJlZ2lvbnMgd2l0aGluIGJsb2Nrcy4gQ3VycmVudGx5IHVudXNlZC4KKwogMjAxMS0wNi0xNiAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5leHAJKHJldmlzaW9uIDg5MDc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBAIF9fWk4z
SlNDNEhlYXAxN2dsb2JhbE9iamVjdENvdW50RXYKIF9fWk4zSlNDNEhlYXAxN2lzVmFsaWRBbGxv
Y2F0aW9uRW0KIF9fWk4zSlNDNEhlYXAxOXNldEFjdGl2aXR5Q2FsbGJhY2tFTjNXVEYxMFBhc3NP
d25QdHJJTlNfMThHQ0FjdGl2aXR5Q2FsbGJhY2tFRUUKIF9fWk4zSlNDNEhlYXAyMHByb3RlY3Rl
ZE9iamVjdENvdW50RXYKK19fWk4zSlNDNEhlYXAyMHdyaXRlQmFycmllclNsb3dDYXNlRVBLTlNf
NkpTQ2VsbEVQUzFfCiBfX1pOM0pTQzRIZWFwMjVwcm90ZWN0ZWRPYmplY3RUeXBlQ291bnRzRXYK
IF9fWk4zSlNDNEhlYXAyNnByb3RlY3RlZEdsb2JhbE9iamVjdENvdW50RXYKIF9fWk4zSlNDNEhl
YXAyOXJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlRW0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCShyZXZpc2lvbiA4OTA3
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCSh3b3JraW5nIGNvcHkpCkBAIC0zNzQsNiArMzc0
LDcgQEAgRVhQT1JUUwogICAgID93YWl0Rm9yVGhyZWFkQ29tcGxldGlvbkBXVEZAQFlBSElQQVBB
WEBaCiAgICAgP3dyaXRhYmxlQFByb3BlcnR5RGVzY3JpcHRvckBKU0NAQFFCRV9OWFoKICAgICA/
d3JpdGVCYXJyaWVyQEhhbmRsZUhlYXBASlNDQEBRQUVYUEFWSlNWYWx1ZUAyQEFCVjMyQEBaCisg
ICAgP3dyaXRlQmFycmllclNsb3dDYXNlQEhlYXBASlNDQEBDQVhQQlZKU0NlbGxAMkBQQVYzMkBA
WgogICAgID95aWVsZEBXVEZAQFlBWFhaCiAgICAgV1RGTG9nCiAgICAgV1RGTG9nVmVyYm9zZQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDg5MDc1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsOCBAQAogCQkxNEI3MjNCODEyRDdEQTZG
MDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEI3MjM0MDEyRDdEMERBMDAzQkQ1RUQgLyogTWFjaGlu
ZVN0YWNrTWFya2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMTRCOEVDNzIwQTU2NTIwOTAwNjJCRTU0IC8qIENvcmVGb3VuZGF0aW9uLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07
CiAJCTE0QkE3OEYxMTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCQTc4RjAxM0FBQjg4RjAwNUI3
QzJDIC8qIFNsb3RWaXNpdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMTRCQTdBOTcxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRCQTdBOTUxM0FBREZG
ODAwNUI3QzJDIC8qIEhlYXAuY3BwICovOyB9OworCQkxNEJBN0E5ODEzQUFERkY4MDA1QjdDMkMg
LyogSGVhcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRCQTdBOTYxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCAqLzsgfTsKIAkJMTRCRDU5QzUwQTNF
OEY5RjAwQkFGNTlDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMkY1QkQ5MDgyMkExQzcwMDczNjk3
NSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTE0QkQ1QTMwMEEzRTkxRjYw
MEJBRjU5QyAvKiBKU0NvbnRleHRSZWYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTRCRDVBMjkwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29udGV4dFJl
Zi5jcHAgKi87IH07CiAJCTE0QkQ1QTMyMEEzRTkxRjYwMEJBRjU5QyAvKiBKU1ZhbHVlUmVmLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0QkQ1QTJC
MEEzRTkxRjYwMEJBRjU5QyAvKiBKU1ZhbHVlUmVmLmNwcCAqLzsgfTsKQEAgLTE5NCw4ICsxOTYs
NiBAQAogCQkxNEY4QkEzRTEwN0VDODg2MDA5ODkyREMgLyogRmFzdE1hbGxvYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUUyMTdCOTA4RTdFRUND
MDAyM0U1RjYgLyogRmFzdE1hbGxvYy5jcHAgKi87IH07CiAJCTE0RjhCQTQzMTA3RUM4OEMwMDk4
OTJEQyAvKiBUQ1N5c3RlbUFsbG9jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1NDFCRDcwMDhFODBBMTcwMDJDQkVFNyAvKiBUQ1N5c3RlbUFsbG9j
LmNwcCAqLzsgfTsKIAkJMTRGOTc0NDcxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRGOTc0
NDYxMzhDODUzRTAwREExQzY3IC8qIEhlYXBSb290VmlzaXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTE0RkI5ODZEMTM1MjI1NDEwMDg1QTVE
QiAvKiBIZWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0RkI5ODZCMTM1MjI1NDEwMDg1QTVEQiAvKiBIZWFwLmNwcCAqLzsgfTsKLQkJMTRGQjk4
NkUxMzUyMjU0MTAwODVBNURCIC8qIEhlYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0RkI5ODZDMTM1MjI1NDEwMDg1QTVEQiAvKiBIZWFwLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTRGRkY5OEMx
MkJGRkY3NTAwNzk1QkI4IC8qIFBhZ2VBbGxvY2F0aW9uQWxpZ25lZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRjk4QTEyQkZGRjc1MDA3OTVC
QjggLyogUGFnZUFsbG9jYXRpb25BbGlnbmVkLmNwcCAqLzsgfTsKIAkJMTRGRkY5OEQxMkJGRkY3
NTAwNzk1QkI4IC8qIFBhZ2VBbGxvY2F0aW9uQWxpZ25lZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRGRkY5OEIxMkJGRkY3NTAwNzk1QkI4IC8qIFBh
Z2VBbGxvY2F0aW9uQWxpZ25lZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTE4MEI5QjA4MEYxNkQ5NEYwMDlCREJDNSAvKiBDdXJyZW50VGltZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTgwQjlBRjAw
RjE2QzU2OTAwOUJEQkM1IC8qIEN1cnJlbnRUaW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxNSw2ICs4MTUsOCBAQAogCQkxNEI3MjM0MDEy
RDdEMERBMDAzQkQ1RUQgLyogTWFjaGluZVN0YWNrTWFya2VyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1hY2hpbmVTdGFja01hcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNEI4RUNBNjBBNTY1Mzk4MDA2MkJFNTQgLyogSmF2YVNjcmlwdENvcmUuZXhw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuZXhwb3J0czsgcGF0aCA9IEphdmFTY3JpcHRDb3JlLmV4
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA0OyB1c2VzVGFicyA9IDA7IH07
CiAJCTE0QkE3OEYwMTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTbG90VmlzaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxNEJBN0E5NTEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIZWFwLmNwcDsgcGF0aCA9IC4uLy4uLy4uL3dl
YmtpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcDsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OworCQkxNEJBN0E5NjEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIZWFwLmg7IHBhdGggPSAuLi8uLi8uLi93ZWJr
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oOyBzb3VyY2VUcmVlID0gU09VUkNF
X1JPT1Q7IH07CiAJCTE0QkQ1OUJGMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0YXBpICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1v
LmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSB0ZXN0YXBpOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxNEJENUEyOTBBM0U5MUY2MDBCQUY1OUMg
LyogSlNDb250ZXh0UmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0NvbnRleHRSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEJENUEy
QTBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0NvbnRleHRSZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTgzMCw4ICs4MzIsNiBAQAogCQkxNERFMEQ2ODBEMDI0MzE0MDBBQUNDQTIgLyogSlNHbG9i
YWxPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHbG9i
YWxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEYyNTI1NjBEMDhE
RDhEMDA0RUNGRkYgLyogSlNWYXJpYWJsZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1ZhcmlhYmxlT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTE0Rjk3NDQ2MTM4Qzg1M0UwMERBMUM2NyAvKiBIZWFwUm9vdFZpc2l0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcFJvb3RWaXNpdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTE0RkI5ODZCMTM1MjI1NDEwMDg1QTVEQiAvKiBIZWFwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXAuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkxNEZCOTg2QzEzNTIyNTQxMDA4NUE1REIgLyogSGVhcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE0RkZGOThBMTJCRkZGNzUwMDc5NUJCOCAvKiBQYWdlQWxsb2NhdGlvbkFs
aWduZWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUFsbG9j
YXRpb25BbGlnbmVkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRGRkY5OEIx
MkJGRkY3NTAwNzk1QkI4IC8qIFBhZ2VBbGxvY2F0aW9uQWxpZ25lZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlQWxsb2NhdGlvbkFsaWduZWQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTgwQjlBRUYwRjE2QzU2OTAwOUJEQkM1IC8qIEN1cnJlbnRUaW1l
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEN1cnJlbnRUaW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MDAsOCArMTUwMCw4IEBACiAJCQkJ
MTQyRTMxMkUxMzRGRjBBNjAwQUZBREI1IC8qIEhhbmRsZVN0YWNrLmNwcCAqLywKIAkJCQkxNDJF
MzEyRjEzNEZGMEE2MDBBRkFEQjUgLyogSGFuZGxlU3RhY2suaCAqLywKIAkJCQkxNDZGQTVBODEz
NzhGNkIwMDAzNjI3QTMgLyogSGFuZGxlVHlwZXMuaCAqLywKLQkJCQkxNEZCOTg2QjEzNTIyNTQx
MDA4NUE1REIgLyogSGVhcC5jcHAgKi8sCi0JCQkJMTRGQjk4NkMxMzUyMjU0MTAwODVBNURCIC8q
IEhlYXAuaCAqLywKKwkJCQkxNEJBN0E5NTEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5jcHAgKi8s
CisJCQkJMTRCQTdBOTYxM0FBREZGODAwNUI3QzJDIC8qIEhlYXAuaCAqLywKIAkJCQkxNEY5NzQ0
NjEzOEM4NTNFMDBEQTFDNjcgLyogSGVhcFJvb3RWaXNpdG9yLmggKi8sCiAJCQkJMTQyRTMxMzAx
MzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggKi8sCiAJCQkJMTQyRTMxMzExMzRGRjBBNjAwQUZB
REI1IC8qIExvY2FsU2NvcGUuaCAqLywKQEAgLTI1NDgsNyArMjU0OCw2IEBACiAJCQkJODY3MDRC
OEExMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJQYXR0ZXJuLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NjcwNEI0MzEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENoZWNrZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVERTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAvKiBjcmVhdGVfaGFzaF90YWJsZSBp
biBIZWFkZXJzICovLAotCQkJCTE0RkI5ODZFMTM1MjI1NDEwMDg1QTVEQiAvKiBIZWFwLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NjVBMzBGMTEzNTAwN0UxMDBDREI0OUUgLyogSlNWYWx1ZUlubGlu
ZU1ldGhvZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MkQ2RjA5MTM1MzlBMjgwMEIwMkU4NiAv
KiBNYXJrZWRCbG9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyRDZGMTIxMzUzOUE0MTAwQjAy
RTg2IC8qIE1hcmtTdGFjay5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTcwLDYgKzI1NjksNyBAQAog
CQkJCTE0MTQ0OENEMTNBMTc4MzcwMEY1QkExQSAvKiBUaW55Qmxvb21GaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTE0MkExRDg0MTNBMTlDODQwMDlEQTVGRSAvKiBPbGRTcGFjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMTRCQTc4RjExM0FBQjg4RjAwNUI3QzJDIC8qIFNsb3RWaXNpdG9yLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNEJBN0E5ODEzQUFERkY4MDA1QjdDMkMgLyogSGVhcC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0zMDEwLDcgKzMwMTAsNiBAQAogCQkJCTg2NzA0Qjg2MTJEQkEzMzcw
MEE5RkU3QiAvKiBZYXJySklULmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2NzA0Qjg5MTJEQkEz
MzcwMEE5RkU3QiAvKiBZYXJyUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NjcwNEI0
MjEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMTRGQjk4NkQxMzUyMjU0MTAwODVBNURCIC8qIEhlYXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQyRDZGMDgxMzUzOUEyODAwQjAyRTg2IC8qIE1hcmtlZEJsb2NrLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0MkQ2RjExMTM1MzlBNDEwMEIwMkU4NiAvKiBNYXJrU3RhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODZBRTY0QTgxMzVFNUUxQzAwOTYzMDEyIC8qIE1hY3JvQXNzZW1i
bGVyU0g0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzAxOCw2ICszMDE3LDcgQEAKIAkJCQk4NkJC
MDlDMDEzOEUzODFCMDA1NjcwMkYgLyogREZHUmVwYXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxNEQyRjNEQTEzOUY0QkUyMDA0OTEwMzEgLyogTmV3U3BhY2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQyQTFEODMxM0ExOUM4NDAwOURBNUZFIC8qIE9sZFNwYWNlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0QkE3QTk3MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDg5MDc0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTYwNSw0ICs2MDUsMTkgQEAgdm9pZCBIZWFwOjpzaHJpbmsoKQogICAgIGZyZWVCbG9ja3Mo
Zm9yRWFjaEJsb2NrKHRha2VJZkVtcHR5KSk7CiB9CiAKKyNpZiBFTkFCTEUoR0dDKQordm9pZCBI
ZWFwOjp3cml0ZUJhcnJpZXJTbG93Q2FzZShjb25zdCBKU0NlbGwqIG93bmVyLCBKU0NlbGwqIGNl
bGwpCit7CisgICAgaWYgKCFjZWxsKQorICAgICAgICByZXR1cm47CisgICAgTWFya2VkQmxvY2s6
OmJsb2NrRm9yKGNlbGwpLT5hZGRPbGRTcGFjZU93bmVyKG93bmVyLCBjZWxsKTsKK30KKworI2Vs
c2UKKwordm9pZCBIZWFwOjp3cml0ZUJhcnJpZXJTbG93Q2FzZShjb25zdCBKU0NlbGwqLCBKU0Nl
bGwqKQoreworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gODkwNzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgICAgICBSZWdpc3RlckZpbGUmIHJlZ2lzdGVyRmlsZSgpOwogCisgICAg
ICAgIHN0YXRpYyB2b2lkIHdyaXRlQmFycmllclNsb3dDYXNlKGNvbnN0IEpTQ2VsbCosIEpTQ2Vs
bCopOworCiAgICAgICAgIE9wZXJhdGlvbkluUHJvZ3Jlc3MgbV9vcGVyYXRpb25JblByb2dyZXNz
OwogICAgICAgICBOZXdTcGFjZSBtX25ld1NwYWNlOwogICAgICAgICBNYXJrZWRCbG9ja1NldCBt
X2Jsb2NrczsKQEAgLTE5OCwxNCArMjAwLDM0IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBN
YXJrZWRCbG9jazo6YmxvY2tGb3IoY2VsbCktPnNldE1hcmtlZChjZWxsKTsKICAgICB9CiAKLSAg
ICBpbmxpbmUgdm9pZCBIZWFwOjp3cml0ZUJhcnJpZXIoY29uc3QgSlNDZWxsKiwgSlNWYWx1ZSkK
KyNpZiBFTkFCTEUoR0dDKQorICAgIGlubGluZSB2b2lkIEhlYXA6OndyaXRlQmFycmllcihjb25z
dCBKU0NlbGwqIG93bmVyLCBKU0NlbGwqIGNlbGwpCisgICAgeworICAgICAgICBpZiAoTWFya2Vk
QmxvY2s6OmJsb2NrRm9yKG93bmVyKS0+aW5OZXdTcGFjZSgpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB3cml0ZUJhcnJpZXJTbG93Q2FzZShvd25lciwgY2VsbCk7CisgICAgfQorCisg
ICAgaW5saW5lIHZvaWQgSGVhcDo6d3JpdGVCYXJyaWVyKGNvbnN0IEpTQ2VsbCogb3duZXIsIEpT
VmFsdWUgdmFsdWUpCiAgICAgeworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB3cml0ZUJhcnJpZXIob3duZXIsIHZhbHVlLmFzQ2VsbCgpKTsKICAgICB9CiAKKyNl
bHNlCisKICAgICBpbmxpbmUgdm9pZCBIZWFwOjp3cml0ZUJhcnJpZXIoY29uc3QgSlNDZWxsKiwg
SlNDZWxsKikKICAgICB7CiAgICAgfQogCisgICAgaW5saW5lIHZvaWQgSGVhcDo6d3JpdGVCYXJy
aWVyKGNvbnN0IEpTQ2VsbCosIEpTVmFsdWUpCisgICAgeworICAgIH0KKyNlbmRpZgorCiAgICAg
aW5saW5lIHZvaWQgSGVhcDo6cmVwb3J0RXh0cmFNZW1vcnlDb3N0KHNpemVfdCBjb3N0KQogICAg
IHsKICAgICAgICAgaWYgKGNvc3QgPiBtaW5FeHRyYUNvc3QpIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCShyZXZpc2lvbiA4OTA3NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDEz
ICs0MiwzNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBNYXJrZWRCbG9jayA6IHB1Ymxp
YyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxNYXJrZWRCbG9jaz4gewogICAgICAgICBmcmllbmQgY2xh
c3MgV1RGOjpEb3VibHlMaW5rZWRMaXN0Tm9kZTxNYXJrZWRCbG9jaz47CiAgICAgcHVibGljOgor
ICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGF0b21TaXplID0gc2l6ZW9mKGRvdWJsZSk7IC8v
IEVuc3VyZXMgbmF0dXJhbCBhbGlnbm1lbnQgZm9yIGFsbCBidWlsdC1pbiB0eXBlcy4KKyAgICAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBibG9ja1NpemUgPSAxNiAqIEtCOworCisgICAgICAgIHN0
YXRpYyBjb25zdCBzaXplX3QgYXRvbXNQZXJCbG9jayA9IGJsb2NrU2l6ZSAvIGF0b21TaXplOyAv
LyB+MS41JSBvdmVyaGVhZAorICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG93bmVyU2V0c1Bl
ckJsb2NrID0gODsgLy8gfjIlIG92ZXJoZWFkLgorCiAgICAgICAgIHN0cnVjdCBWb2lkRnVuY3Rv
ciB7CiAgICAgICAgICAgICB0eXBlZGVmIHZvaWQgUmV0dXJuVHlwZTsKICAgICAgICAgICAgIHZv
aWQgcmV0dXJuVmFsdWUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGF0b21TaXplID0gc2l6ZW9mKGRvdWJsZSk7IC8vIEVuc3VyZXMgbmF0dXJhbCBhbGln
bm1lbnQgZm9yIGFsbCBidWlsdC1pbiB0eXBlcy4KLSAgICAgICAgc3RhdGljIGNvbnN0IHNpemVf
dCBibG9ja1NpemUgPSAxNiAqIEtCOworICAgICAgICBjbGFzcyBPd25lclNldCB7CisgICAgICAg
IHB1YmxpYzoKKyAgICAgICAgICAgIE93bmVyU2V0KCk7CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIHZvaWQgYWRkKGNvbnN0IEpTQ2VsbCopOworICAgICAgICAgICAgdm9pZCBjbGVhcigpOwor
CisgICAgICAgICAgICBzaXplX3Qgc2l6ZSgpOworICAgICAgICAgICAgYm9vbCBkaWRPdmVyZmxv
dygpOworICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBKU0NlbGwqKiBvd25lcnMoKTsK
KworICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjYXBh
Y2l0eSA9IDU7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIG1fc2l6ZTsKKyAgICAgICAgICAg
IGNvbnN0IEpTQ2VsbCogbV9vd25lcnNbY2FwYWNpdHldOworICAgICAgICB9OwogCiAgICAgICAg
IHN0YXRpYyBNYXJrZWRCbG9jayogY3JlYXRlKEhlYXAqLCBzaXplX3QgY2VsbFNpemUpOwogICAg
ICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KE1hcmtlZEJsb2NrKik7CkBAIC03NiwzMSArOTcsMzMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHNpemVfdCBzaXplKCk7CiAgICAgICAgIHNpemVf
dCBjYXBhY2l0eSgpOwogCi0gICAgICAgIHNpemVfdCBhdG9tTnVtYmVyKGNvbnN0IHZvaWQqKTsK
ICAgICAgICAgYm9vbCBpc01hcmtlZChjb25zdCB2b2lkKik7CiAgICAgICAgIGJvb2wgdGVzdEFu
ZFNldE1hcmtlZChjb25zdCB2b2lkKik7CiAgICAgICAgIGJvb2wgdGVzdEFuZENsZWFyTWFya2Vk
KGNvbnN0IHZvaWQqKTsKICAgICAgICAgdm9pZCBzZXRNYXJrZWQoY29uc3Qgdm9pZCopOwotICAg
ICAgICAKKworICAgICAgICB2b2lkIGFkZE9sZFNwYWNlT3duZXIoY29uc3QgSlNDZWxsKiBvd25l
ciwgY29uc3QgSlNDZWxsKik7CisKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+
IHZvaWQgZm9yRWFjaENlbGwoRnVuY3RvciYpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBibG9ja01hc2sgPSB+KGJsb2NrU2l6ZSAtIDEpOyAvLyBibG9ja1Np
emUgbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4KLQogICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGF0b21NYXNrID0gfihhdG9tU2l6ZSAtIDEpOyAvLyBhdG9tU2l6ZSBtdXN0IGJlIGEgcG93ZXIg
b2YgdHdvLgotICAgICAgICAKLSAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBhdG9tc1BlckJs
b2NrID0gYmxvY2tTaXplIC8gYXRvbVNpemU7CiAKICAgICAgICAgdHlwZWRlZiBjaGFyIEF0b21b
YXRvbVNpemVdOwogCiAgICAgICAgIE1hcmtlZEJsb2NrKGNvbnN0IFBhZ2VBbGxvY2F0aW9uQWxp
Z25lZCYsIEhlYXAqLCBzaXplX3QgY2VsbFNpemUpOwogICAgICAgICBBdG9tKiBhdG9tcygpOwog
CisgICAgICAgIHNpemVfdCBhdG9tTnVtYmVyKGNvbnN0IHZvaWQqKTsKKyAgICAgICAgc2l6ZV90
IG93bmVyU2V0TnVtYmVyKGNvbnN0IEpTQ2VsbCopOworCiAgICAgICAgIHNpemVfdCBtX25leHRB
dG9tOwogICAgICAgICBzaXplX3QgbV9lbmRBdG9tOyAvLyBUaGlzIGlzIGEgZnV6enkgZW5kLiBB
bHdheXMgdGVzdCBmb3IgPCBtX2VuZEF0b20uCiAgICAgICAgIHNpemVfdCBtX2F0b21zUGVyQ2Vs
bDsKICAgICAgICAgV1RGOjpCaXRtYXA8YmxvY2tTaXplIC8gYXRvbVNpemU+IG1fbWFya3M7CiAg
ICAgICAgIGJvb2wgbV9pbk5ld1NwYWNlOworICAgICAgICBPd25lclNldCBtX293bmVyU2V0c1tv
d25lclNldHNQZXJCbG9ja107CiAgICAgICAgIFBhZ2VBbGxvY2F0aW9uQWxpZ25lZCBtX2FsbG9j
YXRpb247CiAgICAgICAgIEhlYXAqIG1faGVhcDsKICAgICAgICAgTWFya2VkQmxvY2sqIG1fcHJl
djsKQEAgLTExOSwxMiArMTQyLDEyIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgaW5saW5lIGJv
b2wgTWFya2VkQmxvY2s6OmlzQXRvbUFsaWduZWQoY29uc3Qgdm9pZCogcCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiAhKChpbnRwdHJfdCkocCkgJiB+YXRvbU1hc2spOworICAgICAgICByZXR1cm4g
IShyZWludGVycHJldF9jYXN0PEJpdHM+KHApICYgfmF0b21NYXNrKTsKICAgICB9CiAKICAgICBp
bmxpbmUgTWFya2VkQmxvY2sqIE1hcmtlZEJsb2NrOjpibG9ja0Zvcihjb25zdCB2b2lkKiBwKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8TWFya2VkQmxvY2sqPihyZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgJiBibG9ja01hc2spOworICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxNYXJrZWRCbG9jayo+KHJlaW50ZXJwcmV0X2Nhc3Q8Qml0cz4ocCkg
JiBibG9ja01hc2spOwogICAgIH0KIAogICAgIGlubGluZSBIZWFwKiBNYXJrZWRCbG9jazo6aGVh
cCgpIGNvbnN0CkBAIC0xODEsNyArMjA0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxp
bmUgc2l6ZV90IE1hcmtlZEJsb2NrOjphdG9tTnVtYmVyKGNvbnN0IHZvaWQqIHApCiAgICAgewot
ICAgICAgICByZXR1cm4gKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwKSAtIHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90Pih0aGlzKSkgLyBhdG9tU2l6ZTsKKyAgICAgICAgcmV0dXJuIChy
ZWludGVycHJldF9jYXN0PEJpdHM+KHApIC0gcmVpbnRlcnByZXRfY2FzdDxCaXRzPih0aGlzKSkg
LyBhdG9tU2l6ZTsKICAgICB9CiAKICAgICBpbmxpbmUgYm9vbCBNYXJrZWRCbG9jazo6aXNNYXJr
ZWQoY29uc3Qgdm9pZCogcCkKQEAgLTIyNyw3ICsyNTAsNTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIAorCisgICAgaW5saW5lIHNpemVfdCBNYXJr
ZWRCbG9jazo6b3duZXJTZXROdW1iZXIoY29uc3QgSlNDZWxsKiBjZWxsKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIChyZWludGVycHJldF9jYXN0PEJpdHM+KGNlbGwpIC0gcmVpbnRlcnByZXRfY2Fz
dDxCaXRzPih0aGlzKSkgKiBvd25lclNldHNQZXJCbG9jayAvIGJsb2NrU2l6ZTsKKyAgICB9CisK
KyAgICBpbmxpbmUgdm9pZCBNYXJrZWRCbG9jazo6YWRkT2xkU3BhY2VPd25lcihjb25zdCBKU0Nl
bGwqIG93bmVyLCBjb25zdCBKU0NlbGwqIGNlbGwpCisgICAgeworICAgICAgICBPd25lclNldCYg
b3duZXJTZXQgPSBtX293bmVyU2V0c1tvd25lclNldE51bWJlcihjZWxsKV07CisgICAgICAgIG93
bmVyU2V0LmFkZChvd25lcik7CisgICAgfQorCisgICAgaW5saW5lIE1hcmtlZEJsb2NrOjpPd25l
clNldDo6T3duZXJTZXQoKQorICAgICAgICA6IG1fc2l6ZSgwKQorICAgIHsKKyAgICB9CisKKyAg
ICBpbmxpbmUgdm9pZCBNYXJrZWRCbG9jazo6T3duZXJTZXQ6OmFkZChjb25zdCBKU0NlbGwqIG93
bmVyKQorICAgIHsKKyAgICAgICAgaWYgKG1fc2l6ZSA8IGNhcGFjaXR5KSB7CisgICAgICAgICAg
ICBtX293bmVyc1ttX3NpemUrK10gPSBvd25lcjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICBtX3NpemUgPSBjYXBhY2l0eSArIDE7IC8vIFNpZ25hbHMgb3ZlcmZsb3cu
CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgTWFya2VkQmxvY2s6Ok93bmVyU2V0OjpjbGVhcigp
CisgICAgeworICAgICAgICBtX3NpemUgPSAwOworICAgIH0KKworICAgIGlubGluZSBzaXplX3Qg
TWFya2VkQmxvY2s6Ok93bmVyU2V0OjpzaXplKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Np
emU7CisgICAgfQorCisgICAgaW5saW5lIGJvb2wgTWFya2VkQmxvY2s6Ok93bmVyU2V0OjpkaWRP
dmVyZmxvdygpCisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplID4gY2FwYWNpdHk7CisgICAg
fQorCisgICAgaW5saW5lIGNvbnN0IEpTQ2VsbCoqIE1hcmtlZEJsb2NrOjpPd25lclNldDo6b3du
ZXJzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX293bmVyczsKKyAgICB9CisKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1BsYXRmb3JtLmgJKHJldmlzaW9uIDg5MDc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsNiBAQAogI2VuZGlm
CiAjZW5kaWYKIAorI2RlZmluZSBFTkFCTEVfR0dDIDEKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9y
bV9oICovCg==
</data>
<flag name="review"
          id="91529"
          type_id="1"
          status="+"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="91564"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>