<?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>66061</bug_id>
          
          <creation_ts>2011-08-11 08:15:13 -0700</creation_ts>
          <short_desc>Web Inspector: Rename network resource identifier to requestId.</short_desc>
          <delta_ts>2011-08-12 04:45: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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>449780</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-11 08:15:13 -0700</bug_when>
    <thetext>Network resource identifier should have ResourceId type in protocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450373</commentid>
    <comment_count>1</comment_count>
      <attachid>103755</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-12 02:48:11 -0700</bug_when>
    <thetext>Created attachment 103755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450388</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-12 04:45:17 -0700</bug_when>
    <thetext>Committed r92953: &lt;http://trac.webkit.org/changeset/92953&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103755</attachid>
            <date>2011-08-12 02:48:11 -0700</date>
            <delta_ts>2011-08-12 04:22:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66061-20110812134808.patch</filename>
            <type>text/plain</type>
            <size>91899</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5NTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZTk1OGE3YmMxODM0YzAzY2QxNDdk
MzBmMDc1NWRiZTU0OGY3ZDdkLi5mZDc3NDI3MmVkODBkNDBiNTYxNDkzYmZkYTcyMWVhOWM5Y2M5
ODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMTIgIFZzZXZvbG9kIFZsYXNvdiAg
PHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTmV0d29yayBy
ZXNvdXJjZSBpZGVudGlmaWVyIHNob3VsZCBoYXZlIFJlcXVlc3RJZCB0eXBlIGFuZCByZXF1ZXN0
SWQgbmFtZSBpbiBwcm90b2NvbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Rvd25sb2FkLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94LWZyYW1lLW9wdGlvbnMt
ZGVueS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sb2FkLmh0
bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3Vy
Y2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1u
ZXR3b3JrLXJlc291cmNlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXRlc3QuanM6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA4LTEw
ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERC
OiBPdmVyd3JpdGluZyBrZXkgaW4gdW5pcXVlIGluZGV4IHNob3VsZCBiZSBwb3NzaWJsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9kb3dubG9h
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9kb3dubG9h
ZC5odG1sCmluZGV4IGU0NWM2MDY1MWJhMDQ1OTBjMWFmODExZGI5NDU4MTdkMDQ5MTBkMWYuLjhi
NmU3ZTM2MTAxODQ4ZTU5YWQzMjNhZDQ2YzY4NTRiZGFmOWM2OWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvZG93bmxvYWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Rvd25sb2FkLmh0bWwKQEAg
LTE2LDkgKzE2LDkgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUsICJsb2FkaW5nRmlu
aXNoZWQiLCBsb2FkaW5nRmluaXNoZWQpOwogICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImxvYWRJRnJhbWVXaXRoRG93bmxvYWQoKSIpOwogCi0gICAgZnVuY3Rpb24gcmVzcG9uc2VS
ZWNlaXZlZChpZGVudGlmaWVyLCB0aW1lLCByZXNvdXJjZVR5cGUsIHJlc3BvbnNlKQorICAgIGZ1
bmN0aW9uIHJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCB0aW1lLCByZXNvdXJjZVR5cGUsIHJl
c3BvbnNlKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdv
cmtSZXNvdXJjZUJ5SWQoaWRlbnRpZmllcik7CisgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYklu
c3BlY3Rvci5uZXR3b3JrUmVzb3VyY2VCeUlkKHJlcXVlc3RJZCk7CiAgICAgICAgIGlmICgvZG93
bmxvYWRcLnp6ei8uZXhlYyhyZXNvdXJjZS51cmwpKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiUmVjZWl2ZWQgcmVzcG9uc2UgZm9yIGRvd25sb2FkLnp6eiIpOwogICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNVQ0NFU1MiKTsKQEAgLTI2LDE2ICsy
NiwxNiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGZ1bmN0aW9u
IGxvYWRpbmdGaW5pc2hlZChpZGVudGlmaWVyLCBmaW5pc2hUaW1lKQorICAgIGZ1bmN0aW9uIGxv
YWRpbmdGaW5pc2hlZChyZXF1ZXN0SWQsIGZpbmlzaFRpbWUpCiAgICAgewotICAgICAgICB2YXIg
cmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IubmV0d29ya1Jlc291cmNlQnlJZChpZGVudGlmaWVyKTsK
KyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtSZXNvdXJjZUJ5SWQo
cmVxdWVzdElkKTsKICAgICAgICAgaWYgKC9kb3dubG9hZFwuenp6Ly5leGVjKHJlc291cmNlLnVy
bCkpCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0KIAot
ICAgIGZ1bmN0aW9uIGxvYWRpbmdGYWlsZWQoaWRlbnRpZmllciwgdGltZSwgbG9jYWxpemVkRGVz
Y3JpcHRpb24sIGNhbmNlbGVkKQorICAgIGZ1bmN0aW9uIGxvYWRpbmdGYWlsZWQocmVxdWVzdElk
LCB0aW1lLCBsb2NhbGl6ZWREZXNjcmlwdGlvbiwgY2FuY2VsZWQpCiAgICAgewotICAgICAgICB2
YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IubmV0d29ya1Jlc291cmNlQnlJZChpZGVudGlmaWVy
KTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtSZXNvdXJjZUJ5
SWQocmVxdWVzdElkKTsKICAgICAgICAgaWYgKC9kb3dubG9hZFwuenp6Ly5leGVjKHJlc291cmNl
LnVybCkpCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveC1m
cmFtZS1vcHRpb25zLWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnkuaHRtbAppbmRleCAwYWFhOWJmNzQ3YTE3NGU3
ZjcxNzg4ZTEwNTAwNGJmNzhlZjdlMjgzLi44Nzc5ODlmYmM3NWY1NDRiNzQwMTA5NDM1YjJlZDM4
Y2U2NWU4ZTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94LWZyYW1lLW9wdGlvbnMtZGVueS5odG1sCkBAIC0xNiw5
ICsxNiw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihX
ZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZpbmlzaGVk
IiwgbG9hZGluZ0ZpbmlzaGVkKTsKICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJs
b2FkSUZyYW1lV2l0aERvd25sb2FkKCkiKTsKIAotICAgIGZ1bmN0aW9uIHJlc3BvbnNlUmVjZWl2
ZWQoaWRlbnRpZmllciwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKKyAgICBmdW5jdGlv
biByZXNwb25zZVJlY2VpdmVkKHJlcXVlc3RJZCwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25z
ZSkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5uZXR3b3JrUmVz
b3VyY2VCeUlkKGlkZW50aWZpZXIpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IubmV0d29ya1Jlc291cmNlQnlJZChyZXF1ZXN0SWQpOwogICAgICAgICBpZiAoL3gtZnJhbWUt
b3B0aW9ucy1kZW55XC5jZ2kvLmV4ZWMocmVzb3VyY2UudXJsKSkgewogICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlY2VpdmVkIHJlc3BvbnNlIGZvciB4LWZyYW1lLW9wdGlv
bnMtZGVueS5jZ2kiKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTVUND
RVNTIik7CkBAIC0yNiwxNiArMjYsMTYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBmdW5jdGlvbiBsb2FkaW5nRmluaXNoZWQoaWRlbnRpZmllciwgZmluaXNoVGlt
ZSkKKyAgICBmdW5jdGlvbiBsb2FkaW5nRmluaXNoZWQocmVxdWVzdElkLCBmaW5pc2hUaW1lKQog
ICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtSZXNvdXJj
ZUJ5SWQoaWRlbnRpZmllcik7CisgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5u
ZXR3b3JrUmVzb3VyY2VCeUlkKHJlcXVlc3RJZCk7CiAgICAgICAgIGlmICgveC1mcmFtZS1vcHRp
b25zLWRlbnlcLmNnaS8uZXhlYyhyZXNvdXJjZS51cmwpKQogICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBsb2FkaW5nRmFpbGVk
KGlkZW50aWZpZXIsIHRpbWUsIGxvY2FsaXplZERlc2NyaXB0aW9uLCBjYW5jZWxlZCkKKyAgICBm
dW5jdGlvbiBsb2FkaW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZSwgbG9jYWxpemVkRGVzY3JpcHRp
b24sIGNhbmNlbGVkKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9y
Lm5ldHdvcmtSZXNvdXJjZUJ5SWQoaWRlbnRpZmllcik7CisgICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5uZXR3b3JrUmVzb3VyY2VCeUlkKHJlcXVlc3RJZCk7CiAgICAgICAgIGlm
ICgveC1mcmFtZS1vcHRpb25zLWRlbnlcLmNnaS8uZXhlYyhyZXNvdXJjZS51cmwpKQogICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQuaHRtbAppbmRleCA2ZGQwNGVi
N2VhOTYzMzBlZDFiNTgxY2QwOTQ5Mzk4ZjdjOTU1YWIxLi44MzkxZmMzNWY1ODBkMmI2NTYyZWM0
OTY5NzgzZjg1NDMzY2M2ZDk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1sb2FkLmh0bWwKQEAgLTEwLDE1ICsxMCwxNSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwucHJvdG90eXBlLCAiX2xvYWROZXh0Q2h1bmsiLCBsb2FkTmV4dENodW5rKTsKICAgICBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Quc2F2ZUFzID0gc2F2ZUFzOwogICAgIHZhciBkYXRhID0gWwotICAg
ICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NDMxNi44NDA4LCJkYXRhIjp7ImlkZW50aWZpZXIi
OjQzLCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5vcmcvIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9
LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MTgxOTkzNiwidG90
YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTE4
LjkzMjksImRhdGEiOnsiaWRlbnRpZmllciI6NDMsInN0YXR1c0NvZGUiOjIwMCwibWltZVR5cGUi
OiJ0ZXh0L2h0bWwifSwiY2hpbGRyZW4iOltdLCJlbmRUaW1lIjoxMzEwNzQ5ODU1MTE4Ljk2OCwi
dHlwZSI6IlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIiwidXNlZEhlYXBTaXplIjoxODE5OTM2LCJ0
b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKLSAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUx
MzYuMjQ1LCJkYXRhIjp7ImlkZW50aWZpZXIiOjQ0LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5v
cmcvY3NzL21haW4uY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VT
ZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEy
MH0sCi0gICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM2LjY1NSwiZGF0YSI6eyJpZGVu
dGlmaWVyIjo0NSwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9ncmVlbi5jc3MiLCJy
ZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhl
YXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKLSAgICAgICAgeyJzdGFy
dFRpbWUiOjEzMTA3NDk4NTUxMzcuMDIzLCJkYXRhIjp7ImlkZW50aWZpZXIiOjQ2LCJ1cmwiOiJo
dHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL2JsdWUuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9
LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90
YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM3
LjM0MiwiZGF0YSI6eyJpZGVudGlmaWVyIjo0NywidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3Jn
L2Nzcy95ZWxsb3cuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VT
ZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEy
MH0sCi0gICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM3LjY1NiwiZGF0YSI6eyJpZGVu
dGlmaWVyIjo0OCwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9waW5rLmNzcyIsInJl
cXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVh
cFNpemUiOjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICB7InN0YXJ0
VGltZSI6MTMxMDc0OTg1NTEzNy45ODksImRhdGEiOnsiaWRlbnRpZmllciI6NDksInVybCI6Imh0
dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvcHVycGxlLmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQi
fSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRv
dGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEz
OC4zMDgsImRhdGEiOnsiaWRlbnRpZmllciI6NTAsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9y
Zy9jc3MvZ3JheS5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNl
bmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIw
fV07CisgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU0MzE2Ljg0MDgsImRhdGEiOnsicmVx
dWVzdElkIjo0MywidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnLyIsInJlcXVlc3RNZXRob2Qi
OiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjE4MTk5
MzYsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAorICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0
OTg1NTExOC45MzI5LCJkYXRhIjp7InJlcXVlc3RJZCI6NDMsInN0YXR1c0NvZGUiOjIwMCwibWlt
ZVR5cGUiOiJ0ZXh0L2h0bWwifSwiY2hpbGRyZW4iOltdLCJlbmRUaW1lIjoxMzEwNzQ5ODU1MTE4
Ljk2OCwidHlwZSI6IlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIiwidXNlZEhlYXBTaXplIjoxODE5
OTM2LCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKKyAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3
NDk4NTUxMzYuMjQ1LCJkYXRhIjp7InJlcXVlc3RJZCI6NDQsInVybCI6Imh0dHA6Ly93d3cud2Vi
a2l0Lm9yZy9jc3MvbWFpbi5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNv
dXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3
NjI5MTIwfSwKKyAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzYuNjU1LCJkYXRhIjp7
InJlcXVlc3RJZCI6NDUsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvZ3JlZW4uY3Nz
IiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVz
ZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCisgICAgICAgIHsi
c3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM3LjAyMywiZGF0YSI6eyJyZXF1ZXN0SWQiOjQ2LCJ1cmwi
OiJodHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL2JsdWUuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdF
VCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5Miwi
dG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCisgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1
MTM3LjM0MiwiZGF0YSI6eyJyZXF1ZXN0SWQiOjQ3LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5v
cmcvY3NzL3llbGxvdy5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJj
ZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5
MTIwfSwKKyAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzcuNjU2LCJkYXRhIjp7InJl
cXVlc3RJZCI6NDgsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvcGluay5jc3MiLCJy
ZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhl
YXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKKyAgICAgICAgeyJzdGFy
dFRpbWUiOjEzMTA3NDk4NTUxMzcuOTg5LCJkYXRhIjp7InJlcXVlc3RJZCI6NDksInVybCI6Imh0
dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvcHVycGxlLmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQi
fSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRv
dGFsSGVhcFNpemUiOjc2MjkxMjB9LAorICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEz
OC4zMDgsImRhdGEiOnsicmVxdWVzdElkIjo1MCwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3Jn
L2Nzcy9ncmF5LmNzcyIsInJlcXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2Vu
ZFJlcXVlc3QiLCJ1c2VkSGVhcFNpemUiOjIzNjcxOTIsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9
XTsKIAogICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLl9sb2FkTmV4dENo
dW5rKGRhdGEsIDApOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQK
aW5kZXggNjM2YzEwNGM2Zjk0MzdjNDk0YWVjMzNkZDIyMGI0N2QxYjIxYzBmMy4uOGI3YTFhZGIw
ZTg4ODBkNDU2NzA0MzlmY2U0MWE3MDY4MDg1N2JlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJl
c291cmNlLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgUmVzb3VyY2VTZW5kUmVxdWVzdCBQ
cm9wZXJ0aWVzOgogewogICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+CiAgICAgZGF0YSA6IHsKLSAg
ICAgICAgaWRlbnRpZmllciA6IDxzdHJpbmc+CisgICAgICAgIHJlcXVlc3RJZCA6IDxzdHJpbmc+
CiAgICAgICAgIHVybCA6IDxzdHJpbmc+CiAgICAgICAgIHJlcXVlc3RNZXRob2QgOiAiR0VUIgog
ICAgIH0KQEAgLTIwLDcgKzIwLDcgQEAgUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UgUHJvcGVydGll
czoKIHsKICAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgogICAgIGRhdGEgOiB7Ci0gICAgICAgIGlk
ZW50aWZpZXIgOiA8c3RyaW5nPgorICAgICAgICByZXF1ZXN0SWQgOiA8c3RyaW5nPgogICAgICAg
ICBzdGF0dXNDb2RlIDogMAogICAgICAgICBtaW1lVHlwZSA6IDxzdHJpbmc+CiAgICAgfQpAQCAt
MzUsNyArMzUsNyBAQCBSZXNvdXJjZUZpbmlzaCBQcm9wZXJ0aWVzOgogewogICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+CiAgICAgZGF0YSA6IHsKLSAgICAgICAgaWRlbnRpZmllciA6IDxzdHJpbmc+
CisgICAgICAgIHJlcXVlc3RJZCA6IDxzdHJpbmc+CiAgICAgICAgIGRpZEZhaWwgOiBmYWxzZQog
ICAgIH0KICAgICB0eXBlIDogIlJlc291cmNlRmluaXNoIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0
bWwKaW5kZXggM2MxODIzMzM5YzBjNTQ2ZGY3ZDFkYzc4YjBkMjk4ZjBkMTY3ZTZkZS4uNmY0NmJj
MzhlYmQ1ODVjOThkNWYyNjJmNjEzM2Q1YTIzMTlhYjI0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJj
ZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKIAogZnVu
Y3Rpb24gdGVzdCgpCiB7Ci0gICAgdmFyIHJlc291cmNlSWQ7CisgICAgdmFyIHJlcXVlc3RJZDsK
ICAgICB2YXIgc2NyaXB0VXJsID0gInRpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMiOwogCiAg
ICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsKQEAgLTU1LDcgKzU1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgZnVuY3Rpb24gcHJpbnRTZW5kKHJlY29yZCkKICAgICB7CiAg
ICAgICAgIHByaW50UmVjb3JkKHJlY29yZCk7Ci0gICAgICAgIHJlc291cmNlSWQgPSByZWNvcmQu
ZGF0YS5pZGVudGlmaWVyOworICAgICAgICByZXF1ZXN0SWQgPSByZWNvcmQuZGF0YS5yZXF1ZXN0
SWQ7CiAgICAgICAgIGlmIChyZWNvcmQuZGF0YS51cmwgPT09IHVuZGVmaW5lZCkgCiAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiKiBObyAndXJsJyBwcm9wZXJ0eSBpbiByZWNv
cmQiKTsKICAgICAgICAgZWxzZSBpZiAocmVjb3JkLmRhdGEudXJsLmluZGV4T2Yoc2NyaXB0VXJs
KSA9PT0gLTEpCkBAIC02NSw4ICs2NSw4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9u
IHByaW50UmVjZWl2ZShyZWNvcmQpCiAgICAgewogICAgICAgICBwcmludFJlY29yZChyZWNvcmQp
OwotICAgICAgICBpZiAocmVzb3VyY2VJZCAhPT0gcmVjb3JkLmRhdGEuaWRlbnRpZmllcikKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWRuJ3QgZmluZCBtYXRjaGluZyBy
ZXNvdXJjZUlkOiAiICsgcmVzb3VyY2VJZCk7CisgICAgICAgIGlmIChyZXF1ZXN0SWQgIT09IHJl
Y29yZC5kYXRhLnJlcXVlc3RJZCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJEaWRuJ3QgZmluZCBtYXRjaGluZyByZXF1ZXN0SWQ6ICIgKyByZXF1ZXN0SWQpOwogICAgICAg
ICBpZiAocmVjb3JkLmRhdGEuc3RhdHVzQ29kZSAhPT0gMCkKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZXNwb25zZSByZWNlaXZlZCBzdGF0dXM6ICIgKyByZWNvcmQuZGF0
YS5zdGF0dXNDb2RlKTsKICAgICB9CkBAIC03NCw4ICs3NCw4IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgIGZ1bmN0aW9uIHByaW50RmluaXNoKHJlY29yZCkKICAgICB7CiAgICAgICAgIHByaW50UmVj
b3JkKHJlY29yZCk7Ci0gICAgICAgIGlmIChyZXNvdXJjZUlkICE9PSByZWNvcmQuZGF0YS5pZGVu
dGlmaWVyKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZG4ndCBmaW5k
IG1hdGNoaW5nIHJlc291cmNlSWQ6ICIgKyByZXNvdXJjZUlkKTsKKyAgICAgICAgaWYgKHJlcXVl
c3RJZCAhPT0gcmVjb3JkLmRhdGEucmVxdWVzdElkKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkRpZG4ndCBmaW5kIG1hdGNoaW5nIHJlcXVlc3RJZDogIiArIHJlcXVlc3RJ
ZCk7CiAgICAgICAgIGlmIChyZWNvcmQuZGF0YS5kaWRGYWlsKQogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlJlcXVlc3QgZmFpbGVkLiIpOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRlc3QuanMKaW5kZXggY2U2YTljM2E3
MzZlMmFmODZiMmE1MmIzZDBhMDUxMDJlYjY0MzcwMi4uNmM3Yzk5ZGNmYmFlN2Q4YzUxYmRhMDRm
YzU4ZDZiY2VkZGRlYmMxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLXRlc3QuanMKQEAgLTUsNyArNSw3IEBAIEluc3BlY3RvclRlc3QudGltZWxpbmVO
b25EZXRlcm1pbmlzdGljUHJvcHMgPSB7CiAgICAgY2hpbGRyZW4gOiAxLAogICAgIGVuZFRpbWUg
OiAxLCAKICAgICBoZWlnaHQgOiAxLAotICAgIGlkZW50aWZpZXIgOiAxLAorICAgIHJlcXVlc3RJ
ZCA6IDEsCiAgICAgc3RhcnRUaW1lIDogMSwKICAgICB3aWR0aCA6IDEsCiAgICAgc3RhY2tUcmFj
ZTogMSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3
b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dAppbmRleCA1NjFiNGE0YzE4NDcyMjJiYzhiMTlmZWZk
OWQ4YTgxNDNkNTJlNzNkLi5iYTIzOGQxMDBjYzA1NzAxOGY3OWI3NTQxZGIwOWVkZTFlMDdiMmI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdv
cmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsNyBAQCBSZXNvdXJjZVNlbmRSZXF1
ZXN0IFByb3BlcnRpZXM6CiAgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KICAgICBzdGFja1RyYWNl
IDogPG9iamVjdD4KICAgICBkYXRhIDogewotICAgICAgICBpZGVudGlmaWVyIDogPHN0cmluZz4K
KyAgICAgICAgcmVxdWVzdElkIDogPHN0cmluZz4KICAgICAgICAgdXJsIDogPHN0cmluZz4KICAg
ICAgICAgcmVxdWVzdE1ldGhvZCA6ICJHRVQiCiAgICAgfQpAQCAtMjEsNyArMjEsNyBAQCBSZXNv
dXJjZVJlY2VpdmVSZXNwb25zZSBQcm9wZXJ0aWVzOgogewogICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+CiAgICAgZGF0YSA6IHsKLSAgICAgICAgaWRlbnRpZmllciA6IDxzdHJpbmc+CisgICAgICAg
IHJlcXVlc3RJZCA6IDxzdHJpbmc+CiAgICAgICAgIHN0YXR1c0NvZGUgOiAwCiAgICAgICAgIG1p
bWVUeXBlIDogPHN0cmluZz4KICAgICB9CkBAIC0zNiw3ICszNiw3IEBAIFJlc291cmNlRmluaXNo
IFByb3BlcnRpZXM6CiB7CiAgICAgc3RhcnRUaW1lIDogPG51bWJlcj4KICAgICBkYXRhIDogewot
ICAgICAgICBpZGVudGlmaWVyIDogPHN0cmluZz4KKyAgICAgICAgcmVxdWVzdElkIDogPHN0cmlu
Zz4KICAgICAgICAgZGlkRmFpbCA6IGZhbHNlCiAgICAgfQogICAgIHR5cGUgOiAiUmVzb3VyY2VG
aW5pc2giCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjczZTljZDBjYWMxZTk5ZGU3ZjQwYTBjZmE2ODRiODY5ODU3
YmE3ZC4uOWM2ZmVlYTc5NWE4MjBlNDkzMTY1NDdhZjgwZDQ0NjE3MGYzMDlmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEwNSBAQAorMjAxMS0wOC0xMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlr
QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZXR3b3JrIHJlc291cmNl
IGlkZW50aWZpZXIgc2hvdWxkIGhhdmUgUmVxdWVzdElkIHR5cGUgYW5kIHJlcXVlc3RJZCBuYW1l
IGluIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjYwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bWFya1Jl
c291cmNlQXNDYWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291
cmNlQWdlbnQ6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJl
c291cmNlQWdlbnQ6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldEluaXRpYWxTY3JpcHRD
b250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJl
Y2VpdmVTY3JpcHRSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50OjpzZXRJbml0aWFsWEhSQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlWEhSUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlV2ViU29ja2V0KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxTZW5kV2ViU29ja2V0SGFuZHNo
YWtlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ2xvc2VXZWJTb2NrZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6Z2V0UmVzb3VyY2VDb250ZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OndpbGxTZW5kUmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVzb3VyY2VEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVz
b3VyY2VSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3Jr
UmVzb3VyY2VzRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6UmVzb3VyY2VEYXRhOjpSZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29y
a1Jlc291cmNlc0RhdGE6OnJlc291cmNlQ3JlYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3
b3JrUmVzb3VyY2VzRGF0YTo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
TmV0d29ya1Jlc291cmNlc0RhdGE6OnNldFJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6bWF5YmVBZGRSZXNvdXJjZURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6Om1heWJlRGVjb2RlRGF0YVRvQ29udGVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRkQ2FjaGVkUmVz
b3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OmFkZFJlc291
cmNlU2hhcmVkQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRh
OjpkYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpjbGVhcik6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZW5zdXJlTm9EYXRhRm9y
UmVxdWVzdElkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjplbnN1
cmVGcmVlU3BhY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5o
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6
cmVxdWVzdElkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3Vy
Y2VTZW5kUmVxdWVzdERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0
b3J5OjpjcmVhdGVSZXNvdXJjZVJlY2VpdmVSZXNwb25zZURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZUZpbmlzaERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZWNlaXZlUmVzb3Vy
Y2VEYXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuX3JlZ2lzdGVyQ29uc29sZURvbWFpbkRp
c3BhdGNoZXIuZGlzcGF0Y2hlci5tZXNzYWdlQWRkZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVk
RXh0ZW5zaW9uQVBJLlJlc291cmNlcy5wcm90b3R5cGUuZ2V0SEFSKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5FeHRlbnNpb25TZXJ2ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZl
ci5wcm90b3R5cGUuX25vdGlmeVJlc291cmNlRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX29uR2V0SEFSKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9yZXF1ZXN0SWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUucmVxdWVzdFdpbGxCZVNl
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5y
ZXNvdXJjZU1hcmtlZEFzQ2FjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlz
cGF0Y2hlci5wcm90b3R5cGUucmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmRhdGFSZWNlaXZlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmxvYWRpbmdGaW5pc2hlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmxvYWRp
bmdGYWlsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3Rv
dHlwZS5yZXNvdXJjZUxvYWRlZEZyb21NZW1vcnlDYWNoZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLndlYlNvY2tldENyZWF0ZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS53ZWJTb2NrZXRXaWxs
U2VuZEhhbmRzaGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNw
YXRjaGVyLnByb3RvdHlwZS53ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZVJlY2VpdmVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUud2ViU29ja2V0
Q2xvc2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5
cGUuX2FwcGVuZFJlZGlyZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0
Y2hlci5wcm90b3R5cGUuX3N0YXJ0UmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5fZmluaXNoUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5fY3JlYXRlUmVzb3VyY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fYXBwZW5kUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fbWF0Y2hSZXNv
dXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl91
cGRhdGVTZWFyY2hNYXRjaGVkTGlzdEFmdGVyUmVxdWVzdElkQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQ
YW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5f
YWRkUmVjb3JkVG9UaW1lbGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5wcm90b3R5cGUuX2ZpbmRQYXJlbnRSZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkKToKKwogMjAxMS0wOC0xMCAgSGFucyBXZW5uYm9y
ZyAgPGhhbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogT3ZlcndyaXRpbmcg
a2V5IGluIHVuaXF1ZSBpbmRleCBzaG91bGQgYmUgcG9zc2libGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IDU0NWE5MDkwYjgwMzZmY2U4MTE2NmI4
MjQ2MWFhZjljZWZlZTFiYjkuLjBiYzRiYTE3ZTRkYTBjNWQ0MjJkY2Y5MTY0NDAzOTVhMGE4MzVl
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApAQCAt
NjgsNyArNjgsNyBAQCBDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzLCBNZXNzYWdlVHlwZSB0LCBNZXNzYWdlTGV2ZWwgbCwgYwogewogfQogCi1Db25zb2xlTWVz
c2FnZTo6Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzLCBNZXNzYWdlVHlwZSB0LCBNZXNz
YWdlTGV2ZWwgbCwgY29uc3QgU3RyaW5nJiBtLCBjb25zdCBTdHJpbmcmIHJlc3BvbnNlVXJsLCBj
b25zdCBTdHJpbmcmIHJlc291cmNlSWQpCitDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzLCBNZXNzYWdlVHlwZSB0LCBNZXNzYWdlTGV2ZWwgbCwgY29uc3QgU3Ry
aW5nJiBtLCBjb25zdCBTdHJpbmcmIHJlc3BvbnNlVXJsLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJ
ZCkKICAgICA6IG1fc291cmNlKHMpCiAgICAgLCBtX3R5cGUodCkKICAgICAsIG1fbGV2ZWwobCkK
QEAgLTc2LDcgKzc2LDcgQEAgQ29uc29sZU1lc3NhZ2U6OkNvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UgcywgTWVzc2FnZVR5cGUgdCwgTWVzc2FnZUxldmVsIGwsIGMKICAgICAsIG1fbGluZSgw
KQogICAgICwgbV91cmwocmVzcG9uc2VVcmwpCiAgICAgLCBtX3JlcGVhdENvdW50KDEpCi0gICAg
LCBtX3JlcXVlc3RJZChyZXNvdXJjZUlkKQorICAgICwgbV9yZXF1ZXN0SWQocmVxdWVzdElkKQog
ewogfQogCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9u
dGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSogZnJvbnRlbmQsIEluamVjdGUKICAgICBq
c29uT2JqLT5zZXROdW1iZXIoInJlcGVhdENvdW50Iiwgc3RhdGljX2Nhc3Q8aW50PihtX3JlcGVh
dENvdW50KSk7CiAgICAganNvbk9iai0+c2V0U3RyaW5nKCJ0ZXh0IiwgbV9tZXNzYWdlKTsKICAg
ICBpZiAobV90eXBlID09IE5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlKSAKLSAgICAgICAganNvbk9i
ai0+c2V0U3RyaW5nKCJuZXR3b3JrSWRlbnRpZmllciIsIG1fcmVxdWVzdElkKTsKKyAgICAgICAg
anNvbk9iai0+c2V0U3RyaW5nKCJuZXR3b3JrUmVxdWVzdElkIiwgbV9yZXF1ZXN0SWQpOwogICAg
IGlmIChtX2FyZ3VtZW50cyAmJiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAg
ICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LT5pbmplY3RlZFNjcmlwdEZvcihtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7CiAgICAgICAg
IGlmICghaW5qZWN0ZWRTY3JpcHQuaGFzTm9WYWx1ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDMyZDBhZDkzZjRhMTQ2M2U4Mjk3MmU2OGFhMTE0
ZGY0MzhkYzY5ZmMuLmMwYjI1ODg5ODQ1YjRjYmM5YjRmYmFmMDU2Nzk1NDA4NThlNGI5MmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC01Myw3ICs1Myw3
IEBAIGNsYXNzIENvbnNvbGVNZXNzYWdlIHsKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0s
IHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcmIHUpOwogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwot
ICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbSwgY29uc3QgU3RyaW5nJiByZXNwb25zZVVybCwgY29uc3QgU3Ry
aW5nJiByZXNvdXJjZUlkKTsKKyAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIGNvbnN0IFN0cmluZyYgcmVz
cG9uc2VVcmwsIGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKTsKICAgICB+Q29uc29sZU1lc3NhZ2Uo
KTsKIAogICAgIHZvaWQgYWRkVG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSos
IEluamVjdGVkU2NyaXB0TWFuYWdlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmNwcAppbmRleCA1NDNkZWY3NTU5MzMwOWE0MTE2NDk0YTcxNDgw
Y2E2MzYxYmE4Y2Y4Li41YzU0NzMwMDk3NGU2OTI4ZmU5YjkwMjBkYjg3ODZkNzkwNjUwNjk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApA
QCAtNDgsNyArNDgsNyBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlm
aWVyKCkKIH0KIAogLy8gc3RhdGljCi1TdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJj
ZUlkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKK1N0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgcmV0dXJuIGFkZFBy
b2Nlc3NJZFByZWZpeFRvKFN0cmluZzo6bnVtYmVyKGlkZW50aWZpZXIpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaAppbmRleCBlZmEzZWQ0NWRi
YzVlMjgxYTgyZjIxYmM1N2E1ZjUyYzdiYzNkYzcyLi5iMWE5YzQ4YjIyMjkwMzFkNmMzNGQxODk0
MWU1ZDRkYTA4ZTQxZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRl
bnRpZmllcnNGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZp
ZXJzRmFjdG9yeS5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIElkZW50aWZpZXJzRmFjdG9yeSB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0UHJvY2Vzc0lkKGxvbmcgcHJvY2Vzc0lkKSB7
IHNfcHJvY2Vzc0lkID0gcHJvY2Vzc0lkOyB9CiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVJZGVu
dGlmaWVyKCk7Ci0gICAgc3RhdGljIFN0cmluZyByZXNvdXJjZUlkKHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllcik7CisgICAgc3RhdGljIFN0cmluZyByZXF1ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyKTsKIHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmluZyBhZGRQcm9jZXNzSWRQcmVmaXhU
byhjb25zdCBTdHJpbmcmIGlkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCmluZGV4IGRhY2FiY2E1Y2E3NDk2YzM0Y2Y2MjA2ODExMTM5YTdlOGEyN2RiZWYuLjVmNTI3
MmZmYzJkYjAzZWQ3NDgzMTZkZGEwYzUyMTEzN2FlNzU2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTMzMiw3ICszMzIsNyBAQAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJK
YXZhU2NyaXB0IHNvdXJjZSB1cmwgdGhhdCBjcmVhdGVkIGNvbnNvbGUgbWVzc2FnZS4iIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVwZWF0Q291bnQiLCAidHlwZSI6ICJpbnRl
Z2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJlcGVhdCBjb3VudCBmb3Ig
cmVwZWF0ZWQgbWVzc2FnZXMuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRl
eHQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTWVzc2FnZSB0ZXh0LiIgfSwK
LSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrSWRlbnRpZmllciIsICJ0eXBl
IjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmll
ciBvZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY29uc29sZSBtZXNz
YWdlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrUmVxdWVzdElk
IiwgIiRyZWYiOiAiTmV0d29yay5SZXF1ZXN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiSWRlbnRpZmllciBvZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0
aCB0aGUgY29uc29sZSBtZXNzYWdlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJwYXJhbWV0ZXJzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjogIlJ1bnRp
bWUuUmVtb3RlT2JqZWN0IiB9LCAiZGVzY3JpcHRpb24iOiAiTWVzc2FnZSBwYXJhbWV0ZXJzIGlu
IGNhc2Ugb2YgdGhlIGZvcm1hdHRlZCBtZXNzYWdlLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJzdGFja1RyYWNlIiwgIiRyZWYiOiAiU3RhY2tUcmFjZSIsICJkZXNjcmlwdGlv
biI6ICJTdGFjayB0cmFjZSBmb3IgYXNzZXJ0IGFuZCBlcnJvciBtZXNzYWdlcy4iIH0KICAgICAg
ICAgICAgICAgICBdCkBAIC00MTIsNiArNDEyLDExIEBACiAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJOZXR3b3JrIGRvbWFpbiBhbGxvd3MgdHJhY2tpbmcgbmV0d29yayBhY3Rpdml0aWVzIG9mIHRo
ZSBwYWdlLiBJdCBleHBvc2VzIGluZm9ybWF0aW9uIGFib3V0IEhUVFAgYW5kIFdlYlNvY2tldCBy
ZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLCB0aGVpciBoZWFkZXJzLCBib2RpZXMsIHRpbWluZywgZXRj
LiBJdCBhbHNvIGFsbG93cyBnZXR0aW5nIHRoZSB0cmVlIG9mIHRoZSBGcmFtZXMgb24gdGhlIHBh
Z2UgYWxvbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGVpciByZXNvdXJjZXMuIiwKICAgICAg
ICAgInR5cGVzIjogWwogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6ICJSZXF1
ZXN0SWQiLAorICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSByZXF1ZXN0IGlkZW50aWZpZXIuIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAiaWQiOiAiUmVzb3VyY2VUaW1p
bmciLAogICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIlRpbWluZyBpbmZvcm1hdGlvbiBmb3IgdGhlIHJlcXVlc3QuIiwKQEAg
LTUyMyw3ICs1MjgsNyBAQAogICAgICAgICAgICAgICAgICJuYW1lIjogImdldFJlc291cmNlQ29u
dGVudCIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgY29udGVudCBv
ZiB0aGUgZ2l2ZW4gcmVzb3VyY2UuIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsK
LSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAic3Ry
aW5nIiwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIHJlc291cmNlIHRvIGdldCBj
b250ZW50IGZvci4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQi
LCAiJHJlZiI6ICJSZXF1ZXN0SWQiLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBvZiB0aGUg
bmV0d29yayByZXF1ZXN0IHRvIGdldCBjb250ZW50IGZvci4iIH0KICAgICAgICAgICAgICAgICBd
LAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImNvbnRlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiUmVzb3Vy
Y2UgY29udGVudC4iIH0sCkBAIC01NTEsNyArNTU2LDcgQEAKICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJyZXF1ZXN0V2lsbEJlU2VudCIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IkZpcmVkIHdoZW4gcGFnZSBpcyBhYm91dCB0byBzZW5kIEhUVFAgcmVxdWVzdC4iLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImlkZW50aWZpZXIiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBp
ZGVudGlmaWVyLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQi
LCAiJHJlZiI6ICJSZXF1ZXN0SWQiLCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVy
LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkZyYW1lIGlkZW50aWZpZXIuIiB9LAogICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImxvYWRlcklkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2Ny
aXB0aW9uIjogIkxvYWRlciBpZGVudGlmaWVyLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJkb2N1bWVudFVSTCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJV
Ukwgb2YgdGhlIGRvY3VtZW50IHRoaXMgcmVzb3VyY2UgaXMgbG9hZGVkIGZvci4iIH0sCkBAIC01
NjYsMTQgKzU3MSwxNCBAQAogICAgICAgICAgICAgICAgICJuYW1lIjogInJlc291cmNlTWFya2Vk
QXNDYWNoZWQiLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHJl
cXVlc3QgaXMga25vd24gdG8gYmUgc2VydmVkIGZyb20gZGlzayBjYWNoZS4iLAogICAgICAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlk
ZW50aWZpZXIiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBpZGVu
dGlmaWVyLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICIk
cmVmIjogIlJlcXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9
LAogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAicmVzcG9uc2VSZWNlaXZlZCIsCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gSFRUUCByZXNwb25zZSBpcyBhdmFpbGFibGUuIiwK
ICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJl
cXVlc3QgaWRlbnRpZmllci4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVx
dWVzdElkIiwgIiRyZWYiOiAiUmVxdWVzdElkIiwgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgaWRl
bnRpZmllci4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwg
InR5cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9uIjogIlRpbWVzdGFtcC4iIH0sCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICIkcmVmIjogIlBhZ2UuUmVzb3VyY2VUeXBl
IiwgImRlc2NyaXB0aW9uIjogIlJlc291cmNlIHR5cGUuIiB9LAogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlc3BvbnNlIiwgIiRyZWYiOiAiUmVzb3VyY2VSZXNwb25zZSIsICJkZXNj
cmlwdGlvbiI6ICJSZXNwb25zZSBkYXRhLiIgfQpAQCAtNTgzLDcgKzU4OCw3IEBACiAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZGF0YVJlY2VpdmVkIiwKICAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRmlyZWQgd2hlbiBkYXRhIGNodW5rIHdhcyByZWNlaXZlZCBvdmVyIHRoZSBuZXR3
b3JrLiIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlv
biI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInJlcXVlc3RJZCIsICIkcmVmIjogIlJlcXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1
ZXN0IGlkZW50aWZpZXIuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVz
dGFtcCIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJUaW1lc3RhbXAuIiB9LAog
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRhdGFMZW5ndGgiLCAidHlwZSI6ICJpbnRl
Z2VyIiwgImRlc2NyaXB0aW9uIjogIkRhdGEgY2h1bmsgbGVuZ3RoLiIgfSwKICAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJlbmNvZGVkRGF0YUxlbmd0aCIsICJ0eXBlIjogImludGVnZXIi
LCAiZGVzY3JpcHRpb24iOiAiQWN0dWFsIGJ5dGVzIHJlY2VpdmVkIChtaWdodCBiZSBsZXNzIHRo
YW4gZGF0YUxlbmd0aCBmb3IgY29tcHJlc3NlZCBlbmNvZGluZ3MpLiIgfQpAQCAtNTkzLDcgKzU5
OCw3IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAibG9hZGluZ0ZpbmlzaGVkIiwKICAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBIVFRQIHJlcXVlc3QgaGFzIGZp
bmlzaGVkIGxvYWRpbmcuIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgaWRlbnRpZmllci4iIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgIiRyZWYiOiAiUmVxdWVzdElkIiwgImRlc2NyaXB0
aW9uIjogIlJlcXVlc3QgaWRlbnRpZmllci4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9uIjogIlRpbWVz
dGFtcC4iIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LApAQCAtNjAxLDcgKzYw
Niw3IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAibG9hZGluZ0ZhaWxlZCIsCiAgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gSFRUUCByZXF1ZXN0IGhhcyBmYWls
ZWQgdG8gbG9hZC4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVz
Y3JpcHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAiJHJlZiI6ICJSZXF1ZXN0SWQiLCAiZGVzY3JpcHRpb24i
OiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiVGltZXN0YW1w
LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlcnJvclRleHQiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVXNlciBmcmllbmRseSBlcnJvciBtZXNzYWdlLiIg
fSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjYW5jZWxlZCIsICJ0eXBlIjogImJv
b2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVHJ1ZSBpZiBsb2FkaW5n
IHdhcyBjYW5jZWxlZC4iIH0KQEAgLTYxMSw3ICs2MTYsNyBAQAogICAgICAgICAgICAgICAgICJu
YW1lIjogInJlc291cmNlTG9hZGVkRnJvbU1lbW9yeUNhY2hlIiwKICAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBIVFRQIHJlcXVlc3QgaGFzIGJlZW4gc2VydmVkIGZy
b20gbWVtb3J5IGNhY2hlLiIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogInN0cmluZyIs
ICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9LAorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICIkcmVmIjogIlJlcXVlc3RJZCIsICJkZXNjcmlw
dGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImZyYW1lSWQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiRnJhbWUg
aWRlbnRpZmllci4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibG9hZGVySWQi
LCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTG9hZGVyIGlkZW50aWZpZXIuIiB9
LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRvY3VtZW50VVJMIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVSTCBvZiB0aGUgZG9jdW1lbnQgdGhpcyByZXNvdXJj
ZSBpcyBsb2FkZWQgZm9yLiIgfSwKQEAgLTYyNCw3ICs2MjksNyBAQAogICAgICAgICAgICAgICAg
ICJuYW1lIjogIndlYlNvY2tldFdpbGxTZW5kSGFuZHNoYWtlUmVxdWVzdCIsCiAgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gV2ViU29ja2V0IGlzIGFib3V0IHRvIGlu
aXRpYXRlIGhhbmRzaGFrZS4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJzdHJpbmci
LCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAiJHJlZiI6ICJSZXF1ZXN0SWQiLCAiZGVzY3Jp
cHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiVGlt
ZXN0YW1wLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0IiwgInR5
cGUiOiAib2JqZWN0IiwgImRlc2NyaXB0aW9uIjogIldlYlNvY2tldCByZXF1ZXN0IGRhdGEuIiB9
CiAgICAgICAgICAgICAgICAgXQpAQCAtNjMzLDcgKzYzOCw3IEBACiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAid2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VSZWNlaXZlZCIsCiAgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gV2ViU29ja2V0IGhhbmRzaGFrZSByZXNw
b25zZSBiZWNvbWVzIGF2YWlsYWJsZS4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjog
WwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAiJHJlZiI6ICJSZXF1ZXN0SWQiLCAi
ZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBpZGVudGlmaWVyLiIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24i
OiAiVGltZXN0YW1wLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXNwb25z
ZSIsICJ0eXBlIjogIm9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJXZWJTb2NrZXQgcmVzcG9uc2Ug
ZGF0YS4iIH0KICAgICAgICAgICAgICAgICBdCkBAIC02NDIsNyArNjQ3LDcgQEAKICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJ3ZWJTb2NrZXRDcmVhdGVkIiwKICAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRmlyZWQgdXBvbiBXZWJTb2NrZXQgY3JlYXRpb24uIiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVu
dGlmaWVyIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgaWRlbnRp
Zmllci4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgIiRy
ZWYiOiAiUmVxdWVzdElkIiwgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgaWRlbnRpZmllci4iIH0s
CiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXJsIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIldlYlNvY2tldCByZXF1ZXN0IFVSTC4iIH0KICAgICAgICAgICAgICAg
ICBdCiAgICAgICAgICAgICB9LApAQCAtNjUwLDcgKzY1NSw3IEBACiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAid2ViU29ja2V0Q2xvc2VkIiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiRmlyZWQgd2hlbiBXZWJTb2NrZXQgaXMgY2xvc2VkLiIsCiAgICAgICAgICAgICAgICAgInBh
cmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICIkcmVmIjogIlJl
cXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIiB9LAogICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBlIjogIm51bWJlciIsICJk
ZXNjcmlwdGlvbiI6ICJUaW1lc3RhbXAuIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmNwcAppbmRleCBlOTRiY2E5NjkyMmM1ODIyYjBmMWMzZjM5ZDhjNThkODI2MTVjZjViLi5h
M2YyYzIzOGI1NDA3MmZmMThjZWE1NTM1MDJlYWViMDRjNDNmZWIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAtMjI2LDgg
KzIyNiw4IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSCiAKICAgICBpZiAocmVzcG9uc2UuaHR0
cFN0YXR1c0NvZGUoKSA+PSA0MDApIHsKICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiRmFpbGVk
IHRvIGxvYWQgcmVzb3VyY2U6IHRoZSBzZXJ2ZXIgcmVzcG9uZGVkIHdpdGggYSBzdGF0dXMgb2Yg
IiArIFN0cmluZzo6bnVtYmVyKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpICsgIiAoIiArIHJl
c3BvbnNlLmh0dHBTdGF0dXNUZXh0KCkgKyAnKSc7Ci0gICAgICAgIFN0cmluZyByZXNvdXJjZUlk
ID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpOwotICAgICAgICBh
ZGRDb25zb2xlTWVzc2FnZShhZG9wdFB0cihuZXcgQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBOZXR3b3JrRXJyb3JNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UsIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCByZXNvdXJjZUlkKSkpOworICAgICAgICBTdHJp
bmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7
CisgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKGFkb3B0UHRyKG5ldyBDb25zb2xlTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIE5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSwgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIHJlcXVlc3RJZCkpKTsKICAg
ICB9CiB9CiAKQEAgLTI0MCw4ICsyNDAsOCBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6
ZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdQogICAg
IFN0cmluZyBtZXNzYWdlID0gIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIjsKICAgICBpZiAoIWVy
cm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKQogICAgICAgICBtZXNzYWdlICs9
ICI6ICIgKyBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpOwotICAgIFN0cmluZyByZXNvdXJj
ZUlkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpOwotICAgIGFk
ZENvbnNvbGVNZXNzYWdlKGFkb3B0UHRyKG5ldyBDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIE5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSwgZXJyb3IuZmFpbGluZ1VSTCgpLCByZXNvdXJjZUlkKSkpOworICAgIFN0cmluZyByZXF1ZXN0
SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKTsKKyAgICBhZGRD
b25zb2xlTWVzc2FnZShhZG9wdFB0cihuZXcgQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291
cmNlLCBOZXR3b3JrRXJyb3JNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IGVycm9yLmZhaWxpbmdVUkwoKSwgcmVxdWVzdElkKSkpOwogfQogCiB2b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVu
YWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5jcHAKaW5kZXggMWFlN2FkNGU3YjY2ZjNkMThmNDRlZDg0MzNiYWYwNmQ0ZTlmM2Jj
YS4uY2JmYmQwMTA5ODFjOWE0YThjMjIyMDIyMDU2ODNiZjQ2OTg3YjdmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAt
MjAzLDggKzIwMyw4IEBAIEluc3BlY3RvclJlc291cmNlQWdlbnQ6On5JbnNwZWN0b3JSZXNvdXJj
ZUFnZW50KCkKIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFJlcXVlc3Qo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpCiB7Ci0gICAgU3RyaW5nIHJlc291cmNlSWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291
cmNlSWQoaWRlbnRpZmllcik7Ci0gICAgbV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZUNyZWF0ZWQo
cmVzb3VyY2VJZCwgbV9wYWdlQWdlbnQtPmxvYWRlcklkKGxvYWRlcikpOworICAgIFN0cmluZyBy
ZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKTsKKyAg
ICBtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlQ3JlYXRlZChyZXF1ZXN0SWQsIG1fcGFnZUFnZW50
LT5sb2FkZXJJZChsb2FkZXIpKTsKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGhlYWRl
cnMgPSBtX3N0YXRlLT5nZXRPYmplY3QoUmVzb3VyY2VBZ2VudFN0YXRlOjpleHRyYVJlcXVlc3RI
ZWFkZXJzKTsKIApAQCAtMjMzLDE3ICsyMzMsMTcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50Ojp3aWxsU2VuZFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudEwK
ICAgICBlbHNlCiAgICAgICAgIGNhbGxTdGFja1ZhbHVlID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0
ZSgpOwogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGluaXRpYXRvck9iamVjdCA9IGJ1aWxk
SW5pdGlhdG9yT2JqZWN0KGxvYWRlci0+ZnJhbWUoKSA/IGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1l
bnQoKSA6IDApOwotICAgIG1fZnJvbnRlbmQtPnJlcXVlc3RXaWxsQmVTZW50KHJlc291cmNlSWQs
IG1fcGFnZUFnZW50LT5mcmFtZUlkKGxvYWRlci0+ZnJhbWUoKSksIG1fcGFnZUFnZW50LT5sb2Fk
ZXJJZChsb2FkZXIpLCBsb2FkZXItPnVybCgpLnN0cmluZygpLCBidWlsZE9iamVjdEZvclJlc291
cmNlUmVxdWVzdChyZXF1ZXN0KSwgY3VycmVudFRpbWUoKSwgaW5pdGlhdG9yT2JqZWN0LCBjYWxs
U3RhY2tWYWx1ZSwgYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlc3BvbnNlKHJlZGlyZWN0UmVzcG9u
c2UpKTsKKyAgICBtX2Zyb250ZW5kLT5yZXF1ZXN0V2lsbEJlU2VudChyZXF1ZXN0SWQsIG1fcGFn
ZUFnZW50LT5mcmFtZUlkKGxvYWRlci0+ZnJhbWUoKSksIG1fcGFnZUFnZW50LT5sb2FkZXJJZChs
b2FkZXIpLCBsb2FkZXItPnVybCgpLnN0cmluZygpLCBidWlsZE9iamVjdEZvclJlc291cmNlUmVx
dWVzdChyZXF1ZXN0KSwgY3VycmVudFRpbWUoKSwgaW5pdGlhdG9yT2JqZWN0LCBjYWxsU3RhY2tW
YWx1ZSwgYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlc3BvbnNlKHJlZGlyZWN0UmVzcG9uc2UpKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjptYXJrUmVzb3VyY2VBc0NhY2hlZCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAgbV9mcm9udGVuZC0+cmVzb3VyY2VNYXJr
ZWRBc0NhY2hlZChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291cmNlSWQoaWRlbnRpZmllcikpOwor
ICAgIG1fZnJvbnRlbmQtPnJlc291cmNlTWFya2VkQXNDYWNoZWQoSWRlbnRpZmllcnNGYWN0b3J5
OjpyZXF1ZXN0SWQoaWRlbnRpZmllcikpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50
TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAg
IFN0cmluZyByZXNvdXJjZUlkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50
aWZpZXIpOworICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVl
c3RJZChpZGVudGlmaWVyKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXNvdXJjZVJl
c3BvbnNlID0gYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBJ
bnNwZWN0b3JQYWdlQWdlbnQ6OlJlc291cmNlVHlwZSB0eXBlID0gSW5zcGVjdG9yUGFnZUFnZW50
OjpPdGhlclJlc291cmNlOwogICAgIGxvbmcgY2FjaGVkUmVzb3VyY2VTaXplID0gMDsKQEAgLTI1
NywyMSArMjU3LDIxIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lCiAgICAgICAgICAgICBpZiAo
cmVzcG9uc2UubWltZVR5cGUoKS5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmVzb3VyY2VS
ZXNwb25zZS0+c2V0U3RyaW5nKCJtaW1lVHlwZSIsIGNhY2hlZFJlc291cmNlLT5yZXNwb25zZSgp
Lm1pbWVUeXBlKCkpOwogCi0gICAgICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZENhY2hlZFJl
c291cmNlKHJlc291cmNlSWQsIGNhY2hlZFJlc291cmNlKTsKKyAgICAgICAgICAgIG1fcmVzb3Vy
Y2VzRGF0YS0+YWRkQ2FjaGVkUmVzb3VyY2UocmVxdWVzdElkLCBjYWNoZWRSZXNvdXJjZSk7CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVz
cG9uc2UudXJsKCksIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+aWNvbigpLT51cmwoKSkpCiAgICAg
ICAgICAgICB0eXBlID0gSW5zcGVjdG9yUGFnZUFnZW50OjpJbWFnZVJlc291cmNlOwogICAgICAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKHJlc3BvbnNlLnVybCgp
LCBsb2FkZXItPnVybCgpKSAmJiB0eXBlID09IEluc3BlY3RvclBhZ2VBZ2VudDo6T3RoZXJSZXNv
dXJjZSkKICAgICAgICAgICAgIHR5cGUgPSBJbnNwZWN0b3JQYWdlQWdlbnQ6OkRvY3VtZW50UmVz
b3VyY2U7Ci0gICAgICAgIGVsc2UgaWYgKG1fbG9hZGluZ1hIUlN5bmNocm9ub3VzbHkgfHwgbV9y
ZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUocmVzb3VyY2VJZCkgPT0gSW5zcGVjdG9yUGFnZUFn
ZW50OjpYSFJSZXNvdXJjZSkKKyAgICAgICAgZWxzZSBpZiAobV9sb2FkaW5nWEhSU3luY2hyb25v
dXNseSB8fCBtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlVHlwZShyZXF1ZXN0SWQpID09IEluc3Bl
Y3RvclBhZ2VBZ2VudDo6WEhSUmVzb3VyY2UpCiAgICAgICAgICAgICB0eXBlID0gSW5zcGVjdG9y
UGFnZUFnZW50OjpYSFJSZXNvdXJjZTsKLSAgICAgICAgZWxzZSBpZiAobV9yZXNvdXJjZXNEYXRh
LT5yZXNvdXJjZVR5cGUocmVzb3VyY2VJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpTY3JpcHRS
ZXNvdXJjZSkKKyAgICAgICAgZWxzZSBpZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUo
cmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6OlNjcmlwdFJlc291cmNlKQogICAgICAg
ICAgICAgdHlwZSA9IEluc3BlY3RvclBhZ2VBZ2VudDo6U2NyaXB0UmVzb3VyY2U7CiAKLSAgICAg
ICAgbV9yZXNvdXJjZXNEYXRhLT5yZXNwb25zZVJlY2VpdmVkKHJlc291cmNlSWQsIG1fcGFnZUFn
ZW50LT5mcmFtZUlkKGxvYWRlci0+ZnJhbWUoKSksIHJlc3BvbnNlKTsKKyAgICAgICAgbV9yZXNv
dXJjZXNEYXRhLT5yZXNwb25zZVJlY2VpdmVkKHJlcXVlc3RJZCwgbV9wYWdlQWdlbnQtPmZyYW1l
SWQobG9hZGVyLT5mcmFtZSgpKSwgcmVzcG9uc2UpOwogICAgIH0KLSAgICBtX3Jlc291cmNlc0Rh
dGEtPnNldFJlc291cmNlVHlwZShyZXNvdXJjZUlkLCB0eXBlKTsKLSAgICBtX2Zyb250ZW5kLT5y
ZXNwb25zZVJlY2VpdmVkKHJlc291cmNlSWQsIGN1cnJlbnRUaW1lKCksIEluc3BlY3RvclBhZ2VB
Z2VudDo6cmVzb3VyY2VUeXBlU3RyaW5nKHR5cGUpLCByZXNvdXJjZVJlc3BvbnNlKTsKKyAgICBt
X3Jlc291cmNlc0RhdGEtPnNldFJlc291cmNlVHlwZShyZXF1ZXN0SWQsIHR5cGUpOworICAgIG1f
ZnJvbnRlbmQtPnJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCBjdXJyZW50VGltZSgpLCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OnJlc291cmNlVHlwZVN0cmluZyh0eXBlKSwgcmVzb3VyY2VSZXNwb25z
ZSk7CiAgICAgLy8gSWYgd2UgcmV2YWxpZGF0ZWQgdGhlIHJlc291cmNlIGFuZCBnb3QgTm90IG1v
ZGlmaWVkLCBzZW5kIGNvbnRlbnQgbGVuZ3RoIGZvbGxvd2luZyBkaWRSZWNlaXZlUmVzcG9uc2UK
ICAgICAvLyBhcyB0aGVyZSB3aWxsIGJlIG5vIGNhbGxzIHRvIGRpZFJlY2VpdmVEYXRhIGZyb20g
dGhlIG5ldHdvcmsgc3RhY2suCiAgICAgaWYgKGNhY2hlZFJlc291cmNlU2l6ZSAmJiByZXNwb25z
ZS5odHRwU3RhdHVzQ29kZSgpID09IDMwNCkKQEAgLTI4MCwzNCArMjgwLDM0IEBAIHZvaWQgSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgRG9jdW1lCiAKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2
ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0
YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKQogewotICAgIFN0cmluZyByZXNvdXJjZUlk
ID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpOwotICAgIGlmIChk
YXRhICYmIG1fcmVzb3VyY2VzRGF0YS0+cmVzb3VyY2VUeXBlKHJlc291cmNlSWQpID09IEluc3Bl
Y3RvclBhZ2VBZ2VudDo6T3RoZXJSZXNvdXJjZSkKLSAgICAgICAgbV9yZXNvdXJjZXNEYXRhLT5t
YXliZUFkZFJlc291cmNlRGF0YShyZXNvdXJjZUlkLCBkYXRhLCBkYXRhTGVuZ3RoKTsKKyAgICBT
dHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmll
cik7CisgICAgaWYgKGRhdGEgJiYgbV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUocmVxdWVz
dElkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6Ok90aGVyUmVzb3VyY2UpCisgICAgICAgIG1fcmVz
b3VyY2VzRGF0YS0+bWF5YmVBZGRSZXNvdXJjZURhdGEocmVxdWVzdElkLCBkYXRhLCBkYXRhTGVu
Z3RoKTsKIAotICAgIG1fZnJvbnRlbmQtPmRhdGFSZWNlaXZlZChyZXNvdXJjZUlkLCBjdXJyZW50
VGltZSgpLCBkYXRhTGVuZ3RoLCBlbmNvZGVkRGF0YUxlbmd0aCk7CisgICAgbV9mcm9udGVuZC0+
ZGF0YVJlY2VpdmVkKHJlcXVlc3RJZCwgY3VycmVudFRpbWUoKSwgZGF0YUxlbmd0aCwgZW5jb2Rl
ZERhdGFMZW5ndGgpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZEZpbmlz
aExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVy
LCBkb3VibGUgZmluaXNoVGltZSkKIHsKLSAgICBTdHJpbmcgcmVzb3VyY2VJZCA9IElkZW50aWZp
ZXJzRmFjdG9yeTo6cmVzb3VyY2VJZChpZGVudGlmaWVyKTsKLSAgICBpZiAobV9yZXNvdXJjZXNE
YXRhLT5yZXNvdXJjZVR5cGUocmVzb3VyY2VJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpEb2N1
bWVudFJlc291cmNlKQotICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hhcmVk
QnVmZmVyKHJlc291cmNlSWQsIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIo
KS0+bWFpblJlc291cmNlRGF0YSgpLCBsb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmlucHV0
RW5jb2RpbmcoKSk7CisgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6
cmVxdWVzdElkKGlkZW50aWZpZXIpOworICAgIGlmIChtX3Jlc291cmNlc0RhdGEtPnJlc291cmNl
VHlwZShyZXF1ZXN0SWQpID09IEluc3BlY3RvclBhZ2VBZ2VudDo6RG9jdW1lbnRSZXNvdXJjZSkK
KyAgICAgICAgbV9yZXNvdXJjZXNEYXRhLT5hZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihyZXF1ZXN0
SWQsIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNl
RGF0YSgpLCBsb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmlucHV0RW5jb2RpbmcoKSk7CiAK
LSAgICBtX3Jlc291cmNlc0RhdGEtPm1heWJlRGVjb2RlRGF0YVRvQ29udGVudChyZXNvdXJjZUlk
KTsKKyAgICBtX3Jlc291cmNlc0RhdGEtPm1heWJlRGVjb2RlRGF0YVRvQ29udGVudChyZXF1ZXN0
SWQpOwogCiAgICAgaWYgKCFmaW5pc2hUaW1lKQogICAgICAgICBmaW5pc2hUaW1lID0gY3VycmVu
dFRpbWUoKTsKIAotICAgIG1fZnJvbnRlbmQtPmxvYWRpbmdGaW5pc2hlZChyZXNvdXJjZUlkLCBm
aW5pc2hUaW1lKTsKKyAgICBtX2Zyb250ZW5kLT5sb2FkaW5nRmluaXNoZWQocmVxdWVzdElkLCBm
aW5pc2hUaW1lKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGYWlsTG9h
ZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewotICAgIFN0cmluZyByZXNvdXJjZUlkID0gSWRl
bnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpOwotICAgIGlmIChtX3Jlc291
cmNlc0RhdGEtPnJlc291cmNlVHlwZShyZXNvdXJjZUlkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6
OkRvY3VtZW50UmVzb3VyY2UpCi0gICAgICAgIG1fcmVzb3VyY2VzRGF0YS0+YWRkUmVzb3VyY2VT
aGFyZWRCdWZmZXIocmVzb3VyY2VJZCwgbG9hZGVyLT5mcmFtZUxvYWRlcigpLT5kb2N1bWVudExv
YWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCksIGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+
aW5wdXRFbmNvZGluZygpKTsKKyAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0
b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7CisgICAgaWYgKG1fcmVzb3VyY2VzRGF0YS0+cmVz
b3VyY2VUeXBlKHJlcXVlc3RJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpEb2N1bWVudFJlc291
cmNlKQorICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hhcmVkQnVmZmVyKHJl
cXVlc3RJZCwgbG9hZGVyLT5mcmFtZUxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVz
b3VyY2VEYXRhKCksIGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+aW5wdXRFbmNvZGluZygp
KTsKIAotICAgIG1fZnJvbnRlbmQtPmxvYWRpbmdGYWlsZWQocmVzb3VyY2VJZCwgY3VycmVudFRp
bWUoKSwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSwgZXJyb3IuaXNDYW5jZWxsYXRpb24o
KSk7CisgICAgbV9mcm9udGVuZC0+bG9hZGluZ0ZhaWxlZChyZXF1ZXN0SWQsIGN1cnJlbnRUaW1l
KCksIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksIGVycm9yLmlzQ2FuY2VsbGF0aW9uKCkp
OwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciogbG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCkBAIC0zMTUsMzIgKzMxNSwzMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRp
ZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciogbG9hZAogICAgIFN0
cmluZyBsb2FkZXJJZCA9IG1fcGFnZUFnZW50LT5sb2FkZXJJZChsb2FkZXIpOwogICAgIFN0cmlu
ZyBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1lSWQobG9hZGVyLT5mcmFtZSgpKTsKICAgICB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIgPSBsb2FkZXItPmZyYW1lKCktPnBhZ2UoKS0+cHJvZ3Jl
c3MoKS0+Y3JlYXRlVW5pcXVlSWRlbnRpZmllcigpOwotICAgIFN0cmluZyByZXNvdXJjZUlkID0g
SWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpOwotICAgIG1fcmVzb3Vy
Y2VzRGF0YS0+cmVzb3VyY2VDcmVhdGVkKHJlc291cmNlSWQsIGxvYWRlcklkKTsKLSAgICBtX3Jl
c291cmNlc0RhdGEtPmFkZENhY2hlZFJlc291cmNlKHJlc291cmNlSWQsIHJlc291cmNlKTsKKyAg
ICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRp
Zmllcik7CisgICAgbV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZUNyZWF0ZWQocmVxdWVzdElkLCBs
b2FkZXJJZCk7CisgICAgbV9yZXNvdXJjZXNEYXRhLT5hZGRDYWNoZWRSZXNvdXJjZShyZXF1ZXN0
SWQsIHJlc291cmNlKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBpbml0aWF0b3JPYmpl
Y3QgPSBidWlsZEluaXRpYXRvck9iamVjdChsb2FkZXItPmZyYW1lKCkgPyBsb2FkZXItPmZyYW1l
KCktPmRvY3VtZW50KCkgOiAwKTsKIAotICAgIG1fZnJvbnRlbmQtPnJlc291cmNlTG9hZGVkRnJv
bU1lbW9yeUNhY2hlKHJlc291cmNlSWQsIGZyYW1lSWQsIGxvYWRlcklkLCBsb2FkZXItPnVybCgp
LnN0cmluZygpLCBjdXJyZW50VGltZSgpLCBpbml0aWF0b3JPYmplY3QsIGJ1aWxkT2JqZWN0Rm9y
Q2FjaGVkUmVzb3VyY2UoKnJlc291cmNlKSk7CisgICAgbV9mcm9udGVuZC0+cmVzb3VyY2VMb2Fk
ZWRGcm9tTWVtb3J5Q2FjaGUocmVxdWVzdElkLCBmcmFtZUlkLCBsb2FkZXJJZCwgbG9hZGVyLT51
cmwoKS5zdHJpbmcoKSwgY3VycmVudFRpbWUoKSwgaW5pdGlhdG9yT2JqZWN0LCBidWlsZE9iamVj
dEZvckNhY2hlZFJlc291cmNlKCpyZXNvdXJjZSkpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291
cmNlQWdlbnQ6OnNldEluaXRpYWxTY3JpcHRDb250ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcpCiB7Ci0gICAgbV9yZXNvdXJjZXNEYXRhLT5z
ZXRSZXNvdXJjZUNvbnRlbnQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZp
ZXIpLCBzb3VyY2VTdHJpbmcpOworICAgIG1fcmVzb3VyY2VzRGF0YS0+c2V0UmVzb3VyY2VDb250
ZW50KElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCBzb3VyY2VTdHJp
bmcpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVTY3JpcHRS
ZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAgbV9yZXNvdXJjZXNEYXRh
LT5zZXRSZXNvdXJjZVR5cGUoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZp
ZXIpLCBJbnNwZWN0b3JQYWdlQWdlbnQ6OlNjcmlwdFJlc291cmNlKTsKKyAgICBtX3Jlc291cmNl
c0RhdGEtPnNldFJlc291cmNlVHlwZShJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVu
dGlmaWVyKSwgSW5zcGVjdG9yUGFnZUFnZW50OjpTY3JpcHRSZXNvdXJjZSk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0SW5pdGlhbFhIUkNvbnRlbnQodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZykKIHsKLSAgICBtX3Jlc291
cmNlc0RhdGEtPnNldFJlc291cmNlQ29udGVudChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291cmNl
SWQoaWRlbnRpZmllciksIHNvdXJjZVN0cmluZyk7CisgICAgbV9yZXNvdXJjZXNEYXRhLT5zZXRS
ZXNvdXJjZUNvbnRlbnQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciks
IHNvdXJjZVN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVj
ZWl2ZVhIUlJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBtX3Jlc291
cmNlc0RhdGEtPnNldFJlc291cmNlVHlwZShJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291cmNlSWQo
aWRlbnRpZmllciksIEluc3BlY3RvclBhZ2VBZ2VudDo6WEhSUmVzb3VyY2UpOworICAgIG1fcmVz
b3VyY2VzRGF0YS0+c2V0UmVzb3VyY2VUeXBlKElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElk
KGlkZW50aWZpZXIpLCBJbnNwZWN0b3JQYWdlQWdlbnQ6OlhIUlJlc291cmNlKTsKIH0KIAogdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsTG9hZFhIUlN5bmNocm9ub3VzbHkoKQpAQCAt
NDIxLDcgKzQyMSw3IEBAIHN0YXRpYyBTdHJpbmcgY3JlYXRlUmVhZGFibGVTdHJpbmdGcm9tQmlu
YXJ5KGNvbnN0IHVuc2lnbmVkIGNoYXIqIHZhbHVlLCBzaXplX3QKIAogdm9pZCBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVXZWJTb2NrZXQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBjb25zdCBLVVJMJiByZXF1ZXN0VVJMKQogewotICAgIG1fZnJvbnRlbmQtPndlYlNvY2tldENy
ZWF0ZWQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpLCByZXF1ZXN0
VVJMLnN0cmluZygpKTsKKyAgICBtX2Zyb250ZW5kLT53ZWJTb2NrZXRDcmVhdGVkKElkZW50aWZp
ZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCByZXF1ZXN0VVJMLnN0cmluZygpKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRz
aGFrZVJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtNDI5LDcgKzQyOSw3IEBAIHZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KHVuc2lnbmVk
IGxvbmcgaWRlCiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVxdWVzdE9iamVjdCA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgcmVxdWVzdE9iamVjdC0+c2V0T2JqZWN0KCJo
ZWFkZXJzIiwgYnVpbGRPYmplY3RGb3JIZWFkZXJzKHJlcXVlc3QuaGVhZGVyRmllbGRzKCkpKTsK
ICAgICByZXF1ZXN0T2JqZWN0LT5zZXRTdHJpbmcoInJlcXVlc3RLZXkzIiwgY3JlYXRlUmVhZGFi
bGVTdHJpbmdGcm9tQmluYXJ5KHJlcXVlc3Qua2V5MygpLnZhbHVlLCBzaXplb2YocmVxdWVzdC5r
ZXkzKCkudmFsdWUpKSk7Ci0gICAgbV9mcm9udGVuZC0+d2ViU29ja2V0V2lsbFNlbmRIYW5kc2hh
a2VSZXF1ZXN0KElkZW50aWZpZXJzRmFjdG9yeTo6cmVzb3VyY2VJZChpZGVudGlmaWVyKSwgY3Vy
cmVudFRpbWUoKSwgcmVxdWVzdE9iamVjdCk7CisgICAgbV9mcm9udGVuZC0+d2ViU29ja2V0V2ls
bFNlbmRIYW5kc2hha2VSZXF1ZXN0KElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50
aWZpZXIpLCBjdXJyZW50VGltZSgpLCByZXF1ZXN0T2JqZWN0KTsKIH0KIAogdm9pZCBJbnNwZWN0
b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSYg
cmVzcG9uc2UpCkBAIC00MzksMTIgKzQzOSwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSh1bnNpZ25lZCBsb25nCiAg
ICAgcmVzcG9uc2VPYmplY3QtPnNldFN0cmluZygic3RhdHVzVGV4dCIsIHJlc3BvbnNlLnN0YXR1
c1RleHQoKSk7CiAgICAgcmVzcG9uc2VPYmplY3QtPnNldE9iamVjdCgiaGVhZGVycyIsIGJ1aWxk
T2JqZWN0Rm9ySGVhZGVycyhyZXNwb25zZS5oZWFkZXJGaWVsZHMoKSkpOwogICAgIHJlc3BvbnNl
T2JqZWN0LT5zZXRTdHJpbmcoImNoYWxsZW5nZVJlc3BvbnNlIiwgY3JlYXRlUmVhZGFibGVTdHJp
bmdGcm9tQmluYXJ5KHJlc3BvbnNlLmNoYWxsZW5nZVJlc3BvbnNlKCkudmFsdWUsIHNpemVvZihy
ZXNwb25zZS5jaGFsbGVuZ2VSZXNwb25zZSgpLnZhbHVlKSkpOwotICAgIG1fZnJvbnRlbmQtPndl
YlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlUmVjZWl2ZWQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNv
dXJjZUlkKGlkZW50aWZpZXIpLCBjdXJyZW50VGltZSgpLCByZXNwb25zZU9iamVjdCk7CisgICAg
bV9mcm9udGVuZC0+d2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VSZWNlaXZlZChJZGVudGlmaWVy
c0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKSwgY3VycmVudFRpbWUoKSwgcmVzcG9uc2VP
YmplY3QpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZENsb3NlV2ViU29j
a2V0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBtX2Zyb250ZW5kLT53ZWJTb2Nr
ZXRDbG9zZWQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXNvdXJjZUlkKGlkZW50aWZpZXIpLCBjdXJy
ZW50VGltZSgpKTsKKyAgICBtX2Zyb250ZW5kLT53ZWJTb2NrZXRDbG9zZWQoSWRlbnRpZmllcnNG
YWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIGN1cnJlbnRUaW1lKCkpOwogfQogI2VuZGlm
IC8vIEVOQUJMRShXRUJfU09DS0VUUykKIApAQCAtNTIyLDkgKzUyMiw5IEBAIHZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6aW5pdGlhbGl6ZUJhY2tncm91bmRDb2xsZWN0aW9uKCkKICAgICBt
X21vY2tGcm9udGVuZCA9IGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JGcm9udGVuZDo6TmV0d29yayht
X2luc3BlY3RvckZyb250ZW5kUHJveHkuZ2V0KCkpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNv
dXJjZUFnZW50OjpnZXRSZXNvdXJjZUNvbnRlbnQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHJlc291cmNlSWQsIFN0cmluZyogY29udGVudCwgYm9vbCogYmFzZTY0RW5j
b2RlZCkKK3ZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6Z2V0UmVzb3VyY2VDb250ZW50KEVy
cm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIFN0cmluZyog
Y29udGVudCwgYm9vbCogYmFzZTY0RW5jb2RlZCkKIHsKLSAgICBOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiByZXNvdXJjZURhdGEgPSBtX3Jlc291cmNlc0RhdGEtPmRh
dGEocmVzb3VyY2VJZCk7CisgICAgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YSBj
b25zdCogcmVzb3VyY2VEYXRhID0gbV9yZXNvdXJjZXNEYXRhLT5kYXRhKHJlcXVlc3RJZCk7CiAg
ICAgaWYgKCFyZXNvdXJjZURhdGEpIHsKICAgICAgICAgKmVycm9yU3RyaW5nID0gIk5vIHJlc291
cmNlIHdpdGggZ2l2ZW4gaWRlbnRpZmllciBmb3VuZCI7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCmluZGV4
IDhjMDZlZTBiNDNiOWVjOThmMzI4N2YwMmJhZTc0ODlkOGQyYjdiOTkuLmNmZGViOWU5MzM5ZmNm
ODA3MTdlOTI4YzlkZDMwZDU0NTBjOGNhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaApAQCAtMTMwLDcgKzEzMCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKICAgICB2b2lkIHNldFVzZXJBZ2Vu
dE92ZXJyaWRlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIHZv
aWQgc2V0RXh0cmFIZWFkZXJzKEVycm9yU3RyaW5nKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+KTsKLSAgICB2b2lkIGdldFJlc291cmNlQ29udGVudChFcnJvclN0cmluZyosIGNvbnN0IFN0
cmluZyYgcmVzb3VyY2VJZCwgU3RyaW5nKiBjb250ZW50LCBib29sKiBiYXNlNjRFbmNvZGVkKTsK
KyAgICB2b2lkIGdldFJlc291cmNlQ29udGVudChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYg
cmVxdWVzdElkLCBTdHJpbmcqIGNvbnRlbnQsIGJvb2wqIGJhc2U2NEVuY29kZWQpOwogICAgIHZv
aWQgY2xlYXJDYWNoZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyogY29uc3Qgb3B0aW9uYWxQ
cmVzZXJ2ZWRMb2FkZXJJZCk7CiAKICAgICB2b2lkIGNsZWFyQnJvd3NlckNhY2hlKEVycm9yU3Ry
aW5nKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHAKaW5kZXggYmE5NWY4NjVjMzZlN2JmNzY5MWNmNTYxOGNmN2E2OWM1YTA0MTBi
NC4uMTFhYWRmNWNmM2I4OGYyNWNlNTJkMTdmODIxMzdjYzkwY2U5ZGRiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAt
MjkwLDggKzI5MCw4IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFNlbmRSZXNv
dXJjZVJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjCiB7CiAgICAgcHVzaEdDRXZl
bnRSZWNvcmRzKCk7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKFdURjo6Y3VycmVudFRpbWVNUygp
LCBtX21heENhbGxTdGFja0RlcHRoKTsKLSAgICBTdHJpbmcgcmVzb3VyY2VJZCA9IElkZW50aWZp
ZXJzRmFjdG9yeTo6cmVzb3VyY2VJZChpZGVudGlmaWVyKTsKLSAgICByZWNvcmQtPnNldE9iamVj
dCgiZGF0YSIsIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3VyY2VTZW5kUmVxdWVz
dERhdGEocmVzb3VyY2VJZCwgcmVxdWVzdCkpOworICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVu
dGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKTsKKyAgICByZWNvcmQtPnNldE9i
amVjdCgiZGF0YSIsIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3VyY2VTZW5kUmVx
dWVzdERhdGEocmVxdWVzdElkLCByZXF1ZXN0KSk7CiAgICAgcmVjb3JkLT5zZXRTdHJpbmcoInR5
cGUiLCBUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNlU2VuZFJlcXVlc3QpOwogICAgIHNldEhl
YXBTaXplU3RhdGlzdGljKHJlY29yZC5nZXQoKSk7CiAgICAgbV9mcm9udGVuZC0+ZXZlbnRSZWNv
cmRlZChyZWNvcmQucmVsZWFzZSgpKTsKQEAgLTI5OSw4ICsyOTksOCBAQCB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OndpbGxTZW5kUmVzb3VyY2VSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgYwogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNlaXZlUmVz
b3VyY2VEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBTdHJpbmcgcmVzb3Vy
Y2VJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVzb3VyY2VJZChpZGVudGlmaWVyKTsKLSAgICBw
dXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlY2VpdmVSZXNv
dXJjZURhdGEocmVzb3VyY2VJZCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZl
ZERhdGEpOworICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVl
c3RJZChpZGVudGlmaWVyKTsKKyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZh
Y3Rvcnk6OmNyZWF0ZVJlY2VpdmVSZXNvdXJjZURhdGEocmVxdWVzdElkKSwgVGltZWxpbmVSZWNv
cmRUeXBlOjpSZXNvdXJjZVJlY2VpdmVkRGF0YSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6ZGlkUmVjZWl2ZVJlc291cmNlRGF0YSgpCkBAIC0zMTAsOCArMzEwLDggQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKCkKICAgICAK
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNl
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCiB7Ci0gICAgU3RyaW5nIHJlc291cmNlSWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291
cmNlSWQoaWRlbnRpZmllcik7Ci0gICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRG
YWN0b3J5OjpjcmVhdGVSZXNvdXJjZVJlY2VpdmVSZXNwb25zZURhdGEocmVzb3VyY2VJZCwgcmVz
cG9uc2UpLCBUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlKTsKKyAg
ICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRp
Zmllcik7CisgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVh
dGVSZXNvdXJjZVJlY2VpdmVSZXNwb25zZURhdGEocmVxdWVzdElkLCByZXNwb25zZSksIFRpbWVs
aW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UpOwogfQogCiB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKCkKQEAgLTMyMSw3
ICszMjEsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlKCkKIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaW5pc2hMb2Fk
aW5nUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBib29sIGRpZEZhaWwsIGRvdWJs
ZSBmaW5pc2hUaW1lKQogewotICAgIGFwcGVuZFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6
OmNyZWF0ZVJlc291cmNlRmluaXNoRGF0YShJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlc291cmNlSWQo
aWRlbnRpZmllciksIGRpZEZhaWwsIGZpbmlzaFRpbWUgKiAxMDAwKSwgVGltZWxpbmVSZWNvcmRU
eXBlOjpSZXNvdXJjZUZpbmlzaCk7CisgICAgYXBwZW5kUmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6Y3JlYXRlUmVzb3VyY2VGaW5pc2hEYXRhKElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVz
dElkKGlkZW50aWZpZXIpLCBkaWRGYWlsLCBmaW5pc2hUaW1lICogMTAwMCksIFRpbWVsaW5lUmVj
b3JkVHlwZTo6UmVzb3VyY2VGaW5pc2gpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFRpbWVTdGFtcChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAppbmRleCAwMzkzYmRlYzU3
ZWU0M2M1NzUyNmNlNmUyMzVmNmNiNzEyYTQwYjgxLi41MzJkYmFhY2YwNzE0N2ZmNDAxMjY5OTI1
ZmU4ZTI1OGFkYzMzY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0
d29ya1Jlc291cmNlc0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3
b3JrUmVzb3VyY2VzRGF0YS5jcHAKQEAgLTQ3LDggKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAKIC8vIFJlc291cmNlRGF0YQotTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0
YTo6UmVzb3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgY29uc3QgU3RyaW5nJiBs
b2FkZXJJZCkKLSAgICA6IG1fcmVzb3VyY2VJZChyZXNvdXJjZUlkKQorTmV0d29ya1Jlc291cmNl
c0RhdGE6OlJlc291cmNlRGF0YTo6UmVzb3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElk
LCBjb25zdCBTdHJpbmcmIGxvYWRlcklkKQorICAgIDogbV9yZXF1ZXN0SWQocmVxdWVzdElkKQog
ICAgICwgbV9sb2FkZXJJZChsb2FkZXJJZCkKICAgICAsIG1faXNDb250ZW50UHVyZ2VkKGZhbHNl
KQogICAgICwgbV90eXBlKEluc3BlY3RvclBhZ2VBZ2VudDo6T3RoZXJSZXNvdXJjZSkKQEAgLTEz
MCwxNSArMTMwLDE1IEBAIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjp+TmV0d29ya1Jlc291cmNlc0Rh
dGEoKQogICAgIGNsZWFyKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OnJlc291
cmNlQ3JlYXRlZChjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IFN0cmluZyYgbG9hZGVy
SWQpCit2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpyZXNvdXJjZUNyZWF0ZWQoY29uc3QgU3Ry
aW5nJiByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbG9hZGVySWQpCiB7Ci0gICAgZW5zdXJlTm9E
YXRhRm9yUmVzb3VyY2VJZChyZXNvdXJjZUlkKTsKLSAgICBtX3Jlc291cmNlSWRUb1Jlc291cmNl
RGF0YU1hcC5zZXQocmVzb3VyY2VJZCwgbmV3IFJlc291cmNlRGF0YShyZXNvdXJjZUlkLCBsb2Fk
ZXJJZCkpOworICAgIGVuc3VyZU5vRGF0YUZvclJlcXVlc3RJZChyZXF1ZXN0SWQpOworICAgIG1f
cmVxdWVzdElkVG9SZXNvdXJjZURhdGFNYXAuc2V0KHJlcXVlc3RJZCwgbmV3IFJlc291cmNlRGF0
YShyZXF1ZXN0SWQsIGxvYWRlcklkKSk7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6
OnJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBjb25zdCBTdHJpbmcm
IGZyYW1lSWQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBOZXR3b3Jr
UmVzb3VyY2VzRGF0YTo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwg
Y29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VJZFRvUmVzb3Vy
Y2VEYXRhTWFwLmdldChyZXNvdXJjZUlkKTsKKyAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0
YSA9IG1fcmVxdWVzdElkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlcXVlc3RJZCk7CiAgICAgaWYg
KCFyZXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKICAgICByZXNvdXJjZURhdGEtPnNldEZy
YW1lSWQoZnJhbWVJZCk7CkBAIC0xNDYsMjUgKzE0NiwyNSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjpyZXNwb25zZVJlY2VpdmVkKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgY29uc3Qg
U3RyaQogICAgIHJlc291cmNlRGF0YS0+Y3JlYXRlRGVjb2RlcihyZXNwb25zZS5taW1lVHlwZSgp
LCByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lKCkpOwogfQogCi12b2lkIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjpzZXRSZXNvdXJjZVR5cGUoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OlJlc291cmNlVHlwZSB0eXBlKQordm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6c2V0UmVzb3VyY2VUeXBlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBJbnNwZWN0b3JQYWdl
QWdlbnQ6OlJlc291cmNlVHlwZSB0eXBlKQogewotICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VE
YXRhID0gbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlc291cmNlSWQpOworICAg
IFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1h
cC5nZXQocmVxdWVzdElkKTsKICAgICBpZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJu
OwogICAgIHJlc291cmNlRGF0YS0+c2V0VHlwZSh0eXBlKTsKIH0KIAotSW5zcGVjdG9yUGFnZUFn
ZW50OjpSZXNvdXJjZVR5cGUgTmV0d29ya1Jlc291cmNlc0RhdGE6OnJlc291cmNlVHlwZShjb25z
dCBTdHJpbmcmIHJlc291cmNlSWQpCitJbnNwZWN0b3JQYWdlQWdlbnQ6OlJlc291cmNlVHlwZSBO
ZXR3b3JrUmVzb3VyY2VzRGF0YTo6cmVzb3VyY2VUeXBlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElk
KQogewotICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXNvdXJjZUlkVG9SZXNv
dXJjZURhdGFNYXAuZ2V0KHJlc291cmNlSWQpOworICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VE
YXRhID0gbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVxdWVzdElkKTsKICAgICBp
ZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuIEluc3BlY3RvclBhZ2VBZ2VudDo6T3Ro
ZXJSZXNvdXJjZTsKICAgICByZXR1cm4gcmVzb3VyY2VEYXRhLT50eXBlKCk7CiB9CiAKLXZvaWQg
TmV0d29ya1Jlc291cmNlc0RhdGE6OnNldFJlc291cmNlQ29udGVudChjb25zdCBTdHJpbmcmIHJl
c291cmNlSWQsIGNvbnN0IFN0cmluZyYgY29udGVudCkKK3ZvaWQgTmV0d29ya1Jlc291cmNlc0Rh
dGE6OnNldFJlc291cmNlQ29udGVudChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3Ry
aW5nJiBjb250ZW50KQogewotICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXNv
dXJjZUlkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlc291cmNlSWQpOworICAgIFJlc291cmNlRGF0
YSogcmVzb3VyY2VEYXRhID0gbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVxdWVz
dElkKTsKICAgICBpZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwogICAgIGludCBk
YXRhTGVuZ3RoID0gMiAqIGNvbnRlbnQubGVuZ3RoKCk7CkBAIC0xNzMsMTUgKzE3MywxNSBAQCB2
b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpzZXRSZXNvdXJjZUNvbnRlbnQoY29uc3QgU3RyaW5n
JiByZXNvdXJjZUlkLCBjb25zdCBTdAogICAgIGlmIChyZXNvdXJjZURhdGEtPmlzQ29udGVudFB1
cmdlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGVuc3VyZUZyZWVTcGFjZShkYXRhTGVu
Z3RoKSAmJiAhcmVzb3VyY2VEYXRhLT5pc0NvbnRlbnRQdXJnZWQoKSkgewotICAgICAgICBtX3Jl
c291cmNlSWRzRGVxdWUuYXBwZW5kKHJlc291cmNlSWQpOworICAgICAgICBtX3JlcXVlc3RJZHNE
ZXF1ZS5hcHBlbmQocmVxdWVzdElkKTsKICAgICAgICAgcmVzb3VyY2VEYXRhLT5zZXRDb250ZW50
KGNvbnRlbnQpOwogICAgICAgICBtX2NvbnRlbnRTaXplICs9IGRhdGFMZW5ndGg7CiAgICAgfQog
fQogCi12b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjptYXliZUFkZFJlc291cmNlRGF0YShjb25z
dCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKQor
dm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6bWF5YmVBZGRSZXNvdXJjZURhdGEoY29uc3QgU3Ry
aW5nJiByZXF1ZXN0SWQsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKQogewotICAg
IFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFN
YXAuZ2V0KHJlc291cmNlSWQpOworICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9y
ZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVxdWVzdElkKTsKICAgICBpZiAoIXJlc291
cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmICghcmVzb3VyY2VEYXRhLT5kZWNvZGVy
KCkpCkBAIC0xOTEsMTUgKzE5MSwxNSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjptYXli
ZUFkZFJlc291cmNlRGF0YShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0CiAgICAgaWYg
KHJlc291cmNlRGF0YS0+aXNDb250ZW50UHVyZ2VkKCkpCiAgICAgICAgIHJldHVybjsKICAgICBp
ZiAoZW5zdXJlRnJlZVNwYWNlKGRhdGFMZW5ndGgpICYmICFyZXNvdXJjZURhdGEtPmlzQ29udGVu
dFB1cmdlZCgpKSB7Ci0gICAgICAgIG1fcmVzb3VyY2VJZHNEZXF1ZS5hcHBlbmQocmVzb3VyY2VJ
ZCk7CisgICAgICAgIG1fcmVxdWVzdElkc0RlcXVlLmFwcGVuZChyZXF1ZXN0SWQpOwogICAgICAg
ICByZXNvdXJjZURhdGEtPmFwcGVuZERhdGEoZGF0YSwgZGF0YUxlbmd0aCk7CiAgICAgICAgIG1f
Y29udGVudFNpemUgKz0gZGF0YUxlbmd0aDsKICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291
cmNlc0RhdGE6Om1heWJlRGVjb2RlRGF0YVRvQ29udGVudChjb25zdCBTdHJpbmcmIHJlc291cmNl
SWQpCit2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjptYXliZURlY29kZURhdGFUb0NvbnRlbnQo
Y29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpCiB7Ci0gICAgUmVzb3VyY2VEYXRhKiByZXNvdXJjZURh
dGEgPSBtX3Jlc291cmNlSWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVzb3VyY2VJZCk7CisgICAg
UmVzb3VyY2VEYXRhKiByZXNvdXJjZURhdGEgPSBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFw
LmdldChyZXF1ZXN0SWQpOwogICAgIGlmICghcmVzb3VyY2VEYXRhKQogICAgICAgICByZXR1cm47
CiAgICAgaWYgKCFyZXNvdXJjZURhdGEtPmhhc0RhdGEoKSkKQEAgLTIxMCw0NiArMjEwLDQ2IEBA
IHZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6Om1heWJlRGVjb2RlRGF0YVRvQ29udGVudChjb25z
dCBTdHJpbmcmIHJlc291cmNlSWQpCiAgICAgICAgIG1fY29udGVudFNpemUgLT0gcmVzb3VyY2VE
YXRhLT5wdXJnZUNvbnRlbnQoKTsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRk
Q2FjaGVkUmVzb3VyY2UoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBDYWNoZWRSZXNvdXJjZSog
Y2FjaGVkUmVzb3VyY2UpCit2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjphZGRDYWNoZWRSZXNv
dXJjZShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291
cmNlKQogewotICAgIGlmICghbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFNYXAuY29udGFpbnMo
cmVzb3VyY2VJZCkpCisgICAgaWYgKCFtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLmNvbnRh
aW5zKHJlcXVlc3RJZCkpCiAgICAgICAgIHJldHVybjsKLSAgICBSZXNvdXJjZURhdGEqIHJlc291
cmNlRGF0YSA9IG1fcmVzb3VyY2VJZFRvUmVzb3VyY2VEYXRhTWFwLmdldChyZXNvdXJjZUlkKTsK
KyAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1fcmVxdWVzdElkVG9SZXNvdXJjZURh
dGFNYXAuZ2V0KHJlcXVlc3RJZCk7CiAKICAgICByZXNvdXJjZURhdGEtPnNldENhY2hlZFJlc291
cmNlKGNhY2hlZFJlc291cmNlKTsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRk
UmVzb3VyY2VTaGFyZWRCdWZmZXIoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gYnVmZmVyLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpCit2
b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjphZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBT
dHJpbmcmIHJlcXVlc3RJZCwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciwgY29uc3Qg
U3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lKQogewotICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VE
YXRhID0gbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlc291cmNlSWQpOworICAg
IFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1h
cC5nZXQocmVxdWVzdElkKTsKICAgICBpZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJu
OwogICAgIHJlc291cmNlRGF0YS0+c2V0QnVmZmVyKGJ1ZmZlcik7CiAgICAgcmVzb3VyY2VEYXRh
LT5zZXRUZXh0RW5jb2RpbmdOYW1lKHRleHRFbmNvZGluZ05hbWUpOwogfQogCi1OZXR3b3JrUmVz
b3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZGF0
YShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQpCitOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3Vy
Y2VEYXRhIGNvbnN0KiBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZGF0YShjb25zdCBTdHJpbmcmIHJl
cXVlc3RJZCkKIHsKLSAgICByZXR1cm4gbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFNYXAuZ2V0
KHJlc291cmNlSWQpOworICAgIHJldHVybiBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLmdl
dChyZXF1ZXN0SWQpOwogfQogCiB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpjbGVhcihjb25z
dCBTdHJpbmcmIHByZXNlcnZlZExvYWRlcklkKQogewotICAgIG1fcmVzb3VyY2VJZHNEZXF1ZS5j
bGVhcigpOworICAgIG1fcmVxdWVzdElkc0RlcXVlLmNsZWFyKCk7CiAgICAgbV9jb250ZW50U2l6
ZSA9IDA7CiAKICAgICBSZXNvdXJjZURhdGFNYXAgcHJlc2VydmVkTWFwOwogCiAgICAgUmVzb3Vy
Y2VEYXRhTWFwOjppdGVyYXRvciBpdDsKLSAgICBSZXNvdXJjZURhdGFNYXA6Oml0ZXJhdG9yIGVu
ZCA9IG1fcmVzb3VyY2VJZFRvUmVzb3VyY2VEYXRhTWFwLmVuZCgpOwotICAgIGZvciAoaXQgPSBt
X3Jlc291cmNlSWRUb1Jlc291cmNlRGF0YU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
KyAgICBSZXNvdXJjZURhdGFNYXA6Oml0ZXJhdG9yIGVuZCA9IG1fcmVxdWVzdElkVG9SZXNvdXJj
ZURhdGFNYXAuZW5kKCk7CisgICAgZm9yIChpdCA9IG1fcmVxdWVzdElkVG9SZXNvdXJjZURhdGFN
YXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFJlc291cmNlRGF0YSogcmVz
b3VyY2VEYXRhID0gaXQtPnNlY29uZDsKICAgICAgICAgaWYgKCFwcmVzZXJ2ZWRMb2FkZXJJZC5p
c051bGwoKSAmJiByZXNvdXJjZURhdGEtPmxvYWRlcklkKCkgPT0gcHJlc2VydmVkTG9hZGVySWQp
CiAgICAgICAgICAgICBwcmVzZXJ2ZWRNYXAuc2V0KGl0LT5maXJzdCwgaXQtPnNlY29uZCk7CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIGRlbGV0ZSByZXNvdXJjZURhdGE7CiAgICAgfQotICAg
IG1fcmVzb3VyY2VJZFRvUmVzb3VyY2VEYXRhTWFwLnN3YXAocHJlc2VydmVkTWFwKTsKKyAgICBt
X3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLnN3YXAocHJlc2VydmVkTWFwKTsKIH0KIAogdm9p
ZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1h
eGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRl
bnRTaXplKQpAQCAtMjYwLDE0ICsyNjAsMTQgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6
c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW4KIH0K
IAogCi12b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjplbnN1cmVOb0RhdGFGb3JSZXNvdXJjZUlk
KGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCkKK3ZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OmVu
c3VyZU5vRGF0YUZvclJlcXVlc3RJZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCkKIHsKLSAgICBS
ZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VJZFRvUmVzb3VyY2VEYXRhTWFw
LmdldChyZXNvdXJjZUlkKTsKKyAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1fcmVx
dWVzdElkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlcXVlc3RJZCk7CiAgICAgaWYgKHJlc291cmNl
RGF0YSkgewogICAgICAgICBpZiAocmVzb3VyY2VEYXRhLT5oYXNDb250ZW50KCkgfHwgcmVzb3Vy
Y2VEYXRhLT5oYXNEYXRhKCkpCiAgICAgICAgICAgICBtX2NvbnRlbnRTaXplIC09IHJlc291cmNl
RGF0YS0+cHVyZ2VDb250ZW50KCk7CiAgICAgICAgIGRlbGV0ZSByZXNvdXJjZURhdGE7Ci0gICAg
ICAgIG1fcmVzb3VyY2VJZFRvUmVzb3VyY2VEYXRhTWFwLnJlbW92ZShyZXNvdXJjZUlkKTsKKyAg
ICAgICAgbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1hcC5yZW1vdmUocmVxdWVzdElkKTsKICAg
ICB9CiB9CiAKQEAgLTI3Nyw4ICsyNzcsOCBAQCBib29sIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpl
bnN1cmVGcmVlU3BhY2UoaW50IHNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHdo
aWxlIChzaXplID4gbV9tYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUgLSBtX2NvbnRlbnRTaXpl
KSB7Ci0gICAgICAgIFN0cmluZyByZXNvdXJjZUlkID0gbV9yZXNvdXJjZUlkc0RlcXVlLnRha2VG
aXJzdCgpOwotICAgICAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VJ
ZFRvUmVzb3VyY2VEYXRhTWFwLmdldChyZXNvdXJjZUlkKTsKKyAgICAgICAgU3RyaW5nIHJlcXVl
c3RJZCA9IG1fcmVxdWVzdElkc0RlcXVlLnRha2VGaXJzdCgpOworICAgICAgICBSZXNvdXJjZURh
dGEqIHJlc291cmNlRGF0YSA9IG1fcmVxdWVzdElkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlcXVl
c3RJZCk7CiAgICAgICAgIGlmIChyZXNvdXJjZURhdGEpCiAgICAgICAgICAgICBtX2NvbnRlbnRT
aXplIC09IHJlc291cmNlRGF0YS0+cHVyZ2VDb250ZW50KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaAppbmRleCBkYjRiZmM0NzA1
YmZiYmMyZGQyMWFlMzMwMjcwNDIxNTM5MmRjYzZmLi4yMTQ4Njg1YjdhYTI4ZTFmNWVlYWU4NjY3
ZDEyNzBmNWEyZjMzMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0
d29ya1Jlc291cmNlc0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29y
a1Jlc291cmNlc0RhdGEuaApAQCAtNTEsOSArNTEsOSBAQCBwdWJsaWM6CiAgICAgY2xhc3MgUmVz
b3VyY2VEYXRhIHsKICAgICAgICAgZnJpZW5kIGNsYXNzIE5ldHdvcmtSZXNvdXJjZXNEYXRhOwog
ICAgIHB1YmxpYzoKLSAgICAgICAgUmVzb3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJ
ZCwgY29uc3QgU3RyaW5nJiBsb2FkZXJJZCk7CisgICAgICAgIFJlc291cmNlRGF0YShjb25zdCBT
dHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBsb2FkZXJJZCk7CiAKLSAgICAgICAgU3Ry
aW5nIHJlc291cmNlSWQoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlSWQ7IH0KKyAgICAgICAg
U3RyaW5nIHJlcXVlc3RJZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdElkOyB9CiAgICAgICAg
IFN0cmluZyBsb2FkZXJJZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZGVySWQ7IH0KIAogICAgICAg
ICBTdHJpbmcgZnJhbWVJZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVJZDsgfQpAQCAtOTAsNyAr
OTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgYXBwZW5kRGF0YShjb25zdCBjaGFyKiBkYXRh
LCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgICAgIGludCBkZWNvZGVEYXRhVG9Db250ZW50KCk7CiAK
LSAgICAgICAgU3RyaW5nIG1fcmVzb3VyY2VJZDsKKyAgICAgICAgU3RyaW5nIG1fcmVxdWVzdElk
OwogICAgICAgICBTdHJpbmcgbV9sb2FkZXJJZDsKICAgICAgICAgU3RyaW5nIG1fZnJhbWVJZDsK
ICAgICAgICAgU3RyaW5nIG1fdXJsOwpAQCAtMTEwLDI4ICsxMTAsMjggQEAgcHVibGljOgogCiAg
ICAgfk5ldHdvcmtSZXNvdXJjZXNEYXRhKCk7CiAKLSAgICB2b2lkIHJlc291cmNlQ3JlYXRlZChj
b25zdCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IFN0cmluZyYgbG9hZGVySWQpOwotICAgIHZv
aWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IFN0cmlu
ZyYgZnJhbWVJZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwotICAgIHZvaWQgc2V0UmVzb3Vy
Y2VUeXBlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNv
dXJjZVR5cGUpOwotICAgIEluc3BlY3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlIHJlc291cmNl
VHlwZShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQpOwotICAgIHZvaWQgc2V0UmVzb3VyY2VDb250
ZW50KGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKLSAg
ICB2b2lkIG1heWJlQWRkUmVzb3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgY29u
c3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpOwotICAgIHZvaWQgbWF5YmVEZWNvZGVEYXRh
VG9Db250ZW50KGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCk7Ci0gICAgdm9pZCBhZGRDYWNoZWRS
ZXNvdXJjZShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIENhY2hlZFJlc291cmNlKik7Ci0gICAg
dm9pZCBhZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIFBh
c3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lKTsK
LSAgICBSZXNvdXJjZURhdGEgY29uc3QqIGRhdGEoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkKTsK
KyAgICB2b2lkIHJlc291cmNlQ3JlYXRlZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3Qg
U3RyaW5nJiBsb2FkZXJJZCk7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKGNvbnN0IFN0cmlu
ZyYgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKTsKKyAgICB2b2lkIHNldFJlc291cmNlVHlwZShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwg
SW5zcGVjdG9yUGFnZUFnZW50OjpSZXNvdXJjZVR5cGUpOworICAgIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6UmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCk7Cisg
ICAgdm9pZCBzZXRSZXNvdXJjZUNvbnRlbnQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0
IFN0cmluZyYgY29udGVudCk7CisgICAgdm9pZCBtYXliZUFkZFJlc291cmNlRGF0YShjb25zdCBT
dHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpOworICAg
IHZvaWQgbWF5YmVEZWNvZGVEYXRhVG9Db250ZW50KGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKTsK
KyAgICB2b2lkIGFkZENhY2hlZFJlc291cmNlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBDYWNo
ZWRSZXNvdXJjZSopOworICAgIHZvaWQgYWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIoY29uc3QgU3Ry
aW5nJiByZXF1ZXN0SWQsIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgY29uc3QgU3RyaW5nJiB0
ZXh0RW5jb2RpbmdOYW1lKTsKKyAgICBSZXNvdXJjZURhdGEgY29uc3QqIGRhdGEoY29uc3QgU3Ry
aW5nJiByZXF1ZXN0SWQpOwogICAgIHZvaWQgY2xlYXIoY29uc3QgU3RyaW5nJiBwcmVzZXJ2ZWRM
b2FkZXJJZCA9IFN0cmluZygpKTsKIAogICAgIHZvaWQgc2V0UmVzb3VyY2VzRGF0YVNpemVMaW1p
dHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNv
dXJjZUNvbnRlbnRTaXplKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGVuc3VyZU5vRGF0YUZvclJl
c291cmNlSWQoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkKTsKKyAgICB2b2lkIGVuc3VyZU5vRGF0
YUZvclJlcXVlc3RJZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCk7CiAgICAgYm9vbCBlbnN1cmVG
cmVlU3BhY2UoaW50IHNpemUpOwogCi0gICAgRGVxdWU8U3RyaW5nPiBtX3Jlc291cmNlSWRzRGVx
dWU7CisgICAgRGVxdWU8U3RyaW5nPiBtX3JlcXVlc3RJZHNEZXF1ZTsKIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxTdHJpbmcsIFJlc291cmNlRGF0YSo+IFJlc291cmNlRGF0YU1hcDsKLSAgICBSZXNv
dXJjZURhdGFNYXAgbV9yZXNvdXJjZUlkVG9SZXNvdXJjZURhdGFNYXA7CisgICAgUmVzb3VyY2VE
YXRhTWFwIG1fcmVxdWVzdElkVG9SZXNvdXJjZURhdGFNYXA7CiAgICAgaW50IG1fY29udGVudFNp
emU7CiAgICAgaW50IG1fbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplOwogICAgIGludCBtX21h
eGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCA5YWE3MDIyNmRhYmQxZmE0
NzJmMTJjNDU1MDQ0OWVhYjM5OTdhMjczLi45MDU2NTZkYWVmM2ZkNTU4NWJhMDg5YmM0ZWJmODRj
M2Q0OGIwNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcApAQCAtMTI5LDM4ICsxMjksMzggQEAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlU2NoZWR1bGVSZXNvdXJjZVJl
cXVlc3QKICAgICByZXR1cm4gZGF0YS5yZWxlYXNlKCk7CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlU2VuZFJlcXVl
c3REYXRhKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQorUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlUmVzb3VyY2VTZW5kUmVxdWVzdERhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiBkYXRhID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBkYXRhLT5zZXRT
dHJpbmcoImlkZW50aWZpZXIiLCByZXNvdXJjZUlkKTsKKyAgICBkYXRhLT5zZXRTdHJpbmcoInJl
cXVlc3RJZCIsIHJlcXVlc3RJZCk7CiAgICAgZGF0YS0+c2V0U3RyaW5nKCJ1cmwiLCByZXF1ZXN0
LnVybCgpLnN0cmluZygpKTsKICAgICBkYXRhLT5zZXRTdHJpbmcoInJlcXVlc3RNZXRob2QiLCBy
ZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CiAgICAgcmV0dXJuIGRhdGEucmVsZWFzZSgpOwogfQogCi1Q
YXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVS
ZXNvdXJjZVJlY2VpdmVSZXNwb25zZURhdGEoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlUmVjZWl2ZVJlc3BvbnNlRGF0
YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSA9IEluc3BlY3Rvck9iamVj
dDo6Y3JlYXRlKCk7Ci0gICAgZGF0YS0+c2V0U3RyaW5nKCJpZGVudGlmaWVyIiwgcmVzb3VyY2VJ
ZCk7CisgICAgZGF0YS0+c2V0U3RyaW5nKCJyZXF1ZXN0SWQiLCByZXF1ZXN0SWQpOwogICAgIGRh
dGEtPnNldE51bWJlcigic3RhdHVzQ29kZSIsIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwog
ICAgIGRhdGEtPnNldFN0cmluZygibWltZVR5cGUiLCByZXNwb25zZS5taW1lVHlwZSgpKTsKICAg
ICByZXR1cm4gZGF0YS5yZWxlYXNlKCk7CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlRmluaXNoRGF0YShjb25zdCBT
dHJpbmcmIHJlc291cmNlSWQsIGJvb2wgZGlkRmFpbCwgZG91YmxlIGZpbmlzaFRpbWUpCitQYXNz
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNv
dXJjZUZpbmlzaERhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGJvb2wgZGlkRmFpbCwgZG91
YmxlIGZpbmlzaFRpbWUpCiB7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGF0YS0+c2V0U3RyaW5nKCJpZGVudGlmaWVy
IiwgcmVzb3VyY2VJZCk7CisgICAgZGF0YS0+c2V0U3RyaW5nKCJyZXF1ZXN0SWQiLCByZXF1ZXN0
SWQpOwogICAgIGRhdGEtPnNldEJvb2xlYW4oImRpZEZhaWwiLCBkaWRGYWlsKTsKICAgICBpZiAo
ZmluaXNoVGltZSkKICAgICAgICAgZGF0YS0+c2V0TnVtYmVyKCJuZXR3b3JrVGltZSIsIGZpbmlz
aFRpbWUpOwogICAgIHJldHVybiBkYXRhLnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVjZWl2ZVJlc291cmNl
RGF0YShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQpCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZWNlaXZlUmVzb3VyY2VEYXRhKGNvbnN0
IFN0cmluZyYgcmVxdWVzdElkKQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEg
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGRhdGEtPnNldFN0cmluZygiaWRlbnRp
ZmllciIsIHJlc291cmNlSWQpOworICAgIGRhdGEtPnNldFN0cmluZygicmVxdWVzdElkIiwgcmVx
dWVzdElkKTsKICAgICByZXR1cm4gZGF0YS5yZWxlYXNlKCk7CiB9CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKaW5kZXggZGFkNTVm
MmU1Y2ZkYTcxNWFlMjVhNDBlN2VmMGIxMTljM2UxMGU1Ny4uOGQ4YjRhMzA2YzI4YmI3ZWUxNjZk
YmEzMDExOGI2OWJiOWEzMTY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9U
aW1lbGluZVJlY29yZEZhY3RvcnkuaApAQCAtNjQsMTUgKzY0LDE1IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0
ZVRpbWVTdGFtcERhdGEoY29uc3QgU3RyaW5nJik7CiAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVSZXNvdXJjZVNlbmRSZXF1ZXN0RGF0YShjb25zdCBT
dHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVJlc291cmNlU2VuZFJlcXVlc3RE
YXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKIAog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVNjaGVkdWxl
UmVzb3VyY2VSZXF1ZXN0RGF0YShjb25zdCBTdHJpbmcmKTsKIAotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVJlc291cmNlUmVjZWl2ZVJlc3BvbnNlRGF0
YShjb25zdCBTdHJpbmcmIHJlc291cmNlSWQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVSZXNvdXJjZVJl
Y2VpdmVSZXNwb25zZURhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKTsKIAotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
IGNyZWF0ZVJlY2VpdmVSZXNvdXJjZURhdGEoY29uc3QgU3RyaW5nJiByZXNvdXJjZUlkKTsKKyAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVSZWNlaXZlUmVz
b3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKTsKIAotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVJlc291cmNlRmluaXNoRGF0YShjb25zdCBT
dHJpbmcmIHJlc291cmNlSWQsIGJvb2wgZGlkRmFpbCwgZG91YmxlIGZpbmlzaFRpbWUpOworICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVJlc291cmNlRmlu
aXNoRGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgYm9vbCBkaWRGYWlsLCBkb3VibGUgZmlu
aXNoVGltZSk7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBj
cmVhdGVQYWludERhdGEoY29uc3QgSW50UmVjdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCA5NzQ3NzU4ODcyYjY2YjYz
ZTAwMGZkZWQwYjgyMDA4MDEzMTNmOTRlLi5mYmRmNGJlOGMxOGE5MGE1MGZmMTJjY2RkNWZjYjkz
NGRiZGFmYjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZVZpZXcuanMKQEAgLTEyNyw3ICsxMjcsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgIHBheWxvYWQucGFyYW1ldGVycywKICAgICAgICAgICAgICAgICAgICAg
cGF5bG9hZC5zdGFja1RyYWNlLAotICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLm5ldHdvcmtJ
ZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5uZXR3b3JrUmVxdWVzdElk
KTsKICAgICAgICAgICAgICAgICBjb25zb2xlLmFkZE1lc3NhZ2UoY29uc29sZU1lc3NhZ2UpOwog
ICAgICAgICAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9FeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0V4dGVuc2lvbkFQSS5qcwppbmRleCA5OTMzZDA4OWZhMDhmNjkwNTE2MGI5OGFlOGY1OGMy
Mzc4ZjE1NzM4Li45NDIwNzJkNmZkMzk2ZDkxODNiOGI5MTEyNzQ5N2Q4OTYwOWI2Y2EwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5q
cwpAQCAtMTIzLDggKzEyMyw4IEBAIFJlc291cmNlcy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsK
ICAgICAgICAgICAgIHZhciBlbnRyaWVzID0gKHJlc3VsdCAmJiByZXN1bHQuZW50cmllcykgfHwg
W107CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgICAgICAgICBlbnRyaWVzW2ldLl9fcHJvdG9fXyA9IG5ldyBSZXNvdXJjZShl
bnRyaWVzW2ldLl9yZXNvdXJjZUlkKTsKLSAgICAgICAgICAgICAgICBkZWxldGUgZW50cmllc1tp
XS5fcmVzb3VyY2VJZDsKKyAgICAgICAgICAgICAgICBlbnRyaWVzW2ldLl9fcHJvdG9fXyA9IG5l
dyBSZXNvdXJjZShlbnRyaWVzW2ldLl9yZXF1ZXN0SWQpOworICAgICAgICAgICAgICAgIGRlbGV0
ZSBlbnRyaWVzW2ldLl9yZXF1ZXN0SWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYWxs
YmFjayhyZXN1bHQpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IGI0NzAzODUwMzU4MTRjZDZl
NjY1ZTYwZDQyMGM3MWExNTYwZmVjYzEuLjFlMmZlMTUwZDhjMjM5YzEyYTNjNTA1YTM0NGUwOWNi
MDM4NWRjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC0zNyw3ICszNyw3IEBAIFdlYkluc3BlY3Rvci5FeHRl
bnNpb25TZXJ2ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc3Vic2NyaXB0aW9uU3RvcEhhbmRs
ZXJzID0ge307CiAgICAgdGhpcy5fZXh0cmFIZWFkZXJzID0ge307CiAgICAgdGhpcy5fcmVzb3Vy
Y2VzID0ge307Ci0gICAgdGhpcy5fbGFzdFJlc291cmNlSWQgPSAwOworICAgIHRoaXMuX2xhc3RS
ZXF1ZXN0SWQgPSAwOwogICAgIHRoaXMuX2FsbG93ZWRPcmlnaW5zID0ge307CiAgICAgdGhpcy5f
c3RhdHVzID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TdGF0dXMoKTsKIApAQCAtMTI2LDcg
KzEyNiw3IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAg
IHsKICAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKICAgICAgICAgaWYgKHRoaXMu
X2hhc1N1YnNjcmliZXJzKCJyZXNvdXJjZS1maW5pc2hlZCIpKQotICAgICAgICAgICAgdGhpcy5f
cG9zdE5vdGlmaWNhdGlvbigicmVzb3VyY2UtZmluaXNoZWQiLCB0aGlzLl9yZXNvdXJjZUlkKHJl
c291cmNlKSwgKG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVzb3VyY2UpKS5idWlsZCgpKTsK
KyAgICAgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oInJlc291cmNlLWZpbmlzaGVkIiwg
dGhpcy5fcmVxdWVzdElkKHJlc291cmNlKSwgKG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVz
b3VyY2UpKS5idWlsZCgpKTsKICAgICB9LAogCiAgICAgX2hhc1N1YnNjcmliZXJzOiBmdW5jdGlv
bih0eXBlKQpAQCAtMzI3LDcgKzMyNyw3IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIu
cHJvdG90eXBlID0gewogICAgICAgICB2YXIgcmVzb3VyY2VzID0gV2ViSW5zcGVjdG9yLm5ldHdv
cmtMb2cucmVzb3VyY2VzOwogICAgICAgICB2YXIgaGFyTG9nID0gKG5ldyBXZWJJbnNwZWN0b3Iu
SEFSTG9nKHJlc291cmNlcykpLmJ1aWxkKCk7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
aGFyTG9nLmVudHJpZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBoYXJMb2cuZW50cmllc1tp
XS5fcmVzb3VyY2VJZCA9IHRoaXMuX3Jlc291cmNlSWQocmVzb3VyY2VzW2ldKTsKKyAgICAgICAg
ICAgIGhhckxvZy5lbnRyaWVzW2ldLl9yZXF1ZXN0SWQgPSB0aGlzLl9yZXF1ZXN0SWQocmVzb3Vy
Y2VzW2ldKTsKICAgICAgICAgcmV0dXJuIGhhckxvZzsKICAgICB9LAogCkBAIC0zNDcsMTMgKzM0
NywxMyBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgcmVzb3VyY2UucmVxdWVzdENvbnRlbnQob25Db250ZW50QXZhaWxhYmxlLmJpbmQodGhpcykp
OwogICAgIH0sCiAKLSAgICBfcmVzb3VyY2VJZDogZnVuY3Rpb24ocmVzb3VyY2UpCisgICAgX3Jl
cXVlc3RJZDogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewotICAgICAgICBpZiAoIXJlc291cmNl
Ll9leHRlbnNpb25SZXNvdXJjZUlkKSB7Ci0gICAgICAgICAgICByZXNvdXJjZS5fZXh0ZW5zaW9u
UmVzb3VyY2VJZCA9ICsrdGhpcy5fbGFzdFJlc291cmNlSWQ7Ci0gICAgICAgICAgICB0aGlzLl9y
ZXNvdXJjZXNbcmVzb3VyY2UuX2V4dGVuc2lvblJlc291cmNlSWRdID0gcmVzb3VyY2U7CisgICAg
ICAgIGlmICghcmVzb3VyY2UuX2V4dGVuc2lvblJlcXVlc3RJZCkgeworICAgICAgICAgICAgcmVz
b3VyY2UuX2V4dGVuc2lvblJlcXVlc3RJZCA9ICsrdGhpcy5fbGFzdFJlcXVlc3RJZDsKKyAgICAg
ICAgICAgIHRoaXMuX3Jlc291cmNlc1tyZXNvdXJjZS5fZXh0ZW5zaW9uUmVxdWVzdElkXSA9IHJl
c291cmNlOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiByZXNvdXJjZS5fZXh0ZW5zaW9uUmVz
b3VyY2VJZDsKKyAgICAgICAgcmV0dXJuIHJlc291cmNlLl9leHRlbnNpb25SZXF1ZXN0SWQ7CiAg
ICAgfSwKIAogICAgIF9yZXNvdXJjZUJ5SWQ6IGZ1bmN0aW9uKGlkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKaW5kZXggZjBh
YWZjYmJhNDRmOGI3NDMzZWExYjAxYzViYjJmYzk2MDJiYzNjYy4uNmE3OGU5ZGNhZGJjZDM1MDVh
ZDkzMzI1ZWJjNmMyOGNkMjMwZWJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzCkBAIC01Nyw4ICs1Nyw4IEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2MyBX
ZSBzaG91bGQgc2VwYXJhdGUgTmV0d29ya1Jlc291cmNlIChOZXR3b3JrUGFuZWwgcmVzb3VyY2Up
IAogICAgICAgICAvLyBmcm9tIFJlc291cmNlUmV2aXNpb24gKFJlc291cmNlc1BhbmVsL1Njcmlw
dHNQYW5lbCByZXNvdXJjZSkgYW5kIHJlcXVlc3QgY29udGVudCBhY2NvcmRpbmdseS4KLSAgICAg
ICAgaWYgKHJlc291cmNlLmlkZW50aWZpZXIpCi0gICAgICAgICAgICBOZXR3b3JrQWdlbnQuZ2V0
UmVzb3VyY2VDb250ZW50KHJlc291cmNlLmlkZW50aWZpZXIsIGNhbGxiYWNrV3JhcHBlcik7Cisg
ICAgICAgIGlmIChyZXNvdXJjZS5yZXF1ZXN0SWQpCisgICAgICAgICAgICBOZXR3b3JrQWdlbnQu
Z2V0UmVzb3VyY2VDb250ZW50KHJlc291cmNlLnJlcXVlc3RJZCwgY2FsbGJhY2tXcmFwcGVyKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgUGFnZUFnZW50LmdldFJlc291cmNlQ29udGVudChy
ZXNvdXJjZS5mcmFtZUlkLCByZXNvdXJjZS51cmwsIGNhbGxiYWNrV3JhcHBlcik7CiAgICAgfSwK
QEAgLTEzMSwxNyArMTMxLDE3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiByZXNwb25zZSAmJiAhcmVzcG9uc2Uuc3RhdHVzICYm
ICFyZXNwb25zZS5taW1lVHlwZSAmJiAhT2JqZWN0LmtleXMocmVzcG9uc2UuaGVhZGVycykubGVu
Z3RoOwogICAgIH0sCiAKLSAgICByZXF1ZXN0V2lsbEJlU2VudDogZnVuY3Rpb24oaWRlbnRpZmll
ciwgZnJhbWVJZCwgbG9hZGVySWQsIGRvY3VtZW50VVJMLCByZXF1ZXN0LCB0aW1lLCBpbml0aWF0
b3IsIHN0YWNrVHJhY2UsIHJlZGlyZWN0UmVzcG9uc2UpCisgICAgcmVxdWVzdFdpbGxCZVNlbnQ6
IGZ1bmN0aW9uKHJlcXVlc3RJZCwgZnJhbWVJZCwgbG9hZGVySWQsIGRvY3VtZW50VVJMLCByZXF1
ZXN0LCB0aW1lLCBpbml0aWF0b3IsIHN0YWNrVHJhY2UsIHJlZGlyZWN0UmVzcG9uc2UpCiAgICAg
ewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRl
bnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2Vz
QnlJZFtyZXF1ZXN0SWRdOwogICAgICAgICBpZiAocmVzb3VyY2UpIHsKICAgICAgICAgICAgIC8v
IEZJWE1FOiBtb3ZlIHRoaXMgY2hlY2sgdG8gdGhlIGJhY2tlbmQuCiAgICAgICAgICAgICBpZiAo
dGhpcy5faXNOdWxsKHJlZGlyZWN0UmVzcG9uc2UpKQogICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIHRoaXMucmVzcG9uc2VSZWNlaXZlZChpZGVudGlmaWVyLCB0aW1lLCAiT3Ro
ZXIiLCByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAgICAgICAgIHJlc291cmNlID0gdGhpcy5fYXBw
ZW5kUmVkaXJlY3QoaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdC51cmwpOworICAgICAgICAgICAg
dGhpcy5yZXNwb25zZVJlY2VpdmVkKHJlcXVlc3RJZCwgdGltZSwgIk90aGVyIiwgcmVkaXJlY3RS
ZXNwb25zZSk7CisgICAgICAgICAgICByZXNvdXJjZSA9IHRoaXMuX2FwcGVuZFJlZGlyZWN0KHJl
cXVlc3RJZCwgdGltZSwgcmVxdWVzdC51cmwpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IHJlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2UoaWRlbnRpZmllciwgZnJhbWVJZCwgbG9h
ZGVySWQsIHJlcXVlc3QudXJsLCBkb2N1bWVudFVSTCwgaW5pdGlhdG9yLCBzdGFja1RyYWNlKTsK
KyAgICAgICAgICAgIHJlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2UocmVxdWVzdElkLCBm
cmFtZUlkLCBsb2FkZXJJZCwgcmVxdWVzdC51cmwsIGRvY3VtZW50VVJMLCBpbml0aWF0b3IsIHN0
YWNrVHJhY2UpOwogICAgICAgICByZXNvdXJjZS5oYXNOZXR3b3JrRGF0YSA9IHRydWU7CiAgICAg
ICAgIHRoaXMuX3VwZGF0ZVJlc291cmNlV2l0aFJlcXVlc3QocmVzb3VyY2UsIHJlcXVlc3QpOwog
ICAgICAgICByZXNvdXJjZS5zdGFydFRpbWUgPSB0aW1lOwpAQCAtMTQ5LDkgKzE0OSw5IEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X3N0YXJ0UmVzb3VyY2UocmVzb3VyY2UpOwogICAgIH0sCiAKLSAgICByZXNvdXJjZU1hcmtlZEFz
Q2FjaGVkOiBmdW5jdGlvbihpZGVudGlmaWVyKQorICAgIHJlc291cmNlTWFya2VkQXNDYWNoZWQ6
IGZ1bmN0aW9uKHJlcXVlc3RJZCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMu
X2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3JlcXVlc3RJZF07CiAgICAgICAgIGlmICgh
cmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE1OSwxMyArMTU5LDEzIEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X3VwZGF0ZVJlc291cmNlKHJlc291cmNlKTsKICAgICB9LAogCi0gICAgcmVzcG9uc2VSZWNlaXZl
ZDogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKKyAg
ICByZXNwb25zZVJlY2VpdmVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHRpbWUsIHJlc291cmNlVHlw
ZSwgcmVzcG9uc2UpCiAgICAgewogICAgICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIGNoZWNrIHRv
IHRoZSBiYWNrZW5kLgogICAgICAgICBpZiAodGhpcy5faXNOdWxsKHJlc3BvbnNlKSkKICAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJl
c291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2lu
ZmxpZ2h0UmVzb3VyY2VzQnlJZFtyZXF1ZXN0SWRdOwogICAgICAgICBpZiAoIXJlc291cmNlKQog
ICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xNzcsOSArMTc3LDkgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVzb3Vy
Y2UocmVzb3VyY2UpOwogICAgIH0sCiAKLSAgICBkYXRhUmVjZWl2ZWQ6IGZ1bmN0aW9uKGlkZW50
aWZpZXIsIHRpbWUsIGRhdGFMZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoKQorICAgIGRhdGFSZWNl
aXZlZDogZnVuY3Rpb24ocmVxdWVzdElkLCB0aW1lLCBkYXRhTGVuZ3RoLCBlbmNvZGVkRGF0YUxl
bmd0aCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3Vy
Y2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGln
aHRSZXNvdXJjZXNCeUlkW3JlcXVlc3RJZF07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAg
ICAgICAgICByZXR1cm47CiAKQEAgLTE5MSwxOCArMTkxLDE4IEBAIFdlYkluc3BlY3Rvci5OZXR3
b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlc291cmNl
KHJlc291cmNlKTsKICAgICB9LAogCi0gICAgbG9hZGluZ0ZpbmlzaGVkOiBmdW5jdGlvbihpZGVu
dGlmaWVyLCBmaW5pc2hUaW1lKQorICAgIGxvYWRpbmdGaW5pc2hlZDogZnVuY3Rpb24ocmVxdWVz
dElkLCBmaW5pc2hUaW1lKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5m
bGlnaHRSZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0
aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbcmVxdWVzdElkXTsKICAgICAgICAgaWYgKCFyZXNv
dXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9maW5pc2hSZXNvdXJj
ZShyZXNvdXJjZSwgZmluaXNoVGltZSk7CiAgICAgfSwKIAotICAgIGxvYWRpbmdGYWlsZWQ6IGZ1
bmN0aW9uKGlkZW50aWZpZXIsIHRpbWUsIGxvY2FsaXplZERlc2NyaXB0aW9uLCBjYW5jZWxlZCkK
KyAgICBsb2FkaW5nRmFpbGVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHRpbWUsIGxvY2FsaXplZERl
c2NyaXB0aW9uLCBjYW5jZWxlZCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMu
X2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3JlcXVlc3RJZF07CiAgICAgICAgIGlmICgh
cmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTIxMiw5ICsyMTIsOSBAQCBXZWJJ
bnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9m
aW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CiAgICAgfSwKIAotICAgIHJlc291cmNlTG9h
ZGVkRnJvbU1lbW9yeUNhY2hlOiBmdW5jdGlvbihpZGVudGlmaWVyLCBmcmFtZUlkLCBsb2FkZXJJ
ZCwgZG9jdW1lbnRVUkwsIHRpbWUsIGluaXRpYXRvciwgY2FjaGVkUmVzb3VyY2UpCisgICAgcmVz
b3VyY2VMb2FkZWRGcm9tTWVtb3J5Q2FjaGU6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgZnJhbWVJZCwg
bG9hZGVySWQsIGRvY3VtZW50VVJMLCB0aW1lLCBpbml0aWF0b3IsIGNhY2hlZFJlc291cmNlKQog
ICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2UoaWRlbnRp
ZmllciwgZnJhbWVJZCwgbG9hZGVySWQsIGNhY2hlZFJlc291cmNlLnVybCwgZG9jdW1lbnRVUkws
IGluaXRpYXRvcik7CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2NyZWF0ZVJlc291cmNl
KHJlcXVlc3RJZCwgZnJhbWVJZCwgbG9hZGVySWQsIGNhY2hlZFJlc291cmNlLnVybCwgZG9jdW1l
bnRVUkwsIGluaXRpYXRvcik7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlc291cmNlV2l0aENhY2hl
ZFJlc291cmNlKHJlc291cmNlLCBjYWNoZWRSZXNvdXJjZSk7CiAgICAgICAgIHJlc291cmNlLmNh
Y2hlZCA9IHRydWU7CiAgICAgICAgIHJlc291cmNlLnJlcXVlc3RNZXRob2QgPSAiR0VUIjsKQEAg
LTIyMywxNiArMjIzLDE2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX2ZpbmlzaFJlc291cmNlKHJlc291cmNlLCB0aW1lKTsKICAg
ICB9LAogCi0gICAgd2ViU29ja2V0Q3JlYXRlZDogZnVuY3Rpb24oaWRlbnRpZmllciwgcmVxdWVz
dFVSTCkKKyAgICB3ZWJTb2NrZXRDcmVhdGVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHJlcXVlc3RV
UkwpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9jcmVhdGVSZXNvdXJjZShp
ZGVudGlmaWVyLCBudWxsLCBudWxsLCByZXF1ZXN0VVJMKTsKKyAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5fY3JlYXRlUmVzb3VyY2UocmVxdWVzdElkLCBudWxsLCBudWxsLCByZXF1ZXN0VVJM
KTsKICAgICAgICAgcmVzb3VyY2UudHlwZSA9IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLldl
YlNvY2tldDsKICAgICAgICAgdGhpcy5fc3RhcnRSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgfSwK
IAotICAgIHdlYlNvY2tldFdpbGxTZW5kSGFuZHNoYWtlUmVxdWVzdDogZnVuY3Rpb24oaWRlbnRp
ZmllciwgdGltZSwgcmVxdWVzdCkKKyAgICB3ZWJTb2NrZXRXaWxsU2VuZEhhbmRzaGFrZVJlcXVl
c3Q6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgdGltZSwgcmVxdWVzdCkKICAgICB7Ci0gICAgICAgIHZh
ciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAg
ICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3JlcXVlc3RJ
ZF07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTI0
NCw5ICsyNDQsOSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl91cGRhdGVSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgfSwKIAotICAg
IHdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlUmVjZWl2ZWQ6IGZ1bmN0aW9uKGlkZW50aWZpZXIs
IHRpbWUsIHJlc3BvbnNlKQorICAgIHdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlUmVjZWl2ZWQ6
IGZ1bmN0aW9uKHJlcXVlc3RJZCwgdGltZSwgcmVzcG9uc2UpCiAgICAgewotICAgICAgICB2YXIg
cmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAg
ICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtyZXF1ZXN0SWRd
OwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0yNTks
MjIgKzI1OSwyMiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl91cGRhdGVSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgfSwKIAotICAg
IHdlYlNvY2tldENsb3NlZDogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSkKKyAgICB3ZWJTb2Nr
ZXRDbG9zZWQ6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgdGltZSkKICAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAg
ICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3JlcXVlc3RJZF07
CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRo
aXMuX2ZpbmlzaFJlc291cmNlKHJlc291cmNlLCB0aW1lKTsKICAgICB9LAogCi0gICAgX2FwcGVu
ZFJlZGlyZWN0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZWRpcmVjdFVSTCkKKyAgICBf
YXBwZW5kUmVkaXJlY3Q6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgdGltZSwgcmVkaXJlY3RVUkwpCiAg
ICAgewotICAgICAgICB2YXIgb3JpZ2luYWxSZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3Vy
Y2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIG9yaWdpbmFsUmVzb3VyY2UgPSB0aGlz
Ll9pbmZsaWdodFJlc291cmNlc0J5SWRbcmVxdWVzdElkXTsKICAgICAgICAgdmFyIHByZXZpb3Vz
UmVkaXJlY3RzID0gb3JpZ2luYWxSZXNvdXJjZS5yZWRpcmVjdHMgfHwgW107Ci0gICAgICAgIG9y
aWdpbmFsUmVzb3VyY2UuaWRlbnRpZmllciA9ICJyZWRpcmVjdGVkOiIgKyBpZGVudGlmaWVyICsg
Ii4iICsgcHJldmlvdXNSZWRpcmVjdHMubGVuZ3RoOworICAgICAgICBvcmlnaW5hbFJlc291cmNl
LnJlcXVlc3RJZCA9ICJyZWRpcmVjdGVkOiIgKyByZXF1ZXN0SWQgKyAiLiIgKyBwcmV2aW91c1Jl
ZGlyZWN0cy5sZW5ndGg7CiAgICAgICAgIGRlbGV0ZSBvcmlnaW5hbFJlc291cmNlLnJlZGlyZWN0
czsKICAgICAgICAgdGhpcy5fZmluaXNoUmVzb3VyY2Uob3JpZ2luYWxSZXNvdXJjZSwgdGltZSk7
Ci0gICAgICAgIHZhciBuZXdSZXNvdXJjZSA9IHRoaXMuX2NyZWF0ZVJlc291cmNlKGlkZW50aWZp
ZXIsIG9yaWdpbmFsUmVzb3VyY2UuZnJhbWVJZCwgb3JpZ2luYWxSZXNvdXJjZS5sb2FkZXJJZCwK
KyAgICAgICAgdmFyIG5ld1Jlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2UocmVxdWVzdElk
LCBvcmlnaW5hbFJlc291cmNlLmZyYW1lSWQsIG9yaWdpbmFsUmVzb3VyY2UubG9hZGVySWQsCiAg
ICAgICAgICAgICAgcmVkaXJlY3RVUkwsIG9yaWdpbmFsUmVzb3VyY2UuZG9jdW1lbnRVUkwsIG9y
aWdpbmFsUmVzb3VyY2UuaW5pdGlhdG9yLCBvcmlnaW5hbFJlc291cmNlLnN0YWNrVHJhY2UpOwog
ICAgICAgICBuZXdSZXNvdXJjZS5yZWRpcmVjdHMgPSBwcmV2aW91c1JlZGlyZWN0cy5jb25jYXQo
b3JpZ2luYWxSZXNvdXJjZSk7CiAgICAgICAgIHJldHVybiBuZXdSZXNvdXJjZTsKQEAgLTI4Miw3
ICsyODIsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewog
CiAgICAgX3N0YXJ0UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKLSAgICAgICAg
dGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3Jlc291cmNlLmlkZW50aWZpZXJdID0gcmVzb3Vy
Y2U7CisgICAgICAgIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtyZXNvdXJjZS5yZXF1ZXN0
SWRdID0gcmVzb3VyY2U7CiAgICAgICAgIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlVUkxbcmVz
b3VyY2UudXJsXSA9IHJlc291cmNlOwogICAgICAgICB0aGlzLl9kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VTdGFy
dGVkLCByZXNvdXJjZSk7CiAgICAgfSwKQEAgLTI5Nyw3ICsyOTcsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgICAgICByZXNvdXJjZS5lbmRUaW1l
ID0gZmluaXNoVGltZTsKICAgICAgICAgcmVzb3VyY2UuZmluaXNoZWQgPSB0cnVlOwogICAgICAg
ICB0aGlzLl9kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5h
Z2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5pc2hlZCwgcmVzb3VyY2UpOwotICAgICAgICBkZWxl
dGUgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3Jlc291cmNlLmlkZW50aWZpZXJdOworICAg
ICAgICBkZWxldGUgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW3Jlc291cmNlLnJlcXVlc3RJ
ZF07CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5VVJMW3Jlc291cmNl
LnVybF07CiAgICAgfSwKIApAQCAtMzA2LDkgKzMwNiw5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
RGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX21hbmFnZXIuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKGV2ZW50VHlwZSwgcmVzb3VyY2UpOwogICAgIH0sCiAKLSAgICBfY3Jl
YXRlUmVzb3VyY2U6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGZyYW1lSWQsIGxvYWRlcklkLCB1cmws
IGRvY3VtZW50VVJMLCBpbml0aWF0b3IsIHN0YWNrVHJhY2UpCisgICAgX2NyZWF0ZVJlc291cmNl
OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGZyYW1lSWQsIGxvYWRlcklkLCB1cmwsIGRvY3VtZW50VVJM
LCBpbml0aWF0b3IsIHN0YWNrVHJhY2UpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBu
ZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlKGlkZW50aWZpZXIsIHVybCwgbG9hZGVySWQpOworICAg
ICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlKHJlcXVlc3RJZCwg
dXJsLCBsb2FkZXJJZCk7CiAgICAgICAgIHJlc291cmNlLmRvY3VtZW50VVJMID0gZG9jdW1lbnRV
Ukw7CiAgICAgICAgIHJlc291cmNlLmZyYW1lSWQgPSBmcmFtZUlkOwogICAgICAgICByZXNvdXJj
ZS5pbml0aWF0b3IgPSBpbml0aWF0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDA3YmQ1MDY5NzlmNDE1MDBkOGQ1N2Fm
NWRmZGM4NWRhZDAxNWM5ZDEuLmQwYjk1NzI1ODg3YWIyNjYwZmIyMTYxM2U3MmQyNDAyYjM1ZTli
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzCkBAIC03NTIsMTUgKzc1MiwxNSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1Zp
ZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzLnB1c2gocmVz
b3VyY2UpOwogICAgICAgICAKLSAgICAgICAgLy8gSW4gY2FzZSBvZiByZWRpcmVjdCByZXNvdXJj
ZSBpZGVudGlmaWVyIGlzIHJlYXNzaWduZWQgdG8gYSByZWRpcmVjdGVkIAorICAgICAgICAvLyBJ
biBjYXNlIG9mIHJlZGlyZWN0IHJlcXVlc3QgaWQgaXMgcmVhc3NpZ25lZCB0byBhIHJlZGlyZWN0
ZWQgCiAgICAgICAgIC8vIHJlc291cmNlIGFuZCB3ZSBuZWVkIHRvIHVwZGF0ZSBfcmVzb3VyY2Vz
QnlJZCBhbnMgc2VhcmNoIHJlc3VsdHMuIAotICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2VzQnlJ
ZFtyZXNvdXJjZS5pZGVudGlmaWVyXSkgeworICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2VzQnlJ
ZFtyZXNvdXJjZS5yZXF1ZXN0SWRdKSB7CiAgICAgICAgICAgICB2YXIgb2xkUmVzb3VyY2UgPSBy
ZXNvdXJjZS5yZWRpcmVjdHNbcmVzb3VyY2UucmVkaXJlY3RzLmxlbmd0aCAtIDFdOwotICAgICAg
ICAgICAgdGhpcy5fcmVzb3VyY2VzQnlJZFtvbGRSZXNvdXJjZS5pZGVudGlmaWVyXSA9IG9sZFJl
c291cmNlOworICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VzQnlJZFtvbGRSZXNvdXJjZS5yZXF1
ZXN0SWRdID0gb2xkUmVzb3VyY2U7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHRoaXMuX3Vw
ZGF0ZVNlYXJjaE1hdGNoZWRMaXN0QWZ0ZXJSZXNvdXJjZUlkZW50aWZpZXJDaGFuZ2VkKHJlc291
cmNlLmlkZW50aWZpZXIsIG9sZFJlc291cmNlLmlkZW50aWZpZXIpOworICAgICAgICAgICAgdGhp
cy5fdXBkYXRlU2VhcmNoTWF0Y2hlZExpc3RBZnRlclJlcXVlc3RJZENoYW5nZWQocmVzb3VyY2Uu
cmVxdWVzdElkLCBvbGRSZXNvdXJjZS5yZXF1ZXN0SWQpOwogICAgICAgICB9Ci0gICAgICAgIHRo
aXMuX3Jlc291cmNlc0J5SWRbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSByZXNvdXJjZTsKKyAgICAg
ICAgdGhpcy5fcmVzb3VyY2VzQnlJZFtyZXNvdXJjZS5yZXF1ZXN0SWRdID0gcmVzb3VyY2U7CiAg
ICAgICAgIAogICAgICAgICB0aGlzLl9yZXNvdXJjZXNCeVVSTFtyZXNvdXJjZS51cmxdID0gcmVz
b3VyY2U7CiAKQEAgLTExMTgsMTIgKzExMTgsMTIgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dW
aWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCghcmVzb3VyY2UuZGlzcGxheU5hbWUgfHwg
IXJlc291cmNlLmRpc3BsYXlOYW1lLm1hdGNoKHRoaXMuX3NlYXJjaFJlZ0V4cCkpICYmICFyZXNv
dXJjZS5mb2xkZXIubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKSkKICAgICAgICAgICAgIHJldHVy
biAtMTsKIAotICAgICAgICBpZiAocmVzb3VyY2UuaWRlbnRpZmllciBpbiB0aGlzLl9tYXRjaGVk
UmVzb3VyY2VzTWFwKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21hdGNoZWRSZXNvdXJjZXNN
YXBbcmVzb3VyY2UuaWRlbnRpZmllcl07CisgICAgICAgIGlmIChyZXNvdXJjZS5yZXF1ZXN0SWQg
aW4gdGhpcy5fbWF0Y2hlZFJlc291cmNlc01hcCkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9t
YXRjaGVkUmVzb3VyY2VzTWFwW3Jlc291cmNlLnJlcXVlc3RJZF07CiAKICAgICAgICAgdmFyIG1h
dGNoZWRSZXNvdXJjZUluZGV4ID0gdGhpcy5fbWF0Y2hlZFJlc291cmNlcy5sZW5ndGg7Ci0gICAg
ICAgIHRoaXMuX21hdGNoZWRSZXNvdXJjZXNNYXBbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSBtYXRj
aGVkUmVzb3VyY2VJbmRleDsKLSAgICAgICAgdGhpcy5fbWF0Y2hlZFJlc291cmNlcy5wdXNoKHJl
c291cmNlLmlkZW50aWZpZXIpOworICAgICAgICB0aGlzLl9tYXRjaGVkUmVzb3VyY2VzTWFwW3Jl
c291cmNlLnJlcXVlc3RJZF0gPSBtYXRjaGVkUmVzb3VyY2VJbmRleDsKKyAgICAgICAgdGhpcy5f
bWF0Y2hlZFJlc291cmNlcy5wdXNoKHJlc291cmNlLnJlcXVlc3RJZCk7CiAKICAgICAgICAgcmV0
dXJuIG1hdGNoZWRSZXNvdXJjZUluZGV4OwogICAgIH0sCkBAIC0xMTM1LDEzICsxMTM1LDEzIEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXNvdXJjZSgtMSwgZmFsc2UpOwogICAgIH0sCiAKLSAgICBf
dXBkYXRlU2VhcmNoTWF0Y2hlZExpc3RBZnRlclJlc291cmNlSWRlbnRpZmllckNoYW5nZWQ6IGZ1
bmN0aW9uKG9sZElkZW50aWZpZXIsIG5ld0lkZW50aWZpZXIpCisgICAgX3VwZGF0ZVNlYXJjaE1h
dGNoZWRMaXN0QWZ0ZXJSZXF1ZXN0SWRDaGFuZ2VkOiBmdW5jdGlvbihvbGRSZXF1ZXN0SWQsIG5l
d1JlcXVlc3RJZCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZUluZGV4ID0gdGhpcy5fbWF0
Y2hlZFJlc291cmNlc01hcFtvbGRJZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlSW5k
ZXggPSB0aGlzLl9tYXRjaGVkUmVzb3VyY2VzTWFwW29sZFJlcXVlc3RJZF07CiAgICAgICAgIGlm
IChyZXNvdXJjZUluZGV4KSB7Ci0gICAgICAgICAgICBkZWxldGUgdGhpcy5fbWF0Y2hlZFJlc291
cmNlc01hcFtvbGRJZGVudGlmaWVyXTsKLSAgICAgICAgICAgIHRoaXMuX21hdGNoZWRSZXNvdXJj
ZXNNYXBbbmV3SWRlbnRpZmllcl0gPSByZXNvdXJjZUluZGV4OwotICAgICAgICAgICAgdGhpcy5f
bWF0Y2hlZFJlc291cmNlc1tyZXNvdXJjZUluZGV4XSA9IG5ld0lkZW50aWZpZXI7CisgICAgICAg
ICAgICBkZWxldGUgdGhpcy5fbWF0Y2hlZFJlc291cmNlc01hcFtvbGRSZXF1ZXN0SWRdOworICAg
ICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlc291cmNlc01hcFtuZXdSZXF1ZXN0SWRdID0gcmVzb3Vy
Y2VJbmRleDsKKyAgICAgICAgICAgIHRoaXMuX21hdGNoZWRSZXNvdXJjZXNbcmVzb3VyY2VJbmRl
eF0gPSBuZXdSZXF1ZXN0SWQ7CiAgICAgICAgIH0KICAgICB9LAogCkBAIC0xMTkyLDkgKzExOTIs
OSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgIHBlcmZv
cm1TZWFyY2g6IGZ1bmN0aW9uKHNlYXJjaFF1ZXJ5LCBzb3J0T3JGaWx0ZXJBcHBsaWVkKQogICAg
IHsKICAgICAgICAgdmFyIG5ld01hdGNoZWRSZXNvdXJjZUluZGV4ID0gMDsKLSAgICAgICAgdmFy
IGN1cnJlbnRNYXRjaGVkUmVzb3VyY2VJZDsKKyAgICAgICAgdmFyIGN1cnJlbnRNYXRjaGVkUmVx
dWVzdElkOwogICAgICAgICBpZiAodGhpcy5fY3VycmVudE1hdGNoZWRSZXNvdXJjZUluZGV4ICE9
PSAtMSkKLSAgICAgICAgICAgIGN1cnJlbnRNYXRjaGVkUmVzb3VyY2VJZCA9IHRoaXMuX21hdGNo
ZWRSZXNvdXJjZXNbdGhpcy5fY3VycmVudE1hdGNoZWRSZXNvdXJjZUluZGV4XTsKKyAgICAgICAg
ICAgIGN1cnJlbnRNYXRjaGVkUmVxdWVzdElkID0gdGhpcy5fbWF0Y2hlZFJlc291cmNlc1t0aGlz
Ll9jdXJyZW50TWF0Y2hlZFJlc291cmNlSW5kZXhdOwogCiAgICAgICAgIGlmICghc29ydE9yRmls
dGVyQXBwbGllZCkKICAgICAgICAgICAgIHRoaXMuX3NlYXJjaFJlZ0V4cCA9IGNyZWF0ZVNlYXJj
aFJlZ2V4KHNlYXJjaFF1ZXJ5KTsKQEAgLTEyMDksNyArMTIwOSw3IEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoZGF0YUdyaWROb2Rl
LmlzRmlsdGVyZWRPdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAg
ICAgaWYgKHRoaXMuX21hdGNoUmVzb3VyY2UoZGF0YUdyaWROb2RlLl9yZXNvdXJjZSkgIT09IC0x
ICYmIGRhdGFHcmlkTm9kZS5fcmVzb3VyY2UuaWRlbnRpZmllciA9PT0gY3VycmVudE1hdGNoZWRS
ZXNvdXJjZUlkKQorICAgICAgICAgICAgaWYgKHRoaXMuX21hdGNoUmVzb3VyY2UoZGF0YUdyaWRO
b2RlLl9yZXNvdXJjZSkgIT09IC0xICYmIGRhdGFHcmlkTm9kZS5fcmVzb3VyY2UucmVxdWVzdElk
ID09PSBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCkKICAgICAgICAgICAgICAgICBuZXdNYXRjaGVk
UmVzb3VyY2VJbmRleCA9IHRoaXMuX21hdGNoZWRSZXNvdXJjZXMubGVuZ3RoIC0gMTsKICAgICAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
c291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5q
cwppbmRleCBjZjg0Mzk2MjBjZTlhNGJmNjA0YzI1NmNlYzYzMjQ5MTQ2NjcyNTZmLi45ZGY2YTM1
ZTM3NzNkNGI4ZmRkZTVlNTQwZDc4MjYxZDI0MDAzNTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTI1LDkgKzI1LDkgQEAKICAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwotV2ViSW5zcGVjdG9yLlJlc291cmNlID0g
ZnVuY3Rpb24oaWRlbnRpZmllciwgdXJsLCBsb2FkZXJJZCkKK1dlYkluc3BlY3Rvci5SZXNvdXJj
ZSA9IGZ1bmN0aW9uKHJlcXVlc3RJZCwgdXJsLCBsb2FkZXJJZCkKIHsKLSAgICB0aGlzLmlkZW50
aWZpZXIgPSBpZGVudGlmaWVyOworICAgIHRoaXMucmVxdWVzdElkID0gcmVxdWVzdElkOwogICAg
IHRoaXMudXJsID0gdXJsOwogICAgIHRoaXMubG9hZGVySWQgPSBsb2FkZXJJZDsKICAgICB0aGlz
Ll9zdGFydFRpbWUgPSAtMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCBiYTQ4NWJlMTcyOGVmMTc5YzVmMTM4ZGQ2NWY0
MDQ1ZTFiYmIwZGQ4Li41YjYzY2U5NjQyZjAwMzRlZjUwNjQ4MTA2ZDhkMTQ4ZmEzODAyMDljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBh
bmVsLmpzCkBAIC0zNzEsMTIgKzM3MSwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgX2FkZFJlY29yZFRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCkK
ICAgICB7CiAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
QWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0KSB7Ci0gICAgICAgICAgICB2YXIg
aXNNYWluUmVzb3VyY2UgPSAocmVjb3JkLmRhdGEuaWRlbnRpZmllciA9PT0gV2ViSW5zcGVjdG9y
Lm1haW5SZXNvdXJjZS5pZGVudGlmaWVyKTsKLSAgICAgICAgICAgIGlmIChpc01haW5SZXNvdXJj
ZSAmJiB0aGlzLl9tYWluUmVzb3VyY2VJZGVudGlmaWVyICE9PSByZWNvcmQuZGF0YS5pZGVudGlm
aWVyKSB7CisgICAgICAgICAgICB2YXIgaXNNYWluUmVzb3VyY2UgPSAocmVjb3JkLmRhdGEucmVx
dWVzdElkID09PSBXZWJJbnNwZWN0b3IubWFpblJlc291cmNlLnJlcXVlc3RJZCk7CisgICAgICAg
ICAgICBpZiAoaXNNYWluUmVzb3VyY2UgJiYgdGhpcy5fbWFpblJlcXVlc3RJZCAhPT0gcmVjb3Jk
LmRhdGEucmVxdWVzdElkKSB7CiAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIGxvYWRpbmcgbmV3
IG1haW4gcmVzb3VyY2UgLT4gY2xlYXIgdGhlIHBhbmVsLiBDaGVjayBhYm92ZSBpcyBuZWNlc3Nh
cnkgc2luY2UKICAgICAgICAgICAgICAgICAvLyB0aGVyZSBtYXkgYmUgc2V2ZXJhbCByZXNvdXJj
ZSBsb2FkcyB3aXRoIG1haW4gcmVzb3VyY2UgbWFya2VyIHVwb24gcmVkaXJlY3RzLCByZWRpcmVj
dHMgYXJlIHJlcG9ydGVkIHdpdGgKLSAgICAgICAgICAgICAgICAvLyB0aGUgb3JpZ2luYWwgaWRl
bnRpZmllci4KLSAgICAgICAgICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VJZGVudGlmaWVyID0g
cmVjb3JkLmRhdGEuaWRlbnRpZmllcjsKKyAgICAgICAgICAgICAgICAvLyB0aGUgb3JpZ2luYWwg
cmVxdWVzdCBpZC4KKyAgICAgICAgICAgICAgICB0aGlzLl9tYWluUmVxdWVzdElkID0gcmVjb3Jk
LmRhdGEucmVxdWVzdElkOwogICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyUGFuZWwoKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMzkyLDcgKzM5Miw3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBy
ZWNvcmRUeXBlcy5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZSB8fAogICAgICAgICAgICAgcmVjb3Jk
LnR5cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlRmluaXNoIHx8CiAgICAgICAgICAgICByZWNv
cmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuUmVzb3VyY2VSZWNlaXZlZERhdGEpCi0gICAgICAgICAg
ICBwYXJlbnRSZWNvcmQgPSB0aGlzLl9zZW5kUmVxdWVzdFJlY29yZHNbcmVjb3JkLmRhdGEuaWRl
bnRpZmllcl07CisgICAgICAgICAgICBwYXJlbnRSZWNvcmQgPSB0aGlzLl9zZW5kUmVxdWVzdFJl
Y29yZHNbcmVjb3JkLmRhdGEucmVxdWVzdElkXTsKICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5
cGUgPT09IHJlY29yZFR5cGVzLlRpbWVyRmlyZSkKICAgICAgICAgICAgIHBhcmVudFJlY29yZCA9
IHRoaXMuX3RpbWVyUmVjb3Jkc1tyZWNvcmQuZGF0YS50aW1lcklkXTsKICAgICAgICAgZWxzZSBp
ZiAocmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlU2VuZFJlcXVlc3QpCkBAIC05
NzIsMTEgKzk3MiwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNv
cmQgPSBmdW5jdGlvbihyZWNvcmQsIHBhcmVudFJlY29yZCwgcGFuZQogICAgIH0KICAgICAvLyBN
YWtlIHJlc291cmNlIHJlY2VpdmUgcmVjb3JkIGxhc3Qgc2luY2UgcmVxdWVzdCB3YXMgc2VudDsg
bWFrZSBmaW5pc2ggcmVjb3JkIGxhc3Qgc2luY2UgcmVzcG9uc2UgcmVjZWl2ZWQuCiAgICAgaWYg
KHJlY29yZC50eXBlID09PSByZWNvcmRUeXBlcy5SZXNvdXJjZVNlbmRSZXF1ZXN0KSB7Ci0gICAg
ICAgIHBhbmVsLl9zZW5kUmVxdWVzdFJlY29yZHNbcmVjb3JkLmRhdGEuaWRlbnRpZmllcl0gPSB0
aGlzOworICAgICAgICBwYW5lbC5fc2VuZFJlcXVlc3RSZWNvcmRzW3JlY29yZC5kYXRhLnJlcXVl
c3RJZF0gPSB0aGlzOwogICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVz
LlNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KSB7CiAgICAgICAgIHBhbmVsLl9zY2hlZHVsZWRSZXNv
dXJjZVJlcXVlc3RzW3JlY29yZC5kYXRhLnVybF0gPSB0aGlzOwogICAgIH0gZWxzZSBpZiAocmVj
b3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlKSB7Ci0gICAg
ICAgIHZhciBzZW5kUmVxdWVzdFJlY29yZCA9IHBhbmVsLl9zZW5kUmVxdWVzdFJlY29yZHNbcmVj
b3JkLmRhdGEuaWRlbnRpZmllcl07CisgICAgICAgIHZhciBzZW5kUmVxdWVzdFJlY29yZCA9IHBh
bmVsLl9zZW5kUmVxdWVzdFJlY29yZHNbcmVjb3JkLmRhdGEucmVxdWVzdElkXTsKICAgICAgICAg
aWYgKHNlbmRSZXF1ZXN0UmVjb3JkKSB7IC8vIEZhbHNlIGlmIHdlIHN0YXJ0ZWQgaW5zdHJ1bWVu
dGF0aW9uIGluIHRoZSBtaWRkbGUgb2YgcmVxdWVzdC4KICAgICAgICAgICAgIHRoaXMudXJsID0g
c2VuZFJlcXVlc3RSZWNvcmQudXJsOwogICAgICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBy
ZXNvdXJjZSBpbiB0aGUgY29sbGVjdGlvbiwgcmVjYWxjdWxhdGUgZGV0YWlscyBpbiBvcmRlciB0
byBkaXNwbGF5IHNob3J0IHVybC4KQEAgLTk4NSw3ICs5ODUsNyBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIHBhcmVudFJlY29y
ZCwgcGFuZQogICAgICAgICAgICAgICAgIHNlbmRSZXF1ZXN0UmVjb3JkLnBhcmVudC5fcmVmcmVz
aERldGFpbHMoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IHJl
Y29yZFR5cGVzLlJlc291cmNlUmVjZWl2ZWREYXRhIHx8IHJlY29yZC50eXBlID09PSByZWNvcmRU
eXBlcy5SZXNvdXJjZUZpbmlzaCkgewotICAgICAgICB2YXIgc2VuZFJlcXVlc3RSZWNvcmQgPSBw
YW5lbC5fc2VuZFJlcXVlc3RSZWNvcmRzW3JlY29yZC5kYXRhLmlkZW50aWZpZXJdOworICAgICAg
ICB2YXIgc2VuZFJlcXVlc3RSZWNvcmQgPSBwYW5lbC5fc2VuZFJlcXVlc3RSZWNvcmRzW3JlY29y
ZC5kYXRhLnJlcXVlc3RJZF07CiAgICAgICAgIGlmIChzZW5kUmVxdWVzdFJlY29yZCkgLy8gRmFs
c2UgZm9yIG1haW4gcmVzb3VyY2UuCiAgICAgICAgICAgICB0aGlzLnVybCA9IHNlbmRSZXF1ZXN0
UmVjb3JkLnVybDsKICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSByZWNvcmRUeXBlcy5U
aW1lckluc3RhbGwpIHsK
</data>
<flag name="review"
          id="99451"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>