<?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>223389</bug_id>
          
          <creation_ts>2021-03-17 11:16:40 -0700</creation_ts>
          <short_desc>Add logging to FullscreenManager.</short_desc>
          <delta_ts>2021-03-17 14:13:16 -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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1740797</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-17 11:16:40 -0700</bug_when>
    <thetext>Add logging to FullscreenManager.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740800</commentid>
    <comment_count>1</comment_count>
      <attachid>423506</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-17 11:18:50 -0700</bug_when>
    <thetext>Created attachment 423506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740805</commentid>
    <comment_count>2</comment_count>
      <attachid>423506</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-17 11:22:46 -0700</bug_when>
    <thetext>Comment on attachment 423506
Patch

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

&gt; Source/WebCore/dom/FullscreenManager.cpp:50
&gt; +static const char* logClassName() { return &quot;FullscreenManager&quot;; }
&gt; +static WTFLogChannel&amp; logChannel() { return LogFullscreen; }

As we discussed, this is foot gun with the unified build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740814</commentid>
    <comment_count>3</comment_count>
      <attachid>423508</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-03-17 11:30:02 -0700</bug_when>
    <thetext>Created attachment 423508
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740902</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-17 14:12:08 -0700</bug_when>
    <thetext>Committed r274588: &lt;https://commits.webkit.org/r274588&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423508.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740904</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-17 14:13:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75543298&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423506</attachid>
            <date>2021-03-17 11:18:50 -0700</date>
            <delta_ts>2021-03-17 12:34:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223389-20210317111849.patch</filename>
            <type>text/plain</type>
            <size>16503</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI2MDJlNjU2MDBiZDhk
YmRhMDNhNWI0MGUwYjI3YmE3YmM1ODAyNi4uYzg0MjgxN2M4NzdhMjc0NTcyOGMzYzE4MjQxZGJh
ZTQ5MGRiM2JmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAzLTE3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIHRvIEZ1
bGxzY3JlZW5NYW5hZ2VyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBkb20vRnVsbHNjcmVlbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
bG9nQ2xhc3NOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmxvZ0NoYW5uZWwpOgorICAgICAgICAo
V2ViQ29yZTo6bV9sb2dJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bGxzY3JlZW5N
YW5hZ2VyOjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
RnVsbHNjcmVlbk1hbmFnZXI6OmNhbmNlbEZ1bGxzY3JlZW4pOgorICAgICAgICAoV2ViQ29yZTo6
RnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1
bGxzY3JlZW5NYW5hZ2VyOjp3aWxsRW50ZXJGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6
OkZ1bGxzY3JlZW5NYW5hZ2VyOjpkaWRFbnRlckZ1bGxzY3JlZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6RnVsbHNjcmVlbk1hbmFnZXI6OndpbGxFeGl0RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJD
b3JlOjpGdWxsc2NyZWVuTWFuYWdlcjo6ZGlkRXhpdEZ1bGxzY3JlZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6RnVsbHNjcmVlbk1hbmFnZXI6OmFkanVzdEZ1bGxzY3JlZW5FbGVtZW50T25Ob2RlUmVt
b3ZhbCk6CisgICAgICAgICogZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmg6CisKIDIwMjEtMDMtMTYg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFueSBtZWRpYS9t
ZWRpYS1mcmFnbWVudHMvIHRlc3RzIGFyZSBjcmFzaGluZyBkdWUgdG8gb3RoZXIgdGVzdHMgdGhh
dCBydW4gYmVmb3JlIHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRnVsbHNj
cmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmNw
cAppbmRleCAwYzY3NjhhMWJjMDg0NWQ1ZmY5NWM1OTEwMDRjZmUyOGVlNGFiNzM3Li40YzA3MDhh
OThlZjllNGJiOGZjNjU1Njg3YmU2MDMyYjcwMWNhMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRnVsbHNjcmVlbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9G
dWxsc2NyZWVuTWFuYWdlci5jcHAKQEAgLTM0LDE4ICszNCwyNiBAQAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiSFRNTElGcmFtZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFF
bGVtZW50LmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnVsbFNjcmVlbi5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNs
dWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgp
IHsgcmV0dXJuICJGdWxsc2NyZWVuTWFuYWdlciI7IH0KK3N0YXRpYyBXVEZMb2dDaGFubmVsJiBs
b2dDaGFubmVsKCkgeyByZXR1cm4gTG9nRnVsbHNjcmVlbjsgfQorCiBGdWxsc2NyZWVuTWFuYWdl
cjo6RnVsbHNjcmVlbk1hbmFnZXIoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogbV9kb2N1bWVu
dCB7IGRvY3VtZW50IH0KKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nSWRl
bnRpZmllcihMb2dnZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgogewog
fQogCkBAIC03Miw2ICs4MCw3IEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OnJlcXVlc3RGdWxs
c2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsc2NyZWVuCiAgICAgLy8gICAt
IGFuIGFjdGl2YXRpb24gYmVoYXZpb3IgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCB3aG9z
ZSBjbGljayBldmVudCB3YXMgdHJ1c3RlZCwgb3IKICAgICAvLyAgIC0gdGhlIGV2ZW50IGxpc3Rl
bmVyIGZvciBhIHRydXN0ZWQgY2xpY2sgZXZlbnQgaXMgYmVpbmcgaGFuZGxlZC4KICAgICBpZiAo
IVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgICAg
ICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIiFwcm9jZXNzaW5nVXNlckdlc3R1cmU7IGZhaWxp
bmcuIik7CiAgICAgICAgIGZhaWxlZFByZWZsaWdodHMoV1RGTW92ZShlbGVtZW50KSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC03OSw2ICs4OCw3IEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFn
ZXI6OnJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsc2Ny
ZWVuCiAgICAgLy8gV2UgZG8gbm90IGFsbG93IHByZXNzaW5nIHRoZSBFc2NhcGUga2V5IGFzIGEg
dXNlciBnZXN0dXJlIHRvIGVudGVyIGZ1bGxzY3JlZW4gc2luY2UgdGhpcyBpcyB0aGUga2V5CiAg
ICAgLy8gdG8gZXhpdCBmdWxsc2NyZWVuLgogICAgIGlmIChVc2VyR2VzdHVyZUluZGljYXRvcjo6
Y3VycmVudFVzZXJHZXN0dXJlKCktPmdlc3R1cmVUeXBlKCkgPT0gVXNlckdlc3R1cmVUeXBlOjpF
c2NhcGVLZXkpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJDdXJyZW50IGdl
c3R1cmUgaXMgRXNjYXBlS2V5OyBmYWlsaW5nLiIpOwogICAgICAgICBkb2N1bWVudCgpLmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCAiVGhlIEVzY2FwZSBrZXkgbWF5IG5vdCBiZSB1c2VkIGFzIGEgdXNlciBnZXN0dXJlIHRvIGVu
dGVyIGZ1bGxzY3JlZW4iX3MpOwogICAgICAgICBmYWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxl
bWVudCkpOwogICAgICAgICByZXR1cm47CkBAIC04Niw2ICs5Niw3IEBAIHZvaWQgRnVsbHNjcmVl
bk1hbmFnZXI6OnJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBG
dWxsc2NyZWVuCiAKICAgICAvLyBUaGVyZSBpcyBhIHByZXZpb3VzbHktZXN0YWJsaXNoZWQgdXNl
ciBwcmVmZXJlbmNlLCBzZWN1cml0eSByaXNrLCBvciBwbGF0Zm9ybSBsaW1pdGF0aW9uLgogICAg
IGlmICghcGFnZSgpIHx8ICFwYWdlKCktPnNldHRpbmdzKCkuZnVsbFNjcmVlbkVuYWJsZWQoKSkg
eworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIiFwYWdlKCkgb3IgZnVsbHNjcmVl
biBub3QgZW5hYmxlZDsgZmFpbGluZy4iKTsKICAgICAgICAgZmFpbGVkUHJlZmxpZ2h0cyhXVEZN
b3ZlKGVsZW1lbnQpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTk3LDYgKzEwOCw3IEBA
IHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OnJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVudChFbGVt
ZW50KiBlbGVtZW50LCBGdWxsc2NyZWVuCiAgICAgICAgIGhhc0tleWJvYXJkQWNjZXNzID0gZmFs
c2U7CiAKICAgICAgICAgaWYgKCFwYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnN1cHBvcnRzRnVs
bFNjcmVlbkZvckVsZW1lbnQoKmVsZW1lbnQsIGhhc0tleWJvYXJkQWNjZXNzKSkgeworICAgICAg
ICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJwYWdlIGRvZXMgbm90IHN1cHBvcnQgZnVs
bHNjcmVlbiBmb3IgZWxlbWVudDsgZmFpbGluZy4iKTsKICAgICAgICAgICAgIGZhaWxlZFByZWZs
aWdodHMoV1RGTW92ZShlbGVtZW50KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
QEAgLTEwNCwyOCArMTE2LDMyIEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OnJlcXVlc3RGdWxs
c2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsc2NyZWVuCiAKICAgICBtX3Bl
bmRpbmdGdWxsc2NyZWVuRWxlbWVudCA9IGVsZW1lbnQ7CiAKLSAgICBtX2Z1bGxzY3JlZW5UYXNr
UXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIGVsZW1lbnQgPSBtYWtlUmVmUHRyKGVsZW1lbnQpLCBj
aGVja1R5cGUsIGhhc0tleWJvYXJkQWNjZXNzLCBmYWlsZWRQcmVmbGlnaHRzXSAoKSBtdXRhYmxl
IHsKKyAgICBtX2Z1bGxzY3JlZW5UYXNrUXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIGVsZW1lbnQg
PSBtYWtlUmVmUHRyKGVsZW1lbnQpLCBjaGVja1R5cGUsIGhhc0tleWJvYXJkQWNjZXNzLCBmYWls
ZWRQcmVmbGlnaHRzLCBpZGVudGlmaWVyID0gTE9HSURFTlRJRklFUl0gKCkgbXV0YWJsZSB7CiAg
ICAgICAgIC8vIERvbid0IGFsbG93IGZ1bGxzY3JlZW4gaWYgaXQgaGFzIGJlZW4gY2FuY2VsbGVk
IG9yIGEgZGlmZmVyZW50IGZ1bGxzY3JlZW4gZWxlbWVudAogICAgICAgICAvLyBoYXMgcmVxdWVz
dGVkIGZ1bGxzY3JlZW4uCiAgICAgICAgIGlmIChtX3BlbmRpbmdGdWxsc2NyZWVuRWxlbWVudCAh
PSBlbGVtZW50KSB7CisgICAgICAgICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRhc2sgLSBw
ZW5kaW5nIGVsZW1lbnQgbWlzbWF0Y2g7IGZhaWxpbmcuIik7CiAgICAgICAgICAgICBmYWlsZWRQ
cmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgZnVsbHNjcmVlbiBpZiB3ZSdyZSBpbnNpZGUg
YW4gZXhpdEZ1bGxzY3JlZW4gb3BlcmF0aW9uLgogICAgICAgICBpZiAobV9wZW5kaW5nRXhpdEZ1
bGxzY3JlZW4pIHsKKyAgICAgICAgICAgIEVSUk9SX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIHBl
bmRpbmcgZXhpdCBmdWxsc2NyZWVuIG9wZXJhdGlvbjsgZmFpbGluZy4iKTsKICAgICAgICAgICAg
IGZhaWxlZFByZWZsaWdodHMoV1RGTW92ZShlbGVtZW50KSk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KIAogICAgICAgICAvLyBEb24ndCBhbGxvdyBmdWxsc2NyZWVuIGlmIGRvY3Vt
ZW50IGlzIGhpZGRlbi4KICAgICAgICAgaWYgKGRvY3VtZW50KCkuaGlkZGVuKCkpIHsKKyAgICAg
ICAgICAgIEVSUk9SX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIGRvY3VtZW50IGhpZGRlbjsgZmFp
bGluZy4iKTsKICAgICAgICAgICAgIGZhaWxlZFByZWZsaWdodHMoV1RGTW92ZShlbGVtZW50KSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICAvLyBUaGUgY29udGV4
dCBvYmplY3QgaXMgbm90IGluIGEgZG9jdW1lbnQuCiAgICAgICAgIGlmICghZWxlbWVudC0+aXND
b25uZWN0ZWQoKSkgeworICAgICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0g
ZWxlbWVudCBub3QgaW4gZG9jdW1lbnQ7IGZhaWxpbmcuIik7CiAgICAgICAgICAgICBmYWlsZWRQ
cmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CkBAIC0xMzMsNiArMTQ5LDcgQEAgdm9pZCBGdWxsc2NyZWVuTWFuYWdlcjo6cmVxdWVzdEZ1
bGxzY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIEZ1bGxzY3JlZW4KICAgICAgICAg
Ly8gVGhlIGNvbnRleHQgb2JqZWN0J3Mgbm9kZSBkb2N1bWVudCwgb3IgYW4gYW5jZXN0b3IgYnJv
d3NpbmcgY29udGV4dCdzIGRvY3VtZW50IGRvZXMgbm90IGhhdmUKICAgICAgICAgLy8gdGhlIGZ1
bGxzY3JlZW4gZW5hYmxlZCBmbGFnIHNldC4KICAgICAgICAgaWYgKGNoZWNrVHlwZSA9PSBFbmZv
cmNlSUZyYW1lQWxsb3dGdWxsc2NyZWVuUmVxdWlyZW1lbnQgJiYgIWlzRmVhdHVyZVBvbGljeUFs
bG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3Jl
ZW4sIGRvY3VtZW50KCkpKSB7CisgICAgICAgICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRh
c2sgLSBhbmNlc3RvciBkb2N1bWVudCBkb2VzIG5vdCBlbmFibGUgZnVsbHNjcmVlbjsgZmFpbGlu
Zy4iKTsKICAgICAgICAgICAgIGZhaWxlZFByZWZsaWdodHMoV1RGTW92ZShlbGVtZW50KSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTE0MCw2ICsxNTcsNyBAQCB2b2lkIEZ1
bGxzY3JlZW5NYW5hZ2VyOjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgRnVsbHNjcmVlbgogICAgICAgICAvLyBUaGUgY29udGV4dCBvYmplY3QncyBub2RlIGRv
Y3VtZW50IGZ1bGxzY3JlZW4gZWxlbWVudCBzdGFjayBpcyBub3QgZW1wdHkgYW5kIGl0cyB0b3Ag
ZWxlbWVudAogICAgICAgICAvLyBpcyBub3QgYW4gYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQgb2Jq
ZWN0LgogICAgICAgICBpZiAoIW1fZnVsbHNjcmVlbkVsZW1lbnRTdGFjay5pc0VtcHR5KCkgJiYg
IW1fZnVsbHNjcmVlbkVsZW1lbnRTdGFjay5sYXN0KCktPmNvbnRhaW5zKGVsZW1lbnQuZ2V0KCkp
KSB7CisgICAgICAgICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRhc2sgLSBmdWxsc2NyZWVu
IHN0YWNrIG5vdCBlbXB0eTsgZmFpbGluZy4iKTsKICAgICAgICAgICAgIGZhaWxlZFByZWZsaWdo
dHMoV1RGTW92ZShlbGVtZW50KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAg
LTE1Myw2ICsxNzEsNyBAQCB2b2lkIEZ1bGxzY3JlZW5NYW5hZ2VyOjpyZXF1ZXN0RnVsbHNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVsbHNjcmVlbgogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIGlmIChkZXNjZW5kZW50SGFzTm9uRW1wdHlTdGFjaykgeworICAg
ICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gZGVzY2VuZGVudCBkb2N1bWVu
dCBoYXMgbm9uLWVtcHR5IGZ1bGxzY3JlZW4gc3RhY2s7IGZhaWxpbmcuIik7CiAgICAgICAgICAg
ICBmYWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CkBAIC0yMDYsMTIgKzIyNSwxNCBAQCB2b2lkIEZ1bGxzY3JlZW5NYW5hZ2Vy
OjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVsbHNjcmVl
bgogICAgICAgICAvLyA1LiBSZXR1cm4sIGFuZCBydW4gdGhlIHJlbWFpbmluZyBzdGVwcyBhc3lu
Y2hyb25vdXNseS4KICAgICAgICAgLy8gNi4gT3B0aW9uYWxseSwgcGVyZm9ybSBzb21lIGFuaW1h
dGlvbi4KICAgICAgICAgbV9hcmVLZXlzRW5hYmxlZEluRnVsbHNjcmVlbiA9IGhhc0tleWJvYXJk
QWNjZXNzOwotICAgICAgICBtX2Z1bGxzY3JlZW5UYXNrUXVldWUuZW5xdWV1ZVRhc2soW3RoaXMs
IGVsZW1lbnQgPSBXVEZNb3ZlKGVsZW1lbnQpLCBmYWlsZWRQcmVmbGlnaHRzID0gV1RGTW92ZShm
YWlsZWRQcmVmbGlnaHRzKV0gKCkgbXV0YWJsZSB7CisgICAgICAgIG1fZnVsbHNjcmVlblRhc2tR
dWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywgZWxlbWVudCA9IFdURk1vdmUoZWxlbWVudCksIGZhaWxl
ZFByZWZsaWdodHMgPSBXVEZNb3ZlKGZhaWxlZFByZWZsaWdodHMpLCBpZGVudGlmaWVyXSAoKSBt
dXRhYmxlIHsKICAgICAgICAgICAgIGF1dG8gcGFnZSA9IHRoaXMtPnBhZ2UoKTsKICAgICAgICAg
ICAgIGlmICghcGFnZSB8fCBkb2N1bWVudCgpLmhpZGRlbigpIHx8IG1fcGVuZGluZ0Z1bGxzY3Jl
ZW5FbGVtZW50ICE9IGVsZW1lbnQgfHwgIWVsZW1lbnQtPmlzQ29ubmVjdGVkKCkpIHsKKyAgICAg
ICAgICAgICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRhc2sgLSBwYWdlLCBkb2N1bWVudCwg
b3IgZWxlbWVudCBtaXNtYXRjaDsgZmFpbGluZy4iKTsKICAgICAgICAgICAgICAgICBmYWlsZWRQ
cmVmbGlnaHRzKGVsZW1lbnQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIElORk9fTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gc3VjY2VzcyIpOwog
ICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuZW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudCgqZWxlbWVudC5nZXQoKSk7CiAgICAgICAgIH0pOwogCkBAIC0yMzEsOSArMjUyLDEyIEBA
IHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OmNhbmNlbEZ1bGxzY3JlZW4oKQogICAgICAgICAvLyB0
aGVyZSBpcyBhIHBlbmRpbmcgdGFzayBpbiBlbnRlckZ1bGxzY3JlZW4oKS4gQ2F1c2UgaXQgdG8g
Y2FuY2VsIGFuZCBmaXJlIGFuIGVycm9yCiAgICAgICAgIC8vIGJ5IGNsZWFyaW5nIHRoZSBwZW5k
aW5nIGZ1bGxzY3JlZW4gZWxlbWVudC4KICAgICAgICAgbV9wZW5kaW5nRnVsbHNjcmVlbkVsZW1l
bnQgPSBudWxscHRyOworICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiQ2FuY2VsbGlu
ZyBwZW5kaW5nIGZ1bGxzY3JlZW4gcmVxdWVzdC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAorICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworCiAgICAgLy8gVG8gYWNoaWV2ZSB0aGF0
IGFpbSwgcmVtb3ZlIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgdG9wIGRvY3VtZW50J3Mgc3Rh
Y2sgZXhjZXB0IGZvciB0aGUgZmlyc3QgYmVmb3JlCiAgICAgLy8gY2FsbGluZyB3ZWJraXRFeGl0
RnVsbHNjcmVlbigpOgogICAgIFZlY3RvcjxSZWZQdHI8RWxlbWVudD4+IHJlcGxhY2VtZW50RnVs
bHNjcmVlbkVsZW1lbnRTdGFjazsKQEAgLTI1NSw2ICsyNzksNyBAQCB2b2lkIEZ1bGxzY3JlZW5N
YW5hZ2VyOjpleGl0RnVsbHNjcmVlbigpCiAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgcGVuZGlu
ZyBmdWxsc2NyZWVuIGVsZW1lbnQgYnV0IGFuIGVtcHR5IGZ1bGxzY3JlZW4gZWxlbWVudCBzdGFj
aywKICAgICAgICAgLy8gdGhlcmUgaXMgYSBwZW5kaW5nIHRhc2sgaW4gcmVxdWVzdEZ1bGxzY3Jl
ZW5Gb3JFbGVtZW50KCkuIENhdXNlIGl0IHRvIGNhbmNlbCBhbmQgZmlyZSBhbiBlcnJvcgogICAg
ICAgICAvLyBieSBjbGVhcmluZyB0aGUgcGVuZGluZyBmdWxsc2NyZWVuIGVsZW1lbnQuCisgICAg
ICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJDYW5jZWxsaW5nIHBlbmRpbmcgZnVsbHNjcmVl
biByZXF1ZXN0LiIpOwogICAgICAgICBtX3BlbmRpbmdGdWxsc2NyZWVuRWxlbWVudCA9IG51bGxw
dHI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zMDQsMTUgKzMyOSwxOCBAQCB2b2lkIEZ1
bGxzY3JlZW5NYW5hZ2VyOjpleGl0RnVsbHNjcmVlbigpCiAKICAgICAvLyA2LiBSZXR1cm4sIGFu
ZCBydW4gdGhlIHJlbWFpbmluZyBzdGVwcyBhc3luY2hyb25vdXNseS4KICAgICAvLyA3LiBPcHRp
b25hbGx5LCBwZXJmb3JtIHNvbWUgYW5pbWF0aW9uLgotICAgIG1fZnVsbHNjcmVlblRhc2tRdWV1
ZS5lbnF1ZXVlVGFzayhbdGhpcywgbmV3VG9wID0gbWFrZVJlZlB0cihuZXdUb3ApLCBmdWxsc2Ny
ZWVuRWxlbWVudCA9IG1fZnVsbHNjcmVlbkVsZW1lbnRdIHsKKyAgICBtX2Z1bGxzY3JlZW5UYXNr
UXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIG5ld1RvcCA9IG1ha2VSZWZQdHIobmV3VG9wKSwgZnVs
bHNjcmVlbkVsZW1lbnQgPSBtX2Z1bGxzY3JlZW5FbGVtZW50LCBpZGVudGlmaWVyID0gTE9HSURF
TlRJRklFUl0gewogICAgICAgICBhdXRvKiBwYWdlID0gdGhpcy0+cGFnZSgpOwotICAgICAgICBp
ZiAoIXBhZ2UpCisgICAgICAgIGlmICghcGFnZSkgeworICAgICAgICAgICAgRVJST1JfTE9HKGlk
ZW50aWZpZXIsICJ0YXNrIC0gRG9jdW1lbnQgbm90IGluIHBhZ2U7IGJhaWxpbmcuIik7CiAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHBl
bmRpbmcgZnVsbHNjcmVlbiBlbGVtZW50IGJ1dCBubyBmdWxsc2NyZWVuIGVsZW1lbnQKICAgICAg
ICAgLy8gdGhlcmUgaXMgYSBwZW5kaW5nIHRhc2sgaW4gcmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVt
ZW50KCkuIENhdXNlIGl0IHRvIGNhbmNlbCBhbmQgZmlyZSBhbiBlcnJvcgogICAgICAgICAvLyBi
eSBjbGVhcmluZyB0aGUgcGVuZGluZyBmdWxsc2NyZWVuIGVsZW1lbnQuCiAgICAgICAgIGlmICgh
ZnVsbHNjcmVlbkVsZW1lbnQgJiYgbV9wZW5kaW5nRnVsbHNjcmVlbkVsZW1lbnQpIHsKKyAgICAg
ICAgICAgIElORk9fTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gQ2FuY2VsbGluZyBwZW5kaW5nIGZ1
bGxzY3JlZW4gcmVxdWVzdC4iKTsKICAgICAgICAgICAgIG1fcGVuZGluZ0Z1bGxzY3JlZW5FbGVt
ZW50ID0gbnVsbHB0cjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMzIxLDEx
ICszNDksMTMgQEAgdm9pZCBGdWxsc2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxzY3JlZW4oKQogICAg
ICAgICAvLyBmdWxsIHNjcmVlbiBzdGFjay4KICAgICAgICAgaWYgKCFuZXdUb3ApIHsKICAgICAg
ICAgICAgIG1fcGVuZGluZ0V4aXRGdWxsc2NyZWVuID0gdHJ1ZTsKKyAgICAgICAgICAgIElORk9f
TE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gRW1wdHkgZnVsbHNjcmVlbiBzdGFjazsgZXhpdGluZy4i
KTsKICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChmdWxsc2NyZWVuRWxlbWVudC5nZXQoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAogICAgICAgICAvLyBPdGhlcndpc2UsIG5vdGlmeSB0aGUgY2hyb21lIG9mIHRo
ZSBuZXcgZnVsbCBzY3JlZW4gZWxlbWVudC4KKyAgICAgICAgSU5GT19MT0coaWRlbnRpZmllciwg
InRhc2sgLSBOZXcgdG9wIG9mIGZ1bGxzY3JlZW4gc3RhY2suIik7CiAgICAgICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoKm5ld1RvcCk7CiAgICAg
fSk7CiB9CkBAIC0zNTIsMjAgKzM4MiwzMSBAQCBzdGF0aWMgdm9pZCB1bndyYXBGdWxsc2NyZWVu
UmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiogZnVsbHNjcmVlblJlbmRlcmVyLCBFbGVtZQogCiBi
b29sIEZ1bGxzY3JlZW5NYW5hZ2VyOjp3aWxsRW50ZXJGdWxsc2NyZWVuKEVsZW1lbnQmIGVsZW1l
bnQpCiB7Ci0gICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpdmluZ1JlbmRlclRyZWUoKSB8fCBkb2N1
bWVudCgpLmJhY2tGb3J3YXJkQ2FjaGVTdGF0ZSgpICE9IERvY3VtZW50OjpOb3RJbkJhY2tGb3J3
YXJkQ2FjaGUpCisgICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJUcmVlKCkpIHsKKyAgICAgICAgRVJS
T1JfTE9HKExPR0lERU5USUZJRVIsICJObyBsaXZpbmdSZW5kZXJUcmVlKCk7IGJhaWxpbmciKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChiYWNrRm9yd2FyZENhY2hl
U3RhdGUoKSAhPSBEb2N1bWVudDo6Tm90SW5CYWNrRm9yd2FyZENhY2hlKSB7CisgICAgICAgIEVS
Uk9SX0xPRyhMT0dJREVOVElGSUVSLCAiRG9jdW1lbnQgaW4gdGhlIEJhY2tGb3J3YXJkQ2FjaGU7
IGJhaWxpbmciKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIC8vIFByb3Rl
Y3QgYWdhaW5zdCBiZWluZyBjYWxsZWQgYWZ0ZXIgdGhlIGRvY3VtZW50IGhhcyBiZWVuIHJlbW92
ZWQgZnJvbSB0aGUgcGFnZS4KLSAgICBpZiAoIXBhZ2UoKSkKKyAgICBpZiAoIXBhZ2UoKSkgewor
ICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkRvY3VtZW50IG5vIGxvbmdlciBpbiBw
YWdlOyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBJ
ZiBwZW5kaW5nIGZ1bGxzY3JlZW4gZWxlbWVudCBpcyB1bnNldCBvciBhbm90aGVyIGVsZW1lbnQn
cyB3YXMgcmVxdWVzdGVkLAogICAgIC8vIGlzc3VlIGEgY2FuY2VsIGZ1bGxzY3JlZW4gcmVxdWVz
dCB0byB0aGUgY2xpZW50CiAgICAgaWYgKG1fcGVuZGluZ0Z1bGxzY3JlZW5FbGVtZW50ICE9ICZl
bGVtZW50KSB7CisgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJQZW5kaW5nIGVsZW1l
bnQgbWlzbWF0Y2g7IGlzc3VpbmcgZXhpdCBmdWxsc2NyZWVuIHJlcXVlc3QiKTsKICAgICAgICAg
cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5leGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoJmVsZW1l
bnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBJTkZPX0xPRyhMT0dJREVO
VElGSUVSKTsKICAgICBBU1NFUlQocGFnZSgpLT5zZXR0aW5ncygpLmZ1bGxTY3JlZW5FbmFibGVk
KCkpOwogCiAgICAgdW53cmFwRnVsbHNjcmVlblJlbmRlcmVyKG1fZnVsbHNjcmVlblJlbmRlcmVy
LmdldCgpLCBtX2Z1bGxzY3JlZW5FbGVtZW50LmdldCgpKTsKQEAgLTQwMCwxMSArNDQxLDIxIEBA
IGJvb2wgRnVsbHNjcmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxzY3JlZW4oRWxlbWVudCYgZWxl
bWVudCkKIAogYm9vbCBGdWxsc2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsc2NyZWVuKCkKIHsK
LSAgICBpZiAoIW1fZnVsbHNjcmVlbkVsZW1lbnQpCisgICAgaWYgKCFtX2Z1bGxzY3JlZW5FbGVt
ZW50KSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiTm8gZnVsbHNjcmVlbkVs
ZW1lbnQ7IGJhaWxpbmciKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotICAgIGlm
ICghaGFzTGl2aW5nUmVuZGVyVHJlZSgpIHx8IGJhY2tGb3J3YXJkQ2FjaGVTdGF0ZSgpICE9IERv
Y3VtZW50OjpOb3RJbkJhY2tGb3J3YXJkQ2FjaGUpCisgICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJU
cmVlKCkpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJObyBsaXZpbmdSZW5k
ZXJUcmVlKCk7IGJhaWxpbmciKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IGlmIChiYWNrRm9yd2FyZENhY2hlU3RhdGUoKSAhPSBEb2N1bWVudDo6Tm90SW5CYWNrRm9yd2Fy
ZENhY2hlKSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiRG9jdW1lbnQgaW4g
dGhlIEJhY2tGb3J3YXJkQ2FjaGU7IGJhaWxpbmciKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAgIG1fZnVsbHNjcmVlbkVs
ZW1lbnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiAgICAgcmV0dXJuIHRydWU7CkBA
IC00MTMsMTEgKzQ2NCwyMSBAQCBib29sIEZ1bGxzY3JlZW5NYW5hZ2VyOjpkaWRFbnRlckZ1bGxz
Y3JlZW4oKQogYm9vbCBGdWxsc2NyZWVuTWFuYWdlcjo6d2lsbEV4aXRGdWxsc2NyZWVuKCkKIHsK
ICAgICBhdXRvIGZ1bGxzY3JlZW5FbGVtZW50ID0gZnVsbHNjcmVlbk9yUGVuZGluZ0VsZW1lbnQo
KTsKLSAgICBpZiAoIWZ1bGxzY3JlZW5FbGVtZW50KQorICAgIGlmICghZnVsbHNjcmVlbkVsZW1l
bnQpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJObyBmdWxsc2NyZWVuT3JQ
ZW5kaW5nRWxlbWVudCgpOyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CiAKLSAgICBpZiAoIWhhc0xpdmluZ1JlbmRlclRyZWUoKSB8fCBiYWNrRm9yd2FyZENhY2hlU3Rh
dGUoKSAhPSBEb2N1bWVudDo6Tm90SW5CYWNrRm9yd2FyZENhY2hlKQorICAgIGlmICghaGFzTGl2
aW5nUmVuZGVyVHJlZSgpKSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiTm8g
bGl2aW5nUmVuZGVyVHJlZSgpOyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBpZiAoYmFja0ZvcndhcmRDYWNoZVN0YXRlKCkgIT0gRG9jdW1lbnQ6Ok5vdElu
QmFja0ZvcndhcmRDYWNoZSkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkRv
Y3VtZW50IGluIHRoZSBCYWNrRm9yd2FyZENhY2hlOyBiYWlsaW5nIik7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisgICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICBmdWxs
c2NyZWVuRWxlbWVudC0+d2lsbFN0b3BCZWluZ0Z1bGxzY3JlZW5FbGVtZW50KCk7CiAgICAgcmV0
dXJuIHRydWU7CkBAIC00MjcsMTEgKzQ4OCwyMiBAQCBib29sIEZ1bGxzY3JlZW5NYW5hZ2VyOjpk
aWRFeGl0RnVsbHNjcmVlbigpCiB7CiAgICAgbV9wZW5kaW5nRXhpdEZ1bGxzY3JlZW4gPSBmYWxz
ZTsKICAgICBhdXRvIGZ1bGxzY3JlZW5FbGVtZW50ID0gZnVsbHNjcmVlbk9yUGVuZGluZ0VsZW1l
bnQoKTsKLSAgICBpZiAoIWZ1bGxzY3JlZW5FbGVtZW50KQorICAgIGlmICghZnVsbHNjcmVlbkVs
ZW1lbnQpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJObyBmdWxsc2NyZWVu
T3JQZW5kaW5nRWxlbWVudCgpOyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBpZiAoIWhhc0xpdmluZ1JlbmRlclRyZWUoKSkgeworICAgICAgICBFUlJPUl9M
T0coTE9HSURFTlRJRklFUiwgIk5vIGxpdmluZ1JlbmRlclRyZWUoKTsgYmFpbGluZyIpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCi0gICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJUcmVl
KCkgfHwgYmFja0ZvcndhcmRDYWNoZVN0YXRlKCkgIT0gRG9jdW1lbnQ6Ok5vdEluQmFja0Zvcndh
cmRDYWNoZSkKKyAgICBpZiAoYmFja0ZvcndhcmRDYWNoZVN0YXRlKCkgIT0gRG9jdW1lbnQ6Ok5v
dEluQmFja0ZvcndhcmRDYWNoZSkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwg
IkRvY3VtZW50IGluIHRoZSBCYWNrRm9yd2FyZENhY2hlOyBiYWlsaW5nIik7CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisgICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CisKICAgICBm
dWxsc2NyZWVuRWxlbWVudC0+c2V0Q29udGFpbnNGdWxsU2NyZWVuRWxlbWVudE9uQW5jZXN0b3Jz
Q3Jvc3NpbmdGcmFtZUJvdW5kYXJpZXMoZmFsc2UpOwogCiAgICAgaWYgKG1fZnVsbHNjcmVlbkVs
ZW1lbnQpCkBAIC01MzIsNiArNjA0LDcgQEAgdm9pZCBGdWxsc2NyZWVuTWFuYWdlcjo6YWRqdXN0
RnVsbHNjcmVlbkVsZW1lbnRPbk5vZGVSZW1vdmFsKE5vZGUmIG5vZGUsIERvY3VtZW4KICAgICAg
ICAgZWxlbWVudEluU3VidHJlZSA9IChmdWxsc2NyZWVuRWxlbWVudCA9PSAmbm9kZSkgfHwgZnVs
bHNjcmVlbkVsZW1lbnQtPmlzRGVzY2VuZGFudE9mKG5vZGUpOwogCiAgICAgaWYgKGVsZW1lbnRJ
blN1YnRyZWUpIHsKKyAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIkFuY2VzdG9yIG9m
IGZ1bGxzY3JlZW4gZWxlbWVudCByZW1vdmVkOyBleGl0aW5nIGZ1bGxzY3JlZW4iKTsKICAgICAg
ICAgZnVsbHNjcmVlbkVsZW1lbnQtPnNldENvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnRPbkFuY2Vz
dG9yc0Nyb3NzaW5nRnJhbWVCb3VuZGFyaWVzKGZhbHNlKTsKICAgICAgICAgY2FuY2VsRnVsbHNj
cmVlbigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9GdWxsc2NyZWVu
TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmgKaW5kZXgg
NzgyOTE0MjlmZTE1ZDViYmUyZGRkMWVlY2JiZTZiN2E5ZDczZmYwNy4uNTAxNjcxMDZiM2I0ZjQ1
NGJjYjliMGZjOTViZjVlNDlkMWEyNzQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0Z1bGxzY3JlZW5NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3JlZW5N
YW5hZ2VyLmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgYWRkRG9j
dW1lbnRUb0Z1bGxzY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50Jik7CiAKIHByaXZhdGU6
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgV1RGOjpMb2dnZXImIGxvZ2dl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQubG9nZ2VyKCk7IH0KKyAgICBjb25zdCB2b2lk
KiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisjZW5k
aWYKKwogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogCiAgICAgUmVmUHRyPEVsZW1lbnQ+IGZ1
bGxzY3JlZW5PclBlbmRpbmdFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9mdWxsc2NyZWVuRWxl
bWVudCA/IG1fZnVsbHNjcmVlbkVsZW1lbnQgOiBtX3BlbmRpbmdGdWxsc2NyZWVuRWxlbWVudDsg
fQpAQCAtMTI0LDYgKzEyOSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hcmVLZXlzRW5hYmxl
ZEluRnVsbHNjcmVlbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQW5pbWF0aW5nRnVsbHNjcmVl
biB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FyZUZ1bGxzY3JlZW5Db250cm9sc0hpZGRlbiB7IGZh
bHNlIH07CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCB2b2lkKiBtX2xv
Z0lkZW50aWZpZXI7CisjZW5kaWYKIH07CiAKIH0K
</data>
<flag name="review"
          id="442882"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="442898"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423508</attachid>
            <date>2021-03-17 11:30:02 -0700</date>
            <delta_ts>2021-03-17 14:12:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223389-20210317113001.patch</filename>
            <type>text/plain</type>
            <size>16799</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI2MDJlNjU2MDBiZDhk
YmRhMDNhNWI0MGUwYjI3YmE3YmM1ODAyNi4uMTFlYTE4Nzg3ZWUwZWJhYzljOTc1ZTQ1MjNiN2Q2
OTIyNmUzZjlkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAzLTE3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIHRvIEZ1
bGxzY3JlZW5NYW5hZ2VyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgICogZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omxv
Z0NsYXNzTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2dDaGFubmVsKToKKyAgICAgICAgKFdl
YkNvcmU6Om1fbG9nSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpGdWxsc2NyZWVuTWFu
YWdlcjo6cmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZ1
bGxzY3JlZW5NYW5hZ2VyOjpjYW5jZWxGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1
bGxzY3JlZW5NYW5hZ2VyOjpleGl0RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlOjpGdWxs
c2NyZWVuTWFuYWdlcjo6d2lsbEVudGVyRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlOjpG
dWxsc2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6
OkZ1bGxzY3JlZW5NYW5hZ2VyOjp3aWxsRXhpdEZ1bGxzY3JlZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6RnVsbHNjcmVlbk1hbmFnZXI6OmRpZEV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNv
cmU6OkZ1bGxzY3JlZW5NYW5hZ2VyOjphZGp1c3RGdWxsc2NyZWVuRWxlbWVudE9uTm9kZVJlbW92
YWwpOgorICAgICAgICAqIGRvbS9GdWxsc2NyZWVuTWFuYWdlci5oOgorCiAyMDIxLTAzLTE2ICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1hbnkgbWVkaWEvbWVk
aWEtZnJhZ21lbnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3RzIHRoYXQg
cnVuIGJlZm9yZSB0aGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3Jl
ZW5NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9GdWxsc2NyZWVuTWFuYWdlci5jcHAK
aW5kZXggMGM2NzY4YTFiYzA4NDVkNWZmOTVjNTkxMDA0Y2ZlMjhlZTRhYjczNy4uYzNkZGQxZTdm
ZGVlNDI5Njg1ZmRkZmJkMDcwNWUzYWMwZGE5NDA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRnVs
bHNjcmVlbk1hbmFnZXIuY3BwCkBAIC0zNCwxMSArMzQsMTMgQEAKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIkhUTUxJRnJhbWVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxl
bWVudC5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlJlbmRlckZ1bGxTY3JlZW4uaCIKICNpbmNs
dWRlICJSZW5kZXJUcmVlQnVpbGRlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYg
KzQ4LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogRnVsbHNjcmVlbk1hbmFnZXI6
OkZ1bGxzY3JlZW5NYW5hZ2VyKERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQg
eyBkb2N1bWVudCB9CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ0lkZW50
aWZpZXIoTG9nZ2VySGVscGVyOjp1bmlxdWVMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKIHsKIH0K
IApAQCAtNzIsNiArNzcsNyBAQCB2b2lkIEZ1bGxzY3JlZW5NYW5hZ2VyOjpyZXF1ZXN0RnVsbHNj
cmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVsbHNjcmVlbgogICAgIC8vICAgLSBh
biBhY3RpdmF0aW9uIGJlaGF2aW9yIGlzIGN1cnJlbnRseSBiZWluZyBwcm9jZXNzZWQgd2hvc2Ug
Y2xpY2sgZXZlbnQgd2FzIHRydXN0ZWQsIG9yCiAgICAgLy8gICAtIHRoZSBldmVudCBsaXN0ZW5l
ciBmb3IgYSB0cnVzdGVkIGNsaWNrIGV2ZW50IGlzIGJlaW5nIGhhbmRsZWQuCiAgICAgaWYgKCFV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKKyAgICAgICAg
RVJST1JfTE9HKExPR0lERU5USUZJRVIsICIhcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyBmYWlsaW5n
LiIpOwogICAgICAgICBmYWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtNzksNiArODUsNyBAQCB2b2lkIEZ1bGxzY3JlZW5NYW5hZ2Vy
OjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVsbHNjcmVl
bgogICAgIC8vIFdlIGRvIG5vdCBhbGxvdyBwcmVzc2luZyB0aGUgRXNjYXBlIGtleSBhcyBhIHVz
ZXIgZ2VzdHVyZSB0byBlbnRlciBmdWxsc2NyZWVuIHNpbmNlIHRoaXMgaXMgdGhlIGtleQogICAg
IC8vIHRvIGV4aXQgZnVsbHNjcmVlbi4KICAgICBpZiAoVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1
cnJlbnRVc2VyR2VzdHVyZSgpLT5nZXN0dXJlVHlwZSgpID09IFVzZXJHZXN0dXJlVHlwZTo6RXNj
YXBlS2V5KSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiQ3VycmVudCBnZXN0
dXJlIGlzIEVzY2FwZUtleTsgZmFpbGluZy4iKTsKICAgICAgICAgZG9jdW1lbnQoKS5hZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwg
IlRoZSBFc2NhcGUga2V5IG1heSBub3QgYmUgdXNlZCBhcyBhIHVzZXIgZ2VzdHVyZSB0byBlbnRl
ciBmdWxsc2NyZWVuIl9zKTsKICAgICAgICAgZmFpbGVkUHJlZmxpZ2h0cyhXVEZNb3ZlKGVsZW1l
bnQpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtODYsNiArOTMsNyBAQCB2b2lkIEZ1bGxzY3JlZW5N
YW5hZ2VyOjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVs
bHNjcmVlbgogCiAgICAgLy8gVGhlcmUgaXMgYSBwcmV2aW91c2x5LWVzdGFibGlzaGVkIHVzZXIg
cHJlZmVyZW5jZSwgc2VjdXJpdHkgcmlzaywgb3IgcGxhdGZvcm0gbGltaXRhdGlvbi4KICAgICBp
ZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygpLmZ1bGxTY3JlZW5FbmFibGVkKCkpIHsK
KyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICIhcGFnZSgpIG9yIGZ1bGxzY3JlZW4g
bm90IGVuYWJsZWQ7IGZhaWxpbmcuIik7CiAgICAgICAgIGZhaWxlZFByZWZsaWdodHMoV1RGTW92
ZShlbGVtZW50KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC05Nyw2ICsxMDUsNyBAQCB2
b2lkIEZ1bGxzY3JlZW5NYW5hZ2VyOjpyZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCwgRnVsbHNjcmVlbgogICAgICAgICBoYXNLZXlib2FyZEFjY2VzcyA9IGZhbHNl
OwogCiAgICAgICAgIGlmICghcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zdXBwb3J0c0Z1bGxT
Y3JlZW5Gb3JFbGVtZW50KCplbGVtZW50LCBoYXNLZXlib2FyZEFjY2VzcykpIHsKKyAgICAgICAg
ICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAicGFnZSBkb2VzIG5vdCBzdXBwb3J0IGZ1bGxz
Y3JlZW4gZm9yIGVsZW1lbnQ7IGZhaWxpbmcuIik7CiAgICAgICAgICAgICBmYWlsZWRQcmVmbGln
aHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBA
IC0xMDQsMjggKzExMywzMiBAQCB2b2lkIEZ1bGxzY3JlZW5NYW5hZ2VyOjpyZXF1ZXN0RnVsbHNj
cmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRnVsbHNjcmVlbgogCiAgICAgbV9wZW5k
aW5nRnVsbHNjcmVlbkVsZW1lbnQgPSBlbGVtZW50OwogCi0gICAgbV9mdWxsc2NyZWVuVGFza1F1
ZXVlLmVucXVldWVUYXNrKFt0aGlzLCBlbGVtZW50ID0gbWFrZVJlZlB0cihlbGVtZW50KSwgY2hl
Y2tUeXBlLCBoYXNLZXlib2FyZEFjY2VzcywgZmFpbGVkUHJlZmxpZ2h0c10gKCkgbXV0YWJsZSB7
CisgICAgbV9mdWxsc2NyZWVuVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzLCBlbGVtZW50ID0g
bWFrZVJlZlB0cihlbGVtZW50KSwgY2hlY2tUeXBlLCBoYXNLZXlib2FyZEFjY2VzcywgZmFpbGVk
UHJlZmxpZ2h0cywgaWRlbnRpZmllciA9IExPR0lERU5USUZJRVJdICgpIG11dGFibGUgewogICAg
ICAgICAvLyBEb24ndCBhbGxvdyBmdWxsc2NyZWVuIGlmIGl0IGhhcyBiZWVuIGNhbmNlbGxlZCBv
ciBhIGRpZmZlcmVudCBmdWxsc2NyZWVuIGVsZW1lbnQKICAgICAgICAgLy8gaGFzIHJlcXVlc3Rl
ZCBmdWxsc2NyZWVuLgogICAgICAgICBpZiAobV9wZW5kaW5nRnVsbHNjcmVlbkVsZW1lbnQgIT0g
ZWxlbWVudCkgeworICAgICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gcGVu
ZGluZyBlbGVtZW50IG1pc21hdGNoOyBmYWlsaW5nLiIpOwogICAgICAgICAgICAgZmFpbGVkUHJl
ZmxpZ2h0cyhXVEZNb3ZlKGVsZW1lbnQpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCiAgICAgICAgIC8vIERvbid0IGFsbG93IGZ1bGxzY3JlZW4gaWYgd2UncmUgaW5zaWRlIGFu
IGV4aXRGdWxsc2NyZWVuIG9wZXJhdGlvbi4KICAgICAgICAgaWYgKG1fcGVuZGluZ0V4aXRGdWxs
c2NyZWVuKSB7CisgICAgICAgICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRhc2sgLSBwZW5k
aW5nIGV4aXQgZnVsbHNjcmVlbiBvcGVyYXRpb247IGZhaWxpbmcuIik7CiAgICAgICAgICAgICBm
YWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgZnVsbHNjcmVlbiBpZiBkb2N1bWVu
dCBpcyBoaWRkZW4uCiAgICAgICAgIGlmIChkb2N1bWVudCgpLmhpZGRlbigpKSB7CisgICAgICAg
ICAgICBFUlJPUl9MT0coaWRlbnRpZmllciwgInRhc2sgLSBkb2N1bWVudCBoaWRkZW47IGZhaWxp
bmcuIik7CiAgICAgICAgICAgICBmYWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgLy8gVGhlIGNvbnRleHQg
b2JqZWN0IGlzIG5vdCBpbiBhIGRvY3VtZW50LgogICAgICAgICBpZiAoIWVsZW1lbnQtPmlzQ29u
bmVjdGVkKCkpIHsKKyAgICAgICAgICAgIEVSUk9SX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIGVs
ZW1lbnQgbm90IGluIGRvY3VtZW50OyBmYWlsaW5nLiIpOwogICAgICAgICAgICAgZmFpbGVkUHJl
ZmxpZ2h0cyhXVEZNb3ZlKGVsZW1lbnQpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQpAQCAtMTMzLDYgKzE0Niw3IEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OnJlcXVlc3RGdWxs
c2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsc2NyZWVuCiAgICAgICAgIC8v
IFRoZSBjb250ZXh0IG9iamVjdCdzIG5vZGUgZG9jdW1lbnQsIG9yIGFuIGFuY2VzdG9yIGJyb3dz
aW5nIGNvbnRleHQncyBkb2N1bWVudCBkb2VzIG5vdCBoYXZlCiAgICAgICAgIC8vIHRoZSBmdWxs
c2NyZWVuIGVuYWJsZWQgZmxhZyBzZXQuCiAgICAgICAgIGlmIChjaGVja1R5cGUgPT0gRW5mb3Jj
ZUlGcmFtZUFsbG93RnVsbHNjcmVlblJlcXVpcmVtZW50ICYmICFpc0ZlYXR1cmVQb2xpY3lBbGxv
d2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9saWN5OjpUeXBlOjpGdWxsc2NyZWVu
LCBkb2N1bWVudCgpKSkgeworICAgICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNr
IC0gYW5jZXN0b3IgZG9jdW1lbnQgZG9lcyBub3QgZW5hYmxlIGZ1bGxzY3JlZW47IGZhaWxpbmcu
Iik7CiAgICAgICAgICAgICBmYWlsZWRQcmVmbGlnaHRzKFdURk1vdmUoZWxlbWVudCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xNDAsNiArMTU0LDcgQEAgdm9pZCBGdWxs
c2NyZWVuTWFuYWdlcjo6cmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1l
bnQsIEZ1bGxzY3JlZW4KICAgICAgICAgLy8gVGhlIGNvbnRleHQgb2JqZWN0J3Mgbm9kZSBkb2N1
bWVudCBmdWxsc2NyZWVuIGVsZW1lbnQgc3RhY2sgaXMgbm90IGVtcHR5IGFuZCBpdHMgdG9wIGVs
ZW1lbnQKICAgICAgICAgLy8gaXMgbm90IGFuIGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG9iamVj
dC4KICAgICAgICAgaWYgKCFtX2Z1bGxzY3JlZW5FbGVtZW50U3RhY2suaXNFbXB0eSgpICYmICFt
X2Z1bGxzY3JlZW5FbGVtZW50U3RhY2subGFzdCgpLT5jb250YWlucyhlbGVtZW50LmdldCgpKSkg
eworICAgICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gZnVsbHNjcmVlbiBz
dGFjayBub3QgZW1wdHk7IGZhaWxpbmcuIik7CiAgICAgICAgICAgICBmYWlsZWRQcmVmbGlnaHRz
KFdURk1vdmUoZWxlbWVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0x
NTMsNiArMTY4LDcgQEAgdm9pZCBGdWxsc2NyZWVuTWFuYWdlcjo6cmVxdWVzdEZ1bGxzY3JlZW5G
b3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIEZ1bGxzY3JlZW4KICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBpZiAoZGVzY2VuZGVudEhhc05vbkVtcHR5U3RhY2spIHsKKyAgICAg
ICAgICAgIEVSUk9SX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIGRlc2NlbmRlbnQgZG9jdW1lbnQg
aGFzIG5vbi1lbXB0eSBmdWxsc2NyZWVuIHN0YWNrOyBmYWlsaW5nLiIpOwogICAgICAgICAgICAg
ZmFpbGVkUHJlZmxpZ2h0cyhXVEZNb3ZlKGVsZW1lbnQpKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQpAQCAtMjA2LDEyICsyMjIsMTQgQEAgdm9pZCBGdWxsc2NyZWVuTWFuYWdlcjo6
cmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIEZ1bGxzY3JlZW4K
ICAgICAgICAgLy8gNS4gUmV0dXJuLCBhbmQgcnVuIHRoZSByZW1haW5pbmcgc3RlcHMgYXN5bmNo
cm9ub3VzbHkuCiAgICAgICAgIC8vIDYuIE9wdGlvbmFsbHksIHBlcmZvcm0gc29tZSBhbmltYXRp
b24uCiAgICAgICAgIG1fYXJlS2V5c0VuYWJsZWRJbkZ1bGxzY3JlZW4gPSBoYXNLZXlib2FyZEFj
Y2VzczsKLSAgICAgICAgbV9mdWxsc2NyZWVuVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzLCBl
bGVtZW50ID0gV1RGTW92ZShlbGVtZW50KSwgZmFpbGVkUHJlZmxpZ2h0cyA9IFdURk1vdmUoZmFp
bGVkUHJlZmxpZ2h0cyldICgpIG11dGFibGUgeworICAgICAgICBtX2Z1bGxzY3JlZW5UYXNrUXVl
dWUuZW5xdWV1ZVRhc2soW3RoaXMsIGVsZW1lbnQgPSBXVEZNb3ZlKGVsZW1lbnQpLCBmYWlsZWRQ
cmVmbGlnaHRzID0gV1RGTW92ZShmYWlsZWRQcmVmbGlnaHRzKSwgaWRlbnRpZmllcl0gKCkgbXV0
YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgICAgICAg
ICBpZiAoIXBhZ2UgfHwgZG9jdW1lbnQoKS5oaWRkZW4oKSB8fCBtX3BlbmRpbmdGdWxsc2NyZWVu
RWxlbWVudCAhPSBlbGVtZW50IHx8ICFlbGVtZW50LT5pc0Nvbm5lY3RlZCgpKSB7CisgICAgICAg
ICAgICAgICAgRVJST1JfTE9HKGlkZW50aWZpZXIsICJ0YXNrIC0gcGFnZSwgZG9jdW1lbnQsIG9y
IGVsZW1lbnQgbWlzbWF0Y2g7IGZhaWxpbmcuIik7CiAgICAgICAgICAgICAgICAgZmFpbGVkUHJl
ZmxpZ2h0cyhlbGVtZW50KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9
CisgICAgICAgICAgICBJTkZPX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIHN1Y2Nlc3MiKTsKICAg
ICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmVudGVyRnVsbFNjcmVlbkZvckVsZW1l
bnQoKmVsZW1lbnQuZ2V0KCkpOwogICAgICAgICB9KTsKIApAQCAtMjMxLDkgKzI0OSwxMiBAQCB2
b2lkIEZ1bGxzY3JlZW5NYW5hZ2VyOjpjYW5jZWxGdWxsc2NyZWVuKCkKICAgICAgICAgLy8gdGhl
cmUgaXMgYSBwZW5kaW5nIHRhc2sgaW4gZW50ZXJGdWxsc2NyZWVuKCkuIENhdXNlIGl0IHRvIGNh
bmNlbCBhbmQgZmlyZSBhbiBlcnJvcgogICAgICAgICAvLyBieSBjbGVhcmluZyB0aGUgcGVuZGlu
ZyBmdWxsc2NyZWVuIGVsZW1lbnQuCiAgICAgICAgIG1fcGVuZGluZ0Z1bGxzY3JlZW5FbGVtZW50
ID0gbnVsbHB0cjsKKyAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIkNhbmNlbGxpbmcg
cGVuZGluZyBmdWxsc2NyZWVuIHJlcXVlc3QuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKKwogICAgIC8vIFRvIGFjaGlldmUgdGhhdCBh
aW0sIHJlbW92ZSBhbGwgdGhlIGVsZW1lbnRzIGZyb20gdGhlIHRvcCBkb2N1bWVudCdzIHN0YWNr
IGV4Y2VwdCBmb3IgdGhlIGZpcnN0IGJlZm9yZQogICAgIC8vIGNhbGxpbmcgd2Via2l0RXhpdEZ1
bGxzY3JlZW4oKToKICAgICBWZWN0b3I8UmVmUHRyPEVsZW1lbnQ+PiByZXBsYWNlbWVudEZ1bGxz
Y3JlZW5FbGVtZW50U3RhY2s7CkBAIC0yNTUsNiArMjc2LDcgQEAgdm9pZCBGdWxsc2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxzY3JlZW4oKQogICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHBlbmRpbmcg
ZnVsbHNjcmVlbiBlbGVtZW50IGJ1dCBhbiBlbXB0eSBmdWxsc2NyZWVuIGVsZW1lbnQgc3RhY2ss
CiAgICAgICAgIC8vIHRoZXJlIGlzIGEgcGVuZGluZyB0YXNrIGluIHJlcXVlc3RGdWxsc2NyZWVu
Rm9yRWxlbWVudCgpLiBDYXVzZSBpdCB0byBjYW5jZWwgYW5kIGZpcmUgYW4gZXJyb3IKICAgICAg
ICAgLy8gYnkgY2xlYXJpbmcgdGhlIHBlbmRpbmcgZnVsbHNjcmVlbiBlbGVtZW50LgorICAgICAg
ICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiQ2FuY2VsbGluZyBwZW5kaW5nIGZ1bGxzY3JlZW4g
cmVxdWVzdC4iKTsKICAgICAgICAgbV9wZW5kaW5nRnVsbHNjcmVlbkVsZW1lbnQgPSBudWxscHRy
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMzA0LDE1ICszMjYsMTggQEAgdm9pZCBGdWxs
c2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxzY3JlZW4oKQogCiAgICAgLy8gNi4gUmV0dXJuLCBhbmQg
cnVuIHRoZSByZW1haW5pbmcgc3RlcHMgYXN5bmNocm9ub3VzbHkuCiAgICAgLy8gNy4gT3B0aW9u
YWxseSwgcGVyZm9ybSBzb21lIGFuaW1hdGlvbi4KLSAgICBtX2Z1bGxzY3JlZW5UYXNrUXVldWUu
ZW5xdWV1ZVRhc2soW3RoaXMsIG5ld1RvcCA9IG1ha2VSZWZQdHIobmV3VG9wKSwgZnVsbHNjcmVl
bkVsZW1lbnQgPSBtX2Z1bGxzY3JlZW5FbGVtZW50XSB7CisgICAgbV9mdWxsc2NyZWVuVGFza1F1
ZXVlLmVucXVldWVUYXNrKFt0aGlzLCBuZXdUb3AgPSBtYWtlUmVmUHRyKG5ld1RvcCksIGZ1bGxz
Y3JlZW5FbGVtZW50ID0gbV9mdWxsc2NyZWVuRWxlbWVudCwgaWRlbnRpZmllciA9IExPR0lERU5U
SUZJRVJdIHsKICAgICAgICAgYXV0byogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKLSAgICAgICAgaWYg
KCFwYWdlKQorICAgICAgICBpZiAoIXBhZ2UpIHsKKyAgICAgICAgICAgIEVSUk9SX0xPRyhpZGVu
dGlmaWVyLCAidGFzayAtIERvY3VtZW50IG5vdCBpbiBwYWdlOyBiYWlsaW5nLiIpOwogICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBwZW5k
aW5nIGZ1bGxzY3JlZW4gZWxlbWVudCBidXQgbm8gZnVsbHNjcmVlbiBlbGVtZW50CiAgICAgICAg
IC8vIHRoZXJlIGlzIGEgcGVuZGluZyB0YXNrIGluIHJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVu
dCgpLiBDYXVzZSBpdCB0byBjYW5jZWwgYW5kIGZpcmUgYW4gZXJyb3IKICAgICAgICAgLy8gYnkg
Y2xlYXJpbmcgdGhlIHBlbmRpbmcgZnVsbHNjcmVlbiBlbGVtZW50LgogICAgICAgICBpZiAoIWZ1
bGxzY3JlZW5FbGVtZW50ICYmIG1fcGVuZGluZ0Z1bGxzY3JlZW5FbGVtZW50KSB7CisgICAgICAg
ICAgICBJTkZPX0xPRyhpZGVudGlmaWVyLCAidGFzayAtIENhbmNlbGxpbmcgcGVuZGluZyBmdWxs
c2NyZWVuIHJlcXVlc3QuIik7CiAgICAgICAgICAgICBtX3BlbmRpbmdGdWxsc2NyZWVuRWxlbWVu
dCA9IG51bGxwdHI7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTMyMSwxMSAr
MzQ2LDEzIEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsc2NyZWVuKCkKICAgICAg
ICAgLy8gZnVsbCBzY3JlZW4gc3RhY2suCiAgICAgICAgIGlmICghbmV3VG9wKSB7CiAgICAgICAg
ICAgICBtX3BlbmRpbmdFeGl0RnVsbHNjcmVlbiA9IHRydWU7CisgICAgICAgICAgICBJTkZPX0xP
RyhpZGVudGlmaWVyLCAidGFzayAtIEVtcHR5IGZ1bGxzY3JlZW4gc3RhY2s7IGV4aXRpbmcuIik7
CiAgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5leGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQoZnVsbHNjcmVlbkVsZW1lbnQuZ2V0KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKICAgICAgICAgLy8gT3RoZXJ3aXNlLCBub3RpZnkgdGhlIGNocm9tZSBvZiB0aGUg
bmV3IGZ1bGwgc2NyZWVuIGVsZW1lbnQuCisgICAgICAgIElORk9fTE9HKGlkZW50aWZpZXIsICJ0
YXNrIC0gTmV3IHRvcCBvZiBmdWxsc2NyZWVuIHN0YWNrLiIpOwogICAgICAgICBwYWdlLT5jaHJv
bWUoKS5jbGllbnQoKS5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KCpuZXdUb3ApOwogICAgIH0p
OwogfQpAQCAtMzUyLDIwICszNzksMzEgQEAgc3RhdGljIHZvaWQgdW53cmFwRnVsbHNjcmVlblJl
bmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIGZ1bGxzY3JlZW5SZW5kZXJlciwgRWxlbWUKIAogYm9v
bCBGdWxsc2NyZWVuTWFuYWdlcjo6d2lsbEVudGVyRnVsbHNjcmVlbihFbGVtZW50JiBlbGVtZW50
KQogewotICAgIGlmICghZG9jdW1lbnQoKS5oYXNMaXZpbmdSZW5kZXJUcmVlKCkgfHwgZG9jdW1l
bnQoKS5iYWNrRm9yd2FyZENhY2hlU3RhdGUoKSAhPSBEb2N1bWVudDo6Tm90SW5CYWNrRm9yd2Fy
ZENhY2hlKQorICAgIGlmICghaGFzTGl2aW5nUmVuZGVyVHJlZSgpKSB7CisgICAgICAgIEVSUk9S
X0xPRyhMT0dJREVOVElGSUVSLCAiTm8gbGl2aW5nUmVuZGVyVHJlZSgpOyBiYWlsaW5nIik7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoYmFja0ZvcndhcmRDYWNoZVN0
YXRlKCkgIT0gRG9jdW1lbnQ6Ok5vdEluQmFja0ZvcndhcmRDYWNoZSkgeworICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIkRvY3VtZW50IGluIHRoZSBCYWNrRm9yd2FyZENhY2hlOyBi
YWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBQcm90ZWN0
IGFnYWluc3QgYmVpbmcgY2FsbGVkIGFmdGVyIHRoZSBkb2N1bWVudCBoYXMgYmVlbiByZW1vdmVk
IGZyb20gdGhlIHBhZ2UuCi0gICAgaWYgKCFwYWdlKCkpCisgICAgaWYgKCFwYWdlKCkpIHsKKyAg
ICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJEb2N1bWVudCBubyBsb25nZXIgaW4gcGFn
ZTsgYmFpbGluZyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgLy8gSWYg
cGVuZGluZyBmdWxsc2NyZWVuIGVsZW1lbnQgaXMgdW5zZXQgb3IgYW5vdGhlciBlbGVtZW50J3Mg
d2FzIHJlcXVlc3RlZCwKICAgICAvLyBpc3N1ZSBhIGNhbmNlbCBmdWxsc2NyZWVuIHJlcXVlc3Qg
dG8gdGhlIGNsaWVudAogICAgIGlmIChtX3BlbmRpbmdGdWxsc2NyZWVuRWxlbWVudCAhPSAmZWxl
bWVudCkgeworICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiUGVuZGluZyBlbGVtZW50
IG1pc21hdGNoOyBpc3N1aW5nIGV4aXQgZnVsbHNjcmVlbiByZXF1ZXN0Iik7CiAgICAgICAgIHBh
Z2UoKS0+Y2hyb21lKCkuY2xpZW50KCkuZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KCZlbGVtZW50
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgSU5GT19MT0coTE9HSURFTlRJ
RklFUik7CiAgICAgQVNTRVJUKHBhZ2UoKS0+c2V0dGluZ3MoKS5mdWxsU2NyZWVuRW5hYmxlZCgp
KTsKIAogICAgIHVud3JhcEZ1bGxzY3JlZW5SZW5kZXJlcihtX2Z1bGxzY3JlZW5SZW5kZXJlci5n
ZXQoKSwgbV9mdWxsc2NyZWVuRWxlbWVudC5nZXQoKSk7CkBAIC00MDAsMTEgKzQzOCwyMSBAQCBi
b29sIEZ1bGxzY3JlZW5NYW5hZ2VyOjp3aWxsRW50ZXJGdWxsc2NyZWVuKEVsZW1lbnQmIGVsZW1l
bnQpCiAKIGJvb2wgRnVsbHNjcmVlbk1hbmFnZXI6OmRpZEVudGVyRnVsbHNjcmVlbigpCiB7Ci0g
ICAgaWYgKCFtX2Z1bGxzY3JlZW5FbGVtZW50KQorICAgIGlmICghbV9mdWxsc2NyZWVuRWxlbWVu
dCkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIk5vIGZ1bGxzY3JlZW5FbGVt
ZW50OyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAo
IWhhc0xpdmluZ1JlbmRlclRyZWUoKSkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklF
UiwgIk5vIGxpdmluZ1JlbmRlclRyZWUoKTsgYmFpbGluZyIpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQogCi0gICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJUcmVlKCkgfHwgYmFja0Zvcndh
cmRDYWNoZVN0YXRlKCkgIT0gRG9jdW1lbnQ6Ok5vdEluQmFja0ZvcndhcmRDYWNoZSkKKyAgICBp
ZiAoYmFja0ZvcndhcmRDYWNoZVN0YXRlKCkgIT0gRG9jdW1lbnQ6Ok5vdEluQmFja0ZvcndhcmRD
YWNoZSkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkRvY3VtZW50IGluIHRo
ZSBCYWNrRm9yd2FyZENhY2hlOyBiYWlsaW5nIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7CiAKICAgICBtX2Z1bGxzY3JlZW5FbGVt
ZW50LT5kaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpOwogICAgIHJldHVybiB0cnVlOwpAQCAt
NDEzLDExICs0NjEsMjEgQEAgYm9vbCBGdWxsc2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsc2Ny
ZWVuKCkKIGJvb2wgRnVsbHNjcmVlbk1hbmFnZXI6OndpbGxFeGl0RnVsbHNjcmVlbigpCiB7CiAg
ICAgYXV0byBmdWxsc2NyZWVuRWxlbWVudCA9IGZ1bGxzY3JlZW5PclBlbmRpbmdFbGVtZW50KCk7
Ci0gICAgaWYgKCFmdWxsc2NyZWVuRWxlbWVudCkKKyAgICBpZiAoIWZ1bGxzY3JlZW5FbGVtZW50
KSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiTm8gZnVsbHNjcmVlbk9yUGVu
ZGluZ0VsZW1lbnQoKTsgYmFpbGluZyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQog
Ci0gICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJUcmVlKCkgfHwgYmFja0ZvcndhcmRDYWNoZVN0YXRl
KCkgIT0gRG9jdW1lbnQ6Ok5vdEluQmFja0ZvcndhcmRDYWNoZSkKKyAgICBpZiAoIWhhc0xpdmlu
Z1JlbmRlclRyZWUoKSkgeworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIk5vIGxp
dmluZ1JlbmRlclRyZWUoKTsgYmFpbGluZyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgaWYgKGJhY2tGb3J3YXJkQ2FjaGVTdGF0ZSgpICE9IERvY3VtZW50OjpOb3RJbkJh
Y2tGb3J3YXJkQ2FjaGUpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJEb2N1
bWVudCBpbiB0aGUgQmFja0ZvcndhcmRDYWNoZTsgYmFpbGluZyIpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOwogCiAgICAgZnVsbHNj
cmVlbkVsZW1lbnQtPndpbGxTdG9wQmVpbmdGdWxsc2NyZWVuRWxlbWVudCgpOwogICAgIHJldHVy
biB0cnVlOwpAQCAtNDI3LDExICs0ODUsMjIgQEAgYm9vbCBGdWxsc2NyZWVuTWFuYWdlcjo6ZGlk
RXhpdEZ1bGxzY3JlZW4oKQogewogICAgIG1fcGVuZGluZ0V4aXRGdWxsc2NyZWVuID0gZmFsc2U7
CiAgICAgYXV0byBmdWxsc2NyZWVuRWxlbWVudCA9IGZ1bGxzY3JlZW5PclBlbmRpbmdFbGVtZW50
KCk7Ci0gICAgaWYgKCFmdWxsc2NyZWVuRWxlbWVudCkKKyAgICBpZiAoIWZ1bGxzY3JlZW5FbGVt
ZW50KSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiTm8gZnVsbHNjcmVlbk9y
UGVuZGluZ0VsZW1lbnQoKTsgYmFpbGluZyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgaWYgKCFoYXNMaXZpbmdSZW5kZXJUcmVlKCkpIHsKKyAgICAgICAgRVJST1JfTE9H
KExPR0lERU5USUZJRVIsICJObyBsaXZpbmdSZW5kZXJUcmVlKCk7IGJhaWxpbmciKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotICAgIGlmICghaGFzTGl2aW5nUmVuZGVyVHJlZSgp
IHx8IGJhY2tGb3J3YXJkQ2FjaGVTdGF0ZSgpICE9IERvY3VtZW50OjpOb3RJbkJhY2tGb3J3YXJk
Q2FjaGUpCisgICAgaWYgKGJhY2tGb3J3YXJkQ2FjaGVTdGF0ZSgpICE9IERvY3VtZW50OjpOb3RJ
bkJhY2tGb3J3YXJkQ2FjaGUpIHsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJE
b2N1bWVudCBpbiB0aGUgQmFja0ZvcndhcmRDYWNoZTsgYmFpbGluZyIpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOworCiAgICAgZnVs
bHNjcmVlbkVsZW1lbnQtPnNldENvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnRPbkFuY2VzdG9yc0Ny
b3NzaW5nRnJhbWVCb3VuZGFyaWVzKGZhbHNlKTsKIAogICAgIGlmIChtX2Z1bGxzY3JlZW5FbGVt
ZW50KQpAQCAtNTMyLDYgKzYwMSw3IEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6OmFkanVzdEZ1
bGxzY3JlZW5FbGVtZW50T25Ob2RlUmVtb3ZhbChOb2RlJiBub2RlLCBEb2N1bWVuCiAgICAgICAg
IGVsZW1lbnRJblN1YnRyZWUgPSAoZnVsbHNjcmVlbkVsZW1lbnQgPT0gJm5vZGUpIHx8IGZ1bGxz
Y3JlZW5FbGVtZW50LT5pc0Rlc2NlbmRhbnRPZihub2RlKTsKIAogICAgIGlmIChlbGVtZW50SW5T
dWJ0cmVlKSB7CisgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJBbmNlc3RvciBvZiBm
dWxsc2NyZWVuIGVsZW1lbnQgcmVtb3ZlZDsgZXhpdGluZyBmdWxsc2NyZWVuIik7CiAgICAgICAg
IGZ1bGxzY3JlZW5FbGVtZW50LT5zZXRDb250YWluc0Z1bGxTY3JlZW5FbGVtZW50T25BbmNlc3Rv
cnNDcm9zc2luZ0ZyYW1lQm91bmRhcmllcyhmYWxzZSk7CiAgICAgICAgIGNhbmNlbEZ1bGxzY3Jl
ZW4oKTsKICAgICB9CkBAIC02MTIsNiArNjgyLDE0IEBAIHZvaWQgRnVsbHNjcmVlbk1hbmFnZXI6
OmFkZERvY3VtZW50VG9GdWxsc2NyZWVuQ2hhbmdlRXZlbnRRdWV1ZShEb2N1bWVudCYgZG9jdW1l
CiAgICAgbV9mdWxsc2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZS5hcHBlbmQodGFyZ2V0KTsK
IH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgRnVsbHNjcmVl
bk1hbmFnZXI6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dGdWxsc2NyZWVu
OworCit9CisjZW5kaWYKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9GdWxsc2NyZWVuTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3JlZW5N
YW5hZ2VyLmgKaW5kZXggNzgyOTE0MjlmZTE1ZDViYmUyZGRkMWVlY2JiZTZiN2E5ZDczZmYwNy4u
N2FkOGZmOGNlMjYyMWFhNjc1NjdkMDQ5MDRiMTA2NGU3NTg0N2FhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmgKQEAgLTEwNiw2ICsxMDYsMTMgQEAgcHJvdGVjdGVkOgog
ICAgIHZvaWQgYWRkRG9jdW1lbnRUb0Z1bGxzY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50
Jik7CiAKIHByaXZhdGU6CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgV1RG
OjpMb2dnZXImIGxvZ2dlcigpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQubG9nZ2VyKCk7IH0K
KyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dJZGVu
dGlmaWVyOyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgeyByZXR1cm4g
IkZ1bGxzY3JlZW5NYW5hZ2VyIjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBj
b25zdDsKKyNlbmRpZgorCiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CiAKICAgICBSZWZQdHI8
RWxlbWVudD4gZnVsbHNjcmVlbk9yUGVuZGluZ0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2Z1
bGxzY3JlZW5FbGVtZW50ID8gbV9mdWxsc2NyZWVuRWxlbWVudCA6IG1fcGVuZGluZ0Z1bGxzY3Jl
ZW5FbGVtZW50OyB9CkBAIC0xMjQsNiArMTMxLDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fy
ZUtleXNFbmFibGVkSW5GdWxsc2NyZWVuIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNBbmltYXRp
bmdGdWxsc2NyZWVuIHsgZmFsc2UgfTsKICAgICBib29sIG1fYXJlRnVsbHNjcmVlbkNvbnRyb2xz
SGlkZGVuIHsgZmFsc2UgfTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0
IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgogfTsKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>