<?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>51370</bug_id>
          
          <creation_ts>2010-12-20 19:27:47 -0800</creation_ts>
          <short_desc>WebKit2: Add resource load client API</short_desc>
          <delta_ts>2010-12-20 19:40:06 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>324718</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-12-20 19:27:47 -0800</bug_when>
    <thetext>WebKit2 needs a resource load client API to support per resource tracking in the UIProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324719</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-12-20 19:28:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/8544293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324720</commentid>
    <comment_count>2</comment_count>
      <attachid>77070</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-12-20 19:29:35 -0800</bug_when>
    <thetext>Created attachment 77070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324729</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-12-20 19:40:06 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/74384.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77070</attachid>
            <date>2010-12-20 19:29:35 -0800</date>
            <delta_ts>2010-12-20 19:32:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>resourceLoadWebKit.diff</filename>
            <type>text/plain</type>
            <size>28882</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDM4MykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMTAtMTItMjAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQy
OiBBZGQgcmVzb3VyY2UgbG9hZCBjbGllbnQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM3MAorCisgICAgICAgIFRoaXMganVzdCBwaXBlcyB0
aHJvdWdoIHRoZSBiYXNpYyByZXNvdXJjZSBsb2FkIGNsaWVudCBkYXRhLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6aW5pdGlhbGl6ZVJlc291cmNlTG9hZENsaWVudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRpZFNlbmRSZXF1ZXN0Rm9yUmVzb3VyY2UpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJl
c291cmNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRGaW5pc2hMb2FkRm9y
UmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEZhaWxMb2FkRm9y
UmVzb3VyY2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJSZXNvdXJjZUxvYWRDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZENsaWVudDo6ZGlkU2VuZFJlcXVlc3RGb3JSZXNvdXJj
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZENsaWVudDo6ZGlkUmVjZWl2ZVJl
c3BvbnNlRm9yUmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRDbGll
bnQ6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRDbGllbnQ6OmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZENsaWVudDo6ZGlkRmFpbExvYWRGb3JSZXNvdXJj
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZENsaWVudC5oOiBBZGRlZC4K
KyAgICAgICAgKiBXZWJLaXQyLnBybzoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50
Ojphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2Vp
dmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKiB3aW4vV2ViS2l0
Mi52Y3Byb2o6CisKIDIwMTAtMTItMjAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViS2l0Mi9X
ZWJLaXQyLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYktpdDIucHJvCShyZXZpc2lvbiA3
NDM1NykKKysrIFdlYktpdDIvV2ViS2l0Mi5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTM1NSw2ICsz
NTUsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCBcCiAg
ICAgVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmggXAogICAgIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaCBcCisgICAgVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZENsaWVudC5oIFwKICAg
ICBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRN
ZW51UHJveHlRdC5oIFwKICAgICBVSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5oIFwK
QEAgLTU1MSw2ICs1NTIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUHJlZmVy
ZW5jZXMuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViUHJvY2Vzc01hbmFnZXIuY3BwIFwKICAgICBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBcCisgICAgVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZENsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9xdC9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eVF0LmNwcCBcCiAgICAgVUlQ
cm9jZXNzL3F0L1RpbGVkRHJhd2luZ0FyZWFQcm94eVF0LmNwcCBcCkluZGV4OiBXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDc0MzU3KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3MiwxMSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6aW5pdGlhbGl6ZUZvcm1DbGllbnQoCiAgICAgbV9mb3JtQ2xpZW50Lmlu
aXRpYWxpemUoZm9ybUNsaWVudCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojppbml0aWFsaXpl
UmVzb3VyY2VMb2FkQ2xpZW50KGNvbnN0IFdLUGFnZVJlc291cmNlTG9hZENsaWVudCogY2xpZW50
KQoreworICAgIG1fcmVzb3VyY2VMb2FkQ2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKK30KKwog
dm9pZCBXZWJQYWdlUHJveHk6OmluaXRpYWxpemVVSUNsaWVudChjb25zdCBXS1BhZ2VVSUNsaWVu
dCogY2xpZW50KQogewogICAgIG1fdWlDbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOwpAQCAtMTE2
OCw2ICsxMTczLDUxIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsU3VibWl0Rm9ybSh1aW50NjQK
ICAgICAgICAgbGlzdGVuZXItPmNvbnRpbnVlU3VibWlzc2lvbigpOwogfQogCisvLyBSZXNvdXJj
ZUxvYWQgQ2xpZW50CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRJbml0aWF0ZUxvYWRGb3JSZXNv
dXJjZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICBXZWJGcmFtZVByb3h5KiBmcmFtZSA9
IHByb2Nlc3MoKS0+d2ViRnJhbWUoZnJhbWVJRCk7CisKKyAgICBtX3Jlc291cmNlTG9hZENsaWVu
dC5kaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZSh0aGlzLCBmcmFtZSwgcmVzb3VyY2VJZGVudGlm
aWVyLCByZXF1ZXN0KTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFNlbmRSZXF1ZXN0Rm9y
UmVzb3VyY2UodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
ZGlyZWN0UmVzcG9uc2UpCit7CisgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBwcm9jZXNzKCkt
PndlYkZyYW1lKGZyYW1lSUQpOworCisgICAgbV9yZXNvdXJjZUxvYWRDbGllbnQuZGlkU2VuZFJl
cXVlc3RGb3JSZXNvdXJjZSh0aGlzLCBmcmFtZSwgcmVzb3VyY2VJZGVudGlmaWVyLCByZXF1ZXN0
LCByZWRpcmVjdFJlc3BvbnNlKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVS
ZXNwb25zZUZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHJlc291cmNlSWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgV2ViRnJh
bWVQcm94eSogZnJhbWUgPSBwcm9jZXNzKCktPndlYkZyYW1lKGZyYW1lSUQpOworCisgICAgbV9y
ZXNvdXJjZUxvYWRDbGllbnQuZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2UodGhpcywgZnJh
bWUsIHJlc291cmNlSWRlbnRpZmllciwgcmVzcG9uc2UpOworfQorCit2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZSh1aW50NjRfdCBmcmFtZUlELCB1
aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgpCit7Cisg
ICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBwcm9jZXNzKCktPndlYkZyYW1lKGZyYW1lSUQpOwor
CisgICAgbV9yZXNvdXJjZUxvYWRDbGllbnQuZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNv
dXJjZSh0aGlzLCBmcmFtZSwgcmVzb3VyY2VJZGVudGlmaWVyLCBjb250ZW50TGVuZ3RoKTsKK30K
Kwordm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZSh1aW50NjRfdCBm
cmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIpCit7CisgICAgV2ViRnJhbWVQcm94
eSogZnJhbWUgPSBwcm9jZXNzKCktPndlYkZyYW1lKGZyYW1lSUQpOworCisgICAgbV9yZXNvdXJj
ZUxvYWRDbGllbnQuZGlkRmluaXNoTG9hZEZvclJlc291cmNlKHRoaXMsIGZyYW1lLCByZXNvdXJj
ZUlkZW50aWZpZXIpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JSZXNv
dXJjZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0
IFJlc291cmNlRXJyb3ImIGVycm9yKQoreworICAgIFdlYkZyYW1lUHJveHkqIGZyYW1lID0gcHJv
Y2VzcygpLT53ZWJGcmFtZShmcmFtZUlEKTsKKworICAgIG1fcmVzb3VyY2VMb2FkQ2xpZW50LmRp
ZEZhaWxMb2FkRm9yUmVzb3VyY2UodGhpcywgZnJhbWUsIHJlc291cmNlSWRlbnRpZmllciwgZXJy
b3IpOworfQorCisKIC8vIFVJQ2xpZW50CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQ
YWdlKGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMyX3Qgb3BhcXVl
TW9kaWZpZXJzLCBpbnQzMl90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlE
LCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykKSW5kZXg6IFdl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA3NDM1NykKKysrIFdlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5j
bHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiAjaW5j
bHVkZSAiV0tCYXNlLmgiCi0jaW5jbHVkZSAiV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgiCiAj
aW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgogI2luY2x1ZGUgIldlYkV2ZW50Lmgi
CiAjaW5jbHVkZSAiV2ViRmluZENsaWVudC5oIgpAQCAtNDEsOCArNDAsMTAgQEAKICNpbmNsdWRl
ICJXZWJIaXN0b3J5Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKICNp
bmNsdWRlICJXZWJMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJQYWdlQ29udGV4dE1lbnVD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJQb2xpY3lDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQb3B1
cE1lbnVQcm94eS5oIgorI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZENsaWVudC5oIgogI2luY2x1
ZGUgIldlYlVJQ2xpZW50LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9FZGl0QWN0aW9uLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9FZGl0b3IuaD4KQEAgLTEyOSw2ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbml0aWFsaXplRm9ybUNsaWVudChjb25zdCBXS1BhZ2VGb3JtQ2xpZW50Kik7CiAgICAg
dm9pZCBpbml0aWFsaXplTG9hZGVyQ2xpZW50KGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudCopOwog
ICAgIHZvaWQgaW5pdGlhbGl6ZVBvbGljeUNsaWVudChjb25zdCBXS1BhZ2VQb2xpY3lDbGllbnQq
KTsKKyAgICB2b2lkIGluaXRpYWxpemVSZXNvdXJjZUxvYWRDbGllbnQoY29uc3QgV0tQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50Kik7CiAgICAgdm9pZCBpbml0aWFsaXplVUlDbGllbnQoY29uc3QgV0tQ
YWdlVUlDbGllbnQqKTsKICAgICB2b2lkIHJlbGF1bmNoKCk7CiAKQEAgLTMzNSw2ICszMzcsMTQg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFN1Ym1pdEZvcm0odWludDY0X3QgZnJhbWVJRCwg
dWludDY0X3Qgc291cmNlRnJhbWVJRCwgY29uc3QgU3RyaW5nUGFpclZlY3RvciYgdGV4dEZpZWxk
VmFsdWVzLCB1aW50NjRfdCBsaXN0ZW5lcklELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsK
IAorICAgIC8vIFJlc291cmNlIGxvYWQgY2xpZW50CisgICAgdm9pZCBkaWRJbml0aWF0ZUxvYWRG
b3JSZXNvdXJjZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOworICAgIHZvaWQgZGlkU2VuZFJlcXVl
c3RGb3JSZXNvdXJjZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3Bv
bnNlRm9yUmVzb3VyY2UodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlm
aWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNl
aXZlQ29udGVudExlbmd0aEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgdWludDY0X3QgY29udGVudExlbmd0aCk7CisgICAgdm9pZCBkaWRG
aW5pc2hMb2FkRm9yUmVzb3VyY2UodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgcmVzb3VyY2VJ
ZGVudGlmaWVyKTsKKyAgICB2b2lkIGRpZEZhaWxMb2FkRm9yUmVzb3VyY2UodWludDY0X3QgZnJh
bWVJRCwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yJik7CisKICAgICAvLyBVSSBjbGllbnQKICAgICB2b2lkIGNyZWF0ZU5ld1BhZ2UoY29u
c3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCB1aW50MzJfdCBtb2RpZmllcnMsIGludDMyX3Qg
bW91c2VCdXR0b24sIHVpbnQ2NF90JiBuZXdQYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMmKTsKICAgICB2b2lkIHNob3dQYWdlKCk7CkBAIC00MzIsNiArNDQyLDcgQEAgcHJpdmF0ZToK
ICAgICBXZWJMb2FkZXJDbGllbnQgbV9sb2FkZXJDbGllbnQ7CiAgICAgV2ViUG9saWN5Q2xpZW50
IG1fcG9saWN5Q2xpZW50OwogICAgIFdlYkZvcm1DbGllbnQgbV9mb3JtQ2xpZW50OworICAgIFdl
YlJlc291cmNlTG9hZENsaWVudCBtX3Jlc291cmNlTG9hZENsaWVudDsKICAgICBXZWJVSUNsaWVu
dCBtX3VpQ2xpZW50OwogICAgIFdlYkZpbmRDbGllbnQgbV9maW5kQ2xpZW50OwogICAgIFdlYlBh
Z2VDb250ZXh0TWVudUNsaWVudCBtX2NvbnRleHRNZW51Q2xpZW50OwpJbmRleDogV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gNzQzNTcpCisrKyBX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTkyLDYgKzkyLDE0IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICAgICBGcmFt
ZURpZEJlY29tZUZyYW1lU2V0KHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgdmFsdWUpCiAKKyAgICAj
IFJlc291cmNlIGxvYWQgbWVzc2FnZXMuCisgICAgRGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2Uo
dWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCkKKyAgICBEaWRTZW5kUmVxdWVzdEZvclJlc291cmNlKHVp
bnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RS
ZXNwb25zZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZSh1aW50NjRfdCBmcmFt
ZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2UpCisgICAgRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZSh1aW50
NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIHVpbnQ2NF90IGNvbnRl
bnRMZW5ndGgpCisgICAgRGlkRmluaXNoTG9hZEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcikKKyAgICBEaWRGYWlsTG9hZEZvclJlc291cmNl
KHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciBlcnJvcikKKwogICAgICMgQ3VzdG9tIHJlcHJlc2VudGF0aW9ucwogICAg
IERpZEZpbmlzaExvYWRpbmdEYXRhRm9yQ3VzdG9tUmVwcmVzZW50YXRpb24oQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSBkYXRhKQogCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZENsaWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRDbGllbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZENsaWVudC5oIgorCisjaW5jbHVkZSAiV0tB
UElDYXN0LmgiCisjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgorI2luY2x1ZGUgIldlYlVSTFJl
c3BvbnNlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordm9pZCBXZWJSZXNvdXJjZUxvYWRDbGllbnQ6OmRpZEluaXRpYXRlTG9hZEZvclJlc291
cmNlKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3Qp
Cit7CisgICAgaWYgKCFtX2NsaWVudC5kaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgUmVmUHRyPFdlYlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBXZWJVUkxS
ZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKKyAgICByZXR1cm4gbV9jbGllbnQuZGlk
SW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgcmVzb3Vy
Y2VJZGVudGlmaWVyLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7
Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRTZW5kUmVxdWVzdEZvclJlc291
cmNlKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzb3VyY2VSZXNwb25zZSkKK3sKKyAg
ICBpZiAoIW1fY2xpZW50LmRpZFNlbmRSZXF1ZXN0Rm9yUmVzb3VyY2UpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxXZWJVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gV2ViVVJMUmVxdWVzdDo6
Y3JlYXRlKHJlc291cmNlUmVxdWVzdCk7CisgICAgUmVmUHRyPFdlYlVSTFJlc3BvbnNlPiByZXNw
b25zZTsKKyAgICBpZiAoIXJlZGlyZWN0UmVzb3VyY2VSZXNwb25zZS5pc051bGwoKSkKKyAgICAg
ICAgcmVzcG9uc2UgPSBXZWJVUkxSZXNwb25zZTo6Y3JlYXRlKHJlZGlyZWN0UmVzb3VyY2VSZXNw
b25zZSk7CisgICAgcmV0dXJuIG1fY2xpZW50LmRpZFNlbmRSZXF1ZXN0Rm9yUmVzb3VyY2UodG9B
UEkocGFnZSksIHRvQVBJKGZyYW1lKSwgcmVzb3VyY2VJZGVudGlmaWVyLCB0b0FQSShyZXF1ZXN0
LmdldCgpKSwgdG9BUEkocmVzcG9uc2UuZ2V0KCkpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30K
Kwordm9pZCBXZWJSZXNvdXJjZUxvYWRDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291
cmNlKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25z
ZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8V2ViVVJMUmVzcG9uc2U+IHJlc3BvbnNlID0g
V2ViVVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNvdXJjZVJlc3BvbnNlKTsKKyAgICByZXR1cm4gbV9j
bGllbnQuZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2UodG9BUEkocGFnZSksIHRvQVBJKGZy
YW1lKSwgcmVzb3VyY2VJZGVudGlmaWVyLCB0b0FQSShyZXNwb25zZS5nZXQoKSksIG1fY2xpZW50
LmNsaWVudEluZm8pOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZENsaWVudDo6ZGlkUmVjZWl2
ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZShXZWJQYWdlUHJveHkqIHBhZ2UsIFdlYkZyYW1lUHJv
eHkqIGZyYW1lLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIHVpbnQ2NF90IGNvbnRlbnRM
ZW5ndGgpCit7CisgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJl
c291cmNlKQorICAgICAgICByZXR1cm47CisKKyAgICByZXR1cm4gbV9jbGllbnQuZGlkUmVjZWl2
ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCByZXNv
dXJjZUlkZW50aWZpZXIsIGNvbnRlbnRMZW5ndGgsIG1fY2xpZW50LmNsaWVudEluZm8pOworfQor
Cit2b2lkIFdlYlJlc291cmNlTG9hZENsaWVudDo6ZGlkRmluaXNoTG9hZEZvclJlc291cmNlKFdl
YlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IHJlc291cmNl
SWRlbnRpZmllcikKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZEZpbmlzaExvYWRGb3JSZXNvdXJj
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcmV0dXJuIG1fY2xpZW50LmRpZEZpbmlzaExvYWRG
b3JSZXNvdXJjZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCByZXNvdXJjZUlkZW50aWZpZXIs
IG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZENsaWVudDo6
ZGlkRmFpbExvYWRGb3JSZXNvdXJjZShXZWJQYWdlUHJveHkqIHBhZ2UsIFdlYkZyYW1lUHJveHkq
IGZyYW1lLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3Im
IGVycm9yKQoreworICAgIGlmICghbV9jbGllbnQuZGlkRmFpbExvYWRGb3JSZXNvdXJjZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgcmV0dXJuIG1fY2xpZW50LmRpZEZhaWxMb2FkRm9yUmVzb3Vy
Y2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgcmVzb3VyY2VJZGVudGlmaWVyLCB0b0FQSShl
cnJvciksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
SW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZENsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZENsaWVudC5oCShyZXZpc2lv
biAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkQ2xpZW50LmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlJlc291cmNl
TG9hZENsaWVudF9oCisjZGVmaW5lIFdlYlJlc291cmNlTG9hZENsaWVudF9oCisKKyNpbmNsdWRl
ICJBUElDbGllbnQuaCIKKyNpbmNsdWRlICJXS1BhZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJl
c291cmNlUmVzcG9uc2U7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBBUElPYmpl
Y3Q7CitjbGFzcyBXZWJGcmFtZVByb3h5OworY2xhc3MgV2ViUGFnZVByb3h5OworCitjbGFzcyBX
ZWJSZXNvdXJjZUxvYWRDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLUGFnZVJlc291cmNlTG9h
ZENsaWVudD4geworcHVibGljOgorICAgIHZvaWQgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2Uo
V2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgdm9pZCBkaWRTZW5kUmVx
dWVzdEZvclJlc291cmNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCB1aW50NjRfdCBy
ZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZUZvclJlc291cmNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCB1aW50NjRfdCByZXNv
dXJjZUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2
b2lkIGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2UoV2ViUGFnZVByb3h5KiwgV2Vi
RnJhbWVQcm94eSosIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgdWludDY0X3QgY29udGVu
dExlbmd0aCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UoV2ViUGFnZVByb3h5
KiwgV2ViRnJhbWVQcm94eSosIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcik7CisgICAgdm9p
ZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCB1
aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3Im
KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViUmVzb3VyY2VM
b2FkQ2xpZW50X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkocmV2aXNpb24g
NzQzNTcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMTAsNiArMzEwLDEzIEBAIHZvaWQgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChX
S1BhZ2VSZWYKICAgICB0b0ltcGwocGFnZVJlZiktPmluaXRpYWxpemVQb2xpY3lDbGllbnQod2tD
bGllbnQpOwogfQogCit2b2lkIFdLUGFnZVNldFBhZ2VSZXNvdXJjZUxvYWRDbGllbnQoV0tQYWdl
UmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVJlc291cmNlTG9hZENsaWVudCogd2tDbGllbnQpCit7
CisgICAgaWYgKHdrQ2xpZW50ICYmIHdrQ2xpZW50LT52ZXJzaW9uKQorICAgICAgICByZXR1cm47
CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplUmVzb3VyY2VMb2FkQ2xpZW50KHdrQ2xp
ZW50KTsKK30KKwogdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYs
IGNvbnN0IFdLUGFnZVVJQ2xpZW50KiB3a0NsaWVudCkKIHsKICAgICBpZiAod2tDbGllbnQgJiYg
d2tDbGllbnQtPnZlcnNpb24pCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNp
b24gNzQzNTcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMTMwLDYgKzEzMCwyNiBAQCBzdHJ1Y3QgV0tQYWdlRm9ybUNsaWVudCB7CiB9Owog
dHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRm9ybUNsaWVudCBXS1BhZ2VGb3JtQ2xpZW50OwogCisvLyBS
ZXNvdXJjZSBMb2FkIENsaWVudC4KK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZEluaXRpYXRlTG9h
ZEZvclJlc291cmNlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCB1
aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZFNlbmRSZXF1ZXN0
Rm9yUmVzb3VyY2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIHVp
bnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLVVJM
UmVzcG9uc2VSZWYgcmVkaXJlY3RSZXNwb25zZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgdWludDY0X3QgcmVzb3VyY2VJZGVu
dGlmaWVyLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3Vy
Y2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgdWludDY0X3QgY29udGVudExlbmd0aCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2VD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIHVpbnQ2NF90IHJlc291
cmNlSWRlbnRpZmllciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VEaWRGYWlsTG9hZEZvclJlc291cmNlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0Zy
YW1lUmVmIGZyYW1lLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdLRXJyb3JSZWYgZXJy
b3IsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tQYWdlUmVzb3VyY2VMb2Fk
Q2xpZW50IHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJ
bmZvOworICAgIFdLUGFnZURpZEluaXRpYXRlTG9hZEZvclJlc291cmNlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2U7CisgICAgV0tQ
YWdlRGlkU2VuZFJlcXVlc3RGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaWRTZW5kUmVxdWVzdEZvclJlc291cmNlOworICAgIFdLUGFnZURpZFJlY2VpdmVS
ZXNwb25zZUZvclJlc291cmNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVj
ZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2U7CisgICAgV0tQYWdlRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGhGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlQ29udGVu
dExlbmd0aEZvclJlc291cmNlOworICAgIFdLUGFnZURpZEZpbmlzaExvYWRGb3JSZXNvdXJjZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoTG9hZEZvclJlc291
cmNlOworICAgIFdLUGFnZURpZEZhaWxMb2FkRm9yUmVzb3VyY2VDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkRmFpbExvYWRGb3JSZXNvdXJjZTsKK307Cit0eXBlZGVm
IHN0cnVjdCBXS1BhZ2VSZXNvdXJjZUxvYWRDbGllbnQgV0tQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
OworCiAvLyBVSSBDbGllbnQKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFn
ZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2
ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dQYWdlQ2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTI5MCw2
ICszMTAsNyBAQCBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlRmluZENsaWVudChXCiBXS19F
WFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlRm9ybUNsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
V0tQYWdlRm9ybUNsaWVudCogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VM
b2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudCogY2xp
ZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVm
IHBhZ2UsIGNvbnN0IFdLUGFnZVBvbGljeUNsaWVudCogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lk
IFdLUGFnZVNldFBhZ2VSZXNvdXJjZUxvYWRDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdL
UGFnZVJlc291cmNlTG9hZENsaWVudCogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNl
dFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3QgV0tQYWdlVUlDbGllbnQqIGNsaWVu
dCk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRGdW5jdGlvbikoV0tTdHJp
bmdSZWYsIFdLRXJyb3JSZWYsIHZvaWQqKTsKSW5kZXg6IFdlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3NDM1NykKKysrIFdlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NTQsNiArNDU0LDgg
QEAKIAkJQkM4NTdGRTYxMkI4NDNEODAwRURFQjJFIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4NTdGRTQx
MkI4NDNEODAwRURFQjJFIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJQkM4NTgwNjIxMkI4NTA1NzAwRURF
QjJFIC8qIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxREZFOEUxMkIzMUNBODAwNURGNzMwIC8qIFdL
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuY3BwICovOyB9OwogCQlCQzg1ODA2MzEyQjg1MDU3MDBF
REVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODU3RkU1MTJCODQzRDgwMEVERUIyRSAvKiBXS09w
ZW5QYW5lbFBhcmFtZXRlcnMuY3BwICovOyB9OworCQlCQzg1OEEyMDEyQzAzNTdCMDBFREVCMkUg
LyogV2ViUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzg1OEExRTEyQzAzNTdCMDBFREVCMkUgLyogV2ViUmVzb3VyY2VM
b2FkQ2xpZW50LmggKi87IH07CisJCUJDODU4QTIxMTJDMDM1N0IwMEVERUIyRSAvKiBXZWJSZXNv
dXJjZUxvYWRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM4NThBMUYxMkMwMzU3QjAwRURFQjJFIC8qIFdlYlJlc291cmNlTG9hZENsaWVu
dC5jcHAgKi87IH07CiAJCUJDODY5OUI1MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODY5OUIyMTE2QUFE
QUEwMDJBOTI1QiAvKiBXS1ZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJs
aWMsICk7IH07IH07CiAJCUJDODY5OUI2MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg2OTlCMzExNkFB
REFBMDAyQTkyNUIgLyogV0tWaWV3Lm1tICovOyB9OwogCQlCQzg2OTlCNzExNkFBREFBMDAyQTky
NUIgLyogV0tWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDODY5OUI0MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5o
ICovOyB9OwpAQCAtMTExNSw2ICsxMTE3LDggQEAKIAkJQkM4NTdGQjQxMkI4MzBFNjAwRURFQjJF
IC8qIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDODU3RkU0MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFt
ZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tPcGVuUGFuZWxQYXJh
bWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDODU3RkU1MTJCODQzRDgw
MEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQkM4NThBMUUxMkMwMzU3QjAwRURFQjJFIC8qIFdlYlJlc291cmNl
TG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJj
ZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM4NThBMUYxMkMw
MzU3QjAwRURFQjJFIC8qIFdlYlJlc291cmNlTG9hZENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRDbGllbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzg2OTlCMjExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVmlldy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzg2OTlCMzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tWaWV3Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzg2OTlCNDExNkFBREFBMDAyQTkyNUIgLyogV0tW
aWV3SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tWaWV3SW50
ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NTgsNiArMTk2Miw4IEBA
CiAJCQkJQkMxMTFCMEQxMTJGNUU0RjAwMzM3QkFCIC8qIFdlYlByb2Nlc3NQcm94eS5jcHAgKi8s
CiAJCQkJQkMwMzJEQ0YxMEY0Mzg5RjAwNThDMTVBIC8qIFdlYlByb2Nlc3NQcm94eS5oICovLAog
CQkJCUJDRUU3QUIzMTI4MTcwOTUwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHkubWVzc2FnZXMu
aW4gKi8sCisJCQkJQkM4NThBMUYxMkMwMzU3QjAwRURFQjJFIC8qIFdlYlJlc291cmNlTG9hZENs
aWVudC5jcHAgKi8sCisJCQkJQkM4NThBMUUxMkMwMzU3QjAwRURFQjJFIC8qIFdlYlJlc291cmNl
TG9hZENsaWVudC5oICovLAogCQkJCTFBNTk0QUI4MTEyQTFGQjYwMDlERTdDNyAvKiBXZWJVSUNs
aWVudC5jcHAgKi8sCiAJCQkJMUE1OTRBQjkxMTJBMUZCNjAwOURFN0M3IC8qIFdlYlVJQ2xpZW50
LmggKi8sCiAJCQkpOwpAQCAtMjc1Niw2ICsyNzYyLDcgQEAKIAkJCQkxQTRBOUFBODEyQjdFNzk2
MDA4RkU5ODQgLyogV0tUZXh0SW5wdXRXaW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTRBOUM1NjEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNEE5RjMzMTJCODQ0RTIwMDhGRTk4NCAvKiBQbHVnaW5RdWly
a3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDODU4QTIwMTJDMDM1N0IwMEVERUIyRSAvKiBXZWJS
ZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMzE3OCw2ICszMTg1LDcgQEAK
IAkJCQkxQTRBOUFBOTEyQjdFNzk2MDA4RkU5ODQgLyogV0tUZXh0SW5wdXRXaW5kb3dDb250cm9s
bGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0QTlDNTUxMkI4MTZDRjAwOEZFOTg0IC8qIE5l
dHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNEE5QzlBMTJCODIx
Q0QwMDhGRTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBpbiBTb3VyY2VzICovLAor
CQkJCUJDODU4QTIxMTJDMDM1N0IwMEVERUIyRSAvKiBXZWJSZXNvdXJjZUxvYWRDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDc0MzU3
KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDE0ICsxNDEsMjIgQEAgdm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGV0YWNoZWRGcm9tUAogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LXZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmKQordm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6YXNzaWduSWRlbnRpZmll
clRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRl
ciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCF3
ZWJQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlKG1fZnJhbWUtPmZyYW1lSUQo
KSwgaWRlbnRpZmllciwgcmVxdWVzdCkpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVk
aXJlY3RSZXNwb25zZSkKK3ZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFNl
bmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0g
bV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghd2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRTZW5kUmVxdWVzdEZv
clJlc291cmNlKG1fZnJhbWUtPmZyYW1lSUQoKSwgaWRlbnRpZmllciwgcmVxdWVzdCwgcmVkaXJl
Y3RSZXNwb25zZSkpOwogfQogCiBib29sIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
cikKQEAgLTE5MSwyNCArMTk5LDQwIEBAIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNhbkF1
dGhlbnRpY2EKIH0KICNlbmRpZgogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRj
aERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgp
OworICAgIGlmICghd2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2ViUGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZSht
X2ZyYW1lLT5mcmFtZUlEKCksIGlkZW50aWZpZXIsIHJlc3BvbnNlKSk7CiB9CiAKIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoRG9jdW1l
bnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1l
LT5wYWdlKCk7CisgICAgaWYgKCF3ZWJQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICB3ZWJQ
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
Rm9yUmVzb3VyY2UobV9mcmFtZS0+ZnJhbWVJRCgpLCBpZGVudGlmaWVyLCBsZW5ndGhSZWNlaXZl
ZCkpOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZpbmlzaExv
YWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgp
OworICAgIGlmICghd2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2ViUGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UobV9mcmFt
ZS0+ZnJhbWVJRCgpLCBpZGVudGlmaWVyKSk7CiB9CiAKLXZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKQordm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpOworICAg
IGlmICghd2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2ViUGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRGYWlsTG9hZEZvclJlc291cmNlKG1fZnJhbWUtPmZyYW1l
SUQoKSwgaWRlbnRpZmllciwgZXJyb3IpKTsKIH0KIAogYm9vbCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIq
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgaW50IGxl
bmd0aCkKSW5kZXg6IFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCShyZXZpc2lvbiA3NDM1NykKKysrIFdlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUxLDYgKzIxNTEsMTQgQEAKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNz
XFdlYlJlc291cmNlTG9hZENsaWVudC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJSZXNvdXJjZUxvYWRDbGllbnQuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9j
ZXNzXFdlYlVJQ2xpZW50LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+Cg==
</data>
<flag name="review"
          id="68115"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>