<?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>97634</bug_id>
          
          <creation_ts>2012-09-25 23:02:01 -0700</creation_ts>
          <short_desc>Removed ASSERT_CLASS_FITS_IN_CELL</short_desc>
          <delta_ts>2012-10-11 12:54:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fpizlo</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728219</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-25 23:02:01 -0700</bug_when>
    <thetext>Removed ASSERT_CLASS_FITS_IN_CELL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728221</commentid>
    <comment_count>1</comment_count>
      <attachid>165734</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-25 23:04:47 -0700</bug_when>
    <thetext>Created attachment 165734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728225</commentid>
    <comment_count>2</comment_count>
      <attachid>165735</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-25 23:08:41 -0700</bug_when>
    <thetext>Created attachment 165735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729710</commentid>
    <comment_count>3</comment_count>
      <attachid>165735</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-09-27 11:06:44 -0700</bug_when>
    <thetext>Comment on attachment 165735
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Removed ASSERT_CLASS_FITS_IN_CELL

Rationale?

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        * API/JSCallbackFunction.cpp:
&gt; +        (JSC):
&gt; +        * API/JSCallbackObject.cpp:
&gt; +        (JSC):

Please remove the useless &quot;(JSC):&quot; lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729726</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-27 11:26:16 -0700</bug_when>
    <thetext>&gt; Rationale?

Our collector now supports arbitrarily sized objects, so the ASSERT is not needed.

&gt; Please remove the useless &quot;(JSC):&quot; lines.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740176</commentid>
    <comment_count>5</comment_count>
      <attachid>168260</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-10-11 12:38:02 -0700</bug_when>
    <thetext>Created attachment 168260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740181</commentid>
    <comment_count>6</comment_count>
      <attachid>168260</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-10-11 12:49:24 -0700</bug_when>
    <thetext>Comment on attachment 168260
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740185</commentid>
    <comment_count>7</comment_count>
      <attachid>168260</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-11 12:52:33 -0700</bug_when>
    <thetext>Comment on attachment 168260
Patch

Attachment 168260 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14249886</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740187</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-10-11 12:54:26 -0700</bug_when>
    <thetext>Committed r131088: &lt;http://trac.webkit.org/changeset/131088&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165734</attachid>
            <date>2012-09-25 23:04:47 -0700</date>
            <delta_ts>2012-09-25 23:08:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97634-20120925230408.patch</filename>
            <type>text/plain</type>
            <size>42483</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI5NTk1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOCBA
QAorMjAxMi0wOS0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZWQgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3Bw
OgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0MpOgorICAgICAgICAqIGhlYXAvTWFya2VkU3BhY2UuaDoKKyAgICAgICAgKiBq
c2MuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgor
ICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQyk6Cisg
ICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQyk6Cisg
ICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAg
ICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJheS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNCb3VuZEZ1
bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxUaGlzLmNwcDoK
KyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU05hbWVTY29wZS5jcHA6CisgICAg
ICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHA6CisgICAgICAg
IChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgIChKU0Mp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwOgorICAgICAgICAoSlNDKToK
KyAgICAgICAgKiBydW50aW1lL0pTU2NvcGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAg
KiBydW50aW1lL0pTV2l0aFNjb3BlLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVu
dGltZS9KU1dyYXBwZXJPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL05h
bWVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvTmFt
ZVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVu
dGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L051bWJlclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
T2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
UmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L1JlZ0V4cE1hdGNoZXNBcnJheS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9T
dHJpbmdPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z1Byb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3Bw
OgorCiAyMDEyLTA5LTI1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTI5NDU2KTogaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtZXZhbC5odG1sIGlzIGZhaWxpbmcgb24gSlNDIHBsYXRmb3JtcwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDYgQEAgcHJvdGVjdGVkOgogICAgIH0K
IH07CiBDT01QSUxFX0FTU0VSVCghSXNJbnRlZ2VyPEdsb2JhbE9iamVjdD46OnZhbHVlLCBXVEZf
SXNJbnRlZ2VyX0dsb2JhbE9iamVjdF9mYWxzZSk7Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEdsb2JhbE9iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9
IHsgImdsb2JhbCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2Jh
bE9iamVjdFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEdsb2JhbE9iamVjdCkgfTsKIGNvbnN0
IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEdsb2JhbE9iamVjdDo6c19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZSA9IHsgJmFsbG93c0FjY2Vzc0Zyb20sICZzdXBwb3J0c1Byb2ZpbGluZywgJnN1cHBv
cnRzUmljaFNvdXJjZUluZm8sICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2NyaXB0RXhw
ZXJpbWVudHNFbmFibGVkIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4
cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3Bw
CShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw3ICsxMzQsNiBAQCBwcm90ZWN0ZWQ6CiB9OwogCiBD
T01QSUxFX0FTU0VSVCghSXNJbnRlZ2VyPEdsb2JhbE9iamVjdD46OnZhbHVlLCBXVEZfSXNJbnRl
Z2VyX0dsb2JhbE9iamVjdF9mYWxzZSk7Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEdsb2Jh
bE9iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgImds
b2JhbCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2JhbE9iamVj
dFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEdsb2JhbE9iamVjdCkgfTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcAkocmV2
aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVu
Y3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTQ2FsbGJhY2tGdW5jdGlvbik7CiBB
U1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU0NhbGxiYWNrRnVuY3Rpb24pOwogCiBjb25z
dCBDbGFzc0luZm8gSlNDYWxsYmFja0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJDYWxsYmFja0Z1bmN0
aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU0NhbGxiYWNrRnVuY3Rpb24pIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDkgKzMyLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pik7Ci1BU1NFUlRfQ0xBU1Nf
RklUU19JTl9DRUxMKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KTsKLQogLy8gRGVm
aW5lIHRoZSB0d28gdHlwZXMgb2YgSlNDYWxsYmFja09iamVjdHMgd2Ugc3VwcG9ydC4KIHRlbXBs
YXRlIDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8s
IDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRl
IDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19p
bmZvID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmSlNHbG9iYWxPYmplY3Q6OnNfaW5mbywg
MCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCShyZXZpc2lvbiAxMjk1ODYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw4ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCi0jZGVmaW5lIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoY2xh
c3MpIENPTVBJTEVfQVNTRVJUKHNpemVvZihjbGFzcykgPD0gTWFya2VkU3BhY2U6Om1heENlbGxT
aXplLCBjbGFzc19maXRzX2luX2NlbGwpCi0KIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBIZWFw
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCShy
ZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVu
dHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw4ICszMyw2IEBAIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEFyZ3Vt
ZW50cyk7Ci0KIGNvbnN0IENsYXNzSW5mbyBBcmd1bWVudHM6OnNfaW5mbyA9IHsgIkFyZ3VtZW50
cyIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
QXJndW1lbnRzKSB9OwogCiB2b2lkIEFyZ3VtZW50czo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNl
bGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Myw4ICs1Myw2IEBAIGNvbnN0IENsYXNzSW5mbyBBcnJheUNvbnN0cnVj
dG9yOjpzX2luZm8KIEBlbmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQXJyYXlD
b25zdHJ1Y3Rvcik7Ci0KIEFycmF5Q29uc3RydWN0b3I6OkFycmF5Q29uc3RydWN0b3IoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBJbnRl
cm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24g
MTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw2IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEFycmF5UHJvdG90eXBlKTsKLQogc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3Rh
dGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5j
VG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAko
cmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuQ29uc3RydWN0
b3IpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoQm9vbGVhbkNvbnN0cnVjdG9yKTsK
IAogY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rp
b24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEJvb2xlYW5Db25z
dHJ1Y3RvcikgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5P
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5PYmplY3QuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUs
NiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29s
ZWFuT2JqZWN0KTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEJvb2xlYW5PYmplY3Qp
OwogCiBjb25zdCBDbGFzc0luZm8gQm9vbGVhbk9iamVjdDo6c19pbmZvID0geyAiQm9vbGVhbiIs
ICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShCb29s
ZWFuT2JqZWN0KSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQm9vbGVhblByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Nyw3ICs0Nyw2IEBAIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuUHJvdG90eXBlOjpzX2luZm8K
IEBlbmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhblByb3RvdHlwZSk7
CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihCb29sZWFuUHJvdG90eXBlKTsKIAogQm9v
bGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
MSw3ICs3MSw2IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyAKIEBl
bmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRGF0ZUNvbnN0cnVjdG9yKTsKIEFT
U0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKERhdGVDb25zdHJ1Y3Rvcik7CiAKIERhdGVDb25z
dHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
MCw4ICs3MCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1B
U1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKERhdGVQcm90b3R5cGUpOwotCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF0ZShFeGVjU3RhdGUqKTsK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXREYXko
RXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJv
dG9GdW5jR2V0RnVsbFllYXIoRXhlY1N0YXRlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw4ICsxNzcsNiBA
QCBKU09iamVjdCogdGhyb3dTeW50YXhFcnJvcihFeGVjU3RhdGUqIGV4CiAgICAgcmV0dXJuIHRo
cm93RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJTeW50
YXggZXJyb3IiKSkpOwogfQogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0cmljdE1vZGVU
eXBlRXJyb3JGdW5jdGlvbik7Ci0KIGNvbnN0IENsYXNzSW5mbyBTdHJpY3RNb2RlVHlwZUVycm9y
RnVuY3Rpb246OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pIH07CiAKIHZvaWQg
U3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3Iu
Y3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvckNvbnN0cnVj
dG9yKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEVycm9yQ29uc3RydWN0b3IpOwog
CiBjb25zdCBDbGFzc0luZm8gRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24i
LCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVycm9yQ29uc3RydWN0
b3IpIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlw
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQ
cm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQ
cm90b3R5cGUpOwotCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBlcnJvclBy
b3RvRnVuY1RvU3RyaW5nKEV4ZWNTdGF0ZSopOwogCiB9CkBAIC00OCw4ICs0Niw2IEBAIGNvbnN0
IENsYXNzSW5mbyBFcnJvclByb3RvdHlwZTo6c19pbmZvID0KIEBlbmQKICovCiAKLUFTU0VSVF9D
TEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQcm90b3R5cGUpOwotCiBFcnJvclByb3RvdHlwZTo6RXJy
b3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6
IEVycm9ySW5zdGFuY2UoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVj
dG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDYg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rp
b25Db25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihGdW5jdGlvbkNv
bnN0cnVjdG9yKTsKIAogY29uc3QgQ2xhc3NJbmZvIEZ1bmN0aW9uQ29uc3RydWN0b3I6OnNfaW5m
byA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShGdW5jdGlvbkNvbnN0cnVjdG9yKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI5NTg0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uUHJvdG90eXBlKTsKIEFTU0VSVF9IQVNfVFJJ
VklBTF9ERVNUUlVDVE9SKEZ1bmN0aW9uUHJvdG90eXBlKTsKIAogY29uc3QgQ2xhc3NJbmZvIEZ1
bmN0aW9uUHJvdG90eXBlOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAs
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Qcm90b3R5cGUpIH07CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAko
cmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSW50ZXJuYWxGdW5jdGlvbik7
CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihJbnRlcm5hbEZ1bmN0aW9uKTsKIAogY29u
c3QgQ2xhc3NJbmZvIEludGVybmFsRnVuY3Rpb246OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkpT
Tm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShJbnRlcm5h
bEZ1bmN0aW9uKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3Rp
dmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FjdGl2YXRpb24uY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw4ICszNyw2
IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKEpTQWN0aXZhdGlvbik7Ci0KIGNvbnN0IENsYXNzSW5mbyBKU0FjdGl2
YXRpb246OnNfaW5mbyA9IHsgIkpTQWN0aXZhdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNBY3RpdmF0aW9uKSB9OwogCiB2b2lkIEpTQWN0aXZhdGlvbjo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDEyOTU4
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NCw4ICs0NCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFj
ZSBKU0MgewogCi0KLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNBcnJheSk7CiBBU1NFUlRf
SEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU0FycmF5KTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTQXJy
YXk6OnNfaW5mbyA9IHsiQXJyYXkiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyYXkpfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMTI5NTg0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJU
X0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0JvdW5kRnVuY3Rpb24pOwogQVNTRVJUX0hBU19UUklWSUFM
X0RFU1RSVUNUT1IoSlNCb3VuZEZ1bmN0aW9uKTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTQm91bmRG
dW5jdGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTQm91bmRGdW5jdGlvbikgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDgsNyArNDgsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxIb3N0
RnVuCiAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JF
cnJvcihleGVjLCBleGVjLT5jYWxsZWUoKSkpOwogfQogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9D
RUxMKEpTRnVuY3Rpb24pOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNGdW5jdGlv
bik7CiAKIGNvbnN0IENsYXNzSW5mbyBKU0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIs
ICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNGdW5jdGlvbikgfTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDggKzEwMCw2IEBAIGNv
bnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpTR2xvYmFsT2IKIEBlbmQKICovCiAKLUFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoSlNHbG9iYWxPYmplY3QpOwotCiAvLyBEZWZhdWx0IG51bWJl
ciBvZiB0aWNrcyBiZWZvcmUgYSB0aW1lb3V0IGNoZWNrIHNob3VsZCBiZSBkb25lLgogc3RhdGlj
IGNvbnN0IGludCBpbml0aWFsVGlja0NvdW50VGhyZXNob2xkID0gMjU1OwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbFRoaXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5jcHAJKHJldmlzaW9u
IDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNHbG9iYWxUaGlzKTsKIEFTU0VSVF9IQVNfVFJJ
VklBTF9ERVNUUlVDVE9SKEpTR2xvYmFsVGhpcyk7CiAKIGNvbnN0IENsYXNzSW5mbyBKU0dsb2Jh
bFRoaXM6OnNfaW5mbyA9IHsgIkpTR2xvYmFsVGhpcyIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNHbG9iYWxUaGlzKSB9OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNOYW1lU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTmFtZVNjb3BlLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOYW1lU2NvcGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1Nf
RklUU19JTl9DRUxMKEpTTmFtZVNjb3BlKTsKLQogY29uc3QgQ2xhc3NJbmZvIEpTTmFtZVNjb3Bl
OjpzX2luZm8gPSB7ICJOYW1lU2NvcGUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTTmFtZVNjb3BlKSB9OwogCiB2b2lkIEpTTmFtZVNjb3BlOjp2aXNpdENoaWxk
cmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5
NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNOb3RBbk9iamVjdCk7CiBBU1NFUlRfSEFTX1RSSVZJ
QUxfREVTVFJVQ1RPUihKU05vdEFuT2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTTm90QW5P
YmplY3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNOb3RBbk9iamVjdCkgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNyArNDEsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChKU09OT2JqZWN0KTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEpTT05PYmpl
Y3QpOwogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU09OUHJvdG9GdW5j
UGFyc2UoRXhlY1N0YXRlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEwICs2Myw2IEBAIEpT
Q2VsbCogZ2V0Q2FsbGFibGVPYmplY3RTbG93KEpTQ2VsbCogY2UKICAgICByZXR1cm4gMDsKIH0K
IAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU09iamVjdCk7Ci1BU1NFUlRfQ0xBU1NfRklU
U19JTl9DRUxMKEpTTm9uRmluYWxPYmplY3QpOwotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChK
U0ZpbmFsT2JqZWN0KTsKLQogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNPYmplY3Qp
OwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNGaW5hbE9iamVjdCk7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lSXRlcmF0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzMsOCArMzMsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKTsKLQogY29uc3QgQ2xhc3NJbmZvIEpTUHJvcGVy
dHlOYW1lSXRlcmF0b3I6OnNfaW5mbyA9IHsgIkpTUHJvcGVydHlOYW1lSXRlcmF0b3IiLCAwLCAw
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTUHJvcGVydHlOYW1lSXRlcmF0b3IpIH07CiAKIGlu
bGluZSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjpKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKEV4ZWNT
dGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXlEYXRhKiBwcm9wZXJ0eU5hbWVBcnJheURhdGEs
IHNpemVfdCBudW1DYWNoZWFibGVTbG90cykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2NvcGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Njb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMsNiBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Njb3Bl
KTsKLQogdm9pZCBKU1Njb3BlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCiB7CiAgICAgSlNTY29wZSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU1Njb3Bl
Kj4oY2VsbCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dpdGhTY29w
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRo
U2NvcGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1dpdGhTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDYgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNXaXRoU2NvcGUp
OwotCiBjb25zdCBDbGFzc0luZm8gSlNXaXRoU2NvcGU6OnNfaW5mbyA9IHsgIldpdGhTY29wZSIs
ICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNXaXRoU2NvcGUpIH07
CiAKIHZvaWQgSlNXaXRoU2NvcGU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV3Jh
cHBlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNXcmFwcGVyT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjQsNyArMjQsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChKU1dyYXBwZXJPYmplY3QpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNX
cmFwcGVyT2JqZWN0KTsKIAogdm9pZCBKU1dyYXBwZXJPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChNYXRoT2JqZWN0KTsKLQogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgbWF0aFByb3RvRnVuY0FicyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBQ29zKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWF0aFByb3RvRnVuY0FTaW4oRXhlY1N0YXRlKik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lQ29uc3RydWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hbWVDb25zdHJ1Y3Rv
ci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L05hbWVDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmFtZUNvbnN0cnVj
dG9yKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKE5hbWVDb25zdHJ1Y3Rvcik7CiAK
IGNvbnN0IENsYXNzSW5mbyBOYW1lQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwg
JkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShOYW1lQ29uc3RydWN0b3Ip
IH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90eXBlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmFtZVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmFtZVByb3RvdHlw
ZSk7Ci0KIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHByaXZhdGVOYW1lUHJv
dG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKik7CiAKIH0KQEAgLTQ4LDggKzQ2LDYgQEAgY29uc3Qg
Q2xhc3NJbmZvIE5hbWVQcm90b3R5cGU6OnNfaW5mbyA9IAogQGVuZAogKi8KIAotQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChOYW1lUHJvdG90eXBlKTsKLQogTmFtZVByb3RvdHlwZTo6TmFtZVBy
b3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogQmFz
ZShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwganNFbXB0eVN0cmluZyhleGVjKSkKIHsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJ
VFNfSU5fQ0VMTChOYXRpdmVFcnJvckNvbnN0cnVjdG9yKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9E
RVNUUlVDVE9SKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogCiBjb25zdCBDbGFzc0luZm8gTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5j
dGlvbjo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IpIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJv
clByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDggKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFT
U19GSVRTX0lOX0NFTEwoTmF0aXZlRXJyb3JQcm90b3R5cGUpOwotCiBOYXRpdmVFcnJvclByb3Rv
dHlwZTo6TmF0aXZlRXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICA6IEVycm9yUHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVyZSkKIHsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rv
ci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L051bWJlckNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsNiBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChOdW1iZXJDb25z
dHJ1Y3Rvcik7Ci0KIHN0YXRpYyBKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTmFOVmFsdWUoRXhl
Y1N0YXRlKiwgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKIHN0YXRpYyBKU1ZhbHVlIG51bWJlckNv
bnN0cnVjdG9yTmVnSW5maW5pdHkoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsK
IHN0YXRpYyBKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yUG9zSW5maW5pdHkoRXhlY1N0YXRlKiwg
SlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNyArMjcsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChOdW1iZXJPYmplY3QpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoTnVtYmVy
T2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAiTnVt
YmVyIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KE51bWJlck9iamVjdCkgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlclByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjgsNyArNjgsNiBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyUHJvdG90eXBlOjpzX2luZm8g
CiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE51bWJlclByb3RvdHlwZSk7
CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihOdW1iZXJQcm90b3R5cGUpOwogCiBOdW1i
ZXJQcm90b3R5cGU6Ok51bWJlclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw4ICszNSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKE9iamVjdENvbnN0cnVjdG9yKTsKLQogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgb2JqZWN0Q29uc3RydWN0b3JHZXRQcm90b3R5cGVPZihFeGVjU3RhdGUqKTsKIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0
ZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw4ICs2Myw2
IEBAIGNvbnN0IENsYXNzSW5mbyBPYmplY3RQcm90b3R5cGU6OnNfaW5mbyAKIEBlbmQKICovCiAK
LUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoT2JqZWN0UHJvdG90eXBlKTsKLQogT2JqZWN0UHJv
dG90eXBlOjpPYmplY3RQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0dWN0
dXJlKQogICAgIDogSlNOb25GaW5hbE9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0dWN0dXJl
KQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw4
ICs1Myw2IEBAIHN0YXRpYyB2b2lkIHNldFJlZ0V4cENvbnN0cnVjdG9yTXVsdGlsaW4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUmVnRXhwQ29uc3RydWN0
b3IpOwotCiBjb25zdCBDbGFzc0luZm8gUmVnRXhwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1
bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpyZWdFeHBD
b25zdHJ1Y3RvclRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cENvbnN0cnVjdG9yKSB9
OwogCiAvKiBTb3VyY2UgZm9yIFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5jcHAJ
KHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUmVnRXhwTWF0Y2hlc0Fy
cmF5KTsKLQogY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cE1hdGNoZXNBcnJheTo6c19pbmZvID0geyJB
cnJheSIsICZKU0FycmF5OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUmVnRXhw
TWF0Y2hlc0FycmF5KX07CiAKIFJlZ0V4cE1hdGNoZXNBcnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQnV0dGVyZmx5KiBidXR0ZXJmbHksIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBpbnB1dCwgUmVnRXhwKiByZWdFeHAsIE1h
dGNoUmVzdWx0IHJlc3VsdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksOCAr
NDksNiBAQCBzdGF0aWMgSlNWYWx1ZSByZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0CiAKIG5hbWVz
cGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cE9iamVjdCk7Ci0K
IGNvbnN0IENsYXNzSW5mbyBSZWdFeHBPYmplY3Q6OnNfaW5mbyA9IHsgIlJlZ0V4cCIsICZKU05v
bkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6cmVnRXhwVGFibGUsIENSRUFURV9N
RVRIT0RfVEFCTEUoUmVnRXhwT2JqZWN0KSB9OwogCiAvKiBTb3VyY2UgZm9yIFJlZ0V4cE9iamVj
dC5sdXQuaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90
eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw4ICs1
OSw2IEBAIGNvbnN0IENsYXNzSW5mbyBSZWdFeHBQcm90b3R5cGU6OnNfaW5mbyAKIEBlbmQKICov
CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUmVnRXhwUHJvdG90eXBlKTsKLQogUmVnRXhw
UHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cCogcmVnRXhwKQogICAgIDogUmVnRXhwT2JqZWN0
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCShyZXZpc2lv
biAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1
Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgY29uc3QgQ2xhc3NJbmZv
IFN0cmluZ0NvbnN0cnVjdG9yOjpzX2luZgogQGVuZAogKi8KIAotQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChTdHJpbmdDb25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RP
UihTdHJpbmdDb25zdHJ1Y3Rvcik7CiAKIFN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1
Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNw
cAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogQVNT
RVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoU3RyaW5nT2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJ
bmZvIFN0cmluZ09iamVjdDo6c19pbmZvID0geyAiU3RyaW5nIiwgJkpTV3JhcHBlck9iamVjdDo6
c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmluZ09iamVjdCkgfTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNiBAQCB1c2luZyBu
YW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChTdHJpbmdQcm90b3R5cGUpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoU3Ry
aW5nUHJvdG90eXBlKTsKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3Ry
aW5nUHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAxMjk1OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0NyBAQAorMjAxMi0wOS0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZWQgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRmxvYXQ2NEFycmF5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01P
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHA6CisgICAgICAgIChKU0MpOgorCiAyMDEyLTA5
LTI1ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zv
cm1zXSBXZSBzaG91bGQgZGlzY29ubmVjdCBEYXRlVGltZUVkaXRFbGVtZW50IGFuZCBEYXRlVGlt
ZUZpZWxkRWxlbWVudCBvbiBsYXlvdXQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw4ICs0MCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0RPTVdpbmRvd1NoZWxsKTsKLQog
Y29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93U2hlbGw6OnNfaW5mbyA9IHsgIkpTRE9NV2luZG93
U2hlbGwiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2lu
ZG93U2hlbGwpIH07CiAKIEpTRE9NV2luZG93U2hlbGw6OkpTRE9NV2luZG93U2hlbGwoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIERPTVdyYXBwZXJXb3JsZCogd29ybGQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9u
IDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpT
SW1hZ2VDb25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU0ltYWdl
Q29uc3RydWN0b3IpOwogCiBjb25zdCBDbGFzc0luZm8gSlNJbWFnZUNvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJJbWFnZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShKU0ltYWdlQ29uc3RydWN0b3IpIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAJKHJldmlzaW9u
IDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRp
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDggKzMxLDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEpTTm9kZUZpbHRlckNvbmRpdGlvbik7Ci0KIEpTTm9kZUZpbHRlckNvbmRpdGlvbjo6SlNOb2Rl
RmlsdGVyQ29uZGl0aW9uKEpTR2xvYmFsRGF0YSYsIE5vZGVGaWx0ZXIqIG93bmVyLCBKU1ZhbHVl
IGZpbHRlcikKICAgICA6IG1fZmlsdGVyKGZpbHRlci5pc09iamVjdCgpID8gUGFzc1dlYWs8SlNP
YmplY3Q+KGpzQ2FzdDxKU09iamVjdCo+KGZpbHRlciksICZtX3dlYWtPd25lciwgb3duZXIpIDog
bnVsbHB0cikKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2VyQ29udGV4dEJhc2UuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDQsOCArNDQsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNXb3JrZXJDb250ZXh0QmFzZSk7Ci0KIGNv
bnN0IENsYXNzSW5mbyBKU1dvcmtlckNvbnRleHRCYXNlOjpzX2luZm8gPSB7ICJXb3JrZXJDb250
ZXh0IiwgJkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNXb3JrZXJDb250ZXh0QmFzZSkgfTsKIAogSlNXb3JrZXJDb250ZXh0QmFzZTo6SlNXb3Jr
ZXJDb250ZXh0QmFzZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxXb3JrZXJDb250ZXh0PiBpbXBsKQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0J
KHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xNDA0LDggKzE0MDQsNiBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50LCAiXG51c2luZyBu
YW1lc3BhY2UgSlNDO1xuXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIm5hbWVzcGFjZSBX
ZWJDb3JlIHtcblxuIik7CiAKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIkFTU0VSVF9DTEFTU19G
SVRTX0lOX0NFTEwoJGNsYXNzTmFtZSk7XG4iKTsKLQogICAgIG15ICRudW1BdHRyaWJ1dGVzID0g
R2VuZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlKCRvYmplY3QsICRkYXRhTm9kZSk7CiAKICAgICBt
eSAkbnVtQ29uc3RhbnRzID0gQHskZGF0YU5vZGUtPmNvbnN0YW50c307CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNGbG9hdDY0QXJyYXkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0Zsb2F0
NjRBcnJheS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU0Zsb2F0NjRBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTRmxvYXQ2NEFycmF5KTsKIC8qIEhhc2ggdGFi
bGUgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTRmxvYXQ2NEFycmF5VGFibGVW
YWx1ZXNbXSA9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAkocmV2aXNp
b24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDYgQEAg
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKEpTVGVzdEFjdGl2ZURPTU9iamVjdCk7CiAvKiBIYXNoIHRhYmxlICov
CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJs
ZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAko
cmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyAr
MzIsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIpOwogLyogSGFz
aCB0YWJsZSAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXJUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1
Y3Rvci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcik7
CiAvKiBIYXNoIHRhYmxlIGZvciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRh
YmxlVmFsdWUgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRUYXJnZXQuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCw3ICszOCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3RFdmVudFRhcmdl
dCk7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rl
c3RFdmVudFRhcmdldFRhYmxlVmFsdWVzW10gPQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAJ
KHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBA
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3RFeGNlcHRpb24pOwogLyogSGFzaCB0YWJsZSAqLwogCiBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTVGVzdEludGVy
ZmFjZSk7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBK
U1Rlc3RJbnRlcmZhY2VUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFibGVW
YWx1ZXNbXSA9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCShyZXZp
c2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYg
QEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKEpTVGVzdE5hbWVkQ29uc3RydWN0b3IpOwogLyogSGFzaCB0YWJs
ZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVz
dE5hbWVkQ29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHJldmlz
aW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQCB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoSlNUZXN0Tm9kZSk7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3ROb2RlVGFibGVWYWx1ZXNbXSA9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkocmV2
aXNpb24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDYgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKEpTVGVzdE9iaik7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3RPYmpUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCShyZXZpc2lv
biAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksNyArMzksNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKTsKIC8qIEhhc2ggdGFibGUgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVRhYmxlVmFsdWVzW10gPQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCShyZXZpc2lvbiAx
Mjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSw4ICszOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiB1c2luZyBuYW1l
c3BhY2UgQmluZGluZ3M7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUnVudGltZU1ldGhv
ZCk7Ci0KIGNvbnN0IENsYXNzSW5mbyBSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJSdW50aW1l
TWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShSdW50aW1lTWV0aG9kKSB9OwogCiBSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCaW5kaW5n
czo6TWV0aG9kTGlzdCYgbSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165735</attachid>
            <date>2012-09-25 23:08:41 -0700</date>
            <delta_ts>2012-10-11 12:38:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97634-20120925230803.patch</filename>
            <type>text/plain</type>
            <size>42739</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI5NTk1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwOCBA
QAorMjAxMi0wOS0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZWQgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3Bw
OgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0MpOgorICAgICAgICAqIGhlYXAvTWFya2VkU3BhY2UuaDoKKyAgICAgICAgKiBq
c2MuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgor
ICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6
CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQyk6Cisg
ICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQyk6Cisg
ICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAg
ICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJheS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNCb3VuZEZ1
bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxUaGlzLmNwcDoK
KyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9KU05hbWVTY29wZS5jcHA6CisgICAg
ICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHA6CisgICAgICAg
IChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgIChKU0Mp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAg
ICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwOgorICAgICAgICAoSlNDKToK
KyAgICAgICAgKiBydW50aW1lL0pTU2NvcGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAg
KiBydW50aW1lL0pTV2l0aFNjb3BlLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVu
dGltZS9KU1dyYXBwZXJPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL05h
bWVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvTmFt
ZVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVu
dGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L051bWJlclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
T2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUv
UmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1l
L1JlZ0V4cE1hdGNoZXNBcnJheS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9T
dHJpbmdPYmplY3QuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z1Byb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3Bw
OgorCiAyMDEyLTA5LTI1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTI5NDU2KTogaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtZXZhbC5odG1sIGlzIGZhaWxpbmcgb24gSlNDIHBsYXRmb3JtcwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDYgQEAgcHJvdGVjdGVkOgogICAgIH0K
IH07CiBDT01QSUxFX0FTU0VSVCghSXNJbnRlZ2VyPEdsb2JhbE9iamVjdD46OnZhbHVlLCBXVEZf
SXNJbnRlZ2VyX0dsb2JhbE9iamVjdF9mYWxzZSk7Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEdsb2JhbE9iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9
IHsgImdsb2JhbCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2Jh
bE9iamVjdFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEdsb2JhbE9iamVjdCkgfTsKIGNvbnN0
IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEdsb2JhbE9iamVjdDo6c19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZSA9IHsgJmFsbG93c0FjY2Vzc0Zyb20sICZzdXBwb3J0c1Byb2ZpbGluZywgJnN1cHBv
cnRzUmljaFNvdXJjZUluZm8sICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2NyaXB0RXhw
ZXJpbWVudHNFbmFibGVkIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4
cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3Bw
CShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw3ICsxMzQsNiBAQCBwcm90ZWN0ZWQ6CiB9OwogCiBD
T01QSUxFX0FTU0VSVCghSXNJbnRlZ2VyPEdsb2JhbE9iamVjdD46OnZhbHVlLCBXVEZfSXNJbnRl
Z2VyX0dsb2JhbE9iamVjdF9mYWxzZSk7Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEdsb2Jh
bE9iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgImds
b2JhbCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2JhbE9iamVj
dFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEdsb2JhbE9iamVjdCkgfTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcAkocmV2
aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVu
Y3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTQ2FsbGJhY2tGdW5jdGlvbik7CiBB
U1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU0NhbGxiYWNrRnVuY3Rpb24pOwogCiBjb25z
dCBDbGFzc0luZm8gSlNDYWxsYmFja0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJDYWxsYmFja0Z1bmN0
aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU0NhbGxiYWNrRnVuY3Rpb24pIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDkgKzMyLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pik7Ci1BU1NFUlRfQ0xBU1Nf
RklUU19JTl9DRUxMKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KTsKLQogLy8gRGVm
aW5lIHRoZSB0d28gdHlwZXMgb2YgSlNDYWxsYmFja09iamVjdHMgd2Ugc3VwcG9ydC4KIHRlbXBs
YXRlIDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8s
IDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRl
IDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19p
bmZvID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmSlNHbG9iYWxPYmplY3Q6OnNfaW5mbywg
MCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCShyZXZpc2lvbiAxMjk1ODYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw4ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCi0jZGVmaW5lIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoY2xh
c3MpIENPTVBJTEVfQVNTRVJUKHNpemVvZihjbGFzcykgPD0gTWFya2VkU3BhY2U6Om1heENlbGxT
aXplLCBjbGFzc19maXRzX2luX2NlbGwpCi0KIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBIZWFw
OwpAQCAtNjgsOCArNjYsNiBAQCBzdHJ1Y3QgQ2FwYWNpdHkgOiBNYXJrZWRCbG9jazo6Q291bnRG
dW5jCiBjbGFzcyBNYXJrZWRTcGFjZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya2Vk
U3BhY2UpOwogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2VsbFNpemUgPSAy
MDQ4OwotCiAgICAgTWFya2VkU3BhY2UoSGVhcCopOwogICAgIH5NYXJrZWRTcGFjZSgpOwogICAg
IHZvaWQgbGFzdENoYW5jZVRvRmluYWxpemUoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMs
OCArMzMsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNT
RVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChBcmd1bWVudHMpOwotCiBjb25zdCBDbGFzc0luZm8gQXJn
dW1lbnRzOjpzX2luZm8gPSB7ICJBcmd1bWVudHMiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZv
LCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEFyZ3VtZW50cykgfTsKIAogdm9pZCBBcmd1bWVu
dHM6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0
b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsOCArNTMsNiBAQCBj
b25zdCBDbGFzc0luZm8gQXJyYXlDb25zdHJ1Y3Rvcjo6c19pbmZvCiBAZW5kCiAqLwogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEFycmF5Q29uc3RydWN0b3IpOwotCiBBcnJheUNvbnN0cnVj
dG9yOjpBcnJheUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlKQogICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCAr
NDIsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChB
cnJheVByb3RvdHlwZSk7Ci0KIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKEV4ZWNTdGF0ZSopOwog
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNDb25jYXQo
RXhlY1N0YXRlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDcgKzI2LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19G
SVRTX0lOX0NFTEwoQm9vbGVhbkNvbnN0cnVjdG9yKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNU
UlVDVE9SKEJvb2xlYW5Db25zdHJ1Y3Rvcik7CiAKIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuQ29u
c3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShCb29sZWFuQ29uc3RydWN0b3IpIH07CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5
NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhbk9iamVjdCk7CiBBU1NFUlRfSEFTX1RSSVZJ
QUxfREVTVFJVQ1RPUihCb29sZWFuT2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5P
YmplY3Q6OnNfaW5mbyA9IHsgIkJvb2xlYW4iLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAs
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQm9vbGVhbk9iamVjdCkgfTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCShyZXZp
c2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJv
dG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNiBAQCBjb25zdCBDbGFzc0lu
Zm8gQm9vbGVhblByb3RvdHlwZTo6c19pbmZvCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklU
U19JTl9DRUxMKEJvb2xlYW5Qcm90b3R5cGUpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNU
T1IoQm9vbGVhblByb3RvdHlwZSk7CiAKIEJvb2xlYW5Qcm90b3R5cGU6OkJvb2xlYW5Qcm90b3R5
cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAkocmV2aXNp
b24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNiBAQCBjb25zdCBDbGFzc0luZm8g
RGF0ZUNvbnN0cnVjdG9yOjpzX2luZm8gCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKERhdGVDb25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihE
YXRlQ29uc3RydWN0b3IpOwogCiBEYXRlQ29uc3RydWN0b3I6OkRhdGVDb25zdHJ1Y3RvcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCShyZXZp
c2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90
eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsOCArNzAsNiBAQCB1c2luZyBuYW1lc3BhY2Ug
V1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChEYXRl
UHJvdG90eXBlKTsKLQogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVBy
b3RvRnVuY0dldERhdGUoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldEZ1bGxZZWFyKEV4ZWNTdGF0ZSop
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAkocmV2aXNpb24g
MTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzcsOCArMTc3LDYgQEAgSlNPYmplY3QqIHRocm93U3ludGF4RXJyb3Io
RXhlY1N0YXRlKiBleAogICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVy
cm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiU3ludGF4IGVycm9yIikpKTsKIH0KIAotQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOwotCiBjb25zdCBD
bGFzc0luZm8gU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5jdGlv
biIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RyaWN0TW9kZVR5
cGVFcnJvckZ1bmN0aW9uKSB9OwogCiB2b2lkIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbjo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFT
U19GSVRTX0lOX0NFTEwoRXJyb3JDb25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVT
VFJVQ1RPUihFcnJvckNvbnN0cnVjdG9yKTsKIAogY29uc3QgQ2xhc3NJbmZvIEVycm9yQ29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShFcnJvckNvbnN0cnVjdG9yKSB9OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI5NTg0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEVycm9yUHJvdG90eXBlKTsKLQogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZXJyb3JQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqKTsK
IAogfQpAQCAtNDgsOCArNDYsNiBAQCBjb25zdCBDbGFzc0luZm8gRXJyb3JQcm90b3R5cGU6OnNf
aW5mbyA9CiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEVycm9yUHJvdG90
eXBlKTsKLQogRXJyb3JQcm90b3R5cGU6OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBFcnJvckluc3RhbmNlKGV4ZWMtPmdsb2JhbERh
dGEoKSwgc3RydWN0dXJlKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogQVNTRVJUX0hBU19U
UklWSUFMX0RFU1RSVUNUT1IoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAKIGNvbnN0IENsYXNzSW5m
byBGdW5jdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2lu
Zm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Db25zdHJ1Y3RvcikgfTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3Rv
dHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChGdW5jdGlv
blByb3RvdHlwZSk7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihGdW5jdGlvblByb3Rv
dHlwZSk7CiAKIGNvbnN0IENsYXNzSW5mbyBGdW5jdGlvblByb3RvdHlwZTo6c19pbmZvID0geyAi
RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEZ1bmN0
aW9uUHJvdG90eXBlKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw3ICsyOSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklU
U19JTl9DRUxMKEludGVybmFsRnVuY3Rpb24pOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNU
T1IoSW50ZXJuYWxGdW5jdGlvbik7CiAKIGNvbnN0IENsYXNzSW5mbyBJbnRlcm5hbEZ1bmN0aW9u
OjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAs
IENSRUFURV9NRVRIT0RfVEFCTEUoSW50ZXJuYWxGdW5jdGlvbikgfTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAkocmV2aXNpb24gMTI5
NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzcsOCArMzcsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBu
YW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0FjdGl2YXRpb24p
OwotCiBjb25zdCBDbGFzc0luZm8gSlNBY3RpdmF0aW9uOjpzX2luZm8gPSB7ICJKU0FjdGl2YXRp
b24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQWN0aXZhdGlv
bikgfTsKIAogdm9pZCBKU0FjdGl2YXRpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsNiBAQCB1c2lu
ZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotCi1BU1NFUlRfQ0xBU1NfRklU
U19JTl9DRUxMKEpTQXJyYXkpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNBcnJh
eSk7CiAKIGNvbnN0IENsYXNzSW5mbyBKU0FycmF5OjpzX2luZm8gPSB7IkFycmF5IiwgJkpTTm9u
RmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0FycmF5KX07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5j
dGlvbi5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNCb3VuZEZ1
bmN0aW9uKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEpTQm91bmRGdW5jdGlvbik7
CiAKIGNvbnN0IENsYXNzSW5mbyBKU0JvdW5kRnVuY3Rpb246OnNfaW5mbyA9IHsgIkZ1bmN0aW9u
IiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0JvdW5kRnVuY3Rp
b24pIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsSG9zdEZ1bgogICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
ZXhlYywgY3JlYXRlTm90QUNvbnN0cnVjdG9yRXJyb3IoZXhlYywgZXhlYy0+Y2FsbGVlKCkpKTsK
IH0KIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0Z1bmN0aW9uKTsKIEFTU0VSVF9IQVNf
VFJJVklBTF9ERVNUUlVDVE9SKEpTRnVuY3Rpb24pOwogCiBjb25zdCBDbGFzc0luZm8gSlNGdW5j
dGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTRnVuY3Rpb24pIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMCw4ICsxMDAsNiBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBK
U0dsb2JhbE9iCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTR2xvYmFs
T2JqZWN0KTsKLQogLy8gRGVmYXVsdCBudW1iZXIgb2YgdGlja3MgYmVmb3JlIGEgdGltZW91dCBj
aGVjayBzaG91bGQgYmUgZG9uZS4KIHN0YXRpYyBjb25zdCBpbnQgaW5pdGlhbFRpY2tDb3VudFRo
cmVzaG9sZCA9IDI1NTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxUaGlzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbFRoaXMuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbFRoaXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICsz
MCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpT
R2xvYmFsVGhpcyk7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU0dsb2JhbFRoaXMp
OwogCiBjb25zdCBDbGFzc0luZm8gSlNHbG9iYWxUaGlzOjpzX2luZm8gPSB7ICJKU0dsb2JhbFRo
aXMiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTR2xvYmFsVGhp
cykgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTmFtZVNjb3BlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05hbWVTY29w
ZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTmFtZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsNiBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU05hbWVTY29wZSk7Ci0K
IGNvbnN0IENsYXNzSW5mbyBKU05hbWVTY29wZTo6c19pbmZvID0geyAiTmFtZVNjb3BlIiwgJkJh
c2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU05hbWVTY29wZSkgfTsKIAog
dm9pZCBKU05hbWVTY29wZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9y
JiB2aXNpdG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw2
IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTTm90
QW5PYmplY3QpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNOb3RBbk9iamVjdCk7
CiAKIGNvbnN0IENsYXNzSW5mbyBKU05vdEFuT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAm
QmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTTm90QW5PYmplY3QpIH07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAko
cmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNPTk9iamVjdCk7CiBBU1NFUlRfSEFT
X1RSSVZJQUxfREVTVFJVQ1RPUihKU09OT2JqZWN0KTsKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNPTlByb3RvRnVuY1BhcnNlKEV4ZWNTdGF0ZSopOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMTI5NTg0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MywxMCArNjMsNiBAQCBKU0NlbGwqIGdldENhbGxhYmxlT2JqZWN0U2xvdyhK
U0NlbGwqIGNlCiAgICAgcmV0dXJuIDA7CiB9CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
SlNPYmplY3QpOwotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU05vbkZpbmFsT2JqZWN0KTsK
LUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNGaW5hbE9iamVjdCk7Ci0KIEFTU0VSVF9IQVNf
VFJJVklBTF9ERVNUUlVDVE9SKEpTT2JqZWN0KTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVD
VE9SKEpTRmluYWxPYmplY3QpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcAkocmV2aXNpb24gMTI5
NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVJdGVy
YXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNQcm9wZXJ0eU5hbWVJdGVyYXRvcik7
Ci0KIGNvbnN0IENsYXNzSW5mbyBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjpzX2luZm8gPSB7ICJK
U1Byb3BlcnR5TmFtZUl0ZXJhdG9yIiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1By
b3BlcnR5TmFtZUl0ZXJhdG9yKSB9OwogCiBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvcjo6
SlNQcm9wZXJ0eU5hbWVJdGVyYXRvcihFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5
RGF0YSogcHJvcGVydHlOYW1lQXJyYXlEYXRhLCBzaXplX3QgbnVtQ2FjaGVhYmxlU2xvdHMpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Njb3BlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Njb3BlLmNwcAkocmV2aXNpb24g
MTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTY29wZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoSlNTY29wZSk7Ci0KIHZvaWQgSlNTY29wZTo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIEpTU2NvcGUq
IHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNTY29wZSo+KGNlbGwpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmNwcAkocmV2aXNpb24gMTI5NTg0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXaXRoU2NvcGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw4ICsyOCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKEpTV2l0aFNjb3BlKTsKLQogY29uc3QgQ2xhc3NJbmZvIEpTV2l0aFNj
b3BlOjpzX2luZm8gPSB7ICJXaXRoU2NvcGUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTV2l0aFNjb3BlKSB9OwogCiB2b2lkIEpTV2l0aFNjb3BlOjp2aXNpdENo
aWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dyYXBwZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV3JhcHBlck9iamVjdC5jcHAJKHJldmlz
aW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV3JhcHBlck9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNXcmFwcGVyT2JqZWN0KTsKIEFTU0VS
VF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEpTV3JhcHBlck9iamVjdCk7CiAKIHZvaWQgSlNXcmFw
cGVyT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNw
cAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0
aE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDggKzMyLDYgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTWF0aE9iamVjdCk7Ci0KIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBYnMoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jQUNv
cyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQ
cm90b0Z1bmNBU2luKEV4ZWNTdGF0ZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmFtZUNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYW1lQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lQ29uc3RydWN0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKE5hbWVDb25zdHJ1Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVT
VFJVQ1RPUihOYW1lQ29uc3RydWN0b3IpOwogCiBjb25zdCBDbGFzc0luZm8gTmFtZUNvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoTmFtZUNvbnN0cnVjdG9yKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTmFtZVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmFtZVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hbWVQcm90b3R5cGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKE5hbWVQcm90b3R5cGUpOwotCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBwcml2YXRlTmFtZVByb3RvRnVuY1RvU3RyaW5nKEV4ZWNTdGF0ZSopOwog
CiB9CkBAIC00OCw4ICs0Niw2IEBAIGNvbnN0IENsYXNzSW5mbyBOYW1lUHJvdG90eXBlOjpzX2lu
Zm8gPSAKIEBlbmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmFtZVByb3RvdHlw
ZSk7Ci0KIE5hbWVQcm90b3R5cGU6Ok5hbWVQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEJhc2UoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1
cmUsIGpzRW1wdHlTdHJpbmcoZXhlYykpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAkocmV2aXNp
b24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JD
b25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvcik7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihOYXRpdmVFcnJvckNvbnN0cnVj
dG9yKTsKIAogY29uc3QgQ2xhc3NJbmZvIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShOYXRpdmVFcnJvckNvbnN0cnVjdG9yKSB9OwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcAko
cmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw4ICsyNyw2IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE5hdGl2ZUVycm9yUHJv
dG90eXBlKTsKLQogTmF0aXZlRXJyb3JQcm90b3R5cGU6Ok5hdGl2ZUVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBFcnJvclByb3RvdHlw
ZShleGVjLCBzdHJ1Y3R1cmUpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDggKzI4LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9D
TEFTU19GSVRTX0lOX0NFTEwoTnVtYmVyQ29uc3RydWN0b3IpOwotCiBzdGF0aWMgSlNWYWx1ZSBu
dW1iZXJDb25zdHJ1Y3Rvck5hTlZhbHVlKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIFByb3BlcnR5TmFt
ZSk7CiBzdGF0aWMgSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck5lZ0luZmluaXR5KEV4ZWNTdGF0
ZSosIEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CiBzdGF0aWMgSlNWYWx1ZSBudW1iZXJDb25zdHJ1
Y3RvclBvc0luZmluaXR5KEV4ZWNTdGF0ZSosIEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAJKHJl
dmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTnVtYmVyT2JqZWN0KTsKIEFTU0VSVF9I
QVNfVFJJVklBTF9ERVNUUlVDVE9SKE51bWJlck9iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBO
dW1iZXJPYmplY3Q6OnNfaW5mbyA9IHsgIk51bWJlciIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5m
bywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShOdW1iZXJPYmplY3QpIH07CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAJKHJl
dmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDcgKzY4LDYgQEAgY29uc3QgQ2xhc3NJ
bmZvIE51bWJlclByb3RvdHlwZTo6c19pbmZvIAogQGVuZAogKi8KIAotQVNTRVJUX0NMQVNTX0ZJ
VFNfSU5fQ0VMTChOdW1iZXJQcm90b3R5cGUpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNU
T1IoTnVtYmVyUHJvdG90eXBlKTsKIAogTnVtYmVyUHJvdG90eXBlOjpOdW1iZXJQcm90b3R5cGUo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAJKHJldmlz
aW9uIDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0
cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNiBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChPYmplY3RDb25zdHJ1Y3Rvcik7Ci0K
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0
UHJvdG90eXBlT2YoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBvYmplY3RDb25zdHJ1Y3RvckdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUq
KTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9y
R2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI5NTg0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjMsOCArNjMsNiBAQCBjb25zdCBDbGFzc0luZm8gT2JqZWN0UHJv
dG90eXBlOjpzX2luZm8gCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE9i
amVjdFByb3RvdHlwZSk7Ci0KIE9iamVjdFByb3RvdHlwZTo6T2JqZWN0UHJvdG90eXBlKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHVjdHVyZSkKICAgICA6IEpTTm9uRmluYWxPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHVjdHVyZSkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEy
OTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9y
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsOCArNTMsNiBAQCBzdGF0aWMgdm9pZCBzZXRSZWdF
eHBDb25zdHJ1Y3Rvck11bHRpbGluCiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1Nf
RklUU19JTl9DRUxMKFJlZ0V4cENvbnN0cnVjdG9yKTsKLQogY29uc3QgQ2xhc3NJbmZvIFJlZ0V4
cENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpz
X2luZm8sIDAsIEV4ZWNTdGF0ZTo6cmVnRXhwQ29uc3RydWN0b3JUYWJsZSwgQ1JFQVRFX01FVEhP
RF9UQUJMRShSZWdFeHBDb25zdHJ1Y3RvcikgfTsKIAogLyogU291cmNlIGZvciBSZWdFeHBDb25z
dHJ1Y3Rvci5sdXQuaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1Nf
RklUU19JTl9DRUxMKFJlZ0V4cE1hdGNoZXNBcnJheSk7Ci0KIGNvbnN0IENsYXNzSW5mbyBSZWdF
eHBNYXRjaGVzQXJyYXk6OnNfaW5mbyA9IHsiQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cE1hdGNoZXNBcnJheSl9OwogCiBSZWdFeHBNYXRj
aGVzQXJyYXk6OlJlZ0V4cE1hdGNoZXNBcnJheShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEJ1
dHRlcmZseSogYnV0dGVyZmx5LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1N0cmlu
ZyogaW5wdXQsIFJlZ0V4cCogcmVnRXhwLCBNYXRjaFJlc3VsdCByZXN1bHQpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHJldmlzaW9u
IDEyOTU4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5LDYgQEAgc3RhdGljIEpTVmFsdWUgcmVnRXhw
T2JqZWN0U291cmNlKEV4ZWNTdAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJ
VFNfSU5fQ0VMTChSZWdFeHBPYmplY3QpOwotCiBjb25zdCBDbGFzc0luZm8gUmVnRXhwT2JqZWN0
OjpzX2luZm8gPSB7ICJSZWdFeHAiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCBFeGVj
U3RhdGU6OnJlZ0V4cFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cE9iamVjdCkgfTsK
IAogLyogU291cmNlIGZvciBSZWdFeHBPYmplY3QubHV0LmgKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI5
NTg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTksOCArNTksNiBAQCBjb25zdCBDbGFzc0luZm8gUmVnRXhw
UHJvdG90eXBlOjpzX2luZm8gCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KFJlZ0V4cFByb3RvdHlwZSk7Ci0KIFJlZ0V4cFByb3RvdHlwZTo6UmVnRXhwUHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHAq
IHJlZ0V4cCkKICAgICA6IFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVn
RXhwKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3Ry
dWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw3ICs0NSw2IEBAIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdDb25zdHJ1Y3Rvcjo6c19pbmYKIEBl
bmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nQ29uc3RydWN0b3IpOwog
QVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoU3RyaW5nQ29uc3RydWN0b3IpOwogCiBTdHJp
bmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDcgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRT
X0lOX0NFTEwoU3RyaW5nT2JqZWN0KTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKFN0
cmluZ09iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdPYmplY3Q6OnNfaW5mbyA9IHsg
IlN0cmluZyIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShTdHJpbmdPYmplY3QpIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJpbmdQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDcgKzQ3LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nUHJvdG90eXBlKTsKIEFTU0VS
VF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKFN0cmluZ1Byb3RvdHlwZSk7CiAKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY1RvU3RyaW5nKEV4ZWNTdGF0
ZSopOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI5NTk1KQorKysgU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTItMDktMjUgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmVkIEFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk3NjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJD
b25kaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNXb3JrZXJDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1w
bGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0Zsb2F0
NjRBcnJheS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdl
dHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuY3Bw
OgorICAgICAgICAoSlNDKToKKwogMjAxMi0wOS0yNSAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3Jtc10gV2Ugc2hvdWxkIGRpc2Nvbm5lY3QgRGF0
ZVRpbWVFZGl0RWxlbWVudCBhbmQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgb24gbGF5b3V0KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3Bw
CShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsNiBAQCB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoSlNET01XaW5kb3dTaGVsbCk7Ci0KIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdpbmRvd1No
ZWxsOjpzX2luZm8gPSB7ICJKU0RPTVdpbmRvd1NoZWxsIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU0RPTVdpbmRvd1NoZWxsKSB9OwogCiBKU0RPTVdpbmRvd1No
ZWxsOjpKU0RPTVdpbmRvd1NoZWxsKFN0cnVjdHVyZSogc3RydWN0dXJlLCBET01XcmFwcGVyV29y
bGQqIHdvcmxkKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0
cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lt
YWdlQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3
ICszMCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
QVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0ltYWdlQ29uc3RydWN0b3IpOwogQVNTRVJUX0hB
U19UUklWSUFMX0RFU1RSVUNUT1IoSlNJbWFnZUNvbnN0cnVjdG9yKTsKIAogY29uc3QgQ2xhc3NJ
bmZvIEpTSW1hZ2VDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiSW1hZ2VDb25zdHJ1Y3RvciIsICZC
YXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNJbWFnZUNvbnN0cnVjdG9y
KSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ29uZGl0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVG
aWx0ZXJDb25kaXRpb24uY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDb25kaXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw4ICszMSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU05vZGVGaWx0ZXJDb25kaXRpb24pOwotCiBK
U05vZGVGaWx0ZXJDb25kaXRpb246OkpTTm9kZUZpbHRlckNvbmRpdGlvbihKU0dsb2JhbERhdGEm
LCBOb2RlRmlsdGVyKiBvd25lciwgSlNWYWx1ZSBmaWx0ZXIpCiAgICAgOiBtX2ZpbHRlcihmaWx0
ZXIuaXNPYmplY3QoKSA/IFBhc3NXZWFrPEpTT2JqZWN0Pihqc0Nhc3Q8SlNPYmplY3QqPihmaWx0
ZXIpLCAmbV93ZWFrT3duZXIsIG93bmVyKSA6IG51bGxwdHIpCiB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAkocmV2aXNp
b24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0
QmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDYgQEAgdXNpbmcgbmFtZXNwYWNl
IEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEpTV29ya2VyQ29udGV4dEJhc2UpOwotCiBjb25zdCBDbGFzc0luZm8gSlNXb3JrZXJDb250ZXh0
QmFzZTo6c19pbmZvID0geyAiV29ya2VyQ29udGV4dCIsICZKU0RPTUdsb2JhbE9iamVjdDo6c19p
bmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTV29ya2VyQ29udGV4dEJhc2UpIH07CiAK
IEpTV29ya2VyQ29udGV4dEJhc2U6OkpTV29ya2VyQ29udGV4dEJhc2UoSlNDOjpKU0dsb2JhbERh
dGEmIGdsb2JhbERhdGEsIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8V29y
a2VyQ29udGV4dD4gaW1wbCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5
KQpAQCAtMTQwNCw4ICsxNDA0LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIlxudXNpbmcgbmFtZXNwYWNlIEpTQztcblxuIik7CiAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJuYW1lc3BhY2UgV2ViQ29yZSB7XG5cbiIpOwogCi0gICAgcHVzaChA
aW1wbENvbnRlbnQsICJBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKCRjbGFzc05hbWUpO1xuIik7
Ci0KICAgICBteSAkbnVtQXR0cmlidXRlcyA9IEdlbmVyYXRlQXR0cmlidXRlc0hhc2hUYWJsZSgk
b2JqZWN0LCAkZGF0YU5vZGUpOwogCiAgICAgbXkgJG51bUNvbnN0YW50cyA9IEB7JGRhdGFOb2Rl
LT5jb25zdGFudHN9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTRmxvYXQ2NEFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNGbG9hdDY0QXJyYXkuY3BwCShyZXZpc2lvbiAxMjk1ODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNGbG9hdDY0QXJy
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChK
U0Zsb2F0NjRBcnJheSk7CiAvKiBIYXNoIHRhYmxlICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU0Zsb2F0NjRBcnJheVRhYmxlVmFsdWVzW10gPQpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3RBY3RpdmVE
T01PYmplY3QpOwogLyogSGFzaCB0YWJsZSAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFs
dWUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXNbXSA9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTVGVz
dEN1c3RvbU5hbWVkR2V0dGVyKTsKIC8qIEhhc2ggdGFibGUgKi8KIAogc3RhdGljIGNvbnN0IEhh
c2hUYWJsZVZhbHVlIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyVGFibGVWYWx1ZXNbXSA9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDYgQEAgdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9D
RUxMKEpTVGVzdEV2ZW50Q29uc3RydWN0b3IpOwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0
b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV2ZW50Q29uc3RydWN0
b3JUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAkocmV2aXNp
b24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQCB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19G
SVRTX0lOX0NFTEwoSlNUZXN0RXZlbnRUYXJnZXQpOwogLyogSGFzaCB0YWJsZSAqLwogCiBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXZlbnRUYXJnZXRUYWJsZVZhbHVlc1tdID0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNl
cHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNUZXN0RXhjZXB0
aW9uKTsKIC8qIEhhc2ggdGFibGUgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzW10gPQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJ
KHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBA
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3RJbnRlcmZhY2UpOwogLyogSGFzaCB0YWJsZSAqLwogCiBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJmYWNlVGFibGVWYWx1ZXNbXSA9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCShy
ZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDcgKzMyLDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIp
OwogLyogSGFzaCB0YWJsZSAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRhYmxlVmFsdWVzW10gPQpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yKTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yVGFibGVWYWx1ZXNb
XSA9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAxMjk1ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDcgKzMxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTVGVzdE5vZGUpOwogLyogSGFzaCB0
YWJsZSAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0Tm9kZVRhYmxlVmFs
dWVzW10gPQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHJldmlzaW9uIDEyOTU4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03Niw3ICs3Niw2IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Rlc3RPYmopOwogLyogSGFzaCB0
YWJsZSAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1
ZXNbXSA9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAgdXNpbmcgbmFtZXNwYWNl
IEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSk7CiAvKiBIYXNoIHRhYmxlICov
CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2VUYWJsZVZhbHVlc1tdID0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX21ldGhvZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmNwcAkocmV2aXNpb24gMTI5NTg0KQorKysgU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksOCArMzksNiBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogdXNpbmcgbmFtZXNwYWNlIEJpbmRpbmdzOwogCi1BU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKFJ1bnRpbWVNZXRob2QpOwotCiBjb25zdCBDbGFzc0luZm8gUnVudGlt
ZU1ldGhvZDo6c19pbmZvID0geyAiUnVudGltZU1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUnVudGltZU1ldGhvZCkgfTsKIAogUnVu
dGltZU1ldGhvZDo6UnVudGltZU1ldGhvZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQmluZGluZ3M6Ok1ldGhvZExpc3QmIG0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168260</attachid>
            <date>2012-10-11 12:38:02 -0700</date>
            <delta_ts>2012-10-11 12:52:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97634-20121011123700.patch</filename>
            <type>text/plain</type>
            <size>30236</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYzIEBA
CisyMDEyLTEwLTExICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlZCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91ciBjb2xsZWN0b3Igbm93IHN1cHBvcnRzIGFy
Yml0cmFyaWx5IHNpemVkIG9iamVjdHMsIHNvIHRoZSBBU1NFUlQgaXMgbm90IG5lZWRlZC4KKwor
ICAgICAgICAqIEFQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwOgorICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAgKiBoZWFwL01hcmtlZFNwYWNlLmg6CisgICAgICAg
ICoganNjLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0FyZ3VtZW50cy5jcHA6CisgICAgICAgICog
cnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Jv
b2xlYW5Qcm90b3R5cGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvRXJyb3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGltZS9G
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXku
Y3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBy
dW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxUaGlzLmNwcDoKKyAgICAgICAgKiBydW50
aW1lL0pTTmFtZVNjb3BlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTTm90QW5PYmplY3QuY3Bw
OgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9K
U09iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTU2NvcGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNX
aXRoU2NvcGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvTmFtZUNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL05hbWVQcm90b3R5cGUuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVu
dGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGltZS9OdW1iZXJD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL09i
amVjdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5j
cHA6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICog
cnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhw
T2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHA6CisgICAg
ICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9T
dHJpbmdPYmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoK
KyAgICAgICAgKiB0ZXN0UmVnRXhwLmNwcDogUmVtb3ZlZCB0aGUgQVNTRVJULgorCiAyMDEyLTEw
LTEwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFBhZ2Vs
b2FkIHRlc3RzIHNob3VsZCBtZWFzdXJlIG1lbW9yeSB1c2FnZQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNTEsNyArMjUxLDYgQEAgcHJvdGVjdGVkOgogfTsKIAogQ09N
UElMRV9BU1NFUlQoIUlzSW50ZWdlcjxHbG9iYWxPYmplY3Q+Ojp2YWx1ZSwgV1RGX0lzSW50ZWdl
cl9HbG9iYWxPYmplY3RfZmFsc2UpOwotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChHbG9iYWxP
YmplY3QpOwogCiBjb25zdCBDbGFzc0luZm8gR2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJnbG9i
YWwiLCAmSlNHbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpnbG9iYWxPYmplY3RU
YWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJMRShHbG9iYWxPYmplY3QpIH07CiBjb25zdCBHbG9iYWxP
YmplY3RNZXRob2RUYWJsZSBHbG9iYWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUg
PSB7ICZhbGxvd3NBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hT
b3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlwdEV4cGVyaW1lbnRz
RW5hYmxlZCB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcAkocmV2aXNp
b24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzgsNyArMTM4LDYgQEAgcHJvdGVjdGVkOgogfTsKIAogQ09NUElMRV9B
U1NFUlQoIUlzSW50ZWdlcjxHbG9iYWxPYmplY3Q+Ojp2YWx1ZSwgV1RGX0lzSW50ZWdlcl9HbG9i
YWxPYmplY3RfZmFsc2UpOwotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChHbG9iYWxPYmplY3Qp
OwogCiBjb25zdCBDbGFzc0luZm8gR2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJnbG9iYWwiLCAm
SlNHbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpnbG9iYWxPYmplY3RUYWJsZSwg
Q1JFQVRFX01FVEhPRF9UQUJMRShHbG9iYWxPYmplY3QpIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDEz
MTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
QVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogQVNTRVJUX0hB
U19UUklWSUFMX0RFU1RSVUNUT1IoSlNDYWxsYmFja0Z1bmN0aW9uKTsKIAogY29uc3QgQ2xhc3NJ
bmZvIEpTQ2FsbGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJ
bnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxs
YmFja0Z1bmN0aW9uKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q2FsbGJhY2tPYmplY3QuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICsz
Miw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpT
Q2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+KTsKLUFTU0VSVF9DTEFTU19GSVRT
X0lOX0NFTEwoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4pOwotCiAvLyBEZWZpbmUg
dGhlIHR3byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgogdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+IGNvbnN0IENs
YXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZvID0geyAiQ2Fs
bGJhY2tHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9NYXJrZWRTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZFNwYWNlLmgJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL01hcmtlZFNwYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDYgQEAKICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNk
ZWZpbmUgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChjbGFzcykgQ09NUElMRV9BU1NFUlQoc2l6
ZW9mKGNsYXNzKSA8PSBNYXJrZWRTcGFjZTo6bWF4Q2VsbFNpemUsIGNsYXNzX2ZpdHNfaW5fY2Vs
bCkKLQogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEhlYXA7CkBAIC02OCw4ICs2Niw2IEBAIHN0
cnVjdCBDYXBhY2l0eSA6IE1hcmtlZEJsb2NrOjpDb3VudEZ1bmMKIGNsYXNzIE1hcmtlZFNwYWNl
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRTcGFjZSk7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIGNvbnN0IHNpemVfdCBtYXhDZWxsU2l6ZSA9IDIwNDg7Ci0KICAgICBNYXJrZWRTcGFj
ZShIZWFwKik7CiAgICAgfk1hcmtlZFNwYWNlKCk7CiAgICAgdm9pZCBsYXN0Q2hhbmNlVG9GaW5h
bGl6ZSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMu
Y3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw4ICszMyw2IEBAIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEFyZ3VtZW50cyk7Ci0KIGNvbnN0IENsYXNzSW5mbyBBcmd1bWVudHM6OnNfaW5mbyA9IHsgIkFy
Z3VtZW50cyIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQXJndW1l
bnRzKSB9OwogCiB2b2lkIEFyZ3VtZW50czo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01Myw4ICs1Myw2IEBAIGNvbnN0IENsYXNzSW5mbyBBcnJheUNvbnN0cnVjdG9yOjpz
X2luZm8KIEBlbmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQXJyYXlDb25zdHJ1
Y3Rvcik7Ci0KIEFycmF5Q29uc3RydWN0b3I6OkFycmF5Q29uc3RydWN0b3IoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBJbnRlcm5hbEZ1
bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTMxMDg2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEFycmF5UHJvdG90eXBlKTsKLQogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqKTsK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9Mb2Nh
bGVTdHJpbmcoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAkocmV2aXNp
b24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0
cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuQ29uc3RydWN0b3IpOwog
QVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoQm9vbGVhbkNvbnN0cnVjdG9yKTsKIAogY29u
c3QgQ2xhc3NJbmZvIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAm
QmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEJvb2xlYW5Db25zdHJ1Y3Rv
cikgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5P
YmplY3QuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Cb29sZWFuT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuT2Jq
ZWN0KTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEJvb2xlYW5PYmplY3QpOwogCiBj
b25zdCBDbGFzc0luZm8gQm9vbGVhbk9iamVjdDo6c19pbmZvID0geyAiQm9vbGVhbiIsICZKU1dy
YXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShCb29sZWFuT2Jq
ZWN0KSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3Rv
dHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9v
bGVhblByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3
ICs0Nyw2IEBAIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuUHJvdG90eXBlOjpzX2luZm8KIEBlbmQK
ICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhblByb3RvdHlwZSk7CiBBU1NF
UlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihCb29sZWFuUHJvdG90eXBlKTsKIAogQm9vbGVhblBy
b3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3
MSw2IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyAKIEBlbmQKICov
CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRGF0ZUNvbnN0cnVjdG9yKTsKIEFTU0VSVF9I
QVNfVFJJVklBTF9ERVNUUlVDVE9SKERhdGVDb25zdHJ1Y3Rvcik7CiAKIERhdGVDb25zdHJ1Y3Rv
cjo6RGF0ZUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw4ICs3
MCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKERhdGVQcm90b3R5cGUpOwotCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF0ZShFeGVjU3RhdGUqKTsKIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXREYXkoRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5j
R2V0RnVsbFllYXIoRXhlY1N0YXRlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FcnJvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw4ICsxNzcsNiBAQCBKU09i
amVjdCogdGhyb3dTeW50YXhFcnJvcihFeGVjU3RhdGUqIGV4CiAgICAgcmV0dXJuIHRocm93RXJy
b3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJTeW50YXggZXJy
b3IiKSkpOwogfQogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0cmljdE1vZGVUeXBlRXJy
b3JGdW5jdGlvbik7Ci0KIGNvbnN0IENsYXNzSW5mbyBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rp
b246OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pIH07CiAKIHZvaWQgU3RyaWN0
TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCShy
ZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNv
bnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvckNvbnN0cnVjdG9yKTsK
IEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEVycm9yQ29uc3RydWN0b3IpOwogCiBjb25z
dCBDbGFzc0luZm8gRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFz
ZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVycm9yQ29uc3RydWN0b3IpIH07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5
cGUuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQcm90b3R5
cGUpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoRXJyb3JQcm90b3R5cGUpOwogCiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBlcnJvclByb3RvRnVuY1RvU3RyaW5n
KEV4ZWNTdGF0ZSopOwpAQCAtNDksOCArNDgsNiBAQCBjb25zdCBDbGFzc0luZm8gRXJyb3JQcm90
b3R5cGU6OnNfaW5mbyA9CiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEVy
cm9yUHJvdG90eXBlKTsKLQogRXJyb3JQcm90b3R5cGU6OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBFcnJvckluc3RhbmNlKGV4ZWMt
Pmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDEz
MTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw2IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogQVNT
RVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAKIGNvbnN0
IENsYXNzSW5mbyBGdW5jdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZC
YXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Db25zdHJ1Y3Rv
cikgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIs
NyArMzIsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VM
TChGdW5jdGlvblByb3RvdHlwZSk7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihGdW5j
dGlvblByb3RvdHlwZSk7CiAKIGNvbnN0IENsYXNzSW5mbyBGdW5jdGlvblByb3RvdHlwZTo6c19p
bmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEZ1bmN0aW9uUHJvdG90eXBlKSB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKEludGVybmFsRnVuY3Rpb24pOwogQVNTRVJUX0hBU19UUklWSUFM
X0RFU1RSVUNUT1IoSW50ZXJuYWxGdW5jdGlvbik7CiAKIGNvbnN0IENsYXNzSW5mbyBJbnRlcm5h
bEZ1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSW50ZXJuYWxGdW5jdGlvbikgfTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAkocmV2aXNpb24gMTMxMDg2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzcsOCArMzcsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0FjdGl2YXRpb24pOwot
CiBjb25zdCBDbGFzc0luZm8gSlNBY3RpdmF0aW9uOjpzX2luZm8gPSB7ICJKU0FjdGl2YXRpb24i
LCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQWN0aXZhdGlvbikg
fTsKIAogdm9pZCBKU0FjdGl2YXRpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsNiBAQCB1c2luZyBu
YW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotCi1BU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKEpTQXJyYXkpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNBcnJheSk7
CiAKIGNvbnN0IENsYXNzSW5mbyBKU0FycmF5OjpzX2luZm8gPSB7IkFycmF5IiwgJkpTTm9uRmlu
YWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0FycmF5KX07Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlv
bi5jcHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNCb3VuZEZ1bmN0
aW9uKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEpTQm91bmRGdW5jdGlvbik7CiAK
IGNvbnN0IENsYXNzSW5mbyBKU0JvdW5kRnVuY3Rpb246OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwg
JkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0JvdW5kRnVuY3Rpb24p
IH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBjYWxsSG9zdEZ1bgogICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhl
YywgY3JlYXRlTm90QUNvbnN0cnVjdG9yRXJyb3IoZXhlYywgZXhlYy0+Y2FsbGVlKCkpKTsKIH0K
IAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0Z1bmN0aW9uKTsKIEFTU0VSVF9IQVNfVFJJ
VklBTF9ERVNUUlVDVE9SKEpTRnVuY3Rpb24pOwogCiBjb25zdCBDbGFzc0luZm8gSlNGdW5jdGlv
bjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTRnVuY3Rpb24pIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMCw4ICsxMDAsNiBAQCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU0ds
b2JhbE9iCiBAZW5kCiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTR2xvYmFsT2Jq
ZWN0KTsKLQogLy8gRGVmYXVsdCBudW1iZXIgb2YgdGlja3MgYmVmb3JlIGEgdGltZW91dCBjaGVj
ayBzaG91bGQgYmUgZG9uZS4KIHN0YXRpYyBjb25zdCBpbnQgaW5pdGlhbFRpY2tDb3VudFRocmVz
aG9sZCA9IDI1NTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOYW1l
U2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TmFtZVNjb3BlLmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNOYW1lU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTTmFtZVNj
b3BlKTsKLQogY29uc3QgQ2xhc3NJbmZvIEpTTmFtZVNjb3BlOjpzX2luZm8gPSB7ICJOYW1lU2Nv
cGUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTTmFtZVNjb3Bl
KSB9OwogCiB2b2lkIEpTTmFtZVNjb3BlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xv
dFZpc2l0b3ImIHZpc2l0b3IpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U05vdEFuT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU05vdEFuT2JqZWN0LmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDcgKzM0LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NF
TEwoSlNOb3RBbk9iamVjdCk7CiBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU05vdEFu
T2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTTm90QW5PYmplY3Q6OnNfaW5mbyA9IHsgIk9i
amVjdCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNOb3RBbk9i
amVjdCkgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09OT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU09OT2JqZWN0KTsKIEFT
U0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKEpTT05PYmplY3QpOwogCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU09OUHJvdG9GdW5jUGFyc2UoRXhlY1N0YXRlKik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lv
biAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTYyLDEwICs2Miw2IEBAIEpTQ2VsbCogZ2V0Q2FsbGFibGVPYmpl
Y3RTbG93KEpTQ2VsbCogY2UKICAgICByZXR1cm4gMDsKIH0KIAotQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChKU09iamVjdCk7Ci1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTTm9uRmluYWxP
YmplY3QpOwotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0ZpbmFsT2JqZWN0KTsKLQogQVNT
RVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoSlNPYmplY3QpOwogQVNTRVJUX0hBU19UUklWSUFM
X0RFU1RSVUNUT1IoSlNGaW5hbE9iamVjdCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwCShyZXZp
c2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMsNiBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Byb3BlcnR5TmFtZUl0
ZXJhdG9yKTsKLQogY29uc3QgQ2xhc3NJbmZvIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I6OnNfaW5m
byA9IHsgIkpTUHJvcGVydHlOYW1lSXRlcmF0b3IiLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTUHJvcGVydHlOYW1lSXRlcmF0b3IpIH07CiAKIGlubGluZSBKU1Byb3BlcnR5TmFtZUl0
ZXJhdG9yOjpKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlO
YW1lQXJyYXlEYXRhKiBwcm9wZXJ0eU5hbWVBcnJheURhdGEsIHNpemVfdCBudW1DYWNoZWFibGVT
bG90cykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCShy
ZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Byb3h5KTsKIEFTU0VSVF9IQVNfVFJJVklB
TF9ERVNUUlVDVE9SKEpTUHJveHkpOwogCiBjb25zdCBDbGFzc0luZm8gSlNQcm94eTo6c19pbmZv
ID0geyAiSlNQcm94eSIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNQcm94eSkgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUu
Y3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Njb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU1Njb3BlKTsKIEFTU0VSVF9IQVNf
VFJJVklBTF9ERVNUUlVDVE9SKEpTU2NvcGUpOwogCiB2b2lkIEpTU2NvcGU6OnZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dpdGhTY29wZS5jcHAJKHJldmlzaW9uIDEzMTA4NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV2l0aFNjb3BlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsOCArMjgsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChKU1dpdGhTY29wZSk7Ci0KIGNvbnN0IENsYXNzSW5mbyBKU1dpdGhT
Y29wZTo6c19pbmZvID0geyAiV2l0aFNjb3BlIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU1dpdGhTY29wZSkgfTsKIAogdm9pZCBKU1dpdGhTY29wZTo6dmlzaXRD
aGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dyYXBwZXJPYmplY3QuY3BwCShyZXZp
c2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1dyYXBwZXJP
YmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw2IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTV3JhcHBlck9iamVjdCk7CiBBU1NF
UlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihKU1dyYXBwZXJPYmplY3QpOwogCiB2b2lkIEpTV3Jh
cHBlck9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNp
dG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5j
cHAJKHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
dGhPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE1hdGhPYmplY3QpOwogQVNTRVJU
X0hBU19UUklWSUFMX0RFU1RSVUNUT1IoTWF0aE9iamVjdCk7CiAKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNBYnMoRXhlY1N0YXRlKik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lQ29uc3RydWN0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hbWVDb25zdHJ1Y3Rvci5jcHAJ
KHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hbWVD
b25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmFtZUNvbnN0cnVjdG9yKTsK
IEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKE5hbWVDb25zdHJ1Y3Rvcik7CiAKIGNvbnN0
IENsYXNzSW5mbyBOYW1lQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShOYW1lQ29uc3RydWN0b3IpIH07Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90eXBlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmFt
ZVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmFtZVByb3RvdHlwZSk7Ci0K
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHByaXZhdGVOYW1lUHJvdG9GdW5j
VG9TdHJpbmcoRXhlY1N0YXRlKik7CiAKIH0KQEAgLTQ4LDggKzQ2LDYgQEAgY29uc3QgQ2xhc3NJ
bmZvIE5hbWVQcm90b3R5cGU6OnNfaW5mbyA9IAogQGVuZAogKi8KIAotQVNTRVJUX0NMQVNTX0ZJ
VFNfSU5fQ0VMTChOYW1lUHJvdG90eXBlKTsKLQogTmFtZVByb3RvdHlwZTo6TmFtZVByb3RvdHlw
ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogQmFzZShleGVj
LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwganNFbXB0eVN0cmluZyhleGVjKSkKIHsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9y
Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChOYXRpdmVFcnJvckNvbnN0cnVjdG9yKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVD
VE9SKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogCiBjb25zdCBDbGFzc0luZm8gTmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6
c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE5hdGl2ZUVycm9yQ29uc3RydWN0b3Ip
IH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDggKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRT
X0lOX0NFTEwoTmF0aXZlRXJyb3JQcm90b3R5cGUpOwotCiBOYXRpdmVFcnJvclByb3RvdHlwZTo6
TmF0aXZlRXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKICAgICA6IEVycm9yUHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVyZSkKIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAJ
KHJldmlzaW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJl
ckNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsNiBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChOdW1iZXJDb25zdHJ1Y3Rv
cik7Ci0KIHN0YXRpYyBKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTmFOVmFsdWUoRXhlY1N0YXRl
KiwgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKIHN0YXRpYyBKU1ZhbHVlIG51bWJlckNvbnN0cnVj
dG9yTmVnSW5maW5pdHkoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKIHN0YXRp
YyBKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yUG9zSW5maW5pdHkoRXhlY1N0YXRlKiwgSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyT2JqZWN0LmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChO
dW1iZXJPYmplY3QpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoTnVtYmVyT2JqZWN0
KTsKIAogY29uc3QgQ2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAiTnVtYmVyIiwg
JkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE51bWJl
ck9iamVjdCkgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyUHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgs
NyArNjgsNiBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyUHJvdG90eXBlOjpzX2luZm8gCiBAZW5k
CiAqLwogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE51bWJlclByb3RvdHlwZSk7CiBBU1NF
UlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUihOdW1iZXJQcm90b3R5cGUpOwogCiBOdW1iZXJQcm90
b3R5cGU6Ok51bWJlclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0
dXJlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVj
dENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4
ICszNSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KE9iamVjdENvbnN0cnVjdG9yKTsKLQogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgb2JqZWN0Q29uc3RydWN0b3JHZXRQcm90b3R5cGVPZihFeGVjU3RhdGUqKTsKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yR2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSopOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5
cGUuY3BwCShyZXZpc2lvbiAxMzEwODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw4ICs2Myw2IEBAIGNv
bnN0IENsYXNzSW5mbyBPYmplY3RQcm90b3R5cGU6OnNfaW5mbyAKIEBlbmQKICovCiAKLUFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoT2JqZWN0UHJvdG90eXBlKTsKLQogT2JqZWN0UHJvdG90eXBl
OjpPYmplY3RQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0dWN0dXJlKQog
ICAgIDogSlNOb25GaW5hbE9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0dWN0dXJlKQogewpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw4ICs1Myw2
IEBAIHN0YXRpYyB2b2lkIHNldFJlZ0V4cENvbnN0cnVjdG9yTXVsdGlsaW4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUmVnRXhwQ29uc3RydWN0b3IpOwot
CiBjb25zdCBDbGFzc0luZm8gUmVnRXhwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9u
IiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpyZWdFeHBDb25zdHJ1
Y3RvclRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cENvbnN0cnVjdG9yKSB9OwogCiAv
KiBTb3VyY2UgZm9yIFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5jcHAJKHJldmlz
aW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNo
ZXNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDYgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoUmVnRXhwTWF0Y2hlc0FycmF5KTsK
LQogY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cE1hdGNoZXNBcnJheTo6c19pbmZvID0geyJBcnJheSIs
ICZKU0FycmF5OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUmVnRXhwTWF0Y2hl
c0FycmF5KX07CiAKIFJlZ0V4cE1hdGNoZXNBcnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5KEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgQnV0dGVyZmx5KiBidXR0ZXJmbHksIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBpbnB1dCwgUmVnRXhwKiByZWdFeHAsIE1hdGNoUmVz
dWx0IHJlc3VsdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNiBA
QCBzdGF0aWMgSlNWYWx1ZSByZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0CiAKIG5hbWVzcGFjZSBK
U0MgewogCi1BU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cE9iamVjdCk7CiBBU1NFUlRf
SEFTX1RSSVZJQUxfREVTVFJVQ1RPUihSZWdFeHBPYmplY3QpOwogCiBjb25zdCBDbGFzc0luZm8g
UmVnRXhwT2JqZWN0OjpzX2luZm8gPSB7ICJSZWdFeHAiLCAmQmFzZTo6c19pbmZvLCAwLCBFeGVj
U3RhdGU6OnJlZ0V4cFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cE9iamVjdCkgfTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gMTMxMDg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksOCArNTksNiBAQCBj
b25zdCBDbGFzc0luZm8gUmVnRXhwUHJvdG90eXBlOjpzX2luZm8gCiBAZW5kCiAqLwogCi1BU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cFByb3RvdHlwZSk7Ci0KIFJlZ0V4cFByb3RvdHlw
ZTo6UmVnRXhwUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICA6IFJlZ0V4cE9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMTMxMDg2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBAIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdD
b25zdHJ1Y3Rvcjo6c19pbmYKIEBlbmQKICovCiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
U3RyaW5nQ29uc3RydWN0b3IpOwogQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoU3RyaW5n
Q29uc3RydWN0b3IpOwogCiBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAJKHJldmlz
aW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nT2JqZWN0KTsKIEFTU0VSVF9IQVNf
VFJJVklBTF9ERVNUUlVDVE9SKFN0cmluZ09iamVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBTdHJp
bmdPYmplY3Q6OnNfaW5mbyA9IHsgIlN0cmluZyIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywg
MCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShTdHJpbmdPYmplY3QpIH07CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHJldmlz
aW9uIDEzMTA4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3Rv
dHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDYgQEAgdXNpbmcgbmFtZXNwYWNl
IFdURjsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3Ry
aW5nUHJvdG90eXBlKTsKIEFTU0VSVF9IQVNfVFJJVklBTF9ERVNUUlVDVE9SKFN0cmluZ1Byb3Rv
dHlwZSk7CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3Rv
RnVuY1RvU3RyaW5nKEV4ZWNTdGF0ZSopOwo=
</data>
<flag name="review"
          id="181189"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
    <flag name="commit-queue"
          id="181194"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>