<?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>93781</bug_id>
          
          <creation_ts>2012-08-12 09:58:54 -0700</creation_ts>
          <short_desc>Remove &quot;default&quot; from CSS primitive value mapping switch statements</short_desc>
          <delta_ts>2012-08-17 09:13:02 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>93921</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bruno Abinader (history only)">bruno.abinader</reporter>
          <assigned_to name="Bruno Abinader (history only)">bruno.abinader</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>693285</commentid>
    <comment_count>0</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2012-08-12 09:58:54 -0700</bug_when>
    <thetext>Removing the &quot;default&quot; switch case allows compile-time early warning check, as suggested by Julien in https://bugs.webkit.org/show_bug.cgi?id=90958#c35 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693368</commentid>
    <comment_count>1</comment_count>
      <attachid>157918</attachid>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2012-08-12 21:23:53 -0700</bug_when>
    <thetext>Created attachment 157918
Patch

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693749</commentid>
    <comment_count>2</comment_count>
      <attachid>157918</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-13 09:48:09 -0700</bug_when>
    <thetext>Comment on attachment 157918
Patch

Clearing flags on attachment: 157918

Committed r125425: &lt;http://trac.webkit.org/changeset/125425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693750</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-13 09:48:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694364</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-13 18:29:53 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 93921</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698398</commentid>
    <comment_count>5</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2012-08-17 09:13:02 -0700</bug_when>
    <thetext>Marking as fixed, as bug 93921 was marked as invalid (see link below for details):
https://bugs.webkit.org/show_bug.cgi?id=93921#c2</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157918</attachid>
            <date>2012-08-12 21:23:53 -0700</date>
            <delta_ts>2012-08-13 09:48:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93781-20120813002321.patch</filename>
            <type>text/plain</type>
            <size>34668</size>
            <attacher name="Bruno Abinader (history only)">bruno.abinader</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzJmNTllY2ZmYjI2YmU4
YmEwZDAwZTg3MTIxMmFhODE3MTIzNmViZi4uOWExMTRmYjg2OWFiMmRiZTIyYWMwMTczZGEzZjNm
NWM3MTZkNzMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTEyICBCcnVu
byBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNvbT4KKwor
ICAgICAgICBbY3NzXSBSZW1vdmUgImRlZmF1bHQiIHN3aXRjaCBjYXNlIGZyb20gQ1NTIHByaW1p
dGl2ZSB2YWx1ZSBtYXBwaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTM3ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmluZyB0aGUgImRlZmF1bHQiIHN3aXRjaCBjYXNlIGFsbG93cyBjb21w
aWxlLXRpbWUgZWFybHkgd2FybmluZyBjaGVjaywKKyAgICAgICAgc3BlY2lhbGx5IHVzZWZ1bCBm
b3IgbmV3bHkgYWRkZWQgb3IgcmVtb3ZlZCBlbnVtZXJhdGlvbiB2YWx1ZXMuCisKKyAgICAgICAg
KiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorCiAyMDEyLTA4LTEyICBIdWFuZyBE
b25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFNldCB0aGUgYWNj
ZXNzIHF1YWxpZmllciBvZiB0d28gbWV0aG9kcyB0byBxdWVyeSBmcmFtZSBzcGVjaWZpYyBpbmZv
IG9mIEJpdG1hcEltYWdlIHRvIHByb3RlY3RlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4IDZhMzM3NjAyYjBmMTViODVlZGMyMmQzNGIy
Y2YyYmNiZTA2YTJkYzguLjY3ZGI2ZWYzNmViYjEzMTk0MDU3MzkzMjI0YTU5OTkwZjIzNDc3MzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApA
QCAtMTkyLDEwICsxOTIsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
Om9wZXJhdG9yIFByaW50Q29sb3JBZGp1c3QoKSBjb25zdAogICAgICAgICByZXR1cm4gUHJpbnRD
b2xvckFkanVzdEVjb25vbXk7CiAgICAgY2FzZSBDU1NWYWx1ZUV4YWN0OgogICAgICAgICByZXR1
cm4gUHJpbnRDb2xvckFkanVzdEV4YWN0OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gUHJpbnRDb2xvckFkanVzdEVjb25vbXk7CiAg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFByaW50Q29sb3JB
ZGp1c3RFY29ub215OwogfQogCiAKQEAgLTMzMCwxMCArMzMwLDEwIEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDb21wb3NpdGVPcGVyYXRvcigpIGNvbnN0
CiAgICAgICAgICAgICByZXR1cm4gQ29tcG9zaXRlUGx1c0RhcmtlcjsKICAgICAgICAgY2FzZSBD
U1NWYWx1ZVBsdXNMaWdodGVyOgogICAgICAgICAgICAgcmV0dXJuIENvbXBvc2l0ZVBsdXNMaWdo
dGVyOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgICAgICByZXR1cm4gQ29tcG9zaXRlQ2xlYXI7CiAgICAgfQorCisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIENvbXBvc2l0ZUNsZWFyOwogfQogCiB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBh
cnQgZSkKQEAgLTU1MywxMCArNTUzLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpvcGVyYXRvciBFQmFja2ZhY2VWaXNpYmlsaXR5KCkgY29uc3QKICAgICAgICAgcmV0
dXJuIEJhY2tmYWNlVmlzaWJpbGl0eVZpc2libGU7CiAgICAgY2FzZSBDU1NWYWx1ZUhpZGRlbjoK
ICAgICAgICAgcmV0dXJuIEJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbjsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEJhY2tmYWNlVmlz
aWJpbGl0eUhpZGRlbjsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gQmFja2ZhY2VWaXNpYmlsaXR5SGlkZGVuOwogfQogCiAKQEAgLTU4NiwxMCArNTg2LDEw
IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFRmlsbEF0
dGFjaG1lbnQoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIExvY2FsQmFja2dyb3VuZEF0dGFj
aG1lbnQ7CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVGaXhlZDoKICAgICAgICAgICAgIHJldHVybiBG
aXhlZEJhY2tncm91bmRBdHRhY2htZW50OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gU2Nyb2xsQmFja2dyb3Vu
ZEF0dGFjaG1lbnQ7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIFNjcm9sbEJhY2tncm91bmRBdHRhY2htZW50OwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUZpbGxCb3ggZSkKQEAgLTYyNywx
MCArNjI3LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBFRmlsbEJveCgpIGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVUZXh0OgogICAgICAgICBj
YXNlIENTU1ZhbHVlV2Via2l0VGV4dDoKICAgICAgICAgICAgIHJldHVybiBUZXh0RmlsbEJveDsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICAgICAgcmV0dXJuIEJvcmRlckZpbGxCb3g7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIEJvcmRlckZpbGxCb3g7CiB9CiAKIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFRmlsbFJlcGVhdCBlKQpA
QCAtNjY0LDEwICs2NjQsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
Om9wZXJhdG9yIEVGaWxsUmVwZWF0KCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiBSb3VuZEZp
bGw7CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVTcGFjZToKICAgICAgICAgICAgIHJldHVybiBTcGFj
ZUZpbGw7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgICAgIHJldHVybiBSZXBlYXRGaWxsOwogICAgIH0KKworICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBSZXBlYXRGaWxsOwogfQogCiB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUJveFBhY2sgZSkKQEAg
LTcwMSwxMCArNzAxLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpv
cGVyYXRvciBFQm94UGFjaygpIGNvbnN0CiAgICAgICAgIHJldHVybiBDZW50ZXI7CiAgICAgY2Fz
ZSBDU1NWYWx1ZUp1c3RpZnk6CiAgICAgICAgIHJldHVybiBKdXN0aWZ5OwotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSnVzdGlmeTsK
ICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gSnVzdGlmeTsK
IH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZh
bHVlKEVCb3hBbGlnbm1lbnQgZSkKQEAgLTc0MywxMCArNzQzLDEwIEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFQm94QWxpZ25tZW50KCkgY29uc3QKICAg
ICAgICAgICAgIHJldHVybiBCQ0VOVEVSOwogICAgICAgICBjYXNlIENTU1ZhbHVlQmFzZWxpbmU6
CiAgICAgICAgICAgICByZXR1cm4gQkJBU0VMSU5FOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gQlNUUkVUQ0g7
CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEJTVFJFVENI
OwogfQogCiAjaWYgRU5BQkxFKENTU19CT1hfREVDT1JBVElPTl9CUkVBSykKQEAgLTc3MSwxMCAr
NzcxLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBF
Qm94RGVjb3JhdGlvbkJyZWFrKCkgY29uc3QKICAgICAgICAgcmV0dXJuIERTTElDRTsKICAgICBj
YXNlIENTU1ZhbHVlQ2xvbmU6CiAgICAgICAgIHJldHVybiBEQ0xPTkU7Ci0gICAgZGVmYXVsdDoK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBEU0xJQ0U7CiAg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIERTTElDRTsKIH0K
ICNlbmRpZgogCkBAIC03OTksMTAgKzc5OSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUJveFNpemluZygpIGNvbnN0CiAgICAgICAgIHJldHVybiBC
T1JERVJfQk9YOwogICAgIGNhc2UgQ1NTVmFsdWVDb250ZW50Qm94OgogICAgICAgICByZXR1cm4g
Q09OVEVOVF9CT1g7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgIHJldHVybiBCT1JERVJfQk9YOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBCT1JERVJfQk9YOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUJveERpcmVjdGlvbiBlKQpAQCAt
ODI2LDEwICs4MjYsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEVCb3hEaXJlY3Rpb24oKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIEJOT1JNQUw7
CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVSZXZlcnNlOgogICAgICAgICAgICAgcmV0dXJuIEJSRVZF
UlNFOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgICAgICByZXR1cm4gQk5PUk1BTDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gQk5PUk1BTDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVCb3hMaW5lcyBlKQpAQCAtODUzLDEw
ICs4NTMsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEVCb3hMaW5lcygpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gU0lOR0xFOwogICAgICAgICBj
YXNlIENTU1ZhbHVlTXVsdGlwbGU6CiAgICAgICAgICAgICByZXR1cm4gTVVMVElQTEU7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIHJldHVybiBTSU5HTEU7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIFNJTkdMRTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVCb3hPcmllbnQgZSkKQEAgLTg4MiwxMCArODgyLDEwIEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFQm94T3JpZW50
KCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NWYWx1ZVZlcnRpY2FsOgogICAgICAgICBjYXNlIENT
U1ZhbHVlQmxvY2tBeGlzOgogICAgICAgICAgICAgcmV0dXJuIFZFUlRJQ0FMOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gSE9SSVpPTlRBTDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gSE9SSVpPTlRBTDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVDYXB0aW9uU2lkZSBlKQpAQCAtOTE5LDEwICs5MTks
MTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVDYXB0
aW9uU2lkZSgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gQ0FQVE9QOwogICAgICAgICBjYXNl
IENTU1ZhbHVlQm90dG9tOgogICAgICAgICAgICAgcmV0dXJuIENBUEJPVFRPTTsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAg
cmV0dXJuIENBUFRPUDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gQ0FQVE9QOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTUHJpbWl0aXZlVmFsdWUoRUNsZWFyIGUpCkBAIC05NTYsMTAgKzk1NiwxMCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUNsZWFyKCkgY29uc3QKICAg
ICAgICAgICAgIHJldHVybiBDUklHSFQ7CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVCb3RoOgogICAg
ICAgICAgICAgcmV0dXJuIENCT1RIOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gQ05PTkU7CiAgICAgfQorCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIENOT05FOwogfQogCiB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUN1cnNvciBl
KQpAQCAtMTE5NywxMCArMTE5NywxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6b3BlcmF0b3IgRUVtcHR5Q2VsbCgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gU0hP
VzsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUhpZGU6CiAgICAgICAgICAgICByZXR1cm4gSElERTsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICAgICAgcmV0dXJuIFNIT1c7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIFNIT1c7CiB9CiAKICNpZiBFTkFCTEUoQ1NTM19GTEVYQk9YKQpAQCAtMTI0
NiwxMCArMTI0NiwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgRUFsaWduSXRlbXMoKSBjb25zdAogICAgICAgICByZXR1cm4gQWxpZ25TdHJldGNoOwog
ICAgIGNhc2UgQ1NTVmFsdWVCYXNlbGluZToKICAgICAgICAgcmV0dXJuIEFsaWduQmFzZWxpbmU7
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJl
dHVybiBBbGlnbkZsZXhTdGFydDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gQWxpZ25GbGV4U3RhcnQ7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFSnVzdGlmeUNvbnRlbnQgZSkKQEAgLTEy
ODgsMTAgKzEyODgsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEVKdXN0aWZ5Q29udGVudCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBKdXN0aWZ5U3Bh
Y2VCZXR3ZWVuOwogICAgIGNhc2UgQ1NTVmFsdWVTcGFjZUFyb3VuZDoKICAgICAgICAgcmV0dXJu
IEp1c3RpZnlTcGFjZUFyb3VuZDsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEp1c3RpZnlGbGV4U3RhcnQ7CiAgICAgfQorCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEp1c3RpZnlGbGV4U3RhcnQ7CiB9CiAK
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShF
RmxleERpcmVjdGlvbiBlKQpAQCAtMTMyNSwxMCArMTMyNSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGlu
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUZsZXhEaXJlY3Rpb24oKSBjb25zdAogICAg
ICAgICByZXR1cm4gRmxvd0NvbHVtbjsKICAgICBjYXNlIENTU1ZhbHVlQ29sdW1uUmV2ZXJzZToK
ICAgICAgICAgcmV0dXJuIEZsb3dDb2x1bW5SZXZlcnNlOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gRmxvd1JvdzsKICAgICB9CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gRmxvd1JvdzsKIH0KIAogdGVt
cGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVBbGln
bkNvbnRlbnQgZSkKQEAgLTEzNzIsMTAgKzEzNzIsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NT
UHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVBbGlnbkNvbnRlbnQoKSBjb25zdAogICAgICAgICBy
ZXR1cm4gQWxpZ25Db250ZW50U3BhY2VBcm91bmQ7CiAgICAgY2FzZSBDU1NWYWx1ZVN0cmV0Y2g6
CiAgICAgICAgIHJldHVybiBBbGlnbkNvbnRlbnRTdHJldGNoOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gQWxpZ25Db250ZW50U3Ry
ZXRjaDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQWxp
Z25Db250ZW50U3RyZXRjaDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVGbGV4V3JhcCBlKQpAQCAtMTQwNCwxMCArMTQwNCwxMCBA
QCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUZsZXhXcmFw
KCkgY29uc3QKICAgICAgICAgcmV0dXJuIEZsZXhXcmFwOwogICAgIGNhc2UgQ1NTVmFsdWVXcmFw
UmV2ZXJzZToKICAgICAgICAgcmV0dXJuIEZsZXhXcmFwUmV2ZXJzZTsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEZsZXhXcmFwTm9u
ZTsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gRmxleFdy
YXBOb25lOwogfQogCiAjZW5kaWYKQEAgLTE0MzksMTAgKzE0MzksMTAgQEAgdGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVGbG9hdCgpIGNvbnN0CiAgICAgICAg
IGNhc2UgQ1NTVmFsdWVOb25lOgogICAgICAgICBjYXNlIENTU1ZhbHVlQ2VudGVyOiAgLy8gTm9u
LXN0YW5kYXJkIENTUyB2YWx1ZQogICAgICAgICAgICAgcmV0dXJuIE5vRmxvYXQ7Ci0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAg
IHJldHVybiBOb0Zsb2F0OwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBOb0Zsb2F0OwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUtIVE1MTGluZUJyZWFrIGUpCkBAIC0xNDY2LDEwICsxNDY2
LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFS0hU
TUxMaW5lQnJlYWsoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIEFGVEVSX1dISVRFX1NQQUNF
OwogICAgICAgICBjYXNlIENTU1ZhbHVlTm9ybWFsOgogICAgICAgICAgICAgcmV0dXJuIExCTk9S
TUFMOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgICAgICByZXR1cm4gTEJOT1JNQUw7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIExCTk9STUFMOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUxpc3RTdHlsZVBvc2l0aW9uIGUp
CkBAIC0xNDkzLDEwICsxNDkzLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpvcGVyYXRvciBFTGlzdFN0eWxlUG9zaXRpb24oKSBjb25zdAogICAgICAgICByZXR1cm4g
T1VUU0lERTsKICAgICBjYXNlIENTU1ZhbHVlSW5zaWRlOgogICAgICAgICByZXR1cm4gSU5TSURF
OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBy
ZXR1cm4gT1VUU0lERTsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gT1VUU0lERTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU1ByaW1pdGl2ZVZhbHVlKEVMaXN0U3R5bGVUeXBlIGUpCkBAIC0xNzg2LDEwICsxNzg2LDEw
IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFTWFyZ2lu
Q29sbGFwc2UoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIE1TRVBBUkFURTsKICAgICAgICAg
Y2FzZSBDU1NWYWx1ZURpc2NhcmQ6CiAgICAgICAgICAgICByZXR1cm4gTURJU0NBUkQ7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIHJldHVybiBNQ09MTEFQU0U7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIE1DT0xMQVBTRTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVNYXJxdWVlQmVoYXZpb3IgZSkKQEAgLTE4MjMs
MTAgKzE4MjMsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJh
dG9yIEVNYXJxdWVlQmVoYXZpb3IoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIE1TTElERTsK
ICAgICAgICAgY2FzZSBDU1NWYWx1ZUFsdGVybmF0ZToKICAgICAgICAgICAgIHJldHVybiBNQUxU
RVJOQVRFOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgICAgICByZXR1cm4gTU5PTkU7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIE1OT05FOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoUmVnaW9uT3ZlcmZsb3cgZSkKQEAgLTE4
NTAsMTAgKzE4NTAsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIFJlZ2lvbk92ZXJmbG93KCkgY29uc3QKICAgICAgICAgcmV0dXJuIEF1dG9SZWdpb25P
dmVyZmxvdzsKICAgICBjYXNlIENTU1ZhbHVlQnJlYWs6CiAgICAgICAgIHJldHVybiBCcmVha1Jl
Z2lvbk92ZXJmbG93OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gQXV0b1JlZ2lvbk92ZXJmbG93OwogICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBBdXRvUmVnaW9uT3ZlcmZsb3c7CiB9CiAKIHRl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFTWFy
cXVlZURpcmVjdGlvbiBlKQpAQCAtMTkwNCwxMCArMTkwNCwxMCBAQCB0ZW1wbGF0ZTw+IGlubGlu
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRU1hcnF1ZWVEaXJlY3Rpb24oKSBjb25zdAog
ICAgICAgICAgICAgcmV0dXJuIE1MRUZUOwogICAgICAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CiAg
ICAgICAgICAgICByZXR1cm4gTVJJR0hUOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gTUFVVE87CiAgICAgfQor
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIE1BVVRPOwogfQogCiB0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRU5CU1BN
b2RlIGUpCkBAIC0xOTMxLDEwICsxOTMxLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpvcGVyYXRvciBFTkJTUE1vZGUoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJu
IFNQQUNFOwogICAgICAgICBjYXNlIENTU1ZhbHVlTm9ybWFsOgogICAgICAgICAgICAgcmV0dXJu
IE5CTk9STUFMOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gTkJOT1JNQUw7CiAgICAgfQorCisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIE5CTk9STUFMOwogfQogCiB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRU92ZXJmbG93IGUpCkBA
IC0xOTc4LDEwICsxOTc4LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpvcGVyYXRvciBFT3ZlcmZsb3coKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIE9NQVJRVUVF
OwogICAgICAgICBjYXNlIENTU1ZhbHVlT3ZlcmxheToKICAgICAgICAgICAgIHJldHVybiBPT1ZF
UkxBWTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICAgICAgcmV0dXJuIE9WSVNJQkxFOwogICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBPVklTSUJMRTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVQYWdlQnJlYWsgZSkKQEAgLTIw
MTIsMTAgKzIwMTIsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEVQYWdlQnJlYWsoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIFBCQUxXQVlTOyAv
LyBDU1MyLjE6ICJDb25mb3JtaW5nIHVzZXIgYWdlbnRzIG1heSBtYXAgbGVmdC9yaWdodCB0byBh
bHdheXMuIgogICAgICAgICBjYXNlIENTU1ZhbHVlQXZvaWQ6CiAgICAgICAgICAgICByZXR1cm4g
UEJBVk9JRDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICAgICAgcmV0dXJuIFBCQVVUTzsKICAgICB9CisKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUEJBVVRPOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVBvc2l0aW9uIGUpCkBAIC0yMDU4
LDEwICsyMDU4LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVy
YXRvciBFUG9zaXRpb24oKSBjb25zdAogICAgICAgICBjYXNlIENTU1ZhbHVlV2Via2l0U3RpY2t5
OgogICAgICAgICAgICAgcmV0dXJuIFN0aWNreVBvc2l0aW9uOwogI2VuZGlmCi0gICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJl
dHVybiBTdGF0aWNQb3NpdGlvbjsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gU3RhdGljUG9zaXRpb247CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFUmVzaXplIGUpCkBAIC0yMDk4LDEwICsy
MDk4LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBF
UmVzaXplKCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiBSRVNJWkVfTk9ORTsKICAgICAgICAg
Y2FzZSBDU1NWYWx1ZU5vbmU6CiAgICAgICAgICAgICByZXR1cm4gUkVTSVpFX05PTkU7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIHJldHVybiBSRVNJWkVfTk9ORTsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gUkVTSVpFX05PTkU7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVGFibGVMYXlvdXQgZSkKQEAgLTIxMjUs
MTAgKzIxMjUsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJh
dG9yIEVUYWJsZUxheW91dCgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gVEZJWEVEOwogICAg
ICAgICBjYXNlIENTU1ZhbHVlQXV0bzoKICAgICAgICAgICAgIHJldHVybiBUQVVUTzsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAg
ICAgcmV0dXJuIFRBVVRPOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBUQVVUTzsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU1ByaW1pdGl2ZVZhbHVlKEVUZXh0QWxpZ24gZSkKQEAgLTIxOTIsMTAgKzIxOTIsMTAgQEAg
dGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVUZXh0RGVjb3Jh
dGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiBMSU5FX1RIUk9VR0g7CiAgICAgY2FzZSBDU1NW
YWx1ZUJsaW5rOgogICAgICAgICByZXR1cm4gQkxJTks7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBURE5PTkU7CiAgICAgfQorCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRETk9ORTsKIH0KIAogdGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVUZXh0U2Vj
dXJpdHkgZSkKQEAgLTIyMjksMTAgKzIyMjksMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVUZXh0U2VjdXJpdHkoKSBjb25zdAogICAgICAgICAgICAg
cmV0dXJuIFRTQ0lSQ0xFOwogICAgICAgICBjYXNlIENTU1ZhbHVlU3F1YXJlOgogICAgICAgICAg
ICAgcmV0dXJuIFRTU1FVQVJFOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gVFNOT05FOwogICAgIH0KKworICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUU05PTkU7CiB9CiAKIHRlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVGV4dFRyYW5z
Zm9ybSBlKQpAQCAtMjI2NiwxMCArMjI2NiwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVRleHRUcmFuc2Zvcm0oKSBjb25zdAogICAgICAgICAgICAg
cmV0dXJuIExPV0VSQ0FTRTsKICAgICAgICAgY2FzZSBDU1NWYWx1ZU5vbmU6CiAgICAgICAgICAg
ICByZXR1cm4gVFROT05FOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gVFROT05FOwogICAgIH0KKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUVE5PTkU7CiB9CiAKIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFVW5pY29kZUJpZGkoKSBjb25zdApA
QCAtMjI4NSwxMCArMjI4NSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6b3BlcmF0b3IgRVVuaWNvZGVCaWRpKCkgY29uc3QKICAgICAgICAgcmV0dXJuIElzb2xhdGU7
CiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdFBsYWludGV4dDoKICAgICAgICAgcmV0dXJuIFBsYWlu
dGV4dDsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgcmV0dXJuIFVCTm9ybWFsOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBVQk5vcm1hbDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVVc2VyRHJhZyBlKQpAQCAtMjMxNywxMCArMjMxNywx
MCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVVzZXJE
cmFnKCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiBEUkFHX05PTkU7CiAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVFbGVtZW50OgogICAgICAgICAgICAgcmV0dXJuIERSQUdfRUxFTUVOVDsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAg
ICAgcmV0dXJuIERSQUdfQVVUTzsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gRFJBR19BVVRPOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVVzZXJNb2RpZnkgZSkKQEAgLTIzNDksMTAgKzIz
NDksMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVV
c2VyTW9kaWZ5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIFJFQURfV1JJVEU7CiAgICAgY2FzZSBD
U1NWYWx1ZVJlYWRXcml0ZVBsYWludGV4dE9ubHk6CiAgICAgICAgIHJldHVybiBSRUFEX1dSSVRF
X1BMQUlOVEVYVF9PTkxZOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICByZXR1cm4gUkVBRF9PTkxZOwogICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBSRUFEX09OTFk7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVXNlclNlbGVjdCBlKQpAQCAt
MjM4MywxMCArMjM4MywxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6
b3BlcmF0b3IgRVVzZXJTZWxlY3QoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIFNFTEVDVF9U
RVhUOwogICAgICAgICBjYXNlIENTU1ZhbHVlQWxsOgogICAgICAgICAgICAgcmV0dXJuIFNFTEVD
VF9BTEw7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgICAgIHJldHVybiBTRUxFQ1RfVEVYVDsKICAgICB9CisKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU0VMRUNUX1RFWFQ7CiB9CiAKIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVmVydGljYWxBbGln
biBhKQpAQCAtMjQ0NywxMCArMjQ0NywxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRVZlcnRpY2FsQWxpZ24oKSBjb25zdAogICAgICAgICByZXR1cm4g
U1VQRVI7CiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdEJhc2VsaW5lTWlkZGxlOgogICAgICAgICBy
ZXR1cm4gQkFTRUxJTkVfTUlERExFOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gVE9QOwogICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBUT1A7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVmlzaWJpbGl0eSBlKQpAQCAtMjQ3OSwx
MCArMjQ3OSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgRVZpc2liaWxpdHkoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIFZJU0lCTEU7CiAgICAg
ICAgIGNhc2UgQ1NTVmFsdWVDb2xsYXBzZToKICAgICAgICAgICAgIHJldHVybiBDT0xMQVBTRTsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICAgICAgcmV0dXJuIFZJU0lCTEU7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIFZJU0lCTEU7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFV2hpdGVTcGFjZSBlKQpAQCAtMjUyNiwxMCAr
MjUyNiwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3Ig
RVdoaXRlU3BhY2UoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIFBSRV9MSU5FOwogICAgICAg
ICBjYXNlIENTU1ZhbHVlTm9ybWFsOgogICAgICAgICAgICAgcmV0dXJuIE5PUk1BTDsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAg
ICAgcmV0dXJuIE5PUk1BTDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gTk9STUFMOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVdvcmRCcmVhayBlKQpAQCAtMjU1OCwxMCArMjU1OCwxMCBA
QCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVdvcmRCcmVh
aygpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gQnJlYWtXb3JkQnJlYWs7CiAgICAgICAgIGNh
c2UgQ1NTVmFsdWVOb3JtYWw6CiAgICAgICAgICAgICByZXR1cm4gTm9ybWFsV29yZEJyZWFrOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
cmV0dXJuIE5vcm1hbFdvcmRCcmVhazsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gTm9ybWFsV29yZEJyZWFrOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVdvcmRXcmFwIGUpCkBAIC0yNTg1
LDEwICsyNTg1LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVy
YXRvciBFV29yZFdyYXAoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIEJyZWFrV29yZFdyYXA7
CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVOb3JtYWw6CiAgICAgICAgICAgICByZXR1cm4gTm9ybWFs
V29yZFdyYXA7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgICAgIHJldHVybiBOb3JtYWxXb3JkV3JhcDsKICAgICB9CisKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gTm9ybWFsV29yZFdyYXA7CiB9CiAKIHRl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0
RGlyZWN0aW9uIGUpCkBAIC0yNjEyLDEwICsyNjEyLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0RGlyZWN0aW9uKCkgY29uc3QKICAgICAgICAg
ICAgIHJldHVybiBMVFI7CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVSdGw6CiAgICAgICAgICAgICBy
ZXR1cm4gUlRMOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gTFRSOwogICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBMVFI7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXcml0aW5nTW9kZSBlKQpAQCAtMjY0OSwx
MCArMjY0OSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgV3JpdGluZ01vZGUoKSBjb25zdAogICAgICAgICByZXR1cm4gTGVmdFRvUmlnaHRXcml0aW5n
TW9kZTsKICAgICBjYXNlIENTU1ZhbHVlSG9yaXpvbnRhbEJ0OgogICAgICAgICByZXR1cm4gQm90
dG9tVG9Ub3BXcml0aW5nTW9kZTsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFRvcFRvQm90dG9tV3JpdGluZ01vZGU7CiAgICAgfQor
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRvcFRvQm90dG9tV3JpdGlu
Z01vZGU7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZShUZXh0Q29tYmluZSBlKQpAQCAtMjY3NiwxMCArMjY3NiwxMCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dENvbWJpbmUoKSBjb25z
dAogICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25lOwogICAgIGNhc2UgQ1NTVmFsdWVIb3Jp
em9udGFsOgogICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVIb3Jpem9udGFsOwotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gVGV4dENv
bWJpbmVOb25lOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biBUZXh0Q29tYmluZU5vbmU7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0RW1waGFzaXNQb3NpdGlvbiBwb3NpdGlvbikKQEAg
LTI3MDMsMTAgKzI3MDMsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
Om9wZXJhdG9yIFRleHRFbXBoYXNpc1Bvc2l0aW9uKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFRl
eHRFbXBoYXNpc1Bvc2l0aW9uT3ZlcjsKICAgICBjYXNlIENTU1ZhbHVlVW5kZXI6CiAgICAgICAg
IHJldHVybiBUZXh0RW1waGFzaXNQb3NpdGlvblVuZGVyOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gVGV4dEVtcGhhc2lzUG9zaXRp
b25PdmVyOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBU
ZXh0RW1waGFzaXNQb3NpdGlvbk92ZXI7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0T3ZlcmZsb3cgb3ZlcmZsb3cpCkBAIC0y
NzMwLDEwICsyNzMwLDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpv
cGVyYXRvciBUZXh0T3ZlcmZsb3coKSBjb25zdAogICAgICAgICByZXR1cm4gVGV4dE92ZXJmbG93
Q2xpcDsKICAgICBjYXNlIENTU1ZhbHVlRWxsaXBzaXM6CiAgICAgICAgIHJldHVybiBUZXh0T3Zl
cmZsb3dFbGxpcHNpczsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgcmV0dXJuIFRleHRPdmVyZmxvd0NsaXA7CiAgICAgfQorCisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFRleHRPdmVyZmxvd0NsaXA7CiB9CiAKIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0RW1w
aGFzaXNGaWxsIGZpbGwpCkBAIC0yNzU3LDEwICsyNzU3LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0RW1waGFzaXNGaWxsKCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIFRleHRFbXBoYXNpc0ZpbGxGaWxsZWQ7CiAgICAgY2FzZSBDU1NWYWx1ZU9w
ZW46CiAgICAgICAgIHJldHVybiBUZXh0RW1waGFzaXNGaWxsT3BlbjsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFRleHRFbXBoYXNp
c0ZpbGxGaWxsZWQ7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIFRleHRFbXBoYXNpc0ZpbGxGaWxsZWQ7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0RW1waGFzaXNNYXJrIG1hcmspCkBA
IC0yODA3LDEwICsyODA3LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpvcGVyYXRvciBUZXh0RW1waGFzaXNNYXJrKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFRleHRF
bXBoYXNpc01hcmtUcmlhbmdsZTsKICAgICBjYXNlIENTU1ZhbHVlU2VzYW1lOgogICAgICAgICBy
ZXR1cm4gVGV4dEVtcGhhc2lzTWFya1Nlc2FtZTsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFRleHRFbXBoYXNpc01hcmtOb25lOwog
ICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBUZXh0RW1waGFz
aXNNYXJrTm9uZTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKFRleHRPcmllbnRhdGlvbiBlKQpAQCAtMjgzNCwxMCArMjgzNCwxMCBA
QCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgVGV4dE9yaWVu
dGF0aW9uKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFRleHRPcmllbnRhdGlvblZlcnRpY2FsUmln
aHQ7CiAgICAgY2FzZSBDU1NWYWx1ZVVwcmlnaHQ6CiAgICAgICAgIHJldHVybiBUZXh0T3JpZW50
YXRpb25VcHJpZ2h0OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gVGV4dE9yaWVudGF0aW9uVmVydGljYWxSaWdodDsKICAgICB9CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gVGV4dE9yaWVudGF0aW9uVmVy
dGljYWxSaWdodDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZlbnRzIGUpCkBAIC0yOTAxLDEwICsyOTAxLDEwIEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFUG9pbnRlckV2
ZW50cygpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gUEVfRklMTDsKICAgICAgICAgY2FzZSBD
U1NWYWx1ZVN0cm9rZToKICAgICAgICAgICAgIHJldHVybiBQRV9TVFJPS0U7Ci0gICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJl
dHVybiBQRV9BTEw7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIFBFX0FMTDsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEZvbnREZXNjcmlwdGlvbjo6S2VybmluZyBrZXJuaW5nKQpAQCAtMzE0
MiwxMCArMzE0MiwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgVGV4dFJlbmRlcmluZ01vZGUoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIE9wdGlt
aXplTGVnaWJpbGl0eTsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUdlb21ldHJpY3ByZWNpc2lvbjoK
ICAgICAgICAgICAgIHJldHVybiBHZW9tZXRyaWNQcmVjaXNpb247Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybiBB
dXRvVGV4dFJlbmRlcmluZzsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gQXV0b1RleHRSZW5kZXJpbmc7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb2xvclNwYWNlIHNwYWNlKQpAQCAtMzE3
NCwxMCArMzE3NCwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgQ29sb3JTcGFjZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBDb2xvclNwYWNlRGV2aWNl
UkdCOwogICAgIGNhc2UgQ1NTVmFsdWVTcmdiOgogICAgICAgICByZXR1cm4gQ29sb3JTcGFjZVNS
R0I7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IHJldHVybiBDb2xvclNwYWNlRGV2aWNlUkdCOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBDb2xvclNwYWNlRGV2aWNlUkdCOwogfQogCiB0ZW1wbGF0ZTw+
IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoSHlwaGVucyBoeXBo
ZW5zKQpAQCAtMzIwNiwxMCArMzIwNiwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgSHlwaGVucygpIGNvbnN0CiAgICAgICAgIHJldHVybiBIeXBoZW5z
TWFudWFsOwogICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgogICAgICAgICByZXR1cm4gSHlwaGVuc0F1
dG87Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IHJldHVybiBIeXBoZW5zQXV0bzsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gSHlwaGVuc0F1dG87CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShMaW5lU25hcCBncmlkU25hcCkKQEAgLTMyMzgs
MTAgKzMyMzgsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJh
dG9yIExpbmVTbmFwKCkgY29uc3QKICAgICAgICAgcmV0dXJuIExpbmVTbmFwQmFzZWxpbmU7CiAg
ICAgY2FzZSBDU1NWYWx1ZUNvbnRhaW46CiAgICAgICAgIHJldHVybiBMaW5lU25hcENvbnRhaW47
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJl
dHVybiBMaW5lU25hcE5vbmU7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIExpbmVTbmFwTm9uZTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpbmVBbGlnbiBsaW5lQWxpZ24pCkBAIC0zMjY1
LDEwICszMjY1LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVy
YXRvciBMaW5lQWxpZ24oKSBjb25zdAogICAgICAgICByZXR1cm4gTGluZUFsaWduTm9uZTsKICAg
ICBjYXNlIENTU1ZhbHVlRWRnZXM6CiAgICAgICAgIHJldHVybiBMaW5lQWxpZ25FZGdlczsKLSAg
ICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJu
IExpbmVBbGlnbk5vbmU7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIExpbmVBbGlnbk5vbmU7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFU3BlYWsgZSkKQEAgLTMzMDQsMTAgKzMzMDQsMTAg
QEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIE9yZGVyKCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIExvZ2ljYWxPcmRlcjsKICAgICBjYXNlIENTU1ZhbHVlVmlz
dWFsOgogICAgICAgICByZXR1cm4gVmlzdWFsT3JkZXI7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBMb2dpY2FsT3JkZXI7CiAgICAg
fQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIExvZ2ljYWxPcmRlcjsK
IH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZh
bHVlKE9yZGVyIGUpCkBAIC0zMzM5LDEwICszMzM5LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFU3BlYWsoKSBjb25zdAogICAgICAgICByZXR1cm4g
U3BlYWtMaXRlcmFsUHVuY3R1YXRpb247CiAgICAgY2FzZSBDU1NWYWx1ZU5vUHVuY3R1YXRpb246
CiAgICAgICAgIHJldHVybiBTcGVha05vUHVuY3R1YXRpb247Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBTcGVha05vcm1hbDsKICAg
ICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3BlYWtOb3JtYWw7
CiB9CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCkBAIC0zMzc3LDEwICszMzc3LDEwIEBAIHRl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDdXN0b21GaWx0ZXJP
cGVyYXRpb246Ok1lc2hCb3hUeXBlCiAgICAgICAgIHJldHVybiBDdXN0b21GaWx0ZXJPcGVyYXRp
b246OlBBRERJTkdfQk9YOwogICAgIGNhc2UgQ1NTVmFsdWVDb250ZW50Qm94OgogICAgICAgICBy
ZXR1cm4gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpDT05URU5UX0JPWDsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6RklMVEVSX0JPWDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpGSUxURVJfQk9YOwogfQogI2Vu
ZGlmIC8vIEVOQUJMRShDU1NfU0hBREVSUykKIApAQCAtMzQ3NSwxMCArMzQ3NSwxMCBAQCB0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgQmxlbmRNb2RlKCkgY29u
c3QKICAgICAgICAgcmV0dXJuIEJsZW5kTW9kZUNvbG9yOwogICAgIGNhc2UgQ1NTVmFsdWVMdW1p
bm9zaXR5OgogICAgICAgICByZXR1cm4gQmxlbmRNb2RlTHVtaW5vc2l0eTsKLSAgICBkZWZhdWx0
OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEJsZW5kTW9k
ZU5vcm1hbDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
QmxlbmRNb2RlTm9ybWFsOwogfQogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTM1MDksMTAgKzM1MDks
MTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIExpbmVD
YXAoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIFJvdW5kQ2FwOwogICAgICAgICBjYXNlIENT
U1ZhbHVlU3F1YXJlOgogICAgICAgICAgICAgcmV0dXJuIFNxdWFyZUNhcDsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0
dXJuIEJ1dHRDYXA7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIEJ1dHRDYXA7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NQcmltaXRpdmVWYWx1ZShMaW5lSm9pbiBlKQpAQCAtMzU0MSwxMCArMzU0MSwxMCBAQCB0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUpvaW4oKSBjb25z
dAogICAgICAgICAgICAgcmV0dXJuIFJvdW5kSm9pbjsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUJl
dmVsOgogICAgICAgICAgICAgcmV0dXJuIEJldmVsSm9pbjsKLSAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuIE1pdGVy
Sm9pbjsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gTWl0
ZXJKb2luOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJp
bWl0aXZlVmFsdWUoV2luZFJ1bGUgZSkKQEAgLTM1NjgsMTAgKzM1NjgsMTAgQEAgdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFdpbmRSdWxlKCkgY29uc3QKICAg
ICAgICAgICAgIHJldHVybiBSVUxFX05PTlpFUk87CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVFdmVu
b2RkOgogICAgICAgICAgICAgcmV0dXJuIFJVTEVfRVZFTk9ERDsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuIFJV
TEVfTk9OWkVSTzsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gUlVMRV9OT05aRVJPOwogfQogCiAKQEAgLTM2NDYsMTAgKzM2NDYsMTAgQEAgdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVBbGlnbm1lbnRCYXNlbGluZSgp
IGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gQUJfSEFOR0lORzsKICAgICAgICAgY2FzZSBDU1NW
YWx1ZU1hdGhlbWF0aWNhbDoKICAgICAgICAgICAgIHJldHVybiBBQl9NQVRIRU1BVElDQUw7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgICAgIHJldHVybiBBQl9BVVRPOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiBBQl9BVVRPOwogfQogCiAjZW5kaWYKQEAgLTM2NzUsMTAgKzM2NzUsMTAg
QEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVCb3JkZXJD
b2xsYXBzZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBCU0VQQVJBVEU7CiAgICAgY2FzZSBDU1NW
YWx1ZUNvbGxhcHNlOgogICAgICAgICByZXR1cm4gQkNPTExBUFNFOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gQlNFUEFSQVRFOwog
ICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBCU0VQQVJBVEU7
CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZShFQm9yZGVyRml0IGUpCkBAIC0zNzAyLDEwICszNzAyLDEwIEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFQm9yZGVyRml0KCkgY29uc3QKICAgICAg
ICAgcmV0dXJuIEJvcmRlckZpdEJvcmRlcjsKICAgICBjYXNlIENTU1ZhbHVlTGluZXM6CiAgICAg
ICAgIHJldHVybiBCb3JkZXJGaXRMaW5lczsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEJvcmRlckZpdExpbmVzOwogICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBCb3JkZXJGaXRMaW5lczsKIH0K
IAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KEVJbWFnZVJlbmRlcmluZyBlKQpAQCAtMzczOSwxMCArMzczOSwxMCBAQCB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUltYWdlUmVuZGVyaW5nKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIEltYWdlUmVuZGVyaW5nT3B0aW1pemVRdWFsaXR5OwogICAgIGNhc2Ug
Q1NTVmFsdWVXZWJraXRPcHRpbWl6ZUNvbnRyYXN0OgogICAgICAgICByZXR1cm4gSW1hZ2VSZW5k
ZXJpbmdPcHRpbWl6ZUNvbnRyYXN0OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSW1hZ2VSZW5kZXJpbmdBdXRvOwogICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBJbWFnZVJlbmRlcmluZ0F1dG87
CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZShFVHJhbnNmb3JtU3R5bGUzRCBlKQpAQCAtMzc2NiwxMCArMzc2NiwxMCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVRyYW5zZm9ybVN0eWxlM0Qo
KSBjb25zdAogICAgICAgICByZXR1cm4gVHJhbnNmb3JtU3R5bGUzREZsYXQ7CiAgICAgY2FzZSBD
U1NWYWx1ZVByZXNlcnZlM2Q6CiAgICAgICAgIHJldHVybiBUcmFuc2Zvcm1TdHlsZTNEUHJlc2Vy
dmUzRDsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgcmV0dXJuIFRyYW5zZm9ybVN0eWxlM0RGbGF0OwogICAgIH0KKworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBUcmFuc2Zvcm1TdHlsZTNERmxhdDsKIH0KIAogdGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbHVtbkF4
aXMgZSkKQEAgLTM3OTgsMTAgKzM3OTgsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6Om9wZXJhdG9yIENvbHVtbkF4aXMoKSBjb25zdAogICAgICAgICByZXR1cm4gVmVy
dGljYWxDb2x1bW5BeGlzOwogICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgogICAgICAgICByZXR1cm4g
QXV0b0NvbHVtbkF4aXM7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIHJldHVybiBBdXRvQ29sdW1uQXhpczsKICAgICB9CisKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQXV0b0NvbHVtbkF4aXM7CiB9CiAKIHRlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb2x1bW5Qcm9n
cmVzc2lvbiBlKQpAQCAtMzgyNSwxMCArMzgyNSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgQ29sdW1uUHJvZ3Jlc3Npb24oKSBjb25zdAogICAgICAg
ICByZXR1cm4gTm9ybWFsQ29sdW1uUHJvZ3Jlc3Npb247CiAgICAgY2FzZSBDU1NWYWx1ZVJldmVy
c2U6CiAgICAgICAgIHJldHVybiBSZXZlcnNlQ29sdW1uUHJvZ3Jlc3Npb247Ci0gICAgZGVmYXVs
dDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBOb3JtYWxD
b2x1bW5Qcm9ncmVzc2lvbjsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gTm9ybWFsQ29sdW1uUHJvZ3Jlc3Npb247CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXcmFwRmxvdyB3cmFwRmxvdykK
QEAgLTM4NzIsMTAgKzM4NzIsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6Om9wZXJhdG9yIFdyYXBGbG93KCkgY29uc3QKICAgICAgICAgcmV0dXJuIFdyYXBGbG93TWF4
aW11bTsKICAgICBjYXNlIENTU1ZhbHVlQ2xlYXI6CiAgICAgICAgIHJldHVybiBXcmFwRmxvd0Ns
ZWFyOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICByZXR1cm4gV3JhcEZsb3dBdXRvOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiBXcmFwRmxvd0F1dG87CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCkK
QEAgLTM4OTksMTAgKzM4OTksMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6Om9wZXJhdG9yIFdyYXBUaHJvdWdoKCkgY29uc3QKICAgICAgICAgcmV0dXJuIFdyYXBUaHJv
dWdoV3JhcDsKICAgICBjYXNlIENTU1ZhbHVlTm9uZToKICAgICAgICAgcmV0dXJuIFdyYXBUaHJv
dWdoTm9uZTsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgcmV0dXJuIFdyYXBUaHJvdWdoV3JhcDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gV3JhcFRocm91Z2hXcmFwOwogfQogCiBlbnVtIExlbmd0aENv
bnZlcnNpb24gewpAQCAtMzk2NSwxMCArMzk2NSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUNvbG9ySW50ZXJwb2xhdGlvbigpIGNvbnN0CiAgICAg
ICAgICAgICByZXR1cm4gQ0lfTElORUFSUkdCOwogICAgICAgICBjYXNlIENTU1ZhbHVlQXV0bzoK
ICAgICAgICAgICAgIHJldHVybiBDSV9BVVRPOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gQ0lfQVVUTzsKICAg
ICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQ0lfQVVUTzsKIH0K
IAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KEVDb2xvclJlbmRlcmluZyBlKQpAQCAtMzk5NywxMCArMzk5NywxMCBAQCB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUNvbG9yUmVuZGVyaW5nKCkgY29uc3QK
ICAgICAgICAgICAgIHJldHVybiBDUl9PUFRJTUlaRVFVQUxJVFk7CiAgICAgICAgIGNhc2UgQ1NT
VmFsdWVBdXRvOgogICAgICAgICAgICAgcmV0dXJuIENSX0FVVE87Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybiBD
Ul9BVVRPOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBD
Ul9BVVRPOwogfQogCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJp
bWl0aXZlVmFsdWUoRURvbWluYW50QmFzZWxpbmUgZSkKQEAgLTQwNzQsMTAgKzQwNzQsMTAgQEAg
dGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVEb21pbmFudEJh
c2VsaW5lKCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiBEQl9URVhUX0FGVEVSX0VER0U7CiAg
ICAgICAgIGNhc2UgQ1NTVmFsdWVUZXh0QmVmb3JlRWRnZToKICAgICAgICAgICAgIHJldHVybiBE
Ql9URVhUX0JFRk9SRV9FREdFOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gREJfQVVUTzsKICAgICB9CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gREJfQVVUTzsKIH0KIAogdGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVTaGFwZVJl
bmRlcmluZyBlKQpAQCAtNDExMSwxMCArNDExMSwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVNoYXBlUmVuZGVyaW5nKCkgY29uc3QKICAgICAgICAg
cmV0dXJuIFNSX0NSSVNQRURHRVM7CiAgICAgY2FzZSBDU1NWYWx1ZUdlb21ldHJpY3ByZWNpc2lv
bjoKICAgICAgICAgcmV0dXJuIFNSX0dFT01FVFJJQ1BSRUNJU0lPTjsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFNSX0FVVE87CiAg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFNSX0FVVE87CiB9
CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1
ZShFVGV4dEFuY2hvciBlKQpAQCAtNDE0MywxMCArNDE0MywxMCBAQCB0ZW1wbGF0ZTw+IGlubGlu
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVRleHRBbmNob3IoKSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuIFRBX01JRERMRTsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUVuZDoKICAgICAg
ICAgICAgIHJldHVybiBUQV9FTkQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybiBUQV9TVEFSVDsKICAgICB9CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gVEFfU1RBUlQ7CiB9CiAKIHRl
bXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShTVkdX
cml0aW5nTW9kZSBlKQpAQCAtNDE5MCwxMCArNDE5MCwxMCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgU1ZHV3JpdGluZ01vZGUoKSBjb25zdAogICAgICAg
ICByZXR1cm4gV01fVEJSTDsKICAgICBjYXNlIENTU1ZhbHVlVGI6CiAgICAgICAgIHJldHVybiBX
TV9UQjsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgcmV0dXJuIFdNX0xSVEI7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIFdNX0xSVEI7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFVmVjdG9yRWZmZWN0IGUpCkBAIC00MjE3LDEwICs0MjE3
LDEwIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFVmVj
dG9yRWZmZWN0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIFZFX05PTkU7CiAgICAgY2FzZSBDU1NW
YWx1ZU5vblNjYWxpbmdTdHJva2U6CiAgICAgICAgIHJldHVybiBWRV9OT05fU0NBTElOR19TVFJP
S0U7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IHJldHVybiBWRV9OT05FOwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBWRV9OT05FOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKQEAgLTQyNjYsMTAg
KzQyNjYsMTAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9y
IEltYWdlT3JpZW50YXRpb25FbnVtKCkgY29uc3QKICAgICAgICAgcmV0dXJuIE9yaWdpbkJvdHRv
bVJpZ2h0OwogICAgIGNhc2UgMzoKICAgICAgICAgcmV0dXJuIE9yaWdpbkxlZnRCb3R0b207Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
biBPcmlnaW5Ub3BMZWZ0OwogICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBPcmlnaW5Ub3BMZWZ0OwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENTU19JTUFHRV9P
UklFTlRBVElPTikK
</data>

          </attachment>
      

    </bug>

</bugzilla>