<?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>125697</bug_id>
          
          <creation_ts>2013-12-13 12:28:34 -0800</creation_ts>
          <short_desc>Add page load delegate for WebProcessPlugInBrowsingContextController.</short_desc>
          <delta_ts>2016-11-09 09:26:09 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun_zhang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>yongjun_zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959620</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2013-12-13 12:28:34 -0800</bug_when>
    <thetext>We should add page load delegate for WebProcessPlugInBrowsingContextController so that a WebProcess InjectedBundle can listen to page load events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959645</commentid>
    <comment_count>1</comment_count>
      <attachid>219188</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2013-12-13 13:07:34 -0800</bug_when>
    <thetext>Created attachment 219188
Add page load delegate to WKWebProcessPlugInBrowsingContextController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959883</commentid>
    <comment_count>2</comment_count>
      <attachid>219188</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-12-14 18:02:12 -0800</bug_when>
    <thetext>Comment on attachment 219188
Add page load delegate to WKWebProcessPlugInBrowsingContextController.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:82
&gt; +static void setUpPageLoaderClient(WKWebProcessPlugInBrowserContextController *contextController, WebPage &amp;page)

&amp; on the wrong side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959907</commentid>
    <comment_count>3</comment_count>
      <attachid>219270</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2013-12-14 21:54:42 -0800</bug_when>
    <thetext>Created attachment 219270
address review comments before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959912</commentid>
    <comment_count>4</comment_count>
      <attachid>219270</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-14 22:29:17 -0800</bug_when>
    <thetext>Comment on attachment 219270
address review comments before landing.

Clearing flags on attachment: 219270

Committed r160616: &lt;http://trac.webkit.org/changeset/160616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959913</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-14 22:29:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249289</commentid>
    <comment_count>6</comment_count>
      <attachid>219270</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-11-09 09:26:09 -0800</bug_when>
    <thetext>Comment on attachment 219270
address review comments before landing.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:37
&gt; +#import &quot;WKWebProcessPluginFrameInternal.h&quot;

It&apos;s not WKWebProcessPlug_i_nFrameInternal.h, but WKWebProcessPlug_I_nFrameInternal.h

Fixed in https://trac.webkit.org/changeset/208431</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219188</attachid>
            <date>2013-12-13 13:07:34 -0800</date>
            <delta_ts>2013-12-14 21:54:42 -0800</delta_ts>
            <desc>Add page load delegate to WKWebProcessPlugInBrowsingContextController.</desc>
            <filename>webkit2_injectedbundle_loaddelegate.patch</filename>
            <type>text/plain</type>
            <size>12557</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MDU1NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTEzICBZb25nanVu
IFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBhZ2UgbG9h
ZCBkZWxlZ2F0ZSBmb3IgV2ViUHJvY2Vzc1BsdWdJbkJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2OTcK
KworICAgICAgICBBZGQgcGFnZSBsb2FkIGRlbGVnYXRlIGZvciBXZWJQcm9jZXNzUGx1Z0luQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlciBzbyB0aGF0IGEKKyAgICAgICAgV2ViUHJvY2VzcyBpbmpl
Y3RlZCBidW5kbGUgY2FuIGxpc3RlbiB0byBwYWdlIGxvYWQgZXZlbnRzLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5t
bToKKyAgICAgICAgKGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOgorICAgICAgICAo
ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKGdsb2JhbE9iamVjdElzQXZhaWxhYmxl
Rm9yRnJhbWUpOgorICAgICAgICAoc2V0VXBQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKC1b
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIGxvYWREZWxlZ2F0ZV0p
OgorICAgICAgICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIg
c2V0TG9hZERlbGVnYXRlOl0pOgorCiAyMDEzLTEyLTEzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZC4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDE2MDU1NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzMyLDYgKzMzMiw3IEBACiAJCTFDQThCOTU0MTI3Qzg5
MTUwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMkRBRDEyNzhDNUIyMDBCQzdCRDAgLyogV2ViSW5z
cGVjdG9yTWFjLm1tICovOyB9OwogCQkxQ0I3NUM5NDE3MDFFODgwMDA5RjgwOUYgLyogRG9ja1Jp
Z2h0LnBkZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUNCNzVDOTMxNzAxRTg4MDAwOUY4MDlGIC8qIERvY2tSaWdodC5wZGYgKi87IH07CiAJCTFDQkM5
NDVFMTY1MTVFRDIwMEQ2OEFBRSAvKiBEb2NrQm90dG9tLnBkZiBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCQzk0NUQxNjUxNUVEMjAwRDY4QUFFIC8q
IERvY2tCb3R0b20ucGRmICovOyB9OworCQkxRjMzNUJDMDE4NUI4NEYwMDAxQTIwMUEgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxRjMzNUJCRjE4NUI4NEQ4MDAxQTIwMUEgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVi
bGljLCApOyB9OyB9OwogCQkxRjc1MDZBRDE4NTkxNjFDMDBFQzBGRjcgLyogV0tXZWJQcm9jZXNz
UGx1Z0luRnJhbWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxRjAxODE2QTE4NThEQzE1MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUu
bW0gKi87IH07CiAJCTFGNzUwNkFFMTg1OTE2MjIwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5IaXRUZXN0UmVzdWx0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUYwMTgxNkQxODU4REMxNjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhp
dFRlc3RSZXN1bHQubW0gKi87IH07CiAJCTFGNzUwNkFGMTg1OTE2MjgwMEVDMEZGNyAvKiBXS1dl
YlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNzAxODU4REMxNjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vz
c1BsdWdJbk5vZGVIYW5kbGUubW0gKi87IH07CkBAIC0xOTAyLDYgKzE5MDMsNyBAQAogCQkxRjAx
ODE3MjE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0
V29ybGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUYwMTgxNzMxODU4REMxNjAw
RjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFGMDE4MTc0MTg1OERDMTYwMEY5Mjg4
NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZEludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkSW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUYzMzVCQkYxODVCODREODAwMUEy
MDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkwRjQyNzExNzJBMEM3NDAwOTM5RkYwIC8qIENoaWxk
UHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hp
bGRQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNF
QkVBOTE2MjdEOUM5MDA1Rjg5RjEgLyogV0tET01UZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdLRE9NVGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OTNFQkVBQTE2MjdEOUM5MDA1Rjg5RjEgLyogV0tET01UZXh0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tET01UZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzc0Nyw2ICszNzQ5LDcgQEAKIAkJCQkxRjAxODE2QzE4NThEQzE1MDBGOTI4
ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5oICovLAogCQkJCTFGMDE4MTZE
MTg1OERDMTYwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tICov
LAogCQkJCTFGMDE4MTZFMTg1OERDMTYwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRU
ZXN0UmVzdWx0SW50ZXJuYWwuaCAqLywKKwkJCQkxRjMzNUJCRjE4NUI4NEQ4MDAxQTIwMUEgLyog
V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggKi8sCiAJCQkJMUYwMTgxNkYxODU4REMx
NjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUuaCAqLywKIAkJCQkxRjAx
ODE3MDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSAq
LywKIAkJCQkxRjAxODE3MTE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9k
ZUhhbmRsZUludGVybmFsLmggKi8sCkBAIC01NzgxLDYgKzU3ODQsNyBAQAogCQkJCTM3OEUxQTRF
MTgyMDhENzAwMDMxMDA3QSAvKiBXS05TVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTI5MzVF
NDEyODhEOTc4MDBBNEI2OTUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU1M0UzMTFGOENGQzAwMENDQkVFNCAvKiBJbmplY3Rl
ZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFGMzM1QkMwMTg1
Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMTRFMTBBMTIwQjkwNUUwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VGb3JtQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ0NUJBNTE4NEQ1RkRBMDA0QjM0
MTQgLyogV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q1
QzY2QTExMzRCOUQzODAwNEZFMkE4IC8qIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnQuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlBy
b2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitAY2xhc3Mg
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjsKK0BjbGFzcyBXS1dl
YlByb2Nlc3NQbHVnSW5GcmFtZTsKK0BjbGFzcyBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3Js
ZDsKKworQHByb3RvY29sIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZSA8TlNPYmplY3Q+
CitAb3B0aW9uYWwKKy0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyKiljb250cm9s
bGVyIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6KFdLV2ViUHJvY2Vzc1BsdWdJbkZy
YW1lICopZnJhbWU7CistICh2b2lkKXdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciopY29udHJv
bGxlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICopZnJh
bWU7CistICh2b2lkKXdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciopY29udHJvbGxlciBnbG9i
YWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOihXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKWZy
YW1lIGluU2NyaXB0V29ybGQ6KFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkICopc2NyaXB0
V29ybGQ7CitAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5oCShyZXZp
c2lvbiAxNjA1NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogQGNsYXNzIFdLRE9NRG9jdW1lbnQ7CiBA
Y2xhc3MgV0tET01SYW5nZTsKK0Bwcm90b2NvbCBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdh
dGU7CiAKIFdLX0FQSV9DTEFTUwogQGludGVyZmFjZSBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIgOiBOU09iamVjdApAQCAtMzksNiArNDAsOCBAQCBAaW50ZXJmYWNl
IFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250CiAKIEBwcm9wZXJ0eShyZWFkb25seSkgV0tE
T01SYW5nZSAqc2VsZWN0ZWRSYW5nZTsKIAorQHByb3BlcnR5ICh3ZWFrKSBpZCA8V0tXZWJQcm9j
ZXNzUGx1Z0luTG9hZERlbGVnYXRlPiBsb2FkRGVsZWdhdGU7CisKIEBlbmQKIAogI2VuZGlmIC8v
IFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0J
KHJldmlzaW9uIDE2MDU1NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDExIEBACiAjaW1wb3J0ICJXS0J1bmRsZVBh
Z2VQcml2YXRlLmgiCiAjaW1wb3J0ICJXS0RPTUludGVybmFscy5oIgogI2ltcG9ydCAiV0tSZXRh
aW5QdHIuaCIKKyNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdpbkZyYW1lSW50ZXJuYWwuaCIKICNp
bXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkludGVybmFsLmgiCisjaW1wb3J0ICJXS1dlYlByb2Nl
c3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCIKKyNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblNjcmlw
dFdvcmxkSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldlYWtPYmpDUHRyLmgiCiAjaW1wb3J0ICJXZWJQ
YWdlLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50
Lmg+CkBAIC00NSw2ICs0OSw2MyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBAaW1wbGVt
ZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIHsKICAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViUGFnZT4gX3BhZ2U7CisgICAgV2Vha09iakNQdHI8aWQg
PFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZT4+IF9sb2FkRGVsZWdhdGU7Cit9CisKK3N0
YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGFSZWYsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pCit7CisgICAgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyICpwbHVnaW5Db250ZXh0Q29udHJvbGxlciA9IChXS1dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKiljbGllbnRJbmZvOworICAgIGF1dG8gbG9h
ZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7
CisKKyAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZTopXSkKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworfQorCitz
dGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pCit7CisgICAgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyICpwbHVnaW5Db250ZXh0Q29udHJvbGxlciA9IChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIgKiljbGllbnRJbmZvOworICAgIGF1dG8gbG9hZERlbGVnYXRlID0g
cGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CisKKyAgICBpZiAo
W2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkRmluaXNoTG9hZEZvckZyYW1lOildKQorICAg
ICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOndyYXBwZXIo
KnRvSW1wbChmcmFtZSkpXTsKK30KKworc3RhdGljIHZvaWQgZ2xvYmFsT2JqZWN0SXNBdmFpbGFi
bGVGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
V0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZCwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKK3sKKyAgICBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKnBs
dWdpbkNvbnRleHRDb250cm9sbGVyID0gKFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlciAqKWNsaWVudEluZm87CisgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5D
b250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKKworICAgIGlmIChbbG9hZERl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOmluU2Ny
aXB0V29ybGQ6KV0pCisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBnbG9iYWxPYmplY3RJ
c0F2YWlsYWJsZUZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6
d3JhcHBlcigqdG9JbXBsKHNjcmlwdFdvcmxkKSldOworfQorCitzdGF0aWMgdm9pZCBzZXRVcFBh
Z2VMb2FkZXJDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICpjb250ZXh0Q29udHJvbGxlciwgV2ViUGFnZSAmcGFnZSkKK3sKKyAgICBXS0J1bmRsZVBhZ2VM
b2FkZXJDbGllbnRWNyBjbGllbnQ7CisgICAgbWVtc2V0KCZjbGllbnQsIDAsIHNpemVvZihjbGll
bnQpKTsKKworICAgIGNsaWVudC5iYXNlLnZlcnNpb24gPSA3OworICAgIGNsaWVudC5iYXNlLmNs
aWVudEluZm8gPSBjb250ZXh0Q29udHJvbGxlcjsKKyAgICBjbGllbnQuZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZSA9IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7CisgICAg
Y2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JGcmFtZTsKKyAg
ICBjbGllbnQuZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSA9IGdsb2JhbE9iamVjdElz
QXZhaWxhYmxlRm9yRnJhbWU7CisKKyAgICBwYWdlLmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUxv
YWRlckNsaWVudCgmY2xpZW50LmJhc2UpOworfQorCistIChpZCA8V0tXZWJQcm9jZXNzUGx1Z0lu
TG9hZERlbGVnYXRlPilsb2FkRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2xvYWREZWxlZ2F0ZS5n
ZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClzZXRMb2FkRGVsZWdhdGU6KGlkIDxXS1dl
YlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGU+KWxvYWREZWxlZ2F0ZQoreworICAgIF9sb2FkRGVs
ZWdhdGUgPSBsb2FkRGVsZWdhdGU7CisKKyAgICBpZiAobG9hZERlbGVnYXRlKQorICAgICAgICBz
ZXRVcFBhZ2VMb2FkZXJDbGllbnQoc2VsZiwgKl9wYWdlKTsKKyAgICBlbHNlCisgICAgICAgIF9w
YWdlLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVMb2FkZXJDbGllbnQobnVsbHB0cik7CiB9CiAK
IC0gKHZvaWQpZGVhbGxvYwo=
</data>
<flag name="review"
          id="242782"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219270</attachid>
            <date>2013-12-14 21:54:42 -0800</date>
            <delta_ts>2013-12-14 22:29:17 -0800</delta_ts>
            <desc>address review comments before landing.</desc>
            <filename>webkit2_injectedbundle_loaddelegate.patch</filename>
            <type>text/plain</type>
            <size>12601</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MDYxMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTE0ICBZb25nanVu
IFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBhZ2UgbG9h
ZCBkZWxlZ2F0ZSBmb3IgV2ViUHJvY2Vzc1BsdWdJbkJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2OTcK
KworICAgICAgICBBZGQgcGFnZSBsb2FkIGRlbGVnYXRlIGZvciBXZWJQcm9jZXNzUGx1Z0luQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlciBzbyB0aGF0IGEKKyAgICAgICAgV2ViUHJvY2VzcyBpbmpl
Y3RlZCBidW5kbGUgY2FuIGxpc3RlbiB0byBwYWdlIGxvYWQgZXZlbnRzLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmg6IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgor
ICAgICAgICAoZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk6CisgICAgICAgIChkaWRG
aW5pc2hMb2FkRm9yRnJhbWUpOgorICAgICAgICAoZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JG
cmFtZSk6CisgICAgICAgIChzZXRVcFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAoLVtXS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgbG9hZERlbGVnYXRlXSk6Cisg
ICAgICAgICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciBzZXRM
b2FkRGVsZWdhdGU6XSk6CisKIDIwMTMtMTItMTQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBJbXBsZW1lbnQgTmV0d29ya1Byb2Nlc3M6OmFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYwNjEzKQorKysg
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzIsNiArMzMyLDcgQEAKIAkJMUNBOEI5NTQxMjdDODkxNTAwNTc2QzJCIC8q
IFdlYkluc3BlY3Rvck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDOEUyREFEMTI3OEM1QjIwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNYWMubW0g
Ki87IH07CiAJCTFDQjc1Qzk0MTcwMUU4ODAwMDlGODA5RiAvKiBEb2NrUmlnaHQucGRmIGluIFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0I3NUM5MzE3MDFF
ODgwMDA5RjgwOUYgLyogRG9ja1JpZ2h0LnBkZiAqLzsgfTsKIAkJMUNCQzk0NUUxNjUxNUVEMjAw
RDY4QUFFIC8qIERvY2tCb3R0b20ucGRmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQ0JDOTQ1RDE2NTE1RUQyMDBENjhBQUUgLyogRG9ja0JvdHRvbS5w
ZGYgKi87IH07CisJCTFGMzM1QkMwMTg1Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5Mb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFGMzM1QkJGMTg1Qjg0RDgwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2Fk
RGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07
CiAJCTFGNzUwNkFEMTg1OTE2MUMwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMDE4MTZB
MTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbSAqLzsgfTsKIAkJ
MUY3NTA2QUUxODU5MTYyMjAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1
bHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAx
ODE2RDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5t
bSAqLzsgfTsKIAkJMUY3NTA2QUYxODU5MTYyODAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bk5vZGVIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxRjAxODE3MDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhh
bmRsZS5tbSAqLzsgfTsKQEAgLTE5MDIsNiArMTkwMyw3IEBACiAJCTFGMDE4MTcyMTg1OERDMTYw
MEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRjAxODE3MzE4NThEQzE2MDBGOTI4ODQgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUYwMTgxNzQxODU4REMxNjAwRjkyODg0IC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJblNjcmlwdFdvcmxkSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxRjMzNUJCRjE4NUI4NEQ4MDAxQTIwMUEgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOTBGNDI3MTE3MkEwQzc0MDA5MzlGRjAgLyogQ2hpbGRQcm9jZXNzU3VwcGxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGlsZFByb2Nlc3NTdXBw
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VCRUE5MTYyN0Q5Qzkw
MDVGODlGMSAvKiBXS0RPTVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tET01UZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VCRUFBMTYyN0Q5
QzkwMDVGODlGMSAvKiBXS0RPTVRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXS0RPTVRleHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
NzQ3LDYgKzM3NDksNyBAQAogCQkJCTFGMDE4MTZDMTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0LmggKi8sCiAJCQkJMUYwMTgxNkQxODU4REMxNjAwRjky
ODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gKi8sCiAJCQkJMUYwMTgx
NkUxODU4REMxNjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHRJbnRl
cm5hbC5oICovLAorCQkJCTFGMzM1QkJGMTg1Qjg0RDgwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5Mb2FkRGVsZWdhdGUuaCAqLywKIAkJCQkxRjAxODE2RjE4NThEQzE2MDBGOTI4ODQgLyog
V0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5oICovLAogCQkJCTFGMDE4MTcwMTg1OERDMTYw
MEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tICovLAogCQkJCTFGMDE4
MTcxMTg1OERDMTYwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlSW50ZXJu
YWwuaCAqLywKQEAgLTU3ODEsNiArNTc4NCw3IEBACiAJCQkJMzc4RTFBNEUxODIwOEQ3MDAwMzEw
MDdBIC8qIFdLTlNVUkwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjkzNUU0MTI4OEQ5NzgwMEE0
QjY5NSAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTFFRTUzRTMxMUY4Q0ZDMDAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVk
aXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUYzMzVCQzAxODVCODRGMDAwMUEyMDFB
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxNEUxMEExMjBCOTA1RTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDQ1QkE1MTg0RDVGREEwMDRCMzQxNCAvKiBXS0NvbnRl
eHRDb25uZWN0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDVDNjZBMTEzNEI5RDM4
MDA0RkUyQTggLyogSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlBy
b2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkxv
YWREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BjbGFzcyBXS1dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2luZ0NvbnRleHRDb250cm9sbGVyOworQGNsYXNzIFdLV2ViUHJvY2Vzc1BsdWdJ
bkZyYW1lOworQGNsYXNzIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkOworCitAcHJvdG9j
b2wgV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlIDxOU09iamVjdD4KK0BvcHRpb25hbAor
LSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIqKWNvbnRyb2xsZXIgZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZTooV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilmcmFtZTsK
Ky0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyKiljb250cm9sbGVyIGRpZEZpbmlz
aExvYWRGb3JGcmFtZTooV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilmcmFtZTsKKy0gKHZvaWQp
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyKiljb250cm9sbGVyIGdsb2JhbE9iamVjdElzQXZh
aWxhYmxlRm9yRnJhbWU6KFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICopZnJhbWUgaW5TY3JpcHRX
b3JsZDooV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQgKilzY3JpcHRXb3JsZDsKK0BlbmQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9X
S1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgJKHJldmlzaW9uIDE2MDYxMykK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNiArMzEsNyBAQAogCiBAY2xhc3MgV0tET01Eb2N1bWVudDsKIEBjbGFzcyBXS0RPTVJh
bmdlOworQHByb3RvY29sIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZTsKIAogV0tfQVBJ
X0NMQVNTCiBAaW50ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciA6IE5TT2JqZWN0CkBAIC0zOSw2ICs0MCw4IEBAIEBpbnRlcmZhY2UgV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnQKIAogQHByb3BlcnR5KHJlYWRvbmx5KSBXS0RPTVJhbmdlICpzZWxl
Y3RlZFJhbmdlOwogCitAcHJvcGVydHkgKHdlYWspIGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5Mb2Fk
RGVsZWdhdGU+IGxvYWREZWxlZ2F0ZTsKKwogQGVuZAogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJM
RUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMTYw
NjEzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzQsNyArMzQsMTEgQEAKICNpbXBvcnQgIldLQnVuZGxlUGFnZVByaXZhdGUuaCIK
ICNpbXBvcnQgIldLRE9NSW50ZXJuYWxzLmgiCiAjaW1wb3J0ICJXS1JldGFpblB0ci5oIgorI2lt
cG9ydCAiV0tXZWJQcm9jZXNzUGx1Z2luRnJhbWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQ
cm9jZXNzUGx1Z0luSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkxvYWRE
ZWxlZ2F0ZS5oIgorI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5h
bC5oIgorI2ltcG9ydCAiV2Vha09iakNQdHIuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBv
cnQgIldlYlByb2Nlc3MuaCIKICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4KQEAgLTQ1LDYg
KzQ5LDYzIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgewogICAgIEFQSTo6T2JqZWN0
U3RvcmFnZTxXZWJQYWdlPiBfcGFnZTsKKyAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9jZXNz
UGx1Z0luTG9hZERlbGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsKK30KKworc3RhdGljIHZvaWQgZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YVJlZiwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbykKK3sKKyAgICBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKnBsdWdpbkNvbnRleHRDb250cm9sbGVyID0gKFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlciAqKWNsaWVudEluZm87CisgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBw
bHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKKworICAgIGlmIChb
bG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
OildKQorICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07Cit9CisKK3N0YXRpYyB2b2lkIGRp
ZEZpbmlzaExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sK
KyAgICBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKnBsdWdpbkNv
bnRleHRDb250cm9sbGVyID0gKFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciAqKWNsaWVudEluZm87CisgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0
Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKKworICAgIGlmIChbbG9hZERlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KV0pCisgICAgICAgIFtsb2FkRGVs
ZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250
ZXh0Q29udHJvbGxlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1l
KSldOworfQorCitzdGF0aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZVNjcmlw
dFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIFdL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqcGx1Z2luQ29udGV4dENv
bnRyb2xsZXIgPSAoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICop
Y2xpZW50SW5mbzsKKyAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9s
bGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOworCisgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOmdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWU6aW5TY3JpcHRXb3JsZDopXSkK
KyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9y
RnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkgaW5TY3JpcHRXb3JsZDp3cmFwcGVyKCp0b0lt
cGwoc2NyaXB0V29ybGQpKV07Cit9CisKK3N0YXRpYyB2b2lkIHNldFVwUGFnZUxvYWRlckNsaWVu
dChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKmNvbnRleHRDb250
cm9sbGVyLCBXZWJQYWdlJiBwYWdlKQoreworICAgIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudFY3
IGNsaWVudDsKKyAgICBtZW1zZXQoJmNsaWVudCwgMCwgc2l6ZW9mKGNsaWVudCkpOworCisgICAg
Y2xpZW50LmJhc2UudmVyc2lvbiA9IDc7CisgICAgY2xpZW50LmJhc2UuY2xpZW50SW5mbyA9IGNv
bnRleHRDb250cm9sbGVyOworICAgIGNsaWVudC5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lID0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTsKKyAgICBjbGllbnQuZGlkRmlu
aXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgIGNsaWVudC5nbG9i
YWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lID0gZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JG
cmFtZTsKKworICAgIHBhZ2UuaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlTG9hZGVyQ2xpZW50KCZj
bGllbnQuYmFzZSk7Cit9CisKKy0gKGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGU+
KWxvYWREZWxlZ2F0ZQoreworICAgIHJldHVybiBfbG9hZERlbGVnYXRlLmdldEF1dG9yZWxlYXNl
ZCgpOworfQorCistICh2b2lkKXNldExvYWREZWxlZ2F0ZTooaWQgPFdLV2ViUHJvY2Vzc1BsdWdJ
bkxvYWREZWxlZ2F0ZT4pbG9hZERlbGVnYXRlCit7CisgICAgX2xvYWREZWxlZ2F0ZSA9IGxvYWRE
ZWxlZ2F0ZTsKKworICAgIGlmIChsb2FkRGVsZWdhdGUpCisgICAgICAgIHNldFVwUGFnZUxvYWRl
ckNsaWVudChzZWxmLCAqX3BhZ2UpOworICAgIGVsc2UKKyAgICAgICAgX3BhZ2UtPmluaXRpYWxp
emVJbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudChudWxscHRyKTsKIH0KIAogLSAodm9pZClkZWFs
bG9jCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>