<?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>195533</bug_id>
          
          <creation_ts>2019-03-10 12:26:56 -0700</creation_ts>
          <short_desc>Specify fixed precision explicitly to prepare to change String::number and StringBuilder::appendNumber floating point behavior</short_desc>
          <delta_ts>2019-03-11 10:12:55 -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 Template Framework</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>178319</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1514562</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-10 12:26:56 -0700</bug_when>
    <thetext>Specify fixed precision explicitly to prepare to change String::number and StringBuilder::appendNumber floating point behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514563</commentid>
    <comment_count>1</comment_count>
      <attachid>364196</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-10 12:40:57 -0700</bug_when>
    <thetext>Created attachment 364196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514817</commentid>
    <comment_count>2</comment_count>
      <attachid>364196</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-11 09:46:01 -0700</bug_when>
    <thetext>Comment on attachment 364196
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514833</commentid>
    <comment_count>3</comment_count>
      <attachid>364196</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-11 10:11:20 -0700</bug_when>
    <thetext>Comment on attachment 364196
Patch

Clearing flags on attachment: 364196

Committed r242713: &lt;https://trac.webkit.org/changeset/242713&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514834</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-11 10:11:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514835</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-11 10:12:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/48771000&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364196</attachid>
            <date>2019-03-10 12:40:57 -0700</date>
            <delta_ts>2019-03-11 10:11:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195533-20190310124056.patch</filename>
            <type>text/plain</type>
            <size>46930</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZTc4ZWM1NzRjYmQ2MTc3NTYyMTZhNDdmYzQyMDhlZDRiMWM0MmFjLi43MTdkMmQ2OTg1M2VlMzgx
MmQ1NzQ5ZGNhYWQ5MTEzMjg5ZTI3MjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wMy0xMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgU3BlY2lmeSBmaXhlZCBwcmVjaXNpb24gZXhwbGljaXRseSB0byBwcmVwYXJlIHRv
IGNoYW5nZSBTdHJpbmc6Om51bWJlciBhbmQgU3RyaW5nQnVpbGRlcjo6YXBwZW5kTnVtYmVyIGZs
b2F0aW5nIHBvaW50IGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTU1MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIEFQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcDoKKyAg
ICAgICAgKHRlc3RFeGVjdXRpb25UaW1lTGltaXQpOiBVc2UgYXBwZW5kRml4ZWRQcmVjaXNpb25O
dW1iZXIuCisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAo
SlNDOjpudW1iZXJQcm90b0Z1bmNUb1ByZWNpc2lvbik6IFVzZSBudW1iZXJUb1N0cmluZ0ZpeGVk
UHJlY2lzaW9uLgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6CisgICAgICAgIChKU0M6
Ok9wdGlvbjo6ZHVtcCBjb25zdCk6IFVzZSBhcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlci4KKwog
MjAxOS0wMy0wOSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAg
ICAgIENvbXBpbGF0aW9uIGNhbiBiZSBzaHJ1bmsgYnkgOCBieXRlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAzMDViMjMyMWU4
N2M2ODY3MTI4ODFiODNmMDM1NmY5NmExZTM4ODc5Li5jYjZlYjM3YTlmYTkxMjhmOGI4N2NiODFj
MzI0NzVhMmYxMjM3ZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE5LTAzLTEwICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBTcGVjaWZ5IGZpeGVkIHByZWNpc2lv
biBleHBsaWNpdGx5IHRvIHByZXBhcmUgdG8gY2hhbmdlIFN0cmluZzo6bnVtYmVyIGFuZCBTdHJp
bmdCdWlsZGVyOjphcHBlbmROdW1iZXIgZmxvYXRpbmcgcG9pbnQgYmVoYXZpb3IKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTUzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvb24sIHdlIHdpbGwgY2hh
bmdlIFN0cmluZzo6bnVtYmVyIGFuZCBTdHJpbmdCdWlsZGVyOjphcHBlbmROdW1iZXIgZm9yIGZs
b2F0aW5nCisgICAgICAgIHBvaW50IHRvIHVzZSAic2hvcnRlc3QgZm9ybSIgc2VyaWFsaXphdGlv
biBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGRlZmF1bHQsIHdoaWNoIGlzCisgICAgICAgICI2LWRp
Z2l0IGZpeGVkIHByZWNpc2lvbiBzdHJpcHBpbmcgdHJhaWxpbmcgemVyb3MiLiBUbyBwcmVwYXJl
IHRvIGRvIHRoaXMgc2FmZWx5CisgICAgICAgIHdpdGhvdXQgYWNjaWRlbnRhbGx5IGNoYW5naW5n
IGFueSBiZWhhdmlvciwgY2hhbmdpbmcgY2FsbGVycyB0byBjYWxsIHRoZSBleHBsaWNpdAorICAg
ICAgICB2ZXJzaW9ucy4gTGF0ZXIsIHdlIG1heSB3YW50IHRvIHJldHVybiBhbmQgY2hhbmdlIG1h
bnkgb2YgdGhlbSB0byB1c2Ugc2hvcnRlc3QgZm9ybQorICAgICAgICBpbnN0ZWFkLCBidXQgdGhh
dCBtYXkgcmVxdWlyZSByZWJhc2VsaW5pbmcgdGVzdHMsIGFuZCBpbiBzb21lIGV4dHJlbWUgY2Fz
ZXMsIGdldHRpbmcKKyAgICAgICAgcmlkIG9mIGZsYXdlZCBsb2dpYyB0aGF0IGNvbnZlcnRzIGJl
dHdlZW4gZGlmZmVyZW50IHNpbmdsZSBhbmQgZG91YmxlIHByZWNpc2lvbgorICAgICAgICBmbG9h
dGluZyBwb2ludDsgc3VjaCBwcm9ibGVtcyBtYXkgYmUgaGlkZGVuIGJ5IGZpeGVkIHByZWNpc2lv
biBzZXJpYWxpemF0aW9uLgorCisgICAgICAgIFNpbmNlICJzaG9ydGVzdCBmb3JtIiBpcyBhbHJl
YWR5IHRoZSBiZWhhdmlvciBmb3IgQXRvbWljU3RyaW5nOjpudW1iZXIgYW5kCisgICAgICAgIGZv
ciBtYWtlU3RyaW5nLCBubyBjaGFuZ2VzIHJlcXVpcmVkIGZvciBjbGllbnRzIG9mIGVpdGhlciBv
ZiB0aG9zZS4KKworICAgICAgICAqIHd0Zi9Mb2dnZXIuaDoKKyAgICAgICAgKFdURjo6TG9nQXJn
dW1lbnQ6OnRvU3RyaW5nKTogVXNlIG51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24uCisgICAg
ICAgICogd3RmL01lZGlhVGltZS5jcHA6CisgICAgICAgIChXVEY6Ok1lZGlhVGltZTo6dG9TdHJp
bmcgY29uc3QpOiBVc2UgYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIuCisgICAgICAgICogd3Rm
L3RleHQvVmFsdWVUb1N0cmluZy5oOgorICAgICAgICAoV1RGOjpWYWx1ZVRvU3RyaW5nPGZsb2F0
Pjo6c3RyaW5nKTogVXNlIG51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24uCisgICAgICAgIChX
VEY6OlZhbHVlVG9TdHJpbmc8ZG91YmxlPjo6c3RyaW5nKTogRGl0dG8uCisKIDIwMTktMDMtMDcg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBuZXh0IGZyYW1l
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggN2RjZTE3OWYzYzIzMDEzNDFjNmUxOTk3ZmFmODgwNjZlMjYyYWMyYy4u
ODA3NDA3NTdlNjljNTFmOTFlODJiMDljZDdhMmUyMjQyNGU2ZTc5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDY0IEBACisyMDE5LTAzLTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4K
KworICAgICAgICBTcGVjaWZ5IGZpeGVkIHByZWNpc2lvbiBleHBsaWNpdGx5IHRvIHByZXBhcmUg
dG8gY2hhbmdlIFN0cmluZzo6bnVtYmVyIGFuZCBTdHJpbmdCdWlsZGVyOjphcHBlbmROdW1iZXIg
ZmxvYXRpbmcgcG9pbnQgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NTUzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFs
dWVCeVN0ZXApOiBVc2UgbnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbi4KKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudCk6IERp
dHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyOjpzZXRWYWx1ZSk6IERp
dHRvLgorICAgICAgICAqIGNzcy9DU1NGb250VmFyaWF0aW9uVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFZhcmlhdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0IGNvbnN0KTogVXNl
IGFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyLgorICAgICAgICAqIGNzcy9DU1NHcmFkaWVudFZh
bHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmN1c3Rv
bUNTU1RleHQgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1JhZGlhbEdyYWRp
ZW50VmFsdWU6OmN1c3RvbUNTU1RleHQgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiBjc3MvQ1NT
S2V5ZnJhbWVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lOjpr
ZXlUZXh0IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZh
bHVlOjpjdXN0b21DU1NUZXh0IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDU1NT
cHJpbmdUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0IGNvbnN0KTogRGl0dG8uCisg
ICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXJUb2tlbjo6c2VyaWFsaXplIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OmNvbXBsZXRlVVJMc0luQXR0cmlidXRlVmFsdWUgY29uc3QpOiBEaXR0by4KKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JPdmVybGF5OjpkcmF3UnVsZXJzKTogVXNlIG51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNp
b24uCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6dG9TdHJpbmcgY29uc3QpOiBVc2Ug
YXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIuCisgICAgICAgICogcGFnZS9QcmludENvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJpbnRDb250ZXh0OjpwYWdlUHJvcGVydHkpOiBVc2Ug
bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbi4KKyAgICAgICAgKiBwYWdlL2NvY29hL1Jlc291
cmNlVXNhZ2VPdmVybGF5Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpnY1RpbWVyU3RyaW5n
KTogVXNlIG51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24uCisgICAgICAgICogcGxhdGZvcm0v
TGF5b3V0VW5pdC5oOgorICAgICAgICAoV1RGOjpWYWx1ZVRvU3RyaW5nPFdlYkNvcmU6OkxheW91
dFVuaXQ+OjpzdHJpbmcpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6Y3NzVGV4dCBjb25zdCk6IFVzZSBhcHBl
bmRGaXhlZFByZWNpc2lvbk51bWJlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRl
bmRlZENvbG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuZGVkQ29sb3I6OmNzc1RleHQg
Y29uc3QpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQW5nbGVWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmdsZVZhbHVlOjp2YWx1ZUFzU3RyaW5nIGNvbnN0KTogVXNlIG51bWJl
clRvU3RyaW5nRml4ZWRQcmVjaXNpb24uCisgICAgICAgICogc3ZnL1NWR051bWJlckxpc3RWYWx1
ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyTGlzdFZhbHVlczo6dmFsdWVBc1N0
cmluZyBjb25zdCk6IFVzZSBhcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlci4KKyAgICAgICAgKiBz
dmcvU1ZHUGF0aFN0cmluZ0J1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kTnVt
YmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjphcHBlbmRQb2ludCk6IERpdHRvLgorICAg
ICAgICAqIHN2Zy9TVkdQb2ludExpc3RWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UG9pbnRMaXN0VmFsdWVzOjp2YWx1ZUFzU3RyaW5nIGNvbnN0KTogRGl0dG8uCisgICAgICAgICog
c3ZnL1NWR1RyYW5zZm9ybVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RyYW5zZm9y
bVZhbHVlOjp2YWx1ZUFzU3RyaW5nIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPGZsb2F0Pjo6dG9TdHJpbmcpOiBVc2UgbnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lv
bi4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+Ojp0b1N0
cmluZyk6IFVzZSBhcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlci4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UmVjdD46OnRvU3RyaW5nKTogRGl0dG8uCisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpk
dW1wTWFya2VyUmVjdHMpOiBVc2UgYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIuCisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKTogRGl0dG8uCisgICAg
ICAgICogeG1sL1hQYXRoVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlZhbHVl
Ojp0b1N0cmluZyBjb25zdCk6IFVzZSBudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uLgorCiAy
MDE5LTAzLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNjcm9sbGluZ1RyZWUgc2hvdWxkIGhhdmUgdGhlIGZpbmFsIHNheSBvbiB3aGVyZSBsYXll
cnMgZ28KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNjNmYjMxOTU3ZjRlOTE2YjFlYjFiODIxMTQ2Yzk1YTkwZmNmYjZh
Mi4uMTZlYTUxNDc2YTM1OGE0M2RjODU5NWI5Yzc5YWI5ZTNjMmUxOTI3MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxOS0wMy0xMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CisKKyAgICAgICAgU3BlY2lmeSBmaXhlZCBwcmVjaXNpb24gZXhwbGljaXRseSB0byBwcmVwYXJl
IHRvIGNoYW5nZSBTdHJpbmc6Om51bWJlciBhbmQgU3RyaW5nQnVpbGRlcjo6YXBwZW5kTnVtYmVy
IGZsb2F0aW5nIHBvaW50IGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTU1MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OmR1bXBDb250ZW50c1RvRmls
ZSk6IFVzZSBhcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlci4KKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6RW50cnk6OmFzSlNPTiBjb25zdCk6IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9H
YW1lcGFkL0dhbWVwYWREYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2FtZXBhZERhdGE6Omxv
Z2dpbmdTdHJpbmcgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZSk6IFVzZSBudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uLgorCiAyMDE5
LTAzLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFNjcm9sbGluZ1RyZWUgc2hvdWxkIGhhdmUgdGhlIGZpbmFsIHNheSBvbiB3aGVyZSBsYXllcnMg
Z28KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9u
VGltZUxpbWl0VGVzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0V4ZWN1
dGlvblRpbWVMaW1pdFRlc3QuY3BwCmluZGV4IGFjODAxMGE3ZmQzNGIzNTExZjA0Nzg3Yjg1NjVk
YjYxNzRjNzE2NTQuLjljODY3MDA3ZTcwNzU3ZTY0OTMyM2RhODE1ZmM1ZDMwY2Y1NmRmODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxp
bWl0VGVzdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRp
b25UaW1lTGltaXRUZXN0LmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIGludCB0ZXN0RXhlY3V0aW9u
VGltZUxpbWl0KCkKIAogICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwog
ICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmRMaXRlcmFsKCJmdW5jdGlvbiBmb28oKSB7
IHZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB3aGlsZSAodHJ1ZSkgeyBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDA7IGkrKyk7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0gc3RhcnRUaW1l
ID4gIik7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZE51bWJlcih0aW1lQWZ0ZXJX
YXRjaGRvZ1Nob3VsZEhhdmVGaXJlZC5zZWNvbmRzKCkpOworICAgICAgICAgICAgc2NyaXB0QnVp
bGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0aW1lQWZ0ZXJXYXRjaGRvZ1Nob3VsZEhh
dmVGaXJlZC5zZWNvbmRzKCkpOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmRMaXRl
cmFsKCIpIGJyZWFrOyB9IH0gZm9vKCk7Iik7CiAKICAgICAgICAgICAgIEpTU3RyaW5nUmVmIHNj
cmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNjcmlwdEJ1aWxkZXIudG9TdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTIzNSw3ICsyMzUsNyBAQCBpbnQgdGVzdEV4ZWN1dGlv
blRpbWVMaW1pdCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIid1c2Ug
c3RyaWN0JzsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlmIChpICUg
MTAwMCA9PT0gMCkgeyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aWYgKGN1cnJlbnRDUFVUaW1lKCkgLSBzdGFydFRpbWUgPiIpOwotICAgICAgICAgICAgc2NyaXB0
QnVpbGRlci5hcHBlbmROdW1iZXIodGltZUFmdGVyV2F0Y2hkb2dTaG91bGRIYXZlRmlyZWQuc2Vj
b25kcygpKTsKKyAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25O
dW1iZXIodGltZUFmdGVyV2F0Y2hkb2dTaG91bGRIYXZlRmlyZWQuc2Vjb25kcygpKTsKICAgICAg
ICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiICAgICAgICkgeyByZXR1cm47IH0i
KTsKICAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiICAgIH0iKTsKICAg
ICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiICAgIHJldHVybiByZWN1cnNl
KGkgKyAxKTsgfSIpOwpAQCAtMjc1LDcgKzI3NSw3IEBAIGludCB0ZXN0RXhlY3V0aW9uVGltZUxp
bWl0KCkKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWls
ZGVyOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmRMaXRlcmFsKCJmdW5jdGlvbiBm
b28oKSB7IHZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB0cnkgeyB3aGlsZSAodHJ1
ZSkgeyBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKyk7IGlmIChjdXJyZW50Q1BVVGltZSgp
IC0gc3RhcnRUaW1lID4gIik7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZE51bWJl
cih0aW1lQWZ0ZXJXYXRjaGRvZ1Nob3VsZEhhdmVGaXJlZC5zZWNvbmRzKCkpOworICAgICAgICAg
ICAgc2NyaXB0QnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0aW1lQWZ0ZXJXYXRj
aGRvZ1Nob3VsZEhhdmVGaXJlZC5zZWNvbmRzKCkpOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRl
ci5hcHBlbmRMaXRlcmFsKCIpIGJyZWFrOyB9IH0gY2F0Y2goZSkgeyB9IH0gZm9vKCk7Iik7CiAK
ICAgICAgICAgICAgIEpTU3RyaW5nUmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTMxNCw3
ICszMTQsNyBAQCBpbnQgdGVzdEV4ZWN1dGlvblRpbWVMaW1pdCgpCiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKICAgICAgICAgICAgIHNjcmlw
dEJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiZnVuY3Rpb24gZm9vKCkgeyB2YXIgc3RhcnRUaW1lID0g
Y3VycmVudENQVVRpbWUoKTsgd2hpbGUgKHRydWUpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
OyBpKyspOyBpZiAoY3VycmVudENQVVRpbWUoKSAtIHN0YXJ0VGltZSA+ICIpOwotICAgICAgICAg
ICAgc2NyaXB0QnVpbGRlci5hcHBlbmROdW1iZXIodGltZUFmdGVyV2F0Y2hkb2dTaG91bGRIYXZl
RmlyZWQuc2Vjb25kcygpKTsKKyAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kRml4ZWRQ
cmVjaXNpb25OdW1iZXIodGltZUFmdGVyV2F0Y2hkb2dTaG91bGRIYXZlRmlyZWQuc2Vjb25kcygp
KTsKICAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiKSBicmVhazsgfSB9
IGZvbygpOyIpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBKU1N0cmluZ1JlZiBzY3JpcHQg
PSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzY3JpcHRCdWlsZGVyLnRvU3RyaW5nKCku
dXRmOCgpLmRhdGEoKSk7CkBAIC0zNTMsNyArMzUzLDcgQEAgaW50IHRlc3RFeGVjdXRpb25UaW1l
TGltaXQoKQogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1
aWxkZXI7CiAgICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZExpdGVyYWwoImZ1bmN0aW9u
IGZvbygpIHsgdmFyIHN0YXJ0VGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7IHdoaWxlICh0cnVlKSB7
IGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKTsgaWYgKGN1cnJlbnRDUFVUaW1lKCkgLSBz
dGFydFRpbWUgPiAiKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kTnVtYmVyKHRp
bWVBZnRlcldhdGNoZG9nU2hvdWxkSGF2ZUZpcmVkLnNlY29uZHMoKSk7CisgICAgICAgICAgICBz
Y3JpcHRCdWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHRpbWVBZnRlcldhdGNoZG9n
U2hvdWxkSGF2ZUZpcmVkLnNlY29uZHMoKSk7CiAgICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFw
cGVuZExpdGVyYWwoIikgYnJlYWs7IH0gfSBmb28oKTsiKTsKIAogICAgICAgICAgICAgSlNTdHJp
bmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0QnVpbGRl
ci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwpAQCAtMzkyLDcgKzM5Miw3IEBAIGludCB0ZXN0
RXhlY3V0aW9uVGltZUxpbWl0KCkKIAogICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRC
dWlsZGVyOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmRMaXRlcmFsKCJmdW5jdGlv
biBmb28oKSB7IHZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB3aGlsZSAodHJ1ZSkg
eyBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKyk7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0g
c3RhcnRUaW1lID4gIik7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZE51bWJlciht
YXhCdXN5TG9vcFRpbWUuc2Vjb25kcygpKTsgLy8gaW4gc2Vjb25kcy4KKyAgICAgICAgICAgIHNj
cmlwdEJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIobWF4QnVzeUxvb3BUaW1lLnNl
Y29uZHMoKSk7IC8vIGluIHNlY29uZHMuCiAgICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVu
ZExpdGVyYWwoIikgYnJlYWs7IH0gfSBmb28oKTsiKTsKIAogICAgICAgICAgICAgSlNTdHJpbmdS
ZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0QnVpbGRlci50
b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwpAQCAtNDM1LDcgKzQzNSw3IEBAIGludCB0ZXN0RXhl
Y3V0aW9uVGltZUxpbWl0KCkKIAogICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWls
ZGVyOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmRMaXRlcmFsKCJmdW5jdGlvbiBm
b28oKSB7IHZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB3aGlsZSAodHJ1ZSkgeyBm
b3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKyk7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0gc3Rh
cnRUaW1lID4gIik7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZE51bWJlcih0aW1l
QWZ0ZXJXYXRjaGRvZ1Nob3VsZEhhdmVGaXJlZC5zZWNvbmRzKCkpOworICAgICAgICAgICAgc2Ny
aXB0QnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0aW1lQWZ0ZXJXYXRjaGRvZ1No
b3VsZEhhdmVGaXJlZC5zZWNvbmRzKCkpOwogICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBl
bmRMaXRlcmFsKCIpIGJyZWFrOyB9IH0gZm9vKCk7Iik7CiAKICAgICAgICAgICAgIEpTU3RyaW5n
UmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNjcmlwdEJ1aWxkZXIu
dG9TdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCmluZGV4IDA0ZDk4ZTY1YjNiODZkNmZlOGQ0NjEy
Njc5OWJmMjMzNWMxMWNmMjEuLmFiM2FmZDAwM2JiMzZmMGMxZDZhZWQ2M2FjZGMzNTY2NDdjNzI5
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3Rv
dHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90
eXBlLmNwcApAQCAtNTA1LDcgKzUwNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
bnVtYmVyUHJvdG9GdW5jVG9QcmVjaXNpb24oRXhlY1N0YXRlKiBleGVjKQogICAgIGlmICghaW5S
YW5nZSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBzY29wZSwgY3JlYXRlUmFu
Z2VFcnJvcihleGVjLCAidG9QcmVjaXNpb24oKSBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMSBh
bmQgMjEiX3MpKTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhlYywg
U3RyaW5nOjpudW1iZXIoeCwgc2lnbmlmaWNhbnRGaWd1cmVzLCBLZWVwVHJhaWxpbmdaZXJvcykp
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzU3RyaW5nKGV4ZWMsIFN0cmluZzo6bnVt
YmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih4LCBzaWduaWZpY2FudEZpZ3VyZXMsIEtlZXBUcmFp
bGluZ1plcm9zKSkpOwogfQogCiBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyogaW50MzJU
b1N0cmluZ0ludGVybmFsKFZNJiB2bSwgaW50MzJfdCB2YWx1ZSwgaW50MzJfdCByYWRpeCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKaW5kZXggYjllOTcyZDBhYTAy
ODU5ZGI4MjU0ODY4ZDE3NmRiMDUxZDUxYmE3Ny4uM2MzMWRlYmNiNWNiMTlhMzU0MzkxN2MxMjUx
Y2Q0OTk0OTMzZDA3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5j
cHAKQEAgLTkwNiw3ICs5MDYsNyBAQCB2b2lkIE9wdGlvbjo6ZHVtcChTdHJpbmdCdWlsZGVyJiBi
dWlsZGVyKSBjb25zdAogICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2VudHJ5LnNpemVW
YWwpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIE9wdGlvbnM6OlR5cGU6OmRvdWJsZVR5cGU6
Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fZW50cnkuZG91YmxlVmFsKTsKKyAgICAg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX2VudHJ5LmRvdWJsZVZhbCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6aW50MzJUeXBlOgogICAg
ICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2VudHJ5LmludDMyVmFsKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5oIGIvU291cmNlL1dURi93dGYvTG9nZ2VyLmgKaW5kZXgg
YjBjZGJmOGE2ZmQ5MjNlMmE5YzNlNGYwZDRmOTdlODcyNDA1MGZiNi4uNDM2ZTllNjVlNzE2Nzgy
NGQ3NmRmMDQ5MTg0NjA3MWE3MjNjMzE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTG9n
Z2VyLmgKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2VyLmgKQEAgLTM2LDggKzM2LDggQEAgc3Ry
dWN0IExvZ0FyZ3VtZW50IHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gc3RhdGljIHR5
cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfc2FtZTxVLCB1bnNpZ25lZD46OnZhbHVlLCBT
dHJpbmc+Ojp0eXBlIHRvU3RyaW5nKHVuc2lnbmVkIGFyZ3VtZW50KSB7IHJldHVybiBTdHJpbmc6
Om51bWJlcihhcmd1bWVudCk7IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gc3RhdGlj
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfc2FtZTxVLCB1bnNpZ25lZCBsb25nPjo6
dmFsdWUsIFN0cmluZz46OnR5cGUgdG9TdHJpbmcodW5zaWduZWQgbG9uZyBhcmd1bWVudCkgeyBy
ZXR1cm4gU3RyaW5nOjpudW1iZXIoYXJndW1lbnQpOyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VSA9IFQ+IHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX3NhbWU8VSwgbG9u
Zz46OnZhbHVlLCBTdHJpbmc+Ojp0eXBlIHRvU3RyaW5nKGxvbmcgYXJndW1lbnQpIHsgcmV0dXJu
IFN0cmluZzo6bnVtYmVyKGFyZ3VtZW50KTsgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBU
PiBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19zYW1lPFUsIGZsb2F0Pjo6
dmFsdWUsIFN0cmluZz46OnR5cGUgdG9TdHJpbmcoZmxvYXQgYXJndW1lbnQpIHsgcmV0dXJuIFN0
cmluZzo6bnVtYmVyKGFyZ3VtZW50KTsgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBUPiBz
dGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19zYW1lPFUsIGRvdWJsZT46OnZh
bHVlLCBTdHJpbmc+Ojp0eXBlIHRvU3RyaW5nKGRvdWJsZSBhcmd1bWVudCkgeyByZXR1cm4gU3Ry
aW5nOjpudW1iZXIoYXJndW1lbnQpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQ+IHN0
YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX3NhbWU8VSwgZmxvYXQ+Ojp2YWx1
ZSwgU3RyaW5nPjo6dHlwZSB0b1N0cmluZyhmbG9hdCBhcmd1bWVudCkgeyByZXR1cm4gU3RyaW5n
OjpudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uKGFyZ3VtZW50KTsgfQorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFUgPSBUPiBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19z
YW1lPFUsIGRvdWJsZT46OnZhbHVlLCBTdHJpbmc+Ojp0eXBlIHRvU3RyaW5nKGRvdWJsZSBhcmd1
bWVudCkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uKGFyZ3Vt
ZW50KTsgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBUPiBzdGF0aWMgdHlwZW5hbWUgc3Rk
OjplbmFibGVfaWY8c3RkOjppc19zYW1lPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxV
Pjo6dHlwZSwgQXRvbWljU3RyaW5nPjo6dmFsdWUsIFN0cmluZz46OnR5cGUgdG9TdHJpbmcoY29u
c3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCkgeyByZXR1cm4gYXJndW1lbnQuc3RyaW5nKCk7IH0K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl
X2lmPHN0ZDo6aXNfc2FtZTx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VT46OnR5cGUs
IFN0cmluZz46OnZhbHVlLCBTdHJpbmc+Ojp0eXBlIHRvU3RyaW5nKFN0cmluZyBhcmd1bWVudCkg
eyByZXR1cm4gYXJndW1lbnQ7IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gc3RhdGlj
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfc2FtZTx0eXBlbmFtZSBzdGQ6OnJlbW92
ZV9yZWZlcmVuY2U8VT46OnR5cGUsIFN0cmluZ0J1aWxkZXIqPjo6dmFsdWUsIFN0cmluZz46OnR5
cGUgdG9TdHJpbmcoU3RyaW5nQnVpbGRlciogYXJndW1lbnQpIHsgcmV0dXJuIGFyZ3VtZW50LT50
b1N0cmluZygpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuY3BwIGIv
U291cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcAppbmRleCA4N2M3ZmJkODhmNjc4NjM2NGNkODRm
NGIyYzQ1NjIyZWUzNDFlNDA2Li5iNzJjZWM3ZjJlNGUzZDJmYWZjNWYwNGQ4ODA3MTU5MjAyYjUz
YmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUuY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL01lZGlhVGltZS5jcHAKQEAgLTU5Myw3ICs1OTMsNyBAQCBTdHJpbmcgTWVkaWFU
aW1lOjp0b1N0cmluZygpIGNvbnN0CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fdGlt
ZVNjYWxlKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCIgPSAiKTsKICAgICB9Ci0g
ICAgYnVpbGRlci5hcHBlbmROdW1iZXIodG9Eb3VibGUoKSk7CisgICAgYnVpbGRlci5hcHBlbmRG
aXhlZFByZWNpc2lvbk51bWJlcih0b0RvdWJsZSgpKTsKICAgICBidWlsZGVyLmFwcGVuZCgnfScp
OwogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1ZhbHVlVG9TdHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvVmFsdWVU
b1N0cmluZy5oCmluZGV4IDdhMzk2YTYzNGU2NWZkNTBiMzNmYjI5Mzk0YzM5NmU1YWFlNDQwNjcu
LmMxZWY5OTNkNGIyNWYyZWU1NzNjN2FmOGZmZjU2MGUxZTdmYzU5NzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvVmFsdWVUb1N0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvVmFsdWVUb1N0cmluZy5oCkBAIC0zNSwyMiArMzUsMTggQEAKIAogbmFtZXNwYWNlIFdURiB7
CiAKLXRlbXBsYXRlPGNsYXNzIFQ+Ci1zdHJ1Y3QgVmFsdWVUb1N0cmluZzsKK3RlbXBsYXRlPHR5
cGVuYW1lPiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIAotdGVtcGxhdGUgPD4KLXN0cnVjdCBWYWx1
ZVRvU3RyaW5nPGludD4gewotICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0IGludCB2YWx1
ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9Cit0ZW1wbGF0ZTw+IHN0cnVjdCBW
YWx1ZVRvU3RyaW5nPGludD4geworICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGludCB2YWx1ZSkg
eyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9CiB9OwogCi10ZW1wbGF0ZSA8Pgotc3Ry
dWN0IFZhbHVlVG9TdHJpbmc8ZmxvYXQ+IHsKLSAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25z
dCBmbG9hdCB2YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9Cit0ZW1wbGF0
ZTw+IHN0cnVjdCBWYWx1ZVRvU3RyaW5nPGZsb2F0PiB7CisgICAgc3RhdGljIFN0cmluZyBzdHJp
bmcoZmxvYXQgdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNp
c2lvbih2YWx1ZSk7IH0KIH07CiAKLXRlbXBsYXRlIDw+Ci1zdHJ1Y3QgVmFsdWVUb1N0cmluZzxk
b3VibGU+IHsKLSAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBkb3VibGUgdmFsdWUpIHsg
cmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVlKTsgfQordGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVU
b1N0cmluZzxkb3VibGU+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhkb3VibGUgdmFsdWUp
IHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih2YWx1ZSk7IH0K
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCBkNmZmMGE1N2Qx
MmNiNmE1NGUwNWU3YTFkNjcyYmNhMDJmMTRkYjY5Li5jNzZjNzdlYjMxMTBiMDg4M2Q4ZjhlNDY5
MTBmZjBiZmU0ZGRlYzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAg
dm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFsdWVCeVN0ZXAoYm9vbCBpbmNy
ZWFzZSkKIAogICAgIHZhbHVlICs9IGluY3JlYXNlID8gc3RlcCA6IC1zdGVwOwogCi0gICAgc2V0
VmFsdWUoU3RyaW5nOjpudW1iZXIodmFsdWUpKTsKKyAgICBzZXRWYWx1ZShTdHJpbmc6Om51bWJl
clRvU3RyaW5nRml4ZWRQcmVjaXNpb24odmFsdWUpKTsKIAogICAgIGF4T2JqZWN0Q2FjaGUoKS0+
cG9zdE5vdGlmaWNhdGlvbihub2RlKCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsK
IH0KQEAgLTExMTAsMTEgKzExMTAsMTEgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6
Y2hhbmdlVmFsdWVCeVBlcmNlbnQoZmxvYXQgcGVyY2VudENoYW5nZSkKICAgICBmbG9hdCB2YWx1
ZSA9IHZhbHVlRm9yUmFuZ2UoKTsKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgc3BlY2lmaWVkIHBl
cmNlbnQgd2lsbCBjYXVzZSBhIGNoYW5nZSBvZiBvbmUgaW50ZWdlciBzdGVwIG9yIGxhcmdlci4K
LSAgICBpZiAoZmFicyhzdGVwKSA8IDEpCi0gICAgICAgIHN0ZXAgPSBmYWJzKHBlcmNlbnRDaGFu
Z2UpICogKDEgLyBwZXJjZW50Q2hhbmdlKTsKKyAgICBpZiAoc3RkOjphYnMoc3RlcCkgPCAxKQor
ICAgICAgICBzdGVwID0gc3RkOjphYnMocGVyY2VudENoYW5nZSkgKiAoMSAvIHBlcmNlbnRDaGFu
Z2UpOwogCiAgICAgdmFsdWUgKz0gc3RlcDsKLSAgICBzZXRWYWx1ZShTdHJpbmc6Om51bWJlcih2
YWx1ZSkpOworICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lv
bih2YWx1ZSkpOwogCiAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKG5vZGUo
KSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHAKaW5kZXgg
MTkxOWM1Zjk2MmQxMjkyNDVmZTBjYjQ2MDdkZGI1OTY1MWZkMzY4NC4uMzJlZWEyYzRiOWExODY3
MzY4OGU2OGNkZTc2ZDI4YWQzNWVkZTFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuY3BwCkBAIC05OCw3ICs5OCw3
IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVNjcm9sbGJhcjo6c2V0VmFsdWUoZmxvYXQgdmFsdWUpCiAg
ICAgICAgIHJldHVybjsKICAgICAKICAgICBmbG9hdCBuZXdWYWx1ZSA9IHZhbHVlICogbV9zY3Jv
bGxiYXItPm1heGltdW0oKTsKLSAgICBpZiAoZGlzcGF0Y2hBY2Nlc3NpYmxlU2V0VmFsdWVFdmVu
dChTdHJpbmc6Om51bWJlcihuZXdWYWx1ZSkpKQorICAgIGlmIChkaXNwYXRjaEFjY2Vzc2libGVT
ZXRWYWx1ZUV2ZW50KFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbihuZXdWYWx1
ZSkpKQogICAgICAgICByZXR1cm47CiAgICAgbV9zY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCku
c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKG1fc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigp
LCBuZXdWYWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFZh
cmlhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250VmFyaWF0aW9uVmFs
dWUuY3BwCmluZGV4IDcyZGRjMWExNzM3ODIxZTE3MDViOTFmMDdhOTdmZWI5YTc5YzFkYzIuLjlm
Y2QwYjE2NjFjZDJiOGE0MTBlOTQ3NTgxMDJhMjEyNGZlNmY3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250VmFyaWF0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250VmFyaWF0aW9uVmFsdWUuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIFN0cmlu
ZyBDU1NGb250VmFyaWF0aW9uVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAogICAgIGZvciAo
Y2hhciBjIDogbV90YWcpCiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGMpOwogICAgIGJ1aWxkZXIu
YXBwZW5kTGl0ZXJhbCgiXCIgIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV92YWx1ZSk7
CisgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3ZhbHVlKTsKICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHAKaW5kZXggODk4YjFlMmU3NGFkN2VjMjE3Nzc1ZWRjNmFmZmRiZGQ2MmRiNTJk
Yi4uNmIwZjkxZDIyMWEzNjkxOWYxMmUxYmUwMGIxMjYwMmUyM2RmMmE3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAtNjkzLDcgKzY5Myw3IEBAIFN0cmluZyBD
U1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKICAgICAgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCcpJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJjb2xvci1zdG9wKCIpOwotICAgICAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmROdW1iZXIocG9zaXRpb24pOworICAgICAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihwb3NpdGlvbik7CiAgICAgICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZExpdGVyYWwoIiwgIik7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZChzdG9wLm1fY29sb3ItPmNzc1RleHQoKSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZCgnKScpOwpAQCAtOTc0LDcgKzk3NCw3IEBAIFN0cmluZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjdXN0b21DU1NUZXh0KCkgY29uc3QKICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcp
Jyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRM
aXRlcmFsKCJjb2xvci1zdG9wKCIpOwotICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmROdW1i
ZXIocG9zaXRpb24pOworICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcihwb3NpdGlvbik7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
IiwgIik7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdG9wLm1fY29sb3ItPmNzc1Rl
eHQoKSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1lUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTS2V5ZnJhbWVSdWxlLmNwcAppbmRleCA4MWU5OTU4YmZhZTA1OTFlZGIzMzQwZDNlYmQy
NmUzNjMzNzI1NDk4Li45ZGQ1OTM4ODcyMTBiNzhmOTU3NGY3YWYyMDk1MTk0YWFhY2YyMTA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmNwcApAQCAtNjMsNyArNjMsNyBAQCBT
dHJpbmcgU3R5bGVSdWxlS2V5ZnJhbWU6OmtleVRleHQoKSBjb25zdAogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbV9rZXlzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmIChpKQogICAgICAg
ICAgICAga2V5VGV4dC5hcHBlbmQoJywnKTsKLSAgICAgICAga2V5VGV4dC5hcHBlbmROdW1iZXIo
bV9rZXlzLmF0KGkpICogMTAwKTsKKyAgICAgICAga2V5VGV4dC5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcihtX2tleXMuYXQoaSkgKiAxMDApOwogICAgICAgICBrZXlUZXh0LmFwcGVuZCgnJScp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0
aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUu
Y3BwCmluZGV4IDJkZDYxOTU3ZTMzYWIzN2UyNzAyMmQ1MjgzOWQ3ZDVjNjI0ZjgzODcuLjY1YmFl
ODFmNGJjZDY2YzJmNWEzN2UwNDk3NDJjMmYwN2FiNWNkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAKQEAgLTM0LDEzICszNCwxMyBAQCBTdHJp
bmcgQ1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29u
c3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgYnVpbGRlci5hcHBlbmRMaXRl
cmFsKCJjdWJpYy1iZXppZXIoIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV94MSk7Cisg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3gxKTsKICAgICBidWlsZGVy
LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV95MSk7Cisg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3kxKTsKICAgICBidWlsZGVy
LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV94Mik7Cisg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3gyKTsKICAgICBidWlsZGVy
LmFwcGVuZExpdGVyYWwoIiwgIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV95Mik7Cisg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3kyKTsKICAgICBidWlsZGVy
LmFwcGVuZCgnKScpOyAgICAKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogfQpAQCAt
NzEsMTMgKzcxLDEzIEBAIFN0cmluZyBDU1NTcHJpbmdUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0
b21DU1NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgYnVp
bGRlci5hcHBlbmRMaXRlcmFsKCJzcHJpbmcoIik7Ci0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIo
bV9tYXNzKTsKKyAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKG1fbWFzcyk7
CiAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX3N0
aWZmbmVzcyk7CisgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX3N0aWZm
bmVzcyk7CiAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICBidWlsZGVyLmFwcGVuZE51bWJl
cihtX2RhbXBpbmcpOworICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIobV9k
YW1waW5nKTsKICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgIGJ1aWxkZXIuYXBwZW5kTnVt
YmVyKG1faW5pdGlhbFZlbG9jaXR5KTsKKyAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9u
TnVtYmVyKG1faW5pdGlhbFZlbG9jaXR5KTsKICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwogICAg
IHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCmluZGV4IGExMTM1YWE4MjBlZjg4MTc0YTdjYmI0NWMyOTc5
NTM2YjYzMjkwOTUuLmJmNjljZDRkM2YwMTE0ZmI3NTI2ZWNmYzU4YzE5ZjZhYzM3NzBmNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCkBAIC00MTks
MTUgKzQxOSwxNSBAQCB2b2lkIENTU1BhcnNlclRva2VuOjpzZXJpYWxpemUoU3RyaW5nQnVpbGRl
ciYgYnVpbGRlcikgY29uc3QKICAgICAgICAgLy8gVGhlc2Ugd29uJ3QgcHJvcGVybHkgcHJlc2Vy
dmUgdGhlIE51bWVyaWNWYWx1ZVR5cGUgZmxhZwogICAgICAgICBpZiAobV9udW1lcmljU2lnbiA9
PSBQbHVzU2lnbikKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcrJyk7Ci0gICAgICAgIGJ1
aWxkZXIuYXBwZW5kTnVtYmVyKG51bWVyaWNWYWx1ZSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBl
bmRGaXhlZFByZWNpc2lvbk51bWJlcihudW1lcmljVmFsdWUoKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUGVyY2VudGFnZVRva2VuOgotICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihu
dW1lcmljVmFsdWUoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1i
ZXIobnVtZXJpY1ZhbHVlKCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnJScpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIERpbWVuc2lvblRva2VuOgogICAgICAgICAvLyBUaGlzIHdpbGwg
aW5jb3JyZWN0bHkgc2VyaWFsaXplIGUuZy4gNGUzZTIgYXMgNDAwMGUyCi0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kTnVtYmVyKG51bWVyaWNWYWx1ZSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRG
aXhlZFByZWNpc2lvbk51bWJlcihudW1lcmljVmFsdWUoKSk7CiAgICAgICAgIHNlcmlhbGl6ZUlk
ZW50aWZpZXIodmFsdWUoKS50b1N0cmluZygpLCBidWlsZGVyKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBVbmljb2RlUmFuZ2VUb2tlbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwCmluZGV4IDVjYzhiMzk5ZmYwOGUyZmQyNmM0NmJkMTEyM2UzYjg4NmY1OWE3ZjAu
LjgxYTkyZTU3ZWU3ZWIyMDJiYjhlMTEzM2UyMDkxZjI2NzQ0MGEyN2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNTUxLDcgKzU1MSw3IEBAIFN0cmluZyBI
VE1MSW1hZ2VFbGVtZW50Ojpjb21wbGV0ZVVSTHNJbkF0dHJpYnV0ZVZhbHVlKGNvbnN0IFVSTCYg
YmFzZSwgY29uc3QgQXR0CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKFVSTChiYXNlLCBjYW5k
aWRhdGUuc3RyaW5nLnRvU3RyaW5nKCkpLnN0cmluZygpKTsKICAgICAgICAgICAgIGlmIChjYW5k
aWRhdGUuZGVuc2l0eSAhPSBVbmluaXRpYWxpemVkRGVzY3JpcHRvcikgewogICAgICAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kTnVt
YmVyKGNhbmRpZGF0ZS5kZW5zaXR5KTsKKyAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kRml4
ZWRQcmVjaXNpb25OdW1iZXIoY2FuZGlkYXRlLmRlbnNpdHkpOwogICAgICAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoJ3gnKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjYW5kaWRh
dGUucmVzb3VyY2VXaWR0aCAhPSBVbmluaXRpYWxpemVkRGVzY3JpcHRvcikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDliYWQ5YzM5NzJj
OThiNjg1MDMzY2RiMGM0MDA2OTc1NTJhZjAzZTQuLmMxYmI1NWFiM2U3YjE0OGUyNzIxMjA1OGM2
ZTY5MWI4N2U0OGRiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHAKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OmRy
YXdSdWxlcnMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KQogCiAgICAgICAgICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0U3RhdGVTYXZlciB2ZXJ0aWNhbExhYmVsU3RhdGVTYXZlcihjb250ZXh0KTsK
ICAgICAgICAgICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZSh6b29tKHgpICsgMC41Ziwgc2Nyb2xs
WSk7Ci0gICAgICAgICAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250LCBUZXh0UnVuKFN0cmlu
Zzo6bnVtYmVyKHgpKSwgeyAyLCBydWxlckxhYmVsU2l6ZSB9KTsKKyAgICAgICAgICAgICAgICBj
b250ZXh0LmRyYXdUZXh0KGZvbnQsIFRleHRSdW4oU3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVk
UHJlY2lzaW9uKHgpKSwgeyAyLCBydWxlckxhYmVsU2l6ZSB9KTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgZm9yIChmbG9hdCB5ID0gbXVsdGlwbGVCZWxvdyhtaW5ZLCBydWxlclN0ZXBJ
bmNyZW1lbnQgKiAyKTsgeSA8IG1heFk7IHkgKz0gcnVsZXJTdGVwSW5jcmVtZW50ICogMikgewpA
QCAtNzkyLDcgKzc5Miw3IEBAIHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6ZHJhd1J1bGVycyhHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3Rh
dGVTYXZlciBob3Jpem9udGFsTGFiZWxTdGF0ZVNhdmVyKGNvbnRleHQpOwogICAgICAgICAgICAg
ICAgIGNvbnRleHQudHJhbnNsYXRlKHNjcm9sbFgsIHpvb20oeSkgKyAwLjVmKTsKICAgICAgICAg
ICAgICAgICBjb250ZXh0LnJvdGF0ZSgtcGlPdmVyVHdvRmxvYXQpOwotICAgICAgICAgICAgICAg
IGNvbnRleHQuZHJhd1RleHQoZm9udCwgVGV4dFJ1bihTdHJpbmc6Om51bWJlcih5KSksIHsgMiwg
cnVsZXJMYWJlbFNpemUgfSk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250
LCBUZXh0UnVuKFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih5KSksIHsgMiwg
cnVsZXJMYWJlbFNpemUgfSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAKaW5kZXgg
OGZlNWRkMDg0NWFhY2VmNzA5OGU1OWViNzJiYTdjYmQxNjZkN2Y5Ny4uOTQ1OTc3NmVlYThiNzU2
Yjg4YjEyYzYyMTM0NDJmNmJiYTQ0NDYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmNwcApAQCAtNDEyLDE0ICs0MTIsMTQgQEAgU3RyaW5n
IFJlc291cmNlTG9hZFN0YXRpc3RpY3M6OnRvU3RyaW5nKCkgY29uc3QKICAgICBidWlsZGVyLmFw
cGVuZChyZWdpc3RyYWJsZURvbWFpbi5zdHJpbmcoKSk7CiAgICAgYnVpbGRlci5hcHBlbmQoJ1xu
Jyk7CiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCIgICAgbGFzdFNlZW46ICIpOwotICAgIGJ1
aWxkZXIuYXBwZW5kTnVtYmVyKGxhc3RTZWVuLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSk7
CisgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihsYXN0U2Vlbi5zZWNvbmRz
U2luY2VFcG9jaCgpLnZhbHVlKCkpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwogICAgIAog
ICAgIC8vIFVzZXIgaW50ZXJhY3Rpb24KICAgICBhcHBlbmRCb29sZWFuKGJ1aWxkZXIsICJoYWRV
c2VySW50ZXJhY3Rpb24iLCBoYWRVc2VySW50ZXJhY3Rpb24pOwogICAgIGJ1aWxkZXIuYXBwZW5k
KCdcbicpOwogICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiICAgIG1vc3RSZWNlbnRVc2VySW50
ZXJhY3Rpb246ICIpOwotICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1vc3RSZWNlbnRVc2VySW50
ZXJhY3Rpb25UaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSk7CisgICAgYnVpbGRlci5h
cHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtb3N0UmVjZW50VXNlckludGVyYWN0aW9uVGltZS5z
ZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwog
ICAgIGFwcGVuZEJvb2xlYW4oYnVpbGRlciwgImdyYW5kZmF0aGVyZWQiLCBncmFuZGZhdGhlcmVk
KTsKICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUHJpbnRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0
LmNwcAppbmRleCAyYzBiZTQ2NWFiZTlhNWExMGNlMjg1YjY4NmNlM2MxYWZlMzUzZGY2Li5hM2Y5
MDBmNjg4NjlkNGM4N2EwOTllZDhjNDkzYTdmMTQ3NmFiMzhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
cmludENvbnRleHQuY3BwCkBAIC0zMjYsMTAgKzMyNiwxMCBAQCBTdHJpbmcgUHJpbnRDb250ZXh0
OjpwYWdlUHJvcGVydHkoRnJhbWUqIGZyYW1lLCBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIGlu
dCBwYQogICAgIGlmICghc3RyY21wKHByb3BlcnR5TmFtZSwgIm1hcmdpbi1sZWZ0IikpIHsKICAg
ICAgICAgaWYgKHN0eWxlLT5tYXJnaW5MZWZ0KCkuaXNBdXRvKCkpCiAgICAgICAgICAgICByZXR1
cm4gImF1dG8iX3M7Ci0gICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihzdHlsZS0+bWFyZ2lu
TGVmdCgpLnZhbHVlKCkpOworICAgICAgICByZXR1cm4gU3RyaW5nOjpudW1iZXJUb1N0cmluZ0Zp
eGVkUHJlY2lzaW9uKHN0eWxlLT5tYXJnaW5MZWZ0KCkudmFsdWUoKSk7CiAgICAgfQogICAgIGlm
ICghc3RyY21wKHByb3BlcnR5TmFtZSwgImxpbmUtaGVpZ2h0IikpCi0gICAgICAgIHJldHVybiBT
dHJpbmc6Om51bWJlcihzdHlsZS0+bGluZUhlaWdodCgpLnZhbHVlKCkpOworICAgICAgICByZXR1
cm4gU3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uKHN0eWxlLT5saW5lSGVpZ2h0
KCkudmFsdWUoKSk7CiAgICAgaWYgKCFzdHJjbXAocHJvcGVydHlOYW1lLCAiZm9udC1zaXplIikp
CiAgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCku
Y29tcHV0ZWRQaXhlbFNpemUoKSk7CiAgICAgaWYgKCFzdHJjbXAocHJvcGVydHlOYW1lLCAiZm9u
dC1mYW1pbHkiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3Vy
Y2VVc2FnZU92ZXJsYXlDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3Vy
Y2VVc2FnZU92ZXJsYXlDb2NvYS5tbQppbmRleCA1NmI2NWQ2ZDFiYWY4MGFjNzZmNTEwZmQ1ZTNj
YjJiNDUwNTZkMGFlLi4wYzhkMjkzNjljNDFhZmRlYzRmYjI1YmMyM2I1ZDFmNWJmNTc1ZWVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VPdmVybGF5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3Zl
cmxheUNvY29hLm1tCkBAIC00MzksNyArNDM5LDcgQEAgc3RhdGljIFN0cmluZyBnY1RpbWVyU3Ry
aW5nKE1vbm90b25pY1RpbWUgdGltZXJGaXJlRGF0ZSwgTW9ub3RvbmljVGltZSBub3cpCiB7CiAg
ICAgaWYgKHN0ZDo6aXNuYW4odGltZXJGaXJlRGF0ZSkpCiAgICAgICAgIHJldHVybiAiW25vdCBz
Y2hlZHVsZWRdIl9zOwotICAgIHJldHVybiBTdHJpbmc6Om51bWJlcigodGltZXJGaXJlRGF0ZSAt
IG5vdykuc2Vjb25kcygpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVk
UHJlY2lzaW9uKCh0aW1lckZpcmVEYXRlIC0gbm93KS5zZWNvbmRzKCkpOwogfQogCiB2b2lkIFJl
c291cmNlVXNhZ2VPdmVybGF5OjpwbGF0Zm9ybURyYXcoQ0dDb250ZXh0UmVmIGNvbnRleHQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKaW5kZXggYzU2OWQ4NWExYTNiZjY5MDhiMjg5
ZmYyYzYyNzEyMWQyMzAwZTdmZS4uOGU2MDVlZGMyZWE3NTcwZDBjOTU5YjIyYjJiMzA2ZjlhOTNh
NmVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtODMzLDEyICs4MzMs
MTQgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IiIiBfbHUodW5zaWduZWQgbG9uZyBsb25n
IHZhbHVlKQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjaWZuZGVmIE5ERUJVRworCiBuYW1l
c3BhY2UgV1RGIHsKKwogLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBieSBQT0RJbnRlcnZhbFRy
ZWUgZm9yIGRlYnVnZ2luZy4KLXRlbXBsYXRlIDw+Ci1zdHJ1Y3QgVmFsdWVUb1N0cmluZzxXZWJD
b3JlOjpMYXlvdXRVbml0PiB7Ci0gICAgc3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgV2ViQ29y
ZTo6TGF5b3V0VW5pdCB2YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUudG9GbG9h
dCgpKTsgfQordGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzxXZWJDb3JlOjpMYXlvdXRV
bml0PiB7CisgICAgc3RhdGljIFN0cmluZyBzdHJpbmcoV2ViQ29yZTo6TGF5b3V0VW5pdCB2YWx1
ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uKHZhbHVlLnRv
RmxvYXQoKSk7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgorCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAppbmRleCA5M2E0ODllMTA1MWJjYTFj
NWY5M2M1MWFhNjA2MzRmNWUwODQ3MDM0Li42ODBhOWNiNjZlN2E1OGNiMzk5OWYzMDQ1MmJlMzVi
MWMzNzU3NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3Bw
CkBAIC0zNzcsNyArMzc3LDcgQEAgU3RyaW5nIENvbG9yOjpjc3NUZXh0KCkgY29uc3QKICAgICBi
dWlsZGVyLmFwcGVuZE51bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihibHVlKCkpKTsK
ICAgICBpZiAoY29sb3JIYXNBbHBoYSkgewogICAgICAgICBidWlsZGVyLmFwcGVuZExpdGVyYWwo
IiwgIik7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGFscGhhKCkgLyAyNTUuMGYpOwor
ICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKGFscGhhKCkgLyAyNTUu
MGYpOwogICAgIH0KICAgICAgICAgCiAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuZGVkQ29sb3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5kZWRDb2xvci5jcHAKaW5kZXgg
ZmMyN2MwODBlNzM5MjM0Zjk2NDYyNTJkMjljMzRkMjI3ZDNlOThlYS4uMmEzYzgzZTUzZWNmYzY3
MDY3ODQ3Mzk5ZTYxNTlhZDliZWQzNGIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRXh0ZW5kZWRDb2xvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRXh0ZW5kZWRDb2xvci5jcHAKQEAgLTU2LDE2ICs1NiwxNiBAQCBTdHJp
bmcgRXh0ZW5kZWRDb2xvcjo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBXVEY6OmVt
cHR5U3RyaW5nKCk7CiAgICAgfQogCi0gICAgYnVpbGRlci5hcHBlbmROdW1iZXIocmVkKCkpOwor
ICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIocmVkKCkpOwogICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7CiAKLSAgICBidWlsZGVyLmFwcGVuZE51bWJlcihncmVlbigpKTsKKyAg
ICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKGdyZWVuKCkpOwogICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7CiAKLSAgICBidWlsZGVyLmFwcGVuZE51bWJlcihibHVlKCkpOworICAg
IGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIoYmx1ZSgpKTsKICAgICBpZiAoIVdU
Rjo6YXJlRXNzZW50aWFsbHlFcXVhbChhbHBoYSgpLCAxLjBmKSkgewogICAgICAgICBidWlsZGVy
LmFwcGVuZExpdGVyYWwoIiAvICIpOwotICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihhbHBo
YSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihhbHBoYSgp
KTsKICAgICB9CiAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
Z2xlVmFsdWUuY3BwCmluZGV4IDkxZjE1ZjY3MjcyZjlkMDUwNmVlZmE2ZWIxMTJjZWNiNTE2MTQx
OTcuLjFlYTI4NWZiNmY0ZTVhOGNhODk3ZTQwYjRmNjdhZjBiZDc2ZjM3YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5nbGVWYWx1ZS5jcHAKQEAgLTczLDcgKzczLDcgQEAgU3RyaW5nIFNWR0FuZ2xl
VmFsdWU6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhG
b3JtYXR0ZWROdW1iZXI6OmZpeGVkUHJlY2lzaW9uKG1fdmFsdWVJblNwZWNpZmllZFVuaXRzKSwg
ImdyYWQiKTsKICAgICBjYXNlIFNWR19BTkdMRVRZUEVfVU5TUEVDSUZJRUQ6CiAgICAgY2FzZSBT
VkdfQU5HTEVUWVBFX1VOS05PV046Ci0gICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihtX3Zh
bHVlSW5TcGVjaWZpZWRVbml0cyk7CisgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlclRvU3Ry
aW5nRml4ZWRQcmVjaXNpb24obV92YWx1ZUluU3BlY2lmaWVkVW5pdHMpOwogICAgIH0KIAogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R051bWJlckxpc3RWYWx1ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3RW
YWx1ZXMuY3BwCmluZGV4IDZkZmQ5OTNiMmI0YWQ4N2JiMGIwZGNmNjI2N2YzMjJiNTMyNjU5ODku
LmM5NzM2OGJlOTRkOWRmYzM3N2UxMjM2NDNmOWYyZjQ0MmRhM2Q0ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTnVtYmVyTGlzdFZhbHVlcy5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgU3RyaW5n
IFNWR051bWJlckxpc3RWYWx1ZXM6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogICAgICAgICBpZiAo
aSA+IDApCiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwogCi0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kTnVtYmVyKGF0KGkpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNp
c2lvbk51bWJlcihhdChpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmco
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU3RyaW5nQnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFN0cmluZ0J1aWxkZXIuY3BwCmluZGV4IDEw
NTM5MWNmODY2NzIyZGQ5Y2JmYjlmZWYxMWRjNTMxM2UxZDAxM2EuLmE4MzJiOWZkZDdkMjc4Njdl
MjlmN2FjYzExNTJiYTI3ZjgxODQ1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU3RyaW5nQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
dHJpbmdCdWlsZGVyLmNwcApAQCAtNTcsMTUgKzU3LDE1IEBAIHN0YXRpYyB2b2lkIGFwcGVuZEZs
YWcoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgYm9vbCBmbGFnKQogCiBzdGF0aWMgdm9p
ZCBhcHBlbmROdW1iZXIoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgZmxvYXQgbnVtYmVy
KQogewotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kTnVtYmVyKG51bWJlcik7CisgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihudW1iZXIpOwogICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcgJyk7CiB9CiAKIHN0YXRpYyB2b2lkIGFwcGVuZFBvaW50KFN0cmluZ0J1
aWxkZXImIHN0cmluZ0J1aWxkZXIsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQogewotICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kTnVtYmVyKHBvaW50LngoKSk7CisgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihwb2ludC54KCkpOwogICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCcgJyk7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBlbmROdW1iZXIocG9pbnQueSgpKTsK
KyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHBvaW50LnkoKSk7
CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyAnKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUG9pbnRMaXN0VmFsdWVzLmNwcAppbmRleCBkODFlNmEyMzc2ZWUwYWI2ODBkODhmYTNiMTQy
OTFkNzUyNDdmYTM5Li5hZTY2YTI3ZmQxYTE0YTYzZGRlNGUyM2Q5N2JhZTgwN2VkNzliODYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0VmFsdWVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0VmFsdWVzLmNwcApAQCAtMzYsOSArMzYs
OSBAQCBTdHJpbmcgU1ZHUG9pbnRMaXN0VmFsdWVzOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7IC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UgdXNl
IGNvbW1hcyB0byBzZXBlcmF0ZT8KIAogICAgICAgICBjb25zdCBhdXRvJiBwb2ludCA9IGF0KGkp
OwotICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihwb2ludC54KCkpOworICAgICAgICBidWls
ZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHBvaW50LngoKSk7CiAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKHBvaW50LnkoKSk7
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIocG9pbnQueSgpKTsK
ICAgICB9CiAKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUcmFuc2Zvcm1WYWx1ZS5jcHAKaW5kZXggNjNkNDVhNWM2NGZlNGM2ZDliMDdlZTIzNDAz
ZDhhZWI2YTY3Yzk5Zi4uYTYxNGFjMmU3M2ViMTFhYjE0ODE1ODQwMzdhNmY0MDlkZjc0NDMzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybVZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtVmFsdWUuY3BwCkBAIC0xNjcsMzUgKzE2
NywzNSBAQCBTdHJpbmcgU1ZHVHJhbnNmb3JtVmFsdWU6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAog
ICAgIGNhc2UgU1ZHX1RSQU5TRk9STV9NQVRSSVg6IHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBi
dWlsZGVyOwogICAgICAgICBidWlsZGVyLmFwcGVuZChwcmVmaXgpOwotICAgICAgICBidWlsZGVy
LmFwcGVuZE51bWJlcihtX21hdHJpeC5hKCkpOworICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVk
UHJlY2lzaW9uTnVtYmVyKG1fbWF0cml4LmEoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fbWF0cml4LmIoKSk7CisgICAgICAg
IGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIobV9tYXRyaXguYigpKTsKICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9t
YXRyaXguYygpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlciht
X21hdHJpeC5jKCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWls
ZGVyLmFwcGVuZE51bWJlcihtX21hdHJpeC5kKCkpOworICAgICAgICBidWlsZGVyLmFwcGVuZEZp
eGVkUHJlY2lzaW9uTnVtYmVyKG1fbWF0cml4LmQoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fbWF0cml4LmUoKSk7CisgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIobV9tYXRyaXguZSgpKTsKICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIo
bV9tYXRyaXguZigpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJl
cihtX21hdHJpeC5mKCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwogICAgICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogICAgIH0KICAgICBjYXNlIFNWR19UUkFOU0ZPUk1f
VFJBTlNMQVRFOiB7CiAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgYnVp
bGRlci5hcHBlbmQocHJlZml4KTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9tYXRy
aXguZSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX21h
dHJpeC5lKCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVy
LmFwcGVuZE51bWJlcihtX21hdHJpeC5mKCkpOworICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVk
UHJlY2lzaW9uTnVtYmVyKG1fbWF0cml4LmYoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcp
Jyk7CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQogICAgIGNhc2Ug
U1ZHX1RSQU5TRk9STV9TQ0FMRTogewogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKHByZWZpeCk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVt
YmVyKG1fbWF0cml4LnhTY2FsZSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNp
c2lvbk51bWJlcihtX21hdHJpeC54U2NhbGUoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fbWF0cml4LnlTY2FsZSgpKTsKKyAg
ICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX21hdHJpeC55U2NhbGUo
KSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIHJldHVybiBidWlsZGVy
LnRvU3RyaW5nKCk7CiAgICAgfQpAQCAtMjA3LDEyICsyMDcsMTIgQEAgU3RyaW5nIFNWR1RyYW5z
Zm9ybVZhbHVlOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKICAgICAgICAgZmxvYXQgY3kgPSBuYXJy
b3dQcmVjaXNpb25Ub0Zsb2F0KGNvc0FuZ2xlICE9IDEgPyAobV9tYXRyaXguZSgpICogc2luQW5n
bGUgLyAoMSAtIGNvc0FuZ2xlKSArIG1fbWF0cml4LmYoKSkgLyAyIDogMCk7CiAgICAgICAgIFN0
cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgYnVpbGRlci5hcHBlbmQocHJlZml4KTsKLSAg
ICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9hbmdsZSk7CisgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIobV9hbmdsZSk7CiAgICAgICAgIGlmIChjeCB8fCBjeSkg
ewogICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kTnVtYmVyKGN4KTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNp
b25OdW1iZXIoY3gpOwogICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGN5KTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
Rml4ZWRQcmVjaXNpb25OdW1iZXIoY3kpOwogICAgICAgICB9CiAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CkBAIC0yMjEsNyAr
MjIxLDcgQEAgU3RyaW5nIFNWR1RyYW5zZm9ybVZhbHVlOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QK
ICAgICBjYXNlIFNWR19UUkFOU0ZPUk1fU0tFV1k6IHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBi
dWlsZGVyOwogICAgICAgICBidWlsZGVyLmFwcGVuZChwcmVmaXgpOwotICAgICAgICBidWlsZGVy
LmFwcGVuZE51bWJlcihtX2FuZ2xlKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNp
c2lvbk51bWJlcihtX2FuZ2xlKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAg
ICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaAppbmRleCBkZmZmOTQyMGNkNmY2
ODdiOGNhMmM5MWE4NWE1NmRlYWQxODJmZjExLi5iYjgzZTc3ZDM2NGRkZDU0MWMzZDFjZDRiMTlk
NGIzMjM4Yjg5YzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eVRyYWl0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5VHJhaXRzLmgKQEAgLTEwMyw3ICsxMDMsNyBAQCBzdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8ZmxvYXQ+IHsKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAg
IHJldHVybiBudW1iZXI7CiAgICAgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoZmxvYXQg
dHlwZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KKyAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKGZsb2F0IHR5cGUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhl
ZFByZWNpc2lvbih0eXBlKTsgfQogfTsKIAogdGVtcGxhdGU8PgpAQCAtMTQwLDkgKzE0MCw5IEBA
IHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50PiB7CiAgICAgc3RhdGljIFN0cmlu
ZyB0b1N0cmluZyhjb25zdCBGbG9hdFBvaW50JiB0eXBlKQogICAgIHsKICAgICAgICAgU3RyaW5n
QnVpbGRlciBidWlsZGVyOwotICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcih0eXBlLngoKSk7
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS54KCkpOwog
ICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJl
cih0eXBlLnkoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIo
dHlwZS55KCkpOwogICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogICAgIH0KIH07
CkBAIC0xNjcsMTMgKzE2NywxMyBAQCBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRSZWN0
PiB7CiAgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFJlY3QmIHR5cGUpCiAg
ICAgewogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGJ1aWxkZXIuYXBw
ZW5kTnVtYmVyKHR5cGUueCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcih0eXBlLngoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAg
IGJ1aWxkZXIuYXBwZW5kTnVtYmVyKHR5cGUueSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRG
aXhlZFByZWNpc2lvbk51bWJlcih0eXBlLnkoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKHR5cGUud2lkdGgoKSk7CisgICAgICAg
IGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS53aWR0aCgpKTsKICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIodHlw
ZS5oZWlnaHQoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIo
dHlwZS5oZWlnaHQoKSk7CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiAgICAg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA3MzBjNjFmMTJiZDBh
NWFhNTI1NjRhMjkzNWFhYzdlZDVhZDhkNzQ2Li5kMzlmNTQxNGMwODQzNTAzMmNjMDM4NDM3YWEy
NzJlNWQ1OWVmZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xNjA2
LDEzICsxNjA2LDEzIEBAIEV4Y2VwdGlvbk9yPFN0cmluZz4gSW50ZXJuYWxzOjpkdW1wTWFya2Vy
UmVjdHMoY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlU3RyaW5nKQogICAgIHJlY3RTdHJpbmcuYXBw
ZW5kTGl0ZXJhbCgibWFya2VyIHJlY3RzOiAiKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIHJlY3Qg
OiByZWN0cykgewogICAgICAgICByZWN0U3RyaW5nLmFwcGVuZCgnKCcpOwotICAgICAgICByZWN0
U3RyaW5nLmFwcGVuZE51bWJlcihyZWN0LngoKSk7CisgICAgICAgIHJlY3RTdHJpbmcuYXBwZW5k
Rml4ZWRQcmVjaXNpb25OdW1iZXIocmVjdC54KCkpOwogICAgICAgICByZWN0U3RyaW5nLmFwcGVu
ZExpdGVyYWwoIiwgIik7Ci0gICAgICAgIHJlY3RTdHJpbmcuYXBwZW5kTnVtYmVyKHJlY3QueSgp
KTsKKyAgICAgICAgcmVjdFN0cmluZy5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihyZWN0Lnko
KSk7CiAgICAgICAgIHJlY3RTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKLSAgICAgICAgcmVj
dFN0cmluZy5hcHBlbmROdW1iZXIocmVjdC53aWR0aCgpKTsKKyAgICAgICAgcmVjdFN0cmluZy5h
cHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihyZWN0LndpZHRoKCkpOwogICAgICAgICByZWN0U3Ry
aW5nLmFwcGVuZExpdGVyYWwoIiwgIik7Ci0gICAgICAgIHJlY3RTdHJpbmcuYXBwZW5kTnVtYmVy
KHJlY3QuaGVpZ2h0KCkpOworICAgICAgICByZWN0U3RyaW5nLmFwcGVuZEZpeGVkUHJlY2lzaW9u
TnVtYmVyKHJlY3QuaGVpZ2h0KCkpOwogICAgICAgICByZWN0U3RyaW5nLmFwcGVuZExpdGVyYWwo
IikgIik7CiAgICAgfQogICAgIHJldHVybiByZWN0U3RyaW5nLnRvU3RyaW5nKCk7CkBAIC0zMzI4
LDE0ICszMzI4LDE0IEBAIEV4Y2VwdGlvbk9yPFN0cmluZz4gSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbygpCiAgICAgaWYgKGN1cnNvci5pbWFnZSgpKSB7CiAgICAgICAgIEZsb2F0U2l6
ZSBzaXplID0gY3Vyc29yLmltYWdlKCktPnNpemUoKTsKICAgICAgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIiBpbWFnZT0iKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZE51bWJlcihzaXplLndpZHRo
KCkpOworICAgICAgICByZXN1bHQuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIoc2l6ZS53aWR0
aCgpKTsKICAgICAgICAgcmVzdWx0LmFwcGVuZCgneCcpOwotICAgICAgICByZXN1bHQuYXBwZW5k
TnVtYmVyKHNpemUuaGVpZ2h0KCkpOworICAgICAgICByZXN1bHQuYXBwZW5kRml4ZWRQcmVjaXNp
b25OdW1iZXIoc2l6ZS5oZWlnaHQoKSk7CiAgICAgfQogI2lmIEVOQUJMRShNT1VTRV9DVVJTT1Jf
U0NBTEUpCiAgICAgaWYgKGN1cnNvci5pbWFnZVNjYWxlRmFjdG9yKCkgIT0gMSkgewogICAgICAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHNjYWxlPSIpOwotICAgICAgICByZXN1bHQuYXBwZW5k
TnVtYmVyKGN1cnNvci5pbWFnZVNjYWxlRmFjdG9yKCksIDgpOworICAgICAgICByZXN1bHQuYXBw
ZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIoY3Vyc29yLmltYWdlU2NhbGVGYWN0b3IoKSwgOCk7CiAg
ICAgfQogI2VuZGlmCiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hQ
YXRoVmFsdWUuY3BwCmluZGV4IDA2MDUxMjEwNWNlYWViM2FmOTBjNDZlZDY4ZmU5YzhhZWU5MzAy
OGQuLmE5YzliZDM4ZWYwYjRjNDMyMDdmMDA2YzZmMmIyMDY2ZmFlNjA1NWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhWYWx1ZS5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBTdHJpbmcgVmFsdWU6OnRvU3Ry
aW5nKCkgY29uc3QKICAgICAgICAgICAgICAgICByZXR1cm4gIjAiX3M7CiAgICAgICAgICAgICBp
ZiAoc3RkOjppc2luZihtX251bWJlcikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6c2ln
bmJpdChtX251bWJlcikgPyAiLUluZmluaXR5Il9zIDogIkluZmluaXR5Il9zOwotICAgICAgICAg
ICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKG1fbnVtYmVyKTsKKyAgICAgICAgICAgIHJldHVybiBT
dHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24obV9udW1iZXIpOwogICAgICAgICBj
YXNlIEJvb2xlYW5WYWx1ZToKICAgICAgICAgICAgIHJldHVybiBtX2Jvb2wgPyAidHJ1ZSJfcyA6
ICJmYWxzZSJfczsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggYmE1YzhiMjMzODE2NWIyMzY1ZDA3NjUzYWVi
MTE4OGQ3NmY4YTY3ZC4uYTZiYTJiMmFkMGE4MGVmZmFlNmExYmY1YjcwMDNiYTgxMGY0YmRmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlLmNwcApAQCAtNTQ5LDcgKzU0OSw3IEBAIHZvaWQgQ2FjaGU6OmR1bXBDb250ZW50c1RvRmls
ZSgpCiAgICAgICAgICAgICBlcGlsb2d1ZS5hcHBlbmROdW1iZXIodG90YWxzLmJvZHlTaXplKTsK
ICAgICAgICAgICAgIGVwaWxvZ3VlLmFwcGVuZExpdGVyYWwoIixcbiIpOwogICAgICAgICAgICAg
ZXBpbG9ndWUuYXBwZW5kTGl0ZXJhbCgiXCJhdmVyYWdlV29ydGhcIjogIik7Ci0gICAgICAgICAg
ICBlcGlsb2d1ZS5hcHBlbmROdW1iZXIodG90YWxzLmNvdW50ID8gdG90YWxzLndvcnRoIC8gdG90
YWxzLmNvdW50IDogMCk7CisgICAgICAgICAgICBlcGlsb2d1ZS5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcih0b3RhbHMuY291bnQgPyB0b3RhbHMud29ydGggLyB0b3RhbHMuY291bnQgOiAwKTsK
ICAgICAgICAgICAgIGVwaWxvZ3VlLmFwcGVuZExpdGVyYWwoIlxuIik7CiAgICAgICAgICAgICBl
cGlsb2d1ZS5hcHBlbmRMaXRlcmFsKCJ9XG59XG4iKTsKICAgICAgICAgICAgIGF1dG8gd3JpdGVE
YXRhID0gZXBpbG9ndWUudG9TdHJpbmcoKS51dGY4KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCmluZGV4IGVh
N2IzZjgwNjM1ZWNhYzY2MGYyZWRjZWE2NmM4ODY0OTlkZWU0MjAuLjdhZTFjMmZlN2RjZTYwN2I5
ZjhhNTNkOTlhMWJkNzk4NTM5OWJjZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCkBAIC0yMTksMTMgKzIx
OSwxMyBAQCB2b2lkIEVudHJ5Ojphc0pTT04oU3RyaW5nQnVpbGRlciYganNvbiwgY29uc3QgU3Rv
cmFnZTo6UmVjb3JkSW5mbyYgaW5mbykgY29uc3QKICAgICBqc29uLmFwcGVuZE51bWJlcihpbmZv
LmJvZHlTaXplKTsKICAgICBqc29uLmFwcGVuZExpdGVyYWwoIixcbiIpOwogICAgIGpzb24uYXBw
ZW5kTGl0ZXJhbCgiXCJ3b3J0aFwiOiAiKTsKLSAgICBqc29uLmFwcGVuZE51bWJlcihpbmZvLndv
cnRoKTsKKyAgICBqc29uLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKGluZm8ud29ydGgpOwog
ICAgIGpzb24uYXBwZW5kTGl0ZXJhbCgiLFxuIik7CiAgICAganNvbi5hcHBlbmRMaXRlcmFsKCJc
InBhcnRpdGlvblwiOiAiKTsKICAgICBqc29uLmFwcGVuZFF1b3RlZEpTT05TdHJpbmcobV9rZXku
cGFydGl0aW9uKCkpOwogICAgIGpzb24uYXBwZW5kTGl0ZXJhbCgiLFxuIik7CiAgICAganNvbi5h
cHBlbmRMaXRlcmFsKCJcInRpbWVzdGFtcFwiOiAiKTsKLSAgICBqc29uLmFwcGVuZE51bWJlciht
X3RpbWVTdGFtcC5zZWNvbmRzU2luY2VFcG9jaCgpLm1pbGxpc2Vjb25kcygpKTsKKyAgICBqc29u
LmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKG1fdGltZVN0YW1wLnNlY29uZHNTaW5jZUVwb2No
KCkubWlsbGlzZWNvbmRzKCkpOwogICAgIGpzb24uYXBwZW5kTGl0ZXJhbCgiLFxuIik7CiAgICAg
anNvbi5hcHBlbmRMaXRlcmFsKCJcIlVSTFwiOiAiKTsKICAgICBqc29uLmFwcGVuZFF1b3RlZEpT
T05TdHJpbmcobV9yZXNwb25zZS51cmwoKS5zdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCmluZGV4IGZkMGE5NTNhZjJhZjEyMTBlOWFiZjMw
YWJlMTdjMThmNzEzZDVlYzYuLjM2NWMxMDI3MDg1NDhmMGM0MWUyNTM0M2M1OWJjYzU4MzU2ZTRl
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCkBA
IC0xMDAsNyArMTAwLDcgQEAgU3RyaW5nIEdhbWVwYWREYXRhOjpsb2dnaW5nU3RyaW5nKCkgY29u
c3QKICAgICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCIgQXhpcyAiKTsKICAgICAgICAgYnVp
bGRlci5hcHBlbmROdW1iZXIoaSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiOiAi
KTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9heGlzVmFsdWVzW2ldKTsKKyAgICAg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihtX2F4aXNWYWx1ZXNbaV0pOwog
ICAgIH0KIAogICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwpAQCAtMTA4LDcgKzEwOCw3IEBAIFN0
cmluZyBHYW1lcGFkRGF0YTo6bG9nZ2luZ1N0cmluZygpIGNvbnN0CiAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kTGl0ZXJhbCgiIEJ1dHRvbiAiKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIo
aSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKLSAgICAgICAgYnVpbGRl
ci5hcHBlbmROdW1iZXIobV9idXR0b25WYWx1ZXNbaV0pOworICAgICAgICBidWlsZGVyLmFwcGVu
ZEZpeGVkUHJlY2lzaW9uTnVtYmVyKG1fYnV0dG9uVmFsdWVzW2ldKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggY2EwZDQ5MTQ0MTZmYjk1MTQyMThlNzJmYzNmYTRiYjI5MDRiNmI4MC4u
NTZhNGVhZTA4NzRhNGFhM2RiZTg0NDFlY2U5MDMyYmM3NTMxNTQ0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02NDQxLDcgKzY0NDEsNyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdAogICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQogICAgICAgICByZXR1
cm47CiAKLSAgICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVl
KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTdHJpbmc6Om51bWJlcih2YWx1ZSwgc2lnbmlm
aWNhbnRGaWd1cmVzKSk7CisgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgU3RyaW5nOjpudW1iZXJUb1N0
cmluZ0ZpeGVkUHJlY2lzaW9uKHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMpKTsKIH0KIAogdm9p
ZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFNob3VsZFNh
bXBsZSBzaG91bGRTYW1wbGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>