<?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>43577</bug_id>
          
          <creation_ts>2010-08-05 14:22:17 -0700</creation_ts>
          <short_desc>Add script world API for injected bundles</short_desc>
          <delta_ts>2010-08-05 14:32:26 -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>WebKit2</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>260854</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 14:22:17 -0700</bug_when>
    <thetext>Add script world API for injected bundles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260857</commentid>
    <comment_count>1</comment_count>
      <attachid>63636</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 14:27:07 -0700</bug_when>
    <thetext>Created attachment 63636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260860</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 14:28:29 -0700</bug_when>
    <thetext>Attachment 63636 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.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]
WebKit2/WebProcess/InjectedBundle/InjectedBundleScriptWorld.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]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:53:  More than one command on the same line  [whitespace/newline] [4]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:61:  More than one command on the same line  [whitespace/newline] [4]
WebKit2/WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 5 in 11 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>260868</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 14:32:26 -0700</bug_when>
    <thetext>Landed in r64788.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63636</attachid>
            <date>2010-08-05 14:27:07 -0700</date>
            <delta_ts>2010-08-05 14:30:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>23847</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDc4NikKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTAtMDgtMDUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2Ny
aXB0IHdvcmxkIEFQSSBmb3IgaW5qZWN0ZWQgYnVuZGxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1NzcKKworICAgICAgICAqIFNoYXJlZC9BUElP
YmplY3QuaDoKKyAgICAgICAgKFdlYktpdDo6QVBJT2JqZWN0OjopOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0OjopOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVCYXNlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlw
dFdvcmxkLmNwcDogQWRkZWQuCisgICAgICAgIChXS0J1bmRsZVNjcmlwdFdvcmxkR2V0VHlwZUlE
KToKKyAgICAgICAgKFdLQnVuZGxlU2NyaXB0V29ybGRDcmVhdGVXb3JsZCk6CisgICAgICAgIChX
S0J1bmRsZVNjcmlwdFdvcmxkU3RhbmRhcmRXb3JsZCk6CisgICAgICAgIChXS0J1bmRsZVNjcmlw
dFdvcmxkUmV0YWluKToKKyAgICAgICAgKFdLQnVuZGxlU2NyaXB0V29ybGRSZWxlYXNlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29y
bGQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6YWxsV29ybGRzKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRX
b3JsZDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3Js
ZDo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVNjcmlwdFdv
cmxkOjpzdGFuZGFyZFdvcmxkKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3Jp
cHRXb3JsZDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZCk6CisgICAgICAgIChXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlU2NyaXB0V29ybGQ6On5JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29y
bGQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQ6
OnR5cGUpOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgKiB3aW4vV2Vi
S2l0MkdlbmVyYXRlZC5tYWtlOgorCiAyMDEwLTA4LTA1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgQW5kZXJzIENhcmxzc29uLgpJbmRleDogV2ViS2l0
Mi9TaGFyZWQvQVBJT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvQVBJT2Jq
ZWN0LmgJKHJldmlzaW9uIDY0Nzc4KQorKysgV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAgICAgICBUeXBlQnVuZGxl
LAogICAgICAgICBUeXBlQnVuZGxlRnJhbWUsCiAgICAgICAgIFR5cGVCdW5kbGVQYWdlLAorICAg
ICAgICBUeXBlQnVuZGxlU2NyaXB0V29ybGQsCiAgICAgICAgIFR5cGVCdW5kbGVOb2RlSGFuZGxl
LAogCiAgICAgICAgIC8vIFBsYXRmb3JtIHNwZWNpZmljCkluZGV4OiBXZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjQ3NzgpCisrKyBXZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTUxLDYg
KzE1MSwxMCBAQAogCQlCQzExMUI2NDExMkY2MzgzMDAzMzdCQUIgLyogV2ViUGFnZVByb3h5TWVz
c2FnZUtpbmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzExMUI2MTExMkY2MzgzMDAzMzdCQUIgLyogV2ViUGFnZVByb3h5TWVzc2FnZUtpbmRzLmgg
Ki87IH07CiAJCUJDMTExQjY1MTEyRjYzODMwMDMzN0JBQiAvKiBXZWJQcm9jZXNzTWVzc2FnZUtp
bmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzEx
MUI2MjExMkY2MzgzMDAzMzdCQUIgLyogV2ViUHJvY2Vzc01lc3NhZ2VLaW5kcy5oICovOyB9Owog
CQlCQzEzMUJDOTExNzI2QzI4MDBCNjk3MjcgLyogQ29yZUlQQ01lc3NhZ2VLaW5kcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMzFCQzgxMTcyNkMy
ODAwQjY5NzI3IC8qIENvcmVJUENNZXNzYWdlS2luZHMuaCAqLzsgfTsKKwkJQkMxNERGNzcxMjBC
NUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMTRERjc1MTIwQjVCNzkwMDgyNkMw
QyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggKi87IH07CisJCUJDMTRERjc4MTIwQjVC
NzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMTRERjc2MTIwQjVCNzkwMDgyNkMw
QyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCAqLzsgfTsKKwkJQkMxNERGOUUxMjBC
NjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNERGOUMxMjBCNjM1RjAwODI2QzBDIC8q
IFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwICovOyB9OworCQlCQzE0REY5RjEyMEI2MzVGMDA4MjZD
MEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMxNERGOUQxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2Ny
aXB0V29ybGQuaCAqLzsgfTsKIAkJQkMxNzc0NjUxMThCOUZGNDAwN0Q5RTlBIC8qIFdLUGFnZVBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MTc3NDY0MTE4QjlGRjQwMDdEOUU5QSAvKiBXS1BhZ2VQcml2YXRlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxNzc1M0YxMThCQUJGMDAwN0Q5
RTlBIC8qIEdlbmVyaWNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMxNzc1M0UxMThCQUJGMDAwN0Q5RTlBIC8qIEdlbmVyaWNDYWxsYmFj
ay5oICovOyB9OwogCQlCQzFBN0M1ODExMzZFMTlDMDBGQjcxNjcgLyogUHJvY2Vzc0xhdW5jaGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzFBN0M1
NzExMzZFMTlDMDBGQjcxNjcgLyogUHJvY2Vzc0xhdW5jaGVyLmggKi87IH07CkBAIC00NzIsNiAr
NDc2LDEwIEBACiAJCUJDMTExQjYxMTEyRjYzODMwMDMzN0JBQiAvKiBXZWJQYWdlUHJveHlNZXNz
YWdlS2luZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGFnZVByb3h5
TWVzc2FnZUtpbmRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMTExQjYyMTEy
RjYzODMwMDMzN0JBQiAvKiBXZWJQcm9jZXNzTWVzc2FnZUtpbmRzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByb2Nlc3NNZXNzYWdlS2luZHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkMxMzFCQzgxMTcyNkMyODAwQjY5NzI3IC8qIENvcmVJUENNZXNz
YWdlS2luZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZUlQQ01lc3Nh
Z2VLaW5kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzE0REY3NTEyMEI1Qjc5
MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUJDMTRERjc2MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1
bmRsZVNjcmlwdFdvcmxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCQzE0REY5QzEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRsZVNjcmlwdFdvcmxk
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxNERGOUQxMjBCNjM1RjAwODI2
QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tCdW5kbGVTY3JpcHRXb3JsZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQzE3NzQ2NDExOEI5RkY0MDA3RDlFOUEgLyogV0tQYWdlUHJpdmF0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1BhZ2VQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDMTc3NTNFMTE4QkFCRjAwMDdEOUU5QSAvKiBHZW5lcmljQ2FsbGJhY2su
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY0NhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMUE3QzU3MTEzNkUxOUMwMEZCNzE2NyAvKiBQ
cm9jZXNzTGF1bmNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vz
c0xhdW5jaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTMzLDYgKzExNDEs
OCBAQAogCQkJCUJDQThDNkE3MTFFM0JBNUYwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VM
b2FkZXJDbGllbnQuaCAqLywKIAkJCQlCQ0E4QzZBRDExRTNDMDg3MDA4MTJGQjcgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlVUlDbGllbnQuY3BwICovLAogCQkJCUJDQThDNkFFMTFFM0MwODcwMDgxMkZC
NyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oICovLAorCQkJCUJDMTRERjc2MTIwQjVC
NzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCAqLywKKwkJCQlCQzE0
REY3NTEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oICovLAog
CQkJKTsKIAkJCXBhdGggPSBJbmplY3RlZEJ1bmRsZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0xMTc0LDYgKzExODQsOCBAQAogCQkJCUJDRjA0OUU1MTFGRTIwRjYwMEY4NkE1OCAv
KiBXS0J1bmRsZVByaXZhdGUuaCAqLywKIAkJCQlFMUVFNTVGNzExRjhGMUJDMDBDQ0JFRTQgLyog
V0tCdW5kbGVSYW5nZS5jcHAgKi8sCiAJCQkJRTFFRTU1RjMxMUY4RjE4OTAwQ0NCRUU0IC8qIFdL
QnVuZGxlUmFuZ2UuaCAqLywKKwkJCQlCQzE0REY5QzEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5k
bGVTY3JpcHRXb3JsZC5jcHAgKi8sCisJCQkJQkMxNERGOUQxMjBCNjM1RjAwODI2QzBDIC8qIFdL
QnVuZGxlU2NyaXB0V29ybGQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gYzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CkBAIC0xNDE4LDYgKzE0MzAsOCBAQAogCQkJCTFBMEYyOUU0MTIwQjQ0
NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzRCRUVBQjEyMEEwQTVGMDBGQkEwQzcgLyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzRCRUZFMTEyMEExQTRDMDBGQkEwQzcgLyogV0tCdW5kbGVOb2Rl
SGFuZGxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyog
SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxNERGOUYx
MjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMTYzMCw2ICsxNjQ0LDggQEAKIAkJCQkxQTBGMjlFMzEyMEI0NDQyMDA1M0QxQjkgLyogVmlz
aXRlZExpbmtQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzRCRUVBQzEyMEEwQTVG
MDBGQkEwQzcgLyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNEJFRkUyMTIwQTFBNEMwMEZCQTBDNyAvKiBXS0J1bmRsZU5vZGVIYW5kbGUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQkMxNERGNzgxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkMxNERGOUUxMjBCNjM1RjAw
ODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3Js
ZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkluamVjdGVk
QnVuZGxlU2NyaXB0V29ybGQuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxk
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CisjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCit0eXBlZGVmIEhhc2hNYXA8RE9NV3JhcHBlcldvcmxkKiwgSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZCo+IFdvcmxkTWFwOworCitzdGF0aWMgV29ybGRNYXAmIGFsbFdvcmxkcygpCit7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChXb3JsZE1hcCwgbWFwLCAoKSk7CisgICAgcmV0dXJu
IG1hcDsKK30KKworUGFzc1JlZlB0cjxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkPiBJbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZChTY3JpcHRDb250cm9sbGVyOjpjcmVhdGVXb3JsZCgp
KSk7Cit9CisKK1Bhc3NSZWZQdHI8SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZD4gSW5qZWN0ZWRC
dW5kbGVTY3JpcHRXb3JsZDo6Z2V0T3JDcmVhdGUoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKK3sK
KyAgICBpZiAod29ybGQgPT0gbWFpblRocmVhZE5vcm1hbFdvcmxkKCkpCisgICAgICAgIHJldHVy
biBzdGFuZGFyZFdvcmxkKCk7CisKKyAgICBpZiAoSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZCog
ZXhpc3RpbmdXb3JsZCA9IGFsbFdvcmxkcygpLmdldCh3b3JsZCkpCisgICAgICAgIHJldHVybiBl
eGlzdGluZ1dvcmxkOworCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbmplY3RlZEJ1bmRsZVNj
cmlwdFdvcmxkKHdvcmxkKSk7Cit9CisKK0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQqIEluamVj
dGVkQnVuZGxlU2NyaXB0V29ybGQ6OnN0YW5kYXJkV29ybGQoKQoreworICAgIHN0YXRpYyBJbmpl
Y3RlZEJ1bmRsZVNjcmlwdFdvcmxkKiB3b3JsZCA9IGFkb3B0UmVmKG5ldyBJbmplY3RlZEJ1bmRs
ZVNjcmlwdFdvcmxkKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKSkubGVha1JlZigpOworICAgIHJl
dHVybiB3b3JsZDsKK30KKworSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6SW5qZWN0ZWRCdW5k
bGVTY3JpcHRXb3JsZChQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gd29ybGQpCisgICAgOiBt
X3dvcmxkKHdvcmxkKQoreworICAgIEFTU0VSVCghYWxsV29ybGRzKCkuY29udGFpbnMobV93b3Js
ZC5nZXQoKSkpOworICAgIGFsbFdvcmxkcygpLmFkZChtX3dvcmxkLmdldCgpLCB0aGlzKTsKK30K
KworSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6fkluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQo
KQoreworICAgIEFTU0VSVChhbGxXb3JsZHMoKS5jb250YWlucyhtX3dvcmxkLmdldCgpKSk7Cisg
ICAgYWxsV29ybGRzKCkucmVtb3ZlKG1fd29ybGQuZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaAkocmV2aXNpb24gMCkKKysr
IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdv
cmxkLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGRfaAorI2RlZmluZSBJbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkX2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Cisg
ICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZCA6IHB1YmxpYyBBUElPYmplY3QgeworcHVibGlj
OgorICAgIHN0YXRpYyBjb25zdCBUeXBlIEFQSVR5cGUgPSBUeXBlQnVuZGxlU2NyaXB0V29ybGQ7
CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkPiBjcmVh
dGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkPiBn
ZXRPckNyZWF0ZShXZWJDb3JlOjpET01XcmFwcGVyV29ybGQqKTsKKyAgICBzdGF0aWMgSW5qZWN0
ZWRCdW5kbGVTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOworCisgICAgfkluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQoKTsKKworcHJpdmF0ZToKKyAgICBJbmplY3RlZEJ1bmRsZVNjcmlwdFdv
cmxkKFBhc3NSZWZQdHI8V2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkPik7CisKKyAgICB2aXJ0dWFs
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KKworICAgIFJlZlB0cjxXZWJD
b3JlOjpET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGRfaApJbmRleDogV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2FzdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUFQSUNhc3QuaAkocmV2aXNpb24gNjQ3NzgpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYg
KzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEluamVjdGVkQnVuZGxlOwogY2xh
c3MgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOworY2xhc3MgSW5qZWN0ZWRCdW5kbGVTY3JpcHRX
b3JsZDsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViUGFnZTsKIApAQCAtNDksNiArNTAsNyBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1bmRsZVBhZ2VSZWY+ICAgICAgICAgICAgICAgICAg
ICB7IHR5cGVkZWYgV2ViUGFnZSogSW1wbFR5cGU7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBCdW5k
bGVBUElUeXBlSW5mbzxXS0J1bmRsZVJlZj4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGVk
ZWYgSW5qZWN0ZWRCdW5kbGUqIEltcGxUeXBlOyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQnVuZGxl
QVBJVHlwZUluZm88V0tCdW5kbGVOb2RlSGFuZGxlUmVmPiAgICAgICAgICAgICAgeyB0eXBlZGVm
IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZSogSW1wbFR5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1bmRsZVNjcmlwdFdvcmxkUmVmPiAgICAgICAgICAgICB7
IHR5cGVkZWYgSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZCogSW1wbFR5cGU7IH07CiB0ZW1wbGF0
ZTw+IHN0cnVjdCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1bmRsZU5vZGVSZWY+ICAgICAgICAgICAg
ICAgICAgICB7IHR5cGVkZWYgV2ViQ29yZTo6Tm9kZSogSW1wbFR5cGU7IH07CiB0ZW1wbGF0ZTw+
IHN0cnVjdCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1bmRsZVJhbmdlUmVmPiAgICAgICAgICAgICAg
ICAgICB7IHR5cGVkZWYgV2ViQ29yZTo6UmFuZ2UqIEltcGxUeXBlOyB9OwogdGVtcGxhdGU8PiBz
dHJ1Y3QgQnVuZGxlQVBJVHlwZUluZm88V0tCdW5kbGVDU1NTdHlsZURlY2xhcmF0aW9uUmVmPiAg
ICAgeyB0eXBlZGVmIFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb24qIEltcGxUeXBlOyB9OwpA
QCAtNTYsNiArNTgsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBCdW5kbGVBUElUeXBlSW5mbzxXS0J1
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBJbXBsVHlwZT4gc3RydWN0IEJ1bmRsZUltcGxUeXBlSW5mbyB7
IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBCdW5kbGVJbXBsVHlwZUluZm88SW5qZWN0ZWRCdW5kbGUq
PiAgICAgICAgICAgICAgICAgICB7IHR5cGVkZWYgV0tCdW5kbGVSZWYgQVBJVHlwZTsgfTsKIHRl
bXBsYXRlPD4gc3RydWN0IEJ1bmRsZUltcGxUeXBlSW5mbzxJbmplY3RlZEJ1bmRsZU5vZGVIYW5k
bGUqPiAgICAgICAgIHsgdHlwZWRlZiBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgQVBJVHlwZTsgfTsK
K3RlbXBsYXRlPD4gc3RydWN0IEJ1bmRsZUltcGxUeXBlSW5mbzxJbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkKj4gICAgICAgIHsgdHlwZWRlZiBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIEFQSVR5cGU7
IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBCdW5kbGVJbXBsVHlwZUluZm88V2ViRnJhbWUqPiAgICAg
ICAgICAgICAgICAgICAgICAgICB7IHR5cGVkZWYgV0tCdW5kbGVGcmFtZVJlZiBBUElUeXBlOyB9
OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQnVuZGxlSW1wbFR5cGVJbmZvPFdlYlBhZ2UqPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyB0eXBlZGVmIFdLQnVuZGxlUGFnZVJlZiBBUElUeXBlOyB9Owog
dGVtcGxhdGU8PiBzdHJ1Y3QgQnVuZGxlSW1wbFR5cGVJbmZvPFdlYkNvcmU6OkNTU1N0eWxlRGVj
bGFyYXRpb24qPiAgICAgeyB0eXBlZGVmIFdLQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlvblJlZiBB
UElUeXBlOyB9OwpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUJhc2UuaAkocmV2aXNpb24gNjQ3NzgpCisrKyBXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVCYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGUqIFdL
QnVuZGxlUgogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVGcmFtZSogV0tCdW5kbGVGcmFt
ZVJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVdLQnVuZGxlTm9kZUhhbmRsZSogV0tCdW5kbGVO
b2RlSGFuZGxlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVQYWdlKiBXS0J1bmRs
ZVBhZ2VSZWY7Cit0eXBlZGVmIHN0cnVjdCBPcGFxdWVXS0J1bmRsZVNjcmlwdFdvcmxkKiBXS0J1
bmRsZVNjcmlwdFdvcmxkUmVmOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVXS0J1bmRsZURPTUNT
U1N0eWxlRGVjbGFyYXRpb24qIFdLQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlvblJlZjsKIHR5cGVk
ZWYgc3RydWN0IE9wYXF1ZVdLQnVuZGxlTm9kZSogV0tCdW5kbGVOb2RlUmVmOwpJbmRleDogV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXS0J1bmRsZVNj
cmlwdFdvcmxkLmgiCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCisj
aW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK1dLVHlwZUlEIFdLQnVuZGxlU2NyaXB0V29ybGRHZXRU
eXBlSUQoKQoreworICAgIHJldHVybiB0b1JlZihJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpB
UElUeXBlKTsKK30KKworV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBXS0J1bmRsZVNjcmlwdFdvcmxk
Q3JlYXRlV29ybGQoKQoreworICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkPiB3
b3JsZCA9IEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQ6OmNyZWF0ZSgpOworICAgIHJldHVybiB0
b1JlZih3b3JsZC5yZWxlYXNlKCkucmVsZWFzZVJlZigpKTsKK30KKworV0tCdW5kbGVTY3JpcHRX
b3JsZFJlZiBXS0J1bmRsZVNjcmlwdFdvcmxkU3RhbmRhcmRXb3JsZCgpCit7CisgICAgcmV0dXJu
IHRvUmVmKEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQ6OnN0YW5kYXJkV29ybGQoKSk7Cit9CisK
K1dLQnVuZGxlU2NyaXB0V29ybGRSZWYgV0tCdW5kbGVTY3JpcHRXb3JsZFJldGFpbihXS0J1bmRs
ZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkUmVmKQoreworICAgIHRvV0soc2NyaXB0V29ybGRS
ZWYpLT5yZWYoKTsKKyAgICByZXR1cm4gc2NyaXB0V29ybGRSZWY7Cit9CisKK3ZvaWQgV0tCdW5k
bGVTY3JpcHRXb3JsZFJlbGVhc2UoV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZFJl
ZikKK3sKKyAgICB0b1dLKHNjcmlwdFdvcmxkUmVmKS0+ZGVyZWYoKTsKK30KSW5kZXg6IFdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlU2NyaXB0V29ybGQuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxlU2NyaXB0V29ybGRf
aAorI2RlZmluZSBXS0J1bmRsZVNjcmlwdFdvcmxkX2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tC
YXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZUJhc2UuaD4KKworI2lmZGVmIF9fY3Bs
dXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5k
bGVTY3JpcHRXb3JsZEdldFR5cGVJRCgpOworCitXS19FWFBPUlQgV0tCdW5kbGVTY3JpcHRXb3Js
ZFJlZiBXS0J1bmRsZVNjcmlwdFdvcmxkQ3JlYXRlV29ybGQoKTsKK1dLX0VYUE9SVCBXS0J1bmRs
ZVNjcmlwdFdvcmxkUmVmIFdLQnVuZGxlU2NyaXB0V29ybGRTdGFuZGFyZFdvcmxkKCk7CisKK1dL
X0VYUE9SVCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIFdLQnVuZGxlU2NyaXB0V29ybGRSZXRhaW4o
V0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNjcmlwdFdvcmxkUmVsZWFzZShXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxk
KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFdLQnVuZGxl
U2NyaXB0V29ybGRfaCAqLwpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNw
cAkocmV2aXNpb24gNjQ3NzgpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
RE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDIx
ICs0MCw2IEBAIHN0YXRpYyBET01IYW5kbGVDYWNoZSYgZG9tSGFuZGxlQ2FjaGUoKQogICAgIHJl
dHVybiBjYWNoZTsKIH0KIAotc3RhdGljIGlubGluZSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUq
IGdldERPTUhhbmRsZShOb2RlKiBkb21PYmplY3QpCi17Ci0gICAgcmV0dXJuIGRvbUhhbmRsZUNh
Y2hlKCkuZ2V0KGRvbU9iamVjdCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRET01IYW5k
bGUoTm9kZSogZG9tT2JqZWN0LCBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUqIGhhbmRsZSkKLXsK
LSAgICBkb21IYW5kbGVDYWNoZSgpLnNldChkb21PYmplY3QsIGhhbmRsZSk7Ci19Ci0KLXN0YXRp
YyBpbmxpbmUgdm9pZCByZW1vdmVET01IYW5kbGUoTm9kZSogZG9tT2JqZWN0KQotewotICAgIGRv
bUhhbmRsZUNhY2hlKCkucmVtb3ZlKGRvbU9iamVjdCk7Ci19Ci0KIFBhc3NSZWZQdHI8SW5qZWN0
ZWRCdW5kbGVOb2RlSGFuZGxlPiBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRl
KE5vZGUqIG5vZGUpCiB7CiAgICAgc3RkOjpwYWlyPERPTUhhbmRsZUNhY2hlOjppdGVyYXRvciwg
Ym9vbD4gcmVzdWx0ID0gZG9tSGFuZGxlQ2FjaGUoKS5hZGQobm9kZSwgMCk7CkluZGV4OiBXZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvagkocmV2aXNpb24gNjQ3NzgpCisrKyBXZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtNzMxLDYgKzczMSwxNCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCIN
CiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3Bw
Ig0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5o
Ig0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQogCQkJCTxGaWx0ZXINCiAJCQkJCU5hbWU9IkFQSSIN
CiAJCQkJCT4NCkBAIC04MDksNiArODE3LDE0IEBACiAJCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxX
ZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlUmFuZ2UuaCINCiAJCQkJCQkJ
Pg0KIAkJCQkJCTwvRmlsZT4NCisJCQkJCQk8RmlsZQ0KKwkJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAi
DQorCQkJCQkJCT4NCisJCQkJCQk8L0ZpbGU+DQorCQkJCQkJPEZpbGUNCisJCQkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlU2NyaXB0
V29ybGQuaCINCisJCQkJCQkJPg0KKwkJCQkJCTwvRmlsZT4NCiAJCQkJCTwvRmlsdGVyPg0KIAkJ
CQk8L0ZpbHRlcj4NCiAJCQkJPEZpbHRlcg0KSW5kZXg6IFdlYktpdDIvd2luL1dlYktpdDJHZW5l
cmF0ZWQubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1h
a2UJKHJldmlzaW9uIDY0Nzc4KQorKysgV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAi
Li5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcY1xXS0J1bmRsZVBhZ2VQcml2YXRlLmgi
ICIkKFdFQktJVE9VVFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIu
LlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlUHJpdmF0ZS5oIiAiJChX
RUJLSVRPVVRQVVRESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cV2Vi
UHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcY1xXS0J1bmRsZVJhbmdlLmgiICIkKFdFQktJVE9V
VFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhjb3B5IC95IC9kICIuLlxXZWJQcm9jZXNz
XEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlU2NyaXB0V29ybGQuaCIgIiQoV0VCS0lUT1VU
UFVURElSKVxpbmNsdWRlXFdlYktpdDIiCiAgICAgLWRlbCAiJChXRUJLSVRPVVRQVVRESVIpXGJ1
aWxkZmFpbGVkIgogCiBjbGVhbjoK
</data>
<flag name="review"
          id="52033"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>