<?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>180788</bug_id>
          
          <creation_ts>2017-12-13 17:57:14 -0800</creation_ts>
          <short_desc>Make WebsitePolicies a proper class with getters and setters</short_desc>
          <delta_ts>2017-12-14 14:08:21 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>aestes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381437</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-12-13 17:57:14 -0800</bug_when>
    <thetext>Make WebsitePolicies a proper class with getters and setters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381438</commentid>
    <comment_count>1</comment_count>
      <attachid>329301</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-12-13 18:00:05 -0800</bug_when>
    <thetext>Created attachment 329301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381771</commentid>
    <comment_count>2</comment_count>
      <attachid>329301</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-14 13:10:31 -0800</bug_when>
    <thetext>Comment on attachment 329301
Patch

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

&gt; Source/WebKit/Shared/WebsitePolicies.h:71
&gt; +    const Vector&lt;WebCore::HTTPHeaderField&gt;&amp; customHeaderFields() { return m_customHeaderFields; }

Should be const-qualified.

&gt; Source/WebKit/UIProcess/API/APIWebsitePolicies.h:50
&gt; +    const Vector&lt;WebCore::HTTPHeaderField&gt; customHeaderFields() { return m_websitePolicies.customHeaderFields(); }

Should be const-qualified.

It&apos;s also weird to return a const value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381811</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-12-14 14:07:58 -0800</bug_when>
    <thetext>http://trac.webkit.org/r225925</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381812</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-14 14:08:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/36057847&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329301</attachid>
            <date>2017-12-13 18:00:05 -0800</date>
            <delta_ts>2017-12-14 13:10:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180788-20171213180004.patch</filename>
            <type>text/plain</type>
            <size>22683</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjU4ODgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE3LTEyLTEzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBXZWJzaXRl
UG9saWNpZXMgYSBwcm9wZXIgY2xhc3Mgd2l0aCBnZXR0ZXJzIGFuZCBzZXR0ZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA3ODgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvIGludHJvZHVjZSBX
ZWJzaXRlUG9saWNpZXM6OmFwcGx5VG9Eb2N1bWVudExvYWRlciB0byByZWR1Y2UgZHVwbGljYXRl
IGNvZGUuCisgICAgICAgIFRoaXMgaGFzIGEgc2lkZS1lZmZlY3Qgb2Ygbm93IGFwcGx5aW5nIGN1
c3RvbSBodHRwIGhlYWRlciBmaWVsZHMgYW5kIGNvbnRlbnQgYmxvY2tpbmcgZW5hYmxlZCBzdGF0
dXMKKyAgICAgICAgd2hlbiB1cGRhdGluZyBXZWJzaXRlUG9saWNpZXMuICBUaGlzIHdpbGwgcmVz
dWx0IGluIHRoZXNlIGJlaW5nIGFwcGxpZWQgd2hlbiBhIHVzZXIgdXBkYXRlcworICAgICAgICB0
aGUgcGVyLXNpdGUgc2V0dGluZ3MsIGFuZCB0aGV5IHdlcmVuJ3QgYmVmb3JlLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlUG9saWNpZXM6OldlYnNpdGVQb2xpY2ll
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlUG9saWNpZXM6OmFwcGx5VG9Eb2N1bWVudExvYWRlcik6CisgICAgICAgICogU2hh
cmVkL1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlUG9saWNpZXM6
OmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
UG9saWNpZXM6OnNldENvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJzaXRlUG9saWNpZXM6OmFsbG93ZWRBdXRvcGxheVF1aXJrcyBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6c2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKToKKyAgICAg
ICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzOjphdXRvcGxheVBvbGljeSBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6c2V0QXV0b3BsYXlQb2xpY3kpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJzaXRlUG9saWNpZXM6OmN1c3RvbUhlYWRlckZpZWxkcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6dGFrZUN1c3RvbUhlYWRlckZpZWxkcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6c2V0Q3VzdG9tSGVhZGVyRmllbGRzKToKKyAg
ICAgICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzOjplbmNvZGUgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJzaXRlUG9saWNpZXM6OmRlY29kZSk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBXZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmFwcGx5VG9Eb2N1bWVudExvYWRlcik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1
cGRhdGVXZWJzaXRlUG9saWNpZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisKIDIwMTctMTItMTMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBtb3JlIGF1dG8gZmlsbCBidXR0b24gdHlwZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dAkocmV2aXNpb24gMjI1ODI1KQorKysgU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjE2LDYgKzIxNiw3IEBAIHNldChXZWJLaXRfU09VUkNFUwog
ICAgIFNoYXJlZC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuY3BwCiAgICAgU2hh
cmVkL1dlYldoZWVsRXZlbnQuY3BwCiAgICAgU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0
ZXJzLmNwcAorICAgIFNoYXJlZC9XZWJzaXRlUG9saWNpZXMuY3BwCiAKICAgICBTaGFyZWQvQVBJ
L0FQSUFycmF5LmNwcAogICAgIFNoYXJlZC9BUEkvQVBJRGF0YS5jcHAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YnNpdGVQb2xpY2llcy5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJz
aXRlUG9saWNpZXM6OldlYnNpdGVQb2xpY2llcyhib29sIGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQs
IE9wdGlvblNldDxXZWJzaXRlQXV0b3BsYXlRdWlyaz4gYWxsb3dlZEF1dG9wbGF5UXVpcmtzLCBX
ZWJzaXRlQXV0b3BsYXlQb2xpY3kgYXV0b3BsYXlQb2xpY3ksIFZlY3RvcjxXZWJDb3JlOjpIVFRQ
SGVhZGVyRmllbGQ+JiYgY3VzdG9tSGVhZGVyRmllbGRzKQorICAgIDogbV9jb250ZW50QmxvY2tl
cnNFbmFibGVkKGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpCisgICAgLCBtX2FsbG93ZWRBdXRvcGxh
eVF1aXJrcyhhbGxvd2VkQXV0b3BsYXlRdWlya3MpCisgICAgLCBtX2F1dG9wbGF5UG9saWN5KGF1
dG9wbGF5UG9saWN5KQorICAgICwgbV9jdXN0b21IZWFkZXJGaWVsZHMoV1RGTW92ZShjdXN0b21I
ZWFkZXJGaWVsZHMpKQoreworfQorCit2b2lkIFdlYnNpdGVQb2xpY2llczo6ZW5jb2RlKElQQzo6
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG1fY29udGVudEJsb2Nr
ZXJzRW5hYmxlZDsKKyAgICBlbmNvZGVyIDw8IG1fYXV0b3BsYXlQb2xpY3k7CisgICAgZW5jb2Rl
ciA8PCBtX2FsbG93ZWRBdXRvcGxheVF1aXJrczsKKyAgICBlbmNvZGVyIDw8IG1fY3VzdG9tSGVh
ZGVyRmllbGRzOworfQorCitzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llcz4gV2Vic2l0ZVBv
bGljaWVzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9u
YWw8Ym9vbD4gY29udGVudEJsb2NrZXJzRW5hYmxlZDsKKyAgICBkZWNvZGVyID4+IGNvbnRlbnRC
bG9ja2Vyc0VuYWJsZWQ7CisgICAgaWYgKCFjb250ZW50QmxvY2tlcnNFbmFibGVkKQorICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIAorICAgIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZUF1
dG9wbGF5UG9saWN5PiBhdXRvcGxheVBvbGljeTsKKyAgICBkZWNvZGVyID4+IGF1dG9wbGF5UG9s
aWN5OworICAgIGlmICghYXV0b3BsYXlQb2xpY3kpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgCisgICAgc3RkOjpvcHRpb25hbDxPcHRpb25TZXQ8V2Vic2l0ZUF1dG9wbGF5UXVp
cms+PiBhbGxvd2VkQXV0b3BsYXlRdWlya3M7CisgICAgZGVjb2RlciA+PiBhbGxvd2VkQXV0b3Bs
YXlRdWlya3M7CisgICAgaWYgKCFhbGxvd2VkQXV0b3BsYXlRdWlya3MpCisgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisgICAgCisgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6
SFRUUEhlYWRlckZpZWxkPj4gY3VzdG9tSGVhZGVyRmllbGRzOworICAgIGRlY29kZXIgPj4gY3Vz
dG9tSGVhZGVyRmllbGRzOworICAgIGlmICghY3VzdG9tSGVhZGVyRmllbGRzKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworICAgIAorICAgIHJldHVybiB7IHsKKyAgICAgICAgV1RGTW92
ZSgqY29udGVudEJsb2NrZXJzRW5hYmxlZCksCisgICAgICAgIFdURk1vdmUoKmFsbG93ZWRBdXRv
cGxheVF1aXJrcyksCisgICAgICAgIFdURk1vdmUoKmF1dG9wbGF5UG9saWN5KSwKKyAgICAgICAg
V1RGTW92ZSgqY3VzdG9tSGVhZGVyRmllbGRzKSwKKyAgICB9IH07Cit9CisKK3ZvaWQgV2Vic2l0
ZVBvbGljaWVzOjphcHBseVRvRG9jdW1lbnRMb2FkZXIoV2Vic2l0ZVBvbGljaWVzJiYgd2Vic2l0
ZVBvbGljaWVzLCBXZWJDb3JlOjpEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIpCit7Cisg
ICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tSGVhZGVyRmllbGRzKHdlYnNpdGVQb2xpY2llcy50
YWtlQ3VzdG9tSGVhZGVyRmllbGRzKCkpOworICAgIAorICAgIC8vIE9ubHkgc2V0VXNlckNvbnRl
bnRFeHRlbnNpb25zRW5hYmxlZCBpZiBpdCBoYXNuJ3QgYWxyZWFkeSBiZWVuIGRpc2FibGVkIGJ5
IHJlbG9hZGluZyB3aXRob3V0IGNvbnRlbnQgYmxvY2tlcnMuCisgICAgaWYgKGRvY3VtZW50TG9h
ZGVyLnVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQoKSkKKyAgICAgICAgZG9jdW1lbnRMb2Fk
ZXIuc2V0VXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCh3ZWJzaXRlUG9saWNpZXMuY29udGVu
dEJsb2NrZXJzRW5hYmxlZCgpKTsKKworICAgIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheVF1
aXJrPiBxdWlya3M7CisgICAgYXV0byBhbGxvd2VkUXVpcmtzID0gd2Vic2l0ZVBvbGljaWVzLmFs
bG93ZWRBdXRvcGxheVF1aXJrcygpOworICAgIAorICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRh
aW5zKFdlYnNpdGVBdXRvcGxheVF1aXJrOjpJbmhlcml0ZWRVc2VyR2VzdHVyZXMpKQorICAgICAg
ICBxdWlya3MgfD0gV2ViQ29yZTo6QXV0b3BsYXlRdWlyazo6SW5oZXJpdGVkVXNlckdlc3R1cmVz
OworICAgIAorICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRhaW5zKFdlYnNpdGVBdXRvcGxheVF1
aXJrOjpTeW50aGVzaXplZFBhdXNlRXZlbnRzKSkKKyAgICAgICAgcXVpcmtzIHw9IFdlYkNvcmU6
OkF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHM7CisgICAgCisgICAgaWYgKGFs
bG93ZWRRdWlya3MuY29udGFpbnMoV2Vic2l0ZUF1dG9wbGF5UXVpcms6OkFyYml0cmFyeVVzZXJH
ZXN0dXJlcykpCisgICAgICAgIHF1aXJrcyB8PSBXZWJDb3JlOjpBdXRvcGxheVF1aXJrOjpBcmJp
dHJhcnlVc2VyR2VzdHVyZXM7CisKKyAgICBkb2N1bWVudExvYWRlci5zZXRBbGxvd2VkQXV0b3Bs
YXlRdWlya3MocXVpcmtzKTsKKworICAgIHN3aXRjaCAod2Vic2l0ZVBvbGljaWVzLmF1dG9wbGF5
UG9saWN5KCkpIHsKKyAgICBjYXNlIFdlYnNpdGVBdXRvcGxheVBvbGljeTo6RGVmYXVsdDoKKyAg
ICAgICAgZG9jdW1lbnRMb2FkZXIuc2V0QXV0b3BsYXlQb2xpY3koV2ViQ29yZTo6QXV0b3BsYXlQ
b2xpY3k6OkRlZmF1bHQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYnNpdGVBdXRvcGxh
eVBvbGljeTo6QWxsb3c6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldEF1dG9wbGF5UG9saWN5
KFdlYkNvcmU6OkF1dG9wbGF5UG9saWN5OjpBbGxvdyk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpBbGxvd1dpdGhvdXRTb3VuZDoKKyAgICAgICAgZG9j
dW1lbnRMb2FkZXIuc2V0QXV0b3BsYXlQb2xpY3koV2ViQ29yZTo6QXV0b3BsYXlQb2xpY3k6OkFs
bG93V2l0aG91dFNvdW5kKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJzaXRlQXV0b3Bs
YXlQb2xpY3k6OkRlbnk6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldEF1dG9wbGF5UG9saWN5
KFdlYkNvcmU6OkF1dG9wbGF5UG9saWN5OjpEZW55KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCit9CisKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oCShyZXZp
c2lvbiAyMjU4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsMTUgQEAKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgRGVj
b2RlcjsKK2NsYXNzIEVuY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERv
Y3VtZW50TG9hZGVyOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogZW51bSBjbGFzcyBXZWJz
aXRlQXV0b3BsYXlQb2xpY3kgewpAQCAtNDgsMTQgKzU3LDMzIEBAIGVudW0gY2xhc3MgV2Vic2l0
ZUF1dG9wbGF5UXVpcmsgewogCiBjbGFzcyBXZWJzaXRlUG9saWNpZXMgewogcHVibGljOgorICAg
IFdlYnNpdGVQb2xpY2llcygpID0gZGVmYXVsdDsKKworICAgIGJvb2wgY29udGVudEJsb2NrZXJz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudEJsb2NrZXJzRW5hYmxlZDsgfQorICAg
IHZvaWQgc2V0Q29udGVudEJsb2NrZXJzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9jb250ZW50
QmxvY2tlcnNFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIAorICAgIE9wdGlvblNldDxXZWJzaXRl
QXV0b3BsYXlRdWlyaz4gYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9h
bGxvd2VkQXV0b3BsYXlRdWlya3M7IH0KKyAgICB2b2lkIHNldEFsbG93ZWRBdXRvcGxheVF1aXJr
cyhPcHRpb25TZXQ8V2Vic2l0ZUF1dG9wbGF5UXVpcms+IHF1aXJrcykgeyBtX2FsbG93ZWRBdXRv
cGxheVF1aXJrcyA9IHF1aXJrczsgfQorICAgIAorICAgIFdlYnNpdGVBdXRvcGxheVBvbGljeSBh
dXRvcGxheVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlQb2xpY3k7IH0KKyAgICB2
b2lkIHNldEF1dG9wbGF5UG9saWN5KFdlYnNpdGVBdXRvcGxheVBvbGljeSBwb2xpY3kpIHsgbV9h
dXRvcGxheVBvbGljeSA9IHBvbGljeTsgfQorICAgIAorICAgIGNvbnN0IFZlY3RvcjxXZWJDb3Jl
OjpIVFRQSGVhZGVyRmllbGQ+JiBjdXN0b21IZWFkZXJGaWVsZHMoKSB7IHJldHVybiBtX2N1c3Rv
bUhlYWRlckZpZWxkczsgfQorICAgIFZlY3RvcjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+JiYg
dGFrZUN1c3RvbUhlYWRlckZpZWxkcygpIHsgcmV0dXJuIFdURk1vdmUobV9jdXN0b21IZWFkZXJG
aWVsZHMpOyB9CisgICAgdm9pZCBzZXRDdXN0b21IZWFkZXJGaWVsZHMoVmVjdG9yPFdlYkNvcmU6
OkhUVFBIZWFkZXJGaWVsZD4mJiBmaWVsZHMpIHsgbV9jdXN0b21IZWFkZXJGaWVsZHMgPSBXVEZN
b3ZlKGZpZWxkcyk7IH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBhcHBseVRvRG9jdW1lbnRMb2Fk
ZXIoV2Vic2l0ZVBvbGljaWVzJiYsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyJik7CisgICAgCisg
ICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIHN0ZDo6b3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzPiBkZWNvZGUoSVBDOjpEZWNvZGVyJik7CiAKLSAgICBib29s
IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgeyB0cnVlIH07Ci0gICAgT3B0aW9uU2V0PFdlYnNpdGVB
dXRvcGxheVF1aXJrPiBhbGxvd2VkQXV0b3BsYXlRdWlya3M7Ci0gICAgV2Vic2l0ZUF1dG9wbGF5
UG9saWN5IGF1dG9wbGF5UG9saWN5IHsgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZhdWx0IH07
Ci0gICAgVmVjdG9yPFdlYkNvcmU6OkhUVFBIZWFkZXJGaWVsZD4gY3VzdG9tSGVhZGVyRmllbGRz
OworcHJpdmF0ZToKKyAgICBXZWJzaXRlUG9saWNpZXMoYm9vbCwgT3B0aW9uU2V0PFdlYnNpdGVB
dXRvcGxheVF1aXJrPiwgV2Vic2l0ZUF1dG9wbGF5UG9saWN5LCBWZWN0b3I8V2ViQ29yZTo6SFRU
UEhlYWRlckZpZWxkPiYmKTsKIAotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXM+IGRlY29kZShEZWNvZGVyJik7CisgICAgYm9v
bCBtX2NvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgeyB0cnVlIH07CisgICAgT3B0aW9uU2V0PFdlYnNp
dGVBdXRvcGxheVF1aXJrPiBtX2FsbG93ZWRBdXRvcGxheVF1aXJrczsKKyAgICBXZWJzaXRlQXV0
b3BsYXlQb2xpY3kgbV9hdXRvcGxheVBvbGljeSB7IFdlYnNpdGVBdXRvcGxheVBvbGljeTo6RGVm
YXVsdCB9OworICAgIFZlY3RvcjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+IG1fY3VzdG9tSGVh
ZGVyRmllbGRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkBAIC03Myw0NSArMTAxLDMg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJLaXQ6OldlYgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi10ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIFdlYnNpdGVQb2xpY2llczo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Ci17Ci0gICAgZW5jb2RlciA8PCBjb250ZW50QmxvY2tlcnNFbmFibGVkOwotICAgIGVuY29kZXIg
PDwgYXV0b3BsYXlQb2xpY3k7Ci0gICAgZW5jb2RlciA8PCBhbGxvd2VkQXV0b3BsYXlRdWlya3M7
Ci0gICAgZW5jb2RlciA8PCBjdXN0b21IZWFkZXJGaWVsZHM7Ci19Ci0KLXRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzPiBXZWJzaXRlUG9saWNpZXM6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQotewotICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gY29u
dGVudEJsb2NrZXJzRW5hYmxlZDsKLSAgICBkZWNvZGVyID4+IGNvbnRlbnRCbG9ja2Vyc0VuYWJs
ZWQ7Ci0gICAgaWYgKCFjb250ZW50QmxvY2tlcnNFbmFibGVkKQotICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotICAgIAotICAgIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZUF1dG9wbGF5UG9saWN5
PiBhdXRvcGxheVBvbGljeTsKLSAgICBkZWNvZGVyID4+IGF1dG9wbGF5UG9saWN5OwotICAgIGlm
ICghYXV0b3BsYXlQb2xpY3kpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0KLSAgICBz
dGQ6Om9wdGlvbmFsPE9wdGlvblNldDxXZWJzaXRlQXV0b3BsYXlRdWlyaz4+IGFsbG93ZWRBdXRv
cGxheVF1aXJrczsKLSAgICBkZWNvZGVyID4+IGFsbG93ZWRBdXRvcGxheVF1aXJrczsKLSAgICBp
ZiAoIWFsbG93ZWRBdXRvcGxheVF1aXJrcykKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
LSAgICAKLSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+
PiBjdXN0b21IZWFkZXJGaWVsZHM7Ci0gICAgZGVjb2RlciA+PiBjdXN0b21IZWFkZXJGaWVsZHM7
Ci0gICAgaWYgKCFjdXN0b21IZWFkZXJGaWVsZHMpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0KLSAgICByZXR1cm4geyB7Ci0gICAgICAgIFdURk1vdmUoKmNvbnRlbnRCbG9ja2Vyc0Vu
YWJsZWQpLAotICAgICAgICBXVEZNb3ZlKCphbGxvd2VkQXV0b3BsYXlRdWlya3MpLAotICAgICAg
ICBXVEZNb3ZlKCphdXRvcGxheVBvbGljeSksCi0gICAgICAgIFdURk1vdmUoKmN1c3RvbUhlYWRl
ckZpZWxkcyksCi0gICAgfSB9OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgJKHJl
dmlzaW9uIDIyNTgyNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
UG9saWNpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTcgKzM3LDE3IEBAIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBXZWJzaXRlUG9saWNpZXMoKTsKICAgICB2aXJ0dWFsIH5XZWJzaXRlUG9saWNp
ZXMoKTsKIAotICAgIGJvb2wgY29udGVudEJsb2NrZXJzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fd2Vic2l0ZVBvbGljaWVzLmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQ7IH0KLSAgICB2b2lkIHNl
dENvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fd2Vic2l0ZVBvbGljaWVz
LmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgPSBlbmFibGVkOyB9CisgICAgYm9vbCBjb250ZW50Qmxv
Y2tlcnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJzaXRlUG9saWNpZXMuY29udGVudEJs
b2NrZXJzRW5hYmxlZCgpOyB9CisgICAgdm9pZCBzZXRDb250ZW50QmxvY2tlcnNFbmFibGVkKGJv
b2wgZW5hYmxlZCkgeyBtX3dlYnNpdGVQb2xpY2llcy5zZXRDb250ZW50QmxvY2tlcnNFbmFibGVk
KGVuYWJsZWQpOyB9CiAKLSAgICBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlRdWly
az4gYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV93ZWJzaXRlUG9saWNp
ZXMuYWxsb3dlZEF1dG9wbGF5UXVpcmtzOyB9Ci0gICAgdm9pZCBzZXRBbGxvd2VkQXV0b3BsYXlR
dWlya3MoT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms+IGFsbG93ZWRRdWly
a3MpIHsgbV93ZWJzaXRlUG9saWNpZXMuYWxsb3dlZEF1dG9wbGF5UXVpcmtzID0gYWxsb3dlZFF1
aXJrczsgfQorICAgIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVF1aXJrPiBhbGxv
d2VkQXV0b3BsYXlRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX3dlYnNpdGVQb2xpY2llcy5hbGxv
d2VkQXV0b3BsYXlRdWlya3MoKTsgfQorICAgIHZvaWQgc2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtz
KE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVF1aXJrPiBhbGxvd2VkUXVpcmtzKSB7
IG1fd2Vic2l0ZVBvbGljaWVzLnNldEFsbG93ZWRBdXRvcGxheVF1aXJrcyhhbGxvd2VkUXVpcmtz
KTsgfQogCi0gICAgV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3kgYXV0b3BsYXlQb2xpY3ko
KSBjb25zdCB7IHJldHVybiBtX3dlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeTsgfQotICAg
IHZvaWQgc2V0QXV0b3BsYXlQb2xpY3koV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3kgcG9s
aWN5KSB7IG1fd2Vic2l0ZVBvbGljaWVzLmF1dG9wbGF5UG9saWN5ID0gcG9saWN5OyB9CisgICAg
V2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3kgYXV0b3BsYXlQb2xpY3koKSBjb25zdCB7IHJl
dHVybiBtX3dlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeSgpOyB9CisgICAgdm9pZCBzZXRB
dXRvcGxheVBvbGljeShXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeSBwb2xpY3kpIHsgbV93
ZWJzaXRlUG9saWNpZXMuc2V0QXV0b3BsYXlQb2xpY3kocG9saWN5KTsgfQogCi0gICAgdm9pZCBz
ZXRDdXN0b21IZWFkZXJGaWVsZHMoVmVjdG9yPFdlYkNvcmU6OkhUVFBIZWFkZXJGaWVsZD4mJiBj
dXN0b21IZWFkZXJGaWVsZHMpIHsgbV93ZWJzaXRlUG9saWNpZXMuY3VzdG9tSGVhZGVyRmllbGRz
ID0gV1RGTW92ZShjdXN0b21IZWFkZXJGaWVsZHMpOyB9OwotICAgIGNvbnN0IFZlY3RvcjxXZWJD
b3JlOjpIVFRQSGVhZGVyRmllbGQ+IGN1c3RvbUhlYWRlckZpZWxkcygpIHsgcmV0dXJuIG1fd2Vi
c2l0ZVBvbGljaWVzLmN1c3RvbUhlYWRlckZpZWxkczsgfQorICAgIHZvaWQgc2V0Q3VzdG9tSGVh
ZGVyRmllbGRzKFZlY3RvcjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+JiYgY3VzdG9tSGVhZGVy
RmllbGRzKSB7IG1fd2Vic2l0ZVBvbGljaWVzLnNldEN1c3RvbUhlYWRlckZpZWxkcyhXVEZNb3Zl
KGN1c3RvbUhlYWRlckZpZWxkcykpOyB9OworICAgIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpIVFRQ
SGVhZGVyRmllbGQ+IGN1c3RvbUhlYWRlckZpZWxkcygpIHsgcmV0dXJuIG1fd2Vic2l0ZVBvbGlj
aWVzLmN1c3RvbUhlYWRlckZpZWxkcygpOyB9CiAKICAgICBjb25zdCBXZWJLaXQ6OldlYnNpdGVQ
b2xpY2llcyYgd2Vic2l0ZVBvbGljaWVzKCkgeyByZXR1cm4gbV93ZWJzaXRlUG9saWNpZXM7IH0K
ICAgICAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjI1ODI1KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTIwNCw2ICsxMjA0LDcgQEAK
IAkJNUMyMENCOUQxQkIwRENGQTAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzIwQ0I5QjFCQjBE
Q0QyMDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5tbSAqLzsgfTsKIAkJNUMyMENCQTAx
QkIxRUNEODAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzIwQ0I5RTFCQjBERDE4MDA4OTVCQjEgLyogTmV0
d29ya1Nlc3Npb24uaCAqLzsgfTsKIAkJNUMyOThEQTAxQzNERjAyMTAwNDcwQUZFIC8qIFBlbmRp
bmdEb3dubG9hZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUMyOThEOUUxQzNERUYyOTAwNDcwQUZFIC8qIFBlbmRpbmdEb3dubG9hZC5oICovOyB9Owor
CQk1QzNBRUE4RjFGRTFGMjFGMDAyMzE4RDMgLyogV2Vic2l0ZVBvbGljaWVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDM0FFQThFMUZFMUYxREYw
MDIzMThEMyAvKiBXZWJzaXRlUG9saWNpZXMuY3BwICovOyB9OwogCQk1QzYyRkRGOTFFRkMyNzFD
MDBDRTA3MkUgLyogV0tVUkxTY2hlbWVUYXNrUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM2MkZERjgxRUZDMjYzQzAwQ0UwNzJFIC8qIFdL
VVJMU2NoZW1lVGFza1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1QzZDRTZEMTFGNTlCQzdBMDAwN0M2Q0IgLyogUGFnZUNsaWVudElt
cGxDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVDNkNFNkQwMUY1OUJDNDYwMDA3QzZDQiAvKiBQYWdlQ2xpZW50SW1wbENvY29hLm1tICovOyB9
OwogCQk1Qzc3MDY3NDFEMTEzODM4MDAxMjcwMEYgLyogV2ViU29ja2V0UHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM3NzA2NzMxRDEx
MUQ4QjAwMTI3MDBGIC8qIFdlYlNvY2tldFByb3ZpZGVyLmNwcCAqLzsgfTsKQEAgLTM1OTIsNiAr
MzU5Myw3IEBACiAJCTVDMjBDQjlCMUJCMERDRDIwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbkNv
Y29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gTmV0d29ya1Nl
c3Npb25Db2NvYS5tbTsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDMjBDQjlFMUJCMEREMTgw
MDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBOZXR3b3JrU2Vzc2lvbi5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMyOThEOUUxQzNERUYyOTAwNDcw
QUZFIC8qIFBlbmRpbmdEb3dubG9hZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBQZW5kaW5nRG93bmxvYWQuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9QZW5k
aW5nRG93bmxvYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUMzQUVBOEUxRkUx
RjFERjAwMjMxOEQzIC8qIFdlYnNpdGVQb2xpY2llcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJzaXRlUG9saWNpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1QzYyRkRGODFFRkMyNjNDMDBDRTA3MkUgLyogV0tVUkxTY2hlbWVUYXNrUHJp
dmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1VSTFNjaGVtZVRhc2tQcml2YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDNkNFNkQwMUY1OUJDNDYwMDA3QzZDQiAvKiBQYWdlQ2xp
ZW50SW1wbENvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UGFnZUNsaWVudEltcGxDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM2
Q0U2RDMxRjU5RUEzNTAwMDdDNkNCIC8qIFBhZ2VDbGllbnRJbXBsQ29jb2EuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUNsaWVudEltcGxDb2NvYS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTIxMiw2ICs1MjE0LDcgQEAKIAkJCQkzNzYwODgxRDE1MDQx
M0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJNTExRjdEM0YxRUIxQkNF
RTAwRTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNwcCAqLywKIAkJCQk1MTFG
N0Q0MDFFQjFCQ0VFMDBFNDdCODMgLyogV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMuaCAqLywK
KwkJCQk1QzNBRUE4RTFGRTFGMURGMDAyMzE4RDMgLyogV2Vic2l0ZVBvbGljaWVzLmNwcCAqLywK
IAkJCQk1QzlFNTY3RjFERjc5MzA5MDBDOUVFMzMgLyogV2Vic2l0ZVBvbGljaWVzLmggKi8sCiAJ
CQkJODM2MDM0OUQxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5j
cHAgKi8sCiAJCQkJODM2MDM0OUUxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlci5oICovLApAQCAtMTA4MjgsNiArMTA4MzEsNyBAQAogCQkJCTFBNTNDMkE5MUEzMjU3
MkIwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NDgzMkMzMUE5NjVBM0MwMDhCNERGRSAvKiBXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MTFGN0Q0MjFFQjFCQ0Y4MDBFNDdCODMgLyogV2Vic2l0ZURhdGFTdG9y
ZVBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUMzQUVBOEYxRkUxRjIxRjAwMjMx
OEQzIC8qIFdlYnNpdGVQb2xpY2llcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1Qzc3MDY3NDFE
MTEzODM4MDAxMjcwMEYgLyogV2ViU29ja2V0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNUMwQjE3N0MxRTdDODg1NDAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFt
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAyMjU4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03ODUsNDAgKzc4NSw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmFwcGx5
VG9Eb2N1bWUKICAgICBpZiAoIWRvY3VtZW50TG9hZGVyKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBkb2N1bWVudExvYWRlci0+c2V0Q3VzdG9tSGVhZGVyRmllbGRzKFdURk1vdmUod2Vic2l0ZVBv
bGljaWVzLmN1c3RvbUhlYWRlckZpZWxkcykpOwotCi0gICAgLy8gT25seSBzZXRVc2VyQ29udGVu
dEV4dGVuc2lvbnNFbmFibGVkIGlmIGl0IGhhc24ndCBhbHJlYWR5IGJlZW4gZGlzYWJsZWQgYnkg
cmVsb2FkaW5nIHdpdGhvdXQgY29udGVudCBibG9ja2Vycy4KLSAgICBpZiAoZG9jdW1lbnRMb2Fk
ZXItPnVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQoKSkKLSAgICAgICAgZG9jdW1lbnRMb2Fk
ZXItPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQod2Vic2l0ZVBvbGljaWVzLmNvbnRl
bnRCbG9ja2Vyc0VuYWJsZWQpOwotCi0gICAgT3B0aW9uU2V0PEF1dG9wbGF5UXVpcms+IHF1aXJr
czsKLSAgICBhdXRvIGFsbG93ZWRRdWlya3MgPSB3ZWJzaXRlUG9saWNpZXMuYWxsb3dlZEF1dG9w
bGF5UXVpcmtzOwotCi0gICAgaWYgKGFsbG93ZWRRdWlya3MuY29udGFpbnMoV2Vic2l0ZUF1dG9w
bGF5UXVpcms6OkluaGVyaXRlZFVzZXJHZXN0dXJlcykpCi0gICAgICAgIHF1aXJrcyB8PSBBdXRv
cGxheVF1aXJrOjpJbmhlcml0ZWRVc2VyR2VzdHVyZXM7Ci0KLSAgICBpZiAoYWxsb3dlZFF1aXJr
cy5jb250YWlucyhXZWJzaXRlQXV0b3BsYXlRdWlyazo6U3ludGhlc2l6ZWRQYXVzZUV2ZW50cykp
Ci0gICAgICAgIHF1aXJrcyB8PSBBdXRvcGxheVF1aXJrOjpTeW50aGVzaXplZFBhdXNlRXZlbnRz
OwotCi0gICAgaWYgKGFsbG93ZWRRdWlya3MuY29udGFpbnMoV2Vic2l0ZUF1dG9wbGF5UXVpcms6
OkFyYml0cmFyeVVzZXJHZXN0dXJlcykpCi0gICAgICAgIHF1aXJrcyB8PSBBdXRvcGxheVF1aXJr
OjpBcmJpdHJhcnlVc2VyR2VzdHVyZXM7Ci0KLSAgICBkb2N1bWVudExvYWRlci0+c2V0QWxsb3dl
ZEF1dG9wbGF5UXVpcmtzKHF1aXJrcyk7Ci0KLSAgICBzd2l0Y2ggKHdlYnNpdGVQb2xpY2llcy5h
dXRvcGxheVBvbGljeSkgewotICAgIGNhc2UgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZhdWx0
OgotICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0QXV0b3BsYXlQb2xpY3koQXV0b3BsYXlQb2xp
Y3k6OkRlZmF1bHQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYnNpdGVBdXRvcGxheVBv
bGljeTo6QWxsb3c6Ci0gICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRBdXRvcGxheVBvbGljeShB
dXRvcGxheVBvbGljeTo6QWxsb3cpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYnNpdGVB
dXRvcGxheVBvbGljeTo6QWxsb3dXaXRob3V0U291bmQ6Ci0gICAgICAgIGRvY3VtZW50TG9hZGVy
LT5zZXRBdXRvcGxheVBvbGljeShBdXRvcGxheVBvbGljeTo6QWxsb3dXaXRob3V0U291bmQpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYnNpdGVBdXRvcGxheVBvbGljeTo6RGVueToKLSAg
ICAgICAgZG9jdW1lbnRMb2FkZXItPnNldEF1dG9wbGF5UG9saWN5KEF1dG9wbGF5UG9saWN5OjpE
ZW55KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIFdlYnNpdGVQb2xpY2llczo6YXBwbHlU
b0RvY3VtZW50TG9hZGVyKFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSwgKmRvY3VtZW50TG9hZGVy
KTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIG5hdmlnYXRpb25BY3Rp
b24sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJl
Y3RSZXNwb25zZSwgRm9ybVN0YXRlKiBmb3JtU3RhdGUsIEZyYW1lUG9saWN5RnVuY3Rpb24mJiBm
dW5jdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCShyZXZpc2lvbiAyMjU4MjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQzOCw3ICs1NDM4LDcgQEAgdm9p
ZCBXZWJQYWdlOjpmbHVzaFBlbmRpbmdFZGl0b3JTdGF0ZVVwZAogICAgIHNlbmRFZGl0b3JTdGF0
ZVVwZGF0ZSgpOwogfQogCi12b2lkIFdlYlBhZ2U6OnVwZGF0ZVdlYnNpdGVQb2xpY2llcyhjb25z
dCBXZWJzaXRlUG9saWNpZXMmIHdlYnNpdGVQb2xpY2llcykKK3ZvaWQgV2ViUGFnZTo6dXBkYXRl
V2Vic2l0ZVBvbGljaWVzKFdlYnNpdGVQb2xpY2llcyYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAg
ICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTQ0NywzOSArNTQ0Nyw3IEBAIHZv
aWQgV2ViUGFnZTo6dXBkYXRlV2Vic2l0ZVBvbGljaWVzKGNvbnMKICAgICBpZiAoIWRvY3VtZW50
TG9hZGVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBPcHRpb25TZXQ8QXV0b3BsYXlRdWlyaz4g
cXVpcmtzOwotICAgIGF1dG8gYWxsb3dlZFF1aXJrcyA9IHdlYnNpdGVQb2xpY2llcy5hbGxvd2Vk
QXV0b3BsYXlRdWlya3M7Ci0KLSAgICBpZiAoYWxsb3dlZFF1aXJrcy5jb250YWlucyhXZWJzaXRl
QXV0b3BsYXlRdWlyazo6SW5oZXJpdGVkVXNlckdlc3R1cmVzKSkKLSAgICAgICAgcXVpcmtzIHw9
IEF1dG9wbGF5UXVpcms6OkluaGVyaXRlZFVzZXJHZXN0dXJlczsKLQotICAgIGlmIChhbGxvd2Vk
UXVpcmtzLmNvbnRhaW5zKFdlYnNpdGVBdXRvcGxheVF1aXJrOjpTeW50aGVzaXplZFBhdXNlRXZl
bnRzKSkKLSAgICAgICAgcXVpcmtzIHw9IEF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VF
dmVudHM7Ci0KLSAgICBpZiAoYWxsb3dlZFF1aXJrcy5jb250YWlucyhXZWJzaXRlQXV0b3BsYXlR
dWlyazo6QXJiaXRyYXJ5VXNlckdlc3R1cmVzKSkKLSAgICAgICAgcXVpcmtzIHw9IEF1dG9wbGF5
UXVpcms6OkFyYml0cmFyeVVzZXJHZXN0dXJlczsKLQotICAgIGRvY3VtZW50TG9hZGVyLT5zZXRB
bGxvd2VkQXV0b3BsYXlRdWlya3MocXVpcmtzKTsKLQotICAgIEF1dG9wbGF5UG9saWN5IGF1dG9w
bGF5UG9saWN5ID0gQXV0b3BsYXlQb2xpY3k6OkRlZmF1bHQ7Ci0gICAgc3dpdGNoICh3ZWJzaXRl
UG9saWNpZXMuYXV0b3BsYXlQb2xpY3kpIHsKLSAgICBjYXNlIFdlYnNpdGVBdXRvcGxheVBvbGlj
eTo6RGVmYXVsdDoKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJzaXRlQXV0b3BsYXlQb2xp
Y3k6OkFsbG93OgotICAgICAgICBhdXRvcGxheVBvbGljeSA9IEF1dG9wbGF5UG9saWN5OjpBbGxv
dzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJzaXRlQXV0b3BsYXlQb2xpY3k6OkFsbG93
V2l0aG91dFNvdW5kOgotICAgICAgICBhdXRvcGxheVBvbGljeSA9IEF1dG9wbGF5UG9saWN5OjpB
bGxvd1dpdGhvdXRTb3VuZDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJzaXRlQXV0b3Bs
YXlQb2xpY3k6OkRlbnk6Ci0gICAgICAgIGF1dG9wbGF5UG9saWN5ID0gQXV0b3BsYXlQb2xpY3k6
OkRlbnk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIGlmIChkb2N1bWVudExvYWRlci0+
YXV0b3BsYXlQb2xpY3koKSA9PSBhdXRvcGxheVBvbGljeSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgZG9jdW1lbnRMb2FkZXItPnNldEF1dG9wbGF5UG9saWN5KGF1dG9wbGF5UG9saWN5KTsKKyAg
ICBXZWJzaXRlUG9saWNpZXM6OmFwcGx5VG9Eb2N1bWVudExvYWRlcihXVEZNb3ZlKHdlYnNpdGVQ
b2xpY2llcyksICpkb2N1bWVudExvYWRlcik7CiAgICAgCiAjaWYgRU5BQkxFKFZJREVPKQogICAg
IG1fcGFnZS0+dXBkYXRlTWVkaWFFbGVtZW50UmF0ZUNoYW5nZVJlc3RyaWN0aW9ucygpOwpJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24g
MjI1ODI1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBy
ZXBvcnRVc2VkRmVhdHVyZXMoKTsKIAotICAgIHZvaWQgdXBkYXRlV2Vic2l0ZVBvbGljaWVzKGNv
bnN0IFdlYnNpdGVQb2xpY2llcyYpOworICAgIHZvaWQgdXBkYXRlV2Vic2l0ZVBvbGljaWVzKFdl
YnNpdGVQb2xpY2llcyYmKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHBlcmZvcm1J
bW1lZGlhdGVBY3Rpb25IaXRUZXN0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50KTsK
</data>
<flag name="review"
          id="348406"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>