<?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>211214</bug_id>
          
          <creation_ts>2020-04-29 18:04:05 -0700</creation_ts>
          <short_desc>Add logging of AXIsolatedTree and AXNotifications.</short_desc>
          <delta_ts>2020-04-30 05:58:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1647231</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-04-29 18:04:05 -0700</bug_when>
    <thetext>Add logging of AXIsolatedTree and AXNotifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647233</commentid>
    <comment_count>1</comment_count>
      <attachid>398013</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-04-29 18:20:19 -0700</bug_when>
    <thetext>Created attachment 398013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647248</commentid>
    <comment_count>2</comment_count>
      <attachid>398020</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-04-29 19:14:57 -0700</bug_when>
    <thetext>Created attachment 398020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647254</commentid>
    <comment_count>3</comment_count>
      <attachid>398024</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-04-29 19:42:29 -0700</bug_when>
    <thetext>Created attachment 398024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647256</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-04-29 19:46:40 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; Created attachment 398024 [details]
&gt; Patch

Fixes build for platforms where isolated tree is not enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647341</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-30 05:57:05 -0700</bug_when>
    <thetext>Committed r260945: &lt;https://trac.webkit.org/changeset/260945&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398024.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647343</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-30 05:58:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/62647732&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398013</attachid>
            <date>2020-04-29 18:20:19 -0700</date>
            <delta_ts>2020-04-29 19:14:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211214-20200429212018.patch</filename>
            <type>text/plain</type>
            <size>22675</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRkMGZhZmJmZDg0MDUx
NTk1YmU5MTk4MDViNjY1NzZhZjE5NWVjNi4uYWEzODMxMWYxYjQ0OTVmY2ZmMDRiYzExMTRlOGNj
YTdlMGFhMThmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA0LTI5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2lu
ZyBvZiBBWElzb2xhdGVkVHJlZSBhbmQgQVhOb3RpZmljYXRpb25zLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBBZGRlZCBvcGVyYXRvcjw8IGltcGxl
bWVudGF0aW9ucyBmb3IgQVhJc29sYXRlZFRyZWUgYW5kIEFYIG5vdGlmaWNhdGlvbnMuCisgICAg
ICAgIC0gQWRkZWQgY29ycmVzcG9uZGluZyBBWExvZ2dlcjo6bG9nIG92ZXJsb2FkcyBmb3IgdGhl
IGFib3ZlIHR5cGVzLgorICAgICAgICAtIFRvIHNldCB0aGUgcm9vdCBub2RlIGFuZCB0aGUgZm9j
dXNlZCBub2RlIHdlIGFyZSBub3cgYWx3YXlzIHVzaW5nCisgICAgICAgIHNldFJvb3ROb2RlSUQg
YW5kIHNldEZvY3VzZWROb2RlSUQgcmVzcGVjdGl2ZWx5LiBUaGVyZWZvcmUsIGJlZm9yZQorICAg
ICAgICByZXR1cm5pbmcgdGhlIHJvb3Qgb3IgdGhlIGZvY3VzZWQgbm9kZXMsIGl0IGlzIG5lY2Vz
c2FyeSB0byBhcHBseVBlbmRpbmdDaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
WExvZ2dlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWExvZ2dlcjo6YWRkKTogVXNlZCBmb3Ig
cmVjdXJzaXZlIGxvZ2dpbmcgb2YgdGhlIGhpZXJhcmNoeS4KKyAgICAgICAgKFdlYkNvcmU6OkFY
TG9nZ2VyOjpsb2cpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIEFkZGVkIGxvZ2dpbmcgb2YgdGhlIGlzb2xhdGVkIHRyZWUg
d2hlbiBpdCdzIGdlbmVyYXRlZCBhbmQgYmVmb3JlIGFuZCBhZnRlciB1cGRhdGVzLgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZE9iamVjdDo6Zm9jdXNlZFVJRWxlbWVudCBjb25zdCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnJlbW92ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6Z2VuZXJhdGVTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjpmb2N1c2VkTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNl
dFJvb3ROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNldEZvY3Vz
ZWROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGlu
Z0NoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmZvY3VzZWRVSUVs
ZW1lbnQpOiBSZW5hbWVkIGZvY3VzZWROb2RlIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6c2V0Um9vdE5vZGUpOiBEZWxldGVkLiBVc2lu
ZyBzZXRSb290Tm9kZUlEIGluc3RlYWQsCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZTo6c2V0Rm9jdXNlZE5vZGUpOiBEZWxldGVkLiBVc2Ugc2V0Rm9jdXNlZE5vZGVJRCBpbnN0ZWFk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUlEIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6IHJlbmFt
ZWQgdHJlZUlEIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisKIDIwMjAtMDQtMjMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azIgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnQtb25jbG9zZS5odG1sIGlz
IGZsYWt5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYTG9nZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3Bw
CmluZGV4IDYwOWYyMzIyNDRlZTk0YmEwNmU4ZWUxZmMyYTIxZTJlNmZmNTYxZjIuLmRkOGNmYmEz
NWEzOTY0OWMwZGMzMjk4YTNjYTIwYWZmNDhiNzRkYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC02Niw2ICs2NiwzNSBAQCB2b2lkIEFYTG9nZ2VyOjps
b2coY29uc3QgQVhDb3JlT2JqZWN0JiBvYmplY3QpCiAgICAgTE9HKEFjY2Vzc2liaWxpdHksICIl
cyIsIHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7CiB9CiAKK3ZvaWQgQVhMb2dnZXI6
OmFkZChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IFJlZlB0cjxBWENvcmVPYmplY3Q+JiBvYmpl
Y3QsIGJvb2wgcmVjdXJzaXZlKQoreworICAgIGlmICghb2JqZWN0KQorICAgICAgICByZXR1cm47
CisKKyAgICBzdHJlYW0uaW5jcmVhc2VJbmRlbnQoKTsKKyAgICBzdHJlYW0gPDwgKm9iamVjdDsK
KworICAgIGlmIChyZWN1cnNpdmUpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6IG9iamVj
dC0+Y2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGFkZChzdHJlYW0sIGNoaWxkLCB0cnVlKTsKKyAg
ICB9CisgICAgc3RyZWFtLmRlY3JlYXNlSW5kZW50KCk7Cit9CisKK3ZvaWQgQVhMb2dnZXI6Omxv
Zyhjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uPiYgbm90aWZpY2F0aW9uKQoreworICAgIFRleHRTdHJlYW0gc3RyZWFtKFRl
eHRTdHJlYW06OkxpbmVNb2RlOjpNdWx0aXBsZUxpbmUpOworICAgIHN0cmVhbSA8PCAiTm90aWZp
Y2F0aW9uICIgPDwgbm90aWZpY2F0aW9uLnNlY29uZCA8PCAiIGZvciBvYmplY3QgIiA8PCAqbm90
aWZpY2F0aW9uLmZpcnN0OworICAgIExPRyhBY2Nlc3NpYmlsaXR5LCAiJXMiLCBzdHJlYW0ucmVs
ZWFzZSgpLnV0ZjgoKS5kYXRhKCkpOworfQorCit2b2lkIEFYTG9nZ2VyOjpsb2coQVhJc29sYXRl
ZFRyZWUmIHRyZWUpCit7CisgICAgVGV4dFN0cmVhbSBzdHJlYW0oVGV4dFN0cmVhbTo6TGluZU1v
ZGU6Ok11bHRpcGxlTGluZSk7CisgICAgc3RyZWFtIDw8IHRyZWU7CisgICAgTE9HKEFjY2Vzc2li
aWxpdHksICIlcyIsIHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7Cit9CisKIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlKQogewogICAgIHN3aXRjaCAocm9sZSkgewpAQCAtNTI3LDEyICs1NTYsMTIyIEBAIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlKQogICAgIHJldHVybiBzdHJlYW07CiB9CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4
dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRp
b24pCit7CisgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICBjYXNlIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uOjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgorICAgICAgICBz
dHJlYW0gPDwgIkFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEF1dG9jb3JyZWN0aW9uT2Nj
dXJlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEF1dG9jb3JyZWN0aW9uT2NjdXJlZCI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYQ2hl
Y2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWENoZWNrZWRTdGF0ZUNoYW5n
ZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0
aW9uOjpBWENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWENoaWxkcmVuQ2hh
bmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb246OkFYQ3VycmVudENoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhDdXJyZW50Q2hh
bmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb246OkFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhEaXNh
YmxlZFN0YXRlQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNo
ZTo6QVhOb3RpZmljYXRpb246OkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTGF5b3V0Q29tcGxldGU6Cisg
ICAgICAgIHN0cmVhbSA8PCAiQVhMYXlvdXRDb21wbGV0ZSI7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTG9hZENvbXBsZXRlOgorICAg
ICAgICBzdHJlYW0gPDwgIkFYTG9hZENvbXBsZXRlIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhOZXdEb2N1bWVudExvYWRDb21wbGV0
ZToKKyAgICAgICAgc3RyZWFtIDw8ICJBWE5ld0RvY3VtZW50TG9hZENvbXBsZXRlIjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhTZWxl
Y3RlZENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5v
dGlmaWNhdGlvbjo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFY
U2VsZWN0ZWRUZXh0Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb246OkFYVmFsdWVDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYVmFsdWVDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hl
OjpBWE5vdGlmaWNhdGlvbjo6QVhTY3JvbGxlZFRvQW5jaG9yOgorICAgICAgICBzdHJlYW0gPDwg
IkFYU2Nyb2xsZWRUb0FuY2hvciI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb246OkFYTGl2ZVJlZ2lvbkNyZWF0ZWQ6CisgICAgICAgIHN0cmVh
bSA8PCAiQVhMaXZlUmVnaW9uQ3JlYXRlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhP
YmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTGl2ZVJlZ2lvbkNoYW5nZWQ6CisgICAgICAg
IHN0cmVhbSA8PCAiQVhMaXZlUmVnaW9uQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTWVudUxpc3RJdGVtU2VsZWN0ZWQ6
CisgICAgICAgIHN0cmVhbSA8PCAiQVhNZW51TGlzdEl0ZW1TZWxlY3RlZCI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTWVudUxpc3RW
YWx1ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhNZW51TGlzdFZhbHVlQ2hhbmdlZCI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246
OkFYTWVudUNsb3NlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWE1lbnVDbG9zZWQiOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVP
cGVuZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhNZW51T3BlbmVkIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhSb3dDb3VudENoYW5n
ZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhSb3dDb3VudENoYW5nZWQiOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFJvd0NvbGxhcHNl
ZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFJvd0NvbGxhcHNlZCI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUm93RXhwYW5kZWQ6Cisg
ICAgICAgIHN0cmVhbSA8PCAiQVhSb3dFeHBhbmRlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYRXhwYW5kZWRDaGFuZ2VkOgorICAg
ICAgICBzdHJlYW0gPDwgIkFYRXhwYW5kZWRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhJbnZhbGlkU3RhdHVzQ2hhbmdl
ZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWEludmFsaWRTdGF0dXNDaGFuZ2VkIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhQcmVzc0Rp
ZFN1Y2NlZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhQcmVzc0RpZFN1Y2NlZWQiOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFByZXNz
RGlkRmFpbDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFByZXNzRGlkRmFpbCI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUHJlc3NlZFN0
YXRlQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFByZXNzZWRTdGF0ZUNoYW5nZWQiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpB
WFJlYWRPbmx5U3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFJlYWRPbmx5U3Rh
dHVzQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhO
b3RpZmljYXRpb246OkFYUmVxdWlyZWRTdGF0dXNDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYUmVxdWlyZWRTdGF0dXNDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9i
amVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhUZXh0Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFt
IDw8ICJBWFRleHRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhBcmlhQXR0cmlidXRlQ2hhbmdlZDoKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWEFyaWFBdHRyaWJ1dGVDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhFbGVtZW50QnVzeUNoYW5nZWQ6Cisg
ICAgICAgIHN0cmVhbSA8PCAiQVhFbGVtZW50QnVzeUNoYW5nZWQiOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3RyZWFt
OworfQorCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3Qg
QVhDb3JlT2JqZWN0JiBvYmplY3QpCiB7CiAgICAgVGV4dFN0cmVhbTo6R3JvdXBTY29wZSBncm91
cFNjb3BlKHN0cmVhbSk7Ci0gICAgc3RyZWFtIDw8ICJBWENvcmVPYmplY3QgIiA8PCAmb2JqZWN0
OwotICAgIHN0cmVhbS5kdW1wUHJvcGVydHkoIm9iamVjdElEIiwgb2JqZWN0Lm9iamVjdElEKCkp
OworICAgIHN0cmVhbSA8PCAib2JqZWN0SUQgIiA8PCBvYmplY3Qub2JqZWN0SUQoKTsKKyAgICBz
dHJlYW0uZHVtcFByb3BlcnR5KCJpZGVudGlmaWVyQXR0cmlidXRlIiwgb2JqZWN0LmlkZW50aWZp
ZXJBdHRyaWJ1dGUoKSk7CiAgICAgc3RyZWFtLmR1bXBQcm9wZXJ0eSgicm9sZVZhbHVlIiwgb2Jq
ZWN0LnJvbGVWYWx1ZSgpKTsKKyAgICBzdHJlYW0uZHVtcFByb3BlcnR5KCJhZGRyZXNzIiwgJm9i
amVjdCk7CiAKICAgICBhdXRvKiBwYXJlbnQgPSBvYmplY3QucGFyZW50T2JqZWN0KCk7CiAgICAg
c3RyZWFtLmR1bXBQcm9wZXJ0eSgicGFyZW50T2JqZWN0IiwgcGFyZW50ID8gcGFyZW50LT5vYmpl
Y3RJRCgpIDogMCk7CkBAIC01NDMsNCArNjgyLDE0IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwo
VGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBBWENvcmVPYmplY3QmIG9iamVjdCkKICAgICByZXR1
cm4gc3RyZWFtOwogfQogCitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVh
bSwgQVhJc29sYXRlZFRyZWUmIHRyZWUpCit7CisgICAgVGV4dFN0cmVhbTo6R3JvdXBTY29wZSBn
cm91cFNjb3BlKHN0cmVhbSk7CisgICAgc3RyZWFtIDw8ICJ0cmVlSUQgIiA8PCB0cmVlLnRyZWVJ
RCgpOworICAgIHN0cmVhbS5kdW1wUHJvcGVydHkoInJvb3ROb2RlSUQiLCB0cmVlLm1fcm9vdE5v
ZGVJRCk7CisgICAgc3RyZWFtLmR1bXBQcm9wZXJ0eSgiZm9jdXNlZE5vZGVJRCIsIHRyZWUubV9m
b2N1c2VkTm9kZUlEKTsKKyAgICBBWExvZ2dlcjo6YWRkKHN0cmVhbSwgdHJlZS5yb290Tm9kZSgp
LCB0cnVlKTsKKyAgICByZXR1cm4gc3RyZWFtOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmgKaW5kZXggZjE3ZjdjZjI4NzIz
NjRhNjA5ZDZjMGNhMGQxODM2NDY0ZTU5NzMwYi4uZTYzZTM4ZWM3ZmVkZWU0NmY2ZDY3NjljMzIz
ZDgxNDZjYzM3MzRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WExvZ2dlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuaApA
QCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM0LDggKzM1LDExIEBAIHB1YmxpYzoKICAgICBBWExvZ2dlcigp
ID0gZGVmYXVsdDsKICAgICBBWExvZ2dlcihjb25zdCBTdHJpbmcmIG1ldGhvZE5hbWUpOwogICAg
IH5BWExvZ2dlcigpOwotICAgIHZvaWQgbG9nKGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgbG9n
KGNvbnN0IEFYQ29yZU9iamVjdCYpOworICAgIHN0YXRpYyB2b2lkIGxvZyhjb25zdCBTdHJpbmcm
KTsKKyAgICBzdGF0aWMgdm9pZCBsb2coY29uc3QgQVhDb3JlT2JqZWN0Jik7CisgICAgc3RhdGlj
IHZvaWQgbG9nKGNvbnN0IHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWN0PiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24+Jik7CisgICAgc3RhdGljIHZvaWQgbG9nKEFYSXNvbGF0ZWRU
cmVlJik7CisgICAgc3RhdGljIHZvaWQgYWRkKFRleHRTdHJlYW0mLCBjb25zdCBSZWZQdHI8QVhD
b3JlT2JqZWN0PiYsIGJvb2wgcmVjdXJzaXZlID0gZmFsc2UpOwogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9tZXRob2ROYW1lOwogfTsKQEAgLTQ1LDggKzQ5LDcgQEAgcHJpdmF0ZToKICNkZWZpbmUg
QVhMT0coeCkgKHZvaWQpMAogI2Vsc2UKICNkZWZpbmUgQVhUUkFDRShtZXRob2ROYW1lKSBBWExv
Z2dlciBheExvZ2dlcihtZXRob2ROYW1lKQotI2RlZmluZSBBWExPRyh4KSBBWExvZ2dlciBsb2dn
ZXI7IFwKLSAgICBsb2dnZXIubG9nKHgpCisjZGVmaW5lIEFYTE9HKHgpIEFYTG9nZ2VyOjpsb2co
eCkKICNlbmRpZiAvLyBMT0dfRElTQUJMRUQKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggNjQ5
NTJiMzUzNTlmZWY3MDVkZDcwYTQ2MDYxYjIzMTVlNTIyYmVlMy4uZTgxOGVmZDFiOWYyNGUyOWY3
Njc1ZGUxODNkYmY5M2M0NGRmMzU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0zNzksNyArMzc5LDcgQEAgQVhDb3JlT2JqZWN0KiBB
WE9iamVjdENhY2hlOjpmb2N1c2VkT2JqZWN0KERvY3VtZW50JiBkb2N1bWVudCkKIEFYQ29yZU9i
amVjdCogQVhPYmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdCgpCiB7CiAgICAg
aWYgKGF1dG8gdHJlZSA9IGdldE9yQ3JlYXRlSXNvbGF0ZWRUcmVlKCkpCi0gICAgICAgIHJldHVy
biB0cmVlLT5mb2N1c2VkVUlFbGVtZW50KCkuZ2V0KCk7CisgICAgICAgIHJldHVybiB0cmVlLT5m
b2N1c2VkTm9kZSgpLmdldCgpOwogCiAgICAgLy8gU2hvdWxkIG5vdCBnZXQgaGVyZSwgY291bGRu
J3QgY3JlYXRlIHRoZSBJc29sYXRlZFRyZWUuCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBA
IC0zMDc4LDYgKzMwNzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENh
Y2hlVXBkYXRlKCkKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogUmVm
PEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZShQYWdl
SWRlbnRpZmllciBwYWdlSUQsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKKyAgICBBWFRSQUNFKCJB
WE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSIpOwogICAgIFJFTEVBU0VfQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKIAogICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZShBWElz
b2xhdGVkVHJlZTo6Y3JlYXRlVHJlZUZvclBhZ2VJRChwYWdlSUQpKTsKQEAgLTMwOTUsMTkgKzMw
OTYsMjMgQEAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xh
dGVkVHJlZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIEQKIAogICAgIGF1dG8qIGF4Rm9jdXMgPSBh
eE9iamVjdENhY2hlLT5mb2N1c2VkT2JqZWN0KGRvY3VtZW50KTsKICAgICBpZiAoYXhGb2N1cykK
LSAgICAgICAgdHJlZS0+c2V0Rm9jdXNlZE5vZGUoYXhGb2N1cy0+b2JqZWN0SUQoKSk7CisgICAg
ICAgIHRyZWUtPnNldEZvY3VzZWROb2RlSUQoYXhGb2N1cy0+b2JqZWN0SUQoKSk7CiAKKyAgICBB
WExPRygqdHJlZSk7CiAgICAgcmV0dXJuIG1ha2VSZWYoKnRyZWUpOwogfQogCiB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShBWENvcmVPYmplY3QmIG9iamVjdCwgQVhOb3Rp
ZmljYXRpb24gbm90aWZpY2F0aW9uKQogeworICAgIEFYVFJBQ0UoIkFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZSIpOworICAgIEFYTE9HKHN0ZDo6bWFrZV9wYWlyKCZvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgIGlmICghbV9wYWdlSUQpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAg
ICAgaWYgKCF0cmVlKQogICAgICAgICByZXR1cm47CisgICAgQVhMT0coKnRyZWUpOwogCiAgICAg
c3dpdGNoIChub3RpZmljYXRpb24pIHsKICAgICBjYXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoK
QEAgLTMxMjAsNiArMzEyNSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRU
cmVlKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpCiAgICAgZGVmYXVs
dDoKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIEFYTE9HKCp0cmVlKTsKIH0KIAogLy8gRklY
TUU6IHNob3VsZCBiZSBhZGRlZCB0byBXVEY6OlZlY3Rvci4KQEAgLTMxMzQsMTcgKzMxNDAsMjAg
QEAgc3RhdGljIGJvb2wgYXBwZW5kSWZOb3RDb250YWluc01hdGNoaW5nKFZlY3RvcjxUPiYgdmVj
dG9yLCBjb25zdCBUJiB2YWx1ZSwgRiBtYXQKIAogdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJ
c29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWN0Piwg
QVhOb3RpZmljYXRpb24+PiYgbm90aWZpY2F0aW9ucykKIHsKKyAgICBBWFRSQUNFKCJBWE9iamVj
dENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUiKTsKICAgICBpZiAoIW1fcGFnZUlEKQogICAgICAg
ICByZXR1cm47CiAKICAgICBhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJ
RCgqbV9wYWdlSUQpOwogICAgIGlmICghdHJlZSkKICAgICAgICAgcmV0dXJuOworICAgIEFYTE9H
KCp0cmVlKTsKIAogICAgIC8vIEZpbHRlciBvdXQgbXVsdGlwbGUgbm90aWZpY2F0aW9ucyBmb3Ig
dGhlIHNhbWUgb2JqZWN0LiBUaGlzIGF2b2lkcwogICAgIC8vIHVwZGF0aW5nIHRoZSBpc29sYXRl
ZCB0cmVlIG11bHRpcGxlIHRpbWVzIHVubmVjZXNzYXJpbHkuCiAgICAgVmVjdG9yPHN0ZDo6cGFp
cjxSZWZQdHI8QVhDb3JlT2JqZWN0PiwgQVhOb3RpZmljYXRpb24+PiBmaWx0ZXJlZE5vdGlmaWNh
dGlvbnM7CiAgICAgZm9yIChjb25zdCBhdXRvJiBub3RpZmljYXRpb24gOiBub3RpZmljYXRpb25z
KSB7CisgICAgICAgIEFYTE9HKG5vdGlmaWNhdGlvbik7CiAgICAgICAgIGlmICghbm90aWZpY2F0
aW9uLmZpcnN0IHx8IG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSA9PSBJbnZhbGlkQVhJ
RCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0zMTczLDYgKzMxODIsNyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJl
ZlB0cjxBWENvcmVPYmplYwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Cisg
ICAgQVhMT0coKnRyZWUpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggYTE0MTE5NDMyYzU4MGRhMDQ4NzJiMjU0OWI2NjAy
YTk1OGFjMDE4OC4uNDc3Nzk0Y2Y1ZDM3NTc2NzI3MmZkYjFkZDMzM2VhOTY3NWE3Y2Q5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTQyLDYg
KzQyLDEwIEBACiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogI2VuZGlmCiAKK25hbWVz
cGFjZSBXVEYgeworY2xhc3MgVGV4dFN0cmVhbTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBEb2N1bWVudDsKQEAgLTYxOCw0ICs2MjIsNiBAQCBpbmxpbmUgQVhBdHRyaWJ1dGVD
YWNoZUVuYWJsZXI6On5BWEF0dHJpYnV0ZUNhY2hlRW5hYmxlcigpIHsgfQogCiAjZW5kaWYKIAor
V1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmNwcAppbmRleCBmMTAyOWIxZTMwYzJjZGQyMWY3YTdkYzg4MDE4OGM1NzFi
N2JkMzNkLi43ODkwOTA5YTgyZDgyY2JlMWQ4ODQ5MGQ0MDA3Yjk3N2YxMTcyMzgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNTgyLDcgKzU4Miw3IEBAIHZvaWQgQVhJc29sYXRl
ZE9iamVjdDo6bWF0aFBvc3RzY3JpcHRzKEFjY2Vzc2liaWxpdHlNYXRoTXVsdGlzY3JpcHRQYWly
cyYgcGFpcnMpCiAKIEFYQ29yZU9iamVjdCogQVhJc29sYXRlZE9iamVjdDo6Zm9jdXNlZFVJRWxl
bWVudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHRyZWUoKS0+Zm9jdXNlZFVJRWxlbWVudCgpLmdl
dCgpOworICAgIHJldHVybiB0cmVlKCktPmZvY3VzZWROb2RlKCkuZ2V0KCk7CiB9CiAgICAgCiBB
WENvcmVPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKaW5kZXggMmNjZTBhMTljOWJlN2ViNDc3ODVmYWI0
ZTMyNzg0YjIwOTA4NzE5MS4uY2NmYzZjMGIzMmZhYjM3YzkwODgwMzgyMzczYzRkNjNlZDdhNmI2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZjxBWElz
b2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoUGFnZUlkZW50
aWZpZXIgcGFnZUlEKQogCiAgICAgYXV0byBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0
ZSgpOwogICAgIHRyZWVQYWdlQ2FjaGUoKS5zZXQocGFnZUlELCBuZXdUcmVlLmNvcHlSZWYoKSk7
Ci0gICAgdHJlZUlEQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJl
ZS5jb3B5UmVmKCkpOworICAgIHRyZWVJRENhY2hlKCkuc2V0KG5ld1RyZWUtPnRyZWVJRCgpLCBu
ZXdUcmVlLmNvcHlSZWYoKSk7CiAgICAgcmV0dXJuIG5ld1RyZWU7CiB9CiAKQEAgLTEyMyw3ICsx
MjMsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVUcmVlRm9yUGFnZUlEKFBhZ2VJZGVu
dGlmaWVyIHBhZ2VJRCkKICAgICAgICAgdHJlZS0+c2V0QVhPYmplY3RDYWNoZShudWxscHRyKTsK
ICAgICAgICAgdHJlZUxvY2tlci51bmxvY2tFYXJseSgpOwogCi0gICAgICAgIHRyZWVJRENhY2hl
KCkucmVtb3ZlKHRyZWUtPnRyZWVJZGVudGlmaWVyKCkpOworICAgICAgICB0cmVlSURDYWNoZSgp
LnJlbW92ZSh0cmVlLT50cmVlSUQoKSk7CiAgICAgfQogfQogCkBAIC0xNDAsNyArMTQwLDYgQEAg
UmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChQYWdl
SWRlbnRpZmllciBwYWdlSUQpCiAKIFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVk
VHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKIHsKLSAgICBBWFRSQUNFKCJBWElzb2xh
dGVkVHJlZTo6bm9kZUZvcklEIik7CiAgICAgcmV0dXJuIGF4SUQgIT0gSW52YWxpZEFYSUQgPyBt
X3JlYWRlclRocmVhZE5vZGVNYXAuZ2V0KGF4SUQpIDogbnVsbHB0cjsKIH0KIApAQCAtMTY3LDcg
KzE2Niw3IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OmdlbmVyYXRlU3VidHJlZShBWENvcmVPYmpl
Y3QmIGF4T2JqZWN0LCBBWElEIHBhcmVudElELCBib29sCiAgICAgYXBwZW5kTm9kZUNoYW5nZXMo
bm9kZUNoYW5nZXMpOwogCiAgICAgaWYgKHBhcmVudElEID09IEludmFsaWRBWElEKQotICAgICAg
ICBzZXRSb290Tm9kZShvYmplY3QpOworICAgICAgICBzZXRSb290Tm9kZUlEKG9iamVjdC0+b2Jq
ZWN0SUQoKSk7CiAgICAgLy8gRklYTUU6IGVsc2UgYXR0YWNoIHRoZSBuZXdseSBjcmVhdGVkIHN1
YnRyZWUgdG8gaXRzIHBhcmVudC4KIH0KIApAQCAtMjY0LDUxICsyNjMsMzggQEAgdm9pZCBBWElz
b2xhdGVkVHJlZTo6dXBkYXRlQ2hpbGRyZW4oQVhDb3JlT2JqZWN0JiBheE9iamVjdCkKICAgICB9
CiB9CiAKLVJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6Zm9jdXNlZFVJ
RWxlbWVudCgpCitSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gQVhJc29sYXRlZFRyZWU6OmZvY3Vz
ZWROb2RlKCkKIHsKICAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6Zm9jdXNlZFVJRWxlbWVu
dCIpOworICAgIC8vIEFwcGx5IHBlbmRpbmcgY2hhbmdlcyBpbiBjYXNlIGZvY3VzIGhhcyBjaGFu
Z2VkIGFuZCBoYXNuJ3QgYmVlbiB1cGRhdGVkLgorICAgIGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsK
KyAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OworICAgIEFYTE9HKG1h
a2VTdHJpbmcoImZvY3VzZWROb2RlSUQgIiwgbV9mb2N1c2VkTm9kZUlEKSk7CiAgICAgcmV0dXJu
IG5vZGVGb3JJRChtX2ZvY3VzZWROb2RlSUQpOwogfQotICAgIAorCiBSZWZQdHI8QVhJc29sYXRl
ZE9iamVjdD4gQVhJc29sYXRlZFRyZWU6OnJvb3ROb2RlKCkKIHsKICAgICBBWFRSQUNFKCJBWElz
b2xhdGVkVHJlZTo6cm9vdE5vZGUiKTsKKyAgICAvLyBBcHBseSBwZW5kaW5nIGNoYW5nZXMgaW4g
Y2FzZSB0aGUgcm9vdCBub2RlIGlzIGluIHRoZSBwZW5kaW5nIGNoYW5nZXMuCisgICAgYXBwbHlQ
ZW5kaW5nQ2hhbmdlcygpOworICAgIExvY2tIb2xkZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2Nr
IH07CiAgICAgcmV0dXJuIG5vZGVGb3JJRChtX3Jvb3ROb2RlSUQpOwogfQogCi12b2lkIEFYSXNv
bGF0ZWRUcmVlOjpzZXRSb290Tm9kZShSZWY8QVhJc29sYXRlZE9iamVjdD4mIHJvb3QpCi17Ci0g
ICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OnNldFJvb3ROb2RlIik7Ci0gICAgTG9ja0hvbGRl
ciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKLSAgICBtX3Jvb3ROb2RlSUQgPSByb290LT5v
YmplY3RJRCgpOwotICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5hZGQocm9vdC0+b2JqZWN0SUQo
KSwgV1RGTW92ZShyb290KSk7Ci19Ci0gICAgCi12b2lkIEFYSXNvbGF0ZWRUcmVlOjpzZXRGb2N1
c2VkTm9kZShBWElEIGF4SUQpCit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpzZXRSb290Tm9kZUlEKEFY
SUQgYXhJRCkKIHsKLSAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6c2V0Rm9jdXNlZE5vZGUi
KTsKKyAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6c2V0Um9vdE5vZGVJRCIpOwogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxv
Z0xvY2sgfTsKLSAgICBtX2ZvY3VzZWROb2RlSUQgPSBheElEOwotICAgIGlmIChheElEID09IElu
dmFsaWRBWElEKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9yZWFkZXJUaHJlYWROb2Rl
TWFwLmNvbnRhaW5zKG1fZm9jdXNlZE5vZGVJRCkpCi0gICAgICAgIHJldHVybjsgLy8gTm90aGlu
ZyB0byBkbywgdGhlIGZvY3VzIGlzIHNldC4KLQotICAgIC8vIElmIHRoZSBmb2N1c2VkIG9iamVj
dCBpcyBpbiB0aGUgcGVuZGluZyBhcHBlbmRzLCBhZGQgaXQgdG8gdGhlIHJlYWRlcgotICAgIC8v
IG1hcCwgc28gdGhhdCB3ZSBjYW4gcmV0dXJuIHRoZSByaWdodCBmb2N1c2VkIG9iamVjdCBpZiBy
ZXF1ZXN0ZWQgYmVmb3JlCi0gICAgLy8gcGVuZGluZyBhcHBlbmRzIGFyZSBhcHBsaWVkLgotICAg
IGZvciAoY29uc3QgYXV0byYgaXRlbSA6IG1fcGVuZGluZ0FwcGVuZHMpIHsKLSAgICAgICAgaWYg
KGl0ZW0ubV9pc29sYXRlZE9iamVjdC0+b2JqZWN0SUQoKSA9PSBtX2ZvY3VzZWROb2RlSUQKLSAg
ICAgICAgICAgICYmIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5hZGQobV9mb2N1c2VkTm9kZUlELCBp
dGVtLm1faXNvbGF0ZWRPYmplY3QuZ2V0KCkpICYmIGl0ZW0ubV93cmFwcGVyKQotICAgICAgICAg
ICAgbV9yZWFkZXJUaHJlYWROb2RlTWFwLmdldChtX2ZvY3VzZWROb2RlSUQpLT5hdHRhY2hQbGF0
Zm9ybVdyYXBwZXIoaXRlbS5tX3dyYXBwZXIuZ2V0KCkpOwotICAgIH0KKyAgICBtX3Jvb3ROb2Rl
SUQgPSBheElEOwogfQogCiB2b2lkIEFYSXNvbGF0ZWRUcmVlOjpzZXRGb2N1c2VkTm9kZUlEKEFY
SUQgYXhJRCkKIHsKICAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6c2V0Rm9jdXNlZE5vZGVJ
RCIpOworICAgIEFYTE9HKG1ha2VTdHJpbmcoImF4SUQgIiwgYXhJRCkpOworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sg
fTsKICAgICBtX3BlbmRpbmdGb2N1c2VkTm9kZUlEID0gYXhJRDsKIH0KQEAgLTMzNywxMyArMzIz
LDEzIEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKGNvbnN0IFZlY3Rv
cjxOb2RlQ2hhbmdlPiYgY2hhbmdlcykKIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGlu
Z0NoYW5nZXMoKQogewogICAgIEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjphcHBseVBlbmRpbmdD
aGFuZ2VzIik7Ci0gICAgUkVMRUFTRV9BU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKICAgICBMb2Nr
SG9sZGVyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OwogCiAgICAgbV9mb2N1c2VkTm9kZUlE
ID0gbV9wZW5kaW5nRm9jdXNlZE5vZGVJRDsKIAogICAgIHdoaWxlIChtX3BlbmRpbmdOb2RlUmVt
b3ZhbHMuc2l6ZSgpKSB7CiAgICAgICAgIGF1dG8gYXhJRCA9IG1fcGVuZGluZ05vZGVSZW1vdmFs
cy50YWtlTGFzdCgpOworICAgICAgICBBWExPRyhtYWtlU3RyaW5nKCJyZW1vdmluZyBheElEICIs
IGF4SUQpKTsKICAgICAgICAgaWYgKGF4SUQgPT0gSW52YWxpZEFYSUQpCiAgICAgICAgICAgICBj
b250aW51ZTsKIApAQCAtMzUzLDYgKzMzOSw3IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5
UGVuZGluZ0NoYW5nZXMoKQogCiAgICAgd2hpbGUgKG1fcGVuZGluZ1N1YnRyZWVSZW1vdmFscy5z
aXplKCkpIHsKICAgICAgICAgYXV0byBheElEID0gbV9wZW5kaW5nU3VidHJlZVJlbW92YWxzLnRh
a2VMYXN0KCk7CisgICAgICAgIEFYTE9HKG1ha2VTdHJpbmcoInJlbW92aW5nIHN1YnRyZWUgYXhJ
RCAiLCBheElEKSk7CiAgICAgICAgIGlmIChheElEID09IEludmFsaWRBWElEKQogICAgICAgICAg
ICAgY29udGludWU7CiAKQEAgLTM2Nyw2ICszNTQsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjph
cHBseVBlbmRpbmdDaGFuZ2VzKCkKICAgICAgICAgQVNTRVJUKChpdGVtLm1faXNvbGF0ZWRPYmpl
Y3QtPndyYXBwZXIoKSB8fCBpdGVtLm1fd3JhcHBlcikKICAgICAgICAgICAgICYmICEoaXRlbS5t
X2lzb2xhdGVkT2JqZWN0LT53cmFwcGVyKCkgJiYgaXRlbS5tX3dyYXBwZXIpKTsKICAgICAgICAg
QVhJRCBheElEID0gaXRlbS5tX2lzb2xhdGVkT2JqZWN0LT5vYmplY3RJRCgpOworICAgICAgICBB
WExPRyhtYWtlU3RyaW5nKCJhcHBlbmRpbmcgYXhJRCAiLCBheElEKSk7CiAgICAgICAgIGlmIChh
eElEID09IEludmFsaWRBWElEKQogICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5oCmluZGV4IGM0MDU1MzhhZGE0YjkyNzQwNDNjMmI3MDgwYmRmZWUxZTQ5YjI2MDguLjUx
MzQ2MWU4MzJhMjY3YmJhZmI2ZTQxMjMxZGZlZjVlMGE4MmI5NTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuaApAQCAtMzMsNiArMzMsMTAgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3Mg
VGV4dFN0cmVhbTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBWElzb2xhdGVk
T2JqZWN0OwpAQCAtNDMsNyArNDcsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRUcmVl
SUQ7CiAKIGNsYXNzIEFYSXNvbGF0ZWRUcmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PEFYSXNvbGF0ZWRUcmVlPiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRy
ZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLQorICAgIGZyaWVuZCBXVEY6OlRleHRTdHJl
YW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgQVhJc29sYXRlZFRyZWUmKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKICAgICB2aXJ0dWFs
IH5BWElzb2xhdGVkVHJlZSgpOwpAQCAtNTcsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRBWE9iamVjdENhY2hlKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUpIHsgbV9heE9iamVj
dENhY2hlID0gYXhPYmplY3RDYWNoZTsgfQogCiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+
IHJvb3ROb2RlKCk7Ci0gICAgUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IGZvY3VzZWRVSUVsZW1l
bnQoKTsKKyAgICBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gZm9jdXNlZE5vZGUoKTsKICAgICBS
ZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gbm9kZUZvcklEKEFYSUQpIGNvbnN0OwogICAgIHN0YXRp
YyBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gbm9kZUluVHJlZUZvcklEKEFYSXNvbGF0ZWRUcmVl
SUQsIEFYSUQpOwogICAgIFZlY3RvcjxSZWZQdHI8QVhDb3JlT2JqZWN0Pj4gb2JqZWN0c0ZvcklE
cyhWZWN0b3I8QVhJRD4pIGNvbnN0OwpAQCAtNzksMTkgKzgzLDE3IEBAIHB1YmxpYzoKICAgICAv
LyBSZW1vdmVzIHRoZSBnaXZlbiBub2RlIGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzLgogICAgIHZv
aWQgcmVtb3ZlU3VidHJlZShBWElEKTsKIAotICAgIC8vIEJvdGggc2V0Um9vdE5vZGUgYW5kIHNl
dEZvY3VzZWROb2RlIG11c3QgYmUgY2FsbGVkIG9ubHkgZHVyaW5nIHRoZQotICAgIC8vIGdlbmVy
YXRpb24gb2YgdGhlIElzb2xhdGVkVHJlZS4KLSAgICAvLyBUaGUgZm9jdXNlZCBub2RlIG5lZWRz
IHRvIGJlIHNldCBkdXJpbmcgdGhlIGdlbmVyYXRpb24gYmVjYXVzZSBhIHJlcXVlc3QKLSAgICAv
LyBmb3IgaXQgY2FuIGNvbWUgaW4gYmVmb3JlIHBlbmRpbmcgY2hhbmdlcyBhcmUgYXBwbGllZC4g
Rm9yIGZvY3VzZWQgbm9kZQotICAgIC8vIHVwZGF0ZXMsIHVzZSBzZXRGb2N1c05vZGVJRC4KLSAg
ICB2b2lkIHNldFJvb3ROb2RlKFJlZjxBWElzb2xhdGVkT2JqZWN0PiYpOwotICAgIHZvaWQgc2V0
Rm9jdXNlZE5vZGUoQVhJRCk7CisgICAgLy8gQm90aCBzZXRSb290Tm9kZUlEIGFuZCBzZXRGb2N1
c2VkTm9kZUlEIGFyZSBjYWxsZWQgZHVyaW5nIHRoZSBnZW5lcmF0aW9uCisgICAgLy8gb2YgdGhl
IElzb2xhdGVkVHJlZS4KKyAgICAvLyBGb2N1c2VkIG5vZGUgdXBkYXRlcyBpbiBBWE9iamVjdENh
Y2hlIHVzZSBzZXRGb2N1c05vZGVJRC4KKyAgICB2b2lkIHNldFJvb3ROb2RlSUQoQVhJRCk7CiAg
ICAgdm9pZCBzZXRGb2N1c2VkTm9kZUlEKEFYSUQpOwogCi0gICAgLy8gQ2FsbCBvbiBBWCB0aHJl
YWQKKyAgICAvLyBDYWxsZWQgb24gQVggdGhyZWFkIGZyb20gV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIgbWV0aG9kcy4KKyAgICAvLyBEdXJpbmcgbGF5b3V0IHRlc3RzLCBpdCBpcyBjYWxs
ZWQgb24gdGhlIG1haW4gdGhyZWFkLgogICAgIHZvaWQgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOwog
Ci0gICAgQVhJc29sYXRlZFRyZWVJRCB0cmVlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
dHJlZUlEOyB9CisgICAgQVhJc29sYXRlZFRyZWVJRCB0cmVlSUQoKSBjb25zdCB7IHJldHVybiBt
X3RyZWVJRDsgfQogCiBwcml2YXRlOgogICAgIEFYSXNvbGF0ZWRUcmVlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398020</attachid>
            <date>2020-04-29 19:14:57 -0700</date>
            <delta_ts>2020-04-29 19:42:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211214-20200429221456.patch</filename>
            <type>text/plain</type>
            <size>22773</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRkMGZhZmJmZDg0MDUx
NTk1YmU5MTk4MDViNjY1NzZhZjE5NWVjNi4uYWEzODMxMWYxYjQ0OTVmY2ZmMDRiYzExMTRlOGNj
YTdlMGFhMThmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA0LTI5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2lu
ZyBvZiBBWElzb2xhdGVkVHJlZSBhbmQgQVhOb3RpZmljYXRpb25zLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBBZGRlZCBvcGVyYXRvcjw8IGltcGxl
bWVudGF0aW9ucyBmb3IgQVhJc29sYXRlZFRyZWUgYW5kIEFYIG5vdGlmaWNhdGlvbnMuCisgICAg
ICAgIC0gQWRkZWQgY29ycmVzcG9uZGluZyBBWExvZ2dlcjo6bG9nIG92ZXJsb2FkcyBmb3IgdGhl
IGFib3ZlIHR5cGVzLgorICAgICAgICAtIFRvIHNldCB0aGUgcm9vdCBub2RlIGFuZCB0aGUgZm9j
dXNlZCBub2RlIHdlIGFyZSBub3cgYWx3YXlzIHVzaW5nCisgICAgICAgIHNldFJvb3ROb2RlSUQg
YW5kIHNldEZvY3VzZWROb2RlSUQgcmVzcGVjdGl2ZWx5LiBUaGVyZWZvcmUsIGJlZm9yZQorICAg
ICAgICByZXR1cm5pbmcgdGhlIHJvb3Qgb3IgdGhlIGZvY3VzZWQgbm9kZXMsIGl0IGlzIG5lY2Vz
c2FyeSB0byBhcHBseVBlbmRpbmdDaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
WExvZ2dlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWExvZ2dlcjo6YWRkKTogVXNlZCBmb3Ig
cmVjdXJzaXZlIGxvZ2dpbmcgb2YgdGhlIGhpZXJhcmNoeS4KKyAgICAgICAgKFdlYkNvcmU6OkFY
TG9nZ2VyOjpsb2cpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIEFkZGVkIGxvZ2dpbmcgb2YgdGhlIGlzb2xhdGVkIHRyZWUg
d2hlbiBpdCdzIGdlbmVyYXRlZCBhbmQgYmVmb3JlIGFuZCBhZnRlciB1cGRhdGVzLgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZE9iamVjdDo6Zm9jdXNlZFVJRWxlbWVudCBjb25zdCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnJlbW92ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6Z2VuZXJhdGVTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjpmb2N1c2VkTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNl
dFJvb3ROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNldEZvY3Vz
ZWROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGlu
Z0NoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmZvY3VzZWRVSUVs
ZW1lbnQpOiBSZW5hbWVkIGZvY3VzZWROb2RlIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6c2V0Um9vdE5vZGUpOiBEZWxldGVkLiBVc2lu
ZyBzZXRSb290Tm9kZUlEIGluc3RlYWQsCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZTo6c2V0Rm9jdXNlZE5vZGUpOiBEZWxldGVkLiBVc2Ugc2V0Rm9jdXNlZE5vZGVJRCBpbnN0ZWFk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUlEIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6IHJlbmFt
ZWQgdHJlZUlEIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisKIDIwMjAtMDQtMjMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azIgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnQtb25jbG9zZS5odG1sIGlz
IGZsYWt5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYTG9nZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3Bw
CmluZGV4IDYwOWYyMzIyNDRlZTk0YmEwNmU4ZWUxZmMyYTIxZTJlNmZmNTYxZjIuLjkwYzcyMGM4
NWE0YzQ2Mjc5ZGY2ZTQ4Y2ZlYmYxMDJhOWY0Mzg5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC02Niw2ICs2NiwzNyBAQCB2b2lkIEFYTG9nZ2VyOjps
b2coY29uc3QgQVhDb3JlT2JqZWN0JiBvYmplY3QpCiAgICAgTE9HKEFjY2Vzc2liaWxpdHksICIl
cyIsIHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7CiB9CiAKK3ZvaWQgQVhMb2dnZXI6
OmFkZChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IFJlZlB0cjxBWENvcmVPYmplY3Q+JiBvYmpl
Y3QsIGJvb2wgcmVjdXJzaXZlKQoreworICAgIGlmICghb2JqZWN0KQorICAgICAgICByZXR1cm47
CisKKyAgICBzdHJlYW0uaW5jcmVhc2VJbmRlbnQoKTsKKyAgICBzdHJlYW0gPDwgKm9iamVjdDsK
KworICAgIGlmIChyZWN1cnNpdmUpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6IG9iamVj
dC0+Y2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGFkZChzdHJlYW0sIGNoaWxkLCB0cnVlKTsKKyAg
ICB9CisgICAgc3RyZWFtLmRlY3JlYXNlSW5kZW50KCk7Cit9CisKK3ZvaWQgQVhMb2dnZXI6Omxv
Zyhjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uPiYgbm90aWZpY2F0aW9uKQoreworICAgIFRleHRTdHJlYW0gc3RyZWFtKFRl
eHRTdHJlYW06OkxpbmVNb2RlOjpNdWx0aXBsZUxpbmUpOworICAgIHN0cmVhbSA8PCAiTm90aWZp
Y2F0aW9uICIgPDwgbm90aWZpY2F0aW9uLnNlY29uZCA8PCAiIGZvciBvYmplY3QgIiA8PCAqbm90
aWZpY2F0aW9uLmZpcnN0OworICAgIExPRyhBY2Nlc3NpYmlsaXR5LCAiJXMiLCBzdHJlYW0ucmVs
ZWFzZSgpLnV0ZjgoKS5kYXRhKCkpOworfQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkKK3ZvaWQgQVhMb2dnZXI6OmxvZyhBWElzb2xhdGVkVHJlZSYgdHJlZSkKK3sK
KyAgICBUZXh0U3RyZWFtIHN0cmVhbShUZXh0U3RyZWFtOjpMaW5lTW9kZTo6TXVsdGlwbGVMaW5l
KTsKKyAgICBzdHJlYW0gPDwgdHJlZTsKKyAgICBMT0coQWNjZXNzaWJpbGl0eSwgIiVzIiwgc3Ry
ZWFtLnJlbGVhc2UoKS51dGY4KCkuZGF0YSgpKTsKK30KKyNlbmRpZgorCiBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKIHsK
ICAgICBzd2l0Y2ggKHJvbGUpIHsKQEAgLTUyNywxMiArNTU4LDEyMiBAQCBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAg
ICByZXR1cm4gc3RyZWFtOwogfQogCitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHN0cmVhbSwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQorewor
ICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5v
dGlmaWNhdGlvbjo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8
ICJBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBB
WE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhBdXRvY29ycmVjdGlvbk9jY3VyZWQ6Cisg
ICAgICAgIHN0cmVhbSA8PCAiQVhBdXRvY29ycmVjdGlvbk9jY3VyZWQiOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWENoZWNrZWRTdGF0
ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhDaGVja2VkU3RhdGVDaGFuZ2VkIjsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhD
aGlsZHJlbkNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhDaGlsZHJlbkNoYW5nZWQiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpB
WEN1cnJlbnRDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYQ3VycmVudENoYW5nZWQiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpB
WERpc2FibGVkU3RhdGVDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYRGlzYWJsZWRTdGF0
ZUNoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90
aWZpY2F0aW9uOjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFY
T2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExheW91dENvbXBsZXRlOgorICAgICAgICBz
dHJlYW0gPDwgIkFYTGF5b3V0Q29tcGxldGUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFY
T2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExvYWRDb21wbGV0ZToKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWExvYWRDb21wbGV0ZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmpl
Y3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTmV3RG9jdW1lbnRMb2FkQ29tcGxldGU6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhOZXdEb2N1bWVudExvYWRDb21wbGV0ZSI7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYU2VsZWN0ZWRDaGls
ZHJlbkNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRp
b246OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFNlbGVjdGVk
VGV4dENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uOjpBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFZhbHVl
Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3Rp
ZmljYXRpb246OkFYU2Nyb2xsZWRUb0FuY2hvcjoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFNjcm9s
bGVkVG9BbmNob3IiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DcmVhdGVkOgorICAgICAgICBzdHJlYW0gPDwgIkFY
TGl2ZVJlZ2lvbkNyZWF0ZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DaGFuZ2VkOgorICAgICAgICBzdHJlYW0g
PDwgIkFYTGl2ZVJlZ2lvbkNoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVMaXN0SXRlbVNlbGVjdGVkOgorICAgICAg
ICBzdHJlYW0gPDwgIkFYTWVudUxpc3RJdGVtU2VsZWN0ZWQiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVMaXN0VmFsdWVDaGFu
Z2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYTWVudUxpc3RWYWx1ZUNoYW5nZWQiOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVD
bG9zZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhNZW51Q2xvc2VkIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhNZW51T3BlbmVkOgor
ICAgICAgICBzdHJlYW0gPDwgIkFYTWVudU9wZW5lZCI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUm93Q291bnRDaGFuZ2VkOgorICAg
ICAgICBzdHJlYW0gPDwgIkFYUm93Q291bnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhSb3dDb2xsYXBzZWQ6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhSb3dDb2xsYXBzZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFJvd0V4cGFuZGVkOgorICAgICAgICBz
dHJlYW0gPDwgIkFYUm93RXhwYW5kZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEV4cGFuZGVkQ2hhbmdlZDoKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWEV4cGFuZGVkQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhP
YmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYSW52YWxpZFN0YXR1c0NoYW5nZWQ6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUHJlc3NEaWRTdWNjZWVk
OgorICAgICAgICBzdHJlYW0gPDwgIkFYUHJlc3NEaWRTdWNjZWVkIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhQcmVzc0RpZEZhaWw6
CisgICAgICAgIHN0cmVhbSA8PCAiQVhQcmVzc0RpZEZhaWwiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFByZXNzZWRTdGF0ZUNoYW5n
ZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhQcmVzc2VkU3RhdGVDaGFuZ2VkIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhSZWFkT25s
eVN0YXR1c0NoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhSZWFkT25seVN0YXR1c0NoYW5n
ZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0
aW9uOjpBWFJlcXVpcmVkU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFJlcXVp
cmVkU3RhdHVzQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNo
ZTo6QVhOb3RpZmljYXRpb246OkFYVGV4dENoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhU
ZXh0Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhO
b3RpZmljYXRpb246OkFYQXJpYUF0dHJpYnV0ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAi
QVhBcmlhQXR0cmlidXRlQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmpl
Y3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYRWxlbWVudEJ1c3lDaGFuZ2VkOgorICAgICAgICBz
dHJlYW0gPDwgIkFYRWxlbWVudEJ1c3lDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHN0cmVhbTsKK30KKwog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IEFYQ29yZU9i
amVjdCYgb2JqZWN0KQogewogICAgIFRleHRTdHJlYW06Okdyb3VwU2NvcGUgZ3JvdXBTY29wZShz
dHJlYW0pOwotICAgIHN0cmVhbSA8PCAiQVhDb3JlT2JqZWN0ICIgPDwgJm9iamVjdDsKLSAgICBz
dHJlYW0uZHVtcFByb3BlcnR5KCJvYmplY3RJRCIsIG9iamVjdC5vYmplY3RJRCgpKTsKKyAgICBz
dHJlYW0gPDwgIm9iamVjdElEICIgPDwgb2JqZWN0Lm9iamVjdElEKCk7CisgICAgc3RyZWFtLmR1
bXBQcm9wZXJ0eSgiaWRlbnRpZmllckF0dHJpYnV0ZSIsIG9iamVjdC5pZGVudGlmaWVyQXR0cmli
dXRlKCkpOwogICAgIHN0cmVhbS5kdW1wUHJvcGVydHkoInJvbGVWYWx1ZSIsIG9iamVjdC5yb2xl
VmFsdWUoKSk7CisgICAgc3RyZWFtLmR1bXBQcm9wZXJ0eSgiYWRkcmVzcyIsICZvYmplY3QpOwog
CiAgICAgYXV0byogcGFyZW50ID0gb2JqZWN0LnBhcmVudE9iamVjdCgpOwogICAgIHN0cmVhbS5k
dW1wUHJvcGVydHkoInBhcmVudE9iamVjdCIsIHBhcmVudCA/IHBhcmVudC0+b2JqZWN0SUQoKSA6
IDApOwpAQCAtNTQzLDQgKzY4NCwxNCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHN0cmVhbSwgY29uc3QgQVhDb3JlT2JqZWN0JiBvYmplY3QpCiAgICAgcmV0dXJuIHN0cmVh
bTsKIH0KIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIEFYSXNv
bGF0ZWRUcmVlJiB0cmVlKQoreworICAgIFRleHRTdHJlYW06Okdyb3VwU2NvcGUgZ3JvdXBTY29w
ZShzdHJlYW0pOworICAgIHN0cmVhbSA8PCAidHJlZUlEICIgPDwgdHJlZS50cmVlSUQoKTsKKyAg
ICBzdHJlYW0uZHVtcFByb3BlcnR5KCJyb290Tm9kZUlEIiwgdHJlZS5tX3Jvb3ROb2RlSUQpOwor
ICAgIHN0cmVhbS5kdW1wUHJvcGVydHkoImZvY3VzZWROb2RlSUQiLCB0cmVlLm1fZm9jdXNlZE5v
ZGVJRCk7CisgICAgQVhMb2dnZXI6OmFkZChzdHJlYW0sIHRyZWUucm9vdE5vZGUoKSwgdHJ1ZSk7
CisgICAgcmV0dXJuIHN0cmVhbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oCmluZGV4IGYxN2Y3Y2YyODcyMzY0YTYwOWQ2
YzBjYTBkMTgzNjQ2NGU1OTczMGIuLjVhMmRjNmExZTdmYTk1OTY1MzA3MDUyMDhjNGNlMDQ5OTZi
M2NiMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmgKQEAgLTI1LDYg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zNCw4ICszNSwxMyBAQCBwdWJsaWM6CiAgICAgQVhMb2dnZXIoKSA9IGRlZmF1
bHQ7CiAgICAgQVhMb2dnZXIoY29uc3QgU3RyaW5nJiBtZXRob2ROYW1lKTsKICAgICB+QVhMb2dn
ZXIoKTsKLSAgICB2b2lkIGxvZyhjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIGxvZyhjb25zdCBB
WENvcmVPYmplY3QmKTsKKyAgICBzdGF0aWMgdm9pZCBsb2coY29uc3QgU3RyaW5nJik7CisgICAg
c3RhdGljIHZvaWQgbG9nKGNvbnN0IEFYQ29yZU9iamVjdCYpOworICAgIHN0YXRpYyB2b2lkIGxv
Zyhjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uPiYpOworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisgICAgc3RhdGljIHZvaWQgbG9nKEFYSXNvbGF0ZWRUcmVlJik7CisjZW5kaWYKKyAgICBzdGF0
aWMgdm9pZCBhZGQoVGV4dFN0cmVhbSYsIGNvbnN0IFJlZlB0cjxBWENvcmVPYmplY3Q+JiwgYm9v
bCByZWN1cnNpdmUgPSBmYWxzZSk7CiBwcml2YXRlOgogICAgIFN0cmluZyBtX21ldGhvZE5hbWU7
CiB9OwpAQCAtNDUsOCArNTEsNyBAQCBwcml2YXRlOgogI2RlZmluZSBBWExPRyh4KSAodm9pZCkw
CiAjZWxzZQogI2RlZmluZSBBWFRSQUNFKG1ldGhvZE5hbWUpIEFYTG9nZ2VyIGF4TG9nZ2VyKG1l
dGhvZE5hbWUpCi0jZGVmaW5lIEFYTE9HKHgpIEFYTG9nZ2VyIGxvZ2dlcjsgXAotICAgIGxvZ2dl
ci5sb2coeCkKKyNkZWZpbmUgQVhMT0coeCkgQVhMb2dnZXI6OmxvZyh4KQogI2VuZGlmIC8vIExP
R19ESVNBQkxFRAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA2NDk1MmIzNTM1OWZlZjcwNWRk
NzBhNDYwNjFiMjMxNWU1MjJiZWUzLi5lODE4ZWZkMWI5ZjI0ZTI5Zjc2NzVkZTE4M2RiZjkzYzQ0
ZGYzNTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTM3OSw3ICszNzksNyBAQCBBWENvcmVPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmZv
Y3VzZWRPYmplY3QoRG9jdW1lbnQmIGRvY3VtZW50KQogQVhDb3JlT2JqZWN0KiBBWE9iamVjdENh
Y2hlOjppc29sYXRlZFRyZWVGb2N1c2VkT2JqZWN0KCkKIHsKICAgICBpZiAoYXV0byB0cmVlID0g
Z2V0T3JDcmVhdGVJc29sYXRlZFRyZWUoKSkKLSAgICAgICAgcmV0dXJuIHRyZWUtPmZvY3VzZWRV
SUVsZW1lbnQoKS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIHRyZWUtPmZvY3VzZWROb2RlKCkuZ2V0
KCk7CiAKICAgICAvLyBTaG91bGQgbm90IGdldCBoZXJlLCBjb3VsZG4ndCBjcmVhdGUgdGhlIElz
b2xhdGVkVHJlZS4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTMwNzgsNiArMzA3OCw3
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cGVyZm9ybURlZmVycmVkQ2FjaGVVcGRhdGUoKQogI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiBSZWY8QVhJc29sYXRlZFRyZWU+
IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCwgRG9jdW1lbnQmIGRvY3VtZW50KQogeworICAgIEFYVFJBQ0UoIkFYT2JqZWN0Q2FjaGU6Omdl
bmVyYXRlSXNvbGF0ZWRUcmVlIik7CiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwogCiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlKEFYSXNvbGF0ZWRUcmVlOjpjcmVh
dGVUcmVlRm9yUGFnZUlEKHBhZ2VJRCkpOwpAQCAtMzA5NSwxOSArMzA5NiwyMyBAQCBSZWY8QVhJ
c29sYXRlZFRyZWU+IEFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlKFBhZ2VJZGVu
dGlmaWVyIHBhZ2VJRCwgRAogCiAgICAgYXV0byogYXhGb2N1cyA9IGF4T2JqZWN0Q2FjaGUtPmZv
Y3VzZWRPYmplY3QoZG9jdW1lbnQpOwogICAgIGlmIChheEZvY3VzKQotICAgICAgICB0cmVlLT5z
ZXRGb2N1c2VkTm9kZShheEZvY3VzLT5vYmplY3RJRCgpKTsKKyAgICAgICAgdHJlZS0+c2V0Rm9j
dXNlZE5vZGVJRChheEZvY3VzLT5vYmplY3RJRCgpKTsKIAorICAgIEFYTE9HKCp0cmVlKTsKICAg
ICByZXR1cm4gbWFrZVJlZigqdHJlZSk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRl
SXNvbGF0ZWRUcmVlKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpZmlj
YXRpb24pCiB7CisgICAgQVhUUkFDRSgiQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVl
Iik7CisgICAgQVhMT0coc3RkOjptYWtlX3BhaXIoJm9iamVjdCwgbm90aWZpY2F0aW9uKSk7CiAg
ICAgaWYgKCFtX3BhZ2VJRCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byB0cmVlID0gQVhJ
c29sYXRlZFRyZWU6OnRyZWVGb3JQYWdlSUQoKm1fcGFnZUlEKTsKICAgICBpZiAoIXRyZWUpCiAg
ICAgICAgIHJldHVybjsKKyAgICBBWExPRygqdHJlZSk7CiAKICAgICBzd2l0Y2ggKG5vdGlmaWNh
dGlvbikgewogICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgpAQCAtMzEyMCw2ICszMTI1
LDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGkKICAgICBkZWZhdWx0OgogICAgICAgICBicmVh
azsKICAgICB9CisgICAgQVhMT0coKnRyZWUpOwogfQogCiAvLyBGSVhNRTogc2hvdWxkIGJlIGFk
ZGVkIHRvIFdURjo6VmVjdG9yLgpAQCAtMzEzNCwxNyArMzE0MCwyMCBAQCBzdGF0aWMgYm9vbCBh
cHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoVmVjdG9yPFQ+JiB2ZWN0b3IsIGNvbnN0IFQmIHZh
bHVlLCBGIG1hdAogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25z
dCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4+
JiBub3RpZmljYXRpb25zKQogeworICAgIEFYVFJBQ0UoIkFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlz
b2xhdGVkVHJlZSIpOwogICAgIGlmICghbV9wYWdlSUQpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAg
ICAgaWYgKCF0cmVlKQogICAgICAgICByZXR1cm47CisgICAgQVhMT0coKnRyZWUpOwogCiAgICAg
Ly8gRmlsdGVyIG91dCBtdWx0aXBsZSBub3RpZmljYXRpb25zIGZvciB0aGUgc2FtZSBvYmplY3Qu
IFRoaXMgYXZvaWRzCiAgICAgLy8gdXBkYXRpbmcgdGhlIGlzb2xhdGVkIHRyZWUgbXVsdGlwbGUg
dGltZXMgdW5uZWNlc3NhcmlseS4KICAgICBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVP
YmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4+IGZpbHRlcmVkTm90aWZpY2F0aW9uczsKICAgICBmb3Ig
KGNvbnN0IGF1dG8mIG5vdGlmaWNhdGlvbiA6IG5vdGlmaWNhdGlvbnMpIHsKKyAgICAgICAgQVhM
T0cobm90aWZpY2F0aW9uKTsKICAgICAgICAgaWYgKCFub3RpZmljYXRpb24uZmlyc3QgfHwgbm90
aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpID09IEludmFsaWRBWElEKQogICAgICAgICAgICAg
Y29udGludWU7CiAKQEAgLTMxNzMsNiArMzE4Miw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBk
YXRlSXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVj
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKyAgICBBWExPRygqdHJlZSk7
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuaAppbmRleCBhMTQxMTk0MzJjNTgwZGEwNDg3MmIyNTQ5YjY2MDJhOTU4YWMwMTg4Li40Nzc3
OTRjZjVkMzc1NzY3MjcyZmRiMWRkMzMzZWE5Njc1YTdjZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNs
dWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdURiB7CitjbGFz
cyBUZXh0U3RyZWFtOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50
OwpAQCAtNjE4LDQgKzYyMiw2IEBAIGlubGluZSBBWEF0dHJpYnV0ZUNhY2hlRW5hYmxlcjo6fkFY
QXR0cmlidXRlQ2FjaGVFbmFibGVyKCkgeyB9CiAKICNlbmRpZgogCitXVEY6OlRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRp
b24pOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3Bw
CmluZGV4IGYxMDI5YjFlMzBjMmNkZDIxZjdhN2RjODgwMTg4YzU3MWI3YmQzM2QuLjc4OTA5MDlh
ODJkODJjYmUxZDg4NDkwZDQwMDdiOTc3ZjExNzIzODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuY3BwCkBAIC01ODIsNyArNTgyLDcgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0OjptYXRoUG9z
dHNjcmlwdHMoQWNjZXNzaWJpbGl0eU1hdGhNdWx0aXNjcmlwdFBhaXJzJiBwYWlycykKIAogQVhD
b3JlT2JqZWN0KiBBWElzb2xhdGVkT2JqZWN0Ojpmb2N1c2VkVUlFbGVtZW50KCkgY29uc3QKIHsK
LSAgICByZXR1cm4gdHJlZSgpLT5mb2N1c2VkVUlFbGVtZW50KCkuZ2V0KCk7CisgICAgcmV0dXJu
IHRyZWUoKS0+Zm9jdXNlZE5vZGUoKS5nZXQoKTsKIH0KICAgICAKIEFYQ29yZU9iamVjdCogQVhJ
c29sYXRlZE9iamVjdDo6cGFyZW50T2JqZWN0VW5pZ25vcmVkKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlLmNwcAppbmRleCAyY2NlMGExOWM5YmU3ZWI0Nzc4NWZhYjRlMzI3ODRiMjA5MDg3MTkx
Li5jY2ZjNmMwYjMyZmFiMzdjOTA4ODAzODIzNzNjNGQ2M2VkN2E2YjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZFRyZWUuY3BwCkBAIC0xMDUsNyArMTA1LDcgQEAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElz
b2xhdGVkVHJlZTo6Y3JlYXRlVHJlZUZvclBhZ2VJRChQYWdlSWRlbnRpZmllciBwYWdlSUQpCiAK
ICAgICBhdXRvIG5ld1RyZWUgPSBBWElzb2xhdGVkVHJlZTo6Y3JlYXRlKCk7CiAgICAgdHJlZVBh
Z2VDYWNoZSgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsKLSAgICB0cmVlSURDYWNo
ZSgpLnNldChuZXdUcmVlLT50cmVlSWRlbnRpZmllcigpLCBuZXdUcmVlLmNvcHlSZWYoKSk7Cisg
ICAgdHJlZUlEQ2FjaGUoKS5zZXQobmV3VHJlZS0+dHJlZUlEKCksIG5ld1RyZWUuY29weVJlZigp
KTsKICAgICByZXR1cm4gbmV3VHJlZTsKIH0KIApAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgQVhJ
c29sYXRlZFRyZWU6OnJlbW92ZVRyZWVGb3JQYWdlSUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQog
ICAgICAgICB0cmVlLT5zZXRBWE9iamVjdENhY2hlKG51bGxwdHIpOwogICAgICAgICB0cmVlTG9j
a2VyLnVubG9ja0Vhcmx5KCk7CiAKLSAgICAgICAgdHJlZUlEQ2FjaGUoKS5yZW1vdmUodHJlZS0+
dHJlZUlkZW50aWZpZXIoKSk7CisgICAgICAgIHRyZWVJRENhY2hlKCkucmVtb3ZlKHRyZWUtPnRy
ZWVJRCgpKTsKICAgICB9CiB9CiAKQEAgLTE0MCw3ICsxNDAsNiBAQCBSZWZQdHI8QVhJc29sYXRl
ZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKFBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCkKIAogUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQo
QVhJRCBheElEKSBjb25zdAogewotICAgIEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpub2RlRm9y
SUQiKTsKICAgICByZXR1cm4gYXhJRCAhPSBJbnZhbGlkQVhJRCA/IG1fcmVhZGVyVGhyZWFkTm9k
ZU1hcC5nZXQoYXhJRCkgOiBudWxscHRyOwogfQogCkBAIC0xNjcsNyArMTY2LDcgQEAgdm9pZCBB
WElzb2xhdGVkVHJlZTo6Z2VuZXJhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIEFY
SUQgcGFyZW50SUQsIGJvb2wKICAgICBhcHBlbmROb2RlQ2hhbmdlcyhub2RlQ2hhbmdlcyk7CiAK
ICAgICBpZiAocGFyZW50SUQgPT0gSW52YWxpZEFYSUQpCi0gICAgICAgIHNldFJvb3ROb2RlKG9i
amVjdCk7CisgICAgICAgIHNldFJvb3ROb2RlSUQob2JqZWN0LT5vYmplY3RJRCgpKTsKICAgICAv
LyBGSVhNRTogZWxzZSBhdHRhY2ggdGhlIG5ld2x5IGNyZWF0ZWQgc3VidHJlZSB0byBpdHMgcGFy
ZW50LgogfQogCkBAIC0yNjQsNTEgKzI2MywzOCBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRh
dGVDaGlsZHJlbihBWENvcmVPYmplY3QmIGF4T2JqZWN0KQogICAgIH0KIH0KIAotUmVmUHRyPEFY
SXNvbGF0ZWRPYmplY3Q+IEFYSXNvbGF0ZWRUcmVlOjpmb2N1c2VkVUlFbGVtZW50KCkKK1JlZlB0
cjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6Zm9jdXNlZE5vZGUoKQogewogICAg
IEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpmb2N1c2VkVUlFbGVtZW50Iik7CisgICAgLy8gQXBw
bHkgcGVuZGluZyBjaGFuZ2VzIGluIGNhc2UgZm9jdXMgaGFzIGNoYW5nZWQgYW5kIGhhc24ndCBi
ZWVuIHVwZGF0ZWQuCisgICAgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgIExvY2tIb2xkZXIg
bG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2NrIH07CisgICAgQVhMT0cobWFrZVN0cmluZygiZm9jdXNl
ZE5vZGVJRCAiLCBtX2ZvY3VzZWROb2RlSUQpKTsKICAgICByZXR1cm4gbm9kZUZvcklEKG1fZm9j
dXNlZE5vZGVJRCk7CiB9Ci0gICAgCisKIFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xh
dGVkVHJlZTo6cm9vdE5vZGUoKQogewogICAgIEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpyb290
Tm9kZSIpOworICAgIC8vIEFwcGx5IHBlbmRpbmcgY2hhbmdlcyBpbiBjYXNlIHRoZSByb290IG5v
ZGUgaXMgaW4gdGhlIHBlbmRpbmcgY2hhbmdlcy4KKyAgICBhcHBseVBlbmRpbmdDaGFuZ2VzKCk7
CisgICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKICAgICByZXR1cm4g
bm9kZUZvcklEKG1fcm9vdE5vZGVJRCk7CiB9CiAKLXZvaWQgQVhJc29sYXRlZFRyZWU6OnNldFJv
b3ROb2RlKFJlZjxBWElzb2xhdGVkT2JqZWN0PiYgcm9vdCkKLXsKLSAgICBBWFRSQUNFKCJBWElz
b2xhdGVkVHJlZTo6c2V0Um9vdE5vZGUiKTsKLSAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hh
bmdlTG9nTG9jayB9OwotICAgIG1fcm9vdE5vZGVJRCA9IHJvb3QtPm9iamVjdElEKCk7Ci0gICAg
bV9yZWFkZXJUaHJlYWROb2RlTWFwLmFkZChyb290LT5vYmplY3RJRCgpLCBXVEZNb3ZlKHJvb3Qp
KTsKLX0KLSAgICAKLXZvaWQgQVhJc29sYXRlZFRyZWU6OnNldEZvY3VzZWROb2RlKEFYSUQgYXhJ
RCkKK3ZvaWQgQVhJc29sYXRlZFRyZWU6OnNldFJvb3ROb2RlSUQoQVhJRCBheElEKQogewotICAg
IEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpzZXRGb2N1c2VkTm9kZSIpOworICAgIEFYVFJBQ0Uo
IkFYSXNvbGF0ZWRUcmVlOjpzZXRSb290Tm9kZUlEIik7CiAgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OwotICAgIG1f
Zm9jdXNlZE5vZGVJRCA9IGF4SUQ7Ci0gICAgaWYgKGF4SUQgPT0gSW52YWxpZEFYSUQpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGlmIChtX3JlYWRlclRocmVhZE5vZGVNYXAuY29udGFpbnMobV9m
b2N1c2VkTm9kZUlEKSkKLSAgICAgICAgcmV0dXJuOyAvLyBOb3RoaW5nIHRvIGRvLCB0aGUgZm9j
dXMgaXMgc2V0LgotCi0gICAgLy8gSWYgdGhlIGZvY3VzZWQgb2JqZWN0IGlzIGluIHRoZSBwZW5k
aW5nIGFwcGVuZHMsIGFkZCBpdCB0byB0aGUgcmVhZGVyCi0gICAgLy8gbWFwLCBzbyB0aGF0IHdl
IGNhbiByZXR1cm4gdGhlIHJpZ2h0IGZvY3VzZWQgb2JqZWN0IGlmIHJlcXVlc3RlZCBiZWZvcmUK
LSAgICAvLyBwZW5kaW5nIGFwcGVuZHMgYXJlIGFwcGxpZWQuCi0gICAgZm9yIChjb25zdCBhdXRv
JiBpdGVtIDogbV9wZW5kaW5nQXBwZW5kcykgewotICAgICAgICBpZiAoaXRlbS5tX2lzb2xhdGVk
T2JqZWN0LT5vYmplY3RJRCgpID09IG1fZm9jdXNlZE5vZGVJRAotICAgICAgICAgICAgJiYgbV9y
ZWFkZXJUaHJlYWROb2RlTWFwLmFkZChtX2ZvY3VzZWROb2RlSUQsIGl0ZW0ubV9pc29sYXRlZE9i
amVjdC5nZXQoKSkgJiYgaXRlbS5tX3dyYXBwZXIpCi0gICAgICAgICAgICBtX3JlYWRlclRocmVh
ZE5vZGVNYXAuZ2V0KG1fZm9jdXNlZE5vZGVJRCktPmF0dGFjaFBsYXRmb3JtV3JhcHBlcihpdGVt
Lm1fd3JhcHBlci5nZXQoKSk7Ci0gICAgfQorICAgIG1fcm9vdE5vZGVJRCA9IGF4SUQ7CiB9CiAK
IHZvaWQgQVhJc29sYXRlZFRyZWU6OnNldEZvY3VzZWROb2RlSUQoQVhJRCBheElEKQogewogICAg
IEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpzZXRGb2N1c2VkTm9kZUlEIik7CisgICAgQVhMT0co
bWFrZVN0cmluZygiYXhJRCAiLCBheElEKSk7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
ICAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OwogICAgIG1fcGVuZGlu
Z0ZvY3VzZWROb2RlSUQgPSBheElEOwogfQpAQCAtMzM3LDEzICszMjMsMTMgQEAgdm9pZCBBWElz
b2xhdGVkVHJlZTo6YXBwZW5kTm9kZUNoYW5nZXMoY29uc3QgVmVjdG9yPE5vZGVDaGFuZ2U+JiBj
aGFuZ2VzKQogdm9pZCBBWElzb2xhdGVkVHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCiB7CiAg
ICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMiKTsKLSAgICBS
RUxFQVNFX0FTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogICAgIExvY2tIb2xkZXIgbG9ja2VyIHsg
bV9jaGFuZ2VMb2dMb2NrIH07CiAKICAgICBtX2ZvY3VzZWROb2RlSUQgPSBtX3BlbmRpbmdGb2N1
c2VkTm9kZUlEOwogCiAgICAgd2hpbGUgKG1fcGVuZGluZ05vZGVSZW1vdmFscy5zaXplKCkpIHsK
ICAgICAgICAgYXV0byBheElEID0gbV9wZW5kaW5nTm9kZVJlbW92YWxzLnRha2VMYXN0KCk7Cisg
ICAgICAgIEFYTE9HKG1ha2VTdHJpbmcoInJlbW92aW5nIGF4SUQgIiwgYXhJRCkpOwogICAgICAg
ICBpZiAoYXhJRCA9PSBJbnZhbGlkQVhJRCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0z
NTMsNiArMzM5LDcgQEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygp
CiAKICAgICB3aGlsZSAobV9wZW5kaW5nU3VidHJlZVJlbW92YWxzLnNpemUoKSkgewogICAgICAg
ICBhdXRvIGF4SUQgPSBtX3BlbmRpbmdTdWJ0cmVlUmVtb3ZhbHMudGFrZUxhc3QoKTsKKyAgICAg
ICAgQVhMT0cobWFrZVN0cmluZygicmVtb3Zpbmcgc3VidHJlZSBheElEICIsIGF4SUQpKTsKICAg
ICAgICAgaWYgKGF4SUQgPT0gSW52YWxpZEFYSUQpCiAgICAgICAgICAgICBjb250aW51ZTsKIApA
QCAtMzY3LDYgKzM1NCw3IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5n
ZXMoKQogICAgICAgICBBU1NFUlQoKGl0ZW0ubV9pc29sYXRlZE9iamVjdC0+d3JhcHBlcigpIHx8
IGl0ZW0ubV93cmFwcGVyKQogICAgICAgICAgICAgJiYgIShpdGVtLm1faXNvbGF0ZWRPYmplY3Qt
PndyYXBwZXIoKSAmJiBpdGVtLm1fd3JhcHBlcikpOwogICAgICAgICBBWElEIGF4SUQgPSBpdGVt
Lm1faXNvbGF0ZWRPYmplY3QtPm9iamVjdElEKCk7CisgICAgICAgIEFYTE9HKG1ha2VTdHJpbmco
ImFwcGVuZGluZyBheElEICIsIGF4SUQpKTsKICAgICAgICAgaWYgKGF4SUQgPT0gSW52YWxpZEFY
SUQpCiAgICAgICAgICAgICBjb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggYzQw
NTUzOGFkYTRiOTI3NDA0M2MyYjcwODBiZGZlZTFlNDliMjYwOC4uNTEzNDYxZTgzMmEyNjdiYmFm
YjZlNDEyMzFkZmVmNWUwYTgyYjk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBAIC0zMyw2ICsz
MywxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KIAorbmFtZXNwYWNlIFdURiB7CitjbGFzcyBUZXh0U3RyZWFtOworfQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFYSXNvbGF0ZWRPYmplY3Q7CkBAIC00Myw3
ICs0Nyw3IEBAIHR5cGVkZWYgdW5zaWduZWQgQVhJc29sYXRlZFRyZWVJRDsKIAogY2xhc3MgQVhJ
c29sYXRlZFRyZWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWU+
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWElzb2xhdGVkVHJlZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwotCisgICAgZnJpZW5kIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChX
VEY6OlRleHRTdHJlYW0mLCBBWElzb2xhdGVkVHJlZSYpOwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8QVhJc29sYXRlZFRyZWU+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVl
KCk7CkBAIC01Nyw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFYT2JqZWN0Q2FjaGUo
QVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSkgeyBtX2F4T2JqZWN0Q2FjaGUgPSBheE9iamVj
dENhY2hlOyB9CiAKICAgICBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gcm9vdE5vZGUoKTsKLSAg
ICBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gZm9jdXNlZFVJRWxlbWVudCgpOworICAgIFJlZlB0
cjxBWElzb2xhdGVkT2JqZWN0PiBmb2N1c2VkTm9kZSgpOwogICAgIFJlZlB0cjxBWElzb2xhdGVk
T2JqZWN0PiBub2RlRm9ySUQoQVhJRCkgY29uc3Q7CiAgICAgc3RhdGljIFJlZlB0cjxBWElzb2xh
dGVkT2JqZWN0PiBub2RlSW5UcmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCwgQVhJRCk7CiAgICAg
VmVjdG9yPFJlZlB0cjxBWENvcmVPYmplY3Q+PiBvYmplY3RzRm9ySURzKFZlY3RvcjxBWElEPikg
Y29uc3Q7CkBAIC03OSwxOSArODMsMTcgQEAgcHVibGljOgogICAgIC8vIFJlbW92ZXMgdGhlIGdp
dmVuIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMuCiAgICAgdm9pZCByZW1vdmVTdWJ0cmVl
KEFYSUQpOwogCi0gICAgLy8gQm90aCBzZXRSb290Tm9kZSBhbmQgc2V0Rm9jdXNlZE5vZGUgbXVz
dCBiZSBjYWxsZWQgb25seSBkdXJpbmcgdGhlCi0gICAgLy8gZ2VuZXJhdGlvbiBvZiB0aGUgSXNv
bGF0ZWRUcmVlLgotICAgIC8vIFRoZSBmb2N1c2VkIG5vZGUgbmVlZHMgdG8gYmUgc2V0IGR1cmlu
ZyB0aGUgZ2VuZXJhdGlvbiBiZWNhdXNlIGEgcmVxdWVzdAotICAgIC8vIGZvciBpdCBjYW4gY29t
ZSBpbiBiZWZvcmUgcGVuZGluZyBjaGFuZ2VzIGFyZSBhcHBsaWVkLiBGb3IgZm9jdXNlZCBub2Rl
Ci0gICAgLy8gdXBkYXRlcywgdXNlIHNldEZvY3VzTm9kZUlELgotICAgIHZvaWQgc2V0Um9vdE5v
ZGUoUmVmPEFYSXNvbGF0ZWRPYmplY3Q+Jik7Ci0gICAgdm9pZCBzZXRGb2N1c2VkTm9kZShBWElE
KTsKKyAgICAvLyBCb3RoIHNldFJvb3ROb2RlSUQgYW5kIHNldEZvY3VzZWROb2RlSUQgYXJlIGNh
bGxlZCBkdXJpbmcgdGhlIGdlbmVyYXRpb24KKyAgICAvLyBvZiB0aGUgSXNvbGF0ZWRUcmVlLgor
ICAgIC8vIEZvY3VzZWQgbm9kZSB1cGRhdGVzIGluIEFYT2JqZWN0Q2FjaGUgdXNlIHNldEZvY3Vz
Tm9kZUlELgorICAgIHZvaWQgc2V0Um9vdE5vZGVJRChBWElEKTsKICAgICB2b2lkIHNldEZvY3Vz
ZWROb2RlSUQoQVhJRCk7CiAKLSAgICAvLyBDYWxsIG9uIEFYIHRocmVhZAorICAgIC8vIENhbGxl
ZCBvbiBBWCB0aHJlYWQgZnJvbSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBtZXRob2Rz
LgorICAgIC8vIER1cmluZyBsYXlvdXQgdGVzdHMsIGl0IGlzIGNhbGxlZCBvbiB0aGUgbWFpbiB0
aHJlYWQuCiAgICAgdm9pZCBhcHBseVBlbmRpbmdDaGFuZ2VzKCk7CiAKLSAgICBBWElzb2xhdGVk
VHJlZUlEIHRyZWVJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV90cmVlSUQ7IH0KKyAgICBB
WElzb2xhdGVkVHJlZUlEIHRyZWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZUlEOyB9CiAKIHBy
aXZhdGU6CiAgICAgQVhJc29sYXRlZFRyZWUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398024</attachid>
            <date>2020-04-29 19:42:29 -0700</date>
            <delta_ts>2020-04-30 05:57:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211214-20200429224228.patch</filename>
            <type>text/plain</type>
            <size>22822</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRkMGZhZmJmZDg0MDUx
NTk1YmU5MTk4MDViNjY1NzZhZjE5NWVjNi4uYWEzODMxMWYxYjQ0OTVmY2ZmMDRiYzExMTRlOGNj
YTdlMGFhMThmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA0LTI5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2lu
ZyBvZiBBWElzb2xhdGVkVHJlZSBhbmQgQVhOb3RpZmljYXRpb25zLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBBZGRlZCBvcGVyYXRvcjw8IGltcGxl
bWVudGF0aW9ucyBmb3IgQVhJc29sYXRlZFRyZWUgYW5kIEFYIG5vdGlmaWNhdGlvbnMuCisgICAg
ICAgIC0gQWRkZWQgY29ycmVzcG9uZGluZyBBWExvZ2dlcjo6bG9nIG92ZXJsb2FkcyBmb3IgdGhl
IGFib3ZlIHR5cGVzLgorICAgICAgICAtIFRvIHNldCB0aGUgcm9vdCBub2RlIGFuZCB0aGUgZm9j
dXNlZCBub2RlIHdlIGFyZSBub3cgYWx3YXlzIHVzaW5nCisgICAgICAgIHNldFJvb3ROb2RlSUQg
YW5kIHNldEZvY3VzZWROb2RlSUQgcmVzcGVjdGl2ZWx5LiBUaGVyZWZvcmUsIGJlZm9yZQorICAg
ICAgICByZXR1cm5pbmcgdGhlIHJvb3Qgb3IgdGhlIGZvY3VzZWQgbm9kZXMsIGl0IGlzIG5lY2Vz
c2FyeSB0byBhcHBseVBlbmRpbmdDaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
WExvZ2dlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWExvZ2dlcjo6YWRkKTogVXNlZCBmb3Ig
cmVjdXJzaXZlIGxvZ2dpbmcgb2YgdGhlIGhpZXJhcmNoeS4KKyAgICAgICAgKFdlYkNvcmU6OkFY
TG9nZ2VyOjpsb2cpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIEFkZGVkIGxvZ2dpbmcgb2YgdGhlIGlzb2xhdGVkIHRyZWUg
d2hlbiBpdCdzIGdlbmVyYXRlZCBhbmQgYmVmb3JlIGFuZCBhZnRlciB1cGRhdGVzLgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZE9iamVjdDo6Zm9jdXNlZFVJRWxlbWVudCBjb25zdCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnJlbW92ZVRyZWVGb3JQYWdlSUQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVGb3JJRCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBWElzb2xhdGVkVHJlZTo6Z2VuZXJhdGVTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjpmb2N1c2VkTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xh
dGVkVHJlZTo6cm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNl
dFJvb3ROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNldEZvY3Vz
ZWROb2RlSUQpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGlu
Z0NoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmZvY3VzZWRVSUVs
ZW1lbnQpOiBSZW5hbWVkIGZvY3VzZWROb2RlIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6c2V0Um9vdE5vZGUpOiBEZWxldGVkLiBVc2lu
ZyBzZXRSb290Tm9kZUlEIGluc3RlYWQsCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJl
ZTo6c2V0Rm9jdXNlZE5vZGUpOiBEZWxldGVkLiBVc2Ugc2V0Rm9jdXNlZE5vZGVJRCBpbnN0ZWFk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6dHJlZUlEIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp0cmVlSWRlbnRpZmllciBjb25zdCk6IHJlbmFt
ZWQgdHJlZUlEIGZvciBuYW1pbmcgY29uc2lzdGVuY3kuCisKIDIwMjAtMDQtMjMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azIgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnQtb25jbG9zZS5odG1sIGlz
IGZsYWt5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYTG9nZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3Bw
CmluZGV4IDYwOWYyMzIyNDRlZTk0YmEwNmU4ZWUxZmMyYTIxZTJlNmZmNTYxZjIuLmIyMGQyMGZi
NWU0Yzc2NjI2Y2NhYTA5YjY4Mjk0OThjYTEyODI3NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhMb2dnZXIuY3BwCkBAIC02Niw2ICs2NiwzNyBAQCB2b2lkIEFYTG9nZ2VyOjps
b2coY29uc3QgQVhDb3JlT2JqZWN0JiBvYmplY3QpCiAgICAgTE9HKEFjY2Vzc2liaWxpdHksICIl
cyIsIHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7CiB9CiAKK3ZvaWQgQVhMb2dnZXI6
OmFkZChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IFJlZlB0cjxBWENvcmVPYmplY3Q+JiBvYmpl
Y3QsIGJvb2wgcmVjdXJzaXZlKQoreworICAgIGlmICghb2JqZWN0KQorICAgICAgICByZXR1cm47
CisKKyAgICBzdHJlYW0uaW5jcmVhc2VJbmRlbnQoKTsKKyAgICBzdHJlYW0gPDwgKm9iamVjdDsK
KworICAgIGlmIChyZWN1cnNpdmUpIHsKKyAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6IG9iamVj
dC0+Y2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGFkZChzdHJlYW0sIGNoaWxkLCB0cnVlKTsKKyAg
ICB9CisgICAgc3RyZWFtLmRlY3JlYXNlSW5kZW50KCk7Cit9CisKK3ZvaWQgQVhMb2dnZXI6Omxv
Zyhjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uPiYgbm90aWZpY2F0aW9uKQoreworICAgIFRleHRTdHJlYW0gc3RyZWFtKFRl
eHRTdHJlYW06OkxpbmVNb2RlOjpNdWx0aXBsZUxpbmUpOworICAgIHN0cmVhbSA8PCAiTm90aWZp
Y2F0aW9uICIgPDwgbm90aWZpY2F0aW9uLnNlY29uZCA8PCAiIGZvciBvYmplY3QgIiA8PCAqbm90
aWZpY2F0aW9uLmZpcnN0OworICAgIExPRyhBY2Nlc3NpYmlsaXR5LCAiJXMiLCBzdHJlYW0ucmVs
ZWFzZSgpLnV0ZjgoKS5kYXRhKCkpOworfQorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkKK3ZvaWQgQVhMb2dnZXI6OmxvZyhBWElzb2xhdGVkVHJlZSYgdHJlZSkKK3sK
KyAgICBUZXh0U3RyZWFtIHN0cmVhbShUZXh0U3RyZWFtOjpMaW5lTW9kZTo6TXVsdGlwbGVMaW5l
KTsKKyAgICBzdHJlYW0gPDwgdHJlZTsKKyAgICBMT0coQWNjZXNzaWJpbGl0eSwgIiVzIiwgc3Ry
ZWFtLnJlbGVhc2UoKS51dGY4KCkuZGF0YSgpKTsKK30KKyNlbmRpZgorCiBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKIHsK
ICAgICBzd2l0Y2ggKHJvbGUpIHsKQEAgLTUyNywxMiArNTU4LDEyMiBAQCBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAg
ICByZXR1cm4gc3RyZWFtOwogfQogCitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHN0cmVhbSwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQorewor
ICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5v
dGlmaWNhdGlvbjo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8
ICJBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBB
WE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhBdXRvY29ycmVjdGlvbk9jY3VyZWQ6Cisg
ICAgICAgIHN0cmVhbSA8PCAiQVhBdXRvY29ycmVjdGlvbk9jY3VyZWQiOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWENoZWNrZWRTdGF0
ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhDaGVja2VkU3RhdGVDaGFuZ2VkIjsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhD
aGlsZHJlbkNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhDaGlsZHJlbkNoYW5nZWQiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpB
WEN1cnJlbnRDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYQ3VycmVudENoYW5nZWQiOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpB
WERpc2FibGVkU3RhdGVDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYRGlzYWJsZWRTdGF0
ZUNoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90
aWZpY2F0aW9uOjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFY
T2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExheW91dENvbXBsZXRlOgorICAgICAgICBz
dHJlYW0gPDwgIkFYTGF5b3V0Q29tcGxldGUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFY
T2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExvYWRDb21wbGV0ZToKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWExvYWRDb21wbGV0ZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmpl
Y3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYTmV3RG9jdW1lbnRMb2FkQ29tcGxldGU6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhOZXdEb2N1bWVudExvYWRDb21wbGV0ZSI7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYU2VsZWN0ZWRDaGls
ZHJlbkNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRp
b246OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFNlbGVjdGVk
VGV4dENoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uOjpBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFZhbHVl
Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3Rp
ZmljYXRpb246OkFYU2Nyb2xsZWRUb0FuY2hvcjoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFNjcm9s
bGVkVG9BbmNob3IiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFY
Tm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DcmVhdGVkOgorICAgICAgICBzdHJlYW0gPDwgIkFY
TGl2ZVJlZ2lvbkNyZWF0ZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DaGFuZ2VkOgorICAgICAgICBzdHJlYW0g
PDwgIkFYTGl2ZVJlZ2lvbkNoYW5nZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVMaXN0SXRlbVNlbGVjdGVkOgorICAgICAg
ICBzdHJlYW0gPDwgIkFYTWVudUxpc3RJdGVtU2VsZWN0ZWQiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVMaXN0VmFsdWVDaGFu
Z2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYTWVudUxpc3RWYWx1ZUNoYW5nZWQiOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWE1lbnVD
bG9zZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhNZW51Q2xvc2VkIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhNZW51T3BlbmVkOgor
ICAgICAgICBzdHJlYW0gPDwgIkFYTWVudU9wZW5lZCI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUm93Q291bnRDaGFuZ2VkOgorICAg
ICAgICBzdHJlYW0gPDwgIkFYUm93Q291bnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhSb3dDb2xsYXBzZWQ6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhSb3dDb2xsYXBzZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFJvd0V4cGFuZGVkOgorICAgICAgICBz
dHJlYW0gPDwgIkFYUm93RXhwYW5kZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWEV4cGFuZGVkQ2hhbmdlZDoKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWEV4cGFuZGVkQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhP
YmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYSW52YWxpZFN0YXR1c0NoYW5nZWQ6CisgICAg
ICAgIHN0cmVhbSA8PCAiQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYUHJlc3NEaWRTdWNjZWVk
OgorICAgICAgICBzdHJlYW0gPDwgIkFYUHJlc3NEaWRTdWNjZWVkIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhQcmVzc0RpZEZhaWw6
CisgICAgICAgIHN0cmVhbSA8PCAiQVhQcmVzc0RpZEZhaWwiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFByZXNzZWRTdGF0ZUNoYW5n
ZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhQcmVzc2VkU3RhdGVDaGFuZ2VkIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhSZWFkT25s
eVN0YXR1c0NoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhSZWFkT25seVN0YXR1c0NoYW5n
ZWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0
aW9uOjpBWFJlcXVpcmVkU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWFJlcXVp
cmVkU3RhdHVzQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNo
ZTo6QVhOb3RpZmljYXRpb246OkFYVGV4dENoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhU
ZXh0Q2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhO
b3RpZmljYXRpb246OkFYQXJpYUF0dHJpYnV0ZUNoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAi
QVhBcmlhQXR0cmlidXRlQ2hhbmdlZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmpl
Y3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFYRWxlbWVudEJ1c3lDaGFuZ2VkOgorICAgICAgICBz
dHJlYW0gPDwgIkFYRWxlbWVudEJ1c3lDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHN0cmVhbTsKK30KKwog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IEFYQ29yZU9i
amVjdCYgb2JqZWN0KQogewogICAgIFRleHRTdHJlYW06Okdyb3VwU2NvcGUgZ3JvdXBTY29wZShz
dHJlYW0pOwotICAgIHN0cmVhbSA8PCAiQVhDb3JlT2JqZWN0ICIgPDwgJm9iamVjdDsKLSAgICBz
dHJlYW0uZHVtcFByb3BlcnR5KCJvYmplY3RJRCIsIG9iamVjdC5vYmplY3RJRCgpKTsKKyAgICBz
dHJlYW0gPDwgIm9iamVjdElEICIgPDwgb2JqZWN0Lm9iamVjdElEKCk7CisgICAgc3RyZWFtLmR1
bXBQcm9wZXJ0eSgiaWRlbnRpZmllckF0dHJpYnV0ZSIsIG9iamVjdC5pZGVudGlmaWVyQXR0cmli
dXRlKCkpOwogICAgIHN0cmVhbS5kdW1wUHJvcGVydHkoInJvbGVWYWx1ZSIsIG9iamVjdC5yb2xl
VmFsdWUoKSk7CisgICAgc3RyZWFtLmR1bXBQcm9wZXJ0eSgiYWRkcmVzcyIsICZvYmplY3QpOwog
CiAgICAgYXV0byogcGFyZW50ID0gb2JqZWN0LnBhcmVudE9iamVjdCgpOwogICAgIHN0cmVhbS5k
dW1wUHJvcGVydHkoInBhcmVudE9iamVjdCIsIHBhcmVudCA/IHBhcmVudC0+b2JqZWN0SUQoKSA6
IDApOwpAQCAtNTQzLDQgKzY4NCwxNiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHN0cmVhbSwgY29uc3QgQVhDb3JlT2JqZWN0JiBvYmplY3QpCiAgICAgcmV0dXJuIHN0cmVh
bTsKIH0KIAorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCitUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQVhJc29sYXRlZFRyZWUmIHRyZWUp
Cit7CisgICAgVGV4dFN0cmVhbTo6R3JvdXBTY29wZSBncm91cFNjb3BlKHN0cmVhbSk7CisgICAg
c3RyZWFtIDw8ICJ0cmVlSUQgIiA8PCB0cmVlLnRyZWVJRCgpOworICAgIHN0cmVhbS5kdW1wUHJv
cGVydHkoInJvb3ROb2RlSUQiLCB0cmVlLm1fcm9vdE5vZGVJRCk7CisgICAgc3RyZWFtLmR1bXBQ
cm9wZXJ0eSgiZm9jdXNlZE5vZGVJRCIsIHRyZWUubV9mb2N1c2VkTm9kZUlEKTsKKyAgICBBWExv
Z2dlcjo6YWRkKHN0cmVhbSwgdHJlZS5yb290Tm9kZSgpLCB0cnVlKTsKKyAgICByZXR1cm4gc3Ry
ZWFtOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhMb2dnZXIuaAppbmRleCBmMTdmN2NmMjg3MjM2NGE2MDlkNmMwY2EwZDE4
MzY0NjRlNTk3MzBiLi41YTJkYzZhMWU3ZmE5NTk2NTMwNzA1MjA4YzRjZTA0OTk2YjNjYjI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUg
IkFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMzQsOCArMzUsMTMgQEAgcHVibGljOgogICAgIEFYTG9nZ2VyKCkgPSBkZWZhdWx0OwogICAg
IEFYTG9nZ2VyKGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSk7CiAgICAgfkFYTG9nZ2VyKCk7Ci0g
ICAgdm9pZCBsb2coY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBsb2coY29uc3QgQVhDb3JlT2Jq
ZWN0Jik7CisgICAgc3RhdGljIHZvaWQgbG9nKGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyB2
b2lkIGxvZyhjb25zdCBBWENvcmVPYmplY3QmKTsKKyAgICBzdGF0aWMgdm9pZCBsb2coY29uc3Qg
c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbj4mKTsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIHN0
YXRpYyB2b2lkIGxvZyhBWElzb2xhdGVkVHJlZSYpOworI2VuZGlmCisgICAgc3RhdGljIHZvaWQg
YWRkKFRleHRTdHJlYW0mLCBjb25zdCBSZWZQdHI8QVhDb3JlT2JqZWN0PiYsIGJvb2wgcmVjdXJz
aXZlID0gZmFsc2UpOwogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9tZXRob2ROYW1lOwogfTsKQEAg
LTQ1LDggKzUxLDcgQEAgcHJpdmF0ZToKICNkZWZpbmUgQVhMT0coeCkgKHZvaWQpMAogI2Vsc2UK
ICNkZWZpbmUgQVhUUkFDRShtZXRob2ROYW1lKSBBWExvZ2dlciBheExvZ2dlcihtZXRob2ROYW1l
KQotI2RlZmluZSBBWExPRyh4KSBBWExvZ2dlciBsb2dnZXI7IFwKLSAgICBsb2dnZXIubG9nKHgp
CisjZGVmaW5lIEFYTE9HKHgpIEFYTG9nZ2VyOjpsb2coeCkKICNlbmRpZiAvLyBMT0dfRElTQUJM
RUQKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggNjQ5NTJiMzUzNTlmZWY3MDVkZDcwYTQ2MDYx
YjIzMTVlNTIyYmVlMy4uZTgxOGVmZDFiOWYyNGUyOWY3Njc1ZGUxODNkYmY5M2M0NGRmMzU0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBA
IC0zNzksNyArMzc5LDcgQEAgQVhDb3JlT2JqZWN0KiBBWE9iamVjdENhY2hlOjpmb2N1c2VkT2Jq
ZWN0KERvY3VtZW50JiBkb2N1bWVudCkKIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6aXNv
bGF0ZWRUcmVlRm9jdXNlZE9iamVjdCgpCiB7CiAgICAgaWYgKGF1dG8gdHJlZSA9IGdldE9yQ3Jl
YXRlSXNvbGF0ZWRUcmVlKCkpCi0gICAgICAgIHJldHVybiB0cmVlLT5mb2N1c2VkVUlFbGVtZW50
KCkuZ2V0KCk7CisgICAgICAgIHJldHVybiB0cmVlLT5mb2N1c2VkTm9kZSgpLmdldCgpOwogCiAg
ICAgLy8gU2hvdWxkIG5vdCBnZXQgaGVyZSwgY291bGRuJ3QgY3JlYXRlIHRoZSBJc29sYXRlZFRy
ZWUuCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zMDc4LDYgKzMwNzgsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBlcmZvcm1EZWZlcnJlZENhY2hlVXBkYXRlKCkKICNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVj
dENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIERvY3Vt
ZW50JiBkb2N1bWVudCkKIHsKKyAgICBBWFRSQUNFKCJBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlz
b2xhdGVkVHJlZSIpOwogICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAg
IFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZShBWElzb2xhdGVkVHJlZTo6Y3JlYXRlVHJlZUZv
clBhZ2VJRChwYWdlSUQpKTsKQEAgLTMwOTUsMTkgKzMwOTYsMjMgQEAgUmVmPEFYSXNvbGF0ZWRU
cmVlPiBBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZShQYWdlSWRlbnRpZmllciBw
YWdlSUQsIEQKIAogICAgIGF1dG8qIGF4Rm9jdXMgPSBheE9iamVjdENhY2hlLT5mb2N1c2VkT2Jq
ZWN0KGRvY3VtZW50KTsKICAgICBpZiAoYXhGb2N1cykKLSAgICAgICAgdHJlZS0+c2V0Rm9jdXNl
ZE5vZGUoYXhGb2N1cy0+b2JqZWN0SUQoKSk7CisgICAgICAgIHRyZWUtPnNldEZvY3VzZWROb2Rl
SUQoYXhGb2N1cy0+b2JqZWN0SUQoKSk7CiAKKyAgICBBWExPRygqdHJlZSk7CiAgICAgcmV0dXJu
IG1ha2VSZWYoKnRyZWUpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVk
VHJlZShBWENvcmVPYmplY3QmIG9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQog
eworICAgIEFYVFJBQ0UoIkFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZSIpOworICAg
IEFYTE9HKHN0ZDo6bWFrZV9wYWlyKCZvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgIGlmICgh
bV9wYWdlSUQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gdHJlZSA9IEFYSXNvbGF0ZWRU
cmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAgICAgaWYgKCF0cmVlKQogICAgICAgICBy
ZXR1cm47CisgICAgQVhMT0coKnRyZWUpOwogCiAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsK
ICAgICBjYXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKQEAgLTMxMjAsNiArMzEyNSw3IEBAIHZv
aWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKEFYQ29yZU9iamVjdCYgb2JqZWN0
LCBBWE5vdGlmaWNhdGlvbiBub3RpCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAg
fQorICAgIEFYTE9HKCp0cmVlKTsKIH0KIAogLy8gRklYTUU6IHNob3VsZCBiZSBhZGRlZCB0byBX
VEY6OlZlY3Rvci4KQEAgLTMxMzQsMTcgKzMxNDAsMjAgQEAgc3RhdGljIGJvb2wgYXBwZW5kSWZO
b3RDb250YWluc01hdGNoaW5nKFZlY3RvcjxUPiYgdmVjdG9yLCBjb25zdCBUJiB2YWx1ZSwgRiBt
YXQKIAogdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9y
PHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWN0PiwgQVhOb3RpZmljYXRpb24+PiYgbm90aWZp
Y2F0aW9ucykKIHsKKyAgICBBWFRSQUNFKCJBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRy
ZWUiKTsKICAgICBpZiAoIW1fcGFnZUlEKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIHRy
ZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRCgqbV9wYWdlSUQpOwogICAgIGlmICgh
dHJlZSkKICAgICAgICAgcmV0dXJuOworICAgIEFYTE9HKCp0cmVlKTsKIAogICAgIC8vIEZpbHRl
ciBvdXQgbXVsdGlwbGUgbm90aWZpY2F0aW9ucyBmb3IgdGhlIHNhbWUgb2JqZWN0LiBUaGlzIGF2
b2lkcwogICAgIC8vIHVwZGF0aW5nIHRoZSBpc29sYXRlZCB0cmVlIG11bHRpcGxlIHRpbWVzIHVu
bmVjZXNzYXJpbHkuCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWN0Piwg
QVhOb3RpZmljYXRpb24+PiBmaWx0ZXJlZE5vdGlmaWNhdGlvbnM7CiAgICAgZm9yIChjb25zdCBh
dXRvJiBub3RpZmljYXRpb24gOiBub3RpZmljYXRpb25zKSB7CisgICAgICAgIEFYTE9HKG5vdGlm
aWNhdGlvbik7CiAgICAgICAgIGlmICghbm90aWZpY2F0aW9uLmZpcnN0IHx8IG5vdGlmaWNhdGlv
bi5maXJzdC0+b2JqZWN0SUQoKSA9PSBJbnZhbGlkQVhJRCkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCkBAIC0zMTczLDYgKzMxODIsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xh
dGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplYwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CisgICAgQVhMT0coKnRyZWUpOwogfQogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5k
ZXggYTE0MTE5NDMyYzU4MGRhMDQ4NzJiMjU0OWI2NjAyYTk1OGFjMDE4OC4uNDc3Nzk0Y2Y1ZDM3
NTc2NzI3MmZkYjFkZDMzM2VhOTY3NWE3Y2Q5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSA8d3Rm
L2dsaWIvR1JlZlB0ci5oPgogI2VuZGlmCiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgVGV4dFN0
cmVhbTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKQEAgLTYx
OCw0ICs2MjIsNiBAQCBpbmxpbmUgQVhBdHRyaWJ1dGVDYWNoZUVuYWJsZXI6On5BWEF0dHJpYnV0
ZUNhY2hlRW5hYmxlcigpIHsgfQogCiAjZW5kaWYKIAorV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRv
cjw8KFdURjo6VGV4dFN0cmVhbSYsIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKTsKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcAppbmRleCBm
MTAyOWIxZTMwYzJjZGQyMWY3YTdkYzg4MDE4OGM1NzFiN2JkMzNkLi43ODkwOTA5YTgyZDgyY2Jl
MWQ4ODQ5MGQ0MDA3Yjk3N2YxMTcyMzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApA
QCAtNTgyLDcgKzU4Miw3IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6bWF0aFBvc3RzY3JpcHRz
KEFjY2Vzc2liaWxpdHlNYXRoTXVsdGlzY3JpcHRQYWlycyYgcGFpcnMpCiAKIEFYQ29yZU9iamVj
dCogQVhJc29sYXRlZE9iamVjdDo6Zm9jdXNlZFVJRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIHRyZWUoKS0+Zm9jdXNlZFVJRWxlbWVudCgpLmdldCgpOworICAgIHJldHVybiB0cmVlKCkt
PmZvY3VzZWROb2RlKCkuZ2V0KCk7CiB9CiAgICAgCiBBWENvcmVPYmplY3QqIEFYSXNvbGF0ZWRP
YmplY3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKaW5kZXggMmNjZTBhMTljOWJlN2ViNDc3ODVmYWI0ZTMyNzg0YjIwOTA4NzE5MS4uY2NmYzZj
MGIzMmZhYjM3YzkwODgwMzgyMzczYzRkNjNlZDdhNmI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRy
ZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQogCiAgICAgYXV0
byBuZXdUcmVlID0gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZSgpOwogICAgIHRyZWVQYWdlQ2FjaGUo
KS5zZXQocGFnZUlELCBuZXdUcmVlLmNvcHlSZWYoKSk7Ci0gICAgdHJlZUlEQ2FjaGUoKS5zZXQo
bmV3VHJlZS0+dHJlZUlkZW50aWZpZXIoKSwgbmV3VHJlZS5jb3B5UmVmKCkpOworICAgIHRyZWVJ
RENhY2hlKCkuc2V0KG5ld1RyZWUtPnRyZWVJRCgpLCBuZXdUcmVlLmNvcHlSZWYoKSk7CiAgICAg
cmV0dXJuIG5ld1RyZWU7CiB9CiAKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIEFYSXNvbGF0ZWRU
cmVlOjpyZW1vdmVUcmVlRm9yUGFnZUlEKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCkKICAgICAgICAg
dHJlZS0+c2V0QVhPYmplY3RDYWNoZShudWxscHRyKTsKICAgICAgICAgdHJlZUxvY2tlci51bmxv
Y2tFYXJseSgpOwogCi0gICAgICAgIHRyZWVJRENhY2hlKCkucmVtb3ZlKHRyZWUtPnRyZWVJZGVu
dGlmaWVyKCkpOworICAgICAgICB0cmVlSURDYWNoZSgpLnJlbW92ZSh0cmVlLT50cmVlSUQoKSk7
CiAgICAgfQogfQogCkBAIC0xNDAsNyArMTQwLDYgQEAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBB
WElzb2xhdGVkVHJlZTo6dHJlZUZvclBhZ2VJRChQYWdlSWRlbnRpZmllciBwYWdlSUQpCiAKIFJl
ZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJ
RCkgY29uc3QKIHsKLSAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIik7CiAg
ICAgcmV0dXJuIGF4SUQgIT0gSW52YWxpZEFYSUQgPyBtX3JlYWRlclRocmVhZE5vZGVNYXAuZ2V0
KGF4SUQpIDogbnVsbHB0cjsKIH0KIApAQCAtMTY3LDcgKzE2Niw3IEBAIHZvaWQgQVhJc29sYXRl
ZFRyZWU6OmdlbmVyYXRlU3VidHJlZShBWENvcmVPYmplY3QmIGF4T2JqZWN0LCBBWElEIHBhcmVu
dElELCBib29sCiAgICAgYXBwZW5kTm9kZUNoYW5nZXMobm9kZUNoYW5nZXMpOwogCiAgICAgaWYg
KHBhcmVudElEID09IEludmFsaWRBWElEKQotICAgICAgICBzZXRSb290Tm9kZShvYmplY3QpOwor
ICAgICAgICBzZXRSb290Tm9kZUlEKG9iamVjdC0+b2JqZWN0SUQoKSk7CiAgICAgLy8gRklYTUU6
IGVsc2UgYXR0YWNoIHRoZSBuZXdseSBjcmVhdGVkIHN1YnRyZWUgdG8gaXRzIHBhcmVudC4KIH0K
IApAQCAtMjY0LDUxICsyNjMsMzggQEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6dXBkYXRlQ2hpbGRy
ZW4oQVhDb3JlT2JqZWN0JiBheE9iamVjdCkKICAgICB9CiB9CiAKLVJlZlB0cjxBWElzb2xhdGVk
T2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6Zm9jdXNlZFVJRWxlbWVudCgpCitSZWZQdHI8QVhJc29s
YXRlZE9iamVjdD4gQVhJc29sYXRlZFRyZWU6OmZvY3VzZWROb2RlKCkKIHsKICAgICBBWFRSQUNF
KCJBWElzb2xhdGVkVHJlZTo6Zm9jdXNlZFVJRWxlbWVudCIpOworICAgIC8vIEFwcGx5IHBlbmRp
bmcgY2hhbmdlcyBpbiBjYXNlIGZvY3VzIGhhcyBjaGFuZ2VkIGFuZCBoYXNuJ3QgYmVlbiB1cGRh
dGVkLgorICAgIGFwcGx5UGVuZGluZ0NoYW5nZXMoKTsKKyAgICBMb2NrSG9sZGVyIGxvY2tlciB7
IG1fY2hhbmdlTG9nTG9jayB9OworICAgIEFYTE9HKG1ha2VTdHJpbmcoImZvY3VzZWROb2RlSUQg
IiwgbV9mb2N1c2VkTm9kZUlEKSk7CiAgICAgcmV0dXJuIG5vZGVGb3JJRChtX2ZvY3VzZWROb2Rl
SUQpOwogfQotICAgIAorCiBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gQVhJc29sYXRlZFRyZWU6
OnJvb3ROb2RlKCkKIHsKICAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6cm9vdE5vZGUiKTsK
KyAgICAvLyBBcHBseSBwZW5kaW5nIGNoYW5nZXMgaW4gY2FzZSB0aGUgcm9vdCBub2RlIGlzIGlu
IHRoZSBwZW5kaW5nIGNoYW5nZXMuCisgICAgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOworICAgIExv
Y2tIb2xkZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2NrIH07CiAgICAgcmV0dXJuIG5vZGVGb3JJ
RChtX3Jvb3ROb2RlSUQpOwogfQogCi12b2lkIEFYSXNvbGF0ZWRUcmVlOjpzZXRSb290Tm9kZShS
ZWY8QVhJc29sYXRlZE9iamVjdD4mIHJvb3QpCi17Ci0gICAgQVhUUkFDRSgiQVhJc29sYXRlZFRy
ZWU6OnNldFJvb3ROb2RlIik7Ci0gICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xv
Y2sgfTsKLSAgICBtX3Jvb3ROb2RlSUQgPSByb290LT5vYmplY3RJRCgpOwotICAgIG1fcmVhZGVy
VGhyZWFkTm9kZU1hcC5hZGQocm9vdC0+b2JqZWN0SUQoKSwgV1RGTW92ZShyb290KSk7Ci19Ci0g
ICAgCi12b2lkIEFYSXNvbGF0ZWRUcmVlOjpzZXRGb2N1c2VkTm9kZShBWElEIGF4SUQpCit2b2lk
IEFYSXNvbGF0ZWRUcmVlOjpzZXRSb290Tm9kZUlEKEFYSUQgYXhJRCkKIHsKLSAgICBBWFRSQUNF
KCJBWElzb2xhdGVkVHJlZTo6c2V0Rm9jdXNlZE5vZGUiKTsKKyAgICBBWFRSQUNFKCJBWElzb2xh
dGVkVHJlZTo6c2V0Um9vdE5vZGVJRCIpOwogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKLSAgICBtX2ZvY3VzZWRO
b2RlSUQgPSBheElEOwotICAgIGlmIChheElEID09IEludmFsaWRBWElEKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAobV9yZWFkZXJUaHJlYWROb2RlTWFwLmNvbnRhaW5zKG1fZm9jdXNlZE5v
ZGVJRCkpCi0gICAgICAgIHJldHVybjsgLy8gTm90aGluZyB0byBkbywgdGhlIGZvY3VzIGlzIHNl
dC4KLQotICAgIC8vIElmIHRoZSBmb2N1c2VkIG9iamVjdCBpcyBpbiB0aGUgcGVuZGluZyBhcHBl
bmRzLCBhZGQgaXQgdG8gdGhlIHJlYWRlcgotICAgIC8vIG1hcCwgc28gdGhhdCB3ZSBjYW4gcmV0
dXJuIHRoZSByaWdodCBmb2N1c2VkIG9iamVjdCBpZiByZXF1ZXN0ZWQgYmVmb3JlCi0gICAgLy8g
cGVuZGluZyBhcHBlbmRzIGFyZSBhcHBsaWVkLgotICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6
IG1fcGVuZGluZ0FwcGVuZHMpIHsKLSAgICAgICAgaWYgKGl0ZW0ubV9pc29sYXRlZE9iamVjdC0+
b2JqZWN0SUQoKSA9PSBtX2ZvY3VzZWROb2RlSUQKLSAgICAgICAgICAgICYmIG1fcmVhZGVyVGhy
ZWFkTm9kZU1hcC5hZGQobV9mb2N1c2VkTm9kZUlELCBpdGVtLm1faXNvbGF0ZWRPYmplY3QuZ2V0
KCkpICYmIGl0ZW0ubV93cmFwcGVyKQotICAgICAgICAgICAgbV9yZWFkZXJUaHJlYWROb2RlTWFw
LmdldChtX2ZvY3VzZWROb2RlSUQpLT5hdHRhY2hQbGF0Zm9ybVdyYXBwZXIoaXRlbS5tX3dyYXBw
ZXIuZ2V0KCkpOwotICAgIH0KKyAgICBtX3Jvb3ROb2RlSUQgPSBheElEOwogfQogCiB2b2lkIEFY
SXNvbGF0ZWRUcmVlOjpzZXRGb2N1c2VkTm9kZUlEKEFYSUQgYXhJRCkKIHsKICAgICBBWFRSQUNF
KCJBWElzb2xhdGVkVHJlZTo6c2V0Rm9jdXNlZE5vZGVJRCIpOworICAgIEFYTE9HKG1ha2VTdHJp
bmcoImF4SUQgIiwgYXhJRCkpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgTG9j
a0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKICAgICBtX3BlbmRpbmdGb2N1c2Vk
Tm9kZUlEID0gYXhJRDsKIH0KQEAgLTMzNywxMyArMzIzLDEzIEBAIHZvaWQgQVhJc29sYXRlZFRy
ZWU6OmFwcGVuZE5vZGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxOb2RlQ2hhbmdlPiYgY2hhbmdlcykK
IHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQogewogICAgIEFYVFJB
Q0UoIkFYSXNvbGF0ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzIik7Ci0gICAgUkVMRUFTRV9B
U1NFUlQoIWlzTWFpblRocmVhZCgpKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hhbmdl
TG9nTG9jayB9OwogCiAgICAgbV9mb2N1c2VkTm9kZUlEID0gbV9wZW5kaW5nRm9jdXNlZE5vZGVJ
RDsKIAogICAgIHdoaWxlIChtX3BlbmRpbmdOb2RlUmVtb3ZhbHMuc2l6ZSgpKSB7CiAgICAgICAg
IGF1dG8gYXhJRCA9IG1fcGVuZGluZ05vZGVSZW1vdmFscy50YWtlTGFzdCgpOworICAgICAgICBB
WExPRyhtYWtlU3RyaW5nKCJyZW1vdmluZyBheElEICIsIGF4SUQpKTsKICAgICAgICAgaWYgKGF4
SUQgPT0gSW52YWxpZEFYSUQpCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMzUzLDYgKzMz
OSw3IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQogCiAgICAg
d2hpbGUgKG1fcGVuZGluZ1N1YnRyZWVSZW1vdmFscy5zaXplKCkpIHsKICAgICAgICAgYXV0byBh
eElEID0gbV9wZW5kaW5nU3VidHJlZVJlbW92YWxzLnRha2VMYXN0KCk7CisgICAgICAgIEFYTE9H
KG1ha2VTdHJpbmcoInJlbW92aW5nIHN1YnRyZWUgYXhJRCAiLCBheElEKSk7CiAgICAgICAgIGlm
IChheElEID09IEludmFsaWRBWElEKQogICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTM2Nyw2
ICszNTQsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKCkKICAg
ICAgICAgQVNTRVJUKChpdGVtLm1faXNvbGF0ZWRPYmplY3QtPndyYXBwZXIoKSB8fCBpdGVtLm1f
d3JhcHBlcikKICAgICAgICAgICAgICYmICEoaXRlbS5tX2lzb2xhdGVkT2JqZWN0LT53cmFwcGVy
KCkgJiYgaXRlbS5tX3dyYXBwZXIpKTsKICAgICAgICAgQVhJRCBheElEID0gaXRlbS5tX2lzb2xh
dGVkT2JqZWN0LT5vYmplY3RJRCgpOworICAgICAgICBBWExPRyhtYWtlU3RyaW5nKCJhcHBlbmRp
bmcgYXhJRCAiLCBheElEKSk7CiAgICAgICAgIGlmIChheElEID09IEludmFsaWRBWElEKQogICAg
ICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGM0MDU1MzhhZGE0
YjkyNzQwNDNjMmI3MDgwYmRmZWUxZTQ5YjI2MDguLjUxMzQ2MWU4MzJhMjY3YmJhZmI2ZTQxMjMx
ZGZlZjVlMGE4MmI5NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMzMsNiArMzMsMTAgQEAK
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3Vu
dGVkLmg+CiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgVGV4dFN0cmVhbTsKK30KKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBBWElzb2xhdGVkT2JqZWN0OwpAQCAtNDMsNyArNDcsNyBA
QCB0eXBlZGVmIHVuc2lnbmVkIEFYSXNvbGF0ZWRUcmVlSUQ7CiAKIGNsYXNzIEFYSXNvbGF0ZWRU
cmVlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlPiB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLQorICAgIGZyaWVuZCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0
U3RyZWFtJiwgQVhJc29sYXRlZFRyZWUmKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFYSXNv
bGF0ZWRUcmVlPiBjcmVhdGUoKTsKICAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZSgpOwpAQCAt
NTcsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBWE9iamVjdENhY2hlKEFYT2JqZWN0
Q2FjaGUqIGF4T2JqZWN0Q2FjaGUpIHsgbV9heE9iamVjdENhY2hlID0gYXhPYmplY3RDYWNoZTsg
fQogCiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IHJvb3ROb2RlKCk7Ci0gICAgUmVmUHRy
PEFYSXNvbGF0ZWRPYmplY3Q+IGZvY3VzZWRVSUVsZW1lbnQoKTsKKyAgICBSZWZQdHI8QVhJc29s
YXRlZE9iamVjdD4gZm9jdXNlZE5vZGUoKTsKICAgICBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4g
bm9kZUZvcklEKEFYSUQpIGNvbnN0OwogICAgIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZE9iamVj
dD4gbm9kZUluVHJlZUZvcklEKEFYSXNvbGF0ZWRUcmVlSUQsIEFYSUQpOwogICAgIFZlY3RvcjxS
ZWZQdHI8QVhDb3JlT2JqZWN0Pj4gb2JqZWN0c0ZvcklEcyhWZWN0b3I8QVhJRD4pIGNvbnN0OwpA
QCAtNzksMTkgKzgzLDE3IEBAIHB1YmxpYzoKICAgICAvLyBSZW1vdmVzIHRoZSBnaXZlbiBub2Rl
IGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzLgogICAgIHZvaWQgcmVtb3ZlU3VidHJlZShBWElEKTsK
IAotICAgIC8vIEJvdGggc2V0Um9vdE5vZGUgYW5kIHNldEZvY3VzZWROb2RlIG11c3QgYmUgY2Fs
bGVkIG9ubHkgZHVyaW5nIHRoZQotICAgIC8vIGdlbmVyYXRpb24gb2YgdGhlIElzb2xhdGVkVHJl
ZS4KLSAgICAvLyBUaGUgZm9jdXNlZCBub2RlIG5lZWRzIHRvIGJlIHNldCBkdXJpbmcgdGhlIGdl
bmVyYXRpb24gYmVjYXVzZSBhIHJlcXVlc3QKLSAgICAvLyBmb3IgaXQgY2FuIGNvbWUgaW4gYmVm
b3JlIHBlbmRpbmcgY2hhbmdlcyBhcmUgYXBwbGllZC4gRm9yIGZvY3VzZWQgbm9kZQotICAgIC8v
IHVwZGF0ZXMsIHVzZSBzZXRGb2N1c05vZGVJRC4KLSAgICB2b2lkIHNldFJvb3ROb2RlKFJlZjxB
WElzb2xhdGVkT2JqZWN0PiYpOwotICAgIHZvaWQgc2V0Rm9jdXNlZE5vZGUoQVhJRCk7CisgICAg
Ly8gQm90aCBzZXRSb290Tm9kZUlEIGFuZCBzZXRGb2N1c2VkTm9kZUlEIGFyZSBjYWxsZWQgZHVy
aW5nIHRoZSBnZW5lcmF0aW9uCisgICAgLy8gb2YgdGhlIElzb2xhdGVkVHJlZS4KKyAgICAvLyBG
b2N1c2VkIG5vZGUgdXBkYXRlcyBpbiBBWE9iamVjdENhY2hlIHVzZSBzZXRGb2N1c05vZGVJRC4K
KyAgICB2b2lkIHNldFJvb3ROb2RlSUQoQVhJRCk7CiAgICAgdm9pZCBzZXRGb2N1c2VkTm9kZUlE
KEFYSUQpOwogCi0gICAgLy8gQ2FsbCBvbiBBWCB0aHJlYWQKKyAgICAvLyBDYWxsZWQgb24gQVgg
dGhyZWFkIGZyb20gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgbWV0aG9kcy4KKyAgICAv
LyBEdXJpbmcgbGF5b3V0IHRlc3RzLCBpdCBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLgog
ICAgIHZvaWQgYXBwbHlQZW5kaW5nQ2hhbmdlcygpOwogCi0gICAgQVhJc29sYXRlZFRyZWVJRCB0
cmVlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZUlEOyB9CisgICAgQVhJc29sYXRl
ZFRyZWVJRCB0cmVlSUQoKSBjb25zdCB7IHJldHVybiBtX3RyZWVJRDsgfQogCiBwcml2YXRlOgog
ICAgIEFYSXNvbGF0ZWRUcmVlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>