<?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>69218</bug_id>
          
          <creation_ts>2011-10-01 17:12:47 -0700</creation_ts>
          <short_desc>Removed redundant helper functions for allocating Strong handles</short_desc>
          <delta_ts>2011-10-01 17:53:55 -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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476608</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-01 17:12:47 -0700</bug_when>
    <thetext>Removed redundant helper functions for allocating Strong handles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476610</commentid>
    <comment_count>1</comment_count>
      <attachid>109412</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-01 17:19:06 -0700</bug_when>
    <thetext>Created attachment 109412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476611</commentid>
    <comment_count>2</comment_count>
      <attachid>109413</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-01 17:19:49 -0700</bug_when>
    <thetext>Created attachment 109413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476612</commentid>
    <comment_count>3</comment_count>
      <attachid>109413</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-10-01 17:39:48 -0700</bug_when>
    <thetext>Comment on attachment 109413
Patch

Attachment 109413 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9901767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476613</commentid>
    <comment_count>4</comment_count>
      <attachid>109413</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-01 17:44:10 -0700</bug_when>
    <thetext>Comment on attachment 109413
Patch

Attachment 109413 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9929033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476614</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-01 17:53:55 -0700</bug_when>
    <thetext>Committed r96465: &lt;http://trac.webkit.org/changeset/96465&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109412</attachid>
            <date>2011-10-01 17:19:06 -0700</date>
            <delta_ts>2011-10-01 17:19:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69218-20111001171905.patch</filename>
            <type>text/plain</type>
            <size>18845</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTEtMTAtMDEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmVkIHJlZHVuZGFudCBoZWxwZXIgZnVuY3Rpb25zIGZvciBhbGxvY2F0aW5nIFN0cm9u
ZyBoYW5kbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6OkhlYXA6OmhhbmRsZUhlYXApOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg6IFJlbW92ZWQgdGhlc2UgaGVscGVyIGZ1bmN0aW9u
cywgc2luY2UgdGhleQorICAgICAgICBqdXN0IGNyZWF0ZWQgaW5kaXJlY3Rpb24uCisKKyAgICAg
ICAgKiBoZWFwL1N0cm9uZ0lubGluZXMuaDogQWRkZWQuIEJyb2tlIG91dCBhIGhlYWRlciBmb3Ig
aW5saW5lIGZ1bmN0aW9ucworICAgICAgICB0byByZXNvbHZlIGNpcmN1bGFyIGRlcGVuZGVuY2ll
cyBjcmVhdGVkIGJ5IGlubGluaW5nLiBJJ20gdG9sZCB0aGlzIGlzCisgICAgICAgIHRoZSBmdXR1
cmUgZm9yIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogR28gZm9ydGggYW5kIGJ1
aWxkLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAg
ICAgKEpTQzo6Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL1dlYWtHQ01hcC5oOgorICAgICAg
ICAoSlNDOjpXZWFrR0NNYXA6OmFkZCk6CisgICAgICAgIChKU0M6OldlYWtHQ01hcDo6c2V0KToK
KyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OnNldFNpbmdsZVRyYW5zaXRpb24pOgorICAg
ICAgICAqIGhlYXAvTG9jYWwuaDoKKyAgICAgICAgKEpTQzo6OjpMb2NhbCk6CisgICAgICAgICog
aGVhcC9TdHJvbmcuaDoKKyAgICAgICAgKEpTQzo6OjpTdHJvbmcpOgorICAgICAgICAoSlNDOjo6
OnNldCk6CisgICAgICAgICogaGVhcC9XZWFrLmg6CisgICAgICAgIChKU0M6OldlYWs6OldlYWsp
OgorICAgICAgICAoSlNDOjpXZWFrOjpzZXQpOiBBbGxvY2F0ZSBoYW5kbGVzIGRpcmVjdGx5IGlu
c3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBhCisgICAgICAgIGNoYWluIG9mIGZvcndhcmRpbmcgZnVu
Y3Rpb25zLgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5jcHA6CisgICAgICAgICogcnVudGltZS9M
aXRlcmFsUGFyc2VyLmNwcDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENhY2hlLmNwcDogVXBk
YXRlZCBmb3IgaGVhZGVyIGNoYW5nZXMuCisKIDIwMTEtMDktMzAgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgb2YgSlNDJ3MgaGV1cmlzdGljcyBzaG91bGQg
YmUgaW4gb25lIHBsYWNlIGZvciBlYXNpZXIgdHVuaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMTYyLDYg
KzE2Miw3IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hcmtlZFNwYWNlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkU3BhY2UuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nLmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZ0lubGluZXMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvVlRhYmxlU3BlY3RydW0uY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9WVGFibGVTcGVjdHJ1bS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9XZWFrLmggXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkJKHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAgICAgICdo
ZWFwL0xvY2FsLmgnLAogICAgICAgICAgICAgJ2hlYXAvTG9jYWxTY29wZS5oJywKICAgICAgICAg
ICAgICdoZWFwL1N0cm9uZy5oJywKKyAgICAgICAgICAgICdoZWFwL1N0cm9uZ0lubGluZXMuaCcs
CiAgICAgICAgICAgICAnaGVhcC9XZWFrLmgnLAogICAgICAgICAgICAgJ2NvbmZpZy5oJywKICAg
ICAgICAgICAgICdkZWJ1Z2dlci9EZWJ1Z2dlci5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCShyZXZpc2lv
biA5NjQ2NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1
bmN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBKU0NhbGxi
YWNrT2JqZWN0PFBhcmVudD46OmluaXQoRXhlYwogICAgIGZvciAoSlNDbGFzc1JlZiBqc0NsYXNz
UHRyID0gY2xhc3NSZWYoKTsganNDbGFzc1B0ciAmJiAhbmVlZHNGaW5hbGl6ZXI7IGpzQ2xhc3NQ
dHIgPSBqc0NsYXNzUHRyLT5wYXJlbnRDbGFzcykKICAgICAgICAgbmVlZHNGaW5hbGl6ZXIgPSBq
c0NsYXNzUHRyLT5maW5hbGl6ZTsKICAgICBpZiAobmVlZHNGaW5hbGl6ZXIpIHsKLSAgICAgICAg
SGFuZGxlU2xvdCBzbG90ID0gZXhlYy0+Z2xvYmFsRGF0YSgpLmFsbG9jYXRlR2xvYmFsSGFuZGxl
KCk7CisgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGV4ZWMtPmdsb2JhbERhdGEoKS5oZWFwLmhh
bmRsZUhlYXAoKS0+YWxsb2NhdGUoKTsKICAgICAgICAgSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90
KS0+bWFrZVdlYWsoc2xvdCwgbV9jYWxsYmFja09iamVjdERhdGEuZ2V0KCksIGNsYXNzUmVmKCkp
OwogICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT53cml0ZUJhcnJpZXIoc2xvdCwg
dGhpcyk7CiAgICAgICAgICpzbG90ID0gdGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCShyZXZpc2lvbiA5NjQ2
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc0LDYg
KzE5NzQsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPEZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0
aD0iLi5cLi5caGVhcFxTdHJvbmdJbmxpbmVzLmgiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlPgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxGaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBSZWxhdGl2ZVBhdGg9Ii4uXC4uXGhlYXBcSGFuZGxlLmgiCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9G
aWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk2NDY0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsNyBAQAogCQkxNDQ2OURFRDEw
N0VDN0U3MDA2NTA0NDYgLyogU3RyaW5nUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0M1MEUxNkVFMzMwMEIzNDQ2MCAvKiBT
dHJpbmdQcm90b3R5cGUuY3BwICovOyB9OwogCQkxNDQ2OURFRTEwN0VDN0U3MDA2NTA0NDYgLyog
VVN0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg4NTAyNTU1OTdEMDFGRjYwRjcgLyogVVN0cmluZy5jcHAgKi87IH07CiAJCTE0NDgz
NkU3MTMyREE3QkUwMDVCRTc4NSAvKiBDb25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5REFBRjIxMkVCNTU5RDAwODNCMTJC
IC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMTQ1NzIyODYxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9uZ0lubGlu
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NTcy
Mjg1MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi87IH07CiAJCTE0NkFBQjM4
MEI2NkE5NDQwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NkFBQjM3MEI2NkE5NDQwMEU1NUYxNiAvKiBK
U1N0cmluZ1JlZkNGLmNwcCAqLzsgfTsKIAkJMTQ2QjE2RDgxMkVCNUI1OTAwMUJFQzFCIC8qIENv
bnNlcnZhdGl2ZVJvb3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE0NkIxNERCMTJFQjVCMTIwMDFCRUMxQiAvKiBDb25zZXJ2YXRpdmVSb290cy5j
cHAgKi87IH07CiAJCTE0NkZFNTEyMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ2RkU1MTEx
MUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgKi87IH07CkBAIC04OTEsNiArODky
LDcgQEAKIAkJMTQ0MEZDRTEwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGFzc1JlZi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxNDQwRkNFMjBBNTFFNDZCMDAwNUYwNjEgLyogSlNDbGFzc1JlZi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsYXNzUmVmLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ0NTZBMzExMzE0NjU3ODAwMjEyQ0EzIC8qIERv
dWJseUxpbmtlZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG91Ymx5
TGlua2VkTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDU3MjI4NTE0MzdF
MTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHJvbmdJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0
NUM1MDdGMEQ5REY2M0IwMDg4RjZCOSAvKiBDYWxsRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDYWxsRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NDZBQUIyQTBCNjZBODQ5MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHJpbmdSZWZDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNDZBQUIzNzBCNjZBOTQ0MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJpbmdSZWZDRi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjkzLDYgKzE2OTUsNyBAQAogCQkJCTBG
MjQyREE1MTNGM0IxQkIwMDdBREQ0QyAvKiBXZWFrUmVmZXJlbmNlSGFydmVzdGVyLmggKi8sCiAJ
CQkJMEZDODE1MDgxNDA0M0JDQTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuY3BwICov
LAogCQkJCTBGQzgxNTA5MTQwNDNCRDIwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0Lmgg
Ki8sCisJCQkJMTQ1NzIyODUxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9uZ0lubGluZXMuaCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gaGVhcDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0y
ODYzLDYgKzI4NjYsNyBAQAogCQkJCTBGRDUyQUFFMTQzMDM1QTAwMDI2REM5RiAvKiBVbmlvbkZp
bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2ODgwRjFFMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdK
SVRDb21waWxlcklubGluZU1ldGhvZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTIyOEVEMTQz
NkFCMjcwMDE5NkM0OCAvKiBIZXVyaXN0aWNzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDU3MjI4
NjE0MzdFMTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJJbnRlcnBy
ZXRlci5oIgogI2luY2x1ZGUgIlNjb3BlQ2hhaW4uaCIKKyNpbmNsdWRlICJTdHJvbmdJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiVVN0cmluZy5oIgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwxMSArMTE4LDEw
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RnVuY3Rvcj4gdHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBmb3JFYWNoUHJvdGVjdGVkQ2Vs
bChGdW5jdG9yJik7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IHR5cGVuYW1l
IEZ1bmN0b3I6OlJldHVyblR5cGUgZm9yRWFjaFByb3RlY3RlZENlbGwoKTsKLSAgICAgICAgCi0g
ICAgICAgIEhhbmRsZVNsb3QgYWxsb2NhdGVHbG9iYWxIYW5kbGUoKSB7IHJldHVybiBtX2hhbmRs
ZUhlYXAuYWxsb2NhdGUoKTsgfQotICAgICAgICBIYW5kbGVTbG90IGFsbG9jYXRlTG9jYWxIYW5k
bGUoKSB7IHJldHVybiBtX2hhbmRsZVN0YWNrLnB1c2goKTsgfQogCisgICAgICAgIEhhbmRsZUhl
YXAqIGhhbmRsZUhlYXAoKSB7IHJldHVybiAmbV9oYW5kbGVIZWFwOyB9CiAgICAgICAgIEhhbmRs
ZVN0YWNrKiBoYW5kbGVTdGFjaygpIHsgcmV0dXJuICZtX2hhbmRsZVN0YWNrOyB9CisKICAgICAg
ICAgdm9pZCBnZXRDb25zZXJ2YXRpdmVSZWdpc3RlclJvb3RzKEhhc2hTZXQ8SlNDZWxsKj4mIHJv
b3RzKTsKIAogICAgIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9M
b2NhbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0xvY2FsLmgJ
KHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTG9jYWwuaAko
d29ya2luZyBjb3B5KQpAQCAtNTcsMTMgKzU3LDEzIEBAIHByaXZhdGU6CiB9OwogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gaW5saW5lIExvY2FsPFQ+OjpMb2NhbChKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKLSAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmFs
bG9jYXRlTG9jYWxIYW5kbGUoKSkKKyAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmhlYXAuaGFu
ZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQogewogICAgIHNldCh2YWx1ZSk7CiB9CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBpbmxpbmUgTG9jYWw8VD46OkxvY2FsKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgSGFuZGxlPFQ+IG90aGVyKQotICAgIDogSGFuZGxlPFQ+KGdsb2JhbERhdGEuYWxsb2Nh
dGVMb2NhbEhhbmRsZSgpKQorICAgIDogSGFuZGxlPFQ+KGdsb2JhbERhdGEuaGVhcC5oYW5kbGVI
ZWFwKCktPmFsbG9jYXRlKCkpCiB7CiAgICAgc2V0KG90aGVyLmdldCgpKTsKIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZy5oCShyZXZpc2lvbiA5NjQ2NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2
IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgSlNHbG9iYWxEYXRhOwotSGFuZGxlU2xvdCBh
bGxvY2F0ZUdsb2JhbEhhbmRsZShKU0dsb2JhbERhdGEmKTsKIAogLy8gQSBzdHJvbmdseSByZWZl
cmVuY2VkIGhhbmRsZSB0aGF0IHByZXZlbnRzIHRoZSBvYmplY3QgaXQgcG9pbnRzIHRvIGZyb20g
YmVpbmcgZ2FyYmFnZSBjb2xsZWN0ZWQuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgU3Ry
b25nIDogcHVibGljIEhhbmRsZTxUPiB7CkBAIC00OCwxNyArNDcsOSBAQCBwdWJsaWM6CiAgICAg
ewogICAgIH0KICAgICAKLSAgICBTdHJvbmcoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBFeHRl
cm5hbFR5cGUgdmFsdWUgPSBFeHRlcm5hbFR5cGUoKSkKLSAgICAgICAgOiBIYW5kbGU8VD4oYWxs
b2NhdGVHbG9iYWxIYW5kbGUoZ2xvYmFsRGF0YSkpCi0gICAgewotICAgICAgICBzZXQodmFsdWUp
OwotICAgIH0KKyAgICBTdHJvbmcoSlNHbG9iYWxEYXRhJiwgRXh0ZXJuYWxUeXBlID0gRXh0ZXJu
YWxUeXBlKCkpOwogCi0gICAgU3Ryb25nKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSGFuZGxl
PFQ+IGhhbmRsZSkKLSAgICAgICAgOiBIYW5kbGU8VD4oYWxsb2NhdGVHbG9iYWxIYW5kbGUoZ2xv
YmFsRGF0YSkpCi0gICAgewotICAgICAgICBzZXQoaGFuZGxlLmdldCgpKTsKLSAgICB9CisgICAg
U3Ryb25nKEpTR2xvYmFsRGF0YSYsIEhhbmRsZTxUPik7CiAgICAgCiAgICAgU3Ryb25nKGNvbnN0
IFN0cm9uZyYgb3RoZXIpCiAgICAgICAgIDogSGFuZGxlPFQ+KCkKQEAgLTk1LDEyICs4Niw3IEBA
IHB1YmxpYzoKICAgICAgICAgSGFuZGxlPFQ+Ojpzd2FwKG90aGVyKTsKICAgICB9CiAKLSAgICB2
b2lkIHNldChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKLSAg
ICB7Ci0gICAgICAgIGlmICghc2xvdCgpKQotICAgICAgICAgICAgc2V0U2xvdChhbGxvY2F0ZUds
b2JhbEhhbmRsZShnbG9iYWxEYXRhKSk7Ci0gICAgICAgIHNldCh2YWx1ZSk7Ci0gICAgfQorICAg
IHZvaWQgc2V0KEpTR2xvYmFsRGF0YSYsIEV4dGVybmFsVHlwZSk7CiAKICAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVT4gU3Ryb25nJiBvcGVyYXRvcj0oY29uc3QgU3Ryb25nPFU+JiBvdGhlcikKICAg
ICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdHJvbmdJbmxpbmVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nSW5saW5lcy5oCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nSW5saW5lcy5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJv
bmdJbmxpbmVzX2gKKyNkZWZpbmUgU3Ryb25nSW5saW5lc19oCisKK25hbWVzcGFjZSBKU0Mgewor
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSBTdHJvbmc8VD46OlN0cm9uZyhKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKKyAgICA6IEhhbmRsZTxUPihn
bG9iYWxEYXRhLmhlYXAuaGFuZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQoreworICAgIHNldCh2YWx1
ZSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgoraW5saW5lIFN0cm9uZzxUPjo6U3Ryb25n
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSGFuZGxlPFQ+IGhhbmRsZSkKKyAgICA6IEhhbmRs
ZTxUPihnbG9iYWxEYXRhLmhlYXAuaGFuZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQoreworICAgIHNl
dChoYW5kbGUuZ2V0KCkpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSB2b2lk
IFN0cm9uZzxUPjo6c2V0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgRXh0ZXJuYWxUeXBlIHZh
bHVlKQoreworICAgIGlmICghc2xvdCgpKQorICAgICAgICBzZXRTbG90KGdsb2JhbERhdGEuaGVh
cC5oYW5kbGVIZWFwKCktPmFsbG9jYXRlKCkpOworICAgIHNldCh2YWx1ZSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIEpTQworICAgIAorI2VuZGlmIC8vIFN0cm9uZ0lubGluZXNfaApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvV2Vhay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1dlYWsuaAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9XZWFrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIFdlYWsoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBFeHRlcm5h
bFR5cGUgdmFsdWUgPSBFeHRlcm5hbFR5cGUoKSwgV2Vha0hhbmRsZU93bmVyKiB3ZWFrT3duZXIg
PSAwLCB2b2lkKiBjb250ZXh0ID0gMCkKLSAgICAgICAgOiBIYW5kbGU8VD4oZ2xvYmFsRGF0YS5h
bGxvY2F0ZUdsb2JhbEhhbmRsZSgpKQorICAgICAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmhl
YXAuaGFuZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQogICAgIHsKICAgICAgICAgSGFuZGxlSGVhcDo6
aGVhcEZvcihzbG90KCkpLT5tYWtlV2VhayhzbG90KCksIHdlYWtPd25lciwgY29udGV4dCk7CiAg
ICAgICAgIHNldCh2YWx1ZSk7CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgRXh0ZXJuYWxUeXBlIHZhbHVlLCBXZWFrSGFu
ZGxlT3duZXIqIHdlYWtPd25lciA9IDAsIHZvaWQqIGNvbnRleHQgPSAwKQogICAgIHsKICAgICAg
ICAgaWYgKCFzbG90KCkpIHsKLSAgICAgICAgICAgIHNldFNsb3QoZ2xvYmFsRGF0YS5hbGxvY2F0
ZUdsb2JhbEhhbmRsZSgpKTsKKyAgICAgICAgICAgIHNldFNsb3QoZ2xvYmFsRGF0YS5oZWFwLmhh
bmRsZUhlYXAoKS0+YWxsb2NhdGUoKSk7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9y
KHNsb3QoKSktPm1ha2VXZWFrKHNsb3QoKSwgd2Vha093bmVyLCBjb250ZXh0KTsKICAgICAgICAg
fQogICAgICAgICBBU1NFUlQoSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90KCkpLT5oYXNXZWFrT3du
ZXIoc2xvdCgpLCB3ZWFrT3duZXIpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiUmVnRXhwQ2FjaGUuaCIKICNpbmNsdWRlICJSZWdFeHBP
YmplY3QuaCIKICNpbmNsdWRlICJTdHJpY3RFdmFsQWN0aXZhdGlvbi5oIgorI2luY2x1ZGUgIlN0
cm9uZ0lubGluZXMuaCIKICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3Rm
L1dURlRocmVhZERhdGEuaD4KICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkocmV2aXNpb24gOTY0NjQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkod29ya2luZyBjb3B5
KQpAQCAtMjk1LDggKzI5NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGFkZFJl
Z0V4cFRvVHJhY2UoUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCk7CiAjZW5kaWYKICAgICAgICAg
dm9pZCBkdW1wUmVnRXhwVHJhY2UoKTsKLSAgICAgICAgSGFuZGxlU2xvdCBhbGxvY2F0ZUdsb2Jh
bEhhbmRsZSgpIHsgcmV0dXJuIGhlYXAuYWxsb2NhdGVHbG9iYWxIYW5kbGUoKTsgfQotICAgICAg
ICBIYW5kbGVTbG90IGFsbG9jYXRlTG9jYWxIYW5kbGUoKSB7IHJldHVybiBoZWFwLmFsbG9jYXRl
TG9jYWxIYW5kbGUoKTsgfQogICAgICAgICB2b2lkIGNsZWFyQnVpbHRpblN0cnVjdHVyZXMoKTsK
IAogICAgICAgICBib29sIGlzQ29sbGVjdG9yQnVzeSgpIHsgcmV0dXJuIGhlYXAuaXNCdXN5KCk7
IH0KQEAgLTMyMCwxMSArMzE4LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZW5kaWYKICAgICB9Owog
Ci0gICAgaW5saW5lIEhhbmRsZVNsb3QgYWxsb2NhdGVHbG9iYWxIYW5kbGUoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGdsb2JhbERhdGEuYWxsb2NhdGVH
bG9iYWxIYW5kbGUoKTsKLSAgICB9Ci0KICNpZiBFTkFCTEUoR0NfVkFMSURBVElPTikKICAgICBp
bmxpbmUgYm9vbCBKU0dsb2JhbERhdGE6OmlzSW5pdGlhbGl6aW5nT2JqZWN0KCkgY29uc3QKICAg
ICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFy
c2VyLmNwcAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9MaXRlcmFsUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lu
Y2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkxleGVy
LmgiCisjaW5jbHVkZSAiU3Ryb25nSW5saW5lcy5oIgogI2luY2x1ZGUgIlVTdHJpbmdCdWlsZGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ2FjaGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENhY2hlLmNwcAko
cmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlJl
Z0V4cENhY2hlLmgiCiAjaW5jbHVkZSAiUmVnRXhwT2JqZWN0LmgiCisjaW5jbHVkZSAiU3Ryb25n
SW5saW5lcy5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgJKHJl
dmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
VHJhbnNpdGlvblRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2
YXRlOgogICAgICAgICBBU1NFUlQoaXNVc2luZ1NpbmdsZVNsb3QoKSk7CiAgICAgICAgIEhhbmRs
ZVNsb3Qgc2xvdCA9IHRoaXMtPnNsb3QoKTsKICAgICAgICAgaWYgKCFzbG90KSB7Ci0gICAgICAg
ICAgICBzbG90ID0gZ2xvYmFsRGF0YS5hbGxvY2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICAg
ICAgc2xvdCA9IGdsb2JhbERhdGEuaGVhcC5oYW5kbGVIZWFwKCktPmFsbG9jYXRlKCk7CiAgICAg
ICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT5tYWtlV2VhayhzbG90LCAwLCAwKTsK
ICAgICAgICAgICAgIG1fZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNsb3QpIHwg
VXNpbmdTaW5nbGVTbG90RmxhZzsKICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgJKHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw3ICsx
MjUsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBwYWlyPHR5cGVuYW1lIE1hcFR5cGU6Oml0
ZXJhdG9yLCBib29sPiBpdGVyID0gbV9tYXAuYWRkKGtleSwgMCk7CiAgICAgICAgIGlmIChpdGVy
LnNlY29uZCkgewotICAgICAgICAgICAgSGFuZGxlU2xvdCBzbG90ID0gZ2xvYmFsRGF0YS5hbGxv
Y2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICAgICAgSGFuZGxlU2xvdCBzbG90ID0gZ2xvYmFs
RGF0YS5oZWFwLmhhbmRsZUhlYXAoKS0+YWxsb2NhdGUoKTsKICAgICAgICAgICAgIGl0ZXIuZmly
c3QtPnNlY29uZCA9IHNsb3Q7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3Qp
LT5tYWtlV2VhayhzbG90LCB0aGlzLCBGaW5hbGl6ZXJDYWxsYmFjazo6ZmluYWxpemVyQ29udGV4
dEZvcihrZXkpKTsKICAgICAgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPndyaXRl
QmFycmllcihzbG90LCB2YWx1ZSk7CkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgICAg
ICBwYWlyPHR5cGVuYW1lIE1hcFR5cGU6Oml0ZXJhdG9yLCBib29sPiBpdGVyID0gbV9tYXAuYWRk
KGtleSwgMCk7CiAgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGl0ZXIuZmlyc3QtPnNlY29uZDsK
ICAgICAgICAgaWYgKGl0ZXIuc2Vjb25kKSB7Ci0gICAgICAgICAgICBzbG90ID0gZ2xvYmFsRGF0
YS5hbGxvY2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICAgICAgc2xvdCA9IGdsb2JhbERhdGEu
aGVhcC5oYW5kbGVIZWFwKCktPmFsbG9jYXRlKCk7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpo
ZWFwRm9yKHNsb3QpLT5tYWtlV2VhayhzbG90LCB0aGlzLCBrZXkpOwogICAgICAgICAgICAgaXRl
ci5maXJzdC0+c2Vjb25kID0gc2xvdDsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109413</attachid>
            <date>2011-10-01 17:19:49 -0700</date>
            <delta_ts>2011-10-01 17:44:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69218-20111001171948.patch</filename>
            <type>text/plain</type>
            <size>18839</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTEtMTAtMDEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmVkIHJlZHVuZGFudCBoZWxwZXIgZnVuY3Rpb25zIGZvciBhbGxvY2F0aW5nIFN0cm9u
ZyBoYW5kbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6OkhlYXA6OmhhbmRsZUhlYXApOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg6IFJlbW92ZWQgdGhlc2UgaGVscGVyIGZ1bmN0aW9u
cywgc2luY2UgdGhleQorICAgICAgICBqdXN0IGNyZWF0ZWQgaW5kaXJlY3Rpb24uCisKKyAgICAg
ICAgKiBoZWFwL1N0cm9uZ0lubGluZXMuaDogQWRkZWQuIEJyb2tlIG91dCBhIGhlYWRlciBmb3Ig
aW5saW5lIGZ1bmN0aW9ucworICAgICAgICB0byByZXNvbHZlIGNpcmN1bGFyIGRlcGVuZGVuY2ll
cyBjcmVhdGVkIGJ5IGlubGluaW5nLiBJJ20gdG9sZCB0aGlzIGlzCisgICAgICAgIHRoZSBmdXR1
cmUgZm9yIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogR28gZm9ydGggYW5kIGJ1
aWxkLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAg
ICAgKEpTQzo6Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL1dlYWtHQ01hcC5oOgorICAgICAg
ICAoSlNDOjpXZWFrR0NNYXA6OmFkZCk6CisgICAgICAgIChKU0M6OldlYWtHQ01hcDo6c2V0KToK
KyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OnNldFNpbmdsZVRyYW5zaXRpb24pOgorICAg
ICAgICAqIGhlYXAvTG9jYWwuaDoKKyAgICAgICAgKEpTQzo6OjpMb2NhbCk6CisgICAgICAgICog
aGVhcC9TdHJvbmcuaDoKKyAgICAgICAgKEpTQzo6OjpTdHJvbmcpOgorICAgICAgICAoSlNDOjo6
OnNldCk6CisgICAgICAgICogaGVhcC9XZWFrLmg6CisgICAgICAgIChKU0M6OldlYWs6OldlYWsp
OgorICAgICAgICAoSlNDOjpXZWFrOjpzZXQpOiBBbGxvY2F0ZSBoYW5kbGVzIGRpcmVjdGx5IGlu
c3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBhCisgICAgICAgIGNoYWluIG9mIGZvcndhcmRpbmcgZnVu
Y3Rpb25zLgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5jcHA6CisgICAgICAgICogcnVudGltZS9M
aXRlcmFsUGFyc2VyLmNwcDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENhY2hlLmNwcDogVXBk
YXRlZCBmb3IgaGVhZGVyIGNoYW5nZXMuCisKIDIwMTEtMDktMzAgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgb2YgSlNDJ3MgaGV1cmlzdGljcyBzaG91bGQg
YmUgaW4gb25lIHBsYWNlIGZvciBlYXNpZXIgdHVuaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMTYyLDYg
KzE2Miw3IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hcmtlZFNwYWNlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkU3BhY2UuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nLmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZ0lubGluZXMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvVlRhYmxlU3BlY3RydW0uY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9WVGFibGVTcGVjdHJ1bS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9XZWFrLmggXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkJKHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAgICAgICdo
ZWFwL0xvY2FsLmgnLAogICAgICAgICAgICAgJ2hlYXAvTG9jYWxTY29wZS5oJywKICAgICAgICAg
ICAgICdoZWFwL1N0cm9uZy5oJywKKyAgICAgICAgICAgICdoZWFwL1N0cm9uZ0lubGluZXMuaCcs
CiAgICAgICAgICAgICAnaGVhcC9XZWFrLmgnLAogICAgICAgICAgICAgJ2NvbmZpZy5oJywKICAg
ICAgICAgICAgICdkZWJ1Z2dlci9EZWJ1Z2dlci5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCShyZXZpc2lv
biA5NjQ2NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1
bmN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBKU0NhbGxi
YWNrT2JqZWN0PFBhcmVudD46OmluaXQoRXhlYwogICAgIGZvciAoSlNDbGFzc1JlZiBqc0NsYXNz
UHRyID0gY2xhc3NSZWYoKTsganNDbGFzc1B0ciAmJiAhbmVlZHNGaW5hbGl6ZXI7IGpzQ2xhc3NQ
dHIgPSBqc0NsYXNzUHRyLT5wYXJlbnRDbGFzcykKICAgICAgICAgbmVlZHNGaW5hbGl6ZXIgPSBq
c0NsYXNzUHRyLT5maW5hbGl6ZTsKICAgICBpZiAobmVlZHNGaW5hbGl6ZXIpIHsKLSAgICAgICAg
SGFuZGxlU2xvdCBzbG90ID0gZXhlYy0+Z2xvYmFsRGF0YSgpLmFsbG9jYXRlR2xvYmFsSGFuZGxl
KCk7CisgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGV4ZWMtPmdsb2JhbERhdGEoKS5oZWFwLmhh
bmRsZUhlYXAoKS0+YWxsb2NhdGUoKTsKICAgICAgICAgSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90
KS0+bWFrZVdlYWsoc2xvdCwgbV9jYWxsYmFja09iamVjdERhdGEuZ2V0KCksIGNsYXNzUmVmKCkp
OwogICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT53cml0ZUJhcnJpZXIoc2xvdCwg
dGhpcyk7CiAgICAgICAgICpzbG90ID0gdGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCShyZXZpc2lvbiA5NjQ2
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc0LDYg
KzE5NzQsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPEZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0
aD0iLi5cLi5caGVhcFxTdHJvbmdJbmxpbmVzLmgiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlPgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxGaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBSZWxhdGl2ZVBhdGg9Ii4uXC4uXGhlYXBcSGFuZGxlLmgiCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9G
aWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk2NDY0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsNyBAQAogCQkxNDQ2OURFRDEw
N0VDN0U3MDA2NTA0NDYgLyogU3RyaW5nUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMThDM0M1MEUxNkVFMzMwMEIzNDQ2MCAvKiBT
dHJpbmdQcm90b3R5cGUuY3BwICovOyB9OwogCQkxNDQ2OURFRTEwN0VDN0U3MDA2NTA0NDYgLyog
VVN0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg4NTAyNTU1OTdEMDFGRjYwRjcgLyogVVN0cmluZy5jcHAgKi87IH07CiAJCTE0NDgz
NkU3MTMyREE3QkUwMDVCRTc4NSAvKiBDb25zZXJ2YXRpdmVSb290cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5REFBRjIxMkVCNTU5RDAwODNCMTJC
IC8qIENvbnNlcnZhdGl2ZVJvb3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMTQ1NzIyODYxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9uZ0lubGlu
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NTcy
Mjg1MTQzN0UxNDAwMDVGREUyNiAvKiBTdHJvbmdJbmxpbmVzLmggKi87IH07CiAJCTE0NkFBQjM4
MEI2NkE5NDQwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NkFBQjM3MEI2NkE5NDQwMEU1NUYxNiAvKiBK
U1N0cmluZ1JlZkNGLmNwcCAqLzsgfTsKIAkJMTQ2QjE2RDgxMkVCNUI1OTAwMUJFQzFCIC8qIENv
bnNlcnZhdGl2ZVJvb3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE0NkIxNERCMTJFQjVCMTIwMDFCRUMxQiAvKiBDb25zZXJ2YXRpdmVSb290cy5j
cHAgKi87IH07CiAJCTE0NkZFNTEyMTFBNzEwNDMwMDg3QUU2NiAvKiBKSVRDYWxsMzJfNjQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ2RkU1MTEx
MUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgKi87IH07CkBAIC04OTEsNiArODky
LDcgQEAKIAkJMTQ0MEZDRTEwQTUxRTQ2QjAwMDVGMDYxIC8qIEpTQ2xhc3NSZWYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGFzc1JlZi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxNDQwRkNFMjBBNTFFNDZCMDAwNUYwNjEgLyogSlNDbGFzc1JlZi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsYXNzUmVmLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ0NTZBMzExMzE0NjU3ODAwMjEyQ0EzIC8qIERv
dWJseUxpbmtlZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG91Ymx5
TGlua2VkTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDU3MjI4NTE0MzdF
MTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHJvbmdJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0
NUM1MDdGMEQ5REY2M0IwMDg4RjZCOSAvKiBDYWxsRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDYWxsRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NDZBQUIyQTBCNjZBODQ5MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHJpbmdSZWZDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNDZBQUIzNzBCNjZBOTQ0MDBFNTVGMTYgLyogSlNTdHJpbmdSZWZDRi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHJpbmdSZWZDRi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjkzLDYgKzE2OTUsNyBAQAogCQkJCTBG
MjQyREE1MTNGM0IxQkIwMDdBREQ0QyAvKiBXZWFrUmVmZXJlbmNlSGFydmVzdGVyLmggKi8sCiAJ
CQkJMEZDODE1MDgxNDA0M0JDQTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuY3BwICov
LAogCQkJCTBGQzgxNTA5MTQwNDNCRDIwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0Lmgg
Ki8sCisJCQkJMTQ1NzIyODUxNDM3RTE0MDAwNUZERTI2IC8qIFN0cm9uZ0lubGluZXMuaCAqLywK
IAkJCSk7CiAJCQlwYXRoID0gaGVhcDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0y
ODYzLDYgKzI4NjYsNyBAQAogCQkJCTBGRDUyQUFFMTQzMDM1QTAwMDI2REM5RiAvKiBVbmlvbkZp
bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2ODgwRjFFMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdK
SVRDb21waWxlcklubGluZU1ldGhvZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTIyOEVEMTQz
NkFCMjcwMDE5NkM0OCAvKiBIZXVyaXN0aWNzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDU3MjI4
NjE0MzdFMTQwMDA1RkRFMjYgLyogU3Ryb25nSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJJbnRlcnBy
ZXRlci5oIgogI2luY2x1ZGUgIlNjb3BlQ2hhaW4uaCIKKyNpbmNsdWRlICJTdHJvbmdJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiVVN0cmluZy5oIgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwxMSArMTE4LDEw
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RnVuY3Rvcj4gdHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBmb3JFYWNoUHJvdGVjdGVkQ2Vs
bChGdW5jdG9yJik7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IHR5cGVuYW1l
IEZ1bmN0b3I6OlJldHVyblR5cGUgZm9yRWFjaFByb3RlY3RlZENlbGwoKTsKLSAgICAgICAgCi0g
ICAgICAgIEhhbmRsZVNsb3QgYWxsb2NhdGVHbG9iYWxIYW5kbGUoKSB7IHJldHVybiBtX2hhbmRs
ZUhlYXAuYWxsb2NhdGUoKTsgfQotICAgICAgICBIYW5kbGVTbG90IGFsbG9jYXRlTG9jYWxIYW5k
bGUoKSB7IHJldHVybiBtX2hhbmRsZVN0YWNrLnB1c2goKTsgfQogCisgICAgICAgIEhhbmRsZUhl
YXAqIGhhbmRsZUhlYXAoKSB7IHJldHVybiAmbV9oYW5kbGVIZWFwOyB9CiAgICAgICAgIEhhbmRs
ZVN0YWNrKiBoYW5kbGVTdGFjaygpIHsgcmV0dXJuICZtX2hhbmRsZVN0YWNrOyB9CisKICAgICAg
ICAgdm9pZCBnZXRDb25zZXJ2YXRpdmVSZWdpc3RlclJvb3RzKEhhc2hTZXQ8SlNDZWxsKj4mIHJv
b3RzKTsKIAogICAgIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9M
b2NhbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0xvY2FsLmgJ
KHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTG9jYWwuaAko
d29ya2luZyBjb3B5KQpAQCAtNTcsMTMgKzU3LDEzIEBAIHByaXZhdGU6CiB9OwogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gaW5saW5lIExvY2FsPFQ+OjpMb2NhbChKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKLSAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmFs
bG9jYXRlTG9jYWxIYW5kbGUoKSkKKyAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmhlYXAuaGFu
ZGxlU3RhY2soKS0+cHVzaCgpKQogewogICAgIHNldCh2YWx1ZSk7CiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiBpbmxpbmUgTG9jYWw8VD46OkxvY2FsKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgSGFuZGxlPFQ+IG90aGVyKQotICAgIDogSGFuZGxlPFQ+KGdsb2JhbERhdGEuYWxsb2NhdGVM
b2NhbEhhbmRsZSgpKQorICAgIDogSGFuZGxlPFQ+KGdsb2JhbERhdGEuaGVhcC5oYW5kbGVTdGFj
aygpLT5wdXNoKCkpCiB7CiAgICAgc2V0KG90aGVyLmdldCgpKTsKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1N0cm9uZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL1N0cm9uZy5oCShyZXZpc2lvbiA5NjQ2NCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL1N0cm9uZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBACiBu
YW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgSlNHbG9iYWxEYXRhOwotSGFuZGxlU2xvdCBhbGxvY2F0
ZUdsb2JhbEhhbmRsZShKU0dsb2JhbERhdGEmKTsKIAogLy8gQSBzdHJvbmdseSByZWZlcmVuY2Vk
IGhhbmRsZSB0aGF0IHByZXZlbnRzIHRoZSBvYmplY3QgaXQgcG9pbnRzIHRvIGZyb20gYmVpbmcg
Z2FyYmFnZSBjb2xsZWN0ZWQuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgU3Ryb25nIDog
cHVibGljIEhhbmRsZTxUPiB7CkBAIC00OCwxNyArNDcsOSBAQCBwdWJsaWM6CiAgICAgewogICAg
IH0KICAgICAKLSAgICBTdHJvbmcoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBFeHRlcm5hbFR5
cGUgdmFsdWUgPSBFeHRlcm5hbFR5cGUoKSkKLSAgICAgICAgOiBIYW5kbGU8VD4oYWxsb2NhdGVH
bG9iYWxIYW5kbGUoZ2xvYmFsRGF0YSkpCi0gICAgewotICAgICAgICBzZXQodmFsdWUpOwotICAg
IH0KKyAgICBTdHJvbmcoSlNHbG9iYWxEYXRhJiwgRXh0ZXJuYWxUeXBlID0gRXh0ZXJuYWxUeXBl
KCkpOwogCi0gICAgU3Ryb25nKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSGFuZGxlPFQ+IGhh
bmRsZSkKLSAgICAgICAgOiBIYW5kbGU8VD4oYWxsb2NhdGVHbG9iYWxIYW5kbGUoZ2xvYmFsRGF0
YSkpCi0gICAgewotICAgICAgICBzZXQoaGFuZGxlLmdldCgpKTsKLSAgICB9CisgICAgU3Ryb25n
KEpTR2xvYmFsRGF0YSYsIEhhbmRsZTxUPik7CiAgICAgCiAgICAgU3Ryb25nKGNvbnN0IFN0cm9u
ZyYgb3RoZXIpCiAgICAgICAgIDogSGFuZGxlPFQ+KCkKQEAgLTk1LDEyICs4Niw3IEBAIHB1Ymxp
YzoKICAgICAgICAgSGFuZGxlPFQ+Ojpzd2FwKG90aGVyKTsKICAgICB9CiAKLSAgICB2b2lkIHNl
dChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKLSAgICB7Ci0g
ICAgICAgIGlmICghc2xvdCgpKQotICAgICAgICAgICAgc2V0U2xvdChhbGxvY2F0ZUdsb2JhbEhh
bmRsZShnbG9iYWxEYXRhKSk7Ci0gICAgICAgIHNldCh2YWx1ZSk7Ci0gICAgfQorICAgIHZvaWQg
c2V0KEpTR2xvYmFsRGF0YSYsIEV4dGVybmFsVHlwZSk7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVT4gU3Ryb25nJiBvcGVyYXRvcj0oY29uc3QgU3Ryb25nPFU+JiBvdGhlcikKICAgICB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdHJvbmdJbmxpbmVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nSW5saW5lcy5oCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Ryb25nSW5saW5lcy5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJvbmdJbmxp
bmVzX2gKKyNkZWZpbmUgU3Ryb25nSW5saW5lc19oCisKK25hbWVzcGFjZSBKU0MgeworCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSBTdHJvbmc8VD46OlN0cm9uZyhKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEV4dGVybmFsVHlwZSB2YWx1ZSkKKyAgICA6IEhhbmRsZTxUPihnbG9iYWxE
YXRhLmhlYXAuaGFuZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQoreworICAgIHNldCh2YWx1ZSk7Cit9
CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgoraW5saW5lIFN0cm9uZzxUPjo6U3Ryb25nKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgSGFuZGxlPFQ+IGhhbmRsZSkKKyAgICA6IEhhbmRsZTxUPihn
bG9iYWxEYXRhLmhlYXAuaGFuZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQoreworICAgIHNldChoYW5k
bGUuZ2V0KCkpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSB2b2lkIFN0cm9u
ZzxUPjo6c2V0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgRXh0ZXJuYWxUeXBlIHZhbHVlKQor
eworICAgIGlmICghc2xvdCgpKQorICAgICAgICBzZXRTbG90KGdsb2JhbERhdGEuaGVhcC5oYW5k
bGVIZWFwKCktPmFsbG9jYXRlKCkpOworICAgIHNldCh2YWx1ZSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIEpTQworICAgIAorI2VuZGlmIC8vIFN0cm9uZ0lubGluZXNfaApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvV2Vhay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1dlYWsuaAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9XZWFrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIFdlYWsoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBFeHRlcm5hbFR5cGUg
dmFsdWUgPSBFeHRlcm5hbFR5cGUoKSwgV2Vha0hhbmRsZU93bmVyKiB3ZWFrT3duZXIgPSAwLCB2
b2lkKiBjb250ZXh0ID0gMCkKLSAgICAgICAgOiBIYW5kbGU8VD4oZ2xvYmFsRGF0YS5hbGxvY2F0
ZUdsb2JhbEhhbmRsZSgpKQorICAgICAgICA6IEhhbmRsZTxUPihnbG9iYWxEYXRhLmhlYXAuaGFu
ZGxlSGVhcCgpLT5hbGxvY2F0ZSgpKQogICAgIHsKICAgICAgICAgSGFuZGxlSGVhcDo6aGVhcEZv
cihzbG90KCkpLT5tYWtlV2VhayhzbG90KCksIHdlYWtPd25lciwgY29udGV4dCk7CiAgICAgICAg
IHNldCh2YWx1ZSk7CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0KEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgRXh0ZXJuYWxUeXBlIHZhbHVlLCBXZWFrSGFuZGxlT3du
ZXIqIHdlYWtPd25lciA9IDAsIHZvaWQqIGNvbnRleHQgPSAwKQogICAgIHsKICAgICAgICAgaWYg
KCFzbG90KCkpIHsKLSAgICAgICAgICAgIHNldFNsb3QoZ2xvYmFsRGF0YS5hbGxvY2F0ZUdsb2Jh
bEhhbmRsZSgpKTsKKyAgICAgICAgICAgIHNldFNsb3QoZ2xvYmFsRGF0YS5oZWFwLmhhbmRsZUhl
YXAoKS0+YWxsb2NhdGUoKSk7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3Qo
KSktPm1ha2VXZWFrKHNsb3QoKSwgd2Vha093bmVyLCBjb250ZXh0KTsKICAgICAgICAgfQogICAg
ICAgICBBU1NFUlQoSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90KCkpLT5oYXNXZWFrT3duZXIoc2xv
dCgpLCB3ZWFrT3duZXIpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxEYXRhLmNwcAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1
Niw3IEBACiAjaW5jbHVkZSAiUmVnRXhwQ2FjaGUuaCIKICNpbmNsdWRlICJSZWdFeHBPYmplY3Qu
aCIKICNpbmNsdWRlICJTdHJpY3RFdmFsQWN0aXZhdGlvbi5oIgorI2luY2x1ZGUgIlN0cm9uZ0lu
bGluZXMuaCIKICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1dURlRo
cmVhZERhdGEuaD4KICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAt
Mjk1LDggKzI5NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGFkZFJlZ0V4cFRv
VHJhY2UoUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCk7CiAjZW5kaWYKICAgICAgICAgdm9pZCBk
dW1wUmVnRXhwVHJhY2UoKTsKLSAgICAgICAgSGFuZGxlU2xvdCBhbGxvY2F0ZUdsb2JhbEhhbmRs
ZSgpIHsgcmV0dXJuIGhlYXAuYWxsb2NhdGVHbG9iYWxIYW5kbGUoKTsgfQotICAgICAgICBIYW5k
bGVTbG90IGFsbG9jYXRlTG9jYWxIYW5kbGUoKSB7IHJldHVybiBoZWFwLmFsbG9jYXRlTG9jYWxI
YW5kbGUoKTsgfQogICAgICAgICB2b2lkIGNsZWFyQnVpbHRpblN0cnVjdHVyZXMoKTsKIAogICAg
ICAgICBib29sIGlzQ29sbGVjdG9yQnVzeSgpIHsgcmV0dXJuIGhlYXAuaXNCdXN5KCk7IH0KQEAg
LTMyMCwxMSArMzE4LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZW5kaWYKICAgICB9OwogCi0gICAg
aW5saW5lIEhhbmRsZVNsb3QgYWxsb2NhdGVHbG9iYWxIYW5kbGUoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGdsb2JhbERhdGEuYWxsb2NhdGVHbG9iYWxI
YW5kbGUoKTsKLSAgICB9Ci0KICNpZiBFTkFCTEUoR0NfVkFMSURBVElPTikKICAgICBpbmxpbmUg
Ym9vbCBKU0dsb2JhbERhdGE6OmlzSW5pdGlhbGl6aW5nT2JqZWN0KCkgY29uc3QKICAgICB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNw
cAkocmV2aXNpb24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRl
cmFsUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkxleGVyLmgiCisj
aW5jbHVkZSAiU3Ryb25nSW5saW5lcy5oIgogI2luY2x1ZGUgIlVTdHJpbmdCdWlsZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ2FjaGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENhY2hlLmNwcAkocmV2aXNp
b24gOTY0NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDYWNoZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlJlZ0V4cENh
Y2hlLmgiCiAjaW5jbHVkZSAiUmVnRXhwT2JqZWN0LmgiCisjaW5jbHVkZSAiU3Ryb25nSW5saW5l
cy5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgJKHJldmlzaW9u
IDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2YXRlOgog
ICAgICAgICBBU1NFUlQoaXNVc2luZ1NpbmdsZVNsb3QoKSk7CiAgICAgICAgIEhhbmRsZVNsb3Qg
c2xvdCA9IHRoaXMtPnNsb3QoKTsKICAgICAgICAgaWYgKCFzbG90KSB7Ci0gICAgICAgICAgICBz
bG90ID0gZ2xvYmFsRGF0YS5hbGxvY2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICAgICAgc2xv
dCA9IGdsb2JhbERhdGEuaGVhcC5oYW5kbGVIZWFwKCktPmFsbG9jYXRlKCk7CiAgICAgICAgICAg
ICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT5tYWtlV2VhayhzbG90LCAwLCAwKTsKICAgICAg
ICAgICAgIG1fZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNsb3QpIHwgVXNpbmdT
aW5nbGVTbG90RmxhZzsKICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDTWFwLmgJKHJldmlzaW9uIDk2NDY0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw3ICsxMjUsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICBwYWlyPHR5cGVuYW1lIE1hcFR5cGU6Oml0ZXJhdG9y
LCBib29sPiBpdGVyID0gbV9tYXAuYWRkKGtleSwgMCk7CiAgICAgICAgIGlmIChpdGVyLnNlY29u
ZCkgewotICAgICAgICAgICAgSGFuZGxlU2xvdCBzbG90ID0gZ2xvYmFsRGF0YS5hbGxvY2F0ZUds
b2JhbEhhbmRsZSgpOworICAgICAgICAgICAgSGFuZGxlU2xvdCBzbG90ID0gZ2xvYmFsRGF0YS5o
ZWFwLmhhbmRsZUhlYXAoKS0+YWxsb2NhdGUoKTsKICAgICAgICAgICAgIGl0ZXIuZmlyc3QtPnNl
Y29uZCA9IHNsb3Q7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT5tYWtl
V2VhayhzbG90LCB0aGlzLCBGaW5hbGl6ZXJDYWxsYmFjazo6ZmluYWxpemVyQ29udGV4dEZvcihr
ZXkpKTsKICAgICAgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPndyaXRlQmFycmll
cihzbG90LCB2YWx1ZSk7CkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAgICAgICBwYWly
PHR5cGVuYW1lIE1hcFR5cGU6Oml0ZXJhdG9yLCBib29sPiBpdGVyID0gbV9tYXAuYWRkKGtleSwg
MCk7CiAgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGl0ZXIuZmlyc3QtPnNlY29uZDsKICAgICAg
ICAgaWYgKGl0ZXIuc2Vjb25kKSB7Ci0gICAgICAgICAgICBzbG90ID0gZ2xvYmFsRGF0YS5hbGxv
Y2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICAgICAgc2xvdCA9IGdsb2JhbERhdGEuaGVhcC5o
YW5kbGVIZWFwKCktPmFsbG9jYXRlKCk7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9y
KHNsb3QpLT5tYWtlV2VhayhzbG90LCB0aGlzLCBrZXkpOwogICAgICAgICAgICAgaXRlci5maXJz
dC0+c2Vjb25kID0gc2xvdDsKICAgICAgICAgfQo=
</data>
<flag name="review"
          id="106650"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="106651"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>