<?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>40732</bug_id>
          
          <creation_ts>2010-06-16 13:44:59 -0700</creation_ts>
          <short_desc>WebKit2: Implement didClearWindowForFrame for InjectedBundles</short_desc>
          <delta_ts>2010-06-16 17:52:14 -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 API</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>239051</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-16 13:44:59 -0700</bug_when>
    <thetext>One big obstacle to getting a working DRT is allowing us to inject custom JS objects into pages.  We need a form of didClearWindowForFrame for InjectedBundles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239056</commentid>
    <comment_count>1</comment_count>
      <attachid>58925</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-16 13:47:20 -0700</bug_when>
    <thetext>Created attachment 58925
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239062</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-16 13:49:26 -0700</bug_when>
    <thetext>Attachment 58925 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:10:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 2 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239153</commentid>
    <comment_count>3</comment_count>
      <attachid>58925</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-06-16 17:09:51 -0700</bug_when>
    <thetext>Comment on attachment 58925
patch

retvelr+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239156</commentid>
    <comment_count>4</comment_count>
      <attachid>58925</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-06-16 17:11:41 -0700</bug_when>
    <thetext>Comment on attachment 58925
patch

(Should rename WebBundle in MiniBrowser too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239165</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-16 17:52:14 -0700</bug_when>
    <thetext>Landed in r61297.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58925</attachid>
            <date>2010-06-16 13:47:20 -0700</date>
            <delta_ts>2010-06-16 17:11:41 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patchForBZ.diff</filename>
            <type>text/plain</type>
            <size>30804</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MTI3OCkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTAtMDYtMTYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDczMgorICAgICAgICBX
ZWJLaXQyOiBJbXBsZW1lbnQgZGlkQ2xlYXJXaW5kb3dGb3JGcmFtZSBmb3IgSW5qZWN0ZWRCdW5k
bGVzCisKKyAgICAgICAgTW9yZSBJbmplY3RlZEJ1bmRsZSB3b3JrLgorICAgICAgICAtIEFkZCBy
ZWFsbHkgYmFzaWMgcGFnZSBsZXZlbCBBUElzIGZvciB0aGUgV2ViUHJvY2VzcyBzaWRlOgorICAg
ICAgICAgICAgLSBCYXNpYyBjbGllbnQgaW50ZXJmYWNlIHdpdGgganVzdCBkaWRDbGVhcldpbmRv
d0ZvckZyYW1lIChtb3JlIHdpbGwgYmUgYWRkZWQgbGF0ZXIpCisgICAgICAgICAgICAtIFNpbXBs
ZSBtYWluIGZyYW1lIHVybCBnZXR0ZXIuCisKKyAgICAgICAgVGhlc2UgQVBJcyBhcmUgZXhwZXJp
bWVudGFsIGFuZCBhcmUgaW50ZW5kZWQgdG8gYWxsb3cgbWUgdG8gZ2V0IGEgRFJUIGltcGxlbWVu
dGF0aW9uCisgICAgICAgIHVwIGFuZCBydW5uaW5nLiBUaGV5IHdpbGwgYmUgY2hhbmdpbmcuCisK
KyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdLQnVuZGxlUGFnZVNldENsaWVudCk6CisgICAgICAgIChXS0J1bmRsZVBhZ2VH
ZXRNYWluRnJhbWVVUkwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlUGFnZUNsaWVudDo6SW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50KToK
KyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50Ojppbml0aWFsaXplKToK
KyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50OjpkaWRDbGVhcldpbmRv
d09iamVjdEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxk
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUNsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6Om1haW5GcmFtZVVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aW5qZWN0ZWRCdW5k
bGVDbGllbnQpOgorICAgICAgICAqIG1hYy9XZWJLaXQyLmV4cDoKKyAgICAgICAgKiB3aW4vV2Vi
S2l0Mi52Y3Byb2o6CisKIDIwMTAtMDYtMTUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjEyMjIpCisrKyBXZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
MTAxLDYgKzEwMSwxMCBAQAogCQlCQzIwNEVGMDExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGVB
UElDYXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzIwNEVFQjExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGVBUElDYXN0LmggKi87IH07CiAJCUJD
MjA0RUYxMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUJhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjA0RUVDMTFDODNFQzgwMDhGMzM3NSAv
KiBXS0J1bmRsZUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7
IH07IH07CiAJCUJDMjA0RUYyMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUluaXRpYWxpemUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjA0RUVE
MTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUluaXRpYWxpemUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMjA1MjgxMTFDOTQyODQwMDhGMzM3
NSAvKiBXS0J1bmRsZVBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjA1MjdGMTFDOTQyODQwMDhGMzM3NSAvKiBXS0J1bmRsZVBhZ2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CisJCUJDMjA1MjgyMTFD
OTQyODQwMDhGMzM3NSAvKiBXS0J1bmRsZVBhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyMDUyODAxMUM5NDI4NDAwOEYzMzc1IC8qIFdLQnVu
ZGxlUGFnZS5jcHAgKi87IH07CisJCUJDMjA1Mjg4MTFDOTQzQTUwMDhGMzM3NSAvKiBJbmplY3Rl
ZEJ1bmRsZVBhZ2VDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjA1Mjg2MTFDOTQzQTUwMDhGMzM3NSAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VD
bGllbnQuaCAqLzsgfTsKKwkJQkMyMDUyODkxMUM5NDNBNTAwOEYzMzc1IC8qIEluamVjdGVkQnVu
ZGxlUGFnZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzIwNTI4NzExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ2xp
ZW50LmNwcCAqLzsgfTsKIAkJQkMyMEVCQjAxMTZFRUIwODAwMDk0QTUwIC8qIFdLU3RyaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzIwRUJBRTEx
NkVFQjA4MDAwOTRBNTAgLyogV0tTdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQdWJsaWMsICk7IH07IH07CiAJCUJDMjBFQkIxMTE2RUVCMDgwMDA5NEE1MCAvKiBXS1N0cmlu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzIw
RUJBRjExNkVFQjA4MDAwOTRBNTAgLyogV0tTdHJpbmcuY3BwICovOyB9OwogCQlCQzIwRUJCNDEx
NkVFRjdBMDAwOTRBNTAgLyogV0tVUkwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMjBFQkIyMTE2RUVGN0EwMDA5NEE1MCAvKiBXS1VSTC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKQEAgLTMxMCw2ICszMTQs
MTAgQEAKIAkJQkMyMDRFRUIxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxlQVBJQ2FzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUFQSUNhc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyMDRFRUMxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVu
ZGxlQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUJhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyMDRFRUQxMUM4M0VDODAwOEYzMzc1
IC8qIFdLQnVuZGxlSW5pdGlhbGl6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS0J1bmRsZUluaXRpYWxpemUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMy
MDUyN0YxMUM5NDI4NDAwOEYzMzc1IC8qIFdLQnVuZGxlUGFnZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkMyMDUyODAxMUM5NDI4NDAwOEYzMzc1IC8qIFdLQnVuZGxlUGFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRsZVBhZ2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzIwNTI4NjExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
amVjdGVkQnVuZGxlUGFnZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
QzIwNTI4NzExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUNs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMjBFQkFFMTE2RUVCMDgw
MDA5NEE1MCAvKiBXS1N0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1N0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzIwRUJBRjExNkVFQjA4
MDAwOTRBNTAgLyogV0tTdHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0tTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzIwRUJC
MjExNkVFRjdBMDAwOTRBNTAgLyogV0tVUkwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tVUkwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4Miw2ICs3OTAs
OCBAQAogCQkJCUJDMjA0RUU0MTFDODNFOUMwMDhGMzM3NSAvKiBtYWMgKi8sCiAJCQkJQkMyMDRF
RTAxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmNwcCAqLywKIAkJCQlCQzIwNEVF
MTExQzgzRTk4MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGUuaCAqLywKKwkJCQlCQzIwNTI4NzEx
Qzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50LmNwcCAqLywKKwkJCQlC
QzIwNTI4NjExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50LmggKi8s
CiAJCQkpOwogCQkJcGF0aCA9IEluamVjdGVkQnVuZGxlOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTgxMCw2ICs4MjAsOCBAQAogCQkJCUJDMjA0RUVCMTFDODNFQzgwMDhGMzM3NSAv
KiBXS0J1bmRsZUFQSUNhc3QuaCAqLywKIAkJCQlCQzIwNEVFQzExQzgzRUM4MDA4RjMzNzUgLyog
V0tCdW5kbGVCYXNlLmggKi8sCiAJCQkJQkMyMDRFRUQxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVu
ZGxlSW5pdGlhbGl6ZS5oICovLAorCQkJCUJDMjA1MjgwMTFDOTQyODQwMDhGMzM3NSAvKiBXS0J1
bmRsZVBhZ2UuY3BwICovLAorCQkJCUJDMjA1MjdGMTFDOTQyODQwMDhGMzM3NSAvKiBXS0J1bmRs
ZVBhZ2UuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC05ODAsNiArOTkyLDggQEAKIAkJCQlCQzIwNEVGMDExQzgzRUM4MDA4RjMzNzUgLyog
V0tCdW5kbGVBUElDYXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIwNEVGMTExQzgzRUM4MDA4
RjMzNzUgLyogV0tCdW5kbGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIwNEVGMjExQzgz
RUM4MDA4RjMzNzUgLyogV0tCdW5kbGVJbml0aWFsaXplLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzIwNTI4MTExQzk0Mjg0MDA4RjMzNzUgLyogV0tCdW5kbGVQYWdlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCQzIwNTI4ODExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTExMzYsNiArMTE1MCw4IEBACiAJCQkJQkMyMDRFRTIxMUM4
M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
MjA0RUU2MTFDODNFQTkwMDhGMzM3NSAvKiBJbmplY3RlZEJ1bmRsZU1hYy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzIwNEVFRTExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQkMyMDUyODIxMUM5NDI4NDAwOEYzMzc1IC8qIFdLQnVuZGxlUGFnZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlCQzIwNTI4OTExQzk0M0E1MDA4RjMzNzUgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUNsaWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUNsaWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqICBJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQuY3BwCisgKiAgV2Vi
S2l0MgorICoKKyAqICBDcmVhdGVkIGJ5IFNhbSBXZWluaWcgb24gNi8xNi8xMC4KKyAqICBDb3B5
cmlnaHQgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQuaCIKKworI2luY2x1ZGUgIldLQnVuZGxl
QVBJQ2FzdC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworSW5qZWN0ZWRCdW5kbGVQYWdlQ2xp
ZW50OjpJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQoKQoreworICAgIGluaXRpYWxpemUoMCk7Cit9
CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50Ojppbml0aWFsaXplKFdLQnVuZGxlUGFn
ZUNsaWVudCogY2xpZW50KQoreworICAgIGlmIChjbGllbnQgJiYgIWNsaWVudC0+dmVyc2lvbikK
KyAgICAgICAgbV9jbGllbnQgPSAqY2xpZW50OworICAgIGVsc2UgCisgICAgICAgIG1lbXNldCgm
bV9jbGllbnQsIDAsIHNpemVvZihtX2NsaWVudCkpOworfQorCit2b2lkIEluamVjdGVkQnVuZGxl
UGFnZUNsaWVudDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZShXZWJQYWdlKiBwYWdlLCBX
ZWJGcmFtZSogZnJhbWUsIEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIHdpbmRvdykKK3sK
KyAgICBpZiAobV9jbGllbnQuZGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZSkKKyAgICAgICAg
bV9jbGllbnQuZGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZSh0b1JlZihwYWdlKSwgdG9SZWYo
ZnJhbWUpLCBjdHgsIHdpbmRvdywgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQuaAkocmV2aXNpb24gMCkK
KysrIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VD
bGllbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50X2gKKyNkZWZpbmUgSW5qZWN0ZWRCdW5kbGVQYWdl
Q2xpZW50X2gKKworI2luY2x1ZGUgIldLQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTQmFzZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsK
K2NsYXNzIFdlYkZyYW1lOworCitjbGFzcyBJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQgeworcHVi
bGljOgorICAgIEluamVjdGVkQnVuZGxlUGFnZUNsaWVudCgpOworICAgIHZvaWQgaW5pdGlhbGl6
ZShXS0J1bmRsZVBhZ2VDbGllbnQqKTsKKworICAgIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RG
b3JGcmFtZShXZWJQYWdlKiwgV2ViRnJhbWUqLCBKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmKTsK
KworcHJpdmF0ZToKKyAgICBXS0J1bmRsZVBhZ2VDbGllbnQgbV9jbGllbnQ7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEluamVjdGVkQnVuZGxlUGFnZUNsaWVudF9o
CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldLQnVuZGxlUGFnZS5oIgorCisj
aW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5j
bHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJpbmcuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKwordm9pZCBXS0J1bmRsZVBhZ2VTZXRDbGllbnQoV0tC
dW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZUNsaWVudCAqIHdrQ2xpZW50KQorewor
ICAgIGlmICh3a0NsaWVudCAmJiAhd2tDbGllbnQtPnZlcnNpb24pCisgICAgICAgIHRvV0socGFn
ZVJlZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUNsaWVudCh3a0NsaWVudCk7Cit9CisKK1dL
VVJMUmVmIFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZVVSTChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJl
ZikKK3sKKyAgICByZXR1cm4gdG9VUkxSZWYodG9XSyhwYWdlUmVmKS0+bWFpbkZyYW1lVVJMKCku
aW1wbCgpKTsKK30KSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxlUGFnZV9oCisj
ZGVmaW5lIFdLQnVuZGxlUGFnZV9oCisKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0
Mi9XS0J1bmRsZUJhc2UuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNl
bmRpZgorCisvLyBDbGllbnQKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlRGlkQ2xlYXJXaW5kb3dP
YmplY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgd2luZG93LCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKKworc3RydWN0IFdLQnVuZGxlUGFnZUNsaWVudCB7CisgICAgaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRs
ZURpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgIGRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWU7Cit9OwordHlwZWRlZiBzdHJ1Y3QgV0tC
dW5kbGVQYWdlQ2xpZW50IFdLQnVuZGxlUGFnZUNsaWVudDsKKworV0tfRVhQT1JUIHZvaWQgV0tC
dW5kbGVQYWdlU2V0Q2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VDbGll
bnQgKiBjbGllbnQpOworCitXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZy
YW1lVVJMKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9Cisj
ZW5kaWYKKworI2VuZGlmIC8qIFdLQnVuZGxlUGFnZV9oICovCkluZGV4OiBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAJKHJldmlzaW9uIDYxMjIxKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMs
MTAgQEAKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2Fn
ZUtpbmRzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0FQSUNhc3QuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9ET01XcmFwcGVyV29y
bGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Gb3JtU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CkBAIC03NTgsOSAr
NzYxLDE5IEBAIFN0cmluZyBXZWJGcmFtZUxvYWRlckNsaWVudDo6b3ZlcnJpZGVNZWQKICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
RGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKERPTVdyYXBwZXJXb3JsZCopCit2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChET01X
cmFwcGVyV29ybGQqIHdvcmxkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgV2ViUGFn
ZSogd2ViUGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXdlYlBhZ2UpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICh3b3JsZCAhPSBtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSB0b1JlZihtX2ZyYW1l
LT5jb3JlRnJhbWUoKS0+c2NyaXB0KCktPmdsb2JhbE9iamVjdCh3b3JsZCktPmdsb2JhbEV4ZWMo
KSk7CisgICAgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0ID0gdG9SZWYobV9mcmFtZS0+Y29yZUZy
YW1lKCktPnNjcmlwdCgpLT5nbG9iYWxPYmplY3Qod29ybGQpKTsKKworICAgIHdlYlBhZ2UtPmlu
amVjdGVkQnVuZGxlQ2xpZW50KCkuZGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZSh3ZWJQYWdl
LCBtX2ZyYW1lLCBjb250ZXh0LCB3aW5kb3dPYmplY3QpOwogfQogCiB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50Ojpkb2N1bWVudEVsZW1lbnRBdmFpbGFibGUoKQpJbmRleDogV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDYxMjIyKQorKysgV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw2ICsxMTks
MTYgQEAgV2ViUGFnZTo6fldlYlBhZ2UoKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUGFnZTo6aW5p
dGlhbGl6ZUluamVjdGVkQnVuZGxlQ2xpZW50KFdLQnVuZGxlUGFnZUNsaWVudCogY2xpZW50KQor
eworICAgIG1fY2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKK30KKworU3RyaW5nIFdlYlBhZ2U6
Om1haW5GcmFtZVVSTCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWFpbkZyYW1lLT5jb3JlRnJh
bWUoKS0+bG9hZGVyKCktPnVybCgpLnN0cmluZygpOworfQorCiBXZWJGcmFtZSogV2ViUGFnZTo6
d2ViRnJhbWUodWludDY0X3QgZnJhbWVJRCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9mcmFtZU1h
cC5nZXQoZnJhbWVJRCk7CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShy
ZXZpc2lvbiA2MTIyMSkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXZWJQYWdlX2gKIAogI2lu
Y2x1ZGUgIkRyYXdpbmdBcmVhLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTg5LDYgKzkwLDEy
IEBAIHB1YmxpYzoKICAgICAvLyAtLSBDYWxsZWQgZnJvbSBXZWJQcm9jZXNzLgogICAgIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJ
RCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJik7CiAKKyAgICAvLyAtLSBJbmplY3RlZEJ1bmRs
ZSBtZXRob2RzCisgICAgdm9pZCBpbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tCdW5k
bGVQYWdlQ2xpZW50Kik7CisgICAgSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50JiBpbmplY3RlZEJ1
bmRsZUNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisKKyAgICBXZWJDb3JlOjpTdHJpbmcg
bWFpbkZyYW1lVVJMKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBw
YWdlSUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdTaXplLCBjb25zdCBXZWJQcmVmZXJl
bmNlc1N0b3JlJiwgRHJhd2luZ0FyZWE6OlR5cGUpOwogCkBAIC0xMjMsNiArMTMwLDggQEAgcHJp
dmF0ZToKICAgICBib29sIG1fY2FuR29CYWNrOwogICAgIGJvb2wgbV9jYW5Hb0ZvcndhcmQ7CiAK
KyAgICBJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQgbV9jbGllbnQ7CisKICAgICB1aW50NjRfdCBt
X3BhZ2VJRDsKIH07CiAKSW5kZXg6IFdlYktpdDIvbWFjL1dlYktpdDIuZXhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvbWFjL1dlYktpdDIuZXhwCShyZXZpc2lvbiA2MTIyMikKKysrIFdlYktpdDIv
bWFjL1dlYktpdDIuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNyBAQAogLm9iamNfY2xh
c3NfbmFtZV9XS1ZpZXcKIF9Jbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZQorX1dLQnVuZGxlUGFn
ZUdldE1haW5GcmFtZVVSTAorX1dLQnVuZGxlUGFnZVNldENsaWVudAogX1dLQnVuZGxlU2V0Q2xp
ZW50CiBfV0tDb250ZXh0Q3JlYXRlCiBfV0tDb250ZXh0Q3JlYXRlV2l0aEluamVjdGVkQnVuZGxl
UGF0aApJbmRleDogV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHJldmlzaW9uIDYxMjIyKQorKysgV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTcxMCw2ICs3MTAsMTQgQEAKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEluamVjdGVkQnVuZGxl
LmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxJbmplY3RlZEJ1bmRsZVBhZ2VDbGllbnQu
Y3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcSW5qZWN0ZWRCdW5kbGVQYWdlQ2xpZW50
LmgiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iQVBJ
Ig0KIAkJCQkJPg0KQEAgLTczNiw2ICs3NDQsMTQgQEAKIAkJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVJbml0aWFsaXplLmgiDQog
CQkJCQkJCT4NCiAJCQkJCQk8L0ZpbGU+DQorCQkJCQkJPEZpbGUNCisJCQkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlUGFnZS5jcHAi
DQorCQkJCQkJCT4NCisJCQkJCQk8L0ZpbGU+DQorCQkJCQkJPEZpbGUNCisJCQkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlUGFnZS5o
Ig0KKwkJCQkJCQk+DQorCQkJCQkJPC9GaWxlPg0KIAkJCQkJPC9GaWx0ZXI+DQogCQkJCTwvRmls
dGVyPg0KIAkJCQk8RmlsdGVyDQpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNjEyNzgpCisrKyBXZWJLaXRU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNi0x
NiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQwNzMyCisgICAgICAgIFdlYktpdDI6IEltcGxlbWVudCBkaWRDbGVh
cldpbmRvd0ZvckZyYW1lIGZvciBJbmplY3RlZEJ1bmRsZXMKKworICAgICAgICAtIFN0dWIgb3V0
IHVzZSBvZiBidW5kbGlmaWVkIGRpZENsZWFyV2luZG93Rm9yRnJhbWUgd2l0aCBsb2dnaW5nLgor
CisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4u
YzogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRs
ZU1haW4ubTogQWRkZWQuCisgICAgICAgIChfZGlkQ2xlYXJXaW5kb3cpOgorICAgICAgICAoX2Rp
ZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV0tCdW5kbGVJbml0aWFsaXplKToKKwogMjAxMC0wNi0x
NiAgRHJldyBXaWxzb24gIDxhdHdpbHNvbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L01pbmlCcm93c2VyL01pbmlCcm93c2VyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDYxMjIyKQorKysgV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTEsMTEgKzExLDEyIEBACiAJ
CTI1NkFDM0RBMEY0QjZBQzMwMENGMzM2OSAvKiBBcHBEZWxlZ2F0ZS5tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjU2QUMzRDkwRjRCNkFDMzAwQ0YzMzY5
IC8qIEFwcERlbGVnYXRlLm0gKi87IH07CiAJCThEMTEwNzJCMDQ4NkNFQjgwMEU0NzA5MCAvKiBJ
bmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDg5QzE2NUNGRTg0MEUwQ0MwMkFBQzA3IC8qIEluZm9QbGlzdC5zdHJpbmdzICov
OyB9OwogCQk4RDExMDcyRjA0ODZDRUI4MDBFNDcwOTAgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTA1OEM3QTFGRUE1
NEYwMTExQ0EyQ0JCIC8qIENvY29hLmZyYW1ld29yayAqLzsgfTsKKwkJQkMyMDU0NUUxMUM5NkM5
MjAwOEYzMzc1IC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDEwNThDN0ExRkVBNTRGMDExMUNBMkNCQiAvKiBDb2NvYS5m
cmFtZXdvcmsgKi87IH07CiAJCUJDMzI5NDg3MTE2QTkyRTIwMDg2MzVEMCAvKiBtYWluLm0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzMyOTQ4NjExNkE5
MkUyMDA4NjM1RDAgLyogbWFpbi5tICovOyB9OwogCQlCQzMyOTQ5ODExNkE5NDFCMDA4NjM1RDAg
LyogQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzI5NDk3MTE2QTk0MUIwMDg2MzVEMCAvKiBCcm93c2VyV2lu
ZG93Q29udHJvbGxlci5tICovOyB9OwogCQlCQzMyOTRBMzExNkE5ODUyMDA4NjM1RDAgLyogQnJv
d3NlcldpbmRvdy54aWIgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDMzI5NEExMTE2QTk4NTIwMDg2MzVEMCAvKiBCcm93c2VyV2luZG93LnhpYiAqLzsg
fTsKIAkJQkM4RkI1QTgxMTZBQTFGRTAwODBENDEzIC8qIFdlYktpdDIuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4RkI1QTcxMTZB
QTFGRTAwODBENDEzIC8qIFdlYktpdDIuZnJhbWV3b3JrICovOyB9OwotCQlCQ0JEMzg0MDExQjA4
QTY4MDBFMDFFNTQgLyogV2ViQnVuZGxlTWFpbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCRDM4M0QxMUIwOEEzMTAwRTAxRTU0IC8qIFdlYkJ1bmRs
ZU1haW4uYyAqLzsgfTsKKwkJQkNCRDM4NDAxMUIwOEE2ODAwRTAxRTU0IC8qIFdlYkJ1bmRsZU1h
aW4ubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkQz
ODNEMTFCMDhBMzEwMEUwMUU1NCAvKiBXZWJCdW5kbGVNYWluLm0gKi87IH07CiAJCUJDQkQzODQ0
MTFCMDhBQUQwMEUwMUU1NCAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEZCNUE3MTE2QUExRkUwMDgwRDQxMyAv
KiBXZWJLaXQyLmZyYW1ld29yayAqLzsgfTsKIAkJQkNCRDM4RDAxMUIwOEMwMjAwRTAxRTU0IC8q
IFdlYkJ1bmRsZS5idW5kbGUgaW4gQ29weSBXZWJCdW5kbGUgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNCRDM4MUQxMUIwODk4MjAwRTAxRTU0IC8qIFdlYkJ1bmRsZS5idW5k
bGUgKi87IH07CiAJCUJDRTYyNUVFMTE3RkM4MEUwMDU3MjQzMyAvKiBCcm93c2VyU3RhdGlzdGlj
c1dpbmRvdy54aWIgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRTYyNUVEMTE3RkM4MEUwMDU3MjQzMyAvKiBCcm93c2VyU3RhdGlzdGljc1dpbmRvdy54
aWIgKi87IH07CkBAIC0yNyw3ICsyOCw3IEBACiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAyOUI5NzMxM0ZEQ0ZBMzk0MTFDQTJDRUEgLyogUHJv
amVjdCBvYmplY3QgKi87CiAJCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSBCQ0JEMzgxQzExQjA4OTgyMDBFMDFFNTQgLyogV2ViQnVuZGxlICovOworCQkJcmVtb3Rl
R2xvYmFsSURTdHJpbmcgPSBCQ0JEMzgxQzExQjA4OTgyMDBFMDFFNTQ7CiAJCQlyZW1vdGVJbmZv
ID0gV2ViQnVuZGxlOwogCQl9OwogLyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9u
ICovCkBAIC02Niw3ICs2Nyw3IEBACiAJCUJDOEZCNUE3MTE2QUExRkUwMDgwRDQxMyAvKiBXZWJL
aXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gV2ViS2l0Mi5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUJDQkQzODFEMTFCMDg5ODIwMEUwMUU1
NCAvKiBXZWJCdW5kbGUuYnVuZGxlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSB3cmFwcGVyLmNmYnVuZGxlOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGgg
PSBXZWJCdW5kbGUuYnVuZGxlOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQlCQ0JEMzgxRTExQjA4OTgyMDBFMDFFNTQgLyogV2ViQnVuZGxlLUluZm8ucGxpc3QgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0Lnht
bDsgcGF0aCA9ICJXZWJCdW5kbGUtSW5mby5wbGlzdCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUJDQkQzODNEMTFCMDhBMzEwMEUwMUU1NCAvKiBXZWJCdW5kbGVNYWluLmMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IFdlYkJ1bmRsZU1haW4uYzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQkNCRDM4M0QxMUIwOEEzMTAwRTAxRTU0IC8qIFdlYkJ1bmRsZU1h
aW4ubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2ViQnVuZGxlTWFpbi5t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2MjVFRDExN0ZDODBFMDA1NzI0MzMg
LyogQnJvd3NlclN0YXRpc3RpY3NXaW5kb3cueGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS54aWI7IG5hbWUgPSBCcm93c2VyU3RhdGlzdGlj
c1dpbmRvdy54aWI7IHBhdGggPSBtYWMvQnJvd3NlclN0YXRpc3RpY3NXaW5kb3cueGliOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2MjVFRjExN0ZDODI3MDA1NzI0MzMgLyogQnJv
d3NlclN0YXRpc3RpY3NXaW5kb3dDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEJyb3dzZXJTdGF0aXN0aWNzV2luZG93Q29udHJvbGxlci5oOyBwYXRoID0gbWFj
L0Jyb3dzZXJTdGF0aXN0aWNzV2luZG93Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQ0U2MjVGMDExN0ZDODI3MDA1NzI0MzMgLyogQnJvd3NlclN0YXRpc3RpY3NX
aW5kb3dDb250cm9sbGVyLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgbmFtZSA9IEJy
b3dzZXJTdGF0aXN0aWNzV2luZG93Q29udHJvbGxlci5tOyBwYXRoID0gbWFjL0Jyb3dzZXJTdGF0
aXN0aWNzV2luZG93Q29udHJvbGxlci5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
ODYsNiArODcsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJQkMyMDU0NUUxMUM5
NkM5MjAwOEYzMzc1IC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJD
QkQzODQ0MTFCMDhBQUQwMEUwMUU1NCAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpA
QCAtMTkwLDcgKzE5Miw3IEBACiAJCUJDQkQzODJCMTFCMDg5RjcwMEUwMUU1NCAvKiBXZWJCdW5k
bGUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUJDQkQz
ODNEMTFCMDhBMzEwMEUwMUU1NCAvKiBXZWJCdW5kbGVNYWluLmMgKi8sCisJCQkJQkNCRDM4M0Qx
MUIwOEEzMTAwRTAxRTU0IC8qIFdlYkJ1bmRsZU1haW4ubSAqLywKIAkJCSk7CiAJCQluYW1lID0g
V2ViQnVuZGxlOwogCQkJcGF0aCA9IG1hYy9XZWJCdW5kbGU7CkBAIC0zMDksNyArMzExLDcgQEAK
IAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCUJDQkQzODQwMTFCMDhBNjgwMEUwMUU1NCAvKiBX
ZWJCdW5kbGVNYWluLmMgaW4gU291cmNlcyAqLywKKwkJCQlCQ0JEMzg0MDExQjA4QTY4MDBFMDFF
NTQgLyogV2ViQnVuZGxlTWFpbi5tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJLaXRUb29scy9N
aW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4uYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9NaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4uYwkocmV2
aXNpb24gNjEyMjIpCisrKyBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dl
YkJ1bmRsZU1haW4uYwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZS5oPgotI2lu
Y2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVJbml0aWFsaXplLmg+Ci0KLXN0YXRpYyBXS0J1bmRsZVJl
ZiBnbG9iYWxCdW5kbGU7Ci0KLXZvaWQgX2RpZENyZWF0ZVBhZ2UoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgcHJpbnRmKCJXS0J1bmRsZUNsaWVu
dCAtIGRpZENyZWF0ZVBhZ2VcbiIpOwotfQotCi12b2lkIFdLQnVuZGxlSW5pdGlhbGl6ZShXS0J1
bmRsZVJlZiBidW5kbGUpCi17Ci0gICAgZ2xvYmFsQnVuZGxlID0gYnVuZGxlOwotCi0gICAgV0tC
dW5kbGVDbGllbnQgY2xpZW50ID0gewotICAgICAgICAwLAotICAgICAgICAwLAotICAgICAgICBf
ZGlkQ3JlYXRlUGFnZQotICAgIH07Ci0gICAgV0tCdW5kbGVTZXRDbGllbnQoYnVuZGxlLCAmY2xp
ZW50KTsKLX0KSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL21hYy9XZWJCdW5kbGUvV2Vi
QnVuZGxlTWFpbi5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL21hYy9X
ZWJCdW5kbGUvV2ViQnVuZGxlTWFpbi5tCShyZXZpc2lvbiAwKQorKysgV2ViS2l0VG9vbHMvTWlu
aUJyb3dzZXIvbWFjL1dlYkJ1bmRsZS9XZWJCdW5kbGVNYWluLm0JKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxD
b2NvYS9Db2NvYS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGUuaD4KKyNpbmNsdWRlIDxX
ZWJLaXQyL1dLQnVuZGxlUGFnZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVJbml0aWFs
aXplLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1VSTENGLmg+CisKK3N0YXRpYyBXS0J1bmRsZVJl
ZiBnbG9iYWxCdW5kbGU7CisKK3ZvaWQgX2RpZENsZWFyV2luZG93KFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiB3aW5kb3csIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCit7CisgICAgQ0ZVUkxSZWYgY2ZVUkwg
PSBXS1VSTENvcHlDRlVSTCgwLCBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWVVUkwocGFnZSkpOwor
ICAgIE5TTG9nKEAiV0tCdW5kbGVQYWdlQ2xpZW50IC0gX2RpZENsZWFyV2luZG93Rm9yRnJhbWUg
JUAiLCBbKE5TVVJMICopY2ZVUkwgYWJzb2x1dGVTdHJpbmddKTsKKyAgICBDRlJlbGVhc2UoY2ZV
UkwpOworfQorCit2b2lkIF9kaWRDcmVhdGVQYWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIE5TTG9nKEAiV0tCdW5kbGVDbGllbnQgLSBkaWRD
cmVhdGVQYWdlXG4iKTsKKworICAgIFdLQnVuZGxlUGFnZUNsaWVudCBjbGllbnQgPSB7CisgICAg
ICAgIDAsCisgICAgICAgIDAsCisgICAgICAgIF9kaWRDbGVhcldpbmRvdworICAgIH07CisgICAg
V0tCdW5kbGVQYWdlU2V0Q2xpZW50KHBhZ2UsICZjbGllbnQpOworfQorCit2b2lkIFdLQnVuZGxl
SW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUpCit7CisgICAgZ2xvYmFsQnVuZGxlID0gYnVu
ZGxlOworCisgICAgV0tCdW5kbGVDbGllbnQgY2xpZW50ID0geworICAgICAgICAwLAorICAgICAg
ICAwLAorICAgICAgICBfZGlkQ3JlYXRlUGFnZQorICAgIH07CisgICAgV0tCdW5kbGVTZXRDbGll
bnQoYnVuZGxlLCAmY2xpZW50KTsKK30K
</data>
<flag name="review"
          id="45463"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>