<?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>165245</bug_id>
          
          <creation_ts>2016-11-30 23:40:44 -0800</creation_ts>
          <short_desc>Web Automation: expose navigator.webdriver if the page is controlled by automation</short_desc>
          <delta_ts>2016-12-01 13:39:42 -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>DOM</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>165269</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mitz</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1255172</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-11-30 23:40:44 -0800</bug_when>
    <thetext>Add open source implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255173</commentid>
    <comment_count>1</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-11-30 23:41:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/29449874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255313</commentid>
    <comment_count>2</comment_count>
      <attachid>295868</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-01 11:01:04 -0800</bug_when>
    <thetext>Created attachment 295868
Proposed Fix

Needs to be landed manually with internal changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255316</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-01 11:02:39 -0800</bug_when>
    <thetext>Attachment 295868 did not pass style-queue:


ERROR: Source/WebCore/Modules/webdriver/NavigatorWebDriver.h:43:  The parameter name &quot;navigator&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 7 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>1255395</commentid>
    <comment_count>4</comment_count>
      <attachid>295868</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-12-01 13:16:59 -0800</bug_when>
    <thetext>Comment on attachment 295868
Proposed Fix

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

I&apos;m sure we could write a test for this!

&gt; Source/WebCore/Modules/webdriver/NavigatorWebDriver.h:37
&gt; +    NavigatorWebDriver(Frame*);

Nit: Could mark this as explicit. I&apos;m not sure how strict we are with this keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255415</commentid>
    <comment_count>5</comment_count>
      <attachid>295868</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-01 13:33:02 -0800</bug_when>
    <thetext>Comment on attachment 295868
Proposed Fix

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

&gt;&gt; Source/WebCore/Modules/webdriver/NavigatorWebDriver.h:37
&gt;&gt; +    NavigatorWebDriver(Frame*);
&gt; 
&gt; Nit: Could mark this as explicit. I&apos;m not sure how strict we are with this keyword.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255417</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-01 13:34:07 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 295868 [details]
&gt; Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=295868&amp;action=review
&gt; 
&gt; I&apos;m sure we could write a test for this!

We have an integration test for this in Safari&apos;s WebDriver test suite, IIRC. I&apos;ll file a followup bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255422</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-01 13:39:42 -0800</bug_when>
    <thetext>Committed r209198: &lt;http://trac.webkit.org/changeset/209198&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295868</attachid>
            <date>2016-12-01 11:01:04 -0800</date>
            <delta_ts>2016-12-01 13:16:59 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-165245-20161201110035.patch</filename>
            <type>text/plain</type>
            <size>21260</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmNWU0ZmUyNzdjNjRh
MjE1OTgzOGVmNGMwODA1MTdmYjg0ZDJhZC4uMThlZDM5YjUxY2E3ZDE1NDNiOThjN2Y3MmQ2ODZj
N2RkOGQ4MDVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEyLTAxICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBleHBv
c2UgbmF2aWdhdG9yLndlYmRyaXZlciBpZiB0aGUgcGFnZSBpcyBjb250cm9sbGVkIGJ5IGF1dG9t
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NTI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk0NDk4NzQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgaW1wbGVtZW50YXRpb24g
aW50byBPcGVuU291cmNlLiBJdCdzIGluIE1vZHVsZXMvd2ViZHJpdmVyLy4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
IEFkZCBuZXcgcGF0aHMgYW5kIGZpbGVzLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkcml2ZXIv
TmF2aWdhdG9yV2ViRHJpdmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JXZWJEcml2ZXI6Ok5hdmlnYXRvcldlYkRyaXZlcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZp
Z2F0b3JXZWJEcml2ZXI6On5OYXZpZ2F0b3JXZWJEcml2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdG9yV2ViRHJpdmVyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JXZWJEcml2ZXI6OmlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0b3JXZWJEcml2ZXI6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6SlNO
YXZpZ2F0b3I6OndlYmRyaXZlcik6CisgICAgICAgICogTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdh
dG9yV2ViRHJpdmVyLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZHJpdmVyL05hdmln
YXRvcldlYkRyaXZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKwogMjAxNi0xMi0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBw
bGUuY29tPgogCiAgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFByb21vdGUgdGhlICJv
biIgcHJvcGVydHkgZnJvbSBBaXJQbGF5QnV0dG9uIHRvIEljb25CdXR0b24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNzRhMmRlYjdmYTYzMzQyNWVhNThjMGY3YjM4ZmNlNDQ2ZTM1ZWRlMy4uNmJi
OGE3YmFhOWFiOTJlZTY0ZWNmZWVjNTRhNDE4OGY0MWMxNWJiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTI5LDYgKzI5LDcgQEAgc2V0KFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3ZpYnJhdGlvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy93ZWJhdWRpbyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJkYXRhYmFz
ZSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJkcml2ZXIiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvd2Vic29ja2V0cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYW5pbWF0aW9uIgpAQCAtMzEzLDYgKzMxNCw4IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9T
UUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrLmlkbAogCisgICAgTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdh
dG9yV2ViRHJpdmVyLmlkbAorCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRs
CiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwKIApAQCAtMTAxNyw2ICsxMDIw
LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJh
bnNhY3Rpb25Db29yZGluYXRvci5jcHAKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5z
YWN0aW9uU3RhdGVNYWNoaW5lLmNwcAogCisgICAgTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdhdG9y
V2ViRHJpdmVyLmNwcAorCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmNwcAogICAgIE1vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbENsaWVudFdyYXBwZXIuY3BwCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGY3M2Y5ZjA2OWI2ZTUzMTg2
OTk5MzBkZGRmODJiZWFmOTBlNWZkNjEuLmUxNmJlNWY0NTI2MjdiNzFlODUwMTc2OGU0OWVmNDIx
MDhkZjJjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDgsNiArNDgsNyBA
QCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcyBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJh
c2UgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkcml2ZXIgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJzb2NrZXRzIFwKICAgICAkKFdlYkNvcmUpL2FuaW1hdGlvbiBcCiAgICAgJChX
ZWJDb3JlKS9iaW5kaW5ncy9nZW5lcmljIFwKQEAgLTI0MCw2ICsyNDEsNyBAQCBKU19CSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0
aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0
aW9uQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmRyaXZlci9OYXZpZ2F0b3JXZWJEcml2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2Vic29ja2V0cy9DbG9zZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9hbmltYXRpb24vQW5pbWF0YWJs
ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkcml2ZXIvTmF2
aWdhdG9yV2ViRHJpdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZHJpdmVyL05h
dmlnYXRvcldlYkRyaXZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q3YjVjNGFkMzEwMWM1ZTMxYjJjYWZh
YTBjNTk2YzkxY2E2M2JiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZHJpdmVyL05hdmlnYXRvcldlYkRyaXZlci5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JXZWJEcml2
ZXIuaCIKKworI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuaCIKKyNp
bmNsdWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTmF2aWdhdG9yV2ViRHJpdmVyOjpOYXZp
Z2F0b3JXZWJEcml2ZXIoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFtZShmcmFtZSkKK3sKK30K
KworTmF2aWdhdG9yV2ViRHJpdmVyOjp+TmF2aWdhdG9yV2ViRHJpdmVyKCkKK3sKK30KKworY29u
c3QgY2hhciogTmF2aWdhdG9yV2ViRHJpdmVyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0
dXJuICJOYXZpZ2F0b3JXZWJEcml2ZXIiOworfQorCitib29sIE5hdmlnYXRvcldlYkRyaXZlcjo6
aXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUgfHwg
IW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1f
ZnJhbWUtPnBhZ2UoKS0+aXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKCk7Cit9CisKK05hdmlnYXRv
cldlYkRyaXZlciogTmF2aWdhdG9yV2ViRHJpdmVyOjpmcm9tKE5hdmlnYXRvciogbmF2aWdhdG9y
KQoreworICAgIE5hdmlnYXRvcldlYkRyaXZlciogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5h
dmlnYXRvcldlYkRyaXZlcio+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbShuYXZpZ2F0b3Is
IHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0
byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxOYXZpZ2F0b3JXZWJEcml2ZXI+KG5h
dmlnYXRvci0+ZnJhbWUoKSk7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50Lmdl
dCgpOworICAgICAgICBwcm92aWRlVG8obmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZN
b3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisK
K0pTVmFsdWUgSlNOYXZpZ2F0b3I6OndlYmRyaXZlcihFeGVjU3RhdGUmKSBjb25zdAoreworICAg
IGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0aW9uID0gTmF2aWdhdG9yV2ViRHJpdmVyOjpmcm9t
KCZ3cmFwcGVkKCkpLT5pc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oKTsKKyAgICByZXR1cm4gaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uID8ganNCb29sZWFuKHRydWUpIDoganNVbmRlZmluZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdhdG9yV2ViRHJpdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRyaXZlci9OYXZpZ2F0b3JXZWJEcml2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTJmZWQ1
Njg1Njk5ZWE3OGMyNmI5Y2Q1MDQ3Njg5Y2UwYmQwNDIxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdhdG9yV2ViRHJpdmVyLmgKQEAgLTAs
MCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU3VwcGxl
bWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFtZTsKK2NsYXNz
IE5hdmlnYXRvcjsKKworY2xhc3MgTmF2aWdhdG9yV2ViRHJpdmVyIGZpbmFsIDogcHVibGljIFN1
cHBsZW1lbnQ8TmF2aWdhdG9yPiB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9yV2ViRHJpdmVyKEZy
YW1lKik7CisgICAgdmlydHVhbCB+TmF2aWdhdG9yV2ViRHJpdmVyKCk7CisKKyAgICBib29sIGlz
Q29udHJvbGxlZEJ5QXV0b21hdGlvbigpIGNvbnN0OworCisgICAgc3RhdGljIE5hdmlnYXRvcldl
YkRyaXZlciogZnJvbShOYXZpZ2F0b3IqKTsKKyAgICBzdGF0aWMgYm9vbCBpc0NvbnRyb2xsZWRC
eUF1dG9tYXRpb24oTmF2aWdhdG9yJiBuYXZpZ2F0b3IpOworcHJpdmF0ZToKKyAgICBzdGF0aWMg
Y29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIEZyYW1lKiBtX2ZyYW1lIHsgbnVs
bHB0ciB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdhdG9yV2ViRHJpdmVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZHJpdmVyL05hdmlnYXRvcldlYkRyaXZlci5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzdlMjJhYjQxY2FlZjllZTM2OWY1MjkzZDFlZjU2MTg5ZGU2OTcyMQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZHJpdmVyL05hdmlnYXRvcldlYkRy
aXZlci5pZGwKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3BhcnRpYWwgaW50ZXJmYWNl
IE5hdmlnYXRvciB7CisgICAgW05vdEVudW1lcmFibGUsIEN1c3RvbV0gcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gd2ViZHJpdmVyOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmNGM1MmU4MWIzZjViYWM3Njg0ZTVlODYx
ODg0YTZjMTBjMTM0NmQ0Li40MTZjNjQ4MWYzNGM5MjI5YTg4MmNlYWFkMjExYWY3ZTZlNzMxYzlj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC04MDAsNyArODAwLDYgQEAKIAkJMUE3NjJDNzgwQTA3NEYyNjAwOTg5RjVCIC8qIEpT
WFBhdGhOU1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTc2MkM3MDBBMDc0RjI2MDA5ODlGNUIgLyogSlNYUGF0aE5TUmVzb2x2ZXIuaCAq
LzsgfTsKIAkJMUE3NjJDNzkwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzEwQTA3
NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwICovOyB9OwogCQkxQTc2MkM3QTBBMDc0
RjI2MDA5ODlGNUIgLyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzIwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhS
ZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkxQTdFMTk0NjFDNTg2M0JFMDBDQ0RERjMgLyogV2ViS2l0QWRkaXRpb25zLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3RTE5NDQxQzU4NjNCRTAw
Q0NEREYzIC8qIFdlYktpdEFkZGl0aW9ucy5tbSAqLzsgfTsKIAkJMUE3RTNDMjkxNzEwOTk3MzAw
MzY3OTM1IC8qIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFM0MyODE3MTA5OTczMDAzNjc5MzUg
LyogVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCAqLzsgfTsKIAkJMUE3RkE2MTkwRERB
M0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTYxODBEREEzQjNBMDAyOEY4QTUgLyog
TmV0d29ya1N0YXRlTm90aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkxQTdGQTYxQjBEREEzQkJFMDAyOEY4QTUgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE3RkE2MUEwRERBM0JCRTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCAq
LzsgfTsKQEAgLTM3NzQsNiArMzc3Myw4IEBACiAJCTk4RUIxRjk1MTMxM0ZFMDUwMEQwRTFFQSAv
KiBOb3RJbXBsZW1lbnRlZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOThFQjFGOTQxMzEzRkUwNTAwRDBFMUVBIC8qIE5vdEltcGxlbWVudGVkLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTkyMDM5ODIx
OEI5NUJDNjAwQjM5QUY5IC8qIFVzZXJJbnB1dEJyaWRnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTIwMzk4MDE4Qjk1QkM2MDBCMzlBRjkgLyog
VXNlcklucHV0QnJpZGdlLmNwcCAqLzsgfTsKIAkJOTkyMDM5ODMxOEI5NUJDNjAwQjM5QUY5IC8q
IFVzZXJJbnB1dEJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTkyMDM5ODExOEI5NUJDNjAwQjM5QUY5IC8qIFVzZXJJbnB1dEJyaWRnZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NkU1OURF
MURGMDEyODUwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk2RTU5REIxREYwMEQ5MDAwNjYxMkI5
IC8qIE5hdmlnYXRvcldlYkRyaXZlci5jcHAgKi87IH07CisJCTk5NkU1OURGMURGMDEyOEQwMDY2
MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk5NkU1OURDMURGMDBEOTAwMDY2MTJCOSAvKiBOYXZpZ2F0b3JX
ZWJEcml2ZXIuaCAqLzsgfTsKIAkJOTlDN0NDQjMxOEM2NjNFNDAwMzJFNDEzIC8qIE1lbW9pemVk
RE9NUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5OUM3Q0NCMjE4QzY2M0U0MDAzMkU0MTMgLyogTWVtb2l6ZWRET01SZXN1bHQuaCAqLzsgfTsK
IAkJOTlDN0NDQjUxOEM2Qjg5OTAwMzJFNDEzIC8qIE1lbW9pemVkRE9NUmVzdWx0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzdDQ0I0MThDNkI4
OTkwMDMyRTQxMyAvKiBNZW1vaXplZERPTVJlc3VsdC5jcHAgKi87IH07CiAJCTk5Q0MwQjREMThC
RTk4NDkwMDZDRUJDQyAvKiBBbGxSZXBsYXlJbnB1dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjM4MThCRTk4NDkwMDZDRUJDQyAvKiBBbGxS
ZXBsYXlJbnB1dHMuaCAqLzsgfTsKQEAgLTc4MzgsNyArNzgzOSw2IEBACiAJCTFBNzYyQzcwMEEw
NzRGMjYwMDk4OUY1QiAvKiBKU1hQYXRoTlNSZXNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNYUGF0aE5TUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUE3NjJDNzEwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTWFBhdGhSZXN1bHQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTc2MkM3MjBBMDc0RjI2MDA5ODlGNUIgLyog
SlNYUGF0aFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNYUGF0
aFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTdFMTk0NDFDNTg2M0JF
MDBDQ0RERjMgLyogV2ViS2l0QWRkaXRpb25zLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViS2l0QWRkaXRpb25zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTdFM0MyODE3MTA5OTczMDAzNjc5MzUgLyogVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkYWJsZUxv
YWRlckNsaWVudFdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE3RkE2
MTgwRERBM0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBN0ZBNjFBMEREQTNCQkUwMDI4RjhBNSAvKiBOZXR3b3JrU3Rh
dGVOb3RpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3
b3JrU3RhdGVOb3RpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTQw
OCw2ICsxMTQwOCw5IEBACiAJCTk5MDhCMEZGMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0
cmVhbURlZmF1bHRSZWFkZXJCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5OTIwMzk4MDE4Qjk1QkM2MDBCMzlBRjkgLyogVXNlcklucHV0QnJp
ZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVzZXJJbnB1dEJy
aWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MjAzOTgxMThCOTVCQzYw
MEIzOUFGOSAvKiBVc2VySW5wdXRCcmlkZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVXNlcklucHV0QnJpZGdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5
NkU1OURCMURGMDBEOTAwMDY2MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yV2ViRHJpdmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk2RTU5REMxREYwMEQ5MDAwNjYxMkI5IC8qIE5h
dmlnYXRvcldlYkRyaXZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZp
Z2F0b3JXZWJEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk2RTU5REQx
REYwMEQ5MDAwNjYxMkI5IC8qIE5hdmlnYXRvcldlYkRyaXZlci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTmF2aWdhdG9yV2ViRHJpdmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTlDN0NDQjIxOEM2NjNFNDAwMzJFNDEzIC8qIE1lbW9pemVkRE9NUmVzdWx0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9pemVkRE9NUmVzdWx0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5QzdDQ0I0MThDNkI4OTkwMDMyRTQxMyAvKiBNZW1v
aXplZERPTVJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZW1vaXplZERPTVJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5Q0Mw
QjM4MThCRTk4NDkwMDZDRUJDQyAvKiBBbGxSZXBsYXlJbnB1dHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWxsUmVwbGF5SW5wdXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xOTEyNSw2ICsxOTEyOCw3IEBACiAJCQkJNDFBMDIzRUExQTM5REI3OTAwRjcy
MkNGIC8qIHN0cmVhbXMgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1
ZGlvICovLAogCQkJCTk3QkM2OUQ1MTUwNUYwNTQwMDFCNzRBQyAvKiB3ZWJkYXRhYmFzZSAqLywK
KwkJCQk5OTZFNTlEQTFERjAwRDQ1MDA2NjEyQjkgLyogd2ViZHJpdmVyICovLAogCQkJCTk3QUFC
Q0Y3MTRGQTA5QjUwMDc0NTdBRSAvKiB3ZWJzb2NrZXRzICovLAogCQkJKTsKIAkJCXBhdGggPSBN
b2R1bGVzOwpAQCAtMTk0NDEsNiArMTk0NDUsMTYgQEAKIAkJCXBhdGggPSBwYXJzZXI7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5OTZFNTlEQTFERjAwRDQ1MDA2NjEyQjkg
Lyogd2ViZHJpdmVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk5OTZFNTlEQjFERjAwRDkwMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmNwcCAq
LywKKwkJCQk5OTZFNTlEQzFERjAwRDkwMDA2NjEyQjkgLyogTmF2aWdhdG9yV2ViRHJpdmVyLmgg
Ki8sCisJCQkJOTk2RTU5REQxREYwMEQ5MDAwNjYxMkI5IC8qIE5hdmlnYXRvcldlYkRyaXZlci5p
ZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHdlYmRyaXZlcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CiAJCTk5RTQ1QTEzMThBMDIxNzYwMDI2RDg4RiAvKiByZXBsYXkgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTk2NDksNyArMTk2NjMs
NiBAQAogCQkJCTQ2REI3RDU2MUIyMEZFM0MwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5j
cHAgKi8sCiAJCQkJQ0RDOTc5RjMxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0
cmFzLmggKi8sCiAJCQkJQ0RDOTc5RjIxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9y
RXh0cmFzLm1tICovLAotCQkJCTFBN0UxOTQ0MUM1ODYzQkUwMENDRERGMyAvKiBXZWJLaXRBZGRp
dGlvbnMubW0gKi8sCiAJCQkJNURGRUJBQjYxODU5MkI2RDAwQzc1QkVCIC8qIFdlYktpdEF2YWls
YWJpbGl0eS5oICovLAogCQkJCUNEQTI5QTA4MUNCRDk5RjQwMDkwMUNDRiAvKiBXZWJQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2UuaCAqLywKIAkJCQlDREEyOUEwQTFDQkQ5QTc0MDA5MDFDQ0YgLyog
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaCAqLywKQEAgLTI1MjMxLDYgKzI1MjQ0LDcgQEAKIAkJ
CQk2NTBGNTNEQzA5RDE1RERBMDBDOUIwQzggLyogQ1NTR3JhbW1hci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTExMDAzMzExQzlBQzNERTAwNDEyREQwIC8qIENTU0dyaWRBdXRvUmVwZWF0VmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEN0RCQjI5MThDQTE5QzYwMEMxMTA2NiAvKiBDU1NHcmlk
TGluZU5hbWVzVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5NkU1OURGMURGMDEyOEQwMDY2
MTJCOSAvKiBOYXZpZ2F0b3JXZWJEcml2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0UyNTI0
MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGQjMwNTZDMjE2OUU1REFDMDA5NkEyMzIgLyogQ1NTR3JvdXBpbmdSdWxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkIzQzBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NjQzLDYgKzI5NjU3LDcgQEAKIAkJCQk1MTAxOTJEMTE4
QjZCOUFCMDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTU1Qjg3RUMxQ0FBRjBBQjAwMzQ5NDI1IC8qIEltYWdlRGVjb2Rl
ckNHLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk5NkU1OURFMURGMDEyODUwMDY2MTJCOSAvKiBO
YXZpZ2F0b3JXZWJEcml2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTcyMDVBQjUxMjM5Mjkx
MDAwQjE3MzgwIC8qIEltYWdlRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTU3NkE1
NjQxRDg4QTcwODAwQ0NDMDRDIC8qIEltYWdlRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTU5N0Y4MjYxRDkxQzMxMzAwNjZCQzIxIC8qIEltYWdlRnJhbWVDYWNoZS5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTMxNzM0LDcgKzMxNzQ5LDYgQEAKIAkJCQk3N0ExN0E3NzEyRjI4NjQyMDA0RTAy
RjYgLyogV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
NTg0MEUyNDE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE1ODRGRTJGMTg2NENCODQwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE3RTE5NDYxQzU4NjNCRTAwQ0NE
REYzIC8qIFdlYktpdEFkZGl0aW9ucy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjIxMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NzZENkM3QjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDk4MzkxNTgwRjFFNzc2OTAwQzIzNzgyIC8qIFdlYktpdENTU01hdHJpeC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1dlYktpdEFkZGl0aW9ucy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dl
YktpdEFkZGl0aW9ucy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZjMTFhNDk0
MDVkZWEzODIwMzk5NjJlZWRlNzE0ZDFlZGI5M2QyNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJL
aXRBZGRpdGlvbnMubW0KKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNp
bmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViQ29yZUFkZGl0aW9ucy5jcHA+Ci0jZW5kaWYKLQo=
</data>
<flag name="review"
          id="318391"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>