<?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>45553</bug_id>
          
          <creation_ts>2010-09-10 11:30:45 -0700</creation_ts>
          <short_desc>Make FileEntry and DirectoryEntry methods accessible via Entry instance</short_desc>
          <delta_ts>2010-09-30 13:39:33 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>42903</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>277324</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-10 11:30:45 -0700</bug_when>
    <thetext>Make FileEntry and DirectoryEntry methods accessible via Entry instance.

Usually user script obtains an Entry (either file or directory) via callbacks as an &apos;Entry&apos; instance, but since there&apos;s no concept of &apos;cast&apos; in Javascript the script cannot call FileEntry- or DirectoryEntry-specific methods on the returned &apos;Entry&apos; instance.

Probably we could add some tricks in the binding code, or the quickest short-term solution would be:
1. (in idl) adding FileEntry- and DirectoryEntry-specific methods to Entry
2. (in c++ impl) making the methods virtual
3. throws an exception if Entry&apos;s base implementation is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277355</commentid>
    <comment_count>1</comment_count>
      <attachid>67219</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-10 12:02:59 -0700</bug_when>
    <thetext>Created attachment 67219
Patch

Work-around patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278602</commentid>
    <comment_count>2</comment_count>
      <attachid>67495</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 17:57:42 -0700</bug_when>
    <thetext>Created attachment 67495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278603</commentid>
    <comment_count>3</comment_count>
      <attachid>67495</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-13 18:05:33 -0700</bug_when>
    <thetext>Comment on attachment 67495
Patch

great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278607</commentid>
    <comment_count>4</comment_count>
      <attachid>67497</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 18:07:25 -0700</bug_when>
    <thetext>Created attachment 67497
Patch

Removed unnecessary changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278616</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 18:14:09 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 67495 [details])
&gt; great!

Oops... mid-air collision :(  Could you r+ one more time on the new one?  Thanks so much.

https://bugs.webkit.org/attachment.cgi?id=67497&amp;action=edit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278720</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 21:59:43 -0700</bug_when>
    <thetext>Committed r67443: &lt;http://trac.webkit.org/changeset/67443&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67219</attachid>
            <date>2010-09-10 12:02:59 -0700</date>
            <delta_ts>2010-09-10 16:28:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45553-20100910120257.patch</filename>
            <type>text/plain</type>
            <size>11846</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjAzZDQyYzllNTZmMDA5NjQ0Njk1NTBmOTQ5NzFkNTM2Y2E5MThiMC4uZmM1ZDk2OWU4MzlhMzI5
MmUxZjk0NWJkODk5N2Y0NDY2M2NlODhhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMC0wOS0xMCAgS2lu
dWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBGaWxlRW50cnkgYW5kIERpcmVjdG9yeUVu
dHJ5IG1ldGhvZHMgYWNjZXNzaWJsZSB2aWEgRW50cnkgaW5zdGFuY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NTUzCisKKyAgICAgICAgVXN1YWxs
eSB1c2VyIHNjcmlwdCBvYnRhaW5zIGFuIEVudHJ5IChlaXRoZXIgZmlsZSBvciBkaXJlY3Rvcnkp
IHZpYSBjYWxsYmFja3MgYXMgYW4gJ0VudHJ5JyBpbnN0YW5jZSwgYnV0IHNpbmNlIHRoZXJlJ3Mg
bm8gY29uY2VwdCBvZiAnY2FzdCcgaW4gSmF2YXNjcmlwdCB0aGUgc2NyaXB0IGNhbm5vdCBjYWxs
IEZpbGVFbnRyeS0gb3IgRGlyZWN0b3J5RW50cnktc3BlY2lmaWMgbWV0aG9kcyBvbiB0aGUgcmV0
dXJuZWQgJ0VudHJ5JyBpbnN0YW5jZS4KKworICAgICAgICBBcyBhIHNob3J0LXRlcm0gc29sdXRp
b24sIHRoaXMgcGF0Y2ggYWRkcyAoZXhwb3NlcykgYWxsIHRoZSBGaWxlRW50cnktIGFuZCBEaXJl
Y3RvcnlFbnRyeS1zcGVjaWZpYyBtZXRob2RzIGluIEVudHJ5IGFuZCBtYWtlIGl0IHRocm93IGFu
IGV4Y2VwdGlvbiBpZiBFbnRyeSdzIGJhc2UgaW1wbGVtZW50YXRpb24gaXMgY2FsbGVkLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0czsgd2lsbCBiZSBhZGRlZCBsYXRlci4KKworICAgICAgICAqIGZp
bGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50
cnk6OmNyZWF0ZVJlYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeTo6Z2V0
RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KToK
KyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmg6CisgICAgICAgICogZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogZmlsZWFwaS9FbnRyeS5jcHA6CisgICAgICAg
ICogZmlsZWFwaS9FbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Y3JlYXRlUmVh
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5OjpnZXRGaWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkVudHJ5OjpnZXREaXJlY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6OmNyZWF0
ZVdyaXRlcik6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6ZmlsZSk6CisgICAgICAgICogZmls
ZWFwaS9FbnRyeS5oOgorICAgICAgICAqIGZpbGVhcGkvRW50cnkuaWRsOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdyaXRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpmaWxlKToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeS5oOgor
CiAyMDEwLTA5LTA5ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVu
dHJ5LmNwcAppbmRleCA5NWMxMmU0OGY4MTBiMWJkZTA4MDEzODAzMTdmNjcyYzdmODZlY2M0Li5m
ZmZkMTE0NDIxYTUzMjE0ZTE3YTljNTYzNjg1ZGEzYmQ5Y2ViN2U3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeS5jcHAKQEAgLTQ0LDE4ICs0NCwyMSBAQCBEaXJlY3RvcnlFbnRyeTo6RGlyZWN0
b3J5RW50cnkoRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0
aAogewogfQogCi1QYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gRGlyZWN0b3J5RW50cnk6OmNy
ZWF0ZVJlYWRlcigpCitQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gRGlyZWN0b3J5RW50cnk6
OmNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBlYyA9IDA7CiAgICAgcmV0
dXJuIERpcmVjdG9yeVJlYWRlcjo6Y3JlYXRlKG1fZmlsZVN5c3RlbSwgbV9mdWxsUGF0aCk7CiB9
CiAKLXZvaWQgRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
UmVmUHRyPEZsYWdzPiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK3ZvaWQgRGly
ZWN0b3J5RW50cnk6OmdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdz
PiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NS
ZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CisgICAgZWMgPSAwOwogICAgIG1fZmlsZVN5c3RlbS0+Z2V0RmlsZSh0aGlzLCBwYXRoLCBmbGFn
cywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAotdm9pZCBEaXJlY3RvcnlF
bnRyeTo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxGbGFncz4g
ZmxhZ3MsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVm
UHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCit2b2lkIERpcmVjdG9yeUVudHJ5Ojpn
ZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBmbGFncywg
UGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgZWMg
PSAwOwogICAgIG1fZmlsZVN5c3RlbS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eS5oCmluZGV4IDNjZDhhYjVkYzc4N2MwYWVkNjAxNzE0M2Y1NDI3M2Y5ZjljZjg5ZWQuLjBmNzUx
ZDljZTYxOTgyN2M4ZTRkZmJjODk1NzM5Mjk4MzgzMGQzMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5oCkBAIC01Myw5ICs1Myw5IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCBib29s
IGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgUGFzc1JlZlB0cjxE
aXJlY3RvcnlSZWFkZXI+IGNyZWF0ZVJlYWRlcigpOwotICAgIHZvaWQgZ2V0RmlsZShjb25zdCBT
dHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IG9wdGlvbnMgPSAwLCBQYXNzUmVmUHRyPEVu
dHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjayA9IDApOwotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYgcGF0aCwgUGFzc1JlZlB0cjxGbGFncz4gb3B0aW9ucyA9IDAsIFBhc3NSZWZQdHI8RW50cnlD
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrID0gMCk7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRl
cj4gY3JlYXRlUmVhZGVyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0Rmls
ZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+LCBQYXNzUmVmUHRyPEVudHJ5
Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdmlydHVhbCB2b2lkIGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQ
dHI8RmxhZ3M+LCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+LCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CiAgICAgRGlyZWN0b3J5RW50cnko
RE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsIGIvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeUVudHJ5LmlkbAppbmRleCBhYzMwYzdmODgzMzdlYjNkODYyYzU1Zjg0NmQ5
MjdmMDBkNWZhYTI0Li4xOTg3Njk5OTFhZWZmMmY2Nzg5NjcyNTJjYmRmMzg3MTc5NDcxOTlhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTM0LDggKzM0LDUgQEAgbW9kdWxlIHN0
b3JhZ2UgewogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKICAgICAgICAgR2VuZXJh
dGVUb0pTCiAgICAgXSBEaXJlY3RvcnlFbnRyeSA6IEVudHJ5IHsKLSAgICAgICAgRGlyZWN0b3J5
UmVhZGVyIGNyZWF0ZVJlYWRlcigpOwotICAgICAgICB2b2lkIGdldEZpbGUoaW4gRE9NU3RyaW5n
IHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3Mgb3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFj
a10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIHZvaWQgZ2V0RGlyZWN0b3J5
KGluIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIEZsYWdzIG9wdGlvbnMsIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIH07CiB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5LmNwcAppbmRleCBmYmJlZGYyMGU3NDRkMjZjMGZhOTVjZjMzNDU5Yzg3MjBkY2JjN2Q5Li43
NWU0YjA2OTQ2YzkzZGY5OGM1N2U4N2M5YWEwNzk2YWJlODliOThhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJET01GaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRW50
cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiTWV0YWRhdGFD
YWxsYmFjay5oIgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgpAQCAtODUsNiArODYsMzEgQEAg
U3RyaW5nIEVudHJ5Ojp0b1VSSShjb25zdCBTdHJpbmcmKQogICAgIHJldHVybiBTdHJpbmcoKTsK
IH0KIAorUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXI+IEVudHJ5OjpjcmVhdGVSZWFkZXIoRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKK30KKwordm9p
ZCBFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEZsYWdzPiwgUGFzc1Jl
ZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKK30KKwordm9pZCBFbnRy
eTo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8RmxhZ3M+LCBQYXNzUmVm
UHRyPEVudHJ5Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOworfQorCit2b2lkIEVudHJ5
OjpjcmVhdGVXcml0ZXIoUGFzc1JlZlB0cjxGaWxlV3JpdGVyQ2FsbGJhY2s+LCBQYXNzUmVmUHRy
PEVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IFRZUEVfTUlT
TUFUQ0hfRVJSOworfQorCit2b2lkIEVudHJ5OjpmaWxlKFBhc3NSZWZQdHI8RmlsZUNhbGxiYWNr
PiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgZWMg
PSBUWVBFX01JU01BVENIX0VSUjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5LmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaAppbmRleCA5YWY1MzJmOWJhYWM1NWRjMTE0
NDJiOGVlMDc5M2E1OWY5ZGUwOGExLi5lMmZmNGQ2MTBmNjdlZWJjNWZlNDQ3MGExZWQyYjAzYWVk
NTUwNDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvRW50cnkuaApAQCAtMzksMTEgKzM5LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgRGlyZWN0b3J5UmVhZGVyOwogY2xhc3MgRW50cnlDYWxsYmFjazsKIGNsYXNz
IEVycm9yQ2FsbGJhY2s7CiBjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOwogY2xhc3MgVm9pZENhbGxi
YWNrOwogCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCiBjbGFzcyBFbnRyeSA6IHB1Ymxp
YyBSZWZDb3VudGVkPEVudHJ5PiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RW50cnkoKSB7IH0K
QEAgLTY0LDYgKzY3LDE1IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3RyaW5nIHRvVVJJKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUgPSBTdHJpbmcoKSk7CiAKKyAgICAvLyBEaXJlY3RvcnlFbnRy
eSBtZXRob2RzLgorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXI+IGNyZWF0
ZVJlYWRlcihFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGdldEZpbGUoY29uc3Qg
U3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNr
PiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1
YWwgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdz
PiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgLy8gRmlsZUVudHJ5IG1ldGhvZHMuCisgICAgdmlydHVh
bCB2b2lkIGNyZWF0ZVdyaXRlcihQYXNzUmVmUHRyPEZpbGVXcml0ZXJDYWxsYmFjaz4sIFBhc3NS
ZWZQdHI8RXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZmlsZShQYXNzUmVmUHRyPEZpbGVDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4s
IEV4Y2VwdGlvbkNvZGUmKTsKKwogcHJvdGVjdGVkOgogICAgIEVudHJ5KERPTUZpbGVTeXN0ZW0q
IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvRW50cnkuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5LmlkbAppbmRleCBl
MmMxZTEyODk5NGExYjdjNTNhMThiNGQwYTdhZmE1NmViNTc0ODQ1Li4zNGY5NzIwNmQyMTRlMWVm
Y2M0MjAwMmE2YzhmZmYyYjgyNmYwZWEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50
cnkuaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5pZGwKQEAgLTM5LDkgKzM5LDI1IEBA
IG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUZpbGVTeXN0
ZW0gZmlsZXN5c3RlbTsKIAogICAgICAgICB2b2lkIGdldE1ldGFkYXRhKGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIE1ldGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICB2b2lkIG1v
dmVUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICB2
b2lkIGNvcHlUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAg
ICAgICB2b2lkIG1vdmVUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgQ29udmVydFVu
ZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIGNvcHlU
byhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRv
TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAgICB2b2lkIHJlbW92ZShpbiBbT3B0aW9uYWws
IENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAgICB2b2lkIGdldFBh
cmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFj
aywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsK
KworICAgICAgICAvLyBGaWxlRW50cnkgbWV0aG9kcy4KKyAgICAgICAgLy8gRklYTUU6IElkZWFs
bHkgdGhleSBzaG91bGRuJ3QgYmUgZXhwb3NlZCBpbiBFbnRyeS4KKyAgICAgICAgY3JlYXRlV3Jp
dGVyKGluIEZpbGVXcml0ZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjaykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
ICAgICBmaWxlKGluIEZpbGVDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIEVycm9yQ2FsbGJh
Y2sgZXJyb3JDYWxsYmFjaykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCisg
ICAgICAgIC8vIERpcmVjdG9yeUVudHJ5IG1ldGhvZHMuCisgICAgICAgIC8vIEZJWE1FOiBJZGVh
bGx5IHRoZXkgc2hvdWxkbid0IGJlIGV4cG9zZWQgaW4gRW50cnkuCisgICAgICAgIERpcmVjdG9y
eVJlYWRlciBjcmVhdGVSZWFkZXIoKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CisgICAgICAgIHZvaWQgZ2V0RmlsZShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0
cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIEZsYWdzIGZsYWdzLCBpbiBbQ2FsbGJhY2tdIEVudHJ5
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjaykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2
b2lkIGdldERpcmVjdG9yeShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIHBhdGgsIGluIEZsYWdzIGZsYWdzLCBpbiBbQ2FsbGJhY2tdIEVudHJ5Q2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjaykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRW50cnkuY3BwCmluZGV4IGUyYTU4M2NjNjk0NzU3MGM0ODliOTk1MGQwMDRiMjg1N2QzMDcz
ZmQuLmNjMTA0MmVjNjlmMWE1MTQ5N2NlNjRkNDMyYWI0ZDQxMjk5MjlmOTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnkuY3BwCkBAIC0zMyw2ICszMyw5IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAK
KyNpbmNsdWRlICJGaWxlQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2su
aCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBGaWxlRW50cnk6OkZpbGVFbnRyeShET01GaWxl
U3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQpAQCAtNDAsNiArNDMs
MTggQEAgRmlsZUVudHJ5OjpGaWxlRW50cnkoRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBmdWxsUGF0aCkKIHsKIH0KIAorI2lmIEVOQUJMRShGSUxFX1dSSVRFUikKK3Zv
aWQgY3JlYXRlV3JpdGVyKFBhc3NSZWZQdHI8RmlsZVdyaXRlckNhbGxiYWNrPiwgUGFzc1JlZlB0
cjxFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgLy8gRklYTUU6IHRvIGJl
IGltcGxlbWVudGVkLgorfQorI2VuZGlmCisKK3ZvaWQgZmlsZShQYXNzUmVmUHRyPEZpbGVDYWxs
YmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKQoreworICAg
IC8vIEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KK30KKwogfSAvLyBuYW1lc3BhY2UKIAogI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRW50cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaAppbmRleCBhYmNjNmJiNjY5
ZmZjYzUwY2I5NTQ5ZDk4OTA2NDE3YjA3YjFhMjY2Li4xYTY1NjkyNDYyZDMzYTQ0YjE5N2FkNzUw
NmNlYWNjN2FjZjkxZjBkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmgK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeS5oCkBAIC0zOCw2ICszOCw4IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW07CitjbGFzcyBGaWxlQ2FsbGJh
Y2s7CitjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIEZpbGVFbnRyeSA6IHB1Ymxp
YyBFbnRyeSB7CiBwdWJsaWM6CkBAIC00NSw2ICs0NywxMCBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkp
OwogICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVXcml0ZXIoUGFzc1JlZlB0cjxGaWxl
V3JpdGVyQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2Rl
Jik7CisgICAgdmlydHVhbCB2b2lkIGZpbGUoUGFzc1JlZlB0cjxGaWxlQ2FsbGJhY2s+LCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7CisKICAgICB2aXJ0dWFsIGJv
b2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67495</attachid>
            <date>2010-09-13 17:57:42 -0700</date>
            <delta_ts>2010-09-13 18:07:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45553-20100913175741.patch</filename>
            <type>text/plain</type>
            <size>20661</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGUyODhkOTNiYjc1YWRkNmQzMGFiMzdmNGRhZGY5MWJiYjcwNTA1YTguLmU0Mzdk
MTRjZjcwOWJmNDJmMTE1ZGRkNGY0ZGMyOGMyOWE4ZmJmZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU2OSw2ICsx
NTY5LDcgQEAgRU5ESUYgKCkKIAogaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5j
cHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKICAgICAgICAgZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXIuY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGguY3BwCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiMDc1
NDM2YjdmNzFkOGMzZGI0NmIzMmE2YTEzYjA1NDIzZjNiMmEuLmYxMGY2MjA3YmRiYzljMzQyNWI2
YzY3ZTkzNDc5OTQxZjk5MmY2NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDktMTMgIEtpbnVrbyBZ
YXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgRmlsZUVudHJ5IGFuZCBEaXJlY3RvcnlFbnRyeSBt
ZXRob2RzIGFjY2Vzc2libGUgdmlhIEVudHJ5IGluc3RhbmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTU1MworCisgICAgICAgIEZpbGVFbnRyeS0g
YW5kIERpcmVjdG9yeUVudHJ5LSBzcGVjaWZpYyBtZXRob2RzIG11c3QgYmUgYXZhaWxhYmxlIG9u
IEVudHJ5IG9iamVjdCBiYXNlZCBvbiBpdHMgaW50ZXJuYWwgdHlwZS4KKworICAgICAgICBBZGRl
ZCBjdXN0b20gdG9KUy90b1Y4IGltcGxlbWVudGF0aW9uIHRvIEVudHJ5IGludGVyZmFjZS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHM7IHRlc3Qgd2lsbCBiZSBhZGRlZCBsYXRlciB3aGVuIHdlIGhh
dmUgY29tcGxldGUgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBBUEkuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVu
dHJ5Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmg6CisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5pZGw6CisgICAgICAgICogZmlsZWFwaS9FbnRyeS5jcHA6CisgICAgICAgICogZmlsZWFw
aS9FbnRyeS5oOgorICAgICAgICAqIGZpbGVhcGkvRW50cnkuaWRsOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFbnRyeTo6Y3JlYXRlV3Jp
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFbnRyeTo6ZmlsZSk6CisgICAgICAgICogZmls
ZWFwaS9GaWxlRW50cnkuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeS5pZGw6CisKIDIw
MTAtMDktMTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAwYjgzNmMxZmNkMTE5ZTNiOThhY2M1ZDllOGE2
MzYxMmI4NDVhNTAwLi5hYjY4NTI3ZDA3NzRjYzI4OTkxOWIxN2I4OGQ3YjM2YWM0ODhhNTFhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KQEAgLTY5OSw2ICs2OTksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwK
KwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRM
aXN0ZW5lci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA3NzAzNTQ2YWEwOTAwOTk3M2E5NmZmZGU0MzljMTYzODVlZTUyYmE1Li5kYTdjNTEwMmY4
ZGExYzhmZjA1MTRjZTY1MDY0NTgyZWMxYzAwMDI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTgxLDYgKzU4MSw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RWxlbWVudEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRW50cnlDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmgnLApAQCAtNzY1LDYgKzc2Niw3IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9tLmNwcCcsCisgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50U291cmNlQ29uc3RydWN0b3IuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXgg
ZmY0NDU0ZDFkNzViNGY4MmQ4MWNlZTA1ZGE3NmIzZGY1ZTVlMmJlZS4uNzI2YjYwMGEzM2JmMGY3
ZmQ2MGVmODY4YTdhODU1ZjhjOTRmY2Y4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yOTM5LDYgKzI5MzksNyBAQCBjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgICAgICBwbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAogCiAgICAgU09VUkNFUyArPSBcCisgICAgICAgIGJpbmRp
bmdzL2pzL0pTRW50cnlDdXN0b20uY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eS5jcHAgXAogICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHAgXAogICAgICAgICBm
aWxlYXBpL0RPTUZpbGVQYXRoLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCAwODNhMTUwYmFjMDY3MTc3MDFiZTkxZWY0NmVhYTQzMTRiZTlkYWZiLi44NzNhMGRh
YmRmYzg1MTI5ODkxYjA1NDgzOTcwYjQ0MzQ3Y2QxNDIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTQ2Njg0LDYgKzQ2Njg0LDEwIEBACiAJCQkJCT4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0Vu
dHJ5Q3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KIAkJ
CQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA0M2JlNjk4NDU3ZGFkMjQ5Mjc2ODA1MGEzOTIwYTMzZGU5
OWMxY2E4Li5hNGQwNDU0MDViOTFhYWE0M2QyMGI0YTIxMWM3OWQxMmI5NjNhYjE2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM4NSw2ICsyMzg1LDcg
QEAKIAkJODkzQzQ3QjgxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdCNjEyMzhBMDk5
MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3QkIxMjM4QTBBOTAw
MkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0I5MTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0Zp
bGVXcml0ZXJDYWxsYmFjay5jcHAgKi87IH07CiAJCTg5M0M0N0JDMTIzOEEwQTkwMDJCM0Q4NiAv
KiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNh
bGxiYWNrLmggKi87IH07CisJCTg5M0M0N0NDMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJODk4
Nzg1NTIxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi87IH07CiAJCTg5ODc4NTUzMTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5Lmgg
Ki87IH07CiAJCTg5ODc4NTU0MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1M0Ix
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CkBAIC04MjkxLDYg
KzgyOTIsNyBAQAogCQk4OTNDNDdCNjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2su
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3QjkxMjM4QTBBOTAwMkIzRDg2IC8qIEpT
RmlsZVdyaXRlckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRmlsZVdyaXRlckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODkzQzQ3QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBK
U0VudHJ5Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RW50cnlDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEy
MkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIy
Q0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFC
REEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERpcmVjdG9yeVJlYWRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjM4MCw2ICsxNjM4Miw3IEBA
CiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3VzdG9tLmNwcCAq
LywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCAq
LywKIAkJCQlCQzJFRDU1NDBDNkI5QkQzMDA5MjBCRkYgLyogSlNFbGVtZW50Q3VzdG9tLmNwcCAq
LywKKwkJCQk4OTNDNDdDQTEyM0VFQkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi8s
CiAJCQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUJDMjc1QjgwMTFDNUQyQjQwMEM5MjA2QyAvKiBKU0V2ZW50U291cmNlQ3VzdG9tLmNwcCAq
LywKIAkJCQk0OUVFQ0Y3MjEwNTA4RDlDMDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXlDdXN0b20u
Y3BwICovLApAQCAtMjMwMzksNiArMjMwNDIsNyBAQAogCQkJCTg5M0M0N0I3MTIzOEEwOTkwMDJC
M0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDdCQjEy
MzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTNFMkEzMDYxMjNFOURDMDAwOUZFMTJBIC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJODkzQzQ3Q0MxMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RW50cnlDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lMjliZjBjMDg3OTg3ZTRmZTRjNmM1YmZmNTBkYzIyYjg5YTVlM2NlCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcApAQCAt
MCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRW50cnkuaCIKKwor
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5LmgiCisjaW5jbHVkZSAi
SlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNEaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUg
IkpTRmlsZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFt
ZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIHRvSlMoRXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbnRyeSogZW50cnkp
Cit7CisgICAgaWYgKCFlbnRyeSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisgICAgaWYg
KGVudHJ5LT5pc0ZpbGUoKSkKKyAgICAgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBwZXI8SlNG
aWxlRW50cnk+KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8RmlsZUVudHJ5Kj4oZW50
cnkpKTsKKworICAgIEFTU0VSVChlbnRyeS0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIGdl
dERPTU9iamVjdFdyYXBwZXI8SlNEaXJlY3RvcnlFbnRyeT4oZXhlYywgZ2xvYmFsT2JqZWN0LCBz
dGF0aWNfY2FzdDxEaXJlY3RvcnlFbnRyeSo+KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhFbnRyeUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAyY2Q2ZmQ1ZmU2
ZjkxMWQ3MzA0ZTY1MDlmZWQ1OGYzOGNhOWQ5NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50cnkuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKworI2luY2x1ZGUgIlY4QXR0ci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiVjhEaXJlY3RvcnlFbnRyeS5oIgor
I2luY2x1ZGUgIlY4RW50cnkuaCIKKyNpbmNsdWRlICJWOEZpbGVFbnRyeS5oIgorI2luY2x1ZGUg
IlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRW50cnkqIGltcGwpCit7CisgICAgaWYg
KCFpbXBsKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKworICAgIGlmIChpbXBsLT5pc0Zp
bGUoKSkKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RmlsZUVudHJ5Kj4oaW1wbCkp
OworCisgICAgQVNTRVJUKGltcGwtPmlzRGlyZWN0b3J5KCkpOworICAgIHJldHVybiB0b1Y4KHN0
YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5Kj4oaW1wbCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5oCmluZGV4IDNjZDhhYjVkYzc4N2MwYWVkNjAxNzE0M2Y1NDI3M2Y5ZjljZjg5ZWQuLmM3
NmIyMDQzYTM4MTNhZjViYzMxM2JjOWQwNDE1NGYzODI5MDUzZWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeS5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNE
aXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICBQYXNzUmVmUHRyPERpcmVj
dG9yeVJlYWRlcj4gY3JlYXRlUmVhZGVyKCk7Ci0gICAgdm9pZCBnZXRGaWxlKGNvbnN0IFN0cmlu
ZyYgcGF0aCwgUGFzc1JlZlB0cjxGbGFncz4gb3B0aW9ucyA9IDAsIFBhc3NSZWZQdHI8RW50cnlD
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrID0gMCk7Ci0gICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBw
YXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBvcHRpb25zID0gMCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9y
Q2FsbGJhY2sgPSAwKTsKKyAgICB2b2lkIGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
UmVmUHRyPEZsYWdzPiA9IDAsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gPSAwLCBQYXNzUmVm
UHRyPEVycm9yQ2FsbGJhY2s+ID0gMCk7CisgICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3Ry
aW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiA9IDAsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFj
az4gPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0gMCk7CiAKIHByaXZhdGU6CiAgICAg
RGlyZWN0b3J5RW50cnkoRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBm
dWxsUGF0aCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRs
IGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbAppbmRleCBhYzMwYzdmODgzMzdl
YjNkODYyYzU1Zjg0NmQ5MjdmMDBkNWZhYTI0Li40NTY5ZDU0NGMxZDM4ZDgxNzA2ZDVhY2ZhMWMx
N2QyZWY0ZTRmNTgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnku
aWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTM1LDcgKzM1
LDcgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAgICBHZW5lcmF0ZVRvSlMKICAgICBdIERpcmVj
dG9yeUVudHJ5IDogRW50cnkgewogICAgICAgICBEaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVy
KCk7Ci0gICAgICAgIHZvaWQgZ2V0RmlsZShpbiBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFs
XSBGbGFncyBvcHRpb25zLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKLSAgICAgICAgdm9pZCBnZXREaXJlY3RvcnkoaW4gRE9NU3RyaW5nIHBhdGgs
IGluIFtPcHRpb25hbF0gRmxhZ3Mgb3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50
cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAgIHZvaWQgZ2V0RmlsZShpbiBbQ29udmVy
dFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25h
bF0gRmxhZ3MgZmxhZ3MsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOworICAgICAgICB2b2lkIGdldERpcmVjdG9yeShpbiBbQ29udmVydFVuZGVmaW5l
ZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3Mg
ZmxhZ3MsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxi
YWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2sp
OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIGIvV2Vi
Q29yZS9maWxlYXBpL0VudHJ5LmNwcAppbmRleCA5NjlhZTJiNmRlNmNiNDlkZTkwOWU3NmQzM2Rl
ZDRjMjE3MTFkZjhiLi5hYmVhN2FjY2YwZTRiMDY3ODJjNWI3NWVlNTg0ZjhjODA1OTU1MDlhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9FbnRyeS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJET01GaWxlU3lzdGVtLmgi
CiAjaW5jbHVkZSAiRW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5j
bHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0VudHJ5LmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnku
aAppbmRleCA5YWY1MzJmOWJhYWM1NWRjMTE0NDJiOGVlMDc5M2E1OWY5ZGUwOGExLi40OTZmYjg4
YjYwN2Q0N2M3ZmJhMTUyZGYyOGM2Y2ZiZDM3OWM5OTE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnkuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaApAQCAtMzQsMTcgKzM0
LDIxIEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiRE9NRmlsZVN5c3Rl
bS5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBEaXJlY3RvcnlSZWFkZXI7CiBjbGFzcyBFbnRyeUNhbGxiYWNrOwogY2xhc3Mg
RXJyb3JDYWxsYmFjazsKIGNsYXNzIE1ldGFkYXRhQ2FsbGJhY2s7CiBjbGFzcyBWb2lkQ2FsbGJh
Y2s7CiAKLWNsYXNzIEVudHJ5IDogcHVibGljIFJlZkNvdW50ZWQ8RW50cnk+IHsKK3R5cGVkZWYg
aW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIEVudHJ5IDogcHVibGljIFJlZkNvdW50ZWQ8RW50
cnk+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbnRy
eSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaWRsIGIvV2ViQ29y
ZS9maWxlYXBpL0VudHJ5LmlkbAppbmRleCBlMmMxZTEyODk5NGExYjdjNTNhMThiNGQwYTdhZmE1
NmViNTc0ODQ1Li5iNjc0NDU1MTJhMDVkMjAwZTE5ZGJlY2VhMmU4ZDdmNzEzN2EyMzZhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeS5pZGwKQEAgLTMwLDcgKzMwLDggQEAKIAogbW9kdWxlIHN0b3JhZ2UgewogICAgIGludGVy
ZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNCisgICAgICAgIENvbmRpdGlv
bmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBFbnRyeSB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gaXNEaXJlY3Rvcnk7CkBAIC0zOSw4ICs0MCw4IEBAIG1vZHVsZSBz
dG9yYWdlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUZpbGVTeXN0ZW0gZmlsZXN5
c3RlbTsKIAogICAgICAgICB2b2lkIGdldE1ldGFkYXRhKGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IE1ldGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICB2b2lkIG1vdmVUbyhpbiBF
bnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICB2b2lkIGNvcHlU
byhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRp
b25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lk
IG1vdmVUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVmaW5lZE9y
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIGNvcHlUbyhpbiBFbnRy
eSBwYXJlbnQsIGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwogICAgICAgICB2b2lkIHJlbW92ZShpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgICAgICB2b2lkIGdldFBhcmVudChpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZUVudHJ5LmNwcAppbmRleCBlMmE1ODNjYzY5NDc1NzBjNDg5Yjk5NTBkMDA0YjI4NTdk
MzA3M2ZkLi40MmFkNTkzYTQ1M2UxMGUyOWZjMGFiMzhkNjc3YjQ2ZDc0OTM1ODFjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUVudHJ5LmNwcApAQCAtMzMsNiArMzMsOSBAQAogCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQogCisjaW5jbHVkZSAiRmlsZUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRmlsZVdyaXRlckNhbGxi
YWNrLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRmlsZUVudHJ5OjpGaWxlRW50cnkoRE9N
RmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAgLTQwLDYg
KzQzLDE4IEBAIEZpbGVFbnRyeTo6RmlsZUVudHJ5KERPTUZpbGVTeXN0ZW0qIGZpbGVTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCiB7CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9XUklURVIp
Cit2b2lkIEZpbGVFbnRyeTo6Y3JlYXRlV3JpdGVyKFBhc3NSZWZQdHI8RmlsZVdyaXRlckNhbGxi
YWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUg
aW1wbGVtZW50ZWQuCit9CisjZW5kaWYKKwordm9pZCBGaWxlRW50cnk6OmZpbGUoUGFzc1JlZlB0
cjxGaWxlQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQoreworICAgIC8vIEZJ
WE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KK30KKwogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50
cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaAppbmRleCBhYmNjNmJiNjY5ZmZjYzUw
Y2I5NTQ5ZDk4OTA2NDE3YjA3YjFhMjY2Li42NTAxMWJiNDEyYWY5MzlhMWU3ZmRiM2Y4ZTRlYjc0
ZmQ5MmYxMmU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmgKKysrIGIv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeS5oCkBAIC0zNCw2ICszNCw4IEBACiAjaWYgRU5BQkxF
KEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiRW50cnkuaCIKKyNpbmNsdWRlICJGaWxlQ2FsbGJh
Y2suaCIKKyNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2suaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00NSw2ICs0NywxMiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEZpbGVFbnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOwogICAgIH0KKwor
I2lmIEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICB2b2lkIGNyZWF0ZVdyaXRlcihQYXNzUmVmUHRy
PEZpbGVXcml0ZXJDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gPSAwKTsKKyNl
bmRpZgorICAgIHZvaWQgZmlsZShQYXNzUmVmUHRyPEZpbGVDYWxsYmFjaz4sIFBhc3NSZWZQdHI8
RXJyb3JDYWxsYmFjaz4gPSAwKTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUVudHJ5LmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaWRsCmluZGV4IGFmM2I4
MDc1YWUzNzUxZDU1MmZlMjgyNTI5ZTc1ZDFhZDUzMDdjNjIuLjQxYjlhOTE4YWZkZWZiMWRjMTk1
M2M5M2NjYzE3ZTk3MDM0OGMzMDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50
cnkuaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaWRsCkBAIC0zNCw1ICszNCw5
IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCiAg
ICAgICAgIEdlbmVyYXRlVG9KUwogICAgIF0gRmlsZUVudHJ5IDogRW50cnkgeworI2lmIGRlZmlu
ZWQoRU5BQkxFX0ZJTEVfV1JJVEVSKSAmJiBFTkFCTEVfRklMRV9XUklURVIKKyAgICAgICAgdm9p
ZCBjcmVhdGVXcml0ZXIoaW4gW0NhbGxiYWNrXSBGaWxlV3JpdGVyQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJh
Y2spOworI2VuZGlmCisgICAgICAgIHZvaWQgZmlsZShpbiBbQ2FsbGJhY2tdIEZpbGVDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgfTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67497</attachid>
            <date>2010-09-13 18:07:25 -0700</date>
            <delta_ts>2010-09-13 18:34:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45553-20100913180724.patch</filename>
            <type>text/plain</type>
            <size>19560</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGUyODhkOTNiYjc1YWRkNmQzMGFiMzdmNGRhZGY5MWJiYjcwNTA1YTguLmU0Mzdk
MTRjZjcwOWJmNDJmMTE1ZGRkNGY0ZGMyOGMyOWE4ZmJmZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU2OSw2ICsx
NTY5LDcgQEAgRU5ESUYgKCkKIAogaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNFbnRyeUN1c3RvbS5j
cHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKICAgICAgICAgZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXIuY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGguY3BwCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiMDc1
NDM2YjdmNzFkOGMzZGI0NmIzMmE2YTEzYjA1NDIzZjNiMmEuLjYyMzQ1ZTk3YjI3ZmUwOThjOWEw
MDM1NzFkNjcyOTIzZDliZGIzYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTAtMDktMTMgIEtpbnVrbyBZ
YXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgRmlsZUVudHJ5IGFuZCBEaXJlY3RvcnlFbnRyeSBt
ZXRob2RzIGFjY2Vzc2libGUgdmlhIEVudHJ5IGluc3RhbmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTU1MworCisgICAgICAgIEZpbGVFbnRyeS0g
YW5kIERpcmVjdG9yeUVudHJ5LSBzcGVjaWZpYyBtZXRob2RzIG11c3QgYmUgYXZhaWxhYmxlIG9u
IEVudHJ5IG9iamVjdCBiYXNlZCBvbiBpdHMgaW50ZXJuYWwgdHlwZS4KKworICAgICAgICBBZGRl
ZCBjdXN0b20gdG9KUy90b1Y4IGltcGxlbWVudGF0aW9uIHRvIEVudHJ5IGludGVyZmFjZS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHM7IHRlc3Qgd2lsbCBiZSBhZGRlZCBsYXRlciB3aGVuIHdlIGhh
dmUgY29tcGxldGUgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBBUEkuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVu
dHJ5Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmg6IE5pdHMgZml4LgorICAgICAgICAqIGZpbGVhcGkv
RGlyZWN0b3J5RW50cnkuaWRsOiBBZGRlZCBDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9TdHJpbmcg
dG8gcGF0aCBwYXJhbWV0ZXIuCisgICAgICAgICogZmlsZWFwaS9FbnRyeS5pZGw6IEFkZGVkIEN1
c3RvbVRvSlMgYXR0cmlidXRlLgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZpbGVFbnRyeTo6Y3JlYXRlV3JpdGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbGVFbnRyeTo6ZmlsZSk6CisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnkuaDoKKyAg
ICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeS5pZGw6CisKIDIwMTAtMDktMTMgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQppbmRleCAwYjgzNmMxZmNkMTE5ZTNiOThhY2M1ZDllOGE2MzYxMmI4NDVhNTAwLi5hYjY4NTI3
ZDA3NzRjYzI4OTkxOWIxN2I4OGQ3YjM2YWM0ODhhNTFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTY5OSw2ICs2OTks
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRW50cnlDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3NzAzNTQ2YWEwOTAwOTk3
M2E5NmZmZGU0MzljMTYzODVlZTUyYmE1Li5kYTdjNTEwMmY4ZGExYzhmZjA1MTRjZTY1MDY0NTgy
ZWMxYzAwMDI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNTgxLDYgKzU4MSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAnLAor
ICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNFdmVudExpc3RlbmVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFdmVu
dExpc3RlbmVyLmgnLApAQCAtNzY1LDYgKzc2Niw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhFbGVtZW50Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEV2ZW50U291cmNlQ29uc3RydWN0b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZmY0NDU0ZDFkNzViNGY4MmQ4MWNl
ZTA1ZGE3NmIzZGY1ZTVlMmJlZS4uNzI2YjYwMGEzM2JmMGY3ZmQ2MGVmODY4YTdhODU1ZjhjOTRm
Y2Y4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJvCkBAIC0yOTM5LDYgKzI5MzksNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklM
RV9TWVNURU09MSkgewogICAgICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mu
aAogCiAgICAgU09VUkNFUyArPSBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20u
Y3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAgXAogICAgICAgICBmaWxl
YXBpL0RpcmVjdG9yeVJlYWRlci5jcHAgXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAwODNhMTUwYmFjMDY3
MTc3MDFiZTkxZWY0NmVhYTQzMTRiZTlkYWZiLi44NzNhMGRhYmRmYzg1MTI5ODkxYjA1NDgzOTcw
YjQ0MzQ3Y2QxNDIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTQ2
Njg0LDYgKzQ2Njg0LDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0VudHJ5Q3VzdG9tLmNwcCINCisJCQkJ
CT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA0M2JlNjk4NDU3ZGFkMjQ5Mjc2ODA1MGEzOTIwYTMzZGU5OWMxY2E4Li5hNGQwNDU0MDViOTFh
YWE0M2QyMGI0YTIxMWM3OWQxMmI5NjNhYjE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMjM4NSw2ICsyMzg1LDcgQEAKIAkJODkzQzQ3QjgxMjM4QTA5
OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdCNjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2Fs
bGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3QkIxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRl
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5M0M0N0I5MTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5jcHAg
Ki87IH07CiAJCTg5M0M0N0JDMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3
QkExMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggKi87IH07CisJCTg5
M0M0N0NDMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4
NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJODk4Nzg1NTIxMjJDQTA2NDAwM0FBQkRB
IC8qIERpcmVjdG9yeUVudHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5j
cHAgKi87IH07CiAJCTg5ODc4NTUzMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1M0Ex
MjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi87IH07CiAJCTg5ODc4NTU0MTIy
Q0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRBIC8qIERp
cmVjdG9yeVJlYWRlci5jcHAgKi87IH07CkBAIC04MjkxLDYgKzgyOTIsNyBAQAogCQk4OTNDNDdC
NjEyMzhBMDk5MDAyQjNEODYgLyogSlNGaWxlQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODkzQzQ3QjkxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxi
YWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3QkExMjM4QTBBOTAw
MkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRmlsZVdyaXRlckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTg5M0M0N0NBMTIzRUVCQTIwMDJCM0Q4NiAvKiBKU0VudHJ5Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRW50cnlDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEgLyogRGly
ZWN0b3J5RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGly
ZWN0b3J5RW50cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJl
Y3RvcnlFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlF
bnRyeS5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4OTg3ODUzQjEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeVJlYWRl
ci5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjM4MCw2ICsxNjM4Miw3IEBACiAJCQkJQkNEOUMyNUUwQzE3QUE2
NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3
Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCAqLywKIAkJCQlCQzJFRDU1NDBDNkI5
QkQzMDA5MjBCRkYgLyogSlNFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJCQk4OTNDNDdDQTEyM0VF
QkEyMDAyQjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFRkFGNEQwQzMxN0U2
OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUJDMjc1QjgwMTFDNUQyQjQw
MEM5MjA2QyAvKiBKU0V2ZW50U291cmNlQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFQ0Y3MjEwNTA4
RDlDMDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXlDdXN0b20uY3BwICovLApAQCAtMjMwMzksNiAr
MjMwNDIsNyBAQAogCQkJCTg5M0M0N0I3MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDdCQjEyMzhBMEE5MDAyQjNEODYgLyogSlNG
aWxlV3JpdGVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNFMkEzMDYxMjNFOURD
MDAwOUZFMTJBIC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODkz
QzQ3Q0MxMjNFRUJBMjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRW50cnlDdXN0b20uY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjliZjBjMDg3
OTg3ZTRmZTRjNmM1YmZmNTBkYzIyYjg5YTVlM2NlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0VudHJ5Q3VzdG9tLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRW50cnkuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKKworI2luY2x1ZGUgIkVudHJ5LmgiCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5j
bHVkZSAiSlNEaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkpTRmlsZUVudHJ5LmgiCisjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbnRyeSogZW50cnkpCit7CisgICAgaWYgKCFlbnRyeSkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisgICAgaWYgKGVudHJ5LT5pc0ZpbGUoKSkKKyAg
ICAgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBwZXI8SlNGaWxlRW50cnk+KGV4ZWMsIGdsb2Jh
bE9iamVjdCwgc3RhdGljX2Nhc3Q8RmlsZUVudHJ5Kj4oZW50cnkpKTsKKworICAgIEFTU0VSVChl
bnRyeS0+aXNEaXJlY3RvcnkoKSk7CisgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBwZXI8SlNE
aXJlY3RvcnlFbnRyeT4oZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxEaXJlY3RvcnlF
bnRyeSo+KGVudHJ5KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RW50cnlDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFbnRy
eUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAyY2Q2ZmQ1ZmU2ZjkxMWQ3MzA0ZTY1MDlmZWQ1OGYz
OGNhOWQ5NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRW50cnkuaCIKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIlY4
QXR0ci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRl
LmgiCisjaW5jbHVkZSAiVjhEaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIlY4RW50cnkuaCIK
KyNpbmNsdWRlICJWOEZpbGVFbnRyeS5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoRW50cnkqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKKworICAgIGlmIChpbXBsLT5pc0ZpbGUoKSkKKyAgICAgICAgcmV0dXJu
IHRvVjgoc3RhdGljX2Nhc3Q8RmlsZUVudHJ5Kj4oaW1wbCkpOworCisgICAgQVNTRVJUKGltcGwt
PmlzRGlyZWN0b3J5KCkpOworICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERpcmVjdG9yeUVu
dHJ5Kj4oaW1wbCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnkuaCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oCmluZGV4IDNjZDhhYjVk
Yzc4N2MwYWVkNjAxNzE0M2Y1NDI3M2Y5ZjljZjg5ZWQuLmM3NmIyMDQzYTM4MTNhZjViYzMxM2Jj
OWQwNDE1NGYzODI5MDUzZWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5oCkBAIC01NCw4ICs1
NCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAKICAgICBQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gY3JlYXRlUmVh
ZGVyKCk7Ci0gICAgdm9pZCBnZXRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxG
bGFncz4gb3B0aW9ucyA9IDAsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gMCk7Ci0g
ICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdz
PiBvcHRpb25zID0gMCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sg
PSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSAwKTsKKyAgICB2
b2lkIGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiA9IDAsIFBh
c3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0g
MCk7CisgICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRy
PEZsYWdzPiA9IDAsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gPSAwLCBQYXNzUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+ID0gMCk7CiAKIHByaXZhdGU6CiAgICAgRGlyZWN0b3J5RW50cnkoRE9NRmls
ZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeUVudHJ5LmlkbAppbmRleCBhYzMwYzdmODgzMzdlYjNkODYyYzU1Zjg0NmQ5MjdmMDBk
NWZhYTI0Li40NTY5ZDU0NGMxZDM4ZDgxNzA2ZDVhY2ZhMWMxN2QyZWY0ZTRmNTgyIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsCisrKyBiL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTM1LDcgKzM1LDcgQEAgbW9kdWxlIHN0b3JhZ2Ug
ewogICAgICAgICBHZW5lcmF0ZVRvSlMKICAgICBdIERpcmVjdG9yeUVudHJ5IDogRW50cnkgewog
ICAgICAgICBEaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7Ci0gICAgICAgIHZvaWQgZ2V0
RmlsZShpbiBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBGbGFncyBvcHRpb25zLCBpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAg
dm9pZCBnZXREaXJlY3RvcnkoaW4gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3Mg
b3B0aW9ucywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CisgICAgICAgIHZvaWQgZ2V0RmlsZShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3MgZmxhZ3MsIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2
b2lkIGdldERpcmVjdG9yeShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gRmxhZ3MgZmxhZ3MsIGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIH07CiB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5Lmlk
bAppbmRleCBlMmMxZTEyODk5NGExYjdjNTNhMThiNGQwYTdhZmE1NmViNTc0ODQ1Li5iNjc0NDU1
MTJhMDVkMjAwZTE5ZGJlY2VhMmU4ZDdmNzEzN2EyMzZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Zp
bGVhcGkvRW50cnkuaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5pZGwKQEAgLTMwLDcg
KzMwLDggQEAKIAogbW9kdWxlIHN0b3JhZ2UgewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENv
bmRpdGlvbmFsPUZJTEVfU1lTVEVNCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAor
ICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBFbnRyeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGlzRmlsZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNEaXJlY3Rvcnk7CkBAIC0zOSw4ICs0MCw4IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTUZpbGVTeXN0ZW0gZmlsZXN5c3RlbTsKIAogICAgICAgICB2
b2lkIGdldE1ldGFkYXRhKGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIE1ldGFkYXRhQ2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOwotICAgICAgICB2b2lkIG1vdmVUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtP
cHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxi
YWNrIGVycm9yQ2FsbGJhY2spOwotICAgICAgICB2b2lkIGNvcHlUbyhpbiBFbnRyeSBwYXJlbnQs
IGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVu
dHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJv
ckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIG1vdmVUbyhpbiBFbnRyeSBw
YXJlbnQsIGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOworICAgICAgICB2b2lkIGNvcHlUbyhpbiBFbnRyeSBwYXJlbnQsIGluIFtPcHRp
b25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAg
ICAgICB2b2lkIHJlbW92ZShpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBWb2lkQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwogICAgICAgICB2b2lkIGdldFBhcmVudChpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10g
RXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9maWxlYXBpL0ZpbGVFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcApp
bmRleCBlMmE1ODNjYzY5NDc1NzBjNDg5Yjk5NTBkMDA0YjI4NTdkMzA3M2ZkLi40MmFkNTkzYTQ1
M2UxMGUyOWZjMGFiMzhkNjc3YjQ2ZDc0OTM1ODFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZUVudHJ5LmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcApAQCAt
MzMsNiArMzMsOSBAQAogCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCisjaW5jbHVkZSAiRmls
ZUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRmlsZVdyaXRlckNhbGxiYWNrLmgiCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogRmlsZUVudHJ5OjpGaWxlRW50cnkoRE9NRmlsZVN5c3RlbSogZmlsZVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAgLTQwLDYgKzQzLDE4IEBAIEZpbGVFbnRy
eTo6RmlsZUVudHJ5KERPTUZpbGVTeXN0ZW0qIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVs
bFBhdGgpCiB7CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9XUklURVIpCit2b2lkIEZpbGVFbnRyeTo6
Y3JlYXRlV3JpdGVyKFBhc3NSZWZQdHI8RmlsZVdyaXRlckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxF
cnJvckNhbGxiYWNrPikKK3sKKyAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCit9Cisj
ZW5kaWYKKwordm9pZCBGaWxlRW50cnk6OmZpbGUoUGFzc1JlZlB0cjxGaWxlQ2FsbGJhY2s+LCBQ
YXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQoreworICAgIC8vIEZJWE1FOiB0byBiZSBpbXBsZW1l
bnRlZC4KK30KKwogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RF
TSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaCBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnkuaAppbmRleCBhYmNjNmJiNjY5ZmZjYzUwY2I5NTQ5ZDk4OTA2NDE3YjA3
YjFhMjY2Li42NTAxMWJiNDEyYWY5MzlhMWU3ZmRiM2Y4ZTRlYjc0ZmQ5MmYxMmU2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFbnRyeS5oCkBAIC0zNCw2ICszNCw4IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAj
aW5jbHVkZSAiRW50cnkuaCIKKyNpbmNsdWRlICJGaWxlQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJG
aWxlV3JpdGVyQ2FsbGJhY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSw2ICs0
NywxMiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVF
bnRyeShmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOwogICAgIH0KKworI2lmIEVOQUJMRShGSUxFX1dS
SVRFUikKKyAgICB2b2lkIGNyZWF0ZVdyaXRlcihQYXNzUmVmUHRyPEZpbGVXcml0ZXJDYWxsYmFj
az4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gPSAwKTsKKyNlbmRpZgorICAgIHZvaWQgZmls
ZShQYXNzUmVmUHRyPEZpbGVDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gPSAw
KTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmlkbCBiL1dl
YkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaWRsCmluZGV4IGFmM2I4MDc1YWUzNzUxZDU1MmZlMjgy
NTI5ZTc1ZDFhZDUzMDdjNjIuLjQxYjlhOTE4YWZkZWZiMWRjMTk1M2M5M2NjYzE3ZTk3MDM0OGMz
MDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuaWRsCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9GaWxlRW50cnkuaWRsCkBAIC0zNCw1ICszNCw5IEBAIG1vZHVsZSBzdG9yYWdl
IHsKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIEdlbmVyYXRlVG9K
UwogICAgIF0gRmlsZUVudHJ5IDogRW50cnkgeworI2lmIGRlZmluZWQoRU5BQkxFX0ZJTEVfV1JJ
VEVSKSAmJiBFTkFCTEVfRklMRV9XUklURVIKKyAgICAgICAgdm9pZCBjcmVhdGVXcml0ZXIoaW4g
W0NhbGxiYWNrXSBGaWxlV3JpdGVyQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworI2VuZGlmCisgICAg
ICAgIHZvaWQgZmlsZShpbiBbQ2FsbGJhY2tdIEZpbGVDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiAg
ICAgfTsKIH0K
</data>
<flag name="review"
          id="56815"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>