<?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>57683</bug_id>
          
          <creation_ts>2011-04-01 16:50:19 -0700</creation_ts>
          <short_desc>WK2 Icon Database API needs to be fleshed out</short_desc>
          <delta_ts>2011-04-04 09:03:04 -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>WebKit wx</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378213</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-04-01 16:50:19 -0700</bug_when>
    <thetext>WK2 Icon Database API needs to be fleshed out

At least by bringing it to parity with the WK1 API in terms of notifications, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378218</commentid>
    <comment_count>1</comment_count>
      <attachid>87945</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-04-01 17:01:57 -0700</bug_when>
    <thetext>Created attachment 87945
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378240</commentid>
    <comment_count>2</comment_count>
      <attachid>87945</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-01 17:35:32 -0700</bug_when>
    <thetext>Comment on attachment 87945
Patch v1

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

&gt; Source/WebKit2/UIProcess/WebIconDatabase.cpp:208
&gt; +{    

Stray whitespace crept in here.

&gt; Source/WebKit2/UIProcess/WebIconDatabase.cpp:220
&gt; +    RefPtr&lt;WebURL&gt; url = WebURL::create(pageURL);
&gt; +    m_iconDatabaseClient.didChangeIconForPageURL(this, url.get());

I think this would read better without the local variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378815</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-04-04 09:03:04 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82839</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87945</attachid>
            <date>2011-04-01 17:01:57 -0700</date>
            <delta_ts>2011-04-01 17:35:32 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>21408</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNzQ2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMDQtMDEgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NzY4MworICAgICAgICBGbGVzaCBvdXQgV0syIEljb24gRGF0YWJhc2UgQVBJCisKKyAgICAg
ICAgRm9yIG5vdyB0aGUgbmV3IEFQSSB3aWxsIGFkZCBhIGNsaWVudCBpbnRlcmZhY2Ugd2hlcmUg
dGhlIFdLMSB2ZXJzaW9uIHVzZWQgTlNOb3RpZmljYXRpb25zLgorCisgICAgICAgIElmIHdlIGRl
Y2lkZSB3ZSdkIGxpa2UgdGhlIGdyYW51bGFyaXR5IG9mIHNwZWNpZmljIGNhbGxiYWNrIGZ1bmN0
aW9ucyBsYXRlciwgCisgICAgICAgIHRoZXkgY2FuIGVhc2lseSBiZSBhZGRlZCBvbi4KKworICAg
ICAgICBQcm9qZWN0IGZpbGUgbm9uc2Vuc2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06Cisg
ICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKworICAgICAgICBBZGQg
YSBXS0ljb25EYXRhYmFzZUNsaWVudCBhbmQgc29tZSBuZXcgQVBJOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXS0ljb25EYXRhYmFzZVNl
dEljb25EYXRhYmFzZUNsaWVudCk6CisgICAgICAgIChXS0ljb25EYXRhYmFzZVJlbW92ZUFsbElj
b25zKToKKyAgICAgICAgKFdLSWNvbkRhdGFiYXNlQ2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5n
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvY2cvV0tJY29uRGF0YWJhc2VDRy5jcHA6CisgICAgICAgIChXS0lj
b25EYXRhYmFzZVRyeUdldENHSW1hZ2VGb3JVUkwpOiBSZW5hbWVkIHRvICJ0cnkiIGZvciBzdWJ0
bGUgY2xhcmlmaWNhdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvY2cvV0tJY29uRGF0
YWJhc2VDRy5oOgorCisgICAgICAgIEltcGxlbWVudGF0aW9ucyBmb3IgdGhlIG5ldyBBUElzOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJJY29uRGF0YWJhc2U6OnJldGFpbkljb25Gb3JQYWdlVVJMKTogUmVtb3ZlIGV4Y2Vzc2l2
ZSBsb2dnaW5nLgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2U6OnJlbGVhc2VJY29u
Rm9yUGFnZVVSTCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2U6Omlt
YWdlRm9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRhYmFzZTo6cmVtb3Zl
QWxsSWNvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2U6OmNoZWNrSW50ZWdy
aXR5QmVmb3JlT3BlbmluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRhYmFzZTo6aW5p
dGlhbGl6ZUljb25EYXRhYmFzZUNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRh
YmFzZTo6ZGlkSW1wb3J0SWNvblVSTEZvclBhZ2VVUkwpOiBEaXNwYXRjaCBhIGNsaWVudCBjYWxs
YmFjaywKKyAgICAgICAgICBtdWNoIGxpa2UgdGhlIFdLMSBBUEkgdXNlcyBub3RpZmljYXRpb25z
LgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2U6OmRpZEltcG9ydEljb25EYXRhRm9y
UGFnZVVSTCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2U6OmRpZENo
YW5nZUljb25Gb3JQYWdlVVJMKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRh
YmFzZTo6ZGlkUmVtb3ZlQWxsSWNvbnMpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
SWNvbkRhdGFiYXNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZUNsaWVu
dC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2VDbGllbnQ6OmRp
ZENoYW5nZUljb25Gb3JQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViSWNvbkRhdGFiYXNl
Q2xpZW50OjpkaWRSZW1vdmVBbGxJY29ucyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkljb25E
YXRhYmFzZUNsaWVudC5oOiBBZGRlZC4KKwogMjAxMS0wNC0wMSAgQnJpYW4gV2VpbnN0ZWluICA8
YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxz
c29uLgpJbmRleDogU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDgyNzE3KQorKysgU291cmNl
L1dlYktpdDIvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw2ICs0NTUsOCBA
QCBsaWJXZWJLaXQyX2xhX1NPVVJDRVMgPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykhpc3RvcnlDbGllbnQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRh
YmFzZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuaCBc
CisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgXAor
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2VDbGllbnQuaCBcCiAJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkuY3BwIFwKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYktpdDIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktp
dDIucHJvCShyZXZpc2lvbiA4MjcxNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDcsNiArMjA3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9j
ZXNzL1dlYkdlb2xvY2F0aW9uUHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkhpc3RvcnlD
bGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5oIFwKKyAgICBVSVByb2Nl
c3MvV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmggXAogICAgIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5Lmgg
XAogICAgIFVJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaCBcCkBAIC00MDQsNiArNDA1LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkdlb2xvY2F0aW9uUHJvdmlkZXIuY3BwIFwK
ICAgICBVSVByb2Nlc3MvV2ViSGlzdG9yeUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJJ
Y29uRGF0YWJhc2UuY3BwIFwKKyAgICBVSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNw
cCBcCiAgICAgVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNz
L1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJM
b2FkZXJDbGllbnQuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29u
RGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJ
Y29uRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA4MjcxNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsMTQgKzEwMCwx
MiBAQCB2b2lkIFdlYkljb25EYXRhYmFzZTo6ZW5hYmxlRGF0YWJhc2VDbGVhCiAKIHZvaWQgV2Vi
SWNvbkRhdGFiYXNlOjpyZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwp
CiB7Ci0gICAgTE9HKEljb25EYXRhYmFzZSwgIldLMiBVSVByb2Nlc3MgcmV0YWluaW5nIGljb24g
Zm9yIHBhZ2UgVVJMICVzIiwgcGFnZVVSTC5hc2NpaSgpLmRhdGEoKSk7CiAgICAgaWYgKG1faWNv
bkRhdGFiYXNlSW1wbCkKICAgICAgICAgbV9pY29uRGF0YWJhc2VJbXBsLT5yZXRhaW5JY29uRm9y
UGFnZVVSTChwYWdlVVJMKTsKIH0KIAogdm9pZCBXZWJJY29uRGF0YWJhc2U6OnJlbGVhc2VJY29u
Rm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpCiB7Ci0gICAgTE9HKEljb25EYXRhYmFz
ZSwgIldLMiBVSVByb2Nlc3MgcmVsZWFzaW5nIGljb24gZm9yIHBhZ2UgVVJMICVzIiwgcGFnZVVS
TC5hc2NpaSgpLmRhdGEoKSk7CiAgICAgaWYgKG1faWNvbkRhdGFiYXNlSW1wbCkKICAgICAgICAg
bV9pY29uRGF0YWJhc2VJbXBsLT5yZWxlYXNlSWNvbkZvclBhZ2VVUkwocGFnZVVSTCk7CiB9CkBA
IC0xNzYsMTcgKzE3NCwyOCBAQCB2b2lkIFdlYkljb25EYXRhYmFzZTo6Z2V0TG9hZERlY2lzaW9u
Rm9yCiAKIEltYWdlKiBXZWJJY29uRGF0YWJhc2U6OmltYWdlRm9yUGFnZVVSTChjb25zdCBTdHJp
bmcmIHBhZ2VVUkwpCiB7Ci0gICAgaWYgKCFtX3dlYkNvbnRleHQpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgaWYgKCFtX2ljb25EYXRhYmFzZUltcGwgfHwgIW1faWNvbkRhdGFiYXNlSW1wbC0+
aXNPcGVuKCkgfHwgcGFnZVVSTC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOworICAgIGlm
ICghbV93ZWJDb250ZXh0IHx8ICFtX2ljb25EYXRhYmFzZUltcGwgfHwgIW1faWNvbkRhdGFiYXNl
SW1wbC0+aXNPcGVuKCkgfHwgcGFnZVVSTC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOyAg
ICAKIAogICAgIC8vIFRoZSBXZWJDb3JlIEljb25EYXRhYmFzZSBpZ25vcmVzIHRoZSBwYXNzZWQg
aW4gc2l6ZSBwYXJhbWV0ZXIuCiAgICAgLy8gSWYgdGhhdCBjaGFuZ2VzIHdlJ2xsIG5lZWQgdG8g
cmV0aGluayBob3cgdGhpcyBBUEkgaXMgZXhwb3NlZC4KICAgICByZXR1cm4gbV9pY29uRGF0YWJh
c2VJbXBsLT5zeW5jaHJvbm91c0ljb25Gb3JQYWdlVVJMKHBhZ2VVUkwsIFdlYkNvcmU6OkludFNp
emUoMzIsIDMyKSk7CiB9CiAKK3ZvaWQgV2ViSWNvbkRhdGFiYXNlOjpyZW1vdmVBbGxJY29ucygp
Cit7CisgICAgbV9pY29uRGF0YWJhc2VJbXBsLT5yZW1vdmVBbGxJY29ucygpOyAgIAorfQorCit2
b2lkIFdlYkljb25EYXRhYmFzZTo6Y2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nKCkKK3sKKyAg
ICBJY29uRGF0YWJhc2U6OmNoZWNrSW50ZWdyaXR5QmVmb3JlT3BlbmluZygpOworfQorCit2b2lk
IFdlYkljb25EYXRhYmFzZTo6aW5pdGlhbGl6ZUljb25EYXRhYmFzZUNsaWVudChjb25zdCBXS0lj
b25EYXRhYmFzZUNsaWVudCogY2xpZW50KQoreworICAgIG1faWNvbkRhdGFiYXNlQ2xpZW50Lmlu
aXRpYWxpemUoY2xpZW50KTsKK30KIAogLy8gV2ViQ29yZTo6SWNvbkRhdGFiYXNlQ2xpZW50CiBi
b29sIFdlYkljb25EYXRhYmFzZTo6cGVyZm9ybUltcG9ydCgpCkBAIC0xOTUsMjQgKzIwNCwyNSBA
QCBib29sIFdlYkljb25EYXRhYmFzZTo6cGVyZm9ybUltcG9ydCgpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXZvaWQgV2ViSWNvbkRhdGFiYXNlOjpkaWRJbXBvcnRJY29uVVJMRm9yUGFnZVVSTChj
b25zdCBTdHJpbmcmKQotewotICAgIC8vIFNlbmQgYSBXSzIgY2xpZW50IG5vdGlmaWNhdGlvbiBv
dXQgaGVyZS4KK3ZvaWQgV2ViSWNvbkRhdGFiYXNlOjpkaWRJbXBvcnRJY29uVVJMRm9yUGFnZVVS
TChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpCit7ICAgIAorICAgIGRpZENoYW5nZUljb25Gb3JQYWdl
VVJMKHBhZ2VVUkwpOwogfQogCi12b2lkIFdlYkljb25EYXRhYmFzZTo6ZGlkSW1wb3J0SWNvbkRh
dGFGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYkljb25EYXRhYmFzZTo6ZGlkSW1w
b3J0SWNvbkRhdGFGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKLSAgICAvLyBT
ZW5kIGEgV0syIGNsaWVudCBub3RpZmljYXRpb24gb3V0IGhlcmUuCisgICAgZGlkQ2hhbmdlSWNv
bkZvclBhZ2VVUkwocGFnZVVSTCk7CiB9CiAKLXZvaWQgV2ViSWNvbkRhdGFiYXNlOjpkaWRDaGFu
Z2VJY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKQordm9pZCBXZWJJY29uRGF0YWJhc2U6OmRp
ZENoYW5nZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKLSAgICAvLyBT
ZW5kIGEgV0syIGNsaWVudCBub3RpZmljYXRpb24gb3V0IGhlcmUuCisgICAgUmVmUHRyPFdlYlVS
TD4gdXJsID0gV2ViVVJMOjpjcmVhdGUocGFnZVVSTCk7CisgICAgbV9pY29uRGF0YWJhc2VDbGll
bnQuZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwodGhpcywgdXJsLmdldCgpKTsKIH0KIAogdm9pZCBX
ZWJJY29uRGF0YWJhc2U6OmRpZFJlbW92ZUFsbEljb25zKCkKIHsKLSAgICAvLyBTZW5kIGEgV0sy
IGNsaWVudCBub3RpZmljYXRpb24gb3V0IGhlcmUuCisgICAgbV9pY29uRGF0YWJhc2VDbGllbnQu
ZGlkUmVtb3ZlQWxsSWNvbnModGhpcyk7CiB9CiAKIHZvaWQgV2ViSWNvbkRhdGFiYXNlOjpkaWRG
aW5pc2hVUkxJbXBvcnQoKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25E
YXRhYmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29u
RGF0YWJhc2UuaAkocmV2aXNpb24gODI3MTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViSWNvbkRhdGFiYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJBUElPYmplY3QuaCIKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJX
ZWJJY29uRGF0YWJhc2VDbGllbnQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ljb25EYXRhYmFzZUNs
aWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KQEAgLTc3LDYgKzc4LDExIEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6OkltYWdlKiBp
bWFnZUZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJik7CiAgICAgCisgICAgdm9pZCByZW1vdmVBbGxJ
Y29ucygpOworICAgIHZvaWQgY2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nKCk7CisKKyAgICB2
b2lkIGluaXRpYWxpemVJY29uRGF0YWJhc2VDbGllbnQoY29uc3QgV0tJY29uRGF0YWJhc2VDbGll
bnQqKTsKKwogICAgIC8vIFdlYkNvcmU6Okljb25EYXRhYmFzZUNsaWVudAogICAgIHZpcnR1YWwg
Ym9vbCBwZXJmb3JtSW1wb3J0KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEltcG9ydEljb25VUkxG
b3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwpAQCAtMTAzLDYgKzEwOSw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2RhdGFiYXNlQ2xlYW51cERpc2FibGVkOwogICAgIEhhc2hNYXA8dWludDY0X3Qs
IFN0cmluZz4gbV9wZW5kaW5nTG9hZERlY2lzaW9uVVJMTWFwOwogCisgICAgV2ViSWNvbkRhdGFi
YXNlQ2xpZW50IG1faWNvbkRhdGFiYXNlQ2xpZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlQ2xpZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFi
YXNlQ2xpZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJJY29uRGF0YWJhc2VDbGllbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkljb25EYXRhYmFz
ZUNsaWVudC5oIgorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tTaGFyZWRB
UElDYXN0LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYkljb25EYXRhYmFzZUNs
aWVudDo6ZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwoV2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0YWJh
c2UsIFdlYlVSTCogdXJsKQoreworICAgIGlmICghbV9jbGllbnQuZGlkQ2hhbmdlSWNvbkZvclBh
Z2VVUkwpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2NsaWVudC5kaWRDaGFuZ2VJY29u
Rm9yUGFnZVVSTCh0b0FQSShpY29uRGF0YWJhc2UpLCB0b0FQSSh1cmwpLCBtX2NsaWVudC5jbGll
bnRJbmZvKTsKK30KKwordm9pZCBXZWJJY29uRGF0YWJhc2VDbGllbnQ6OmRpZFJlbW92ZUFsbElj
b25zKFdlYkljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKQoreworICAgIGlmICghbV9jbGllbnQu
ZGlkUmVtb3ZlQWxsSWNvbnMpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2NsaWVudC5k
aWRSZW1vdmVBbGxJY29ucyh0b0FQSShpY29uRGF0YWJhc2UpLCAgbV9jbGllbnQuY2xpZW50SW5m
byk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkljb25EYXRhYmFzZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2VDbGllbnQuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2VDbGllbnQuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViSWNvbkRhdGFiYXNl
Q2xpZW50X2gKKyNkZWZpbmUgV2ViSWNvbkRhdGFiYXNlQ2xpZW50X2gKKworI2luY2x1ZGUgIkFQ
SUNsaWVudC5oIgorI2luY2x1ZGUgIldLSWNvbkRhdGFiYXNlLmgiCisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitjbGFzcyBBUElPYmplY3Q7CitjbGFzcyBXZWJJY29uRGF0YWJhc2U7CitjbGFzcyBX
ZWJVUkw7CisKK2NsYXNzIFdlYkljb25EYXRhYmFzZUNsaWVudCA6IHB1YmxpYyBBUElDbGllbnQ8
V0tJY29uRGF0YWJhc2VDbGllbnQ+IHsKK3B1YmxpYzoKKyAgICB2b2lkIGRpZENoYW5nZUljb25G
b3JQYWdlVVJMKFdlYkljb25EYXRhYmFzZSosIFdlYlVSTCopOworICAgIHZvaWQgZGlkUmVtb3Zl
QWxsSWNvbnMoV2ViSWNvbkRhdGFiYXNlKik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFdlYkljb25EYXRhYmFzZUNsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHAJKHJldmlzaW9uIDgy
NzE3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsMTMgQEAgV0tUeXBlSUQgV0tJY29uRGF0YWJh
c2VHZXRUeXBlSUQoKQogICAgIHJldHVybiB0b0FQSShXZWJJY29uRGF0YWJhc2U6OkFQSVR5cGUp
OwogfQogCit2b2lkIFdLSWNvbkRhdGFiYXNlU2V0SWNvbkRhdGFiYXNlQ2xpZW50KFdLSWNvbkRh
dGFiYXNlUmVmIGljb25EYXRhYmFzZVJlZiwgY29uc3QgV0tJY29uRGF0YWJhc2VDbGllbnQqIHdr
Q2xpZW50KQoreworICAgIGlmICh3a0NsaWVudCAmJiB3a0NsaWVudC0+dmVyc2lvbikKKyAgICAg
ICAgcmV0dXJuOworICAgIHRvSW1wbChpY29uRGF0YWJhc2VSZWYpLT5pbml0aWFsaXplSWNvbkRh
dGFiYXNlQ2xpZW50KHdrQ2xpZW50KTsKK30KKwogdm9pZCBXS0ljb25EYXRhYmFzZVJldGFpbklj
b25Gb3JVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWdl
VVJMUmVmKQogewogICAgIHRvSW1wbChpY29uRGF0YWJhc2VSZWYpLT5yZXRhaW5JY29uRm9yUGFn
ZVVSTCh0b1dURlN0cmluZyhwYWdlVVJMUmVmKSk7CkBAIC01MCwzICs1NywxMyBAQCB2b2lkIFdL
SWNvbkRhdGFiYXNlRW5hYmxlRGF0YWJhc2VDbGVhbnVwCiB7CiAgICAgdG9JbXBsKGljb25EYXRh
YmFzZVJlZiktPmVuYWJsZURhdGFiYXNlQ2xlYW51cCgpOwogfQorCit2b2lkIFdLSWNvbkRhdGFi
YXNlUmVtb3ZlQWxsSWNvbnMoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlUmVmKQorewor
ICAgIHRvSW1wbChpY29uRGF0YWJhc2VSZWYpLT5yZW1vdmVBbGxJY29ucygpOworfQorCit2b2lk
IFdLSWNvbkRhdGFiYXNlQ2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nKFdLSWNvbkRhdGFiYXNl
UmVmIGljb25EYXRhYmFzZVJlZikKK3sKKyAgICB0b0ltcGwoaWNvbkRhdGFiYXNlUmVmKS0+Y2hl
Y2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nKCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaAkocmV2aXNpb24gODI3MTcpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMzIsMTIgKzMyLDI5IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisvLyBJY29u
RGF0YWJhc2UgQ2xpZW50LgordHlwZWRlZiB2b2lkICgqV0tJY29uRGF0YWJhc2VEaWRDaGFuZ2VJ
Y29uRm9yUGFnZVVSTENhbGxiYWNrKShXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UsIFdL
VVJMUmVmIHBhZ2VVUkwsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tJY29uRGF0YWJhc2VEaWRSZW1vdmVBbGxJY29uc0NhbGxiYWNrKShXS0ljb25EYXRhYmFzZVJl
ZiBpY29uRGF0YWJhc2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tJY29u
RGF0YWJhc2VDbGllbnQgeworICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lk
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWVudEluZm87CisgICAgV0tJY29uRGF0YWJhc2VEaWRDaGFuZ2VJY29uRm9yUGFnZVVSTENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTDsKKyAg
ICBXS0ljb25EYXRhYmFzZURpZFJlbW92ZUFsbEljb25zQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZFJlbW92ZUFsbEljb25zOworfTsKK3R5cGVkZWYgc3RydWN0IFdLSWNv
bkRhdGFiYXNlQ2xpZW50IFdLSWNvbkRhdGFiYXNlQ2xpZW50OworCiBXS19FWFBPUlQgV0tUeXBl
SUQgV0tJY29uRGF0YWJhc2VHZXRUeXBlSUQoKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tJY29uRGF0
YWJhc2VTZXRJY29uRGF0YWJhc2VDbGllbnQoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNl
LCBjb25zdCBXS0ljb25EYXRhYmFzZUNsaWVudCogY2xpZW50KTsKKwogV0tfRVhQT1JUIHZvaWQg
V0tJY29uRGF0YWJhc2VSZXRhaW5JY29uRm9yVVJMKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRh
YmFzZSwgV0tVUkxSZWYgcGFnZVVSTCk7CiBXS19FWFBPUlQgdm9pZCBXS0ljb25EYXRhYmFzZVJl
bGVhc2VJY29uRm9yVVJMKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYg
cGFnZVVSTCk7CiBXS19FWFBPUlQgdm9pZCBXS0ljb25EYXRhYmFzZUVuYWJsZURhdGFiYXNlQ2xl
YW51cChXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UpOwogCitXS19FWFBPUlQgdm9pZCBX
S0ljb25EYXRhYmFzZVJlbW92ZUFsbEljb25zKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFz
ZSk7CitXS19FWFBPUlQgdm9pZCBXS0ljb25EYXRhYmFzZUNoZWNrSW50ZWdyaXR5QmVmb3JlT3Bl
bmluZyhXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UpOworCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2NnL1dL
SWNvbkRhdGFiYXNlQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9jZy9XS0ljb25EYXRhYmFzZUNHLmNwcAkocmV2aXNpb24gODI3MTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tJY29uRGF0YWJhc2VDRy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotQ0dJbWFnZVJlZiBXS0ljb25EYXRhYmFzZUdldENHSW1h
Z2VGb3JVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiB1cmxS
ZWYpCitDR0ltYWdlUmVmIFdLSWNvbkRhdGFiYXNlVHJ5R2V0Q0dJbWFnZUZvclVSTChXS0ljb25E
YXRhYmFzZVJlZiBpY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHVybFJlZikKIHsKICAgICBJbWFn
ZSogaW1hZ2UgPSB0b0ltcGwoaWNvbkRhdGFiYXNlUmVmKS0+aW1hZ2VGb3JQYWdlVVJMKHRvV1RG
U3RyaW5nKHVybFJlZikpOwogICAgIHJldHVybiBpbWFnZSA/IGltYWdlLT5nZXRDR0ltYWdlUmVm
KCkgOiAwOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2NnL1dLSWNvbkRh
dGFiYXNlQ0cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
Y2cvV0tJY29uRGF0YWJhc2VDRy5oCShyZXZpc2lvbiA4MjcxNykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9jZy9XS0ljb25EYXRhYmFzZUNHLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDcgKzMzLDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLVdLX0VYUE9SVCBDR0ltYWdl
UmVmIFdLSWNvbkRhdGFiYXNlR2V0Q0dJbWFnZUZvclVSTChXS0ljb25EYXRhYmFzZVJlZiBpY29u
RGF0YWJhc2UsIFdLVVJMUmVmIHVybFN0cmluZyk7CitXS19FWFBPUlQgQ0dJbWFnZVJlZiBXS0lj
b25EYXRhYmFzZVRyeUdldENHSW1hZ2VGb3JVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFi
YXNlLCBXS1VSTFJlZiB1cmxTdHJpbmcpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDgyNzE3KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMjMsNiArMzIzLDggQEAKIAkJNTE1NzhC
ODMxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNTc4QjgyMTIwOUVDRUYwMEEzN0M0QSAvKiBXZWJEYXRh
LmggKi87IH07CiAJCTUxNjBCRkUxMTMzODFERjkwMDkxODk5OSAvKiBMb2dnaW5nLm1hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjBCRkUwMTMz
ODFERjkwMDkxODk5OSAvKiBMb2dnaW5nLm1hYy5tbSAqLzsgfTsKIAkJNTE2QTRBNUQxMjBBMkND
RDAwQzA1QjdGIC8qIFdlYkVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTZBNEE1QjEyMEEyQ0NEMDBDMDVCN0YgLyogV2ViRXJyb3IuaCAqLzsg
fTsKKwkJNTE4MzQ1OTIxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTgzNDU5
MDEzNDUzMkU4MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNwcCAqLzsgfTsKKwkJ
NTE4MzQ1OTMxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MzQ1OTExMzQ1MzJF
ODAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oICovOyB9OwogCQk1MTg3MUI1QjEy
N0NCODlEMDBGNzYyMzIgLyogV2ViQ29udGV4dE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4NzFCNTkxMjdDQjg5RDAwRjc2MjMyIC8qIFdl
YkNvbnRleHRNZW51LmNwcCAqLzsgfTsKIAkJNTE4NzFCNUMxMjdDQjg5RDAwRjc2MjMyIC8qIFdl
YkNvbnRleHRNZW51LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTg3MUI1QTEyN0NCODlEMDBGNzYyMzIgLyogV2ViQ29udGV4dE1lbnUuaCAqLzsgfTsK
IAkJNTE4QUNBRUExMkFFRTZCQjAwQjA0QjgzIC8qIFdLUHJvdGVjdGlvblNwYWNlVHlwZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEFDQUU5MTJB
RUU2QkIwMEIwNEI4MyAvKiBXS1Byb3RlY3Rpb25TcGFjZVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtMTIwNiw2ICsxMjA4LDggQEAKIAkJ
NTE2QTRBNUIxMjBBMkNDRDAwQzA1QjdGIC8qIFdlYkVycm9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxN0EzM0IzMTMwQjMwOEMwMEY4MENCNSAvKiBXS0FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdBMzNCNDEzMEIz
MDhDMDBGODBDQjUgLyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS0FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxODM0NTkwMTM0NTMyRTgwMDkyQjY5NiAvKiBXZWJJY29u
RGF0YWJhc2VDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTE4MzQ1OTExMzQ1MzJFODAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJY29uRGF0YWJhc2VDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE4NEJDNEExMzJFOTA3QTAwNkI5RTI4IC8qIFdl
Ykljb25EYXRhYmFzZS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJY29u
RGF0YWJhc2UubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODcx
QjU5MTI3Q0I4OUQwMEY3NjIzMiAvKiBXZWJDb250ZXh0TWVudS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb250ZXh0TWVudS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxODcxQjVBMTI3Q0I4OUQwMEY3NjIzMiAvKiBXZWJDb250ZXh0TWVu
dS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0TWVudS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1Myw2ICsyNTU3LDggQEAKIAkJCQk1MTFC
MjRBODEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmNwcCAqLywKIAkJCQk1MTFC
MjRBOTEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmggKi8sCiAJCQkJNTE4NEJD
NEExMzJFOTA3QTAwNkI5RTI4IC8qIFdlYkljb25EYXRhYmFzZS5tZXNzYWdlcy5pbiAqLywKKwkJ
CQk1MTgzNDU5MDEzNDUzMkU4MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNwcCAq
LywKKwkJCQk1MTgzNDU5MTEzNDUzMkU4MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50
LmggKi8sCiAJCQkJMUM4RTI4MzMxMjc1RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5
LmNwcCAqLywKIAkJCQkxQzhFMjgzMjEyNzVENzM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yUHJv
eHkuaCAqLywKIAkJCQkxQzc3QzE5NTEyODhBODcyMDA2QTc0MkYgLyogV2ViSW5zcGVjdG9yUHJv
eHkubWVzc2FnZXMuaW4gKi8sCkBAIC0zNjU3LDYgKzM2NjMsNyBAQAogCQkJCUMwNjQ1MDRBMTMz
QkU3MDkwMDM0NzBFMiAvKiBMYXllclRyZWVIb3N0Q0EuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MTBBRTBEMTMzQzE2Q0IwMDcyNzE3QSAvKiBXS0ljb25EYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyM0NGMUMxMzNEMjYwQTAwNTZGODAwIC8qIFdLSWNvbkRhdGFiYXNlQ0cuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTUxODM0NTkzMTM0NTMyRTkwMDkyQjY5NiAvKiBXZWJJY29uRGF0YWJh
c2VDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxODM5MzQ5MTM0Mjk3QTUwMDE4NDJFQyAv
KiBUZXh0SW5wdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBGQTUyNDMxMzQ1Njk0QTAw
MjhFOEMyIC8qIExheWVyVHJlZUhvc3RDQU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwpAQCAt
NDI4Myw2ICs0MjkwLDcgQEAKIAkJCQk1MTIzQ0YxQjEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29u
RGF0YWJhc2VDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNkE5MDgxMzEzM0MyMDUxMDA4MkMz
RjQgLyogV2ViQ29va2llTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY2RDYzMkJD
MTMzRDE5ODIwMDc0M0Q3NyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNYWMubW0gaW4gU291cmNl
cyAqLywKKwkJCQk1MTgzNDU5MjEzNDUzMkU5MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagko
cmV2aXNpb24gODI3MTcpCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI3NjcsNiArMjc2NywxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViSWNvbkRhdGFiYXNlQ2xp
ZW50LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXFdlYkljb25EYXRhYmFzZUNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViSWNvbkRhdGFiYXNl
Lm1lc3NhZ2VzLmluIgogCQkJCT4KIAkJCTwvRmlsZT4K
</data>
<flag name="review"
          id="80407"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="80408"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>