<?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>114846</bug_id>
          
          <creation_ts>2013-04-18 21:13:23 -0700</creation_ts>
          <short_desc>Remove unmaintained feature REQUEST_AUTOCOMPLETE</short_desc>
          <delta_ts>2013-04-19 01:39:49 -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>Forms</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>
          
          <blocked>100560</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dan Beam">dbeam</reporter>
          <assigned_to name="Dan Beam">dbeam</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>878208</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-18 21:13:23 -0700</bug_when>
    <thetext>Because HTMLFormElement#requestAutocomplete() was only used by the now removed Chromium port, its code should be deleted from WebKit to reduce code complexity and to speed up test time, pre-processing/compilation, and checkout times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878209</commentid>
    <comment_count>1</comment_count>
      <attachid>198793</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-18 21:21:12 -0700</bug_when>
    <thetext>Created attachment 198793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878214</commentid>
    <comment_count>2</comment_count>
      <attachid>198794</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-18 21:38:40 -0700</bug_when>
    <thetext>Created attachment 198794
forgot some expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878246</commentid>
    <comment_count>3</comment_count>
      <attachid>198794</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-04-18 22:54:18 -0700</bug_when>
    <thetext>Comment on attachment 198794
forgot some expectations

looks ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878267</commentid>
    <comment_count>4</comment_count>
      <attachid>198794</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-18 23:51:44 -0700</bug_when>
    <thetext>Comment on attachment 198794
forgot some expectations

Rejecting attachment 198794 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 198794, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
/git.webkit.org/WebKit
   72ebac6..17aafb0  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 148722 = 72ebac6aad6a24b631d7d29f2b14a1b3dc3d6245
r148723 = 17aafb03f77f30745e12e56865f0970089735641
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.appspot.com/results/25171</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878273</commentid>
    <comment_count>5</comment_count>
      <attachid>198815</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-19 00:04:49 -0700</bug_when>
    <thetext>Created attachment 198815
merge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878274</commentid>
    <comment_count>6</comment_count>
      <attachid>198815</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-04-19 00:08:56 -0700</bug_when>
    <thetext>Comment on attachment 198815
merge

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests (OOPS!).

Please remove OOPS!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878278</commentid>
    <comment_count>7</comment_count>
      <attachid>198817</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-19 00:11:38 -0700</bug_when>
    <thetext>Created attachment 198817
removing OOPS!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878279</commentid>
    <comment_count>8</comment_count>
      <attachid>198815</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-04-19 00:12:05 -0700</bug_when>
    <thetext>Comment on attachment 198815
merge

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        No new tests (OOPS!).
&gt; 
&gt; Please remove OOPS!

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878280</commentid>
    <comment_count>9</comment_count>
      <attachid>198817</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-04-19 00:12:34 -0700</bug_when>
    <thetext>Comment on attachment 198817
removing OOPS!

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878305</commentid>
    <comment_count>10</comment_count>
      <attachid>198817</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-19 01:39:45 -0700</bug_when>
    <thetext>Comment on attachment 198817
removing OOPS!

Clearing flags on attachment: 198817

Committed r148731: &lt;http://trac.webkit.org/changeset/148731&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878306</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-19 01:39:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198793</attachid>
            <date>2013-04-18 21:21:12 -0700</date>
            <delta_ts>2013-04-18 21:38:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114846-20130418212042.patch</filename>
            <type>text/plain</type>
            <size>33084</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0NTJjNWRkY2Y1MDJjZDJlZjdmODBm
N2JkOTFiNzA1NDRjNTM4MTUuLjk5MzU4ZTczYTgyMjI4NTA0MzhjN2Q2ODI3YzlhYTI2ZGYyNmVm
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMTggIERhbiBCZWFtICA8ZGJlYW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSB1bm1haW50YWluZWQgZmVhdHVyZSBSRVFVRVNU
X0FVVE9DT01QTEVURQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE0ODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogUmVtb3ZlIFJFUVVFU1RfQVVUT0NPTVBMRVRF
IGFzIGEgZmVhdHVyZSBkZWZpbml0aW9uLgorCiAyMDEzLTA0LTE4ICBab2x0YW4gQXJ2YWkgIDx6
YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBm
b3IgUXQgTW91bnRhaW4gTGlvbiBSZWxlYXNlIGFmdGVyIHIxNDg2MzkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODkxNWY4MjRkNWM1MjIxY2IwZGI3YWU1Mzk2ZTliYjBkMjNiNjMxNS4uYjg4ZmQwZDM1YjQ0M2U5
N2YxZjkyOTQwMzIxYzk1ZmM2ODUzMTMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDEzLTA0LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1v
dmUgdW5tYWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBiaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6IFJl
bW92ZSByZXF1ZXN0QXV0b2NvbXBsZXRlKCkgcnVudGltZSBmZWF0dXJlLgorICAgICAgICAqIGJp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcyk6IFJlbW92ZSByZXF1ZXN0QXV0b2NvbXBsZXRlKCkgcnVudGltZSBm
ZWF0dXJlLgorICAgICAgICAqIGRvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmg6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS9FdmVudE5hbWVzLmg6IFJlbW92ZSBgYXV0b2NvbXBsZXRlYCBhbmQgYGF1dG9j
b21wbGV0ZWVycm9yYCBldmVudCBuYW1lcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGRvbS9FdmVudE5hbWVzLmluOiBSZW1vdmUgYGF1dG9jb21wbGV0ZWAgYW5kIGBhdXRvY29tcGxl
dGVlcnJvcmAgZXZlbnQgbmFtZXMuCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW46IFJlbW92ZSBgb25hdXRvY29tcGxldGVgIGFuZCBgb25hdXRvY29tcGxldGVlcnJvcmAgZm9y
bSBhdHRyaWJ1dGVzLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDogUmVtb3Zl
IHJlcXVlc3RBdXRvY29tcGxldGUoKSByZWxhdGVkIGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MRm9ybUVsZW1lbnQ6OkhUTUxGb3JtRWxlbWVudCk6IFJlbW92ZSB0aW1lciBhbmQgZXZlbnQg
cXVldWUgZm9yIHJlcXVlc3RBdXRvY29tcGxldGUoKSByZWxhdGVkIGV2ZW50cy4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBSZW1vdmUgcGFyc2lu
ZyBvZiBgb25hdXRvY29tcGxldGVgIGFuZCBgb25hdXRvY29tcGxldGVycm9yYC4KKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtRWxlbWVudC5oOiBSZW1vdmUgcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHJl
bGF0ZWQgbWVtYmVycy4KKyAgICAgICAgKEhUTUxGb3JtRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaWRsOiBSZW1vdmUgcHVibGljIHJlcXVlc3RBdXRvY29tcGxldGUo
KSBBUEkgbWV0aG9kLgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOiBSZW1vdmUg
c3R1YiBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGxvYWRl
ci9FbXB0eUNsaWVudHMuaDogUmVtb3ZlIHN0dWIgaW50ZXJmYWNlLgorICAgICAgICAoRW1wdHlG
cmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6
CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
aWRsOiBSZW1vdmUgYEF1dG9jb21wbGV0ZUVycm9yRXZlbnRgIGZyb20gd2luZG93IERPTSBpbnRl
cmZhY2UuCisKIDIwMTMtMDQtMTggIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmc7IGZpeCBiaW5kaW5ncyB0ZXN0cyBhZnRlciBy
MTQ4NzAwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggYWZhZDE3NDY1ODg0M2U5MTkxNGQz
MTkxNmM5OTVhZTg3MGJmYTRlNC4uN2EyOWVhZWFiYzk5NmY0NmRmODI1ZmExMzg4Y2M1ZGU3MzY5
NTRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC03MTUsMTAgKzcxNSw2IEBACiAjZGVm
aW5lIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSAwCiAjZW5kaWYKIAotI2lmICFkZWZp
bmVkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkKLSNkZWZpbmUgRU5BQkxFX1JFUVVFU1Rf
QVVUT0NPTVBMRVRFIDAKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKQogI2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJTkcgMAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCBlNzZlMWQwYjRiODU3MzY2YWZlZTg3OGI0ODJhMWJkNTdk
NjgwM2IyLi44MmQyZGQ0ODg5M2UxOGRhNTNiOTIwOWFkMGNmZDQ3MGQ0MWVmNWY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI3ODIsNyArMjc4Miw2IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vQXR0ci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmggXAotCVNvdXJj
ZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9CZWZvcmVMb2FkRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggZjAyMWJjNzZlODM0YWNiOTM0MjM2
NDYzYzVhYTgzYmQ5MTRjMzI1Yi4uZDJmMDczZDBiZWM0MTBlNzUxMjFjYjA2N2IwNDcyYTlmMDM4
MGZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC0yMzEsMTAgKzIzMSw2IEBAIGJvb2wgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6aXNJbnB1dFR5cGVXZWVrRW5hYmxlZCA9IHRydWU7CiBib29s
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGlhbG9nRWxlbWVudEVuYWJsZWQgPSBmYWxzZTsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotYm9vbCBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjppc1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7Ci0j
ZW5kaWYKLQogI2lmIEVOQUJMRShDU1BfTkVYVCkKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6YXJlRXhwZXJpbWVudGFsQ29udGVudFNlY3VyaXR5UG9saWN5RmVhdHVyZXNFbmFibGVkID0g
ZmFsc2U7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggYjRlNzc3NWU2MTM0ZjNjODc0NDk3
ZmMwZWVmNGY4MzYxNTBmNjNlZS4uODMzNzM5NzVhYzFiZTg0ZGI0NjcxM2FkZTA0OGE2NTViNjcz
YTY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTI5OCwxMSArMjk4LDYgQEAgcHVibGljOgogICAg
IC8vIFRoZSBsYW5nIGF0dHJpYnV0ZSBzdXBwb3J0IGlzIGluY29tcGxldGUgYW5kIHNob3VsZCBv
bmx5IGJlIHR1cm5lZCBvbiBmb3IgdGVzdHMuCiAgICAgc3RhdGljIHZvaWQgc2V0TGFuZ0F0dHJp
YnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNMYW5nQXR0
cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogCi0jaWYgRU5B
QkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHN0YXRpYyBib29sIHJlcXVlc3RBdXRvY29t
cGxldGVFbmFibGVkKCkgeyByZXR1cm4gaXNSZXF1ZXN0QXV0b2NvbXBsZXRlRW5hYmxlZDsgfQot
ICAgIHN0YXRpYyB2b2lkIHNldFJlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IGlzUmVxdWVzdEF1dG9jb21wbGV0ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSNlbmRp
ZgotCiBwcml2YXRlOgogICAgIC8vIE5ldmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMoKSB7IH0KQEAgLTQxMCwxMCArNDA1LDYgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgYm9vbCBpc0RpYWxvZ0VsZW1lbnRFbmFibGVkOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVR
VUVTVF9BVVRPQ09NUExFVEUpCi0gICAgc3RhdGljIGJvb2wgaXNSZXF1ZXN0QXV0b2NvbXBsZXRl
RW5hYmxlZDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKENTUF9ORVhUKQogICAgIHN0YXRpYyBib29s
IGFyZUV4cGVyaW1lbnRhbENvbnRlbnRTZWN1cml0eVBvbGljeUZlYXR1cmVzRW5hYmxlZDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjNmI4YTVmODZiMWVmNTY2ZTRmNzRiZDRjYWI1ODYz
MzE5MjViZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDg0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBBdXRvY29tcGxldGVF
cnJvckV2ZW50X2gKLSNkZWZpbmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCi0KLSNpZiBFTkFC
TEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0KLSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKLSAgICBTdHJpbmcgcmVhc29u
OwotfTsKLQotY2xhc3MgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCA6IHB1YmxpYyBFdmVudCB7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3Jl
YXRlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJy
b3JFdmVudD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcmVhc29uKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KHJlYXNvbikpOwotICAgIH0K
LQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dEluaXQmIGluaXRpYWxpemVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpKTsKLSAgICB9Ci0K
LSAgICBjb25zdCBTdHJpbmcmIHJlYXNvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uOyB9Ci0K
LSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IHsg
cmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JBdXRvY29tcGxldGVFcnJvckV2ZW50OyB9
Ci0KLXByaXZhdGU6Ci0gICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCi0gICAgewotICAgIH0K
LQotICAgIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiByZWFzb24pCi0gICAg
ICAgIDogRXZlbnQoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkKLSAgICAgICAgLCBtX3JlYXNvbihyZWFzb24pCi0gICAgewotICAgIH0KLQotICAgIEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnRJbml0JiBpbml0aWFsaXplcikKLSAgICAgICAgOiBFdmVu
dChldmVudFR5cGUsIGluaXRpYWxpemVyKQotICAgICAgICAsIG1fcmVhc29uKGluaXRpYWxpemVy
LnJlYXNvbikKLSAgICB7Ci0gICAgfQotCi0gICAgU3RyaW5nIG1fcmVhc29uOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBM
RVRFKQotCi0jZW5kaWYgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQzMDAzZTllMDcxYWIzZGE4MmYwYTkwNmE2YzUzZjJlZGRhMDU0ZmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9UkVRVUVTVF9BVVRPQ09N
UExFVEUsCi0gICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudAotXSBpbnRlcmZhY2UgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCA6IEV2ZW50IHsKLSAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3Ry
dWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVhc29uOwotfTsKLQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKaW5kZXggNjAxYzY4MmY3ZmQ5ZDEwY2E5OGRlNzA4MTg2YjRiM2EzMzY3
NTU5YS4uOTI1ODQ0YmI1NTZjNTkzYzk5NmU5YTNlYzg4NDBhMGViYWUyNTk4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCkBAIC0yNTAsOSArMjUwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIFwKICAgICBtYWNybyh3ZWJraXRkZXZpY2Vwcm94aW1pdHkpIFwKICAgICBcCi0gICAgbWFj
cm8oYXV0b2NvbXBsZXRlKSBcCi0gICAgbWFjcm8oYXV0b2NvbXBsZXRlZXJyb3IpIFwKLSAgICBc
CiAgICAgbWFjcm8od2Via2l0cHJlcmVuZGVyc3RhcnQpIFwKICAgICBtYWNybyh3ZWJraXRwcmVy
ZW5kZXJzdG9wKSBcCiAgICAgbWFjcm8od2Via2l0cHJlcmVuZGVybG9hZCkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbgppbmRleCBlYmI3YTIxZjk0ZjU0OTMzZGUzM2JiMTI4YjUwNDZmMTA3ZmQ0
NTE2Li5iNTY4MzQzNmU0OWM5YjFiZTNlMDAxNWU0ZGI4ZGUwMzg1Y2Y5YjMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5pbgpAQCAtNTUsNyArNTUsNiBAQCBNZWRpYUtleUV2ZW50IGNvbmRpdGlv
bmFsPUVOQ1JZUFRFRF9NRURJQQogTWVkaWFLZXlNZXNzYWdlRXZlbnQgY29uZGl0aW9uYWw9RU5D
UllQVEVEX01FRElBX1YyCiBNZWRpYUtleU5lZWRlZEV2ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRF
RF9NRURJQV9WMgogVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSwotQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCBjb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURQogQ1NTRm9udEZh
Y2VMb2FkRXZlbnQgY29uZGl0aW9uYWw9Rk9OVF9MT0FEX0VWRU5UUwogU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudCBjb25kaXRpb25hbD1DU1BfTkVYVAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDZjNjc1N2QxNGE3ODgyZDFmOWUwOWYzZDljYjcw
NzA1OTIzYzI3Y2UuLjk2MjZiMGM2ZmI3YmY0OGM5YTg4NDMyMzAwZjkyNGI3OTk3NWQ5MmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0xNjksOCArMTY5
LDYgQEAgbm92YWxpZGF0ZQogbm93cmFwCiBvYmplY3QKIG9uYWJvcnQKLW9uYXV0b2NvbXBsZXRl
Ci1vbmF1dG9jb21wbGV0ZWVycm9yCiBvbmJlZm9yZWNvcHkKIG9uYmVmb3JlY3V0CiBvbmJlZm9y
ZWxvYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBjMGY1MzRl
MDRkZGFmMTYyODM4ZGVjNWNkNzc2Y2JiMWI2ODM0NTFkLi5hNjk1MTIzN2QxMDkwNWEyZWI4YWJm
MWNiZWZhNzU2ZmJlOWM4N2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAKICNp
bmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJBdXRvY29tcGxldGVFcnJvckV2ZW50Lmgi
CiAjaW5jbHVkZSAiRE9NRm9ybURhdGEuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgpAQCAtNzcsOSArNzYsNiBAQCBIVE1MRm9ybUVsZW1lbnQ6OkhUTUxG
b3JtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bgogICAgICwgbV9zaG91bGRTdWJtaXQoZmFsc2UpCiAgICAgLCBtX2lzSW5SZXNldEZ1bmN0aW9u
KGZhbHNlKQogICAgICwgbV93YXNEZW1vdGVkKGZhbHNlKQotI2lmIEVOQUJMRShSRVFVRVNUX0FV
VE9DT01QTEVURSkKLSAgICAsIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyKHRoaXMsICZIVE1M
Rm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKQotI2VuZGlmCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoZm9ybVRhZykpOwogfQpAQCAtMzkzLDUzICszODksNiBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVzZXQoKQogICAgIG1faXNJblJlc2V0RnVuY3Rpb24gPSBm
YWxzZTsKIH0KIAotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLXZvaWQgSFRNTEZv
cm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkKLXsKLSAgICBGcmFtZSogZnJhbWUgPSBk
b2N1bWVudCgpLT5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmICghc2hvdWxkQXV0b2NvbXBsZXRlKCkgfHwgIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpKSB7Ci0gICAgICAgIGZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUo
QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBTdHJpbmdQYWlyVmVjdG9yIGNvbnRyb2xOYW1lc0FuZFZhbHVlczsKLSAgICBnZXRU
ZXh0RmllbGRWYWx1ZXMoY29udHJvbE5hbWVzQW5kVmFsdWVzKTsKLSAgICBSZWZQdHI8Rm9ybVN0
YXRlPiBmb3JtU3RhdGUgPSBGb3JtU3RhdGU6OmNyZWF0ZSh0aGlzLCBjb250cm9sTmFtZXNBbmRW
YWx1ZXMsIGRvY3VtZW50KCksIFN1Ym1pdHRlZEJ5SmF2YVNjcmlwdCk7Ci0gICAgZnJhbWUtPmxv
YWRlcigpLT5jbGllbnQoKS0+ZGlkUmVxdWVzdEF1dG9jb21wbGV0ZShmb3JtU3RhdGUucmVsZWFz
ZSgpKTsKLX0KLQotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKLXsKLSAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50
OwotICAgIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcykKLSAgICAgICAg
ZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVFdmVudCwgZmFs
c2UsIGZhbHNlKTsKLSAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0RXJy
b3JEaXNhYmxlZCkKLSAgICAgICAgZXZlbnQgPSBBdXRvY29tcGxldGVFcnJvckV2ZW50OjpjcmVh
dGUoImRpc2FibGVkIik7Ci0gICAgZWxzZSBpZiAocmVzdWx0ID09IEF1dG9jb21wbGV0ZVJlc3Vs
dEVycm9yQ2FuY2VsKQotICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNy
ZWF0ZSgiY2FuY2VsIik7Ci0gICAgZWxzZSBpZiAocmVzdWx0ID09IEF1dG9jb21wbGV0ZVJlc3Vs
dEVycm9ySW52YWxpZCkKLSAgICAgICAgZXZlbnQgPSBBdXRvY29tcGxldGVFcnJvckV2ZW50Ojpj
cmVhdGUoImludmFsaWQiKTsKLQotICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7Ci0gICAgbV9w
ZW5kaW5nQXV0b2NvbXBsZXRlRXZlbnRzLmFwcGVuZChldmVudC5yZWxlYXNlKCkpOwotCi0gICAg
Ly8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5
bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KLSAgICBp
ZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLX0KLQotdm9pZCBIVE1MRm9y
bUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKFRpbWVyPEhUTUxGb3JtRWxl
bWVudD4qKQotewotICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+ID4gcGVuZGluZ0V2ZW50czsKLSAg
ICBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHMuc3dhcChwZW5kaW5nRXZlbnRzKTsKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHBlbmRpbmdFdmVudHMuc2l6ZSgpOyArK2kpCi0gICAgICAg
IGRpc3BhdGNoRXZlbnQocGVuZGluZ0V2ZW50c1tpXS5yZWxlYXNlKCkpOwotfQotI2VuZGlmCi0K
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewogICAgIGlmIChuYW1lID09IGFj
dGlvbkF0dHIpCkBAIC00NTgsMTIgKzQwNyw2IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpCiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIGRvY3VtZW50KCktPnVucmVnaXN0ZXJGb3JQYWdlQ2Fj
aGVTdXNwZW5zaW9uQ2FsbGJhY2tzKHRoaXMpOwogICAgIH0KLSNpZiBFTkFCTEUoUkVRVUVTVF9B
VVRPQ09NUExFVEUpCi0gICAgZWxzZSBpZiAobmFtZSA9PSBvbmF1dG9jb21wbGV0ZUF0dHIpCi0g
ICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0
ZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7
Ci0gICAgZWxzZSBpZiAobmFtZSA9PSBvbmF1dG9jb21wbGV0ZWVycm9yQXR0cikKLSAgICAgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JF
dmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBuYW1lLCB2YWx1ZSkpOwot
I2VuZGlmCiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFt
ZSwgdmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggNzYw
YWM5OTNjYjkyYTJjNGEwMDljOThhYWMwNGM2N2Q3YTdlMDI5My4uYmQ5YTI1MjkwNmQxZDg5MTE5
ZWZmODcyYWI0MjE4N2FiM2RkOTI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5oCkBAIC05OCwyMSArOTgsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGNoZWNrVmFsaWRpdHko
KTsKIAotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICBlbnVtIEF1dG9jb21w
bGV0ZVJlc3VsdCB7Ci0gICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3MsCi0gICAgICAg
IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQsCi0gICAgICAgIEF1dG9jb21wbGV0ZVJl
c3VsdEVycm9yQ2FuY2VsLAotICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvckludmFsaWQs
Ci0gICAgfTsKLQotICAgIHZvaWQgcmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotICAgIHZvaWQgZmlu
aXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQpOwotCi0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhdXRvY29tcGxldGUpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoYXV0b2NvbXBsZXRlZXJyb3IpOwotI2VuZGlmCi0KICAgICBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50Rm9yQWxpYXMoY29uc3QgQXRvbWljU3RyaW5n
Jik7CiAgICAgdm9pZCBhZGRFbGVtZW50QWxpYXMoSFRNTEZvcm1Db250cm9sRWxlbWVudCosIGNv
bnN0IEF0b21pY1N0cmluZyYgYWxpYXMpOwogCkBAIC0xNzYsMTMgKzE2MSw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2lzSW5SZXNldEZ1bmN0aW9uOwogCiAgICAgYm9vbCBtX3dhc0RlbW90ZWQ7
Ci0KLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgdm9pZCByZXF1ZXN0QXV0
b2NvbXBsZXRlVGltZXJGaXJlZChUaW1lcjxIVE1MRm9ybUVsZW1lbnQ+Kik7Ci0KLSAgICBWZWN0
b3I8UmVmUHRyPEV2ZW50PiA+IG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50czsKLSAgICBUaW1l
cjxIVE1MRm9ybUVsZW1lbnQ+IG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyOwotI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5pZGwKaW5kZXggNzdmMTQ3YThhZjU5MGExYjI4M2QzMGE5MjAwZTJiNDgyOGU0MWU5My4u
ODZhNmY3NGM2M2ZkZmQyZGFlMGRmYzAyZmQ3Y2Q3MmY4ZmViNTE4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbApAQCAtNDIsMTAgKzQyLDQgQEAKICNlbmRpZgogICAg
IHZvaWQgcmVzZXQoKTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLQotI2lmIGRlZmlu
ZWQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAmJiBFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUKLSAgICB2b2lkIHJlcXVlc3RBdXRvY29tcGxldGUoKTsKLSAgICBbTm90RW51bWVyYWJs
ZV0gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hdXRvY29tcGxldGU7Ci0gICAgW05vdEVudW1l
cmFibGVdIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYXV0b2NvbXBsZXRlZXJyb3I7Ci0jZW5k
aWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGU2MDAwZGEx
MDE4ZWY5NGI0OGM0YmM0MWRjNmEwYjI0YjEyYmZiM2UuLmYzOWVmYTEyNTRhODBjMDBkNWM3N2Iw
ZjQ1ZWRmZDMxYWM4NWI3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CkBAIC0xODQsMTAgKzE4NCw0IEBAIFBhc3NPd25QdHI8Q29udGV4dE1lbnU+IEVtcHR5Q29udGV4
dE1lbnVDbGllbnQ6OmN1c3RvbWl6ZU1lbnUoUGFzc093blB0cjxDb250ZXh0CiAjZW5kaWYKICNl
bmRpZgogCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50OjpkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PikKLXsKLX0KLSNlbmRpZgotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5k
ZXggNmFkNzc4YzI4ZjY0YWIwNjRlYjYwYTk0OTk4ZjI0Yjc4ZjcwZTNmZi4uMjM1NzY5NzkyOGM4
MThlYThhNTI5ODkzMWE4NWRhMDYyYzAzM2IxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuaApAQCAtMzczLDEwICszNzMsNiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29u
dGV4dCgpIE9WRVJSSURFOwotCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PikgT1ZFUlJJREU7Ci0jZW5kaWYKIH07CiAKIGNsYXNzIEVtcHR5VGV4dENoZWNrZXJDbGllbnQg
OiBwdWJsaWMgVGV4dENoZWNrZXJDbGllbnQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJDbGllbnQuaAppbmRleCA3NzI3ZmY2NWE1MzAwMzI5ZjZmYmNiNjQwNWNiNjQyNWRkMGU1
MjQyLi5iYzk0NThlMTAxZTgxYTkxMmI2NDZkNzk1ZjAxY2ExNDQ3NDIzNzk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMzM3LDEwICszMzcsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdGFy
dFVzaW5nUGVlckNvbm5lY3Rpb25IYW5kbGVyKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciopIHsg
fQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKFBhc3NSZWZQdHI8Rm9ybVN0YXRlPikg
PSAwOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCR0wpCiAgICAgICAgIHZpcnR1YWwgYm9vbCBh
bGxvd1dlYkdMKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSB7IHJldHVybiBlbmFibGVkUGVyU2V0
dGluZ3M7IH0KICAgICAgICAgLy8gSW5mb3JtcyB0aGUgZW1iZWRkZXIgdGhhdCBhIFdlYkdMIGNh
bnZhcyBpbnNpZGUgdGhpcyBmcmFtZSByZWNlaXZlZCBhIGxvc3QgY29udGV4dApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCmluZGV4IGE4N2NmNjlhMzMyNWNhODNlZjQ4ZmIzZDM2NWYxMGEwNDYy
YjM3ZjQuLjQ2ZWM5ZDcyNDU0OWM0ZGExZGViNTgxYjRhZTBiZjE2Y2Y5YzA0NDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTU2Niw3ICs1NjYsNiBAQAogICAgIFtDb25kaXRpb25h
bD1JTlBVVF9TUEVFQ0hdIGF0dHJpYnV0ZSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3IgU3Bl
ZWNoSW5wdXRFdmVudDsKICAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIGF0dHJpYnV0ZSBXZWJHTENv
bnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4dEV2ZW50OwogICAgIFtDb25kaXRpb25h
bD1QUk9YSU1JVFlfRVZFTlRTXSBhdHRyaWJ1dGUgRGV2aWNlUHJveGltaXR5RXZlbnRDb25zdHJ1
Y3RvciBEZXZpY2VQcm94aW1pdHlFdmVudDsKLSAgICBbQ29uZGl0aW9uYWw9UkVRVUVTVF9BVVRP
Q09NUExFVEVdIGF0dHJpYnV0ZSBBdXRvY29tcGxldGVFcnJvckV2ZW50Q29uc3RydWN0b3IgQXV0
b2NvbXBsZXRlRXJyb3JFdmVudDsKICAgICBbQ29uZGl0aW9uYWw9Q1NQX05FWFRdIGF0dHJpYnV0
ZSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50Q29uc3RydWN0b3IgU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudDsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEV4Y2VwdGlvbkNvbnN0cnVjdG9y
IEV2ZW50RXhjZXB0aW9uOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVjN2Y3Zjg5NWU3ZTE0YjlmZjdiYmMzN2IzNTY1MTg2
Y2Y1NjI1Y2EuLjAwOGEzNzk4YTc5OGI0YWM1YzI2MzY4N2I3ODAwNjQ0Zjk5MWE0ODggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMy0wNC0xOCAgRGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmVtb3ZlIHVubWFpbnRhaW5lZCBmZWF0dXJlIFJFUVVFU1RfQVVUT0NP
TVBMRVRFIGNvZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTQ4NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sOiBSZW1v
dmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCB0ZXN0IGNvZGUuCisgICAgICAgICogZmFzdC9mb3Jt
cy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sOiBSZW1vdmUgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCB0ZXN0IGNvZGUuCisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVz
dHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5qczogUmVtb3ZlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQg
Y29uc3RydWN0b3IuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IFJlbW92ZSB0ZXN0IGV4cGVjdGF0aW9ucy4KKwog
MjAxMy0wNC0xOCAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IE1vcmUgY2xlYW5pbmcgdXAgb2Ygc2tpcHBlZCB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0
b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkN2E1ZmM1MjllMjQ1NTE3MzIyZGRhZmI5NDY0
MDc4NjVmMzVkOTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJv
ci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi1UaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQgRE9NIGNsYXNzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotRkFJ
TCBubyBBdXRvY29tcGxldGVFcnJvckV2ZW50Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJv
ci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
YjFjZWM3NTRmMWZjMDVlMGFlMGQzMzBlMGQ5MDIxYzVkOWFhNzIxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Nv
bnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IERPTSBjbGFz
cy4iKTsKLQotaWYgKCF3aW5kb3cuQXV0b2NvbXBsZXRlRXJyb3JFdmVudCkgewotICAgIHRlc3RG
YWlsZWQoJ25vIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQnKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsK
LX0gZWxzZSB7Ci0gICAgLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgotICAgIHNob3VsZEJl
KCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyIsICJmYWxz
ZSIpOwotICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBl
JykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScpLnJlYXNvbiIsICIiKTsKLQotICAg
IC8vIGJ1YmJsZXMgaXMgcGFzc2VkLgotICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVzIiwgImZhbHNl
Iik7Ci0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7Ci0KLSAgICAvLyBjYW5jZWxh
YmxlIGlzIHBhc3NlZC4KLSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSIsICJmYWxzZSIp
OwotICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywg
eyBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOwotCi0gICAgLy8gcmVh
c29uIGlzIHBhc3NlZC4KLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogJ2RvcmVtaScgfSkucmVhc29uIiwg
ImRvcmVtaSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAnJyB9KS5yZWFzb24iLCAiIik7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IHVuZGVmaW5lZCB9KS5yZWFzb24iLCAidW5kZWZpbmVkIik7Ci0gICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IG51bGwgfSkucmVhc29uIiwgIm51bGwiKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJl
YXNvbjogZmFsc2UgfSkucmVhc29uIiwgImZhbHNlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHRy
dWUgfSkucmVhc29uIiwgInRydWUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTIzNDUgfSkucmVh
c29uIiwgIjEyMzQ1Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IDE4NDQ2NzQ0MDczNzA5NTUxNjE1
IH0pLnJlYXNvbiIsICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29u
OiBOYU4gfSkucmVhc29uIiwgIk5hTiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBbXSB9KS5yZWFz
b24iLCAiIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IFsxLCAyLCAzXSB9KS5yZWFzb24iLCAiMSwy
LDMiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge2RvcmVtaTogMTIzNDV9IH0pLnJlYXNvbiIsICJb
b2JqZWN0IE9iamVjdF0iKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge3ZhbHVlT2Y6IGZ1bmN0aW9u
ICgpIHsgcmV0dXJuICdkb3JlbWknOyB9IH0gfSkucmVhc29uIiwgIltvYmplY3QgT2JqZWN0XSIp
OwotCi0gICAgLy8gQWxsIGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgotICAgIHNob3VsZEJlKCJu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwot
ICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmNhbmNl
bGFibGUiLCAidHJ1ZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5yZWFzb24iLCAiZG9yZW1pIik7Ci19Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKaW5kZXggMWQ4ZTM1OTc2NGM0YzA4OWZlZGQ3YjRmNTVkZDQ3ODgyOTQz
OTZjMy4uMzFiYTdlMjgxYzExZTk2ZDUyNzVhMDNiMjRiZGE5YWMzMGQ4ZjFmOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0yMjgsMTIgKzIyOCw2
IEBACiAgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRp
b25FdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CiAgICAgLy8gc2hvdWxkQmVUcnVl
KCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRpb25FdmVudCcpLmNvbnN0cnVjdG9yID09
PSB3aW5kb3cuRXZlbnQiKTsKIAotICAgIC8vICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExF
VEUpCi0gICAgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAotICAgIC8vIHNob3VsZEJlVHJ1ZSgi
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50Iik7Ci0gICAgLy8gc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkV2ZW50Iik7Ci0gICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVu
dCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCIpOwotCiAgICAgLy8gV2UgdGVzdCBib3RoIGEgaGFyZCBjb2RlZCBz
ZXQgYW5kIHRoZSBhdXRvbWF0ZWQgc2V0IGJlbG93ICh1c2luZyBlbnVtZXJhdGlvbikgdG8gZW5z
dXJlIHRoYXQgYSBjb25zdHJ1Y3RvciBiZWluZyByZW1vdmVkCiAgICAgLy8gZnJvbSB0aGUgd2lu
ZG93IGlzIGNhdWdodCBhIHJlZ3Jlc3Npb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZmVlNzk2Y2FkYTQ2MjAxNDZjMTJkMDBmNDc5
YjhjNzJhOTNmYThjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUhUTUxGb3JtRWxlbWVudCNy
ZXF1ZXN0QXV0b2NvbXBsZXRlIGFuZCBhc3NvY2lhdGVkIGV2ZW50cwotCi1Gb3IgdGhpcyB0ZXN0
IHRvIHBhc3MsIHlvdSBzaG91bGQgc2VlIGFsbCBQQVNTRUQgYmVsb3cuCi0KLUZBSUwgbm8gcmVx
dWVzdEF1dG9jb21wbGV0ZSBmdW5jdGlvbgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
Zm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
b3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDc3YjQ3MWI5NTA3YTUwNzI4NWFmY2M4YzNmZWFlMDY5Zjc2NzQ4ZGMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotanNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLXZhciBudW1FcnJvcnMgPSAwOwotdmFyIG51bUVycm9yc0V4cGVj
dGVkID0gMDsKLQotZnVuY3Rpb24gcnVuVGVzdHMoKQotewotICAgIGlmICh0eXBlb2YgSFRNTEZv
cm1FbGVtZW50LnByb3RvdHlwZS5yZXF1ZXN0QXV0b2NvbXBsZXRlICE9ICdmdW5jdGlvbicpIHsK
LSAgICAgICAgdGVzdEZhaWxlZCgnbm8gcmVxdWVzdEF1dG9jb21wbGV0ZSBmdW5jdGlvbicpOwot
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNo
ZWNrRHluYW1pY0F0dHJpYnV0ZXMoKTsKLSAgICBjaGVja1BhcnNlZEF0dHJpYnV0ZXMoKTsKLSAg
ICBjaGVja05vblVzZXJHZXN0dXJlKCk7Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yRW51bWVyYWJs
ZVByb3BlcnRpZXMoZm9ybSkKLXsKLSAgICB2YXIgZW51bWVyYXRlZCA9IGZhbHNlOwotICAgIGZv
ciAodmFyIGZpZWxkIGluIGZvcm0pIHsKLSAgICAgICAgaWYgKC9vbmF1dG9jb21wbGV0ZS8udGVz
dChmaWVsZCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbnVtZXJhYmxlIGZvcm0gYXR0cmli
dXRlIGZvdW5kIG9uIEhUTUxGb3JtRWxlbWVudDogJyArIGZpZWxkKTsKLSAgICAgICAgZW51bWVy
YXRlZCA9IHRydWU7Ci0gICAgfQotICAgIGlmIChlbnVtZXJhdGVkKQotICAgICAgICB0ZXN0UGFz
c2VkKCdubyBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24gSFRNTEZvcm1FbGVtZW50Jyk7Ci0gICAg
ZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCdmYWlsZWQgdG8gZW51bWVyYXRlIEhUTUxGb3JtRWxl
bWVudCBwcm9wZXJ0aWVzJyk7Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrUGFyc2VkQXR0cmlidXRlcygp
Ci17Ci0gICAgbnVtRXJyb3JzRXhwZWN0ZWQgKz0gMTsKLQotICAgIHZhciBmb3JtID0gZG9jdW1l
bnQuZm9ybXNbMF07Ci0gICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKLQot
ICAgIC8vIEN1cnJlbnRseSBDaHJvbWUganVzdCBpbW1lZGlhdGVseSBkaXNwYXRjaGVzIGFuIGVy
cm9yLgotICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9IGVycm9yV2l0aFJlYXNvbignZGlz
YWJsZWQnKTsKLSAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsKLX0KLQotZnVuY3Rpb24g
Y2hlY2tEeW5hbWljQXR0cmlidXRlcygpCi17Ci0gICAgbnVtRXJyb3JzRXhwZWN0ZWQgKz0gMTsK
LQotICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwotICAgIGNo
ZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7Ci0KLSAgICBmb3JtLmF1dG9jb21wbGV0
ZSA9ICdvZmYnOwotICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9IGVycm9yV2l0aFJlYXNv
bignZGlzYWJsZWQnKTsKLSAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsKLX0KLQotZnVu
Y3Rpb24gY2hlY2tOb25Vc2VyR2VzdHVyZSgpCi17Ci0gICAgbnVtRXJyb3JzRXhwZWN0ZWQgKz0g
MTsKLQotICAgIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwotICAg
IGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7Ci0gICAgZm9ybS5vbmF1dG9jb21w
bGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwotCi0gICAgc2V0VGltZW91
dChmdW5jdGlvbigpCi0gICAgewotICAgICAgICBmb3JtLnJlcXVlc3RBdXRvY29tcGxldGUoKTsK
LSAgICB9LCAwKTsKLX0KLQotZnVuY3Rpb24gZXJyb3JXaXRoUmVhc29uKHJlYXNvbikKLXsKLSAg
ICByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2Yg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCkKLSAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2V2ZW50IGlz
IGFuIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQnKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
dGVzdEZhaWxlZCgnZXhwZWN0ZWQgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpOwotCi0gICAg
ICAgIGlmIChldmVudC5yZWFzb24gPT0gcmVhc29uKQotICAgICAgICAgICAgdGVzdFBhc3NlZCgn
Z290IGV4cGVjdGVkIHJlYXNvbjogJyArIHJlYXNvbik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ3dyb25nIHJlYXNvbiwgZXhwZWN0ZWQ6ICcgKyByZWFzb24gKyAnLCBn
b3Q6ICcgKyBldmVudC5yZWFzb24pOwotCi0gICAgICAgIG9uRXJyb3IoKTsKLSAgICB9OwotfQot
Ci1mdW5jdGlvbiBvbkVycm9yKCkKLXsKLSAgICBudW1FcnJvcnMgKz0gMTsKLSAgICBpZiAobnVt
RXJyb3JzID4gbnVtRXJyb3JzRXhwZWN0ZWQpCi0gICAgICAgIHRlc3RGYWlsZWQoJ3RvbyBtYW55
IGVycm9yIGV2ZW50cycpOwotICAgIGVsc2UgaWYgKG51bUVycm9ycyA9PSBudW1FcnJvcnNFeHBl
Y3RlZCkgewotICAgICAgICB0ZXN0UGFzc2VkKCdnb3QgZXhwZWN0ZWQgbnVtYmVyIG9mIGVycm9y
IGV2ZW50cyAoJyArIG51bUVycm9yc0V4cGVjdGVkICsgJyknKTsKLSAgICAgICAgZmluaXNoSlNU
ZXN0KCk7Ci0gICAgfQotfQotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRl
c3RzLCB0cnVlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD4gPGEgaHJlZj0iaHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTU3Ij5IVE1MRm9ybUVsZW1l
bnQjcmVxdWVzdEF1dG9jb21wbGV0ZSBhbmQgYXNzb2NpYXRlZCBldmVudHM8L2E+IDwvcD4KLTxw
PiBGb3IgdGhpcyB0ZXN0IHRvIHBhc3MsIHlvdSBzaG91bGQgc2VlIGFsbCBQQVNTRUQgYmVsb3cu
IDwvcD4KLTxmb3JtIGF1dG9jb21wbGV0ZT0ib2ZmIiBvbmF1dG9jb21wbGV0ZWVycm9yPSJvbkVy
cm9yKCk7Ij48L2Zvcm0+Ci08cCBpZD0iY29uc29sZSI+PC9wPgotPHNjcmlwdCBzcmM9Ii4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKaW5kZXggMWQ0ZTQ2
YTJjYTBlN2M5ZDE0OTQ5ZDg4ZjE2Y2YzNGExNzc1MjM3ZC4uZjMwOTI0ZGY2NDc3MTMxMDA4NmU0
MmVkYTg5Y2NiNTY5OThlMGM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25z
dHJ1Y3Rvci1sZW5ndGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC5odG1sCkBAIC05LDcgKzksNiBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
bGVuZ3RoIHByb3BlcnR5IG9mIGNvbnN0cnVjdG9ycy4iKTsKIAogc2hvdWxkQmUoJ0FycmF5QnVm
ZmVyLmxlbmd0aCcsICcxJyk7CiBzaG91bGRCZSgnQXVkaW9Db250ZXh0Lmxlbmd0aCcsICcwJyk7
Ci1zaG91bGRCZSgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxk
QmUoJ0JlZm9yZUxvYWRFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxkQmUoJ0Jsb2IubGVuZ3Ro
JywgJzInKTsKIHNob3VsZEJlKCdDbG9zZUV2ZW50Lmxlbmd0aCcsICcyJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5q
cwppbmRleCBhZTcyY2EyMGIzNjllNGIxZTM1OTcwYThlMjEwODJkYzYxYWEzNDk0Li40M2Q0MzM2
N2Q2ZDYzNGE1ODk0YTBhY2ViMjQyMTBlNWYwZGFhN2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMKQEAgLTM5
LDggKzM5LDcgQEAgZm9yICh2YXIgeCBpbiBjb25zdHJ1Y3Rvck5hbWVzKSB7CiAgICAgICAgIG5h
bWUgPT0gIkZsb2F0MzJBcnJheSIgfHwKICAgICAgICAgbmFtZSA9PSAiRmxvYXQ2NEFycmF5IiB8
fAogICAgICAgICBuYW1lID09ICJGaWxlRXJyb3IiIHx8Ci0gICAgICAgIG5hbWUgPT0gIkZpbGVS
ZWFkZXIiIHx8Ci0gICAgICAgIG5hbWUgPT0gIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQiKQorICAg
ICAgICBuYW1lID09ICJGaWxlUmVhZGVyIikKICAgICAgICAgY29udGludWU7CiAKICAgICBpZiAo
bmFtZSA9PSAiWE1MRG9jdW1lbnQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
YmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4
cGVjdGVkLnR4dAppbmRleCAzOTEyN2QxNGE3MjEzM2RhMjBjMjdiNTA2MjM0MDdjNjhmZDUwZTE5
Li45ZGJmZmM5MmYxZGNhOWIxZjUxMjFiMTZmOTZmYTEzZmQ2NTAxYWJhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3Ro
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3Qv
anMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDYgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBBcnJheUJ1ZmZlci5sZW5ndGggaXMgMQogRkFJTCBB
dWRpb0NvbnRleHQubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1ZGlvQ29udGV4dAotRkFJTCBBdXRvY29tcGxl
dGVFcnJvckV2ZW50Lmxlbmd0aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdXRvY29tcGxldGVFcnJvckV2ZW50CiBQQVNT
IEJlZm9yZUxvYWRFdmVudC5sZW5ndGggaXMgMgogUEFTUyBCbG9iLmxlbmd0aCBpcyAyCiBQQVNT
IENsb3NlRXZlbnQubGVuZ3RoIGlzIDIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198794</attachid>
            <date>2013-04-18 21:38:40 -0700</date>
            <delta_ts>2013-04-19 00:04:46 -0700</delta_ts>
            <desc>forgot some expectations</desc>
            <filename>bug-114846-20130418213810.patch</filename>
            <type>text/plain</type>
            <size>35919</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0NTJjNWRkY2Y1MDJjZDJlZjdmODBm
N2JkOTFiNzA1NDRjNTM4MTUuLjk5MzU4ZTczYTgyMjI4NTA0MzhjN2Q2ODI3YzlhYTI2ZGYyNmVm
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMTggIERhbiBCZWFtICA8ZGJlYW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSB1bm1haW50YWluZWQgZmVhdHVyZSBSRVFVRVNU
X0FVVE9DT01QTEVURQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE0ODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogUmVtb3ZlIFJFUVVFU1RfQVVUT0NPTVBMRVRF
IGFzIGEgZmVhdHVyZSBkZWZpbml0aW9uLgorCiAyMDEzLTA0LTE4ICBab2x0YW4gQXJ2YWkgIDx6
YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBm
b3IgUXQgTW91bnRhaW4gTGlvbiBSZWxlYXNlIGFmdGVyIHIxNDg2MzkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODkxNWY4MjRkNWM1MjIxY2IwZGI3YWU1Mzk2ZTliYjBkMjNiNjMxNS4uZTQ5OWY2MDg0YzMxMjY5
NDdjMDExZTdkMTYwOWQwYWIwNjA0MWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDEzLTA0LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1v
dmUgdW5tYWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogUmVtb3ZlIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQuaCBpbmNsdWRlLgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIHJlcXVlc3RBdXRv
Y29tcGxldGUoKSBydW50aW1lIGZlYXR1cmUuCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
KTogUmVtb3ZlIHJlcXVlc3RBdXRvY29tcGxldGUoKSBydW50aW1lIGZlYXR1cmUuCisgICAgICAg
ICogZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20v
QXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6IFJlbW92ZWQuCisgICAgICAgICogZG9tL0V2ZW50
TmFtZXMuaDogUmVtb3ZlIGBhdXRvY29tcGxldGVgIGFuZCBgYXV0b2NvbXBsZXRlZXJyb3JgIGV2
ZW50IG5hbWVzLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aW46IFJlbW92ZSBgYXV0b2NvbXBsZXRlYCBhbmQgYGF1dG9jb21wbGV0ZWVycm9yYCBldmVudCBu
YW1lcy4KKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjogUmVtb3ZlIGBvbmF1
dG9jb21wbGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZWVycm9yYCBmb3JtIGF0dHJpYnV0ZXMuCisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOiBSZW1vdmUgcmVxdWVzdEF1dG9jb21w
bGV0ZSgpIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
SFRNTEZvcm1FbGVtZW50KTogUmVtb3ZlIHRpbWVyIGFuZCBldmVudCBxdWV1ZSBmb3IgcmVxdWVz
dEF1dG9jb21wbGV0ZSgpIHJlbGF0ZWQgZXZlbnRzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6IFJlbW92ZSBwYXJzaW5nIG9mIGBvbmF1dG9jb21w
bGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZXJyb3JgLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1F
bGVtZW50Lmg6IFJlbW92ZSByZXF1ZXN0QXV0b2NvbXBsZXRlKCkgcmVsYXRlZCBtZW1iZXJzLgor
ICAgICAgICAoSFRNTEZvcm1FbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGw6IFJlbW92ZSBwdWJsaWMgcmVxdWVzdEF1dG9jb21wbGV0ZSgpIEFQSSBtZXRob2QuCisg
ICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6IFJlbW92ZSBzdHViIGltcGxlbWVudGF0
aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5o
OiBSZW1vdmUgc3R1YiBpbnRlcmZhY2UuCisgICAgICAgIChFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDogUmVtb3ZlIGRpZFJlcXVl
c3RBdXRvY29tcGxldGUoKSBmcm9tIGludGVyZmFjZS4KKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IFJlbW92ZSBgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudGAgZnJvbSB3aW5kb3cgRE9NIGludGVyZmFjZS4KKwogMjAxMy0wNC0xOCAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRl
bmluZzsgZml4IGJpbmRpbmdzIHRlc3RzIGFmdGVyIHIxNDg3MDAuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaAppbmRleCBhZmFkMTc0NjU4ODQzZTkxOTE0ZDMxOTE2Yzk5NWFlODcwYmZhNGU0Li43YTI5
ZWFlYWJjOTk2ZjQ2ZGY4MjVmYTEzODhjYzVkZTczNjk1NGY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKQEAgLTcxNSwxMCArNzE1LDYgQEAKICNkZWZpbmUgRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKQotI2RlZmluZSBFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUgMAotI2VuZGlmCi0K
ICNpZiAhZGVmaW5lZChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpCiAjZGVmaW5lIEVOQUJMRV9SVUJC
RVJfQkFORElORyAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGU3
NmUxZDBiNGI4NTczNjZhZmVlODc4YjQ4MmExYmQ1N2Q2ODAzYjIuLjgyZDJkZDQ4ODkzZTE4ZGE1
M2I5MjA5YWQwY2ZkNDcwZDQxZWY1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMjc4Miw3ICsyNzgyLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vQXR0ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcAppbmRleCBmMDIxYmM3NmU4MzRhY2I5MzQyMzY0NjNjNWFhODNiZDkxNGMzMjViLi5kMmYw
NzNkMGJlYzQxMGU3NTEyMWNiMDY3YjA0NzJhOWYwMzgwZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHAKQEAgLTIzMSwxMCArMjMxLDYgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
cHV0VHlwZVdlZWtFbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
aXNEaWFsb2dFbGVtZW50RW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVR
VUVTVF9BVVRPQ09NUExFVEUpCi1ib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUmVxdWVz
dEF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKENTUF9O
RVhUKQogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjphcmVFeHBlcmltZW50YWxDb250ZW50
U2VjdXJpdHlQb2xpY3lGZWF0dXJlc0VuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAppbmRleCBiNGU3Nzc1ZTYxMzRmM2M4NzQ0OTdmYzBlZWY0ZjgzNjE1MGY2M2VlLi44MzM3
Mzk3NWFjMWJlODRkYjQ2NzEzYWRlMDQ4YTY1NWI2NzNhNjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApA
QCAtMjk4LDExICsyOTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGxhbmcgYXR0cmlidXRlIHN1
cHBvcnQgaXMgaW5jb21wbGV0ZSBhbmQgc2hvdWxkIG9ubHkgYmUgdHVybmVkIG9uIGZvciB0ZXN0
cy4KICAgICBzdGF0aWMgdm9pZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlF
bmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUp
Ci0gICAgc3RhdGljIGJvb2wgcmVxdWVzdEF1dG9jb21wbGV0ZUVuYWJsZWQoKSB7IHJldHVybiBp
c1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkOyB9Ci0gICAgc3RhdGljIHZvaWQgc2V0UmVxdWVz
dEF1dG9jb21wbGV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNSZXF1ZXN0QXV0b2NvbXBs
ZXRlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgLy8gTmV2
ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtNDEw
LDEwICs0MDUsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzRGlhbG9nRWxlbWVudEVu
YWJsZWQ7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICBz
dGF0aWMgYm9vbCBpc1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkOwotI2VuZGlmCi0KICNpZiBF
TkFCTEUoQ1NQX05FWFQpCiAgICAgc3RhdGljIGJvb2wgYXJlRXhwZXJpbWVudGFsQ29udGVudFNl
Y3VyaXR5UG9saWN5RmVhdHVyZXNFbmFibGVkOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2M2YjhhNWY4NmIxZWY1NjZlNGY3NGJkNGNhYjU4NjMzMTkyNWJmNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRfaAotI2RlZmluZSBBdXRv
Y29tcGxldGVFcnJvckV2ZW50X2gKLQotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkK
LQotI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCA6IHB1Ymxp
YyBFdmVudEluaXQgewotICAgIFN0cmluZyByZWFzb247Ci19OwotCi1jbGFzcyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50IDogcHVibGljIEV2ZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiByZWFzb24pCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQocmVhc29uKSk7Ci0gICAgfQotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoZXZl
bnRUeXBlLCBpbml0aWFsaXplcikpOwotICAgIH0KLQotICAgIGNvbnN0IFN0cmluZyYgcmVhc29u
KCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb247IH0KLQotICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvckF1dG9jb21wbGV0ZUVycm9yRXZlbnQ7IH0KLQotcHJpdmF0ZToKLSAgICBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCkKLSAgICB7Ci0gICAgfQotCi0gICAgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKLSAgICAgICAgOiBFdmVudChldmVudE5hbWVzKCku
YXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQotICAgICAgICAsIG1fcmVhc29u
KHJlYXNvbikKLSAgICB7Ci0gICAgfQotCi0gICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVudElu
aXQmIGluaXRpYWxpemVyKQotICAgICAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIp
Ci0gICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQotICAgIHsKLSAgICB9Ci0K
LSAgICBTdHJpbmcgbV9yZWFzb247Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0KLSNlbmRpZiAvLyBBdXRvY29t
cGxldGVFcnJvckV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29t
cGxldGVFcnJvckV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJv
ckV2ZW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDMwMDNlOWUwNzFhYjNk
YTgyZjBhOTA2YTZjNTNmMmVkZGEwNTRmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsK
LSAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURSwKLSAgICBDb25zdHJ1Y3RvclRl
bXBsYXRlPUV2ZW50Ci1dIGludGVyZmFjZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IDogRXZlbnQg
ewotICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyByZWFzb247Ci19OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2MDFj
NjgyZjdmZDlkMTBjYTk4ZGU3MDgxODZiNGIzYTMzNjc1NTlhLi45MjU4NDRiYjU1NmM1OTNjOTk2
ZTlhM2VjODg0MGEwZWJhZTI1OTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTI1MCw5
ICsyNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGRl
dmljZXByb3hpbWl0eSkgXAogICAgIFwKLSAgICBtYWNybyhhdXRvY29tcGxldGUpIFwKLSAgICBt
YWNybyhhdXRvY29tcGxldGVlcnJvcikgXAotICAgIFwKICAgICBtYWNybyh3ZWJraXRwcmVyZW5k
ZXJzdGFydCkgXAogICAgIG1hY3JvKHdlYmtpdHByZXJlbmRlcnN0b3ApIFwKICAgICBtYWNybyh3
ZWJraXRwcmVyZW5kZXJsb2FkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IGViYjdh
MjFmOTRmNTQ5MzNkZTMzYmIxMjhiNTA0NmYxMDdmZDQ1MTYuLmI1NjgzNDM2ZTQ5YzliMWJlM2Uw
MDE1ZTRkYjhkZTAzODVjZjliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC01NSw3
ICs1NSw2IEBAIE1lZGlhS2V5RXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBNZWRp
YUtleU1lc3NhZ2VFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFfVjIKIE1lZGlhS2V5
TmVlZGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBX1YyCiBUcmFja0V2ZW50IGNv
bmRpdGlvbmFsPVZJREVPX1RSQUNLCi1BdXRvY29tcGxldGVFcnJvckV2ZW50IGNvbmRpdGlvbmFs
PVJFUVVFU1RfQVVUT0NPTVBMRVRFCiBDU1NGb250RmFjZUxvYWRFdmVudCBjb25kaXRpb25hbD1G
T05UX0xPQURfRVZFTlRTCiBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50IGNvbmRpdGlvbmFs
PUNTUF9ORVhUCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5k
ZXggNmM2NzU3ZDE0YTc4ODJkMWY5ZTA5ZjNkOWNiNzA3MDU5MjNjMjdjZS4uOTYyNmIwYzZmYjdi
ZjQ4YzlhODg0MzIzMDBmOTI0Yjc5OTc1ZDkyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4KQEAgLTE2OSw4ICsxNjksNiBAQCBub3ZhbGlkYXRlCiBub3dyYXAK
IG9iamVjdAogb25hYm9ydAotb25hdXRvY29tcGxldGUKLW9uYXV0b2NvbXBsZXRlZXJyb3IKIG9u
YmVmb3JlY29weQogb25iZWZvcmVjdXQKIG9uYmVmb3JlbG9hZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGMwZjUzNGUwNGRkYWYxNjI4MzhkZWM1Y2Q3NzZjYmIx
YjY4MzQ1MWQuLmE2OTUxMjM3ZDEwOTA1YTJlYjhhYmYxY2JlZmE3NTZmYmU5Yzg3ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNp
bmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2lu
Y2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJET01Gb3JtRGF0YS5o
IgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC03Nyw5
ICs3Niw2IEBAIEhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVuCiAgICAgLCBtX3Nob3VsZFN1Ym1pdChm
YWxzZSkKICAgICAsIG1faXNJblJlc2V0RnVuY3Rpb24oZmFsc2UpCiAgICAgLCBtX3dhc0RlbW90
ZWQoZmFsc2UpCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgICwgbV9yZXF1
ZXN0QXV0b2NvbXBsZXRlVGltZXIodGhpcywgJkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyRmlyZWQpCi0jZW5kaWYKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb3Jt
VGFnKSk7CiB9CkBAIC0zOTMsNTMgKzM4OSw2IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXNl
dCgpCiAgICAgbV9pc0luUmVzZXRGdW5jdGlvbiA9IGZhbHNlOwogfQogCi0jaWYgRU5BQkxFKFJF
UVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29t
cGxldGUoKQotewotICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCk7Ci0gICAg
aWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFzaG91bGRBdXRvY29tcGxl
dGUoKSB8fCAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKLSAg
ICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRFcnJvckRp
c2FibGVkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIFN0cmluZ1BhaXJWZWN0b3Ig
Y29udHJvbE5hbWVzQW5kVmFsdWVzOwotICAgIGdldFRleHRGaWVsZFZhbHVlcyhjb250cm9sTmFt
ZXNBbmRWYWx1ZXMpOwotICAgIFJlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSA9IEZvcm1TdGF0
ZTo6Y3JlYXRlKHRoaXMsIGNvbnRyb2xOYW1lc0FuZFZhbHVlcywgZG9jdW1lbnQoKSwgU3VibWl0
dGVkQnlKYXZhU2NyaXB0KTsKLSAgICBmcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaWRSZXF1
ZXN0QXV0b2NvbXBsZXRlKGZvcm1TdGF0ZS5yZWxlYXNlKCkpOwotfQotCi12b2lkIEhUTUxGb3Jt
RWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVz
dWx0KQotewotICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7Ci0gICAgaWYgKHJlc3VsdCA9PSBBdXRv
Y29tcGxldGVSZXN1bHRTdWNjZXNzKQotICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOwotICAgIGVsc2UgaWYg
KHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKQotICAgICAgICBldmVu
dCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSgiZGlzYWJsZWQiKTsKLSAgICBlbHNl
IGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwpCi0gICAgICAgIGV2
ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJjYW5jZWwiKTsKLSAgICBlbHNl
IGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkKQotICAgICAgICBl
dmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSgiaW52YWxpZCIpOwotCi0gICAg
ZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKLSAgICBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHMu
YXBwZW5kKGV2ZW50LnJlbGVhc2UoKSk7Ci0KLSAgICAvLyBEaXNwYXRjaCBldmVudHMgbGF0ZXIg
YXMgdGhpcyBBUEkgaXMgbWVhbnQgdG8gd29yayBhc3luY2hyb25vdXNseSBpbiBhbGwgc2l0dWF0
aW9ucyBhbmQgaW1wbGVtZW50YXRpb25zLgotICAgIGlmICghbV9yZXF1ZXN0QXV0b2NvbXBsZXRl
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOwotfQotCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21w
bGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopCi17Ci0gICAgVmVjdG9yPFJl
ZlB0cjxFdmVudD4gPiBwZW5kaW5nRXZlbnRzOwotICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2
ZW50cy5zd2FwKHBlbmRpbmdFdmVudHMpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGVu
ZGluZ0V2ZW50cy5zaXplKCk7ICsraSkKLSAgICAgICAgZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZl
bnRzW2ldLnJlbGVhc2UoKSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gYWN0aW9uQXR0cikKQEAgLTQ1OCwxMiArNDA3
LDYgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmkKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+dW5yZWdpc3RlckZvclBhZ2VDYWNoZVN1c3BlbnNpb25DYWxsYmFja3ModGhp
cyk7CiAgICAgfQotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICBlbHNlIGlm
IChuYW1lID09IG9uYXV0b2NvbXBsZXRlQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihldmVudE5hbWVzKCkuYXV0b2NvbXBsZXRlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIodGhpcywgbmFtZSwgdmFsdWUpKTsKLSAgICBlbHNlIGlmIChuYW1lID09IG9u
YXV0b2NvbXBsZXRlZXJyb3JBdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7Ci0jZW5kaWYKICAgICBlbHNlCiAgICAgICAg
IEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA3NjBhYzk5M2NiOTJhMmM0YTAwOWM5OGFhYzA0
YzY3ZDdhN2UwMjkzLi5iZDlhMjUyOTA2ZDFkODkxMTllZmY4NzJhYjQyMTg3YWIzZGQ5MjU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTk4LDIxICs5OCw2IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpOwogCi0jaWYgRU5BQkxFKFJFUVVFU1Rf
QVVUT0NPTVBMRVRFKQotICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsKLSAgICAgICAgQXV0
b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JE
aXNhYmxlZCwKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwsCi0gICAgICAg
IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwKLSAgICB9OwotCi0gICAgdm9pZCByZXF1
ZXN0QXV0b2NvbXBsZXRlKCk7Ci0gICAgdm9pZCBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1
dG9jb21wbGV0ZVJlc3VsdCk7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGF1dG9jb21wbGV0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhdXRv
Y29tcGxldGVlcnJvcik7Ci0jZW5kaWYKLQogICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVs
ZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICB2b2lkIGFkZEVsZW1lbnRB
bGlhcyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiBhbGlhcyk7
CiAKQEAgLTE3NiwxMyArMTYxLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNJblJlc2V0RnVu
Y3Rpb247CiAKICAgICBib29sIG1fd2FzRGVtb3RlZDsKLQotI2lmIEVOQUJMRShSRVFVRVNUX0FV
VE9DT01QTEVURSkKLSAgICB2b2lkIHJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKFRpbWVy
PEhUTUxGb3JtRWxlbWVudD4qKTsKLQotICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+ID4gbV9wZW5k
aW5nQXV0b2NvbXBsZXRlRXZlbnRzOwotICAgIFRpbWVyPEhUTUxGb3JtRWxlbWVudD4gbV9yZXF1
ZXN0QXV0b2NvbXBsZXRlVGltZXI7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAppbmRleCA3N2YxNDdhOGFm
NTkwYTFiMjgzZDMwYTkyMDBlMmI0ODI4ZTQxZTkzLi44NmE2Zjc0YzYzZmRmZDJkYWUwZGZjMDJm
ZDdjZDcyZjhmZWI1MTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRs
CkBAIC00MiwxMCArNDIsNCBAQAogI2VuZGlmCiAgICAgdm9pZCByZXNldCgpOwogICAgIGJvb2xl
YW4gY2hlY2tWYWxpZGl0eSgpOwotCi0jaWYgZGVmaW5lZChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICYmIEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURQotICAgIHZvaWQgcmVxdWVzdEF1
dG9jb21wbGV0ZSgpOwotICAgIFtOb3RFbnVtZXJhYmxlXSBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5l
ciBvbmF1dG9jb21wbGV0ZTsKLSAgICBbTm90RW51bWVyYWJsZV0gYXR0cmlidXRlIEV2ZW50TGlz
dGVuZXIgb25hdXRvY29tcGxldGVlcnJvcjsKLSNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZTYwMDBkYTEwMThlZjk0YjQ4YzRiYzQxZGM2YTBiMjRi
MTJiZmIzZS4uZjM5ZWZhMTI1NGE4MGMwMGQ1Yzc3YjBmNDVlZGZkMzFhYzg1YjdjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTE4NCwxMCArMTg0LDQgQEAgUGFz
c093blB0cjxDb250ZXh0TWVudT4gRW1wdHlDb250ZXh0TWVudUNsaWVudDo6Y3VzdG9taXplTWVu
dShQYXNzT3duUHRyPENvbnRleHQKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVRVUVT
VF9BVVRPQ09NUExFVEUpCi12b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpZFJlcXVlc3RB
dXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KQotewotfQotI2VuZGlmCi0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA2YWQ3NzhjMjhmNjRhYjA2NGViNjBh
OTQ5OThmMjRiNzhmNzBlM2ZmLi4yMzU3Njk3OTI4YzgxOGVhOGE1Mjk4OTMxYTg1ZGEwNjJjMDMz
YjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0zNzMsMTAgKzM3Myw2
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29y
a2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgT1ZFUlJJREU7Ci0KLSNpZiBF
TkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RB
dXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSBPVkVSUklERTsKLSNlbmRpZgogfTsK
IAogY2xhc3MgRW1wdHlUZXh0Q2hlY2tlckNsaWVudCA6IHB1YmxpYyBUZXh0Q2hlY2tlckNsaWVu
dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDc3Mjdm
ZjY1YTUzMDAzMjlmNmZiY2I2NDA1Y2I2NDI1ZGQwZTUyNDIuLmJjOTQ1OGUxMDFlODFhOTEyYjY0
NmQ3OTVmMDFjYTE0NDc0MjM3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC0zMzcsMTAgKzMzNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN0YXJ0VXNpbmdQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKikgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShS
RVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRv
Y29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7Ci0jZW5kaWYKLQogI2lmIEVOQUJM
RShXRUJHTCkKICAgICAgICAgdmlydHVhbCBib29sIGFsbG93V2ViR0woYm9vbCBlbmFibGVkUGVy
U2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogICAgICAgICAvLyBJbmZv
cm1zIHRoZSBlbWJlZGRlciB0aGF0IGEgV2ViR0wgY2FudmFzIGluc2lkZSB0aGlzIGZyYW1lIHJl
Y2VpdmVkIGEgbG9zdCBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYTg3
Y2Y2OWEzMzI1Y2E4M2VmNDhmYjNkMzY1ZjEwYTA0NjJiMzdmNC4uNDZlYzlkNzI0NTQ5YzRkYTFk
ZWI1ODFiNGFlMGJmMTZjZjljMDQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAt
NTY2LDcgKzU2Niw2IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOUFVUX1NQRUVDSF0gYXR0cmlidXRl
IFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1dEV2ZW50OwogICAgIFtDb25k
aXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29udGV4dEV2ZW50Q29uc3RydWN0b3IgV2Vi
R0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVBST1hJTUlUWV9FVkVOVFNdIGF0dHJp
YnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVjdG9yIERldmljZVByb3hpbWl0eUV2ZW50
OwotICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURV0gYXR0cmlidXRlIEF1dG9j
b21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRvY29tcGxldGVFcnJvckV2ZW50OwogICAg
IFtDb25kaXRpb25hbD1DU1BfTkVYVF0gYXR0cmlidXRlIFNlY3VyaXR5UG9saWN5VmlvbGF0aW9u
RXZlbnRDb25zdHJ1Y3RvciBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50OwogCiAgICAgYXR0
cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3IgRXZlbnRFeGNlcHRpb247CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NWM3ZjdmODk1ZTdlMTRiOWZmN2JiYzM3YjM1NjUxODZjZjU2MjVjYS4uYmIzZWY5MzU5ZjRkZTYz
MjJmMmIwZWQ1OWRiOWI0MTc3NjY3NWI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA0
LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgdW5t
YWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJv
ci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLmh0bWw6IFJlbW92ZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRlc3Qg
Y29kZS4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1
dG9jb21wbGV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLmh0bWw6IFJlbW92ZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRlc3QgY29kZS4KKyAg
ICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzOiBSZW1v
dmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogUmVt
b3ZlIHRlc3QgZXhwZWN0YXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2pzL2Nv
bnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IFJlbW92ZSB0ZXN0IGV4cGVjdGF0aW9ucy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBlY3RhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vcXQv
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBl
Y3RhdGlvbnMuCisKIDIwMTMtMDQtMTggIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNv
bT4KIAogICAgICAgICBNb3JlIGNsZWFuaW5nIHVwIG9mIHNraXBwZWQgdGVzdHMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVy
cm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDdhNWZjNTI5ZTI0NTUx
NzMyMmRkYWZiOTQ2NDA3ODY1ZjM1ZDk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRv
Y29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTAgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBB
dXRvY29tcGxldGVFcnJvckV2ZW50IERPTSBjbGFzcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLUZBSUwgbm8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29u
c3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRv
Y29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZGIxY2VjNzU0ZjFmYzA1ZTBhZTBkMzMwZTBkOTAyMWM1ZDlhYTcyMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVj
dG9yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCBET00gY2xhc3MuIik7Ci0KLWlmICghd2luZG93LkF1dG9jb21wbGV0ZUVycm9yRXZlbnQp
IHsKLSAgICB0ZXN0RmFpbGVkKCdubyBBdXRvY29tcGxldGVFcnJvckV2ZW50Jyk7Ci0gICAgZmlu
aXNoSlNUZXN0KCk7Ci19IGVsc2UgewotICAgIC8vIE5vIGluaXRpYWxpemVyIGlzIHBhc3NlZC4K
LSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScpLmJ1
YmJsZXMiLCAiZmFsc2UiKTsKLSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnKS5yZWFzb24i
LCAiIik7Ci0KLSAgICAvLyBidWJibGVzIGlzIHBhc3NlZC4KLSAgICBzaG91bGRCZSgibmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogZmFsc2UgfSkuYnVi
YmxlcyIsICJmYWxzZSIpOwotICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwotCi0g
ICAgLy8gY2FuY2VsYWJsZSBpcyBwYXNzZWQuCi0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGNhbmNlbGFibGU6IGZhbHNlIH0pLmNhbmNlbGFi
bGUiLCAiZmFsc2UiKTsKLSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsK
LQotICAgIC8vIHJlYXNvbiBpcyBwYXNzZWQuCi0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246ICdkb3JlbWkn
IH0pLnJlYXNvbiIsICJkb3JlbWkiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogJycgfSkucmVhc29u
IiwgIiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9y
RXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiB1bmRlZmluZWQgfSkucmVhc29uIiwgInVuZGVm
aW5lZCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9y
RXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBudWxsIH0pLnJlYXNvbiIsICJudWxsIik7Ci0g
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZl
bnRUeXBlJywgeyByZWFzb246IGZhbHNlIH0pLnJlYXNvbiIsICJmYWxzZSIpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScs
IHsgcmVhc29uOiB0cnVlIH0pLnJlYXNvbiIsICJ0cnVlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246
IDEyMzQ1IH0pLnJlYXNvbiIsICIxMjM0NSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAxODQ0Njc0
NDA3MzcwOTU1MTYxNSB9KS5yZWFzb24iLCAiMTg0NDY3NDQwNzM3MDk1NTIwMDAiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnLCB7IHJlYXNvbjogTmFOIH0pLnJlYXNvbiIsICJOYU4iKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNv
bjogW10gfSkucmVhc29uIiwgIiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBbMSwgMiwgM10gfSku
cmVhc29uIiwgIjEsMiwzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHtkb3JlbWk6IDEyMzQ1fSB9
KS5yZWFzb24iLCAiW29iamVjdCBPYmplY3RdIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHt2YWx1
ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnZG9yZW1pJzsgfSB9IH0pLnJlYXNvbiIsICJbb2Jq
ZWN0IE9iamVjdF0iKTsKLQotICAgIC8vIEFsbCBpbml0aWFsaXplcnMgYXJlIHBhc3NlZC4KLSAg
ICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5idWJibGVz
IiwgInRydWUiKTsKLSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2
ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgcmVhc29uOiAnZG9y
ZW1pJyB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIHJlYXNvbjogJ2RvcmVtaScgfSkucmVhc29uIiwgImRvcmVtaSIp
OwotfQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCmluZGV4IDFkOGUzNTk3NjRjNGMwODlmZWRkN2I0
ZjU1ZGQ0Nzg4Mjk0Mzk2YzMuLjMxYmE3ZTI4MWMxMWU5NmQ1Mjc1YTAzYjI0YmRhOWFjMzBkOGYx
ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbApAQCAt
MjI4LDEyICsyMjgsNiBAQAogICAgIC8vIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ09yaWVudGF0aW9uRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwogICAgIC8v
IHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ09yaWVudGF0aW9uRXZlbnQnKS5j
b25zdHJ1Y3RvciA9PT0gd2luZG93LkV2ZW50Iik7CiAKLSAgICAvLyAjaWYgRU5BQkxFKFJFUVVF
U1RfQVVUT0NPTVBMRVRFKQotICAgIC8vIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKLSAgICAvLyBz
aG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdBdXRvY29tcGxldGVFcnJvckV2ZW50
JykgaW5zdGFuY2VvZiB3aW5kb3cuQXV0b2NvbXBsZXRlRXJyb3JFdmVudCIpOwotICAgIC8vIHNo
b3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQn
KSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwotICAgIC8vIHNob3VsZEJlVHJ1ZSgiZG9jdW1l
bnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0g
d2luZG93LkF1dG9jb21wbGV0ZUVycm9yRXZlbnQiKTsKLQogICAgIC8vIFdlIHRlc3QgYm90aCBh
IGhhcmQgY29kZWQgc2V0IGFuZCB0aGUgYXV0b21hdGVkIHNldCBiZWxvdyAodXNpbmcgZW51bWVy
YXRpb24pIHRvIGVuc3VyZSB0aGF0IGEgY29uc3RydWN0b3IgYmVpbmcgcmVtb3ZlZAogICAgIC8v
IGZyb20gdGhlIHdpbmRvdyBpcyBjYXVnaHQgYSByZWdyZXNzaW9uLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGZlZTc5NmNhZGE0NjIw
MTQ2YzEyZDAwZjQ3OWI4YzcyYTkzZmE4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRv
Y29tcGxldGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1IVE1M
Rm9ybUVsZW1lbnQjcmVxdWVzdEF1dG9jb21wbGV0ZSBhbmQgYXNzb2NpYXRlZCBldmVudHMKLQot
Rm9yIHRoaXMgdGVzdCB0byBwYXNzLCB5b3Ugc2hvdWxkIHNlZSBhbGwgUEFTU0VEIGJlbG93Lgot
Ci1GQUlMIG5vIHJlcXVlc3RBdXRvY29tcGxldGUgZnVuY3Rpb24KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3N2I0NzFiOTUwN2E1MDcyODVhZmNjOGMzZmVhZTA2OWY3Njc0OGRj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIgbnVtRXJyb3JzID0gMDsKLXZhciBu
dW1FcnJvcnNFeHBlY3RlZCA9IDA7Ci0KLWZ1bmN0aW9uIHJ1blRlc3RzKCkKLXsKLSAgICBpZiAo
dHlwZW9mIEhUTUxGb3JtRWxlbWVudC5wcm90b3R5cGUucmVxdWVzdEF1dG9jb21wbGV0ZSAhPSAn
ZnVuY3Rpb24nKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ25vIHJlcXVlc3RBdXRvY29tcGxldGUg
ZnVuY3Rpb24nKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBjaGVja0R5bmFtaWNBdHRyaWJ1dGVzKCk7Ci0gICAgY2hlY2tQYXJzZWRBdHRy
aWJ1dGVzKCk7Ci0gICAgY2hlY2tOb25Vc2VyR2VzdHVyZSgpOwotfQotCi1mdW5jdGlvbiBjaGVj
a0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pCi17Ci0gICAgdmFyIGVudW1lcmF0ZWQgPSBm
YWxzZTsKLSAgICBmb3IgKHZhciBmaWVsZCBpbiBmb3JtKSB7Ci0gICAgICAgIGlmICgvb25hdXRv
Y29tcGxldGUvLnRlc3QoZmllbGQpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgnZW51bWVyYWJs
ZSBmb3JtIGF0dHJpYnV0ZSBmb3VuZCBvbiBIVE1MRm9ybUVsZW1lbnQ6ICcgKyBmaWVsZCk7Ci0g
ICAgICAgIGVudW1lcmF0ZWQgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZW51bWVyYXRlZCkKLSAg
ICAgICAgdGVzdFBhc3NlZCgnbm8gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIEhUTUxGb3JtRWxl
bWVudCcpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZCgnZmFpbGVkIHRvIGVudW1lcmF0
ZSBIVE1MRm9ybUVsZW1lbnQgcHJvcGVydGllcycpOwotfQotCi1mdW5jdGlvbiBjaGVja1BhcnNl
ZEF0dHJpYnV0ZXMoKQotewotICAgIG51bUVycm9yc0V4cGVjdGVkICs9IDE7Ci0KLSAgICB2YXIg
Zm9ybSA9IGRvY3VtZW50LmZvcm1zWzBdOwotICAgIGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRp
ZXMoZm9ybSk7Ci0KLSAgICAvLyBDdXJyZW50bHkgQ2hyb21lIGp1c3QgaW1tZWRpYXRlbHkgZGlz
cGF0Y2hlcyBhbiBlcnJvci4KLSAgICBmb3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBlcnJvcldp
dGhSZWFzb24oJ2Rpc2FibGVkJyk7Ci0gICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRlKCk7Ci19
Ci0KLWZ1bmN0aW9uIGNoZWNrRHluYW1pY0F0dHJpYnV0ZXMoKQotewotICAgIG51bUVycm9yc0V4
cGVjdGVkICs9IDE7Ci0KLSAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zv
cm0nKTsKLSAgICBjaGVja0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOwotCi0gICAgZm9y
bS5hdXRvY29tcGxldGUgPSAnb2ZmJzsKLSAgICBmb3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBl
cnJvcldpdGhSZWFzb24oJ2Rpc2FibGVkJyk7Ci0gICAgZm9ybS5yZXF1ZXN0QXV0b2NvbXBsZXRl
KCk7Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrTm9uVXNlckdlc3R1cmUoKQotewotICAgIG51bUVycm9y
c0V4cGVjdGVkICs9IDE7Ci0KLSAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2Zvcm0nKTsKLSAgICBjaGVja0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOwotICAgIGZv
cm0ub25hdXRvY29tcGxldGVlcnJvciA9IGVycm9yV2l0aFJlYXNvbignZGlzYWJsZWQnKTsKLQot
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgZm9ybS5yZXF1ZXN0QXV0
b2NvbXBsZXRlKCk7Ci0gICAgfSwgMCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yV2l0aFJlYXNvbihy
ZWFzb24pCi17Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgIGlmIChldmVu
dCBpbnN0YW5jZW9mIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQpCi0gICAgICAgICAgICB0ZXN0UGFz
c2VkKCdldmVudCBpcyBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50Jyk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2V4cGVjdGVkIGFuIEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQnKTsKLQotICAgICAgICBpZiAoZXZlbnQucmVhc29uID09IHJlYXNvbikKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ2dvdCBleHBlY3RlZCByZWFzb246ICcgKyByZWFzb24pOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCd3cm9uZyByZWFzb24sIGV4cGVjdGVkOiAnICsg
cmVhc29uICsgJywgZ290OiAnICsgZXZlbnQucmVhc29uKTsKLQotICAgICAgICBvbkVycm9yKCk7
Ci0gICAgfTsKLX0KLQotZnVuY3Rpb24gb25FcnJvcigpCi17Ci0gICAgbnVtRXJyb3JzICs9IDE7
Ci0gICAgaWYgKG51bUVycm9ycyA+IG51bUVycm9yc0V4cGVjdGVkKQotICAgICAgICB0ZXN0RmFp
bGVkKCd0b28gbWFueSBlcnJvciBldmVudHMnKTsKLSAgICBlbHNlIGlmIChudW1FcnJvcnMgPT0g
bnVtRXJyb3JzRXhwZWN0ZWQpIHsKLSAgICAgICAgdGVzdFBhc3NlZCgnZ290IGV4cGVjdGVkIG51
bWJlciBvZiBlcnJvciBldmVudHMgKCcgKyBudW1FcnJvcnNFeHBlY3RlZCArICcpJyk7Ci0gICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBydW5UZXN0cywgdHJ1ZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+
IDxhIGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1NyI+
SFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUgYW5kIGFzc29jaWF0ZWQgZXZlbnRz
PC9hPiA8L3A+Ci08cD4gRm9yIHRoaXMgdGVzdCB0byBwYXNzLCB5b3Ugc2hvdWxkIHNlZSBhbGwg
UEFTU0VEIGJlbG93LiA8L3A+Ci08Zm9ybSBhdXRvY29tcGxldGU9Im9mZiIgb25hdXRvY29tcGxl
dGVlcnJvcj0ib25FcnJvcigpOyI+PC9mb3JtPgotPHAgaWQ9ImNvbnNvbGUiPjwvcD4KLTxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1s
CmluZGV4IDFkNGU0NmEyY2EwZTdjOWQxNDk0OWQ4OGYxNmNmMzRhMTc3NTIzN2QuLmYzMDkyNGRm
NjQ3NzEzMTAwODZlNDJlZGE4OWNjYjU2OTk4ZTBjOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9q
cy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbApAQCAtOSw3ICs5LDYgQEAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdHMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBjb25zdHJ1Y3RvcnMuIik7CiAKIHNob3Vs
ZEJlKCdBcnJheUJ1ZmZlci5sZW5ndGgnLCAnMScpOwogc2hvdWxkQmUoJ0F1ZGlvQ29udGV4dC5s
ZW5ndGgnLCAnMCcpOwotc2hvdWxkQmUoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoJywg
JzInKTsKIHNob3VsZEJlKCdCZWZvcmVMb2FkRXZlbnQubGVuZ3RoJywgJzInKTsKIHNob3VsZEJl
KCdCbG9iLmxlbmd0aCcsICcyJyk7CiBzaG91bGRCZSgnQ2xvc2VFdmVudC5sZW5ndGgnLCAnMicp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNv
bnN0cnVjdG9ycy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1j
b25zdHJ1Y3RvcnMuanMKaW5kZXggYWU3MmNhMjBiMzY5ZTRiMWUzNTk3MGE4ZTIxMDgyZGM2MWFh
MzQ5NC4uNDNkNDMzNjdkNmQ2MzRhNTg5NGEwYWNlYjI0MjEwZTVmMGRhYTdkNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5q
cworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0
b3JzLmpzCkBAIC0zOSw4ICszOSw3IEBAIGZvciAodmFyIHggaW4gY29uc3RydWN0b3JOYW1lcykg
ewogICAgICAgICBuYW1lID09ICJGbG9hdDMyQXJyYXkiIHx8CiAgICAgICAgIG5hbWUgPT0gIkZs
b2F0NjRBcnJheSIgfHwKICAgICAgICAgbmFtZSA9PSAiRmlsZUVycm9yIiB8fAotICAgICAgICBu
YW1lID09ICJGaWxlUmVhZGVyIiB8fAotICAgICAgICBuYW1lID09ICJBdXRvY29tcGxldGVFcnJv
ckV2ZW50IikKKyAgICAgICAgbmFtZSA9PSAiRmlsZVJlYWRlciIpCiAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgaWYgKG5hbWUgPT0gIlhNTERvY3VtZW50IikKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVj
dG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggMzkxMjdkMTRhNzIxMzNkYTIwYzI3YjUwNjIz
NDA3YzY4ZmQ1MGUxOS4uOWRiZmZjOTJmMWRjYTliMWY1MTIxYjE2Zjk2ZmExM2ZkNjUwMWFiYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUsNyAr
NSw2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVuZ3Ro
IGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhjZXB0
aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQKLUZB
SUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4Y2Vw
dGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRlRXJy
b3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5sZW5n
dGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4
cGVjdGVkLnR4dAppbmRleCA5NjI4YTdiNWEzNjA1NDQ2ZDY5Yzk0NmU2YzY2MTQ5NDZjYTQ5OWQ5
Li4zMTlkNGMyZGMxMjY1Njg3YmM3MzFiNTgyNjQxNmFhMTVkMmM1Y2U1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxl
bmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQKLUZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5s
ZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRlRXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZl
bnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5sZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxl
bmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAppbmRleCA5NjI4YTdiNWEz
NjA1NDQ2ZDY5Yzk0NmU2YzY2MTQ5NDZjYTQ5OWQ5Li4zMTlkNGMyZGMxMjY1Njg3YmM3MzFiNTgy
NjQxNmFhMTVkMmM1Y2U1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUs
NyArNSw2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVu
Z3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhj
ZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQK
LUZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4
Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRl
RXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5s
ZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1l
eHBlY3RlZC50eHQKaW5kZXggOTBkYjExMTgwMGZmOGJjZWFiZmI5NDJhYjczMzhiNDIxN2RkY2E5
YS4uMTAzZWY0YWRhODY2MDc4ZTI2MzhhZjBkM2UzNWFkMWM5MTA2YjQyMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDYgQEAgT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUKIAogUEFTUyBBcnJheUJ1ZmZlci5sZW5ndGggaXMgMQogRkFJTCBBdWRpb0NvbnRleHQubGVu
Z3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IEF1ZGlvQ29udGV4dAotRkFJTCBBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxl
bmd0aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBBdXRvY29tcGxldGVFcnJvckV2ZW50CiBQQVNTIEJlZm9yZUxvYWRFdmVu
dC5sZW5ndGggaXMgMgogUEFTUyBCbG9iLmxlbmd0aCBpcyAyCiBQQVNTIENsb3NlRXZlbnQubGVu
Z3RoIGlzIDIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198815</attachid>
            <date>2013-04-19 00:04:49 -0700</date>
            <delta_ts>2013-04-19 00:12:05 -0700</delta_ts>
            <desc>merge</desc>
            <filename>bug-114846-20130419000419.patch</filename>
            <type>text/plain</type>
            <size>35938</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0NTJjNWRkY2Y1MDJjZDJlZjdmODBm
N2JkOTFiNzA1NDRjNTM4MTUuLjk5MzU4ZTczYTgyMjI4NTA0MzhjN2Q2ODI3YzlhYTI2ZGYyNmVm
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMTggIERhbiBCZWFtICA8ZGJlYW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSB1bm1haW50YWluZWQgZmVhdHVyZSBSRVFVRVNU
X0FVVE9DT01QTEVURQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE0ODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogUmVtb3ZlIFJFUVVFU1RfQVVUT0NPTVBMRVRF
IGFzIGEgZmVhdHVyZSBkZWZpbml0aW9uLgorCiAyMDEzLTA0LTE4ICBab2x0YW4gQXJ2YWkgIDx6
YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBm
b3IgUXQgTW91bnRhaW4gTGlvbiBSZWxlYXNlIGFmdGVyIHIxNDg2MzkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjIzZTAxNjNkMWZhOTYwNTA4NmM4NTc1MGE1OGE2MDhkMzQ0NjdlMi4uMDYwYWEyMzI3MjYxZTk2
OTVlOWYxMDhlMTI0ZGQ2NGVmOGQ3NzY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDEzLTA0LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1v
dmUgdW5tYWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogUmVtb3ZlIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQuaCBpbmNsdWRlLgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJDb3JlKTogUmVtb3ZlIHJlcXVlc3RBdXRv
Y29tcGxldGUoKSBydW50aW1lIGZlYXR1cmUuCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
KTogUmVtb3ZlIHJlcXVlc3RBdXRvY29tcGxldGUoKSBydW50aW1lIGZlYXR1cmUuCisgICAgICAg
ICogZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20v
QXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6IFJlbW92ZWQuCisgICAgICAgICogZG9tL0V2ZW50
TmFtZXMuaDogUmVtb3ZlIGBhdXRvY29tcGxldGVgIGFuZCBgYXV0b2NvbXBsZXRlZXJyb3JgIGV2
ZW50IG5hbWVzLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aW46IFJlbW92ZSBgYXV0b2NvbXBsZXRlYCBhbmQgYGF1dG9jb21wbGV0ZWVycm9yYCBldmVudCBu
YW1lcy4KKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjogUmVtb3ZlIGBvbmF1
dG9jb21wbGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZWVycm9yYCBmb3JtIGF0dHJpYnV0ZXMuCisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOiBSZW1vdmUgcmVxdWVzdEF1dG9jb21w
bGV0ZSgpIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
SFRNTEZvcm1FbGVtZW50KTogUmVtb3ZlIHRpbWVyIGFuZCBldmVudCBxdWV1ZSBmb3IgcmVxdWVz
dEF1dG9jb21wbGV0ZSgpIHJlbGF0ZWQgZXZlbnRzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6IFJlbW92ZSBwYXJzaW5nIG9mIGBvbmF1dG9jb21w
bGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZXJyb3JgLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1F
bGVtZW50Lmg6IFJlbW92ZSByZXF1ZXN0QXV0b2NvbXBsZXRlKCkgcmVsYXRlZCBtZW1iZXJzLgor
ICAgICAgICAoSFRNTEZvcm1FbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGw6IFJlbW92ZSBwdWJsaWMgcmVxdWVzdEF1dG9jb21wbGV0ZSgpIEFQSSBtZXRob2QuCisg
ICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6IFJlbW92ZSBzdHViIGltcGxlbWVudGF0
aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5o
OiBSZW1vdmUgc3R1YiBpbnRlcmZhY2UuCisgICAgICAgIChFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDogUmVtb3ZlIGRpZFJlcXVl
c3RBdXRvY29tcGxldGUoKSBmcm9tIGludGVyZmFjZS4KKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IFJlbW92ZSBgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudGAgZnJvbSB3aW5kb3cgRE9NIGludGVyZmFjZS4KKwogMjAxMy0wNC0xOCAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIENTUy5zZXRT
dHlsZVRleHQgdG8gdGhlIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaAppbmRleCBhZmFkMTc0NjU4ODQzZTkxOTE0ZDMxOTE2Yzk5NWFlODcwYmZhNGU0Li43YTI5
ZWFlYWJjOTk2ZjQ2ZGY4MjVmYTEzODhjYzVkZTczNjk1NGY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKQEAgLTcxNSwxMCArNzE1LDYgQEAKICNkZWZpbmUgRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKQotI2RlZmluZSBFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUgMAotI2VuZGlmCi0K
ICNpZiAhZGVmaW5lZChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpCiAjZGVmaW5lIEVOQUJMRV9SVUJC
RVJfQkFORElORyAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGU3
NmUxZDBiNGI4NTczNjZhZmVlODc4YjQ4MmExYmQ1N2Q2ODAzYjIuLjgyZDJkZDQ4ODkzZTE4ZGE1
M2I5MjA5YWQwY2ZkNDcwZDQxZWY1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMjc4Miw3ICsyNzgyLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vQXR0ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcAppbmRleCBmMDIxYmM3NmU4MzRhY2I5MzQyMzY0NjNjNWFhODNiZDkxNGMzMjViLi5kMmYw
NzNkMGJlYzQxMGU3NTEyMWNiMDY3YjA0NzJhOWYwMzgwZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHAKQEAgLTIzMSwxMCArMjMxLDYgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lu
cHV0VHlwZVdlZWtFbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
aXNEaWFsb2dFbGVtZW50RW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVR
VUVTVF9BVVRPQ09NUExFVEUpCi1ib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUmVxdWVz
dEF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKENTUF9O
RVhUKQogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjphcmVFeHBlcmltZW50YWxDb250ZW50
U2VjdXJpdHlQb2xpY3lGZWF0dXJlc0VuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAppbmRleCBiNGU3Nzc1ZTYxMzRmM2M4NzQ0OTdmYzBlZWY0ZjgzNjE1MGY2M2VlLi44MzM3
Mzk3NWFjMWJlODRkYjQ2NzEzYWRlMDQ4YTY1NWI2NzNhNjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApA
QCAtMjk4LDExICsyOTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGxhbmcgYXR0cmlidXRlIHN1
cHBvcnQgaXMgaW5jb21wbGV0ZSBhbmQgc2hvdWxkIG9ubHkgYmUgdHVybmVkIG9uIGZvciB0ZXN0
cy4KICAgICBzdGF0aWMgdm9pZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlF
bmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUp
Ci0gICAgc3RhdGljIGJvb2wgcmVxdWVzdEF1dG9jb21wbGV0ZUVuYWJsZWQoKSB7IHJldHVybiBp
c1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkOyB9Ci0gICAgc3RhdGljIHZvaWQgc2V0UmVxdWVz
dEF1dG9jb21wbGV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNSZXF1ZXN0QXV0b2NvbXBs
ZXRlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgLy8gTmV2
ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtNDEw
LDEwICs0MDUsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzRGlhbG9nRWxlbWVudEVu
YWJsZWQ7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICBz
dGF0aWMgYm9vbCBpc1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkOwotI2VuZGlmCi0KICNpZiBF
TkFCTEUoQ1NQX05FWFQpCiAgICAgc3RhdGljIGJvb2wgYXJlRXhwZXJpbWVudGFsQ29udGVudFNl
Y3VyaXR5UG9saWN5RmVhdHVyZXNFbmFibGVkOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2M2YjhhNWY4NmIxZWY1NjZlNGY3NGJkNGNhYjU4NjMzMTkyNWJmNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRfaAotI2RlZmluZSBBdXRv
Y29tcGxldGVFcnJvckV2ZW50X2gKLQotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkK
LQotI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCA6IHB1Ymxp
YyBFdmVudEluaXQgewotICAgIFN0cmluZyByZWFzb247Ci19OwotCi1jbGFzcyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50IDogcHVibGljIEV2ZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiByZWFzb24pCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQocmVhc29uKSk7Ci0gICAgfQotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoZXZl
bnRUeXBlLCBpbml0aWFsaXplcikpOwotICAgIH0KLQotICAgIGNvbnN0IFN0cmluZyYgcmVhc29u
KCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb247IH0KLQotICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvckF1dG9jb21wbGV0ZUVycm9yRXZlbnQ7IH0KLQotcHJpdmF0ZToKLSAgICBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCkKLSAgICB7Ci0gICAgfQotCi0gICAgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKLSAgICAgICAgOiBFdmVudChldmVudE5hbWVzKCku
YXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQotICAgICAgICAsIG1fcmVhc29u
KHJlYXNvbikKLSAgICB7Ci0gICAgfQotCi0gICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVudElu
aXQmIGluaXRpYWxpemVyKQotICAgICAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIp
Ci0gICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQotICAgIHsKLSAgICB9Ci0K
LSAgICBTdHJpbmcgbV9yZWFzb247Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0KLSNlbmRpZiAvLyBBdXRvY29t
cGxldGVFcnJvckV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29t
cGxldGVFcnJvckV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJv
ckV2ZW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDMwMDNlOWUwNzFhYjNk
YTgyZjBhOTA2YTZjNTNmMmVkZGEwNTRmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsK
LSAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURSwKLSAgICBDb25zdHJ1Y3RvclRl
bXBsYXRlPUV2ZW50Ci1dIGludGVyZmFjZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IDogRXZlbnQg
ewotICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyByZWFzb247Ci19OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2MDFj
NjgyZjdmZDlkMTBjYTk4ZGU3MDgxODZiNGIzYTMzNjc1NTlhLi45MjU4NDRiYjU1NmM1OTNjOTk2
ZTlhM2VjODg0MGEwZWJhZTI1OTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTI1MCw5
ICsyNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGRl
dmljZXByb3hpbWl0eSkgXAogICAgIFwKLSAgICBtYWNybyhhdXRvY29tcGxldGUpIFwKLSAgICBt
YWNybyhhdXRvY29tcGxldGVlcnJvcikgXAotICAgIFwKICAgICBtYWNybyh3ZWJraXRwcmVyZW5k
ZXJzdGFydCkgXAogICAgIG1hY3JvKHdlYmtpdHByZXJlbmRlcnN0b3ApIFwKICAgICBtYWNybyh3
ZWJraXRwcmVyZW5kZXJsb2FkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IGViYjdh
MjFmOTRmNTQ5MzNkZTMzYmIxMjhiNTA0NmYxMDdmZDQ1MTYuLmI1NjgzNDM2ZTQ5YzliMWJlM2Uw
MDE1ZTRkYjhkZTAzODVjZjliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC01NSw3
ICs1NSw2IEBAIE1lZGlhS2V5RXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBNZWRp
YUtleU1lc3NhZ2VFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFfVjIKIE1lZGlhS2V5
TmVlZGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBX1YyCiBUcmFja0V2ZW50IGNv
bmRpdGlvbmFsPVZJREVPX1RSQUNLCi1BdXRvY29tcGxldGVFcnJvckV2ZW50IGNvbmRpdGlvbmFs
PVJFUVVFU1RfQVVUT0NPTVBMRVRFCiBDU1NGb250RmFjZUxvYWRFdmVudCBjb25kaXRpb25hbD1G
T05UX0xPQURfRVZFTlRTCiBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50IGNvbmRpdGlvbmFs
PUNTUF9ORVhUCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5k
ZXggNmM2NzU3ZDE0YTc4ODJkMWY5ZTA5ZjNkOWNiNzA3MDU5MjNjMjdjZS4uOTYyNmIwYzZmYjdi
ZjQ4YzlhODg0MzIzMDBmOTI0Yjc5OTc1ZDkyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4KQEAgLTE2OSw4ICsxNjksNiBAQCBub3ZhbGlkYXRlCiBub3dyYXAK
IG9iamVjdAogb25hYm9ydAotb25hdXRvY29tcGxldGUKLW9uYXV0b2NvbXBsZXRlZXJyb3IKIG9u
YmVmb3JlY29weQogb25iZWZvcmVjdXQKIG9uYmVmb3JlbG9hZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGMwZjUzNGUwNGRkYWYxNjI4MzhkZWM1Y2Q3NzZjYmIx
YjY4MzQ1MWQuLmE2OTUxMjM3ZDEwOTA1YTJlYjhhYmYxY2JlZmE3NTZmYmU5Yzg3ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNp
bmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2lu
Y2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJET01Gb3JtRGF0YS5o
IgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC03Nyw5
ICs3Niw2IEBAIEhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVuCiAgICAgLCBtX3Nob3VsZFN1Ym1pdChm
YWxzZSkKICAgICAsIG1faXNJblJlc2V0RnVuY3Rpb24oZmFsc2UpCiAgICAgLCBtX3dhc0RlbW90
ZWQoZmFsc2UpCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgICwgbV9yZXF1
ZXN0QXV0b2NvbXBsZXRlVGltZXIodGhpcywgJkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyRmlyZWQpCi0jZW5kaWYKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb3Jt
VGFnKSk7CiB9CkBAIC0zOTMsNTMgKzM4OSw2IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXNl
dCgpCiAgICAgbV9pc0luUmVzZXRGdW5jdGlvbiA9IGZhbHNlOwogfQogCi0jaWYgRU5BQkxFKFJF
UVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29t
cGxldGUoKQotewotICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCk7Ci0gICAg
aWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFzaG91bGRBdXRvY29tcGxl
dGUoKSB8fCAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKLSAg
ICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRFcnJvckRp
c2FibGVkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIFN0cmluZ1BhaXJWZWN0b3Ig
Y29udHJvbE5hbWVzQW5kVmFsdWVzOwotICAgIGdldFRleHRGaWVsZFZhbHVlcyhjb250cm9sTmFt
ZXNBbmRWYWx1ZXMpOwotICAgIFJlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSA9IEZvcm1TdGF0
ZTo6Y3JlYXRlKHRoaXMsIGNvbnRyb2xOYW1lc0FuZFZhbHVlcywgZG9jdW1lbnQoKSwgU3VibWl0
dGVkQnlKYXZhU2NyaXB0KTsKLSAgICBmcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaWRSZXF1
ZXN0QXV0b2NvbXBsZXRlKGZvcm1TdGF0ZS5yZWxlYXNlKCkpOwotfQotCi12b2lkIEhUTUxGb3Jt
RWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVz
dWx0KQotewotICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7Ci0gICAgaWYgKHJlc3VsdCA9PSBBdXRv
Y29tcGxldGVSZXN1bHRTdWNjZXNzKQotICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOwotICAgIGVsc2UgaWYg
KHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKQotICAgICAgICBldmVu
dCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSgiZGlzYWJsZWQiKTsKLSAgICBlbHNl
IGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwpCi0gICAgICAgIGV2
ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJjYW5jZWwiKTsKLSAgICBlbHNl
IGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkKQotICAgICAgICBl
dmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSgiaW52YWxpZCIpOwotCi0gICAg
ZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKLSAgICBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHMu
YXBwZW5kKGV2ZW50LnJlbGVhc2UoKSk7Ci0KLSAgICAvLyBEaXNwYXRjaCBldmVudHMgbGF0ZXIg
YXMgdGhpcyBBUEkgaXMgbWVhbnQgdG8gd29yayBhc3luY2hyb25vdXNseSBpbiBhbGwgc2l0dWF0
aW9ucyBhbmQgaW1wbGVtZW50YXRpb25zLgotICAgIGlmICghbV9yZXF1ZXN0QXV0b2NvbXBsZXRl
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOwotfQotCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21w
bGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopCi17Ci0gICAgVmVjdG9yPFJl
ZlB0cjxFdmVudD4gPiBwZW5kaW5nRXZlbnRzOwotICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2
ZW50cy5zd2FwKHBlbmRpbmdFdmVudHMpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGVu
ZGluZ0V2ZW50cy5zaXplKCk7ICsraSkKLSAgICAgICAgZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZl
bnRzW2ldLnJlbGVhc2UoKSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gYWN0aW9uQXR0cikKQEAgLTQ1OCwxMiArNDA3
LDYgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmkKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+dW5yZWdpc3RlckZvclBhZ2VDYWNoZVN1c3BlbnNpb25DYWxsYmFja3ModGhp
cyk7CiAgICAgfQotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICBlbHNlIGlm
IChuYW1lID09IG9uYXV0b2NvbXBsZXRlQXR0cikKLSAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihldmVudE5hbWVzKCkuYXV0b2NvbXBsZXRlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIodGhpcywgbmFtZSwgdmFsdWUpKTsKLSAgICBlbHNlIGlmIChuYW1lID09IG9u
YXV0b2NvbXBsZXRlZXJyb3JBdHRyKQotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7Ci0jZW5kaWYKICAgICBlbHNlCiAgICAgICAg
IEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA3NjBhYzk5M2NiOTJhMmM0YTAwOWM5OGFhYzA0
YzY3ZDdhN2UwMjkzLi5iZDlhMjUyOTA2ZDFkODkxMTllZmY4NzJhYjQyMTg3YWIzZGQ5MjU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTk4LDIxICs5OCw2IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpOwogCi0jaWYgRU5BQkxFKFJFUVVFU1Rf
QVVUT0NPTVBMRVRFKQotICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsKLSAgICAgICAgQXV0
b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JE
aXNhYmxlZCwKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwsCi0gICAgICAg
IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwKLSAgICB9OwotCi0gICAgdm9pZCByZXF1
ZXN0QXV0b2NvbXBsZXRlKCk7Ci0gICAgdm9pZCBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1
dG9jb21wbGV0ZVJlc3VsdCk7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGF1dG9jb21wbGV0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhdXRv
Y29tcGxldGVlcnJvcik7Ci0jZW5kaWYKLQogICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVs
ZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICB2b2lkIGFkZEVsZW1lbnRB
bGlhcyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiBhbGlhcyk7
CiAKQEAgLTE3NiwxMyArMTYxLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNJblJlc2V0RnVu
Y3Rpb247CiAKICAgICBib29sIG1fd2FzRGVtb3RlZDsKLQotI2lmIEVOQUJMRShSRVFVRVNUX0FV
VE9DT01QTEVURSkKLSAgICB2b2lkIHJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKFRpbWVy
PEhUTUxGb3JtRWxlbWVudD4qKTsKLQotICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+ID4gbV9wZW5k
aW5nQXV0b2NvbXBsZXRlRXZlbnRzOwotICAgIFRpbWVyPEhUTUxGb3JtRWxlbWVudD4gbV9yZXF1
ZXN0QXV0b2NvbXBsZXRlVGltZXI7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAppbmRleCA3N2YxNDdhOGFm
NTkwYTFiMjgzZDMwYTkyMDBlMmI0ODI4ZTQxZTkzLi44NmE2Zjc0YzYzZmRmZDJkYWUwZGZjMDJm
ZDdjZDcyZjhmZWI1MTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRs
CkBAIC00MiwxMCArNDIsNCBAQAogI2VuZGlmCiAgICAgdm9pZCByZXNldCgpOwogICAgIGJvb2xl
YW4gY2hlY2tWYWxpZGl0eSgpOwotCi0jaWYgZGVmaW5lZChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICYmIEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURQotICAgIHZvaWQgcmVxdWVzdEF1
dG9jb21wbGV0ZSgpOwotICAgIFtOb3RFbnVtZXJhYmxlXSBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5l
ciBvbmF1dG9jb21wbGV0ZTsKLSAgICBbTm90RW51bWVyYWJsZV0gYXR0cmlidXRlIEV2ZW50TGlz
dGVuZXIgb25hdXRvY29tcGxldGVlcnJvcjsKLSNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZTYwMDBkYTEwMThlZjk0YjQ4YzRiYzQxZGM2YTBiMjRi
MTJiZmIzZS4uZjM5ZWZhMTI1NGE4MGMwMGQ1Yzc3YjBmNDVlZGZkMzFhYzg1YjdjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTE4NCwxMCArMTg0LDQgQEAgUGFz
c093blB0cjxDb250ZXh0TWVudT4gRW1wdHlDb250ZXh0TWVudUNsaWVudDo6Y3VzdG9taXplTWVu
dShQYXNzT3duUHRyPENvbnRleHQKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVRVUVT
VF9BVVRPQ09NUExFVEUpCi12b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpZFJlcXVlc3RB
dXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KQotewotfQotI2VuZGlmCi0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA2YWQ3NzhjMjhmNjRhYjA2NGViNjBh
OTQ5OThmMjRiNzhmNzBlM2ZmLi4yMzU3Njk3OTI4YzgxOGVhOGE1Mjk4OTMxYTg1ZGEwNjJjMDMz
YjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0zNzMsMTAgKzM3Myw2
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29y
a2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgT1ZFUlJJREU7Ci0KLSNpZiBF
TkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RB
dXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSBPVkVSUklERTsKLSNlbmRpZgogfTsK
IAogY2xhc3MgRW1wdHlUZXh0Q2hlY2tlckNsaWVudCA6IHB1YmxpYyBUZXh0Q2hlY2tlckNsaWVu
dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDc3Mjdm
ZjY1YTUzMDAzMjlmNmZiY2I2NDA1Y2I2NDI1ZGQwZTUyNDIuLmJjOTQ1OGUxMDFlODFhOTEyYjY0
NmQ3OTVmMDFjYTE0NDc0MjM3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC0zMzcsMTAgKzMzNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN0YXJ0VXNpbmdQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKikgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShS
RVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRv
Y29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7Ci0jZW5kaWYKLQogI2lmIEVOQUJM
RShXRUJHTCkKICAgICAgICAgdmlydHVhbCBib29sIGFsbG93V2ViR0woYm9vbCBlbmFibGVkUGVy
U2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQogICAgICAgICAvLyBJbmZv
cm1zIHRoZSBlbWJlZGRlciB0aGF0IGEgV2ViR0wgY2FudmFzIGluc2lkZSB0aGlzIGZyYW1lIHJl
Y2VpdmVkIGEgbG9zdCBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYTg3
Y2Y2OWEzMzI1Y2E4M2VmNDhmYjNkMzY1ZjEwYTA0NjJiMzdmNC4uNDZlYzlkNzI0NTQ5YzRkYTFk
ZWI1ODFiNGFlMGJmMTZjZjljMDQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAt
NTY2LDcgKzU2Niw2IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOUFVUX1NQRUVDSF0gYXR0cmlidXRl
IFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1dEV2ZW50OwogICAgIFtDb25k
aXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29udGV4dEV2ZW50Q29uc3RydWN0b3IgV2Vi
R0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVBST1hJTUlUWV9FVkVOVFNdIGF0dHJp
YnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVjdG9yIERldmljZVByb3hpbWl0eUV2ZW50
OwotICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURV0gYXR0cmlidXRlIEF1dG9j
b21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRvY29tcGxldGVFcnJvckV2ZW50OwogICAg
IFtDb25kaXRpb25hbD1DU1BfTkVYVF0gYXR0cmlidXRlIFNlY3VyaXR5UG9saWN5VmlvbGF0aW9u
RXZlbnRDb25zdHJ1Y3RvciBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50OwogCiAgICAgYXR0
cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3IgRXZlbnRFeGNlcHRpb247CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NzIxMzAzMWY0MThkYzFmZWFkNTExOWQ4ZDBmOTU2Zjc2NTA1NWU1OS4uZTUxYWM4ZWFiZDcwMzQ5
M2Q2MmJkMzJkODI2OWI1NzQxNGY5YjIzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA0
LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgdW5t
YWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJv
ci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLmh0bWw6IFJlbW92ZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRlc3Qg
Y29kZS4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1
dG9jb21wbGV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLmh0bWw6IFJlbW92ZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRlc3QgY29kZS4KKyAg
ICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzOiBSZW1v
dmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogUmVt
b3ZlIHRlc3QgZXhwZWN0YXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2pzL2Nv
bnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IFJlbW92ZSB0ZXN0IGV4cGVjdGF0aW9ucy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBlY3RhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vcXQv
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBl
Y3RhdGlvbnMuCisKIDIwMTMtMDQtMTggIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBDU1Muc2V0U3R5bGVUZXh0IHRvIHRoZSBXZWIgSW5zcGVjdG9y
IHByb3RvY29sLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0
b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2
ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggN2Q3YTVmYzUyOWUyNDU1MTczMjJkZGFmYjk0NjQwNzg2NWYzNWQ5Ny4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRoaXMgdGVzdHMgdGhlIGNv
bnN0cnVjdG9yIGZvciB0aGUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCBET00gY2xhc3MuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GQUlMIG5vIEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBs
ZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiMWNlYzc1NGYxZmMwNWUwYWUwZDMzMGUw
ZDkwMjFjNWQ5YWE3MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1l
cnJvci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhl
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQgRE9NIGNsYXNzLiIpOwotCi1pZiAoIXdpbmRvdy5BdXRv
Y29tcGxldGVFcnJvckV2ZW50KSB7Ci0gICAgdGVzdEZhaWxlZCgnbm8gQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCcpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfSBlbHNlIHsKLSAgICAvLyBObyBpbml0
aWFsaXplciBpcyBwYXNzZWQuCi0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7Ci0gICAgc2hvdWxkQmUoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnKS5jYW5jZWxhYmxlIiwgImZhbHNlIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgn
ZXZlbnRUeXBlJykucmVhc29uIiwgIiIpOwotCi0gICAgLy8gYnViYmxlcyBpcyBwYXNzZWQuCi0g
ICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2UiKTsKLSAgICBzaG91bGRCZSgibmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJi
bGVzIiwgInRydWUiKTsKLQotICAgIC8vIGNhbmNlbGFibGUgaXMgcGFzc2VkLgotICAgIHNob3Vs
ZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxl
OiBmYWxzZSB9KS5jYW5jZWxhYmxlIiwgImZhbHNlIik7Ci0gICAgc2hvdWxkQmUoIm5ldyBBdXRv
Y29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkuY2Fu
Y2VsYWJsZSIsICJ0cnVlIik7Ci0KLSAgICAvLyByZWFzb24gaXMgcGFzc2VkLgotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScs
IHsgcmVhc29uOiAnZG9yZW1pJyB9KS5yZWFzb24iLCAiZG9yZW1pIik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBy
ZWFzb246ICcnIH0pLnJlYXNvbiIsICIiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogdW5kZWZpbmVk
IH0pLnJlYXNvbiIsICJ1bmRlZmluZWQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogbnVsbCB9KS5y
ZWFzb24iLCAibnVsbCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBmYWxzZSB9KS5yZWFzb24iLCAi
ZmFsc2UiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogdHJ1ZSB9KS5yZWFzb24iLCAidHJ1ZSIpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2
ZW50VHlwZScsIHsgcmVhc29uOiAxMjM0NSB9KS5yZWFzb24iLCAiMTIzNDUiKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IHJlYXNvbjogMTg0NDY3NDQwNzM3MDk1NTE2MTUgfSkucmVhc29uIiwgIjE4NDQ2NzQ0MDcz
NzA5NTUyMDAwIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IE5hTiB9KS5yZWFzb24iLCAiTmFOIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgn
ZXZlbnRUeXBlJywgeyByZWFzb246IFtdIH0pLnJlYXNvbiIsICIiKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJl
YXNvbjogWzEsIDIsIDNdIH0pLnJlYXNvbiIsICIxLDIsMyIpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29u
OiB7ZG9yZW1pOiAxMjM0NX0gfSkucmVhc29uIiwgIltvYmplY3QgT2JqZWN0XSIpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgcmVhc29uOiB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gJ2RvcmVtaSc7IH0g
fSB9KS5yZWFzb24iLCAiW29iamVjdCBPYmplY3RdIik7Ci0KLSAgICAvLyBBbGwgaW5pdGlhbGl6
ZXJzIGFyZSBwYXNzZWQuCi0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50
KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJlYXNvbjog
J2RvcmVtaScgfSkuYnViYmxlcyIsICJ0cnVlIik7Ci0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIHJlYXNvbjogJ2RvcmVtaScgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBl
JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0p
LnJlYXNvbiIsICJkb3JlbWkiKTsKLX0KLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAppbmRleCAxZDhl
MzU5NzY0YzRjMDg5ZmVkZDdiNGY1NWRkNDc4ODI5NDM5NmMzLi4zMWJhN2UyODFjMTFlOTZkNTI3
NWEwM2IyNGJkYTlhYzMwZDhmMWY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9ldmVudC1jcmVhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKQEAgLTIyOCwxMiArMjI4LDYgQEAKICAgICAvLyBzaG91bGRCZVRydWUo
ImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdPcmllbnRhdGlvbkV2ZW50JykgaW5zdGFuY2VvZiB3aW5k
b3cuRXZlbnQiKTsKICAgICAvLyBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdP
cmllbnRhdGlvbkV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5FdmVudCIpOwogCi0gICAg
Ly8gI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICAvLyBBdXRvY29tcGxldGVF
cnJvckV2ZW50Ci0gICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkF1dG9jb21wbGV0ZUVycm9y
RXZlbnQiKTsKLSAgICAvLyBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdBdXRv
Y29tcGxldGVFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKLSAgICAvLyBz
aG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdBdXRvY29tcGxldGVFcnJvckV2ZW50
JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50Iik7Ci0KICAg
ICAvLyBXZSB0ZXN0IGJvdGggYSBoYXJkIGNvZGVkIHNldCBhbmQgdGhlIGF1dG9tYXRlZCBzZXQg
YmVsb3cgKHVzaW5nIGVudW1lcmF0aW9uKSB0byBlbnN1cmUgdGhhdCBhIGNvbnN0cnVjdG9yIGJl
aW5nIHJlbW92ZWQKICAgICAvLyBmcm9tIHRoZSB3aW5kb3cgaXMgY2F1Z2h0IGEgcmVncmVzc2lv
bi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0
b2NvbXBsZXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1
ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGRmZWU3OTZjYWRhNDYyMDE0NmMxMmQwMGY0NzliOGM3MmE5M2ZhOGMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDkgKzAsMCBAQAotSFRNTEZvcm1FbGVtZW50I3JlcXVlc3RBdXRvY29tcGxldGUgYW5kIGFz
c29jaWF0ZWQgZXZlbnRzCi0KLUZvciB0aGlzIHRlc3QgdG8gcGFzcywgeW91IHNob3VsZCBzZWUg
YWxsIFBBU1NFRCBiZWxvdy4KLQotRkFJTCBubyByZXF1ZXN0QXV0b2NvbXBsZXRlIGZ1bmN0aW9u
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdiNDcxYjk1MDdhNTA3Mjg1YWZj
YzhjM2ZlYWUwNjlmNzY3NDhkYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxl
dGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIG51
bUVycm9ycyA9IDA7Ci12YXIgbnVtRXJyb3JzRXhwZWN0ZWQgPSAwOwotCi1mdW5jdGlvbiBydW5U
ZXN0cygpCi17Ci0gICAgaWYgKHR5cGVvZiBIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnJlcXVl
c3RBdXRvY29tcGxldGUgIT0gJ2Z1bmN0aW9uJykgewotICAgICAgICB0ZXN0RmFpbGVkKCdubyBy
ZXF1ZXN0QXV0b2NvbXBsZXRlIGZ1bmN0aW9uJyk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2hlY2tEeW5hbWljQXR0cmlidXRlcygpOwot
ICAgIGNoZWNrUGFyc2VkQXR0cmlidXRlcygpOwotICAgIGNoZWNrTm9uVXNlckdlc3R1cmUoKTsK
LX0KLQotZnVuY3Rpb24gY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKQotewotICAg
IHZhciBlbnVtZXJhdGVkID0gZmFsc2U7Ci0gICAgZm9yICh2YXIgZmllbGQgaW4gZm9ybSkgewot
ICAgICAgICBpZiAoL29uYXV0b2NvbXBsZXRlLy50ZXN0KGZpZWxkKSkKLSAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ2VudW1lcmFibGUgZm9ybSBhdHRyaWJ1dGUgZm91bmQgb24gSFRNTEZvcm1FbGVt
ZW50OiAnICsgZmllbGQpOwotICAgICAgICBlbnVtZXJhdGVkID0gdHJ1ZTsKLSAgICB9Ci0gICAg
aWYgKGVudW1lcmF0ZWQpCi0gICAgICAgIHRlc3RQYXNzZWQoJ25vIGVudW1lcmFibGUgcHJvcGVy
dGllcyBvbiBIVE1MRm9ybUVsZW1lbnQnKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQo
J2ZhaWxlZCB0byBlbnVtZXJhdGUgSFRNTEZvcm1FbGVtZW50IHByb3BlcnRpZXMnKTsKLX0KLQot
ZnVuY3Rpb24gY2hlY2tQYXJzZWRBdHRyaWJ1dGVzKCkKLXsKLSAgICBudW1FcnJvcnNFeHBlY3Rl
ZCArPSAxOwotCi0gICAgdmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKLSAgICBjaGVja0Zv
ckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOwotCi0gICAgLy8gQ3VycmVudGx5IENocm9tZSBq
dXN0IGltbWVkaWF0ZWx5IGRpc3BhdGNoZXMgYW4gZXJyb3IuCi0gICAgZm9ybS5vbmF1dG9jb21w
bGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwotICAgIGZvcm0ucmVxdWVz
dEF1dG9jb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBjaGVja0R5bmFtaWNBdHRyaWJ1dGVzKCkK
LXsKLSAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAxOwotCi0gICAgdmFyIGZvcm0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGll
cyhmb3JtKTsKLQotICAgIGZvcm0uYXV0b2NvbXBsZXRlID0gJ29mZic7Ci0gICAgZm9ybS5vbmF1
dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwotICAgIGZvcm0u
cmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBjaGVja05vblVzZXJHZXN0dXJl
KCkKLXsKLSAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAxOwotCi0gICAgdmFyIGZvcm0gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVy
dGllcyhmb3JtKTsKLSAgICBmb3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBlcnJvcldpdGhSZWFz
b24oJ2Rpc2FibGVkJyk7Ci0KLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotICAgIH0sIDApOwotfQotCi1mdW5jdGlv
biBlcnJvcldpdGhSZWFzb24ocmVhc29uKQotewotICAgIHJldHVybiBmdW5jdGlvbihldmVudCkg
ewotICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBBdXRvY29tcGxldGVFcnJvckV2ZW50KQot
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnZXZlbnQgaXMgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dCcpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCdleHBlY3RlZCBhbiBB
dXRvY29tcGxldGVFcnJvckV2ZW50Jyk7Ci0KLSAgICAgICAgaWYgKGV2ZW50LnJlYXNvbiA9PSBy
ZWFzb24pCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCdnb3QgZXhwZWN0ZWQgcmVhc29uOiAnICsg
cmVhc29uKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZCgnd3JvbmcgcmVh
c29uLCBleHBlY3RlZDogJyArIHJlYXNvbiArICcsIGdvdDogJyArIGV2ZW50LnJlYXNvbik7Ci0K
LSAgICAgICAgb25FcnJvcigpOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIG9uRXJyb3IoKQotewot
ICAgIG51bUVycm9ycyArPSAxOwotICAgIGlmIChudW1FcnJvcnMgPiBudW1FcnJvcnNFeHBlY3Rl
ZCkKLSAgICAgICAgdGVzdEZhaWxlZCgndG9vIG1hbnkgZXJyb3IgZXZlbnRzJyk7Ci0gICAgZWxz
ZSBpZiAobnVtRXJyb3JzID09IG51bUVycm9yc0V4cGVjdGVkKSB7Ci0gICAgICAgIHRlc3RQYXNz
ZWQoJ2dvdCBleHBlY3RlZCBudW1iZXIgb2YgZXJyb3IgZXZlbnRzICgnICsgbnVtRXJyb3JzRXhw
ZWN0ZWQgKyAnKScpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9Ci19Ci0KLXdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdHMsIHRydWUpOwotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxwPiA8YSBocmVmPSJodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDA1NTciPkhUTUxGb3JtRWxlbWVudCNyZXF1ZXN0QXV0b2NvbXBsZXRlIGFu
ZCBhc3NvY2lhdGVkIGV2ZW50czwvYT4gPC9wPgotPHA+IEZvciB0aGlzIHRlc3QgdG8gcGFzcywg
eW91IHNob3VsZCBzZWUgYWxsIFBBU1NFRCBiZWxvdy4gPC9wPgotPGZvcm0gYXV0b2NvbXBsZXRl
PSJvZmYiIG9uYXV0b2NvbXBsZXRlZXJyb3I9Im9uRXJyb3IoKTsiPjwvZm9ybT4KLTxwIGlkPSJj
b25zb2xlIj48L3A+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25z
dHJ1Y3Rvci1sZW5ndGguaHRtbAppbmRleCAxZDRlNDZhMmNhMGU3YzlkMTQ5NDlkODhmMTZjZjM0
YTE3NzUyMzdkLi5mMzA5MjRkZjY0NzcxMzEwMDg2ZTQyZWRhODljY2I1Njk5OGUwYzlhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKQEAgLTksNyArOSw2
IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgY29uc3Ry
dWN0b3JzLiIpOwogCiBzaG91bGRCZSgnQXJyYXlCdWZmZXIubGVuZ3RoJywgJzEnKTsKIHNob3Vs
ZEJlKCdBdWRpb0NvbnRleHQubGVuZ3RoJywgJzAnKTsKLXNob3VsZEJlKCdBdXRvY29tcGxldGVF
cnJvckV2ZW50Lmxlbmd0aCcsICcyJyk7CiBzaG91bGRCZSgnQmVmb3JlTG9hZEV2ZW50Lmxlbmd0
aCcsICcyJyk7CiBzaG91bGRCZSgnQmxvYi5sZW5ndGgnLCAnMicpOwogc2hvdWxkQmUoJ0Nsb3Nl
RXZlbnQubGVuZ3RoJywgJzInKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2Ny
aXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Nj
cmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzCmluZGV4IGFlNzJjYTIwYjM2OWU0YjFl
MzU5NzBhOGUyMTA4MmRjNjFhYTM0OTQuLjQzZDQzMzY3ZDZkNjM0YTU4OTRhMGFjZWIyNDIxMGU1
ZjBkYWE3ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVz
dHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5qcwpAQCAtMzksOCArMzksNyBAQCBmb3IgKHZhciB4IGlu
IGNvbnN0cnVjdG9yTmFtZXMpIHsKICAgICAgICAgbmFtZSA9PSAiRmxvYXQzMkFycmF5IiB8fAog
ICAgICAgICBuYW1lID09ICJGbG9hdDY0QXJyYXkiIHx8CiAgICAgICAgIG5hbWUgPT0gIkZpbGVF
cnJvciIgfHwKLSAgICAgICAgbmFtZSA9PSAiRmlsZVJlYWRlciIgfHwKLSAgICAgICAgbmFtZSA9
PSAiQXV0b2NvbXBsZXRlRXJyb3JFdmVudCIpCisgICAgICAgIG5hbWUgPT0gIkZpbGVSZWFkZXIi
KQogICAgICAgICBjb250aW51ZTsKIAogICAgIGlmIChuYW1lID09ICJYTUxEb2N1bWVudCIpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3Ry
dWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVy
cnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDM5MTI3ZDE0
YTcyMTMzZGEyMGMyN2I1MDYyMzQwN2M2OGZkNTBlMTkuLjlkYmZmYzkyZjFkY2E5YjFmNTEyMWIx
NmY5NmZhMTNmZDY1MDFhYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNr
YmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhw
ZWN0ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNT
IEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxk
IGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3Vs
ZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBp
cyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VFdmVudC5sZW5ndGggaXMgMgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2Nv
bnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5
NDZlNmM2NjE0OTQ2Y2E0OTlkOS4uMzE5ZDRjMmRjMTI2NTY4N2JjNzMxYjU4MjY0MTZhYTE1ZDJj
NWNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29uc3Ry
dWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBG
QUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQK
IFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIK
IFBBU1MgQ2xvc2VFdmVudC5sZW5ndGggaXMgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50
eHQKaW5kZXggOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5NDZlNmM2NjE0OTQ2Y2E0OTlkOS4uMzE5ZDRj
MmRjMTI2NTY4N2JjNzMxYjU4MjY0MTZhYTE1ZDJjNWNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgt
ZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQ
QVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hv
dWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogQXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNo
b3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0
aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VFdmVudC5sZW5ndGggaXMg
MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rv
ci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDkwZGIxMTE4MDBmZjhiY2VhYmZi
OTQyYWI3MzM4YjQyMTdkZGNhOWEuLjEwM2VmNGFkYTg2NjA3OGUyNjM4YWYwZDNlMzVhZDFjOTEw
NmI0MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvY29uc3Ry
dWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw2IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZB
SUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQKLUZBSUwgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRlRXJyb3JFdmVudAog
UEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5sZW5ndGggaXMgMgog
UEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198817</attachid>
            <date>2013-04-19 00:11:38 -0700</date>
            <delta_ts>2013-04-19 01:39:45 -0700</delta_ts>
            <desc>removing OOPS!</desc>
            <filename>bug-114846-20130419001108.patch</filename>
            <type>text/plain</type>
            <size>35905</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0NTJjNWRkY2Y1MDJjZDJlZjdmODBm
N2JkOTFiNzA1NDRjNTM4MTUuLjk5MzU4ZTczYTgyMjI4NTA0MzhjN2Q2ODI3YzlhYTI2ZGYyNmVm
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMTggIERhbiBCZWFtICA8ZGJlYW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJlbW92ZSB1bm1haW50YWluZWQgZmVhdHVyZSBSRVFVRVNU
X0FVVE9DT01QTEVURQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE0ODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogUmVtb3ZlIFJFUVVFU1RfQVVUT0NPTVBMRVRF
IGFzIGEgZmVhdHVyZSBkZWZpbml0aW9uLgorCiAyMDEzLTA0LTE4ICBab2x0YW4gQXJ2YWkgIDx6
YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBm
b3IgUXQgTW91bnRhaW4gTGlvbiBSZWxlYXNlIGFmdGVyIHIxNDg2MzkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjIzZTAxNjNkMWZhOTYwNTA4NmM4NTc1MGE1OGE2MDhkMzQ0NjdlMi4uZmVmODZmZGNlZjA2NzE3
OWQ2YjEyMmJkOWMyOGRkZWIxNzdiMzJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisy
MDEzLTA0LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1v
dmUgdW5tYWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09NUExFVEUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bTogUmVtb3ZlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCBpbmNsdWRlLgorICAgICAgICAqIGJp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJD
b3JlKTogUmVtb3ZlIHJlcXVlc3RBdXRvY29tcGxldGUoKSBydW50aW1lIGZlYXR1cmUuCisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAg
IChSdW50aW1lRW5hYmxlZEZlYXR1cmVzKTogUmVtb3ZlIHJlcXVlc3RBdXRvY29tcGxldGUoKSBy
dW50aW1lIGZlYXR1cmUuCisgICAgICAgICogZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6IFJlbW92
ZWQuCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDogUmVtb3ZlIGBhdXRvY29tcGxldGVgIGFu
ZCBgYXV0b2NvbXBsZXRlZXJyb3JgIGV2ZW50IG5hbWVzLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46IFJlbW92ZSBgYXV0b2NvbXBsZXRlYCBhbmQgYGF1
dG9jb21wbGV0ZWVycm9yYCBldmVudCBuYW1lcy4KKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbjogUmVtb3ZlIGBvbmF1dG9jb21wbGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZWVy
cm9yYCBmb3JtIGF0dHJpYnV0ZXMuCisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
OiBSZW1vdmUgcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1FbGVtZW50KTogUmVtb3ZlIHRpbWVyIGFu
ZCBldmVudCBxdWV1ZSBmb3IgcmVxdWVzdEF1dG9jb21wbGV0ZSgpIHJlbGF0ZWQgZXZlbnRzLgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6IFJlbW92
ZSBwYXJzaW5nIG9mIGBvbmF1dG9jb21wbGV0ZWAgYW5kIGBvbmF1dG9jb21wbGV0ZXJyb3JgLgor
ICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6IFJlbW92ZSByZXF1ZXN0QXV0b2NvbXBs
ZXRlKCkgcmVsYXRlZCBtZW1iZXJzLgorICAgICAgICAoSFRNTEZvcm1FbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5pZGw6IFJlbW92ZSBwdWJsaWMgcmVxdWVzdEF1dG9j
b21wbGV0ZSgpIEFQSSBtZXRob2QuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6
IFJlbW92ZSBzdHViIGltcGxlbWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBSZW1vdmUgc3R1YiBpbnRlcmZhY2UuCisgICAgICAg
IChFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaDogUmVtb3ZlIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoKSBmcm9tIGludGVyZmFjZS4K
KyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IFJlbW92ZSBgQXV0b2NvbXBsZXRlRXJyb3JFdmVudGAgZnJvbSB3aW5kb3cgRE9NIGludGVy
ZmFjZS4KKwogMjAxMy0wNC0xOCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIENTUy5zZXRTdHlsZVRleHQgdG8gdGhlIFdlYiBJbnNwZWN0b3IgcHJv
dG9jb2wuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBhZmFkMTc0NjU4ODQzZTkxOTE0ZDMx
OTE2Yzk5NWFlODcwYmZhNGU0Li43YTI5ZWFlYWJjOTk2ZjQ2ZGY4MjVmYTEzODhjYzVkZTczNjk1
NGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTcxNSwxMCArNzE1LDYgQEAKICNkZWZp
bmUgRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIDAKICNlbmRpZgogCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKQotI2RlZmluZSBFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpCiAjZGVmaW5lIEVOQUJMRV9SVUJCRVJfQkFORElORyAwCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IGU3NmUxZDBiNGI4NTczNjZhZmVlODc4YjQ4MmExYmQ1N2Q2
ODAzYjIuLjgyZDJkZDQ4ODkzZTE4ZGE1M2I5MjA5YWQwY2ZkNDcwZDQxZWY1ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjc4Miw3ICsyNzgyLDYgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9BdHRyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaCBcCi0JU291cmNl
L1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0JlZm9yZUxvYWRFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVk
RXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBmMDIxYmM3NmU4MzRhY2I5MzQyMzY0
NjNjNWFhODNiZDkxNGMzMjViLi5kMmYwNzNkMGJlYzQxMGU3NTEyMWNiMDY3YjA0NzJhOWYwMzgw
ZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKQEAgLTIzMSwxMCArMjMxLDYgQEAgYm9vbCBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjppc0lucHV0VHlwZVdlZWtFbmFibGVkID0gdHJ1ZTsKIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNEaWFsb2dFbGVtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi1ib29sIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OmlzUmVxdWVzdEF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTsKLSNl
bmRpZgotCiAjaWYgRU5BQkxFKENTUF9ORVhUKQogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjphcmVFeHBlcmltZW50YWxDb250ZW50U2VjdXJpdHlQb2xpY3lGZWF0dXJlc0VuYWJsZWQgPSBm
YWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBiNGU3Nzc1ZTYxMzRmM2M4NzQ0OTdm
YzBlZWY0ZjgzNjE1MGY2M2VlLi44MzM3Mzk3NWFjMWJlODRkYjQ2NzEzYWRlMDQ4YTY1NWI2NzNh
NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjk4LDExICsyOTgsNiBAQCBwdWJsaWM6CiAgICAg
Ly8gVGhlIGxhbmcgYXR0cmlidXRlIHN1cHBvcnQgaXMgaW5jb21wbGV0ZSBhbmQgc2hvdWxkIG9u
bHkgYmUgdHVybmVkIG9uIGZvciB0ZXN0cy4KICAgICBzdGF0aWMgdm9pZCBzZXRMYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0xhbmdBdHRy
aWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkID0gaXNFbmFibGVkOyB9CiAKLSNpZiBFTkFC
TEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgc3RhdGljIGJvb2wgcmVxdWVzdEF1dG9jb21w
bGV0ZUVuYWJsZWQoKSB7IHJldHVybiBpc1JlcXVlc3RBdXRvY29tcGxldGVFbmFibGVkOyB9Ci0g
ICAgc3RhdGljIHZvaWQgc2V0UmVxdWVzdEF1dG9jb21wbGV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgaXNSZXF1ZXN0QXV0b2NvbXBsZXRlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotI2VuZGlm
Ci0KIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlcygpIHsgfQpAQCAtNDEwLDEwICs0MDUsNiBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyBib29sIGlzRGlhbG9nRWxlbWVudEVuYWJsZWQ7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShSRVFV
RVNUX0FVVE9DT01QTEVURSkKLSAgICBzdGF0aWMgYm9vbCBpc1JlcXVlc3RBdXRvY29tcGxldGVF
bmFibGVkOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoQ1NQX05FWFQpCiAgICAgc3RhdGljIGJvb2wg
YXJlRXhwZXJpbWVudGFsQ29udGVudFNlY3VyaXR5UG9saWN5RmVhdHVyZXNFbmFibGVkOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M2YjhhNWY4NmIxZWY1NjZlNGY3NGJkNGNhYjU4NjMz
MTkyNWJmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCisrKyAvZGV2L251bGwK
QEAgLTEsODQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnRfaAotI2RlZmluZSBBdXRvY29tcGxldGVFcnJvckV2ZW50X2gKLQotI2lmIEVOQUJM
RShSRVFVRVNUX0FVVE9DT01QTEVURSkKLQotI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBBdXRvY29tcGxl
dGVFcnJvckV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgewotICAgIFN0cmluZyByZWFzb247
Ci19OwotCi1jbGFzcyBBdXRvY29tcGxldGVFcnJvckV2ZW50IDogcHVibGljIEV2ZW50IHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVh
dGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJv
ckV2ZW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiByZWFzb24pCi0gICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQocmVhc29uKSk7Ci0gICAgfQot
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50
SW5pdCYgaW5pdGlhbGl6ZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikpOwotICAgIH0KLQot
ICAgIGNvbnN0IFN0cmluZyYgcmVhc29uKCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb247IH0KLQot
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvckF1dG9jb21wbGV0ZUVycm9yRXZlbnQ7IH0K
LQotcHJpdmF0ZToKLSAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KCkKLSAgICB7Ci0gICAgfQot
Ci0gICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKLSAgICAg
ICAgOiBFdmVudChldmVudE5hbWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZh
bHNlKQotICAgICAgICAsIG1fcmVhc29uKHJlYXNvbikKLSAgICB7Ci0gICAgfQotCi0gICAgQXV0
b2NvbXBsZXRlRXJyb3JFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3Qg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudEluaXQmIGluaXRpYWxpemVyKQotICAgICAgICA6IEV2ZW50
KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpCi0gICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIu
cmVhc29uKQotICAgIHsKLSAgICB9Ci0KLSAgICBTdHJpbmcgbV9yZWFzb247Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExF
VEUpCi0KLSNlbmRpZiAvLyBBdXRvY29tcGxldGVFcnJvckV2ZW50X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDMwMDNlOWUwNzFhYjNkYTgyZjBhOTA2YTZjNTNmMmVkZGEwNTRmYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01Q
TEVURSwKLSAgICBDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50Ci1dIGludGVyZmFjZSBBdXRvY29t
cGxldGVFcnJvckV2ZW50IDogRXZlbnQgewotICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1
Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFzb247Ci19OwotCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaAppbmRleCA2MDFjNjgyZjdmZDlkMTBjYTk4ZGU3MDgxODZiNGIzYTMzNjc1
NTlhLi45MjU4NDRiYjU1NmM1OTNjOTk2ZTlhM2VjODg0MGEwZWJhZTI1OTgxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKQEAgLTI1MCw5ICsyNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgXAogICAgIG1hY3JvKHdlYmtpdGRldmljZXByb3hpbWl0eSkgXAogICAgIFwKLSAgICBtYWNy
byhhdXRvY29tcGxldGUpIFwKLSAgICBtYWNybyhhdXRvY29tcGxldGVlcnJvcikgXAotICAgIFwK
ICAgICBtYWNybyh3ZWJraXRwcmVyZW5kZXJzdGFydCkgXAogICAgIG1hY3JvKHdlYmtpdHByZXJl
bmRlcnN0b3ApIFwKICAgICBtYWNybyh3ZWJraXRwcmVyZW5kZXJsb2FkKSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCmluZGV4IGViYjdhMjFmOTRmNTQ5MzNkZTMzYmIxMjhiNTA0NmYxMDdmZDQ1
MTYuLmI1NjgzNDM2ZTQ5YzliMWJlM2UwMDE1ZTRkYjhkZTAzODVjZjliMzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCkBAIC01NSw3ICs1NSw2IEBAIE1lZGlhS2V5RXZlbnQgY29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBCiBNZWRpYUtleU1lc3NhZ2VFdmVudCBjb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUFfVjIKIE1lZGlhS2V5TmVlZGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBX1YyCiBUcmFja0V2ZW50IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCi1BdXRvY29tcGxl
dGVFcnJvckV2ZW50IGNvbmRpdGlvbmFsPVJFUVVFU1RfQVVUT0NPTVBMRVRFCiBDU1NGb250RmFj
ZUxvYWRFdmVudCBjb25kaXRpb25hbD1GT05UX0xPQURfRVZFTlRTCiBTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPUNTUF9ORVhUCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggNmM2NzU3ZDE0YTc4ODJkMWY5ZTA5ZjNkOWNiNzA3
MDU5MjNjMjdjZS4uOTYyNmIwYzZmYjdiZjQ4YzlhODg0MzIzMDBmOTI0Yjc5OTc1ZDkyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTE2OSw4ICsxNjks
NiBAQCBub3ZhbGlkYXRlCiBub3dyYXAKIG9iamVjdAogb25hYm9ydAotb25hdXRvY29tcGxldGUK
LW9uYXV0b2NvbXBsZXRlZXJyb3IKIG9uYmVmb3JlY29weQogb25iZWZvcmVjdXQKIG9uYmVmb3Jl
bG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGMwZjUzNGUw
NGRkYWYxNjI4MzhkZWM1Y2Q3NzZjYmIxYjY4MzQ1MWQuLmE2OTUxMjM3ZDEwOTA1YTJlYjhhYmYx
Y2JlZmE3NTZmYmU5Yzg3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2lu
Y2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIK
ICNpbmNsdWRlICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCkBAIC03Nyw5ICs3Niw2IEBAIEhUTUxGb3JtRWxlbWVudDo6SFRNTEZv
cm1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
CiAgICAgLCBtX3Nob3VsZFN1Ym1pdChmYWxzZSkKICAgICAsIG1faXNJblJlc2V0RnVuY3Rpb24o
ZmFsc2UpCiAgICAgLCBtX3dhc0RlbW90ZWQoZmFsc2UpCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVU
T0NPTVBMRVRFKQotICAgICwgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIodGhpcywgJkhUTUxG
b3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQpCi0jZW5kaWYKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShmb3JtVGFnKSk7CiB9CkBAIC0zOTMsNTMgKzM4OSw2IEBAIHZv
aWQgSFRNTEZvcm1FbGVtZW50OjpyZXNldCgpCiAgICAgbV9pc0luUmVzZXRGdW5jdGlvbiA9IGZh
bHNlOwogfQogCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotdm9pZCBIVE1MRm9y
bUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUoKQotewotICAgIEZyYW1lKiBmcmFtZSA9IGRv
Y3VtZW50KCktPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKCFzaG91bGRBdXRvY29tcGxldGUoKSB8fCAhU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vz
c2luZ1VzZXJHZXN0dXJlKCkpIHsKLSAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShB
dXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIFN0cmluZ1BhaXJWZWN0b3IgY29udHJvbE5hbWVzQW5kVmFsdWVzOwotICAgIGdldFRl
eHRGaWVsZFZhbHVlcyhjb250cm9sTmFtZXNBbmRWYWx1ZXMpOwotICAgIFJlZlB0cjxGb3JtU3Rh
dGU+IGZvcm1TdGF0ZSA9IEZvcm1TdGF0ZTo6Y3JlYXRlKHRoaXMsIGNvbnRyb2xOYW1lc0FuZFZh
bHVlcywgZG9jdW1lbnQoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsKLSAgICBmcmFtZS0+bG9h
ZGVyKCktPmNsaWVudCgpLT5kaWRSZXF1ZXN0QXV0b2NvbXBsZXRlKGZvcm1TdGF0ZS5yZWxlYXNl
KCkpOwotfQotCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0
ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQotewotICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7
Ci0gICAgaWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzKQotICAgICAgICBl
dmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxz
ZSwgZmFsc2UpOwotICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJv
ckRpc2FibGVkKQotICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0
ZSgiZGlzYWJsZWQiKTsKLSAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3JDYW5jZWwpCi0gICAgICAgIGV2ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3Jl
YXRlKCJjYW5jZWwiKTsKLSAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3JJbnZhbGlkKQotICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNy
ZWF0ZSgiaW52YWxpZCIpOwotCi0gICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKLSAgICBtX3Bl
bmRpbmdBdXRvY29tcGxldGVFdmVudHMuYXBwZW5kKGV2ZW50LnJlbGVhc2UoKSk7Ci0KLSAgICAv
LyBEaXNwYXRjaCBldmVudHMgbGF0ZXIgYXMgdGhpcyBBUEkgaXMgbWVhbnQgdG8gd29yayBhc3lu
Y2hyb25vdXNseSBpbiBhbGwgc2l0dWF0aW9ucyBhbmQgaW1wbGVtZW50YXRpb25zLgotICAgIGlm
ICghbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1
ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIEhUTUxGb3Jt
RWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVt
ZW50PiopCi17Ci0gICAgVmVjdG9yPFJlZlB0cjxFdmVudD4gPiBwZW5kaW5nRXZlbnRzOwotICAg
IG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5zd2FwKHBlbmRpbmdFdmVudHMpOwotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcGVuZGluZ0V2ZW50cy5zaXplKCk7ICsraSkKLSAgICAgICAg
ZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZlbnRzW2ldLnJlbGVhc2UoKSk7Ci19Ci0jZW5kaWYKLQog
dm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gYWN0
aW9uQXR0cikKQEAgLTQ1OCwxMiArNDA3LDYgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmkKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgZG9jdW1lbnQoKS0+dW5yZWdpc3RlckZvclBhZ2VDYWNo
ZVN1c3BlbnNpb25DYWxsYmFja3ModGhpcyk7CiAgICAgfQotI2lmIEVOQUJMRShSRVFVRVNUX0FV
VE9DT01QTEVURSkKLSAgICBlbHNlIGlmIChuYW1lID09IG9uYXV0b2NvbXBsZXRlQXR0cikKLSAg
ICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXV0b2NvbXBsZXRl
RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgbmFtZSwgdmFsdWUpKTsK
LSAgICBlbHNlIGlmIChuYW1lID09IG9uYXV0b2NvbXBsZXRlZXJyb3JBdHRyKQotICAgICAgICBz
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2
ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7Ci0j
ZW5kaWYKICAgICBlbHNlCiAgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA3NjBh
Yzk5M2NiOTJhMmM0YTAwOWM5OGFhYzA0YzY3ZDdhN2UwMjkzLi5iZDlhMjUyOTA2ZDFkODkxMTll
ZmY4NzJhYjQyMTg3YWIzZGQ5MjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKQEAgLTk4LDIxICs5OCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgp
OwogCi0jaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIGVudW0gQXV0b2NvbXBs
ZXRlUmVzdWx0IHsKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKLSAgICAgICAg
QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCwKLSAgICAgICAgQXV0b2NvbXBsZXRlUmVz
dWx0RXJyb3JDYW5jZWwsCi0gICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwK
LSAgICB9OwotCi0gICAgdm9pZCByZXF1ZXN0QXV0b2NvbXBsZXRlKCk7Ci0gICAgdm9pZCBmaW5p
c2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdCk7Ci0KLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF1dG9jb21wbGV0ZSk7Ci0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihhdXRvY29tcGxldGVlcnJvcik7Ci0jZW5kaWYKLQogICAgIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJpbmcm
KTsKICAgICB2b2lkIGFkZEVsZW1lbnRBbGlhcyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiwgY29u
c3QgQXRvbWljU3RyaW5nJiBhbGlhcyk7CiAKQEAgLTE3NiwxMyArMTYxLDYgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNJblJlc2V0RnVuY3Rpb247CiAKICAgICBib29sIG1fd2FzRGVtb3RlZDsK
LQotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICB2b2lkIHJlcXVlc3RBdXRv
Y29tcGxldGVUaW1lckZpcmVkKFRpbWVyPEhUTUxGb3JtRWxlbWVudD4qKTsKLQotICAgIFZlY3Rv
cjxSZWZQdHI8RXZlbnQ+ID4gbV9wZW5kaW5nQXV0b2NvbXBsZXRlRXZlbnRzOwotICAgIFRpbWVy
PEhUTUxGb3JtRWxlbWVudD4gbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXI7Ci0jZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmlkbAppbmRleCA3N2YxNDdhOGFmNTkwYTFiMjgzZDMwYTkyMDBlMmI0ODI4ZTQxZTkzLi44
NmE2Zjc0YzYzZmRmZDJkYWUwZGZjMDJmZDdjZDcyZjhmZWI1MTg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCkBAIC00MiwxMCArNDIsNCBAQAogI2VuZGlmCiAgICAg
dm9pZCByZXNldCgpOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotCi0jaWYgZGVmaW5l
ZChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICYmIEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURQotICAgIHZvaWQgcmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotICAgIFtOb3RFbnVtZXJhYmxl
XSBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmF1dG9jb21wbGV0ZTsKLSAgICBbTm90RW51bWVy
YWJsZV0gYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hdXRvY29tcGxldGVlcnJvcjsKLSNlbmRp
ZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZTYwMDBkYTEw
MThlZjk0YjQ4YzRiYzQxZGM2YTBiMjRiMTJiZmIzZS4uZjM5ZWZhMTI1NGE4MGMwMGQ1Yzc3YjBm
NDVlZGZkMzFhYzg1YjdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
QEAgLTE4NCwxMCArMTg0LDQgQEAgUGFzc093blB0cjxDb250ZXh0TWVudT4gRW1wdHlDb250ZXh0
TWVudUNsaWVudDo6Y3VzdG9taXplTWVudShQYXNzT3duUHRyPENvbnRleHQKICNlbmRpZgogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi12b2lkIEVtcHR5RnJhbWVM
b2FkZXJDbGllbnQ6OmRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+
KQotewotfQotI2VuZGlmCi0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRl
eCA2YWQ3NzhjMjhmNjRhYjA2NGViNjBhOTQ5OThmMjRiNzhmNzBlM2ZmLi4yMzU3Njk3OTI4Yzgx
OGVhOGE1Mjk4OTMxYTg1ZGEwNjJjMDMzYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCkBAIC0zNzMsMTAgKzM3Myw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250
ZXh0KCkgT1ZFUlJJREU7Ci0KLSNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAg
dmlydHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+
KSBPVkVSUklERTsKLSNlbmRpZgogfTsKIAogY2xhc3MgRW1wdHlUZXh0Q2hlY2tlckNsaWVudCA6
IHB1YmxpYyBUZXh0Q2hlY2tlckNsaWVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlckNsaWVudC5oCmluZGV4IDc3MjdmZjY1YTUzMDAzMjlmNmZiY2I2NDA1Y2I2NDI1ZGQwZTUy
NDIuLmJjOTQ1OGUxMDFlODFhOTEyYjY0NmQ3OTVmMDFjYTE0NDc0MjM3OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0zMzcsMTAgKzMzNyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN0YXJ0
VXNpbmdQZWVyQ29ubmVjdGlvbkhhbmRsZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKikgeyB9
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKLSAgICAgICAgdmly
dHVhbCB2b2lkIGRpZFJlcXVlc3RBdXRvY29tcGxldGUoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9
IDA7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJHTCkKICAgICAgICAgdmlydHVhbCBib29sIGFs
bG93V2ViR0woYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0
aW5nczsgfQogICAgICAgICAvLyBJbmZvcm1zIHRoZSBlbWJlZGRlciB0aGF0IGEgV2ViR0wgY2Fu
dmFzIGluc2lkZSB0aGlzIGZyYW1lIHJlY2VpdmVkIGEgbG9zdCBjb250ZXh0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKaW5kZXggYTg3Y2Y2OWEzMzI1Y2E4M2VmNDhmYjNkMzY1ZjEwYTA0NjJi
MzdmNC4uNDZlYzlkNzI0NTQ5YzRkYTFkZWI1ODFiNGFlMGJmMTZjZjljMDQ0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNTY2LDcgKzU2Niw2IEBACiAgICAgW0NvbmRpdGlvbmFs
PUlOUFVUX1NQRUVDSF0gYXR0cmlidXRlIFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVl
Y2hJbnB1dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29u
dGV4dEV2ZW50Q29uc3RydWN0b3IgV2ViR0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFs
PVBST1hJTUlUWV9FVkVOVFNdIGF0dHJpYnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVj
dG9yIERldmljZVByb3hpbWl0eUV2ZW50OwotICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9D
T01QTEVURV0gYXR0cmlidXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRv
Y29tcGxldGVFcnJvckV2ZW50OwogICAgIFtDb25kaXRpb25hbD1DU1BfTkVYVF0gYXR0cmlidXRl
IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50OwogCiAgICAgYXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3Ig
RXZlbnRFeGNlcHRpb247CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIxMzAzMWY0MThkYzFmZWFkNTExOWQ4ZDBmOTU2Zjc2
NTA1NWU1OS4uZTUxYWM4ZWFiZDcwMzQ5M2Q2MmJkMzJkODI2OWI1NzQxNGY5YjIzZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEzLTA0LTE4ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZW1vdmUgdW5tYWludGFpbmVkIGZlYXR1cmUgUkVRVUVTVF9BVVRPQ09N
UExFVEUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NDg0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1
Y3Rvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWw6IFJlbW92ZSBBdXRv
Y29tcGxldGVFcnJvckV2ZW50IHRlc3QgY29kZS4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0t
cmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWw6IFJlbW92ZSBBdXRvY29tcGxldGVF
cnJvckV2ZW50IHRlc3QgY29kZS4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9i
YWwtY29uc3RydWN0b3JzLmpzOiBSZW1vdmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCBjb25zdHJ1
Y3Rvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLWV4cGVjdGVkLnR4dDogUmVtb3ZlIHRlc3QgZXhwZWN0YXRpb25zLgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IFJl
bW92ZSB0ZXN0IGV4cGVjdGF0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBlY3RhdGlvbnMu
CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0OiBSZW1vdmUgdGVzdCBleHBlY3RhdGlvbnMuCisKIDIwMTMtMDQtMTggIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBDU1Muc2V0U3R5bGVU
ZXh0IHRvIHRoZSBXZWIgSW5zcGVjdG9yIHByb3RvY29sLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25z
dHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q3YTVmYzUyOWUyNDU1MTczMjJkZGFmYjk0NjQw
Nzg2NWYzNWQ5Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9y
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICsw
LDAgQEAKLVRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCBET00gY2xhc3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GQUlM
IG5vIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9y
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRi
MWNlYzc1NGYxZmMwNWUwYWUwZDMzMGUwZDkwMjFjNWQ5YWE3MjEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29u
c3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQgRE9NIGNsYXNz
LiIpOwotCi1pZiAoIXdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50KSB7Ci0gICAgdGVzdEZh
aWxlZCgnbm8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpOwotICAgIGZpbmlzaEpTVGVzdCgpOwot
fSBlbHNlIHsKLSAgICAvLyBObyBpbml0aWFsaXplciBpcyBwYXNzZWQuCi0gICAgc2hvdWxkQmUo
Im5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnKS5idWJibGVzIiwgImZhbHNl
Iik7Ci0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
KS5jYW5jZWxhYmxlIiwgImZhbHNlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykucmVhc29uIiwgIiIpOwotCi0gICAg
Ly8gYnViYmxlcyBpcyBwYXNzZWQuCi0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2Ui
KTsKLSAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScs
IHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIiwgInRydWUiKTsKLQotICAgIC8vIGNhbmNlbGFi
bGUgaXMgcGFzc2VkLgotICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgn
ZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5jZWxhYmxlIiwgImZhbHNlIik7
Ci0gICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7
IGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7Ci0KLSAgICAvLyByZWFz
b24gaXMgcGFzc2VkLgotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAnZG9yZW1pJyB9KS5yZWFzb24iLCAi
ZG9yZW1pIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246ICcnIH0pLnJlYXNvbiIsICIiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnLCB7IHJlYXNvbjogdW5kZWZpbmVkIH0pLnJlYXNvbiIsICJ1bmRlZmluZWQiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnLCB7IHJlYXNvbjogbnVsbCB9KS5yZWFzb24iLCAibnVsbCIpOwotICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVh
c29uOiBmYWxzZSB9KS5yZWFzb24iLCAiZmFsc2UiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogdHJ1
ZSB9KS5yZWFzb24iLCAidHJ1ZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAxMjM0NSB9KS5yZWFz
b24iLCAiMTIzNDUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTg0NDY3NDQwNzM3MDk1NTE2MTUg
fSkucmVhc29uIiwgIjE4NDQ2NzQ0MDczNzA5NTUyMDAwIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246
IE5hTiB9KS5yZWFzb24iLCAiTmFOIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IFtdIH0pLnJlYXNv
biIsICIiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogWzEsIDIsIDNdIH0pLnJlYXNvbiIsICIxLDIs
MyIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiB7ZG9yZW1pOiAxMjM0NX0gfSkucmVhc29uIiwgIltv
YmplY3QgT2JqZWN0XSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiB7dmFsdWVPZjogZnVuY3Rpb24g
KCkgeyByZXR1cm4gJ2RvcmVtaSc7IH0gfSB9KS5yZWFzb24iLCAiW29iamVjdCBPYmplY3RdIik7
Ci0KLSAgICAvLyBBbGwgaW5pdGlhbGl6ZXJzIGFyZSBwYXNzZWQuCi0gICAgc2hvdWxkQmUoIm5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIHJlYXNvbjogJ2RvcmVtaScgfSkuYnViYmxlcyIsICJ0cnVlIik7Ci0g
ICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJlYXNvbjogJ2RvcmVtaScgfSkuY2FuY2Vs
YWJsZSIsICJ0cnVlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCByZWFzb246ICdkb3JlbWknIH0pLnJlYXNvbiIsICJkb3JlbWkiKTsKLX0KLQotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQt
Y3JlYXRpb24uaHRtbAppbmRleCAxZDhlMzU5NzY0YzRjMDg5ZmVkZDdiNGY1NWRkNDc4ODI5NDM5
NmMzLi4zMWJhN2UyODFjMTFlOTZkNTI3NWEwM2IyNGJkYTlhYzMwZDhmMWY4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKQEAgLTIyOCwxMiArMjI4LDYg
QEAKICAgICAvLyBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdPcmllbnRhdGlv
bkV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKICAgICAvLyBzaG91bGRCZVRydWUo
ImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdPcmllbnRhdGlvbkV2ZW50JykuY29uc3RydWN0b3IgPT09
IHdpbmRvdy5FdmVudCIpOwogCi0gICAgLy8gI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVU
RSkKLSAgICAvLyBBdXRvY29tcGxldGVFcnJvckV2ZW50Ci0gICAgLy8gc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkF1dG9jb21wbGV0ZUVycm9yRXZlbnQiKTsKLSAgICAvLyBzaG91bGRCZVRydWUoImRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdBdXRvY29tcGxldGVFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3
aW5kb3cuRXZlbnQiKTsKLSAgICAvLyBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdBdXRvY29tcGxldGVFcnJvckV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5BdXRvY29t
cGxldGVFcnJvckV2ZW50Iik7Ci0KICAgICAvLyBXZSB0ZXN0IGJvdGggYSBoYXJkIGNvZGVkIHNl
dCBhbmQgdGhlIGF1dG9tYXRlZCBzZXQgYmVsb3cgKHVzaW5nIGVudW1lcmF0aW9uKSB0byBlbnN1
cmUgdGhhdCBhIGNvbnN0cnVjdG9yIGJlaW5nIHJlbW92ZWQKICAgICAvLyBmcm9tIHRoZSB3aW5k
b3cgaXMgY2F1Z2h0IGEgcmVncmVzc2lvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmZWU3OTZjYWRhNDYyMDE0NmMxMmQwMGY0Nzli
OGM3MmE5M2ZhOGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotSFRNTEZvcm1FbGVtZW50I3Jl
cXVlc3RBdXRvY29tcGxldGUgYW5kIGFzc29jaWF0ZWQgZXZlbnRzCi0KLUZvciB0aGlzIHRlc3Qg
dG8gcGFzcywgeW91IHNob3VsZCBzZWUgYWxsIFBBU1NFRCBiZWxvdy4KLQotRkFJTCBubyByZXF1
ZXN0QXV0b2NvbXBsZXRlIGZ1bmN0aW9uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
b3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zv
cm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzdiNDcxYjk1MDdhNTA3Mjg1YWZjYzhjM2ZlYWUwNjlmNzY3NDhkYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotdmFyIG51bUVycm9ycyA9IDA7Ci12YXIgbnVtRXJyb3JzRXhwZWN0
ZWQgPSAwOwotCi1mdW5jdGlvbiBydW5UZXN0cygpCi17Ci0gICAgaWYgKHR5cGVvZiBIVE1MRm9y
bUVsZW1lbnQucHJvdG90eXBlLnJlcXVlc3RBdXRvY29tcGxldGUgIT0gJ2Z1bmN0aW9uJykgewot
ICAgICAgICB0ZXN0RmFpbGVkKCdubyByZXF1ZXN0QXV0b2NvbXBsZXRlIGZ1bmN0aW9uJyk7Ci0g
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY2hl
Y2tEeW5hbWljQXR0cmlidXRlcygpOwotICAgIGNoZWNrUGFyc2VkQXR0cmlidXRlcygpOwotICAg
IGNoZWNrTm9uVXNlckdlc3R1cmUoKTsKLX0KLQotZnVuY3Rpb24gY2hlY2tGb3JFbnVtZXJhYmxl
UHJvcGVydGllcyhmb3JtKQotewotICAgIHZhciBlbnVtZXJhdGVkID0gZmFsc2U7Ci0gICAgZm9y
ICh2YXIgZmllbGQgaW4gZm9ybSkgewotICAgICAgICBpZiAoL29uYXV0b2NvbXBsZXRlLy50ZXN0
KGZpZWxkKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VudW1lcmFibGUgZm9ybSBhdHRyaWJ1
dGUgZm91bmQgb24gSFRNTEZvcm1FbGVtZW50OiAnICsgZmllbGQpOwotICAgICAgICBlbnVtZXJh
dGVkID0gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKGVudW1lcmF0ZWQpCi0gICAgICAgIHRlc3RQYXNz
ZWQoJ25vIGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBIVE1MRm9ybUVsZW1lbnQnKTsKLSAgICBl
bHNlCi0gICAgICAgIHRlc3RGYWlsZWQoJ2ZhaWxlZCB0byBlbnVtZXJhdGUgSFRNTEZvcm1FbGVt
ZW50IHByb3BlcnRpZXMnKTsKLX0KLQotZnVuY3Rpb24gY2hlY2tQYXJzZWRBdHRyaWJ1dGVzKCkK
LXsKLSAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAxOwotCi0gICAgdmFyIGZvcm0gPSBkb2N1bWVu
dC5mb3Jtc1swXTsKLSAgICBjaGVja0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOwotCi0g
ICAgLy8gQ3VycmVudGx5IENocm9tZSBqdXN0IGltbWVkaWF0ZWx5IGRpc3BhdGNoZXMgYW4gZXJy
b3IuCi0gICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNh
YmxlZCcpOwotICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBj
aGVja0R5bmFtaWNBdHRyaWJ1dGVzKCkKLXsKLSAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAxOwot
Ci0gICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAgY2hl
Y2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKLQotICAgIGZvcm0uYXV0b2NvbXBsZXRl
ID0gJ29mZic7Ci0gICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29u
KCdkaXNhYmxlZCcpOwotICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwotfQotCi1mdW5j
dGlvbiBjaGVja05vblVzZXJHZXN0dXJlKCkKLXsKLSAgICBudW1FcnJvcnNFeHBlY3RlZCArPSAx
OwotCi0gICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci0gICAg
Y2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKLSAgICBmb3JtLm9uYXV0b2NvbXBs
ZXRlZXJyb3IgPSBlcnJvcldpdGhSZWFzb24oJ2Rpc2FibGVkJyk7Ci0KLSAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwot
ICAgIH0sIDApOwotfQotCi1mdW5jdGlvbiBlcnJvcldpdGhSZWFzb24ocmVhc29uKQotewotICAg
IHJldHVybiBmdW5jdGlvbihldmVudCkgewotICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBB
dXRvY29tcGxldGVFcnJvckV2ZW50KQotICAgICAgICAgICAgdGVzdFBhc3NlZCgnZXZlbnQgaXMg
YW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0
ZXN0RmFpbGVkKCdleHBlY3RlZCBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50Jyk7Ci0KLSAgICAg
ICAgaWYgKGV2ZW50LnJlYXNvbiA9PSByZWFzb24pCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCdn
b3QgZXhwZWN0ZWQgcmVhc29uOiAnICsgcmVhc29uKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgdGVzdEZhaWxlZCgnd3JvbmcgcmVhc29uLCBleHBlY3RlZDogJyArIHJlYXNvbiArICcsIGdv
dDogJyArIGV2ZW50LnJlYXNvbik7Ci0KLSAgICAgICAgb25FcnJvcigpOwotICAgIH07Ci19Ci0K
LWZ1bmN0aW9uIG9uRXJyb3IoKQotewotICAgIG51bUVycm9ycyArPSAxOwotICAgIGlmIChudW1F
cnJvcnMgPiBudW1FcnJvcnNFeHBlY3RlZCkKLSAgICAgICAgdGVzdEZhaWxlZCgndG9vIG1hbnkg
ZXJyb3IgZXZlbnRzJyk7Ci0gICAgZWxzZSBpZiAobnVtRXJyb3JzID09IG51bUVycm9yc0V4cGVj
dGVkKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ2dvdCBleHBlY3RlZCBudW1iZXIgb2YgZXJyb3Ig
ZXZlbnRzICgnICsgbnVtRXJyb3JzRXhwZWN0ZWQgKyAnKScpOwotICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKLSAgICB9Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVz
dHMsIHRydWUpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPiA8YSBocmVmPSJodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTciPkhUTUxGb3JtRWxlbWVu
dCNyZXF1ZXN0QXV0b2NvbXBsZXRlIGFuZCBhc3NvY2lhdGVkIGV2ZW50czwvYT4gPC9wPgotPHA+
IEZvciB0aGlzIHRlc3QgdG8gcGFzcywgeW91IHNob3VsZCBzZWUgYWxsIFBBU1NFRCBiZWxvdy4g
PC9wPgotPGZvcm0gYXV0b2NvbXBsZXRlPSJvZmYiIG9uYXV0b2NvbXBsZXRlZXJyb3I9Im9uRXJy
b3IoKTsiPjwvZm9ybT4KLTxwIGlkPSJjb25zb2xlIj48L3A+Ci08c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbAppbmRleCAxZDRlNDZh
MmNhMGU3YzlkMTQ5NDlkODhmMTZjZjM0YTE3NzUyMzdkLi5mMzA5MjRkZjY0NzcxMzEwMDg2ZTQy
ZWRhODljY2I1Njk5OGUwYzlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLmh0bWwKQEAgLTksNyArOSw2IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBs
ZW5ndGggcHJvcGVydHkgb2YgY29uc3RydWN0b3JzLiIpOwogCiBzaG91bGRCZSgnQXJyYXlCdWZm
ZXIubGVuZ3RoJywgJzEnKTsKIHNob3VsZEJlKCdBdWRpb0NvbnRleHQubGVuZ3RoJywgJzAnKTsK
LXNob3VsZEJlKCdBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxlbmd0aCcsICcyJyk7CiBzaG91bGRC
ZSgnQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCcsICcyJyk7CiBzaG91bGRCZSgnQmxvYi5sZW5ndGgn
LCAnMicpOwogc2hvdWxkQmUoJ0Nsb3NlRXZlbnQubGVuZ3RoJywgJzInKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpz
CmluZGV4IGFlNzJjYTIwYjM2OWU0YjFlMzU5NzBhOGUyMTA4MmRjNjFhYTM0OTQuLjQzZDQzMzY3
ZDZkNjM0YTU4OTRhMGFjZWIyNDIxMGU1ZjBkYWE3ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5qcwpAQCAtMzks
OCArMzksNyBAQCBmb3IgKHZhciB4IGluIGNvbnN0cnVjdG9yTmFtZXMpIHsKICAgICAgICAgbmFt
ZSA9PSAiRmxvYXQzMkFycmF5IiB8fAogICAgICAgICBuYW1lID09ICJGbG9hdDY0QXJyYXkiIHx8
CiAgICAgICAgIG5hbWUgPT0gIkZpbGVFcnJvciIgfHwKLSAgICAgICAgbmFtZSA9PSAiRmlsZVJl
YWRlciIgfHwKLSAgICAgICAgbmFtZSA9PSAiQXV0b2NvbXBsZXRlRXJyb3JFdmVudCIpCisgICAg
ICAgIG5hbWUgPT0gIkZpbGVSZWFkZXIiKQogICAgICAgICBjb250aW51ZTsKIAogICAgIGlmIChu
YW1lID09ICJYTUxEb2N1bWVudCIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9i
bGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhw
ZWN0ZWQudHh0CmluZGV4IDM5MTI3ZDE0YTcyMTMzZGEyMGMyN2I1MDYyMzQwN2M2OGZkNTBlMTku
LjlkYmZmYzkyZjFkY2E5YjFmNTEyMWIxNmY5NmZhMTNmZDY1MDFhYmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9q
cy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBQQVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1
ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1Mg
QmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1Mg
Q2xvc2VFdmVudC5sZW5ndGggaXMgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5k
ZXggOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5NDZlNmM2NjE0OTQ2Y2E0OTlkOS4uMzE5ZDRjMmRjMTI2
NTY4N2JjNzMxYjU4MjY0MTZhYTE1ZDJjNWNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIEFy
cmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJl
IDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
QXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBi
ZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBpcyAy
CiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VFdmVudC5sZW5ndGggaXMgMgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVu
Z3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5NDZl
NmM2NjE0OTQ2Y2E0OTlkOS4uMzE5ZDRjMmRjMTI2NTY4N2JjNzMxYjU4MjY0MTZhYTE1ZDJjNWNl
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0
b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNiBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlM
IEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXVkaW9Db250ZXh0Ci1GQUlMIEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBB
U1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBB
U1MgQ2xvc2VFdmVudC5sZW5ndGggaXMgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDkwZGIxMTE4MDBmZjhiY2VhYmZiOTQyYWI3MzM4YjQyMTdkZGNhOWEuLjEwM2VmNGFkYTg2
NjA3OGUyNjM4YWYwZDNlMzVhZDFjOTEwNmI0MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3Rl
ZC50eHQKQEAgLTUsNyArNSw2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJy
YXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUg
MC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBB
dWRpb0NvbnRleHQKLUZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJl
IDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
QXV0b2NvbXBsZXRlRXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIK
IFBBU1MgQmxvYi5sZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>