<?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>162916</bug_id>
          
          <creation_ts>2016-10-04 10:21:19 -0700</creation_ts>
          <short_desc>[DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information</short_desc>
          <delta_ts>2016-10-04 14:15:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>162544</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1236230</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 10:21:19 -0700</bug_when>
    <thetext>[DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236242</commentid>
    <comment_count>1</comment_count>
      <attachid>290614</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 10:40:41 -0700</bug_when>
    <thetext>Created attachment 290614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236243</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-04 10:42:22 -0700</bug_when>
    <thetext>Attachment 290614 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:46:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236264</commentid>
    <comment_count>3</comment_count>
      <attachid>290614</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-10-04 11:02:04 -0700</bug_when>
    <thetext>Comment on attachment 290614
Patch

This is awesome!  please make the bots happy. Hopefully it&apos;s not a serious bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236270</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 11:10:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 290614 [details]
&gt; Patch
&gt; 
&gt; This is awesome!  please make the bots happy. Hopefully it&apos;s not a serious
&gt; bug.

Thanks! It seems that CCallHelpers is not export-to-WebCore ready (Oh, it includes DFGMinifiedID.h!). I&apos;ll soon fix this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236272</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-10-04 11:15:19 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Comment on attachment 290614 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; This is awesome!  please make the bots happy. Hopefully it&apos;s not a serious
&gt; &gt; bug.
&gt; 
&gt; Thanks! It seems that CCallHelpers is not export-to-WebCore ready (Oh, it
&gt; includes DFGMinifiedID.h!). I&apos;ll soon fix this issue.

Crazy!  Maybe we can break the dependency on MinifiedID.  It doesn&apos;t seem to need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236273</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-10-04 11:17:14 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; Comment on attachment 290614 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; This is awesome!  please make the bots happy. Hopefully it&apos;s not a serious
&gt; &gt; &gt; bug.
&gt; &gt; 
&gt; &gt; Thanks! It seems that CCallHelpers is not export-to-WebCore ready (Oh, it
&gt; &gt; includes DFGMinifiedID.h!). I&apos;ll soon fix this issue.
&gt; 
&gt; Crazy!  Maybe we can break the dependency on MinifiedID.  It doesn&apos;t seem to
&gt; need it.

Actually, DFGMinifiedID.h only includes DFGCommon.h, which is already exportable, so I guess it wouldn&apos;t be the end of the world if DFGMinifiedID.h was also made exportable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236291</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 11:38:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; Comment on attachment 290614 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; This is awesome!  please make the bots happy. Hopefully it&apos;s not a serious
&gt; &gt; &gt; &gt; bug.
&gt; &gt; &gt; 
&gt; &gt; &gt; Thanks! It seems that CCallHelpers is not export-to-WebCore ready (Oh, it
&gt; &gt; &gt; includes DFGMinifiedID.h!). I&apos;ll soon fix this issue.
&gt; &gt; 
&gt; &gt; Crazy!  Maybe we can break the dependency on MinifiedID.  It doesn&apos;t seem to
&gt; &gt; need it.
&gt; 
&gt; Actually, DFGMinifiedID.h only includes DFGCommon.h, which is already
&gt; exportable, so I guess it wouldn&apos;t be the end of the world if
&gt; DFGMinifiedID.h was also made exportable.

OK, I&apos;ve changed this attribute from Project to Private.
And I also fixed CMake issue. Before landing, I&apos;ll see the patch&apos;s health in EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236293</commentid>
    <comment_count>8</comment_count>
      <attachid>290626</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 11:40:11 -0700</bug_when>
    <thetext>Created attachment 290626
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236298</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-04 11:43:02 -0700</bug_when>
    <thetext>Attachment 290626 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:46:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236304</commentid>
    <comment_count>10</comment_count>
      <attachid>290629</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 11:53:42 -0700</bug_when>
    <thetext>Created attachment 290629
Patch for landing

Add more assembler/ headers. Some assembler/ headers were not included in any targets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236307</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-04 11:55:42 -0700</bug_when>
    <thetext>Attachment 290629 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:46:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236313</commentid>
    <comment_count>12</comment_count>
      <attachid>290632</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 12:04:01 -0700</bug_when>
    <thetext>Created attachment 290632
Patch for landing

Add more jit headers (generic data structures). Some assembler/ and jit/ headers were not included in any targets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236314</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-04 12:07:53 -0700</bug_when>
    <thetext>Attachment 290632 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:46:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236323</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-04 12:37:22 -0700</bug_when>
    <thetext>Committed r206779: &lt;http://trac.webkit.org/changeset/206779&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290614</attachid>
            <date>2016-10-04 10:40:41 -0700</date>
            <delta_ts>2016-10-04 11:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162916-20161004103730.patch</filename>
            <type>text/plain</type>
            <size>38308</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzkzYWEyNDUzMzhhZTU4NmNkM2VmODAwNDNlYWY1NzliNjdkNzc1Li44ZDNkZjlhNjM5OTk2ZGJk
MmYxNDUyNTVjNWZmMmI0YjQ3NmY0YzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIg
dG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZSBET01KSVQ6OkdldHRl
clNldHRlci4KKyAgICAgICAgVGhpcyBjbGFzcyBtYWludGFpbnMgaW5mb3JtYXRpb24gcmVxdWly
ZWQgdG8gZW1pdCBKSVQgY29kZSBpbiBERkcgYW5kIEZUTC4KKyAgICAgICAgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIgaGFzIDIgdmlydHVhbCBmdW5jdGlvbnM6IGNoZWNrRE9NIGFuZCBjYWxsRE9NLgor
ICAgICAgICBUaGVzZSBmdW5jdGlvbnMgY2FuIHJldHVybiBhIERPTUpJVDo6UGF0Y2hwb2ludCB0
aGF0IGFsbG93cyB1cyB0byBpbmplY3QKKyAgICAgICAgYXBwcm9wcmlhdGUgbWFjaGluZSBjb2Rl
IGR1cmluZyBERkcgYW5kIEZUTCBwaGFzZXMuIERGRyBhbmQgRlRMIHdpbGwgaW52b2tlCisgICAg
ICAgIHRoZXNlIGZ1bmN0aW9ucyB0byBnZXQgYSBwYXRjaHBvaW50LiBBbmQgdGhpcyBwYXRjaHBv
aW50IHdpbGwgYmUgdXNlZCB0bworICAgICAgICBlbWl0IGNvZGUgY29ycmVzcG9uZGluZyB0byBD
aGVja0RPTSBhbmQgQ2FsbERPTSBERkcgbm9kZXMsIHdoaWNoIHdpbGwgYmUgYWRkZWQKKyAgICAg
ICAgaW4gc3Vic3FldW50IHBhdGNoLgorCisgICAgICAgIFdlIHByb3BhZ2F0ZSBET01KSVQ6Okdl
dHRlclNldHRlciB0aG91Z2ggUHJvcGVydHlTbG90LCBBY2Nlc3NDYXNlLCBHZXRCeUlkVmFyaWFu
dCwKKyAgICAgICAgYW5kIEdldEJ5SWRTdGF0dXMgYWxvbmcgd2l0aCBDdXN0b21HZXR0ZXIgdG8g
dGVhY2ggREZHIHRoYXQgdGhpcyBjdXN0b20gYWNjZXNzCisgICAgICAgIGNvZGUgaGFzIGEgY2hh
bmNlIHRvIGJlIGlubGluZWQgd2l0aCB0aGlzIERPTUpJVDo6R2V0dGVyU2V0dGVyIGluZm9ybWF0
aW9uLgorICAgICAgICBJbnN0ZWFkIG9mIHByb3BhZ2F0aW5nIEN1c3RvbUdldHRlclNldHRlciBo
b2xkaW5nIERPTUpJVDo6R2V0dGVyU2V0dGVyIGFuZCBDdXN0b21HZXR0ZXIsCisgICAgICAgIHdl
IHByb3BhZ2F0ZSBDdXN0b21HZXR0ZXIgYW5kIERPTUpJVDo6R2V0dGVyU2V0dGVyLiBUaGlzIGlz
IGJlY2F1c2Ugb2YgdGhlIGN1cnJlbnQKKyAgICAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyIGRlc2ln
biB0aGF0IHdlIHJlaWZ5IEN1c3RvbUdldHRlclNldHRlcnMgb25seSB3aGVuIHdlIG5lZWQgdG8g
cmVpZnkKKyAgICAgICAgYWxsIHRoZSBwcm9wZXJ0aWVzLiBUaGlzIGRlc2lnbiBhbGxvd3MgdXMg
dG8gYXZvaWQgZnJlcXVlbnQgQ3VzdG9tR2V0dGVyU2V0dGVyIGFsbG9jYXRpb25zCisgICAgICAg
IGFuZCBzdHJ1Y3R1cmUgdHJhbnNpdGlvbnMuCisKKyAgICAgICAgQ3VycmVudGx5LCBkb21KSVQg
ZmllbGQgaXMgYWx3YXlzIG51bGxwdHIgc2luY2UgdGhlcmUgaXMgbm8gRE9NSklUQXR0cmlidXRl
IHVzZXIuCisgICAgICAgIFdoZW4gd2UgYWRkIHRoaXMsIHdlIHdpbGwgYWRkIGNvZGUgaGFuZGxp
bmcgdGhpcyBET01KSVQ6OkdldHRlclNldHRlciBpbiBERkc6OkJ5dGVDb2RlUGFyc2VyLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91
dEV4aXRTaXRlRmVlZGJhY2spOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmNw
cDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6OkdldEJ5SWRWYXJpYW50KToKKyAgICAg
ICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6Om9wZXJhdG9yPSk6CisgICAgICAgIChKU0M6OkdldEJ5
SWRWYXJpYW50OjphdHRlbXB0VG9NZXJnZSk6CisgICAgICAgIChKU0M6OkdldEJ5SWRWYXJpYW50
OjpkdW1wSW5Db250ZXh0KToKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkVmFyaWFudC5oOgor
ICAgICAgICAoSlNDOjpHZXRCeUlkVmFyaWFudDo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6R2V0
QnlJZFZhcmlhbnQ6OmludHJpbnNpYyk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZXQpOgorICAg
ICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpjbG9uZSk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZG9tSklUKToKKyAgICAg
ICAgKEpTQzo6QWNjZXNzQ2FzZTo6UmFyZURhdGE6OlJhcmVEYXRhKToKKyAgICAgICAgKiBkZmcv
REZHTm9kZS5oOgorICAgICAgICAqIGRvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIuaDogQWRkZWQu
CisgICAgICAgIChKU0M6OkRPTUpJVDo6R2V0dGVyU2V0dGVyOjpHZXR0ZXJTZXR0ZXIpOgorICAg
ICAgICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6fkdldHRlclNldHRlcik6CisgICAgICAg
IChKU0M6OkRPTUpJVDo6R2V0dGVyU2V0dGVyOjpnZXR0ZXIpOgorICAgICAgICAoSlNDOjpET01K
SVQ6OkdldHRlclNldHRlcjo6c2V0dGVyKToKKyAgICAgICAgKEpTQzo6RE9NSklUOjpHZXR0ZXJT
ZXR0ZXI6OnRoaXNDbGFzc0luZm8pOgorICAgICAgICAqIGRvbWppdC9ET01KSVRQYXRjaHBvaW50
Lmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpET01KSVQ6OlBhdGNocG9pbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChKU0M6OkRPTUpJVDo6UGF0Y2hwb2ludDo6c2V0R2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6RE9NSklUOjpQYXRjaHBvaW50OjpnZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9SZXBh
dGNoLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVHZXRCeUlEKToKKyAgICAgICAgKiBydW50
aW1lL0N1c3RvbUdldHRlclNldHRlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmZpbGxDdXN0b21HZXR0ZXJQcm9wZXJ0eVNsb3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvTG9va3VwLmg6CisgICAgICAgIChKU0M6Okhhc2hUYWJsZVZhbHVl
Ojpkb21KSVQpOgorICAgICAgICAoSlNDOjpnZXRTdGF0aWNQcm9wZXJ0eVNsb3RGcm9tVGFibGUp
OgorICAgICAgICAoSlNDOjpwdXRFbnRyeSk6CisgICAgICAgIChKU0M6OnJlaWZ5U3RhdGljUHJv
cGVydHkpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlTbG90Lmg6CisgICAgICAgIChKU0M6
OlByb3BlcnR5U2xvdDo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlTbG90OjpzZXRD
YWNoZWFibGVDdXN0b20pOgorCiAyMDE2LTEwLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBw
bGUuY29tPgogCiAgICAgICAgIEZvbGxvdyB1cCBmaXggdG8gR2V0TWFwQnVja2V0IGFuZCBNYXBI
YXNoIHNwZWN1bGF0aW5nIG9uIGNoaWxkIG5vZGUgdHlwZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggMGY0ZWM1YmY1N2M0NGQ1ZDg5NDE5Zjg0YmEwMGZjZjg2MDY2ZmI5
My4uMzIxYzY4NTBlNDI3MzU3ZjQ2MWY4ZjFmNWUyM2FmNmYwN2FiYzBlNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYsNiArMTYsNyBAQCBzZXQoSmF2YVNjcmlwdENv
cmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYnl0ZWNv
ZGUiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9ieXRlY29tcGlsZXIiCiAgICAgIiR7SkFW
QVNDUklQVENPUkVfRElSfS9kZmciCisgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kb21qaXQi
CiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIiCiAgICAgIiR7SkFWQVND
UklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIvdWRpczg2IgogICAgICIke0pBVkFTQ1JJUFRDT1JF
X0RJUn0vZnRsIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZWU1NzcyYTBlN2Rl
Y2IzZTEzMTkxYmQ4NTk0MDZmZGY5YzVmZTU2Li4wMDdmZGRlZjRjYTg3ZTk5YTBmNjBiNTZkMTk4
Y2Q0ZjEwMGNhMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjEwMCwxMCAr
MjEwMCwxMiBAQAogCQlFMzlEQTRBNjFCN0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5REE0
QTQxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCAqLzsgfTsKIAkJRTM5REE0
QTcxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzlEQTRBNTFCN0U4QjdDMDA4NEYzM0EgLyog
SlNNb2R1bGVSZWNvcmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFM0E0MjE0MzFENkY1ODkzMDAwN0M2MTcgLyogUHJlY2lzZUp1bXBUYXJnZXRz
SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNBNDIxNDIxRDZGNTg4RjAwMDdDNjE3IC8qIFByZWNpc2VKdW1wVGFyZ2V0c0lubGluZXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFM0MwOEUz
QzFEQTQxQjgxMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDhFM0IxREE0MUI3QjAwMzk0NzhGIC8q
IERPTUpJVFBhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFM0QyMzlDODFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9u
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
M0QyMzlDNjFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgKi87IH07
CiAJCUUzRDIzOUM5MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QyMzlDNzFCODI5
QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzRUY4ODc0MUI2NkRGMjMwMDNGMjZDQiAv
KiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUY4ODcyMUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5
TmFtZUl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJRTNFRjg4NzUxQjY2REYyMzAwM0YyNkNCIC8qIEpT
UHJvcGVydHlOYW1lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzRUY4ODczMUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5TmFtZUl0
ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTNGRjc1MzMxRDlDRUExODAwQzdFMTZEIC8qIERPTUpJVEdldHRlclNldHRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGRjc1MkYxRDlDRUEx
MjAwQzdFMTZEIC8qIERPTUpJVEdldHRlclNldHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0OURDMTZCMTJFRjI5M0UwMDE4NEExRiAvKiBT
b3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNh
Y2hlLmNwcCAqLzsgfTsKIAkJRTQ5REMxNkMxMkVGMjk0RTAwMTg0QTFGIC8qIFNvdXJjZVByb3Zp
ZGVyQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0OURDMTUxMTJFRjI3MjIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ5REMxNkQxMkVG
Mjk1MzAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlEQzE0OTEyRUYyNjFBMDAxODRBMUYg
LyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDM5Niw2ICs0Mzk4LDcgQEAKIAkJRTM5REE0QTQxQjdF
OEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTTW9kdWxlUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM5REE0QTUxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9kdWxlUmVjb3JkLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQTQyMTQyMUQ2RjU4OEYwMDA3QzYxNyAvKiBQcmVjaXNl
SnVtcFRhcmdldHNJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBy
ZWNpc2VKdW1wVGFyZ2V0c0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTNDMDhFM0IxREE0MUI3QjAwMzk0NzhGIC8qIERPTUpJVFBhdGNocG9pbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUUGF0Y2hwb2ludC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFM0QyMzlDNjFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZp
cm9ubWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVs
ZUVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNEMjM5Qzcx
QjgyOUMxQzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFM0QyNjQyNjFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVHZW5lcmF0
b3JpZmljYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnl0
ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNDQwNSw2ICs0NDA4LDcgQEAKIAkJRTNEMjY0MkExRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVj
b2RlUmV3cml0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVS
ZXdyaXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0VGODg3MjFCNjZERjIz
MDAzRjI2Q0IgLyogSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNFRjg4NzMxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVy
dHlOYW1lSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9w
ZXJ0eU5hbWVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0ZGNzUy
RjFEOUNFQTEyMDBDN0UxNkQgLyogRE9NSklUR2V0dGVyU2V0dGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEdldHRlclNldHRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFNDlEQzE0OTEyRUYyNjFBMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5REMxNTExMkVG
MjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU291cmNlUHJvdmlkZXJDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNDlEQzE1NTEyRUYyNzcyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VQcm92aWRl
ckNhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2NjIsNiArNDY2Niw3
IEBACiAJCQkJNjUwRkRGOEQwOUQwRkNBNzAwNzY5RTU0IC8qIERlcml2ZWQgU291cmNlcyAqLywK
IAkJCQk4NkVDOURCMzEzMjhERjQ0MDAyQjJBRDcgLyogZGZnICovLAogCQkJCTBGRjQyNzJFMTU4
RUJDQ0UwMDRDQjlGRiAvKiBkaXNhc3NlbWJsZXIgKi8sCisJCQkJRTNGRjc1MkQxRDlDRTlFQTAw
QzdFMTZEIC8qIGRvbWppdCAqLywKIAkJCQkwODY3RDY5QUZFODQwMjhGQzAyQUFDMDcgLyogRnJh
bWV3b3JrcyAqLywKIAkJCQkwRkVBMDlGQzE3MDUxMzdGMDBCQjcyMkMgLyogZnRsICovLAogCQkJ
CTE0MkUzMTJBMTM0RkYwQTYwMEFGQURCNSAvKiBoZWFwICovLApAQCAtNzE2Nyw2ICs3MTcyLDE1
IEBACiAJCQlwYXRoID0gY29kZWdlbjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCUUzRkY3NTJEMUQ5Q0U5RUEwMEM3RTE2RCAvKiBkb21qaXQgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUUzRkY3NTJGMUQ5Q0VBMTIwMEM3RTE2RCAv
KiBET01KSVRHZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQlFM0MwOEUzQjFEQTQxQjdCMDAzOTQ3OEYg
LyogRE9NSklUUGF0Y2hwb2ludC5oICovLAorCQkJKTsKKwkJCXBhdGggPSBkb21qaXQ7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNzQ1MSw2ICs3
NDY1LDcgQEAKIAkJCQkwRjJERDgxMjFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzRWxp
bWluYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyREQ4MTQxQUIzRDhCRTAwQkJC
OEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0ODUz
MjIxODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTNDMDhFM0MxREE0MUI4MTAwMzk0NzhGIC8qIERPTUpJVFBhdGNocG9pbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGMDVDM0I0MTY4M0NGOTIwMEJBRjQ1QiAvKiBERkdBcnJheWlmeVNsb3dQYXRo
R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQ4NTE1RTQ4MTFCMDA2QTU5N0Mg
LyogREZHQXJyYXlNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q5QTI5NTE3QTBCQzc0MDBF
RTI2MTggLyogREZHQXRUYWlsQWJzdHJhY3RTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC03NjEy
LDYgKzc2MjcsNyBAQAogCQkJCTBGQzIwQ0JBMTg1NTZBMzUwMEM5RTk1NCAvKiBERkdTU0FMb3dl
cmluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjlGQjRGNTE3RkNCOTE3MDBDQjY3Rjgg
LyogREZHU3RhY2tMYXlvdXRQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0RjI5RTAxOEI2
QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFM0ZGNzUzMzFEOUNFQTE4MDBDN0UxNkQgLyogRE9NSklUR2V0
dGVyU2V0dGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjlFMzI2NDFCMDVBQjA0MDA4MDFFRDUg
LyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
QzIwQ0I2MTg1MkUyQzYwMEM5RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjYzOTQ3ODE1RENFMzRCMDA2QTU5N0MgLyogREZHU3RydWN0dXJl
QWJzdHJhY3RWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKaW5kZXggMTViM2M4MTNjYjhiZTgwNzMzZTNi
NDE1ZjZhOThlN2Y5YWM4ZGQ0Zi4uY2I3NmQwNWYwOWYxODY2NjRhY2IzYmJlMGZjNzg4NjkyZjAx
MDgyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRT
dGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3Rh
dHVzLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgPHd0Zi9MaXN0RHVtcC5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKK25hbWVzcGFjZSBET01KSVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOwor
fQogCiBib29sIEdldEJ5SWRTdGF0dXM6OmFwcGVuZFZhcmlhbnQoY29uc3QgR2V0QnlJZFZhcmlh
bnQmIHZhcmlhbnQpCiB7CkBAIC0yMTUsNiArMjE4LDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlk
U3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVGZWVkYmFjaygKICAgICAg
ICAgICAgIGNhc2UgQ29tcGxleEdldFN0YXR1czo6SW5saW5lYWJsZTogewogICAgICAgICAgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua1N0YXR1cz4gY2FsbExpbmtTdGF0dXM7CiAgICAg
ICAgICAgICAgICAgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24gPSBudWxscHRyOworICAg
ICAgICAgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBudWxscHRyOwogCiAg
ICAgICAgICAgICAgICAgc3dpdGNoIChhY2Nlc3MudHlwZSgpKSB7CiAgICAgICAgICAgICAgICAg
Y2FzZSBBY2Nlc3NDYXNlOjpMb2FkOgpAQCAtMjM0LDYgKzIzOCwxMiBAQCBHZXRCeUlkU3RhdHVz
IEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhvdXRFeGl0U2l0ZUZlZWRiYWNr
KAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc0Nhc2U6OkN1c3RvbUFj
Y2Vzc29yR2V0dGVyOiB7CisgICAgICAgICAgICAgICAgICAgIGRvbUpJVCA9IGFjY2Vzcy5kb21K
SVQoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFkb21KSVQpCisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IGRlZmF1bHQ6IHsKICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIHRv
dGFsbHkgc3dlZXQgdG8gc3VwcG9ydCBtb3JlIG9mIHRoZXNlIGF0IHNvbWUgcG9pbnQgaW4gdGhl
CiAgICAgICAgICAgICAgICAgICAgIC8vIGZ1dHVyZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMzA1MgpAQCAtMjQ0LDcgKzI1NCw4IEBAIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91dEV4aXRTaXRlRmVlZGJhY2so
CiAgICAgICAgICAgICAgICAgR2V0QnlJZFZhcmlhbnQgdmFyaWFudCgKICAgICAgICAgICAgICAg
ICAgICAgU3RydWN0dXJlU2V0KHN0cnVjdHVyZSksIGNvbXBsZXhHZXRTdGF0dXMub2Zmc2V0KCks
CiAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXhHZXRTdGF0dXMuY29uZGl0aW9uU2V0KCksIFdU
Rk1vdmUoY2FsbExpbmtTdGF0dXMpLAotICAgICAgICAgICAgICAgICAgICBpbnRyaW5zaWNGdW5j
dGlvbik7CisgICAgICAgICAgICAgICAgICAgIGludHJpbnNpY0Z1bmN0aW9uLAorICAgICAgICAg
ICAgICAgICAgICBkb21KSVQpOwogCiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQuYXBwZW5k
VmFyaWFudCh2YXJpYW50KSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0
dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRWYXJpYW50LmNwcAppbmRleCBhODY5ZDRhMWM5NGU3ZTQ3NTczMTc0NGM3
YjMwM2Q1MDY1ZTBmNDMxLi4wMzE3MDg0ZDA5OWNhYjcwYTQ0MTUwYjY0ZjkxOTZlNTY2N2JhNDEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlh
bnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkVmFyaWFu
dC5jcHAKQEAgLTM2LDEyICszNiwxNCBAQCBHZXRCeUlkVmFyaWFudDo6R2V0QnlJZFZhcmlhbnQo
CiAgICAgY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVTZXQsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwKICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LAogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua1N0YXR1cz4gY2FsbExpbmtTdGF0dXMsCi0g
ICAgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCisgICAgSlNGdW5jdGlvbiogaW50cmlu
c2ljRnVuY3Rpb24sCisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCkKICAgICA6IG1f
c3RydWN0dXJlU2V0KHN0cnVjdHVyZVNldCkKICAgICAsIG1fY29uZGl0aW9uU2V0KGNvbmRpdGlv
blNldCkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fY2FsbExpbmtTdGF0dXMoV1RG
TW92ZShjYWxsTGlua1N0YXR1cykpCiAgICAgLCBtX2ludHJpbnNpY0Z1bmN0aW9uKGludHJpbnNp
Y0Z1bmN0aW9uKQorICAgICwgbV9kb21KSVQoZG9tSklUKQogewogICAgIGlmICghc3RydWN0dXJl
U2V0LnNpemUoKSkgewogICAgICAgICBBU1NFUlQob2Zmc2V0ID09IGludmFsaWRPZmZzZXQpOwpA
QCAtNjUsNiArNjcsNyBAQCBHZXRCeUlkVmFyaWFudCYgR2V0QnlJZFZhcmlhbnQ6Om9wZXJhdG9y
PShjb25zdCBHZXRCeUlkVmFyaWFudCYgb3RoZXIpCiAgICAgbV9jb25kaXRpb25TZXQgPSBvdGhl
ci5tX2NvbmRpdGlvblNldDsKICAgICBtX29mZnNldCA9IG90aGVyLm1fb2Zmc2V0OwogICAgIG1f
aW50cmluc2ljRnVuY3Rpb24gPSBvdGhlci5tX2ludHJpbnNpY0Z1bmN0aW9uOworICAgIG1fZG9t
SklUID0gb3RoZXIubV9kb21KSVQ7CiAgICAgaWYgKG90aGVyLm1fY2FsbExpbmtTdGF0dXMpCiAg
ICAgICAgIG1fY2FsbExpbmtTdGF0dXMgPSBzdGQ6Om1ha2VfdW5pcXVlPENhbGxMaW5rU3RhdHVz
Pigqb3RoZXIubV9jYWxsTGlua1N0YXR1cyk7CiAgICAgZWxzZQpAQCAtMTAzLDYgKzEwNiw5IEBA
IGJvb2wgR2V0QnlJZFZhcmlhbnQ6OmF0dGVtcHRUb01lcmdlKGNvbnN0IEdldEJ5SWRWYXJpYW50
JiBvdGhlcikKICAgICBpZiAoIWNhbk1lcmdlSW50cmluc2ljU3RydWN0dXJlcyhvdGhlcikpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX2RvbUpJVCAhPSBvdGhlci5tX2RvbUpJ
VCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKG1fY29uZGl0aW9uU2V0LmlzRW1w
dHkoKSAhPSBvdGhlci5tX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKQEAgLTEzOCw2ICsxNDQsOCBAQCB2b2lkIEdldEJ5SWRWYXJpYW50OjpkdW1w
SW5Db250ZXh0KFByaW50U3RyZWFtJiBvdXQsIER1bXBDb250ZXh0KiBjb250ZXh0KSBjb25zdAog
ICAgICAgICBvdXQucHJpbnQoIiwgY2FsbCA9ICIsICptX2NhbGxMaW5rU3RhdHVzKTsKICAgICBp
ZiAobV9pbnRyaW5zaWNGdW5jdGlvbikKICAgICAgICAgb3V0LnByaW50KCIsIGludHJpbnNpYyA9
ICIsICptX2ludHJpbnNpY0Z1bmN0aW9uKTsKKyAgICBpZiAobV9kb21KSVQpCisgICAgICAgIG91
dC5wcmludCgiLCBjdXN0b20gPSAiLCBSYXdQb2ludGVyKG1fZG9tSklUKSk7CiAgICAgb3V0LnBy
aW50KCI+Iik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXRCeUlkVmFyaWFudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5
SWRWYXJpYW50LmgKaW5kZXggNjYyMTg5YmNlNWYyZWIxYTEzYmQwNTNlOTgwMDIxYzEzYzI2NmU2
Ni4uOGRlZDI0ODY3NWY4NzFkNzkwOGYyMmE1Njk0MzcyOTc4Yjg5NTNhNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmgKQEAgLTMyLDYgKzMy
LDkgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVTZXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CituYW1l
c3BhY2UgRE9NSklUIHsKK2NsYXNzIEdldHRlclNldHRlcjsKK30KIAogY2xhc3MgQ2FsbExpbmtT
dGF0dXM7CiBjbGFzcyBHZXRCeUlkU3RhdHVzOwpAQCAtNDMsNyArNDYsOCBAQCBjbGFzcyBHZXRC
eUlkVmFyaWFudCB7CiAgICAgICAgIGNvbnN0IFN0cnVjdHVyZVNldCYgc3RydWN0dXJlU2V0ID0g
U3RydWN0dXJlU2V0KCksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGludmFsaWRPZmZzZXQsCiAg
ICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0KCksCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua1N0YXR1cz4g
PSBudWxscHRyLAotICAgICAgICBKU0Z1bmN0aW9uKiA9IG51bGxwdHIpOworICAgICAgICBKU0Z1
bmN0aW9uKiA9IG51bGxwdHIsCisgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiA9IG51bGxw
dHIpOwogCiAgICAgfkdldEJ5SWRWYXJpYW50KCk7CiAgICAgCkBAIC02Miw2ICs2Niw3IEBAIGNs
YXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICBDYWxsTGlua1N0YXR1cyogY2FsbExpbmtTdGF0dXMo
KSBjb25zdCB7IHJldHVybiBtX2NhbGxMaW5rU3RhdHVzLmdldCgpOyB9CiAgICAgSlNGdW5jdGlv
biogaW50cmluc2ljRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2ludHJpbnNpY0Z1bmN0aW9u
OyB9CiAgICAgSW50cmluc2ljIGludHJpbnNpYygpIGNvbnN0IHsgcmV0dXJuIG1faW50cmluc2lj
RnVuY3Rpb24gPyBtX2ludHJpbnNpY0Z1bmN0aW9uLT5pbnRyaW5zaWMoKSA6IE5vSW50cmluc2lj
OyB9CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9tSklUOyB9CiAKICAgICBib29sIGlzUHJvcGVydHlVbnNldCgpIGNvbnN0IHsgcmV0dXJuIG9m
ZnNldCgpID09IGludmFsaWRPZmZzZXQ7IH0KIApAQCAtODAsNiArODUsNyBAQCBjbGFzcyBHZXRC
eUlkVmFyaWFudCB7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9vZmZzZXQ7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPENhbGxMaW5rU3RhdHVzPiBtX2NhbGxMaW5rU3RhdHVzOwogICAgIEpTRnVuY3Rpb24q
IG1faW50cmluc2ljRnVuY3Rpb247CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIG1fZG9tSklU
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAppbmRleCAyY2YyNjY3MDg2NjQ2ZjIw
MmEwNGM2YTA3NDI5YzgxYTc1ZTk0NjQzLi45YThhOGU1MjAwOThhOTZhZTZkYzg1MDlmMDJmMTUz
MWEwMDEyNTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6dHJ5R2V0KAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IEFjY2Vzc0Nhc2U6OmdldCgKICAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5
cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKICAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQorICAg
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlLCBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKQogewogICAgIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEFjY2Vzc0Nhc2UoKSk7CiAKQEAgLTIyOSwx
MiArMjI5LDEzIEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpnZXQo
CiAgICAgcmVzdWx0LT5tX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAg
IHJlc3VsdC0+bV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiAKLSAgICBpZiAodmlhUHJv
eHkgfHwgYWRkaXRpb25hbFNldCB8fCByZXN1bHQtPmRvZXNDYWxscygpIHx8IGN1c3RvbUdldHRl
ciB8fCBjdXN0b21TbG90QmFzZSkgeworICAgIGlmICh2aWFQcm94eSB8fCBhZGRpdGlvbmFsU2V0
IHx8IHJlc3VsdC0+ZG9lc0NhbGxzKCkgfHwgY3VzdG9tR2V0dGVyIHx8IGN1c3RvbVNsb3RCYXNl
IHx8IGRvbUpJVCkgewogICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEgPSBzdGQ6Om1ha2VfdW5p
cXVlPFJhcmVEYXRhPigpOwogICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEtPnZpYVByb3h5ID0g
dmlhUHJveHk7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+YWRkaXRpb25hbFNldCA9IGFk
ZGl0aW9uYWxTZXQ7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tQWNjZXNzb3Iu
Z2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEtPmN1c3Rv
bVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKKyAgICAg
ICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5kb21KSVQgPSBkb21KSVQ7CiAgICAgfQogCiAgICAgcmV0
dXJuIHJlc3VsdDsKQEAgLTM4NSw2ICszODYsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gQWNjZXNzQ2FzZTo6Y2xvbmUoKSBjb25zdAogICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEt
PmN1c3RvbUFjY2Vzc29yLm9wYXF1ZSA9IHJhcmVEYXRhLT5jdXN0b21BY2Nlc3Nvci5vcGFxdWU7
CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tU2xvdEJhc2UgPSByYXJlRGF0YS0+
Y3VzdG9tU2xvdEJhc2U7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+aW50cmluc2ljRnVu
Y3Rpb24gPSByYXJlRGF0YS0+aW50cmluc2ljRnVuY3Rpb247CisgICAgICAgIHJlc3VsdC0+bV9y
YXJlRGF0YS0+ZG9tSklUID0gcmFyZURhdGEtPmRvbUpJVDsKICAgICB9CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmgKaW5kZXggYTZkMTQ4Y2JmYjBmMTlmOGIzN2ExNzczODFlMDA4MTM3MmI4NDky
Mi4uOTcwYTIzNWJmZGUzMmU2M2FmNmI5NWRhZmY3MzIzYzJiOTQ4YzY1YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKQEAgLTM3
LDYgKzM3LDkgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0Mgewor
bmFtZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJTZXR0ZXI7Cit9CiAKIGNsYXNzIENvZGVC
bG9jazsKIGNsYXNzIFBvbHltb3JwaGljQWNjZXNzOwpAQCAtMTMwLDcgKzEzMyw4IEBAIGNsYXNz
IEFjY2Vzc0Nhc2UgewogICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCiAgICAgICAgIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAogICAgICAgICBQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSA9IG51bGxwdHIpOworICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxs
cHRyLAorICAgICAgICBET01KSVQ6OkdldHRlclNldHRlciogPSBudWxscHRyKTsKICAgICAKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG1lZ2Ftb3JwaGljTG9hZChWTSYs
IEpTQ2VsbCogb3duZXIpOwogICAgIApAQCAtMTg2LDYgKzE5MCwxMiBAQCBjbGFzcyBBY2Nlc3ND
YXNlIHsKICAgICAgICAgcmV0dXJuIGludHJpbnNpY0Z1bmN0aW9uKCktPmludHJpbnNpYygpOwog
ICAgIH0KIAorICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQoKSBjb25zdAorICAgIHsK
KyAgICAgICAgQVNTRVJUKG1fcmFyZURhdGEpOworICAgICAgICByZXR1cm4gbV9yYXJlRGF0YS0+
ZG9tSklUOworICAgIH0KKwogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25z
dAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEgPyBtX3JhcmVEYXRhLT5hZGRpdGlv
bmFsU2V0LmdldCgpIDogbnVsbHB0cjsKQEAgLTI4NCw2ICsyOTQsNyBAQCBjbGFzcyBBY2Nlc3ND
YXNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFJhcmVEYXRhKCkKICAgICAgICAgICAgIDogdmlh
UHJveHkoZmFsc2UpCisgICAgICAgICAgICAsIGRvbUpJVChudWxscHRyKQogICAgICAgICB7CiAg
ICAgICAgICAgICBjdXN0b21BY2Nlc3Nvci5vcGFxdWUgPSBudWxscHRyOwogICAgICAgICB9CkBA
IC0zMDAsNiArMzExLDcgQEAgY2xhc3MgQWNjZXNzQ2FzZSB7CiAgICAgICAgIH0gY3VzdG9tQWNj
ZXNzb3I7CiAgICAgICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gY3VzdG9tU2xvdEJhc2U7CiAg
ICAgICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBpbnRyaW5zaWNGdW5jdGlvbjsKKyAgICAg
ICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVDsKICAgICB9OwogCiAgICAgc3RkOjp1bmlx
dWVfcHRyPFJhcmVEYXRhPiBtX3JhcmVEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAppbmRleCA0YmFlOWFlOTYzNjA5YzNmMzczMDZiMTRmNTcyZjJiNGZhYzU3NDRiLi45OWE4MmM5
Y2Q5NmFhNzhjM2IwNDBlYzU0ZWQ5ZWUxMmYwMWRlODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR05vZGUuaApAQCAtNTgsNiArNTgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK25hbWVz
cGFjZSBET01KSVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOworfQorCiBuYW1lc3BhY2UgUHJvZmls
ZXIgewogY2xhc3MgRXhlY3V0aW9uQ291bnRlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxZTczOTNjODA3
NDE0NTczZDQ2ZGYyM2RjOTcyMGIzYmQwMGY0M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oCkBAIC0wLDAgKzEsNjQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIkRPTUpJVFBhdGNocG9pbnQuaCIKKyNpbmNsdWRlICJQcm9wZXJ0
eVNsb3QuaCIKKyNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJTcGVjdWxh
dGVkVHlwZS5oIgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERPTUpJVCB7CisKK2NsYXNz
IEdldHRlclNldHRlciB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYyBDdXN0b21HZXR0ZXI7CisgICAgdHlwZWRlZiBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYyBDdXN0b21TZXR0ZXI7CisKKyAgICBHZXR0ZXJTZXR0ZXIoQ3VzdG9tR2V0dGVyIGdl
dHRlciwgQ3VzdG9tU2V0dGVyIHNldHRlciwgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8pCisg
ICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQorICAgICAgICAsIG1fc2V0dGVyKHNldHRlcikKKyAg
ICAgICAgLCBtX3RoaXNDbGFzc0luZm8oY2xhc3NJbmZvKQorICAgIHsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIH5HZXR0ZXJTZXR0ZXIoKSB7IH0KKworICAgIEN1c3RvbUdldHRlciBnZXR0ZXIoKSBj
b25zdCB7IHJldHVybiBtX2dldHRlcjsgfQorICAgIEN1c3RvbVNldHRlciBzZXR0ZXIoKSBjb25z
dCB7IHJldHVybiBtX3NldHRlcjsgfQorICAgIGNvbnN0IENsYXNzSW5mbyogdGhpc0NsYXNzSW5m
bygpIGNvbnN0IHsgcmV0dXJuIG1fdGhpc0NsYXNzSW5mbzsgfQorCisjaWYgRU5BQkxFKEpJVCkK
KyAgICB2aXJ0dWFsIFJlZjxET01KSVQ6OlBhdGNocG9pbnQ+IGNhbGxET00oKSA9IDA7CisgICAg
dmlydHVhbCBSZWY8RE9NSklUOjpQYXRjaHBvaW50PiBjaGVja0RPTSgpID0gMDsKKyNlbmRpZgor
Citwcml2YXRlOgorICAgIEN1c3RvbUdldHRlciBtX2dldHRlcjsKKyAgICBDdXN0b21TZXR0ZXIg
bV9zZXR0ZXI7CisgICAgY29uc3QgQ2xhc3NJbmZvKiBtX3RoaXNDbGFzc0luZm87Cit9OworCit9
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklUUGF0Y2hw
b2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9ET01KSVRQYXRjaHBvaW50LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmZkYzA5OTAxMGQ5NmNhNWQzMDMxODhiY2JjMzc4MjI3ODg4ZTliNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklUUGF0Y2hw
b2ludC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRl
ICJDQ2FsbEhlbHBlcnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclNldC5oIgorCituYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIERPTUpJVCB7CisKK2NsYXNzIFBhdGNocG9pbnRQYXJhbXM7CisKK3R5
cGVkZWYgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBQYXRjaHBvaW50R2VuZXJhdG9yRnVuY3Rpb24o
Q0NhbGxIZWxwZXJzJiwgY29uc3QgUGF0Y2hwb2ludFBhcmFtcyYpOwordHlwZWRlZiBTaGFyZWRU
YXNrPFBhdGNocG9pbnRHZW5lcmF0b3JGdW5jdGlvbj4gUGF0Y2hwb2ludEdlbmVyYXRvcjsKKwor
Ly8gRE9NSklUIHBhdGNocG9pbnQgaXMgdGhlIHdheSB0byBpbmplY3QgYW4gb3BhcXVlIGNvZGUg
Z2VuZXJhdG9yIGludG8gREZHIGFuZCBGVEwuCisvLyBXaGlsZSBCMzo6UGF0Y2hwb2ludCBpcyBz
ZWxmLWNvbnRhaW5lZCBhYm91dCBpdHMgY29tcGlsYXRpb24gaW5mb3JtYXRpb24sCisvLyBET01K
SVQ6OlBhdGNocG9pbnQgZGVwZW5kcyBvbiB3aGljaCBERkcgTm9kZSBpbnZva2VzLiBGb3IgZXhh
bXBsZSwgQ2hlY2tET00gd2lsbAorLy8gbGluayByZXR1cm5lZCBmYWlsdXJlQ2FzZXMgdG8gQmFk
VHlwZSBPU1JFeGl0LCBidXQgdGhpcyBpbmZvcm1hdGlvbiBpcyBvZmZlcmVkCisvLyBmcm9tIENo
ZWNrRE9NIERGRyBOb2RlLCBub3QgZnJvbSB0aGlzIHBhdGNocG9pbnQuIFRoaXMgcGF0Y2hwb2lu
dCBtYWlubHkgZm9jdXNlcworLy8gb24gaW5qZWN0aW5nIGEgc25pcHBldCBnZW5lcmF0b3IgdGhh
dCBjYW4gdGVsbCByZWdpc3RlciB1c2FnZSBhbmQgY2FuIGJlIHVzZWQKKy8vIGluIGJvdGggREZH
IGFuZCBGVEwuCitjbGFzcyBQYXRjaHBvaW50IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFBhdGNocG9pbnQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBhdGNocG9pbnQ+IGNyZWF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQYXRjaHBvaW50KCkpOwor
ICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgICAgdm9pZCBzZXRHZW5l
cmF0b3IoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKKyAgICB7CisgICAgICAgIG1fZ2VuZXJhdG9y
ID0gY3JlYXRlU2hhcmVkVGFzazxQYXRjaHBvaW50R2VuZXJhdG9yRnVuY3Rpb24+KGZ1bmN0b3Ip
OworICAgIH0KKworICAgIFJlZlB0cjxQYXRjaHBvaW50R2VuZXJhdG9yPiBnZW5lcmF0b3IoKSBj
b25zdCB7IHJldHVybiBtX2dlbmVyYXRvcjsgfQorCisgICAgdWludDhfdCBudW1HUFNjcmF0Y2hS
ZWdpc3RlcnMgeyAwIH07CisgICAgdWludDhfdCBudW1GUFNjcmF0Y2hSZWdpc3RlcnMgeyAwIH07
CisKK3ByaXZhdGU6CisgICAgUGF0Y2hwb2ludCgpID0gZGVmYXVsdDsKKworICAgIFJlZlB0cjxQ
YXRjaHBvaW50R2VuZXJhdG9yPiBtX2dlbmVyYXRvcjsKK307CisKK30gfQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IGQ0NTkzOWM1OTU5YTgwN2Q0NTA1
Yjk0ZWEzY2VhMTU1ZmZmNWM0YjguLjI1ODFjMjVkNmFmYzFhM2VkMGZmNGFlZGE0MGRiNDQ5YWE0
ODYxN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZVNodWZmbGVyLmgiCiAjaW5jbHVkZSAiREZHT3BlcmF0
aW9ucy5oIgogI2luY2x1ZGUgIkRGR1NwZWN1bGF0aXZlSklULmgiCisjaW5jbHVkZSAiRE9NSklU
R2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
RlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmgiCkBAIC0yNjAs
NiArMjYxLDEwIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAgICAgICAgIGlmIChzbG90Lmlz
Q2FjaGVhYmxlR2V0dGVyKCkpCiAgICAgICAgICAgICBnZXR0ZXIgPSBqc0R5bmFtaWNDYXN0PEpT
RnVuY3Rpb24qPihzbG90LmdldHRlclNldHRlcigpLT5nZXR0ZXIoKSk7CiAKKyAgICAgICAgRE9N
SklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IG51bGxwdHI7CisgICAgICAgIGlmIChzbG90Lmlz
Q2FjaGVhYmxlQ3VzdG9tKCkgJiYgc2xvdC5kb21KSVQoKSkKKyAgICAgICAgICAgIGRvbUpJVCA9
IHNsb3QuZG9tSklUKCk7CisKICAgICAgICAgaWYgKGtpbmQgPT0gR2V0QnlJREtpbmQ6OlB1cmUp
IHsKICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAg
IGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSkKQEAgLTI5MCw3ICsyOTUsOCBAQCBzdGF0aWMg
SW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlEKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSBiYXNlVmFsdWUsIGNvbgogICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmdldCgK
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgIHNsb3Qu
d2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdl
dHRlcigpIDogbnVsbHB0ciwKLSAgICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9t
KCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBzbG90Lmlz
Q2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyLAorICAgICAgICAg
ICAgICAgIGRvbUpJVCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0N1c3RvbUdldHRlclNldHRlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgKaW5kZXggZDcwMmRkZjRkYTA1
NzY5MDVmNzljZWFkNjBiNmEyM2NkYjljMzY2Ni4uNDRiNzMwNmE1ODk5NTlhZjJmYmUzNmQxNTEw
MDY2NGQ0YTA2OGQyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q3VzdG9tR2V0dGVyU2V0dGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q3VzdG9tR2V0dGVyU2V0dGVyLmgKQEAgLTMxLDYgKzMxLDkgQEAKICNpbmNsdWRlICJTdHJ1Y3R1
cmUuaCIKIAogbmFtZXNwYWNlIEpTQyB7CituYW1lc3BhY2UgRE9NSklUIHsKK2NsYXNzIEdldHRl
clNldHRlcjsKK30KIAogY2xhc3MgQ3VzdG9tR2V0dGVyU2V0dGVyIGZpbmFsIDogcHVibGljIEpT
Q2VsbCB7CiBwdWJsaWM6CkBAIC00MCwxNSArNDMsMTYgQEAgY2xhc3MgQ3VzdG9tR2V0dGVyU2V0
dGVyIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYyBDdXN0b21HZXR0ZXI7CiAgICAgdHlwZWRlZiBQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYyBDdXN0b21TZXR0ZXI7CiAKLSAgICBzdGF0aWMgQ3VzdG9tR2V0dGVyU2V0dGVy
KiBjcmVhdGUoVk0mIHZtLCBDdXN0b21HZXR0ZXIgY3VzdG9tR2V0dGVyLCBDdXN0b21TZXR0ZXIg
Y3VzdG9tU2V0dGVyKQorICAgIHN0YXRpYyBDdXN0b21HZXR0ZXJTZXR0ZXIqIGNyZWF0ZShWTSYg
dm0sIEN1c3RvbUdldHRlciBjdXN0b21HZXR0ZXIsIEN1c3RvbVNldHRlciBjdXN0b21TZXR0ZXIs
IERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBudWxscHRyKQogICAgIHsKLSAgICAgICAg
Q3VzdG9tR2V0dGVyU2V0dGVyKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXApKSBDdXN0b21HZXR0ZXJTZXR0
ZXIodm0sIGN1c3RvbUdldHRlciwgY3VzdG9tU2V0dGVyKTsKKyAgICAgICAgQ3VzdG9tR2V0dGVy
U2V0dGVyKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxD
dXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXApKSBDdXN0b21HZXR0ZXJTZXR0ZXIodm0sIGN1c3Rv
bUdldHRlciwgY3VzdG9tU2V0dGVyLCBkb21KSVQpOwogICAgICAgICBjdXN0b21HZXR0ZXJTZXR0
ZXItPmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgcmV0dXJuIGN1c3RvbUdldHRlclNldHRl
cjsKICAgICB9CiAKICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OkN1c3RvbUdldHRlciBnZXR0ZXIo
KSBjb25zdCB7IHJldHVybiBtX2dldHRlcjsgfQogICAgIEN1c3RvbUdldHRlclNldHRlcjo6Q3Vz
dG9tU2V0dGVyIHNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGVyOyB9CisgICAgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9tSklUOyB9CiAKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CkBAIC01OCwxNSArNjIs
MTcgQEAgY2xhc3MgQ3VzdG9tR2V0dGVyU2V0dGVyIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKLSAgICBDdXN0b21HZXR0ZXJTZXR0
ZXIoVk0mIHZtLCBDdXN0b21HZXR0ZXIgZ2V0dGVyLCBDdXN0b21TZXR0ZXIgc2V0dGVyKQorICAg
IEN1c3RvbUdldHRlclNldHRlcihWTSYgdm0sIEN1c3RvbUdldHRlciBnZXR0ZXIsIEN1c3RvbVNl
dHRlciBzZXR0ZXIsIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQpCiAgICAgICAgIDogSlND
ZWxsKHZtLCB2bS5jdXN0b21HZXR0ZXJTZXR0ZXJTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgICAgICwg
bV9nZXR0ZXIoZ2V0dGVyKQogICAgICAgICAsIG1fc2V0dGVyKHNldHRlcikKKyAgICAgICAgLCBt
X2RvbUpJVChkb21KSVQpCiAgICAgewogICAgIH0KIAogICAgIEN1c3RvbUdldHRlciBtX2dldHRl
cjsKICAgICBDdXN0b21TZXR0ZXIgbV9zZXR0ZXI7CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIq
IG1fZG9tSklUOwogfTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBjYWxsQ3VzdG9tU2V0dGVy
KEV4ZWNTdGF0ZSosIEN1c3RvbUdldHRlclNldHRlcjo6Q3VzdG9tU2V0dGVyLCBib29sIGlzQWNj
ZXNzb3IsIEpTVmFsdWUgdGhpc1ZhbHVlLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5oCmluZGV4IDY5NWJmYjcyZWZkNDY3NmZmYWIxYmQ1YzYyZGQyNjQ1
NzgwNWU4OTAuLmE2MDlhNDhjOTA4NmM0M2JkNGZiZTE1Y2I3ZWQ5OWM3Mzg0NGY5NWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTI5MCw3ICsxMjkwLDcg
QEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0OjpmaWxsQ3VzdG9tR2V0dGVyUHJvcGVydHlT
bG90KFByb3BlcnR5U2xvdCYgc2xvdCwgSlMKIAogICAgIC8vIFRoaXMgYWNjZXNzIGlzIGNhY2hl
YWJsZSBiZWNhdXNlIFN0cnVjdHVyZSByZXF1aXJlcyBhbiBhdHRyaWJ1dGVDaGFuZ2VkVHJhbnNp
dGlvbgogICAgIC8vIGlmIHRoaXMgcHJvcGVydHkgc3RvcHMgYmVpbmcgYW4gYWNjZXNzb3IuCi0g
ICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpcywgYXR0cmlidXRlcywganNDYXN0PEN1c3Rv
bUdldHRlclNldHRlcio+KGN1c3RvbUdldHRlclNldHRlciktPmdldHRlcigpKTsKKyAgICBzbG90
LnNldENhY2hlYWJsZUN1c3RvbSh0aGlzLCBhdHRyaWJ1dGVzLCBqc0Nhc3Q8Q3VzdG9tR2V0dGVy
U2V0dGVyKj4oY3VzdG9tR2V0dGVyU2V0dGVyKS0+Z2V0dGVyKCksIGpzQ2FzdDxDdXN0b21HZXR0
ZXJTZXR0ZXIqPihjdXN0b21HZXR0ZXJTZXR0ZXIpLT5kb21KSVQoKSk7CiB9CiAKIC8vIEl0IG1h
eSBzZWVtIGNyYXp5IHRvIGlubGluZSBhIGZ1bmN0aW9uIHRoaXMgbGFyZ2UsIGVzcGVjaWFsbHkg
YSB2aXJ0dWFsIGZ1bmN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApp
bmRleCA2OTJkN2M3ODlmZWQ0N2I1YWQ3NDBjOWJkYTcyYzY2MjRhNjVhNGU3Li43ZTFiMjI1MmVm
MGEyMzUyOTMyZjM2MzFmNTg5ODk1N2EwNDhhNmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Mb29rdXAuaApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIkJhdGNoZWRUcmFuc2l0
aW9uT3B0aW1pemVyLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiQ3VzdG9t
R2V0dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiRE9NSklUR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVk
ZSAiSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSW50cmluc2ljLmgiCkBAIC00Niw2ICs0Nyw3IEBAIHR5cGVkZWYgUHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiB0eXBlZGVmIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jIFB1dEZ1bmN0aW9uOwogdHlwZWRlZiBGdW5jdGlvbkV4ZWN1dGFibGUqICgqQnVpbHRp
bkdlbmVyYXRvcikoVk0mKTsKIHR5cGVkZWYgSlNWYWx1ZSAoKkxhenlQcm9wZXJ0eUNhbGxiYWNr
KShWTSYsIEpTT2JqZWN0Kik7Cit0eXBlZGVmIERPTUpJVDo6R2V0dGVyU2V0dGVyKiAoKkRPTUpJ
VEdldHRlclNldHRlckdlbmVyYXRvcikodm9pZCk7CiAKIC8vIEhhc2ggdGFibGUgZ2VuZXJhdGVk
IGJ5IHRoZSBjcmVhdGVfaGFzaF90YWJsZSBzY3JpcHQuCiBzdHJ1Y3QgSGFzaFRhYmxlVmFsdWUg
ewpAQCAtNzgsNiArODAsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlVmFsdWUgewogICAgIEdldEZ1bmN0
aW9uIHByb3BlcnR5R2V0dGVyKCkgY29uc3QgeyBBU1NFUlQoIShtX2F0dHJpYnV0ZXMgJiBCdWls
dGluT3JGdW5jdGlvbk9yQWNjZXNzb3JPckxhenlQcm9wZXJ0eU9yQ29uc3RhbnQpKTsgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8R2V0RnVuY3Rpb24+KG1fdmFsdWVzLnZhbHVlMSk7IH0KICAgICBQ
dXRGdW5jdGlvbiBwcm9wZXJ0eVB1dHRlcigpIGNvbnN0IHsgQVNTRVJUKCEobV9hdHRyaWJ1dGVz
ICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yT3JMYXp5UHJvcGVydHlPckNvbnN0YW50KSk7
IHJldHVybiByZWludGVycHJldF9jYXN0PFB1dEZ1bmN0aW9uPihtX3ZhbHVlcy52YWx1ZTIpOyB9
CiAKKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKCkgY29uc3QgeyBBU1NFUlQobV9h
dHRyaWJ1dGVzICYgRE9NSklUQXR0cmlidXRlKTsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RE9N
SklUR2V0dGVyU2V0dGVyR2VuZXJhdG9yPihtX3ZhbHVlcy52YWx1ZTEpKCk7IH0KKwogICAgIE5h
dGl2ZUZ1bmN0aW9uIGFjY2Vzc29yR2V0dGVyKCkgY29uc3QgeyBBU1NFUlQobV9hdHRyaWJ1dGVz
ICYgQWNjZXNzb3IpOyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxOYXRpdmVGdW5jdGlvbj4obV92
YWx1ZXMudmFsdWUxKTsgfQogICAgIE5hdGl2ZUZ1bmN0aW9uIGFjY2Vzc29yU2V0dGVyKCkgY29u
c3QgeyBBU1NFUlQobV9hdHRyaWJ1dGVzICYgQWNjZXNzb3IpOyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxOYXRpdmVGdW5jdGlvbj4obV92YWx1ZXMudmFsdWUyKTsgfQogICAgIEJ1aWx0aW5HZW5l
cmF0b3IgYnVpbHRpbkFjY2Vzc29yR2V0dGVyR2VuZXJhdG9yKCkgY29uc3Q7CkBAIC0yMjQsNiAr
MjI4LDEyIEBAIGlubGluZSBib29sIGdldFN0YXRpY1Byb3BlcnR5U2xvdEZyb21UYWJsZShWTSYg
dm0sIGNvbnN0IEhhc2hUYWJsZSYgdGFibGUsIEpTT2JqCiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KIAorICAgIGlmIChlbnRyeS0+YXR0cmlidXRlcygpICYgRE9NSklUQXR0cmlidXRlKSB7
CisgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBlbnRyeS0+ZG9tSklUKCk7
CisgICAgICAgIHNsb3Quc2V0Q2FjaGVhYmxlQ3VzdG9tKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXNG
b3JTdHJ1Y3R1cmUoZW50cnktPmF0dHJpYnV0ZXMoKSksIGRvbUpJVC0+Z2V0dGVyKCksIGRvbUpJ
VCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHNsb3Quc2V0Q2FjaGVhYmxl
Q3VzdG9tKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoZW50cnktPmF0dHJpYnV0
ZXMoKSksIGVudHJ5LT5wcm9wZXJ0eUdldHRlcigpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTI1OSw2ICsyNjksNyBAQCBpbmxpbmUgYm9vbCBwdXRFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRyeSwgSlNPYmplY3QqIGJhcwogICAgICAgICByZXR1cm4g
cmVqZWN0KGV4ZWMsIHNsb3QuaXNTdHJpY3RNb2RlKCksIFN0cmljdE1vZGVSZWFkb25seVByb3Bl
cnR5V3JpdGVFcnJvcik7CiAKICAgICBpZiAoIShlbnRyeS0+YXR0cmlidXRlcygpICYgUmVhZE9u
bHkpKSB7CisgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShlbnRyeS0+YXR0cmlidXRlcygp
ICYgRE9NSklUQXR0cmlidXRlKSwgIkRPTUpJVEF0dHJpYnV0ZSBzdXBwb3J0cyByZWFkb25seSBh
dHRyaWJ1dGVzIGN1cnJlbnRseS4iKTsKICAgICAgICAgYm9vbCBpc0FjY2Vzc29yID0gZW50cnkt
PmF0dHJpYnV0ZXMoKSAmIEN1c3RvbUFjY2Vzc29yOwogICAgICAgICBKU1ZhbHVlIHVwZGF0ZVRo
aXNWYWx1ZSA9IGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBDdXN0b21BY2Nlc3NvciA/IHNsb3QudGhp
c1ZhbHVlKCkgOiBKU1ZhbHVlKGJhc2UpOwogICAgICAgICBib29sIHJlc3VsdCA9IGNhbGxDdXN0
b21TZXR0ZXIoZXhlYywgZW50cnktPnByb3BlcnR5UHV0dGVyKCksIGlzQWNjZXNzb3IsIHVwZGF0
ZVRoaXNWYWx1ZSwgdmFsdWUpOwpAQCAtMzM2LDYgKzM0NywxMyBAQCBpbmxpbmUgdm9pZCByZWlm
eVN0YXRpY1Byb3BlcnR5KFZNJiB2bSwgY29uc3QgUHJvcGVydHlOYW1lJiBwcm9wZXJ0eU5hbWUs
IGNvbnN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAodmFsdWUuYXR0cmlidXRl
cygpICYgRE9NSklUQXR0cmlidXRlKSB7CisgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBk
b21KSVQgPSB2YWx1ZS5kb21KSVQoKTsKKyAgICAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyKiBjdXN0
b21HZXR0ZXJTZXR0ZXIgPSBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5n
ZXR0ZXIoKSwgZG9tSklULT5zZXR0ZXIoKSwgZG9tSklUKTsKKyAgICAgICAgdGhpc09iai5wdXRE
aXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgcHJvcGVydHlOYW1lLCBjdXN0b21HZXR0ZXJTZXR0ZXIs
IGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUodmFsdWUuYXR0cmlidXRlcygpKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRlclNldHRl
ciA9IEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCB2YWx1ZS5wcm9wZXJ0eUdldHRlcigp
LCB2YWx1ZS5wcm9wZXJ0eVB1dHRlcigpKTsKICAgICB0aGlzT2JqLnB1dERpcmVjdEN1c3RvbUFj
Y2Vzc29yKHZtLCBwcm9wZXJ0eU5hbWUsIGN1c3RvbUdldHRlclNldHRlciwgYXR0cmlidXRlc0Zv
clN0cnVjdHVyZSh2YWx1ZS5hdHRyaWJ1dGVzKCkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggZTEzN2Q4NDVkNWZjMzEzODg2NWQxNzZh
MjJhN2UzYmQ1MTdjZWIxMy4uOWRlMTUxYTU2YWEyNzU2Y2ZkMGM2MDAzNjY4MjY2YjE5Zjk5MzJk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKQEAg
LTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKLQorbmFtZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJTZXR0ZXI7Cit9CiBjbGFz
cyBFeGVjU3RhdGU7CiBjbGFzcyBHZXR0ZXJTZXR0ZXI7CiBjbGFzcyBKU09iamVjdDsKQEAgLTQ4
LDYgKzUwLDcgQEAgZW51bSBBdHRyaWJ1dGUgewogICAgIENlbGxQcm9wZXJ0eSAgICAgID0gMSA8
PCAxMSwgLy8gcHJvcGVydHkgaXMgYSBsYXp5IHByb3BlcnR5IC0gb25seSB1c2VkIGJ5IHN0YXRp
YyBoYXNodGFibGVzCiAgICAgQ2xhc3NTdHJ1Y3R1cmUgICAgPSAxIDw8IDEyLCAvLyBwcm9wZXJ0
eSBpcyBhIGxhenkgY2xhc3Mgc3RydWN0dXJlIC0gb25seSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFi
bGVzCiAgICAgUHJvcGVydHlDYWxsYmFjayAgPSAxIDw8IDEzLCAvLyBwcm9wZXJ0eSB0aGF0IGlz
IGEgbGF6eSBwcm9wZXJ0eSBjYWxsYmFjayAtIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRhYmxl
cworICAgIERPTUpJVEF0dHJpYnV0ZSAgID0gMSA8PCAxNCwgLy8gcHJvcGVydHkgaXMgYSBET00g
SklUIGF0dHJpYnV0ZSAtIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRhYmxlcwogICAgIEJ1aWx0
aW5PckZ1bmN0aW9uID0gQnVpbHRpbiB8IEZ1bmN0aW9uLCAvLyBoZWxwZXIgb25seSB1c2VkIGJ5
IHN0YXRpYyBoYXNodGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rpb25PckxhenlQcm9wZXJ0eSA9
IEJ1aWx0aW4gfCBGdW5jdGlvbiB8IENlbGxQcm9wZXJ0eSB8IENsYXNzU3RydWN0dXJlIHwgUHJv
cGVydHlDYWxsYmFjaywgLy8gaGVscGVyIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRhYmxlcwog
ICAgIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3Nvck9yTGF6eVByb3BlcnR5ID0gQnVpbHRpbiB8
IEZ1bmN0aW9uIHwgQWNjZXNzb3IgfCBDZWxsUHJvcGVydHkgfCBDbGFzc1N0cnVjdHVyZSB8IFBy
b3BlcnR5Q2FsbGJhY2ssIC8vIGhlbHBlciBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMK
QEAgLTE1Nyw2ICsxNjAsMTEgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAgICAgICAgcmV0dXJu
IG1fd2F0Y2hwb2ludFNldDsKICAgICB9CiAKKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9t
SklUKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2RvbUpJVDsKKyAgICB9CisKICAg
ICB2b2lkIHNldFZhbHVlKEpTT2JqZWN0KiBzbG90QmFzZSwgdW5zaWduZWQgYXR0cmlidXRlcywg
SlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChhdHRyaWJ1dGVzID09IGF0dHJp
YnV0ZXNGb3JTdHJ1Y3R1cmUoYXR0cmlidXRlcykpOwpAQCAtMjExLDcgKzIxOSw3IEBAIGNsYXNz
IFByb3BlcnR5U2xvdCB7CiAgICAgICAgIG1fb2Zmc2V0ID0gaW52YWxpZE9mZnNldDsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBzZXRDYWNoZWFibGVDdXN0b20oSlNPYmplY3QqIHNsb3RCYXNlLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzLCBHZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUpCisgICAgdm9pZCBzZXRD
YWNoZWFibGVDdXN0b20oSlNPYmplY3QqIHNsb3RCYXNlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBH
ZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUsIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBudWxs
cHRyKQogICAgIHsKICAgICAgICAgQVNTRVJUKGF0dHJpYnV0ZXMgPT0gYXR0cmlidXRlc0ZvclN0
cnVjdHVyZShhdHRyaWJ1dGVzKSk7CiAgICAgICAgIApAQCAtMjIzLDYgKzIzMSw3IEBAIGNsYXNz
IFByb3BlcnR5U2xvdCB7CiAgICAgICAgIG1fc2xvdEJhc2UgPSBzbG90QmFzZTsKICAgICAgICAg
bV9wcm9wZXJ0eVR5cGUgPSBUeXBlQ3VzdG9tOwogICAgICAgICBtX29mZnNldCA9ICFpbnZhbGlk
T2Zmc2V0OworICAgICAgICBtX2RvbUpJVCA9IGRvbUpJVDsKICAgICB9CiAKICAgICB2b2lkIHNl
dEN1c3RvbUdldHRlclNldHRlcihKU09iamVjdCogc2xvdEJhc2UsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMsIEN1c3RvbUdldHRlclNldHRlciogZ2V0dGVyU2V0dGVyKQpAQCAtMzE4LDYgKzMyNyw3IEBA
IGNsYXNzIFByb3BlcnR5U2xvdCB7CiAgICAgQ2FjaGVhYmlsaXR5VHlwZSBtX2NhY2hlYWJpbGl0
eTsKICAgICBQcm9wZXJ0eVR5cGUgbV9wcm9wZXJ0eVR5cGU7CiAgICAgSW50ZXJuYWxNZXRob2RU
eXBlIG1faW50ZXJuYWxNZXRob2RUeXBlOworICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBtX2Rv
bUpJVCB7IG51bGxwdHIgfTsKICAgICBib29sIG1faXNUYWludGVkQnlPcGFxdWVPYmplY3Q7CiB9
OwogCg==
</data>
<flag name="review"
          id="313785"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290626</attachid>
            <date>2016-10-04 11:40:11 -0700</date>
            <delta_ts>2016-10-04 12:01:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162916-20161004113700.patch</filename>
            <type>text/plain</type>
            <size>46010</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzkzYWEyNDUzMzhhZTU4NmNkM2VmODAwNDNlYWY1NzliNjdkNzc1Li44ZDNkZjlhNjM5OTk2ZGJk
MmYxNDUyNTVjNWZmMmI0YjQ3NmY0YzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIg
dG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZSBET01KSVQ6OkdldHRl
clNldHRlci4KKyAgICAgICAgVGhpcyBjbGFzcyBtYWludGFpbnMgaW5mb3JtYXRpb24gcmVxdWly
ZWQgdG8gZW1pdCBKSVQgY29kZSBpbiBERkcgYW5kIEZUTC4KKyAgICAgICAgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIgaGFzIDIgdmlydHVhbCBmdW5jdGlvbnM6IGNoZWNrRE9NIGFuZCBjYWxsRE9NLgor
ICAgICAgICBUaGVzZSBmdW5jdGlvbnMgY2FuIHJldHVybiBhIERPTUpJVDo6UGF0Y2hwb2ludCB0
aGF0IGFsbG93cyB1cyB0byBpbmplY3QKKyAgICAgICAgYXBwcm9wcmlhdGUgbWFjaGluZSBjb2Rl
IGR1cmluZyBERkcgYW5kIEZUTCBwaGFzZXMuIERGRyBhbmQgRlRMIHdpbGwgaW52b2tlCisgICAg
ICAgIHRoZXNlIGZ1bmN0aW9ucyB0byBnZXQgYSBwYXRjaHBvaW50LiBBbmQgdGhpcyBwYXRjaHBv
aW50IHdpbGwgYmUgdXNlZCB0bworICAgICAgICBlbWl0IGNvZGUgY29ycmVzcG9uZGluZyB0byBD
aGVja0RPTSBhbmQgQ2FsbERPTSBERkcgbm9kZXMsIHdoaWNoIHdpbGwgYmUgYWRkZWQKKyAgICAg
ICAgaW4gc3Vic3FldW50IHBhdGNoLgorCisgICAgICAgIFdlIHByb3BhZ2F0ZSBET01KSVQ6Okdl
dHRlclNldHRlciB0aG91Z2ggUHJvcGVydHlTbG90LCBBY2Nlc3NDYXNlLCBHZXRCeUlkVmFyaWFu
dCwKKyAgICAgICAgYW5kIEdldEJ5SWRTdGF0dXMgYWxvbmcgd2l0aCBDdXN0b21HZXR0ZXIgdG8g
dGVhY2ggREZHIHRoYXQgdGhpcyBjdXN0b20gYWNjZXNzCisgICAgICAgIGNvZGUgaGFzIGEgY2hh
bmNlIHRvIGJlIGlubGluZWQgd2l0aCB0aGlzIERPTUpJVDo6R2V0dGVyU2V0dGVyIGluZm9ybWF0
aW9uLgorICAgICAgICBJbnN0ZWFkIG9mIHByb3BhZ2F0aW5nIEN1c3RvbUdldHRlclNldHRlciBo
b2xkaW5nIERPTUpJVDo6R2V0dGVyU2V0dGVyIGFuZCBDdXN0b21HZXR0ZXIsCisgICAgICAgIHdl
IHByb3BhZ2F0ZSBDdXN0b21HZXR0ZXIgYW5kIERPTUpJVDo6R2V0dGVyU2V0dGVyLiBUaGlzIGlz
IGJlY2F1c2Ugb2YgdGhlIGN1cnJlbnQKKyAgICAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyIGRlc2ln
biB0aGF0IHdlIHJlaWZ5IEN1c3RvbUdldHRlclNldHRlcnMgb25seSB3aGVuIHdlIG5lZWQgdG8g
cmVpZnkKKyAgICAgICAgYWxsIHRoZSBwcm9wZXJ0aWVzLiBUaGlzIGRlc2lnbiBhbGxvd3MgdXMg
dG8gYXZvaWQgZnJlcXVlbnQgQ3VzdG9tR2V0dGVyU2V0dGVyIGFsbG9jYXRpb25zCisgICAgICAg
IGFuZCBzdHJ1Y3R1cmUgdHJhbnNpdGlvbnMuCisKKyAgICAgICAgQ3VycmVudGx5LCBkb21KSVQg
ZmllbGQgaXMgYWx3YXlzIG51bGxwdHIgc2luY2UgdGhlcmUgaXMgbm8gRE9NSklUQXR0cmlidXRl
IHVzZXIuCisgICAgICAgIFdoZW4gd2UgYWRkIHRoaXMsIHdlIHdpbGwgYWRkIGNvZGUgaGFuZGxp
bmcgdGhpcyBET01KSVQ6OkdldHRlclNldHRlciBpbiBERkc6OkJ5dGVDb2RlUGFyc2VyLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91
dEV4aXRTaXRlRmVlZGJhY2spOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmNw
cDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6OkdldEJ5SWRWYXJpYW50KToKKyAgICAg
ICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6Om9wZXJhdG9yPSk6CisgICAgICAgIChKU0M6OkdldEJ5
SWRWYXJpYW50OjphdHRlbXB0VG9NZXJnZSk6CisgICAgICAgIChKU0M6OkdldEJ5SWRWYXJpYW50
OjpkdW1wSW5Db250ZXh0KToKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkVmFyaWFudC5oOgor
ICAgICAgICAoSlNDOjpHZXRCeUlkVmFyaWFudDo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6R2V0
QnlJZFZhcmlhbnQ6OmludHJpbnNpYyk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZXQpOgorICAg
ICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpjbG9uZSk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZG9tSklUKToKKyAgICAg
ICAgKEpTQzo6QWNjZXNzQ2FzZTo6UmFyZURhdGE6OlJhcmVEYXRhKToKKyAgICAgICAgKiBkZmcv
REZHTm9kZS5oOgorICAgICAgICAqIGRvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIuaDogQWRkZWQu
CisgICAgICAgIChKU0M6OkRPTUpJVDo6R2V0dGVyU2V0dGVyOjpHZXR0ZXJTZXR0ZXIpOgorICAg
ICAgICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6fkdldHRlclNldHRlcik6CisgICAgICAg
IChKU0M6OkRPTUpJVDo6R2V0dGVyU2V0dGVyOjpnZXR0ZXIpOgorICAgICAgICAoSlNDOjpET01K
SVQ6OkdldHRlclNldHRlcjo6c2V0dGVyKToKKyAgICAgICAgKEpTQzo6RE9NSklUOjpHZXR0ZXJT
ZXR0ZXI6OnRoaXNDbGFzc0luZm8pOgorICAgICAgICAqIGRvbWppdC9ET01KSVRQYXRjaHBvaW50
Lmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpET01KSVQ6OlBhdGNocG9pbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChKU0M6OkRPTUpJVDo6UGF0Y2hwb2ludDo6c2V0R2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6RE9NSklUOjpQYXRjaHBvaW50OjpnZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9SZXBh
dGNoLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVHZXRCeUlEKToKKyAgICAgICAgKiBydW50
aW1lL0N1c3RvbUdldHRlclNldHRlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmZpbGxDdXN0b21HZXR0ZXJQcm9wZXJ0eVNsb3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvTG9va3VwLmg6CisgICAgICAgIChKU0M6Okhhc2hUYWJsZVZhbHVl
Ojpkb21KSVQpOgorICAgICAgICAoSlNDOjpnZXRTdGF0aWNQcm9wZXJ0eVNsb3RGcm9tVGFibGUp
OgorICAgICAgICAoSlNDOjpwdXRFbnRyeSk6CisgICAgICAgIChKU0M6OnJlaWZ5U3RhdGljUHJv
cGVydHkpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlTbG90Lmg6CisgICAgICAgIChKU0M6
OlByb3BlcnR5U2xvdDo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6UHJvcGVydHlTbG90OjpzZXRD
YWNoZWFibGVDdXN0b20pOgorCiAyMDE2LTEwLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBw
bGUuY29tPgogCiAgICAgICAgIEZvbGxvdyB1cCBmaXggdG8gR2V0TWFwQnVja2V0IGFuZCBNYXBI
YXNoIHNwZWN1bGF0aW5nIG9uIGNoaWxkIG5vZGUgdHlwZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFjZTVk
OTY1NTc4ZTVlMTI3MTRiYjlkZDI5ZGY3YThmMDU0YmQzMi4uZmJhMWFhYWZhMjViNjYwMDBiYjlh
MTg1NzgxNjVhYWJkYmY2OTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEw
LTA0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtE
T01KSVRdIEludHJvZHVjZSBET01KSVQ6OkdldHRlclNldHRlciB0byB0ZWxsIEpJVCBpbmZvcm1h
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYy
OTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmg6IEFkZGVkLgorICAg
ICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgor
ICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtV2luLmNtYWtl
OgorCiAyMDE2LTEwLTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbU09VUF0gUmVtb3ZlIFNTTFBvbGljeUZsYWdzIGZyb20gU291cE5ldHdv
cmtTZXNzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDY0MmEzZjY0MzJjZjIzMzZkOTUzMWUwZjRjMjUxMGJl
NjUzYzFlYS4uZmE3NWIxNjM1ZTY2MGM1Y2FkNzAwNTkzZjZlM2RjYWQ4MWRmZWZjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTEwLTA0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtET01KSVRdIEludHJvZHVjZSBET01KSVQ6Okdl
dHRlclNldHRlciB0byB0ZWxsIEpJVCBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKwogMjAxNi0xMC0w
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W1NPVVBdIFJlbW92ZSBTU0xQb2xpY3lGbGFncyBmcm9tIFNvdXBOZXR3b3JrU2Vzc2lvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDBmNGVjNWJmNTdjNDRkNWQ4OTQxOWY4
NGJhMDBmY2Y4NjA2NmZiOTMuLmQ0N2NkZWZkMzgxZDRhYzZiMDAyZDJmNDVjNThlNjdjZmY2ODFi
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4LDYgKzE4LDcgQEAg
c2V0KEphdmFTY3JpcHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2RmZyIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2Rpc2Fzc2VtYmxlciIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2Rpc2Fzc2VtYmxlci91ZGlzODYiCisgICAgIiR7
SkFWQVNDUklQVENPUkVfRElSfS9kb21qaXQiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9m
dGwiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9oZWFwIgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vZGVidWdnZXIiCkBAIC0xMDk1LDYgKzEwOTYsNyBAQCBzZXQoSmF2YVNjcmlwdENv
cmVfRk9SV0FSRElOR19IRUFERVJTX0RJUkVDVE9SSUVTCiAgICAgZGVidWdnZXIKICAgICBkZmcK
ICAgICBkaXNhc3NlbWJsZXIKKyAgICBkb21qaXQKICAgICBoZWFwCiAgICAgaW5zcGVjdG9yCiAg
ICAgaW50ZXJwcmV0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmVlNTc3MmEw
ZTdkZWNiM2UxMzE5MWJkODU5NDA2ZmRmOWM1ZmU1Ni4uNTRhYzYyZDIxYWEyNjgwMjMxNDI2OTFk
MDRmZjc1MDdiYzhhODk1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI3MSw3
ICsyNzEsNyBAQAogCQkwRjJERDgxNDFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjJERDgwRjFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0aWVzLmggKi87IH07
CiAJCTBGMkREODE1MUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyREQ4MTAxQUIzRDhCRTAw
QkJCOEU4IC8qIERGR0ZvckFsbEtpbGxzLmggKi87IH07CiAJCTBGMkU4OTJDMTZEMDI4QUQwMDlF
NEZEMiAvKiBVbnVzZWRQb2ludGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTk4N0YyRjE2ODI4QTdFMDAzQzJGOEQgLyogVW51c2VkUG9pbnRlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTBGMkU4
OTJEMTZEMDJCQUYwMDlFNEZEMiAvKiBERkdNaW5pZmllZElELmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI0QjUxMDE2QjNBOTY0MDAzRjY5NkIgLyog
REZHTWluaWZpZWRJRC5oICovOyB9OworCQkwRjJFODkyRDE2RDAyQkFGMDA5RTRGRDIgLyogREZH
TWluaWZpZWRJRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCNEI1MTAxNkIzQTk2NDAwM0Y2OTZCIC8qIERGR01pbmlmaWVkSUQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjJGQzc3MjE2RTEyRjcx
MDAzOEQ5NzYgLyogREZHRENFUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEYyRkM3NzAxNkUxMkY2RjAwMzhEOTc2IC8qIERGR0RDRVBoYXNl
LmNwcCAqLzsgfTsKIAkJMEYyRkM3NzMxNkUxMkY3NDAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJGQzc3MTE2
RTEyRjZGMDAzOEQ5NzYgLyogREZHRENFUGhhc2UuaCAqLzsgfTsKIAkJMEYyRkNDRjkxOEE2MDA3
MDAwMUEyN0Y4IC8qIERGR0dyYXBoU2FmZXBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkZDQ0YyMThBNjAwNzAwMDFBMjdGOCAvKiBERkdH
cmFwaFNhZmVwb2ludC5jcHAgKi87IH07CkBAIC0yMTAwLDEwICsyMTAwLDEyIEBACiAJCUUzOURB
NEE2MUI3RThCN0MwMDg0RjMzQSAvKiBKU01vZHVsZVJlY29yZC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzlEQTRBNDFCN0U4QjdDMDA4NEYzM0Eg
LyogSlNNb2R1bGVSZWNvcmQuY3BwICovOyB9OwogCQlFMzlEQTRBNzFCN0U4QjdDMDA4NEYzM0Eg
LyogSlNNb2R1bGVSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzOURBNEE1MUI3RThCN0MwMDg0RjMzQSAvKiBKU01vZHVsZVJlY29yZC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQTQyMTQz
MUQ2RjU4OTMwMDA3QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0E0MjE0MjFENkY1ODhGMDAw
N0M2MTcgLyogUHJlY2lzZUp1bXBUYXJnZXRzSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzA4RTNDMURBNDFCODEwMDM5NDc4RiAv
KiBET01KSVRQYXRjaHBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFM0MwOEUzQjFEQTQxQjdCMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzRDIz
OUM4MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDIzOUM2MUI4MjlDMUMwMEJC
RUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmNwcCAqLzsgfTsKIAkJRTNEMjM5QzkxQjgyOUMx
QzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDIzOUM3MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01v
ZHVsZUVudmlyb25tZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTNFRjg4NzQxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRl
cmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNFRjg4NzIxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwICov
OyB9OwogCQlFM0VGODg3NTFCNjZERjIzMDAzRjI2Q0IgLyogSlNQcm9wZXJ0eU5hbWVJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNFRjg4
NzMxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFM0ZGNzUzMzFEOUNFQTE4
MDBDN0UxNkQgLyogRE9NSklUR2V0dGVyU2V0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ZGNzUyRjFEOUNFQTEyMDBDN0UxNkQgLyogRE9NSklU
R2V0dGVyU2V0dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMx
NTUxMkVGMjc3MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwICovOyB9OwogCQlF
NDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTExMkVGMjcyMjAw
MTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDlEQzE2RDEyRUYyOTUzMDAxODRBMUYgLyogU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNh
Y2hlSXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC00Mzk2LDYgKzQzOTgsNyBAQAogCQlFMzlEQTRBNDFCN0U4QjdDMDA4NEYzM0EgLyogSlNN
b2R1bGVSZWNvcmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNN
b2R1bGVSZWNvcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzlEQTRBNTFC
N0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNb2R1bGVSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTNBNDIxNDIxRDZGNTg4RjAwMDdDNjE3IC8qIFByZWNpc2VKdW1wVGFyZ2V0c0lubGluZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJlY2lzZUp1bXBUYXJnZXRzSW5s
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0MwOEUzQjFEQTQxQjdCMDAz
OTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01KSVRQYXRjaHBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
RDIzOUM2MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9kdWxlRW52aXJvbm1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QyMzlDNzFCODI5QzFDMDBCQkVGNjcgLyog
SlNNb2R1bGVFbnZpcm9ubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01vZHVsZUVudmlyb25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDI2
NDI2MUQzOEMwNDIwMDBCRTE3NCAvKiBCeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCeXRlY29kZUdlbmVyYXRvcmlmaWNh
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDA1LDYgKzQ0MDgsNyBA
QAogCQlFM0QyNjQyQTFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVSZXdyaXRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29kZVJld3JpdGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRUY4ODcyMUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3Bl
cnR5TmFtZUl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFM0VGODg3MzFCNjZERjIzMDAzRjI2Q0IgLyogSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzRkY3NTJGMUQ5Q0VBMTIwMEM3RTE2RCAv
KiBET01KSVRHZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NSklUR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OURD
MTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291
cmNlUHJvdmlkZXJDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3Vy
Y2VQcm92aWRlckNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OURDMTU1
MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY2Miw2ICs0NjY2LDcgQEAKIAkJCQk2NTBGREY4RDA5
RDBGQ0E3MDA3NjlFNTQgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTg2RUM5REIzMTMyOERG
NDQwMDJCMkFENyAvKiBkZmcgKi8sCiAJCQkJMEZGNDI3MkUxNThFQkNDRTAwNENCOUZGIC8qIGRp
c2Fzc2VtYmxlciAqLywKKwkJCQlFM0ZGNzUyRDFEOUNFOUVBMDBDN0UxNkQgLyogZG9taml0ICov
LAogCQkJCTA4NjdENjlBRkU4NDAyOEZDMDJBQUMwNyAvKiBGcmFtZXdvcmtzICovLAogCQkJCTBG
RUEwOUZDMTcwNTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8sCiAJCQkJMTQyRTMxMkExMzRGRjBBNjAw
QUZBREI1IC8qIGhlYXAgKi8sCkBAIC03MTY3LDYgKzcxNzIsMTUgQEAKIAkJCXBhdGggPSBjb2Rl
Z2VuOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRTNGRjc1MkQxRDlDRTlF
QTAwQzdFMTZEIC8qIGRvbWppdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJRTNGRjc1MkYxRDlDRUExMjAwQzdFMTZEIC8qIERPTUpJVEdldHRlclNldHRl
ci5oICovLAorCQkJCUUzQzA4RTNCMURBNDFCN0IwMDM5NDc4RiAvKiBET01KSVRQYXRjaHBvaW50
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGRvbWppdDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFk
ZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC03NDUxLDYgKzc0NjUsNyBAQAogCQkJCTBGMkRE
ODEyMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjJERDgxNDFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRz
VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ4NTMyMjE4Nzc1MDU2MDA4M0I2ODcg
LyogREZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFM0MwOEUzQzFEQTQxQjgxMDAz
OTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwNUMzQjQx
NjgzQ0Y5MjAwQkFGNDVCIC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdBdFRhaWxB
YnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTc2MTIsNiArNzYyNyw3IEBACiAJCQkJ
MEZDMjBDQkExODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGOUZCNEY1MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBo
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjRGMjlFMDE4QjZBRDFDMDA1N0JDMTUgLyogREZH
U3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUUzRkY3NTMzMUQ5Q0VBMTgwMEM3RTE2RCAvKiBET01KSVRHZXR0ZXJTZXR0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGOUUzMjY0MUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJ
bnNlcnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDMjBDQjYxODUyRTJDNjAwQzlF
OTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmNwcAppbmRleCAxNWIzYzgxM2NiOGJlODA3MzNlM2I0MTVmNmE5OGU3ZjlhYzhkZDRm
Li5jYjc2ZDA1ZjA5ZjE4NjY2NGFjYjNiYmUwZmM3ODg2OTJmMDEwODIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCkBAIC0zNyw2ICsz
Nyw5IEBACiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAKIG5hbWVzcGFjZSBKU0MgeworbmFt
ZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJTZXR0ZXI7Cit9CiAKIGJvb2wgR2V0QnlJZFN0
YXR1czo6YXBwZW5kVmFyaWFudChjb25zdCBHZXRCeUlkVmFyaWFudCYgdmFyaWFudCkKIHsKQEAg
LTIxNSw2ICsyMTgsNyBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JT
dHViSW5mb1dpdGhvdXRFeGl0U2l0ZUZlZWRiYWNrKAogICAgICAgICAgICAgY2FzZSBDb21wbGV4
R2V0U3RhdHVzOjpJbmxpbmVhYmxlOiB7CiAgICAgICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PENhbGxMaW5rU3RhdHVzPiBjYWxsTGlua1N0YXR1czsKICAgICAgICAgICAgICAgICBKU0Z1bmN0
aW9uKiBpbnRyaW5zaWNGdW5jdGlvbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IG51bGxwdHI7CiAKICAgICAgICAgICAgICAgICBzd2l0
Y2ggKGFjY2Vzcy50eXBlKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc0Nhc2U6Okxv
YWQ6CkBAIC0yMzQsNiArMjM4LDEyIEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29t
cHV0ZUZvclN0dWJJbmZvV2l0aG91dEV4aXRTaXRlRmVlZGJhY2soCiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGNhc2UgQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JHZXR0ZXI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgZG9tSklUID0gYWNjZXNzLmRvbUpJVCgpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoIWRvbUpJVCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHZXRC
eUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZGVmYXVsdDogewogICAgICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgdG90YWxseSBzd2VldCB0byBzdXBw
b3J0IG1vcmUgb2YgdGhlc2UgYXQgc29tZSBwb2ludCBpbiB0aGUKICAgICAgICAgICAgICAgICAg
ICAgLy8gZnV0dXJlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMz
MDUyCkBAIC0yNDQsNyArMjU0LDggQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVGZWVkYmFjaygKICAgICAgICAgICAgICAgICBH
ZXRCeUlkVmFyaWFudCB2YXJpYW50KAogICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVTZXQo
c3RydWN0dXJlKSwgY29tcGxleEdldFN0YXR1cy5vZmZzZXQoKSwKICAgICAgICAgICAgICAgICAg
ICAgY29tcGxleEdldFN0YXR1cy5jb25kaXRpb25TZXQoKSwgV1RGTW92ZShjYWxsTGlua1N0YXR1
cyksCi0gICAgICAgICAgICAgICAgICAgIGludHJpbnNpY0Z1bmN0aW9uKTsKKyAgICAgICAgICAg
ICAgICAgICAgaW50cmluc2ljRnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgIGRvbUpJVCk7
CiAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdC5hcHBlbmRWYXJpYW50KHZhcmlhbnQpKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0
cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
VmFyaWFudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlh
bnQuY3BwCmluZGV4IGE4NjlkNGExYzk0ZTdlNDc1NzMxNzQ0YzdiMzAzZDUwNjVlMGY0MzEuLjAz
MTcwODRkMDk5Y2FiNzBhNDQxNTBiNjRmOTE5NmU1NjY3YmE0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkVmFyaWFudC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmNwcApAQCAtMzYsMTIgKzM2
LDE0IEBAIEdldEJ5SWRWYXJpYW50OjpHZXRCeUlkVmFyaWFudCgKICAgICBjb25zdCBTdHJ1Y3R1
cmVTZXQmIHN0cnVjdHVyZVNldCwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAogICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCiAgICAgc3RkOjp1bmlxdWVf
cHRyPENhbGxMaW5rU3RhdHVzPiBjYWxsTGlua1N0YXR1cywKLSAgICBKU0Z1bmN0aW9uKiBpbnRy
aW5zaWNGdW5jdGlvbikKKyAgICBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbiwKKyAgICBE
T01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKQogICAgIDogbV9zdHJ1Y3R1cmVTZXQoc3RydWN0
dXJlU2V0KQogICAgICwgbV9jb25kaXRpb25TZXQoY29uZGl0aW9uU2V0KQogICAgICwgbV9vZmZz
ZXQob2Zmc2V0KQogICAgICwgbV9jYWxsTGlua1N0YXR1cyhXVEZNb3ZlKGNhbGxMaW5rU3RhdHVz
KSkKICAgICAsIG1faW50cmluc2ljRnVuY3Rpb24oaW50cmluc2ljRnVuY3Rpb24pCisgICAgLCBt
X2RvbUpJVChkb21KSVQpCiB7CiAgICAgaWYgKCFzdHJ1Y3R1cmVTZXQuc2l6ZSgpKSB7CiAgICAg
ICAgIEFTU0VSVChvZmZzZXQgPT0gaW52YWxpZE9mZnNldCk7CkBAIC02NSw2ICs2Nyw3IEBAIEdl
dEJ5SWRWYXJpYW50JiBHZXRCeUlkVmFyaWFudDo6b3BlcmF0b3I9KGNvbnN0IEdldEJ5SWRWYXJp
YW50JiBvdGhlcikKICAgICBtX2NvbmRpdGlvblNldCA9IG90aGVyLm1fY29uZGl0aW9uU2V0Owog
ICAgIG1fb2Zmc2V0ID0gb3RoZXIubV9vZmZzZXQ7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbiA9
IG90aGVyLm1faW50cmluc2ljRnVuY3Rpb247CisgICAgbV9kb21KSVQgPSBvdGhlci5tX2RvbUpJ
VDsKICAgICBpZiAob3RoZXIubV9jYWxsTGlua1N0YXR1cykKICAgICAgICAgbV9jYWxsTGlua1N0
YXR1cyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2FsbExpbmtTdGF0dXM+KCpvdGhlci5tX2NhbGxMaW5r
U3RhdHVzKTsKICAgICBlbHNlCkBAIC0xMDMsNiArMTA2LDkgQEAgYm9vbCBHZXRCeUlkVmFyaWFu
dDo6YXR0ZW1wdFRvTWVyZ2UoY29uc3QgR2V0QnlJZFZhcmlhbnQmIG90aGVyKQogICAgIGlmICgh
Y2FuTWVyZ2VJbnRyaW5zaWNTdHJ1Y3R1cmVzKG90aGVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgaWYgKG1fZG9tSklUICE9IG90aGVyLm1fZG9tSklUKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICBpZiAobV9jb25kaXRpb25TZXQuaXNFbXB0eSgpICE9IG90aGVyLm1fY29u
ZGl0aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIApAQCAtMTM4
LDYgKzE0NCw4IEBAIHZvaWQgR2V0QnlJZFZhcmlhbnQ6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJl
YW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRleHQpIGNvbnN0CiAgICAgICAgIG91dC5wcmludCgi
LCBjYWxsID0gIiwgKm1fY2FsbExpbmtTdGF0dXMpOwogICAgIGlmIChtX2ludHJpbnNpY0Z1bmN0
aW9uKQogICAgICAgICBvdXQucHJpbnQoIiwgaW50cmluc2ljID0gIiwgKm1faW50cmluc2ljRnVu
Y3Rpb24pOworICAgIGlmIChtX2RvbUpJVCkKKyAgICAgICAgb3V0LnByaW50KCIsIGN1c3RvbSA9
ICIsIFJhd1BvaW50ZXIobV9kb21KSVQpKTsKICAgICBvdXQucHJpbnQoIj4iKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaAppbmRleCA2
NjIxODliY2U1ZjJlYjFhMTNiZDA1M2U5ODAwMjFjMTNjMjY2ZTY2Li44ZGVkMjQ4Njc1Zjg3MWQ3
OTA4ZjIyYTU2OTQzNzI5NzhiODk1M2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaApAQCAtMzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIlN0
cnVjdHVyZVNldC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKK25hbWVzcGFjZSBET01KSVQgeworY2xh
c3MgR2V0dGVyU2V0dGVyOworfQogCiBjbGFzcyBDYWxsTGlua1N0YXR1czsKIGNsYXNzIEdldEJ5
SWRTdGF0dXM7CkBAIC00Myw3ICs0Niw4IEBAIGNsYXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICAg
ICAgY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVTZXQgPSBTdHJ1Y3R1cmVTZXQoKSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gaW52YWxpZE9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPENhbGxMaW5rU3RhdHVzPiA9IG51bGxwdHIsCi0gICAgICAg
IEpTRnVuY3Rpb24qID0gbnVsbHB0cik7CisgICAgICAgIEpTRnVuY3Rpb24qID0gbnVsbHB0ciwK
KyAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqID0gbnVsbHB0cik7CiAKICAgICB+R2V0QnlJ
ZFZhcmlhbnQoKTsKICAgICAKQEAgLTYyLDYgKzY2LDcgQEAgY2xhc3MgR2V0QnlJZFZhcmlhbnQg
ewogICAgIENhbGxMaW5rU3RhdHVzKiBjYWxsTGlua1N0YXR1cygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FsbExpbmtTdGF0dXMuZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1faW50cmluc2ljRnVuY3Rpb247IH0KICAgICBJbnRyaW5zaWMg
aW50cmluc2ljKCkgY29uc3QgeyByZXR1cm4gbV9pbnRyaW5zaWNGdW5jdGlvbiA/IG1faW50cmlu
c2ljRnVuY3Rpb24tPmludHJpbnNpYygpIDogTm9JbnRyaW5zaWM7IH0KKyAgICBET01KSVQ6Okdl
dHRlclNldHRlciogZG9tSklUKCkgY29uc3QgeyByZXR1cm4gbV9kb21KSVQ7IH0KIAogICAgIGJv
b2wgaXNQcm9wZXJ0eVVuc2V0KCkgY29uc3QgeyByZXR1cm4gb2Zmc2V0KCkgPT0gaW52YWxpZE9m
ZnNldDsgfQogCkBAIC04MCw2ICs4NSw3IEBAIGNsYXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICBQ
cm9wZXJ0eU9mZnNldCBtX29mZnNldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FsbExpbmtTdGF0
dXM+IG1fY2FsbExpbmtTdGF0dXM7CiAgICAgSlNGdW5jdGlvbiogbV9pbnRyaW5zaWNGdW5jdGlv
bjsKKyAgICBET01KSVQ6OkdldHRlclNldHRlciogbV9kb21KSVQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwCmluZGV4IDJjZjI2NjcwODY2NDZmMjAyYTA0YzZhMDc0MjljODFhNzVl
OTQ2NDMuLjlhOGE4ZTUyMDA5OGE5NmFlNmRjODUwOWYwMmYxNTMxYTAwMTI1NjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNw
cApAQCAtMjIwLDcgKzIyMCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3ND
YXNlOjp0cnlHZXQoCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Z2V0
KAogICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAogICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9t
R2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCisgICAgUHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIERPTUpJVDo6
R2V0dGVyU2V0dGVyKiBkb21KSVQpCiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IHJlc3VsdChuZXcgQWNjZXNzQ2FzZSgpKTsKIApAQCAtMjI5LDEyICsyMjksMTMgQEAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmdldCgKICAgICByZXN1bHQtPm1fc3Ry
dWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgcmVzdWx0LT5tX2NvbmRpdGlv
blNldCA9IGNvbmRpdGlvblNldDsKIAotICAgIGlmICh2aWFQcm94eSB8fCBhZGRpdGlvbmFsU2V0
IHx8IHJlc3VsdC0+ZG9lc0NhbGxzKCkgfHwgY3VzdG9tR2V0dGVyIHx8IGN1c3RvbVNsb3RCYXNl
KSB7CisgICAgaWYgKHZpYVByb3h5IHx8IGFkZGl0aW9uYWxTZXQgfHwgcmVzdWx0LT5kb2VzQ2Fs
bHMoKSB8fCBjdXN0b21HZXR0ZXIgfHwgY3VzdG9tU2xvdEJhc2UgfHwgZG9tSklUKSB7CiAgICAg
ICAgIHJlc3VsdC0+bV9yYXJlRGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8UmFyZURhdGE+KCk7CiAg
ICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+dmlhUHJveHkgPSB2aWFQcm94eTsKICAgICAgICAg
cmVzdWx0LT5tX3JhcmVEYXRhLT5hZGRpdGlvbmFsU2V0ID0gYWRkaXRpb25hbFNldDsKICAgICAg
ICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0
ZXI7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVO
dWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOworICAgICAgICByZXN1bHQtPm1fcmFyZURh
dGEtPmRvbUpJVCA9IGRvbUpJVDsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzg1
LDYgKzM4Niw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjbG9u
ZSgpIGNvbnN0CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tQWNjZXNzb3Iub3Bh
cXVlID0gcmFyZURhdGEtPmN1c3RvbUFjY2Vzc29yLm9wYXF1ZTsKICAgICAgICAgcmVzdWx0LT5t
X3JhcmVEYXRhLT5jdXN0b21TbG90QmFzZSA9IHJhcmVEYXRhLT5jdXN0b21TbG90QmFzZTsKICAg
ICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5pbnRyaW5zaWNGdW5jdGlvbiA9IHJhcmVEYXRhLT5p
bnRyaW5zaWNGdW5jdGlvbjsKKyAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5kb21KSVQgPSBy
YXJlRGF0YS0+ZG9tSklUOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAppbmRleCBh
NmQxNDhjYmZiMGYxOWY4YjM3YTE3NzM4MWUwMDgxMzcyYjg0OTIyLi45NzBhMjM1YmZkZTMyZTYz
YWY2Yjk1ZGFmZjczMjNjMmI5NDhjNjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CituYW1lc3BhY2UgRE9NSklUIHsK
K2NsYXNzIEdldHRlclNldHRlcjsKK30KIAogY2xhc3MgQ29kZUJsb2NrOwogY2xhc3MgUG9seW1v
cnBoaWNBY2Nlc3M7CkBAIC0xMzAsNyArMTMzLDggQEAgY2xhc3MgQWNjZXNzQ2FzZSB7CiAgICAg
ICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKICAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCA9IG51bGxwdHIsCiAgICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0g
bnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7Cisg
ICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCisgICAgICAgIERPTUpJ
VDo6R2V0dGVyU2V0dGVyKiA9IG51bGxwdHIpOwogICAgIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gbWVnYW1vcnBoaWNMb2FkKFZNJiwgSlNDZWxsKiBvd25lcik7CiAg
ICAgCkBAIC0xODYsNiArMTkwLDEyIEBAIGNsYXNzIEFjY2Vzc0Nhc2UgewogICAgICAgICByZXR1
cm4gaW50cmluc2ljRnVuY3Rpb24oKS0+aW50cmluc2ljKCk7CiAgICAgfQogCisgICAgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9y
YXJlRGF0YSk7CisgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLT5kb21KSVQ7CisgICAgfQorCiAg
ICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gbV9yYXJlRGF0YSA/IG1fcmFyZURhdGEtPmFkZGl0aW9uYWxTZXQuZ2V0KCkgOiBudWxs
cHRyOwpAQCAtMjg0LDYgKzI5NCw3IEBAIGNsYXNzIEFjY2Vzc0Nhc2UgewogICAgIHB1YmxpYzoK
ICAgICAgICAgUmFyZURhdGEoKQogICAgICAgICAgICAgOiB2aWFQcm94eShmYWxzZSkKKyAgICAg
ICAgICAgICwgZG9tSklUKG51bGxwdHIpCiAgICAgICAgIHsKICAgICAgICAgICAgIGN1c3RvbUFj
Y2Vzc29yLm9wYXF1ZSA9IG51bGxwdHI7CiAgICAgICAgIH0KQEAgLTMwMCw2ICszMTEsNyBAQCBj
bGFzcyBBY2Nlc3NDYXNlIHsKICAgICAgICAgfSBjdXN0b21BY2Nlc3NvcjsKICAgICAgICAgV3Jp
dGVCYXJyaWVyPEpTT2JqZWN0PiBjdXN0b21TbG90QmFzZTsKICAgICAgICAgV3JpdGVCYXJyaWVy
PEpTRnVuY3Rpb24+IGludHJpbnNpY0Z1bmN0aW9uOworICAgICAgICBET01KSVQ6OkdldHRlclNl
dHRlciogZG9tSklUOwogICAgIH07CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmFyZURhdGE+IG1f
cmFyZURhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDRiYWU5YWU5NjM2
MDljM2YzNzMwNmIxNGY1NzJmMmI0ZmFjNTc0NGIuLjk5YTgyYzljZDk2YWE3OGMzYjA0MGVjNTRl
ZDllZTEyZjAxZGU4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC01OCw2
ICs1OCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorbmFtZXNwYWNlIERPTUpJVCB7CitjbGFz
cyBHZXR0ZXJTZXR0ZXI7Cit9CisKIG5hbWVzcGFjZSBQcm9maWxlciB7CiBjbGFzcyBFeGVjdXRp
b25Db3VudGVyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9E
T01KSVRHZXR0ZXJTZXR0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklU
R2V0dGVyU2V0dGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFlNzM5M2M4MDc0MTQ1NzNkNDZkZjIzZGM5NzIw
YjNiZDAwZjQzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21q
aXQvRE9NSklUR2V0dGVyU2V0dGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
RE9NSklUUGF0Y2hwb2ludC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUg
IlB1dFByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlNwZWN1bGF0ZWRUeXBlLmgiCisKK25hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRE9NSklUIHsKKworY2xhc3MgR2V0dGVyU2V0dGVyIHsKK3B1
YmxpYzoKKyAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIEN1c3RvbUdldHRl
cjsKKyAgICB0eXBlZGVmIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIEN1c3RvbVNldHRl
cjsKKworICAgIEdldHRlclNldHRlcihDdXN0b21HZXR0ZXIgZ2V0dGVyLCBDdXN0b21TZXR0ZXIg
c2V0dGVyLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbykKKyAgICAgICAgOiBtX2dldHRlcihn
ZXR0ZXIpCisgICAgICAgICwgbV9zZXR0ZXIoc2V0dGVyKQorICAgICAgICAsIG1fdGhpc0NsYXNz
SW5mbyhjbGFzc0luZm8pCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgfkdldHRlclNldHRl
cigpIHsgfQorCisgICAgQ3VzdG9tR2V0dGVyIGdldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2V0
dGVyOyB9CisgICAgQ3VzdG9tU2V0dGVyIHNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGVy
OyB9CisgICAgY29uc3QgQ2xhc3NJbmZvKiB0aGlzQ2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4g
bV90aGlzQ2xhc3NJbmZvOyB9CisKKyNpZiBFTkFCTEUoSklUKQorICAgIHZpcnR1YWwgUmVmPERP
TUpJVDo6UGF0Y2hwb2ludD4gY2FsbERPTSgpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxET01KSVQ6
OlBhdGNocG9pbnQ+IGNoZWNrRE9NKCkgPSAwOworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgQ3Vz
dG9tR2V0dGVyIG1fZ2V0dGVyOworICAgIEN1c3RvbVNldHRlciBtX3NldHRlcjsKKyAgICBjb25z
dCBDbGFzc0luZm8qIG1fdGhpc0NsYXNzSW5mbzsKK307CisKK30gfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9ET01KSVRQYXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZG9taml0L0RPTUpJVFBhdGNocG9pbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmRjMDk5
MDEwZDk2Y2E1ZDMwMzE4OGJjYmMzNzgyMjc4ODhlOWI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9ET01KSVRQYXRjaHBvaW50LmgKQEAgLTAsMCArMSw3
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEpJVCkKKworI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgor
I2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRE9N
SklUIHsKKworY2xhc3MgUGF0Y2hwb2ludFBhcmFtczsKKwordHlwZWRlZiBDQ2FsbEhlbHBlcnM6
Okp1bXBMaXN0IFBhdGNocG9pbnRHZW5lcmF0b3JGdW5jdGlvbihDQ2FsbEhlbHBlcnMmLCBjb25z
dCBQYXRjaHBvaW50UGFyYW1zJik7Cit0eXBlZGVmIFNoYXJlZFRhc2s8UGF0Y2hwb2ludEdlbmVy
YXRvckZ1bmN0aW9uPiBQYXRjaHBvaW50R2VuZXJhdG9yOworCisvLyBET01KSVQgcGF0Y2hwb2lu
dCBpcyB0aGUgd2F5IHRvIGluamVjdCBhbiBvcGFxdWUgY29kZSBnZW5lcmF0b3IgaW50byBERkcg
YW5kIEZUTC4KKy8vIFdoaWxlIEIzOjpQYXRjaHBvaW50IGlzIHNlbGYtY29udGFpbmVkIGFib3V0
IGl0cyBjb21waWxhdGlvbiBpbmZvcm1hdGlvbiwKKy8vIERPTUpJVDo6UGF0Y2hwb2ludCBkZXBl
bmRzIG9uIHdoaWNoIERGRyBOb2RlIGludm9rZXMuIEZvciBleGFtcGxlLCBDaGVja0RPTSB3aWxs
CisvLyBsaW5rIHJldHVybmVkIGZhaWx1cmVDYXNlcyB0byBCYWRUeXBlIE9TUkV4aXQsIGJ1dCB0
aGlzIGluZm9ybWF0aW9uIGlzIG9mZmVyZWQKKy8vIGZyb20gQ2hlY2tET00gREZHIE5vZGUsIG5v
dCBmcm9tIHRoaXMgcGF0Y2hwb2ludC4gVGhpcyBwYXRjaHBvaW50IG1haW5seSBmb2N1c2VzCisv
LyBvbiBpbmplY3RpbmcgYSBzbmlwcGV0IGdlbmVyYXRvciB0aGF0IGNhbiB0ZWxsIHJlZ2lzdGVy
IHVzYWdlIGFuZCBjYW4gYmUgdXNlZAorLy8gaW4gYm90aCBERkcgYW5kIEZUTC4KK2NsYXNzIFBh
dGNocG9pbnQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UGF0Y2hwb2ludD4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8UGF0Y2hwb2ludD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBhdGNocG9pbnQoKSk7CisgICAgfQorCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICB2b2lkIHNldEdlbmVyYXRvcihjb25zdCBGdW5jdG9y
JiBmdW5jdG9yKQorICAgIHsKKyAgICAgICAgbV9nZW5lcmF0b3IgPSBjcmVhdGVTaGFyZWRUYXNr
PFBhdGNocG9pbnRHZW5lcmF0b3JGdW5jdGlvbj4oZnVuY3Rvcik7CisgICAgfQorCisgICAgUmVm
UHRyPFBhdGNocG9pbnRHZW5lcmF0b3I+IGdlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2Vu
ZXJhdG9yOyB9CisKKyAgICB1aW50OF90IG51bUdQU2NyYXRjaFJlZ2lzdGVycyB7IDAgfTsKKyAg
ICB1aW50OF90IG51bUZQU2NyYXRjaFJlZ2lzdGVycyB7IDAgfTsKKworcHJpdmF0ZToKKyAgICBQ
YXRjaHBvaW50KCkgPSBkZWZhdWx0OworCisgICAgUmVmUHRyPFBhdGNocG9pbnRHZW5lcmF0b3I+
IG1fZ2VuZXJhdG9yOworfTsKKworfSB9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVwYXRjaC5jcHAKaW5kZXggZDQ1OTM5YzU5NTlhODA3ZDQ1MDViOTRlYTNjZWExNTVmZmY1YzRi
OC4uMjU4MWMyNWQ2YWZjMWEzZWQwZmY0YWVkYTQwZGI0NDlhYTQ4NjE3YSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ2Fs
bEZyYW1lU2h1ZmZsZXIuaCIKICNpbmNsdWRlICJERkdPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAi
REZHU3BlY3VsYXRpdmVKSVQuaCIKKyNpbmNsdWRlICJET01KSVRHZXR0ZXJTZXR0ZXIuaCIKICNp
bmNsdWRlICJEaXJlY3RBcmd1bWVudHMuaCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNs
dWRlICJHQ0F3YXJlSklUU3R1YlJvdXRpbmUuaCIKQEAgLTI2MCw2ICsyNjEsMTAgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgYmFzZVZhbHVlLCBjb24KICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkK
ICAgICAgICAgICAgIGdldHRlciA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHNsb3QuZ2V0
dGVyU2V0dGVyKCktPmdldHRlcigpKTsKIAorICAgICAgICBET01KSVQ6OkdldHRlclNldHRlciog
ZG9tSklUID0gbnVsbHB0cjsKKyAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSAm
JiBzbG90LmRvbUpJVCgpKQorICAgICAgICAgICAgZG9tSklUID0gc2xvdC5kb21KSVQoKTsKKwog
ICAgICAgICBpZiAoa2luZCA9PSBHZXRCeUlES2luZDo6UHVyZSkgewogICAgICAgICAgICAgQWNj
ZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFi
bGVWYWx1ZSgpKQpAQCAtMjkwLDcgKzI5NSw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0
cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAg
ICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Z2V0KAogICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRU
YXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNs
b3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAot
ICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2Uo
KSA6IG51bGxwdHIpOworICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/
IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCisgICAgICAgICAgICAgICAgZG9tSklUKTsKICAg
ICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
dXN0b21HZXR0ZXJTZXR0ZXIuaAppbmRleCBkNzAyZGRmNGRhMDU3NjkwNWY3OWNlYWQ2MGI2YTIz
Y2RiOWMzNjY2Li40NGI3MzA2YTU4OTk1OWFmMmZiZTM2ZDE1MTAwNjY0ZDRhMDY4ZDIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIu
aApAQCAtMzEsNiArMzEsOSBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKK25hbWVzcGFjZSBET01KSVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOworfQogCiBjbGFz
cyBDdXN0b21HZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIHB1YmxpYzoKQEAg
LTQwLDE1ICs0MywxNiBAQCBjbGFzcyBDdXN0b21HZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMg
SlNDZWxsIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIEN1c3RvbUdl
dHRlcjsKICAgICB0eXBlZGVmIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIEN1c3RvbVNl
dHRlcjsKIAotICAgIHN0YXRpYyBDdXN0b21HZXR0ZXJTZXR0ZXIqIGNyZWF0ZShWTSYgdm0sIEN1
c3RvbUdldHRlciBjdXN0b21HZXR0ZXIsIEN1c3RvbVNldHRlciBjdXN0b21TZXR0ZXIpCisgICAg
c3RhdGljIEN1c3RvbUdldHRlclNldHRlciogY3JlYXRlKFZNJiB2bSwgQ3VzdG9tR2V0dGVyIGN1
c3RvbUdldHRlciwgQ3VzdG9tU2V0dGVyIGN1c3RvbVNldHRlciwgRE9NSklUOjpHZXR0ZXJTZXR0
ZXIqIGRvbUpJVCA9IG51bGxwdHIpCiAgICAgewotICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIq
IGN1c3RvbUdldHRlclNldHRlciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEN1c3RvbUdl
dHRlclNldHRlcj4odm0uaGVhcCkpIEN1c3RvbUdldHRlclNldHRlcih2bSwgY3VzdG9tR2V0dGVy
LCBjdXN0b21TZXR0ZXIpOworICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRl
clNldHRlciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEN1c3RvbUdldHRlclNldHRlcj4o
dm0uaGVhcCkpIEN1c3RvbUdldHRlclNldHRlcih2bSwgY3VzdG9tR2V0dGVyLCBjdXN0b21TZXR0
ZXIsIGRvbUpJVCk7CiAgICAgICAgIGN1c3RvbUdldHRlclNldHRlci0+ZmluaXNoQ3JlYXRpb24o
dm0pOwogICAgICAgICByZXR1cm4gY3VzdG9tR2V0dGVyU2V0dGVyOwogICAgIH0KIAogICAgIEN1
c3RvbUdldHRlclNldHRlcjo6Q3VzdG9tR2V0dGVyIGdldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1f
Z2V0dGVyOyB9CiAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIgc2V0dGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9zZXR0ZXI7IH0KKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9t
SklUKCkgY29uc3QgeyByZXR1cm4gbV9kb21KSVQ7IH0KIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgcHJvdG90eXBlKQogICAgIHsKQEAgLTU4LDE1ICs2MiwxNyBAQCBjbGFzcyBDdXN0b21H
ZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBERUNMQVJFX0VYUE9SVF9J
TkZPOwogCiBwcml2YXRlOgotICAgIEN1c3RvbUdldHRlclNldHRlcihWTSYgdm0sIEN1c3RvbUdl
dHRlciBnZXR0ZXIsIEN1c3RvbVNldHRlciBzZXR0ZXIpCisgICAgQ3VzdG9tR2V0dGVyU2V0dGVy
KFZNJiB2bSwgQ3VzdG9tR2V0dGVyIGdldHRlciwgQ3VzdG9tU2V0dGVyIHNldHRlciwgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCkKICAgICAgICAgOiBKU0NlbGwodm0sIHZtLmN1c3RvbUdl
dHRlclNldHRlclN0cnVjdHVyZS5nZXQoKSkKICAgICAgICAgLCBtX2dldHRlcihnZXR0ZXIpCiAg
ICAgICAgICwgbV9zZXR0ZXIoc2V0dGVyKQorICAgICAgICAsIG1fZG9tSklUKGRvbUpJVCkKICAg
ICB7CiAgICAgfQogCiAgICAgQ3VzdG9tR2V0dGVyIG1fZ2V0dGVyOwogICAgIEN1c3RvbVNldHRl
ciBtX3NldHRlcjsKKyAgICBET01KSVQ6OkdldHRlclNldHRlciogbV9kb21KSVQ7CiB9OwogCiBK
U19FWFBPUlRfUFJJVkFURSBib29sIGNhbGxDdXN0b21TZXR0ZXIoRXhlY1N0YXRlKiwgQ3VzdG9t
R2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIsIGJvb2wgaXNBY2Nlc3NvciwgSlNWYWx1ZSB0aGlz
VmFsdWUsIEpTVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgK
aW5kZXggNjk1YmZiNzJlZmQ0Njc2ZmZhYjFiZDVjNjJkZDI2NDU3ODA1ZTg5MC4uYTYwOWE0OGM5
MDg2YzQzYmQ0ZmJlMTVjYjdlZDk5YzczODQ0Zjk1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5oCkBAIC0xMjkwLDcgKzEyOTAsNyBAQCBBTFdBWVNfSU5MSU5FIHZv
aWQgSlNPYmplY3Q6OmZpbGxDdXN0b21HZXR0ZXJQcm9wZXJ0eVNsb3QoUHJvcGVydHlTbG90JiBz
bG90LCBKUwogCiAgICAgLy8gVGhpcyBhY2Nlc3MgaXMgY2FjaGVhYmxlIGJlY2F1c2UgU3RydWN0
dXJlIHJlcXVpcmVzIGFuIGF0dHJpYnV0ZUNoYW5nZWRUcmFuc2l0aW9uCiAgICAgLy8gaWYgdGhp
cyBwcm9wZXJ0eSBzdG9wcyBiZWluZyBhbiBhY2Nlc3Nvci4KLSAgICBzbG90LnNldENhY2hlYWJs
ZUN1c3RvbSh0aGlzLCBhdHRyaWJ1dGVzLCBqc0Nhc3Q8Q3VzdG9tR2V0dGVyU2V0dGVyKj4oY3Vz
dG9tR2V0dGVyU2V0dGVyKS0+Z2V0dGVyKCkpOworICAgIHNsb3Quc2V0Q2FjaGVhYmxlQ3VzdG9t
KHRoaXMsIGF0dHJpYnV0ZXMsIGpzQ2FzdDxDdXN0b21HZXR0ZXJTZXR0ZXIqPihjdXN0b21HZXR0
ZXJTZXR0ZXIpLT5nZXR0ZXIoKSwganNDYXN0PEN1c3RvbUdldHRlclNldHRlcio+KGN1c3RvbUdl
dHRlclNldHRlciktPmRvbUpJVCgpKTsKIH0KIAogLy8gSXQgbWF5IHNlZW0gY3JhenkgdG8gaW5s
aW5lIGEgZnVuY3Rpb24gdGhpcyBsYXJnZSwgZXNwZWNpYWxseSBhIHZpcnR1YWwgZnVuY3Rpb24s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCmluZGV4IDY5MmQ3Yzc4OWZlZDQ3
YjVhZDc0MGM5YmRhNzJjNjYyNGE2NWE0ZTcuLjdlMWIyMjUyZWYwYTIzNTI5MzJmMzYzMWY1ODk4
OTU3YTA0OGE2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC0y
Myw2ICsyMyw3IEBACiAjaW5jbHVkZSAiQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCIKICNp
bmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJDdXN0b21HZXR0ZXJTZXR0ZXIuaCIKKyNp
bmNsdWRlICJET01KSVRHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCiAj
aW5jbHVkZSAiSWRlbnRpZmllcklubGluZXMuaCIKICNpbmNsdWRlICJJbnRyaW5zaWMuaCIKQEAg
LTQ2LDYgKzQ3LDcgQEAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5j
dGlvbjsKIHR5cGVkZWYgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgUHV0RnVuY3Rpb247
CiB0eXBlZGVmIEZ1bmN0aW9uRXhlY3V0YWJsZSogKCpCdWlsdGluR2VuZXJhdG9yKShWTSYpOwog
dHlwZWRlZiBKU1ZhbHVlICgqTGF6eVByb3BlcnR5Q2FsbGJhY2spKFZNJiwgSlNPYmplY3QqKTsK
K3R5cGVkZWYgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqICgqRE9NSklUR2V0dGVyU2V0dGVyR2VuZXJh
dG9yKSh2b2lkKTsKIAogLy8gSGFzaCB0YWJsZSBnZW5lcmF0ZWQgYnkgdGhlIGNyZWF0ZV9oYXNo
X3RhYmxlIHNjcmlwdC4KIHN0cnVjdCBIYXNoVGFibGVWYWx1ZSB7CkBAIC03OCw2ICs4MCw4IEBA
IHN0cnVjdCBIYXNoVGFibGVWYWx1ZSB7CiAgICAgR2V0RnVuY3Rpb24gcHJvcGVydHlHZXR0ZXIo
KSBjb25zdCB7IEFTU0VSVCghKG1fYXR0cmlidXRlcyAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nl
c3Nvck9yTGF6eVByb3BlcnR5T3JDb25zdGFudCkpOyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxH
ZXRGdW5jdGlvbj4obV92YWx1ZXMudmFsdWUxKTsgfQogICAgIFB1dEZ1bmN0aW9uIHByb3BlcnR5
UHV0dGVyKCkgY29uc3QgeyBBU1NFUlQoIShtX2F0dHJpYnV0ZXMgJiBCdWlsdGluT3JGdW5jdGlv
bk9yQWNjZXNzb3JPckxhenlQcm9wZXJ0eU9yQ29uc3RhbnQpKTsgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8UHV0RnVuY3Rpb24+KG1fdmFsdWVzLnZhbHVlMik7IH0KIAorICAgIERPTUpJVDo6R2V0
dGVyU2V0dGVyKiBkb21KSVQoKSBjb25zdCB7IEFTU0VSVChtX2F0dHJpYnV0ZXMgJiBET01KSVRB
dHRyaWJ1dGUpOyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxET01KSVRHZXR0ZXJTZXR0ZXJHZW5l
cmF0b3I+KG1fdmFsdWVzLnZhbHVlMSkoKTsgfQorCiAgICAgTmF0aXZlRnVuY3Rpb24gYWNjZXNz
b3JHZXR0ZXIoKSBjb25zdCB7IEFTU0VSVChtX2F0dHJpYnV0ZXMgJiBBY2Nlc3Nvcik7IHJldHVy
biByZWludGVycHJldF9jYXN0PE5hdGl2ZUZ1bmN0aW9uPihtX3ZhbHVlcy52YWx1ZTEpOyB9CiAg
ICAgTmF0aXZlRnVuY3Rpb24gYWNjZXNzb3JTZXR0ZXIoKSBjb25zdCB7IEFTU0VSVChtX2F0dHJp
YnV0ZXMgJiBBY2Nlc3Nvcik7IHJldHVybiByZWludGVycHJldF9jYXN0PE5hdGl2ZUZ1bmN0aW9u
PihtX3ZhbHVlcy52YWx1ZTIpOyB9CiAgICAgQnVpbHRpbkdlbmVyYXRvciBidWlsdGluQWNjZXNz
b3JHZXR0ZXJHZW5lcmF0b3IoKSBjb25zdDsKQEAgLTIyNCw2ICsyMjgsMTIgQEAgaW5saW5lIGJv
b2wgZ2V0U3RhdGljUHJvcGVydHlTbG90RnJvbVRhYmxlKFZNJiB2bSwgY29uc3QgSGFzaFRhYmxl
JiB0YWJsZSwgSlNPYmoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKGVu
dHJ5LT5hdHRyaWJ1dGVzKCkgJiBET01KSVRBdHRyaWJ1dGUpIHsKKyAgICAgICAgRE9NSklUOjpH
ZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IGVudHJ5LT5kb21KSVQoKTsKKyAgICAgICAgc2xvdC5zZXRD
YWNoZWFibGVDdXN0b20odGhpc09iamVjdCwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShlbnRyeS0+
YXR0cmlidXRlcygpKSwgZG9tSklULT5nZXR0ZXIoKSwgZG9tSklUKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCiAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpc09iamVjdCwg
YXR0cmlidXRlc0ZvclN0cnVjdHVyZShlbnRyeS0+YXR0cmlidXRlcygpKSwgZW50cnktPnByb3Bl
cnR5R2V0dGVyKCkpOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjU5LDYgKzI2OSw3IEBAIGlu
bGluZSBib29sIHB1dEVudHJ5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFRhYmxlVmFsdWUq
IGVudHJ5LCBKU09iamVjdCogYmFzCiAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgc2xvdC5p
c1N0cmljdE1vZGUoKSwgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKIAog
ICAgIGlmICghKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBSZWFkT25seSkpIHsKKyAgICAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRSghKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBET01KSVRBdHRyaWJ1dGUp
LCAiRE9NSklUQXR0cmlidXRlIHN1cHBvcnRzIHJlYWRvbmx5IGF0dHJpYnV0ZXMgY3VycmVudGx5
LiIpOwogICAgICAgICBib29sIGlzQWNjZXNzb3IgPSBlbnRyeS0+YXR0cmlidXRlcygpICYgQ3Vz
dG9tQWNjZXNzb3I7CiAgICAgICAgIEpTVmFsdWUgdXBkYXRlVGhpc1ZhbHVlID0gZW50cnktPmF0
dHJpYnV0ZXMoKSAmIEN1c3RvbUFjY2Vzc29yID8gc2xvdC50aGlzVmFsdWUoKSA6IEpTVmFsdWUo
YmFzZSk7CiAgICAgICAgIGJvb2wgcmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihleGVjLCBlbnRy
eS0+cHJvcGVydHlQdXR0ZXIoKSwgaXNBY2Nlc3NvciwgdXBkYXRlVGhpc1ZhbHVlLCB2YWx1ZSk7
CkBAIC0zMzYsNiArMzQ3LDEzIEBAIGlubGluZSB2b2lkIHJlaWZ5U3RhdGljUHJvcGVydHkoVk0m
IHZtLCBjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgY29uc3QKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIGlmICh2YWx1ZS5hdHRyaWJ1dGVzKCkgJiBET01KSVRBdHRyaWJ1
dGUpIHsKKyAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IHZhbHVlLmRvbUpJ
VCgpOworICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRlclNldHRlciA9IEN1
c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBkb21KSVQtPnNl
dHRlcigpLCBkb21KSVQpOworICAgICAgICB0aGlzT2JqLnB1dERpcmVjdEN1c3RvbUFjY2Vzc29y
KHZtLCBwcm9wZXJ0eU5hbWUsIGN1c3RvbUdldHRlclNldHRlciwgYXR0cmlidXRlc0ZvclN0cnVj
dHVyZSh2YWx1ZS5hdHRyaWJ1dGVzKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IEN1c3RvbUdldHRlclNldHRlciogY3VzdG9tR2V0dGVyU2V0dGVyID0gQ3VzdG9tR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIHZhbHVlLnByb3BlcnR5R2V0dGVyKCksIHZhbHVlLnByb3BlcnR5UHV0
dGVyKCkpOwogICAgIHRoaXNPYmoucHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHByb3BlcnR5
TmFtZSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHZhbHVlLmF0
dHJpYnV0ZXMoKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvcGVydHlTbG90LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0
eVNsb3QuaAppbmRleCBlMTM3ZDg0NWQ1ZmMzMTM4ODY1ZDE3NmEyMmE3ZTNiZDUxN2NlYjEzLi45
ZGUxNTFhNTZhYTI3NTZjZmQwYzYwMDM2NjgyNjZiMTlmOTkzMmRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaApAQCAtMjYsNyArMjYsOSBAQAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIG5hbWVzcGFjZSBKU0MgewotCituYW1lc3BhY2Ug
RE9NSklUIHsKK2NsYXNzIEdldHRlclNldHRlcjsKK30KIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNz
IEdldHRlclNldHRlcjsKIGNsYXNzIEpTT2JqZWN0OwpAQCAtNDgsNiArNTAsNyBAQCBlbnVtIEF0
dHJpYnV0ZSB7CiAgICAgQ2VsbFByb3BlcnR5ICAgICAgPSAxIDw8IDExLCAvLyBwcm9wZXJ0eSBp
cyBhIGxhenkgcHJvcGVydHkgLSBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMKICAgICBD
bGFzc1N0cnVjdHVyZSAgICA9IDEgPDwgMTIsIC8vIHByb3BlcnR5IGlzIGEgbGF6eSBjbGFzcyBz
dHJ1Y3R1cmUgLSBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMKICAgICBQcm9wZXJ0eUNh
bGxiYWNrICA9IDEgPDwgMTMsIC8vIHByb3BlcnR5IHRoYXQgaXMgYSBsYXp5IHByb3BlcnR5IGNh
bGxiYWNrIC0gb25seSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFibGVzCisgICAgRE9NSklUQXR0cmli
dXRlICAgPSAxIDw8IDE0LCAvLyBwcm9wZXJ0eSBpcyBhIERPTSBKSVQgYXR0cmlidXRlIC0gb25s
eSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rpb24gPSBCdWls
dGluIHwgRnVuY3Rpb24sIC8vIGhlbHBlciBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMK
ICAgICBCdWlsdGluT3JGdW5jdGlvbk9yTGF6eVByb3BlcnR5ID0gQnVpbHRpbiB8IEZ1bmN0aW9u
IHwgQ2VsbFByb3BlcnR5IHwgQ2xhc3NTdHJ1Y3R1cmUgfCBQcm9wZXJ0eUNhbGxiYWNrLCAvLyBo
ZWxwZXIgb25seSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rp
b25PckFjY2Vzc29yT3JMYXp5UHJvcGVydHkgPSBCdWlsdGluIHwgRnVuY3Rpb24gfCBBY2Nlc3Nv
ciB8IENlbGxQcm9wZXJ0eSB8IENsYXNzU3RydWN0dXJlIHwgUHJvcGVydHlDYWxsYmFjaywgLy8g
aGVscGVyIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRhYmxlcwpAQCAtMTU3LDYgKzE2MCwxMSBA
QCBjbGFzcyBQcm9wZXJ0eVNsb3QgewogICAgICAgICByZXR1cm4gbV93YXRjaHBvaW50U2V0Owog
ICAgIH0KIAorICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fZG9tSklUOworICAgIH0KKwogICAgIHZvaWQgc2V0VmFsdWUoSlNP
YmplY3QqIHNsb3RCYXNlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBKU1ZhbHVlIHZhbHVlKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGF0dHJpYnV0ZXMgPT0gYXR0cmlidXRlc0ZvclN0cnVjdHVyZShh
dHRyaWJ1dGVzKSk7CkBAIC0yMTEsNyArMjE5LDcgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAg
ICAgICAgbV9vZmZzZXQgPSBpbnZhbGlkT2Zmc2V0OwogICAgIH0KICAgICAKLSAgICB2b2lkIHNl
dENhY2hlYWJsZUN1c3RvbShKU09iamVjdCogc2xvdEJhc2UsIHVuc2lnbmVkIGF0dHJpYnV0ZXMs
IEdldFZhbHVlRnVuYyBnZXRWYWx1ZSkKKyAgICB2b2lkIHNldENhY2hlYWJsZUN1c3RvbShKU09i
amVjdCogc2xvdEJhc2UsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIEdldFZhbHVlRnVuYyBnZXRWYWx1
ZSwgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IG51bGxwdHIpCiAgICAgewogICAgICAg
ICBBU1NFUlQoYXR0cmlidXRlcyA9PSBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKGF0dHJpYnV0ZXMp
KTsKICAgICAgICAgCkBAIC0yMjMsNiArMjMxLDcgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAg
ICAgICAgbV9zbG90QmFzZSA9IHNsb3RCYXNlOwogICAgICAgICBtX3Byb3BlcnR5VHlwZSA9IFR5
cGVDdXN0b207CiAgICAgICAgIG1fb2Zmc2V0ID0gIWludmFsaWRPZmZzZXQ7CisgICAgICAgIG1f
ZG9tSklUID0gZG9tSklUOwogICAgIH0KIAogICAgIHZvaWQgc2V0Q3VzdG9tR2V0dGVyU2V0dGVy
KEpTT2JqZWN0KiBzbG90QmFzZSwgdW5zaWduZWQgYXR0cmlidXRlcywgQ3VzdG9tR2V0dGVyU2V0
dGVyKiBnZXR0ZXJTZXR0ZXIpCkBAIC0zMTgsNiArMzI3LDcgQEAgY2xhc3MgUHJvcGVydHlTbG90
IHsKICAgICBDYWNoZWFiaWxpdHlUeXBlIG1fY2FjaGVhYmlsaXR5OwogICAgIFByb3BlcnR5VHlw
ZSBtX3Byb3BlcnR5VHlwZTsKICAgICBJbnRlcm5hbE1ldGhvZFR5cGUgbV9pbnRlcm5hbE1ldGhv
ZFR5cGU7CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIG1fZG9tSklUIHsgbnVsbHB0ciB9Owog
ICAgIGJvb2wgbV9pc1RhaW50ZWRCeU9wYXF1ZU9iamVjdDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2RvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2RvbWppdC9ET01KSVRHZXR0ZXJT
ZXR0ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NzA0NDFjYmM1NGE4NzQwYjczNmUzMDM4Y2QxNDE4YWE1MGJm
ZGM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
ZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJD
b3JlX0ZXRF9ET01KSVRHZXR0ZXJTZXR0ZXJfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9ET01KSVRH
ZXR0ZXJTZXR0ZXJfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0RPTUpJVEdldHRlclNldHRl
ci5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZmNjg3ZThlY2Q3M2Rh
ODhiNDlkODc5NzU4Y2FiZDU1NjdmMDM3MmEuLjdlOTlhNDkxZTY0ODc2ZDBjYTg2MTNhZGM0OTIw
M2NiYTRmZDYxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBA
IGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vYnl0ZWNvbXBpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGZn
IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyIgorICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vZG9taml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RlYnVnZ2VyIgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vaW50ZXJwcmV0ZXIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDQxYmUy
ODMxMjk5N2E0ODgzYzk4ZjllYTFiZjYxNWNhOWQ4MjViOWYuLmFkMjdlNTZjMDdjZTNmNmNlMDM0
YTFhZDdhM2NhNmQ3MDJmMTliYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xOSw2
ICsxOSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0vYnl0ZWNvbXBpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JF
X0RJUn0vZGZnIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyIgorICAg
ICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9taml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RlYnVnZ2VyIgogICAgICIke0pB
VkFTQ1JJUFRDT1JFX0RJUn0vaW50ZXJwcmV0ZXIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCmlu
ZGV4IDM0YjhkYjI3MGJmNjk0YjJlMDdkMTg0OTFhYTg3NDY3NDM1NjdmYzguLmI3MDc5YjdmZmMy
ZDNlODI5N2NhNzk2YjBmMjAyNzQzNDNmNTY4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtl
CkBAIC03OSw2ICs3OSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKICAgICAiJHtXRUJDT1JF
X0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvYmluZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L0Zv
cndhcmRpbmdIZWFkZXJzL2J5dGVjb2RlIgorICAgICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5n
SGVhZGVycy9kb21qaXQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL2Rl
YnVnZ2VyIgogICAgICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFwIgogICAg
ICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRm
b3JtV2luLmNtYWtlCmluZGV4IGFlZDhkZWIwYTI4ODc3ZDk1NjZkMzc4YmQ1OWFkY2QwZWY4YTdj
ZWQuLmEzOGZlMTkzZWNjYTMwN2QxNTk1YWI0YmEzN2FmMjVjNmM1MjEwZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtV2luLmNtYWtlCkBAIC0xNSw2ICsxNSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5D
TFVERV9ESVJFQ1RPUklFUwogICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdI
ZWFkZXJzL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlciIKICAgICAiJHtERVJJVkVEX1NPVVJD
RVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9kZmciCiAgICAgIiR7REVS
SVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvSmF2YVNjcmlwdENvcmUvZGlzYXNz
ZW1ibGVyIgorICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL0ph
dmFTY3JpcHRDb3JlL2RvbWppdCIKICAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJk
aW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9oZWFwIgogICAgICIke0RFUklWRURfU09VUkNFU19E
SVJ9L0ZvcndhcmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyIgogICAgICIke0RF
UklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0N2QyOTRkZDQ5NWEzMTM3ZDc2ZmYwODg2
ZWY1MTNiN2JmYzQ4ZWU2Li4yYzIxOWI1ZGE3NDc1OWQ0MjAzMTlkNGFiOGFkY2YwY2FkMjljODMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTQ5LDYgKzE0OSw3IEBAIHNldChXZWJLaXQyX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2NvbGxlY3Rvci9o
YW5kbGVzIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGZnIgogICAgICIke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyIgorICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9t
aml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2ludGVycHJldGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaml0Igpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZhNDcy
NzAyNWI3NzllMDEwMDc0NjJiOWU5ODJjZTI3OTg0M2Q4YTAuLjVlOWU5YzUxNmQ5NDViNGNmNjZh
YzkwMDI5MjY1MzJlNGIyOTlhMDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVr
aSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2Ug
RE9NSklUOjpHZXR0ZXJTZXR0ZXIgdG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQ01h
a2VMaXN0cy50eHQ6CisKIDIwMTYtMTAtMDQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgY29udHJvbHMgYXJlIGRpc3BsYXllZCBpbiB0aGUg
aW5jb3JyZWN0IHN0YXRlIG1vbWVudGFyaWx5IGFmdGVyIHN3aXRjaGluZyBiZXR3ZWVuIHRhYnMg
cGxheWluZyBtZWRpYQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0
cy50eHQgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5MThmZTRk
MjJmZmU2ZmRkYmIyOWQyNGM0YWM1YTNhOGVhYTJmZDJkLi5iYWY3YzEzYzU3MjFhZTZjMThjMDMz
N2M0MGY4NGRhOWQ3MWFlYmRlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9DTWFrZUxpc3RzLnR4dApAQCAt
NTcsNiArNTcsNyBAQCBzZXQoRHVtcFJlbmRlclRyZWVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICR7SkFWQVNDUklQVENPUkVfRElSfS9ieXRlY29kZQogICAgICR7SkFWQVNDUklQVENPUkVfRElS
fS9kZmcKICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyCisgICAgJHtKQVZB
U0NSSVBUQ09SRV9ESVJ9L2RvbWppdAogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9oZWFwCiAg
ICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ludGVycHJldGVyCiAgICAgJHtKQVZBU0NSSVBUQ09S
RV9ESVJ9L2ppdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290629</attachid>
            <date>2016-10-04 11:53:42 -0700</date>
            <delta_ts>2016-10-04 12:01:55 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162916-20161004115032.patch</filename>
            <type>text/plain</type>
            <size>48554</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzkzYWEyNDUzMzhhZTU4NmNkM2VmODAwNDNlYWY1NzliNjdkNzc1Li4zZTE3ZWQ3MWU5MmYyZDcw
YzI0NDcyNDZhMGY4MjI1NjYyMGFkNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIg
dG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZSBET01KSVQ6OkdldHRl
clNldHRlci4KKyAgICAgICAgVGhpcyBjbGFzcyBtYWludGFpbnMgaW5mb3JtYXRpb24gcmVxdWly
ZWQgdG8gZW1pdCBKSVQgY29kZSBpbiBERkcgYW5kIEZUTC4KKyAgICAgICAgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIgaGFzIDIgdmlydHVhbCBmdW5jdGlvbnM6IGNoZWNrRE9NIGFuZCBjYWxsRE9NLgor
ICAgICAgICBUaGVzZSBmdW5jdGlvbnMgY2FuIHJldHVybiBhIERPTUpJVDo6UGF0Y2hwb2ludCB0
aGF0IGFsbG93cyB1cyB0byBpbmplY3QKKyAgICAgICAgYXBwcm9wcmlhdGUgbWFjaGluZSBjb2Rl
IGR1cmluZyBERkcgYW5kIEZUTCBwaGFzZXMuIERGRyBhbmQgRlRMIHdpbGwgaW52b2tlCisgICAg
ICAgIHRoZXNlIGZ1bmN0aW9ucyB0byBnZXQgYSBwYXRjaHBvaW50LiBBbmQgdGhpcyBwYXRjaHBv
aW50IHdpbGwgYmUgdXNlZCB0bworICAgICAgICBlbWl0IGNvZGUgY29ycmVzcG9uZGluZyB0byBD
aGVja0RPTSBhbmQgQ2FsbERPTSBERkcgbm9kZXMsIHdoaWNoIHdpbGwgYmUgYWRkZWQKKyAgICAg
ICAgaW4gc3Vic3FldW50IHBhdGNoLgorCisgICAgICAgIFdlIHByb3BhZ2F0ZSBET01KSVQ6Okdl
dHRlclNldHRlciB0aHJvdWdoIFByb3BlcnR5U2xvdCwgQWNjZXNzQ2FzZSwgR2V0QnlJZFZhcmlh
bnQsCisgICAgICAgIGFuZCBHZXRCeUlkU3RhdHVzIGFsb25nIHdpdGggQ3VzdG9tR2V0dGVyIHRv
IHRlYWNoIERGRyB0aGF0IHRoaXMgY3VzdG9tIGFjY2VzcworICAgICAgICBjb2RlIGhhcyBhIGNo
YW5jZSB0byBiZSBpbmxpbmVkIHdpdGggdGhpcyBET01KSVQ6OkdldHRlclNldHRlciBpbmZvcm1h
dGlvbi4KKyAgICAgICAgSW5zdGVhZCBvZiBwcm9wYWdhdGluZyBDdXN0b21HZXR0ZXJTZXR0ZXIg
aG9sZGluZyBET01KSVQ6OkdldHRlclNldHRlciBhbmQgQ3VzdG9tR2V0dGVyLAorICAgICAgICB3
ZSBwcm9wYWdhdGUgQ3VzdG9tR2V0dGVyIGFuZCBET01KSVQ6OkdldHRlclNldHRlci4gVGhpcyBp
cyBiZWNhdXNlIG9mIHRoZSBjdXJyZW50CisgICAgICAgIEN1c3RvbUdldHRlclNldHRlciBkZXNp
Z24gdGhhdCB3ZSByZWlmeSBDdXN0b21HZXR0ZXJTZXR0ZXJzIG9ubHkgd2hlbiB3ZSBuZWVkIHRv
IHJlaWZ5CisgICAgICAgIGFsbCB0aGUgcHJvcGVydGllcy4gVGhpcyBkZXNpZ24gYWxsb3dzIHVz
IHRvIGF2b2lkIGZyZXF1ZW50IEN1c3RvbUdldHRlclNldHRlciBhbGxvY2F0aW9ucworICAgICAg
ICBhbmQgc3RydWN0dXJlIHRyYW5zaXRpb25zLgorCisgICAgICAgIEN1cnJlbnRseSwgZG9tSklU
IGZpZWxkIGlzIGFsd2F5cyBudWxscHRyIHNpbmNlIHRoZXJlIGlzIG5vIERPTUpJVEF0dHJpYnV0
ZSB1c2VyLgorICAgICAgICBXaGVuIHdlIGFkZCB0aGlzLCB3ZSB3aWxsIGFkZCBjb2RlIGhhbmRs
aW5nIHRoaXMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgaW4gREZHOjpCeXRlQ29kZVBhcnNlci4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhv
dXRFeGl0U2l0ZUZlZWRiYWNrKToKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkVmFyaWFudC5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRWYXJpYW50OjpHZXRCeUlkVmFyaWFudCk6CisgICAg
ICAgIChKU0M6OkdldEJ5SWRWYXJpYW50OjpvcGVyYXRvcj0pOgorICAgICAgICAoSlNDOjpHZXRC
eUlkVmFyaWFudDo6YXR0ZW1wdFRvTWVyZ2UpOgorICAgICAgICAoSlNDOjpHZXRCeUlkVmFyaWFu
dDo6ZHVtcEluQ29udGV4dCk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaDoK
KyAgICAgICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6OmRvbUpJVCk6CisgICAgICAgIChKU0M6Okdl
dEJ5SWRWYXJpYW50OjppbnRyaW5zaWMpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2V0KToKKyAg
ICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y2xvbmUpOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmg6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmRvbUpJVCk6CisgICAg
ICAgIChKU0M6OkFjY2Vzc0Nhc2U6OlJhcmVEYXRhOjpSYXJlRGF0YSk6CisgICAgICAgICogZGZn
L0RGR05vZGUuaDoKKyAgICAgICAgKiBkb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmg6IEFkZGVk
LgorICAgICAgICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6R2V0dGVyU2V0dGVyKToKKyAg
ICAgICAgKEpTQzo6RE9NSklUOjpHZXR0ZXJTZXR0ZXI6On5HZXR0ZXJTZXR0ZXIpOgorICAgICAg
ICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6Z2V0dGVyKToKKyAgICAgICAgKEpTQzo6RE9N
SklUOjpHZXR0ZXJTZXR0ZXI6OnNldHRlcik6CisgICAgICAgIChKU0M6OkRPTUpJVDo6R2V0dGVy
U2V0dGVyOjp0aGlzQ2xhc3NJbmZvKToKKyAgICAgICAgKiBkb21qaXQvRE9NSklUUGF0Y2hwb2lu
dC5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6RE9NSklUOjpQYXRjaHBvaW50OjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpET01KSVQ6OlBhdGNocG9pbnQ6OnNldEdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OkRPTUpJVDo6UGF0Y2hwb2ludDo6Z2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvUmVw
YXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRyeUNhY2hlR2V0QnlJRCk6CisgICAgICAgICogcnVu
dGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpmaWxsQ3VzdG9tR2V0dGVyUHJvcGVydHlTbG90KToK
KyAgICAgICAgKiBydW50aW1lL0xvb2t1cC5oOgorICAgICAgICAoSlNDOjpIYXNoVGFibGVWYWx1
ZTo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6Z2V0U3RhdGljUHJvcGVydHlTbG90RnJvbVRhYmxl
KToKKyAgICAgICAgKEpTQzo6cHV0RW50cnkpOgorICAgICAgICAoSlNDOjpyZWlmeVN0YXRpY1By
b3BlcnR5KToKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5U2xvdC5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eVNsb3Q6OmRvbUpJVCk6CisgICAgICAgIChKU0M6OlByb3BlcnR5U2xvdDo6c2V0
Q2FjaGVhYmxlQ3VzdG9tKToKKwogMjAxNi0xMC0wNCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBGb2xsb3cgdXAgZml4IHRvIEdldE1hcEJ1Y2tldCBhbmQgTWFw
SGFzaCBzcGVjdWxhdGluZyBvbiBjaGlsZCBub2RlIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxY2U1
ZDk2NTU3OGU1ZTEyNzE0YmI5ZGQyOWRmN2E4ZjA1NGJkMzIuLmZiYTFhYWFmYTI1YjY2MDAwYmI5
YTE4NTc4MTY1YWFiZGJmNjk5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0x
MC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBb
RE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgdG8gdGVsbCBKSVQgaW5mb3Jt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Rm9yd2FyZGluZ0hlYWRlcnMvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToK
KyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdpbi5jbWFr
ZToKKwogMjAxNi0xMC0wNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW1NPVVBdIFJlbW92ZSBTU0xQb2xpY3lGbGFncyBmcm9tIFNvdXBOZXR3
b3JrU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQ2NDJhM2Y2NDMyY2YyMzM2ZDk1MzFlMGY0YzI1MTBi
ZTY1M2MxZWEuLmZhNzViMTYzNWU2NjBjNWNhZDcwMDU5M2Y2ZTNkY2FkODFkZmVmY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpH
ZXR0ZXJTZXR0ZXIgdG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisKIDIwMTYtMTAt
MDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTT1VQXSBSZW1vdmUgU1NMUG9saWN5RmxhZ3MgZnJvbSBTb3VwTmV0d29ya1Nlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwZjRlYzViZjU3YzQ0ZDVkODk0MTlm
ODRiYTAwZmNmODYwNjZmYjkzLi5kNDdjZGVmZDM4MWQ0YWM2YjAwMmQyZjQ1YzU4ZTY3Y2ZmNjgx
YmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xOCw2ICsxOCw3IEBA
IHNldChKYXZhU2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7SkFWQVNDUklQ
VENPUkVfRElSfS9kZmciCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIi
CiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIvdWRpczg2IgorICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9taml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
ZnRsIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2RlYnVnZ2VyIgpAQCAtMTA5NSw2ICsxMDk2LDcgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFUwogICAgIGRlYnVnZ2VyCiAgICAgZGZn
CiAgICAgZGlzYXNzZW1ibGVyCisgICAgZG9taml0CiAgICAgaGVhcAogICAgIGluc3BlY3Rvcgog
ICAgIGludGVycHJldGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZTU3NzJh
MGU3ZGVjYjNlMTMxOTFiZDg1OTQwNmZkZjljNWZlNTYuLjFmMDM2OWE5ODYwNjdhOWQxYTRmZjU1
MWE5YjVjMGZkOTc4OWYwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNzEs
NyArMjcxLDcgQEAKIAkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0
aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5oICovOyB9
OwogCQkwRjJERDgxNTFBQjNEOEJFMDBCQkI4RTggLyogREZHRm9yQWxsS2lsbHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODEwMUFCM0Q4QkUw
MEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oICovOyB9OwogCQkwRjJFODkyQzE2RDAyOEFEMDA5
RTRGRDIgLyogVW51c2VkUG9pbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjU5ODdGMkYxNjgyOEE3RTAwM0MyRjhEIC8qIFVudXNlZFBvaW50ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjJF
ODkyRDE2RDAyQkFGMDA5RTRGRDIgLyogREZHTWluaWZpZWRJRC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1MTAxNkIzQTk2NDAwM0Y2OTZCIC8q
IERGR01pbmlmaWVkSUQuaCAqLzsgfTsKKwkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQyIC8qIERG
R01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjRCNTEwMTZCM0E5NjQwMDNGNjk2QiAvKiBERkdNaW5pZmllZElELmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYyRkM3NzIxNkUxMkY3
MTAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkZDNzcwMTZFMTJGNkYwMDM4RDk3NiAvKiBERkdEQ0VQaGFz
ZS5jcHAgKi87IH07CiAJCTBGMkZDNzczMTZFMTJGNzQwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkM3NzEx
NkUxMkY2RjAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmggKi87IH07CiAJCTBGMkZDQ0Y5MThBNjAw
NzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJGQ0NGMjE4QTYwMDcwMDAxQTI3RjggLyogREZH
R3JhcGhTYWZlcG9pbnQuY3BwICovOyB9OwpAQCAtMjA2Nyw2ICsyMDY3LDggQEAKIAkJRTE4RTNB
NTkwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEUzQTU3MERGOTI3OEMwMEQ5MEIzNCAvKiBWTS5jcHAgKi87
IH07CiAJCUUzMThDQkMwMUI4QUVGNTEwMEEyOTI5RCAvKiBKU01vZHVsZU5hbWVzcGFjZU9iamVj
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE4
Q0JCRTFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwICovOyB9
OwogCQlFMzE4Q0JDMTFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMThDQkJG
MUI4QUVGNTEwMEEyOTI5RCAvKiBKU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzMjhDNkM3MURBNDMwNDUw
MEQyNTVGRCAvKiBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU4NjAxNzcxODVBOEY1RTAwMDMwRUVF
IC8qIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTMyOEM2QzgxREE0MzA2MTAwRDI1NUZEIC8q
IFJlZ2lzdGVyQXRPZmZzZXRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTQwQzc5RDFCODJEOTlEMDAwRjZCNzkgLyogUmVnaXN0ZXJBdE9mZnNl
dExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzI4REFFNzFEMzhEMDA0MDAxQTI1MjkgLyogQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNEMjY0
MjYxRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcCAqLzsg
fTsKIAkJRTMyOERBRTgxRDM4RDAwNTAwMUEyNTI5IC8qIEJ5dGVjb2RlR2VuZXJhdG9yaWZpY2F0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0Qy
NjQyNzFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzI4REFFOTFE
MzhEMDA1MDAxQTI1MjkgLyogQnl0ZWNvZGVHcmFwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNEMjY0MjgxRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVj
b2RlR3JhcGguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMjEwMCwxMCArMjEwMiwxMiBAQAogCQlFMzlEQTRBNjFCN0U4QjdDMDA4NEYzM0EgLyog
SlNNb2R1bGVSZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTM5REE0QTQxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCAq
LzsgfTsKIAkJRTM5REE0QTcxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzlEQTRBNTFCN0U4
QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0E0MjE0MzFENkY1ODkzMDAwN0M2MTcgLyogUHJl
Y2lzZUp1bXBUYXJnZXRzSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTNBNDIxNDIxRDZGNTg4RjAwMDdDNjE3IC8qIFByZWNpc2VKdW1wVGFy
Z2V0c0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlFM0MwOEUzQzFEQTQxQjgxMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMDhFM0IxREE0
MUI3QjAwMzk0NzhGIC8qIERPTUpJVFBhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0QyMzlDODFCODI5QzFDMDBCQkVGNjcgLyog
SlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0QyMzlDNjFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9u
bWVudC5jcHAgKi87IH07CiAJCUUzRDIzOUM5MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVu
dmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFM0QyMzlDNzFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzRUY4ODc0MUI2
NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUY4ODcyMUI2NkRGMjMwMDNGMjZD
QiAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJRTNFRjg4NzUxQjY2REYy
MzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUY4ODczMUI2NkRGMjMwMDNGMjZDQiAvKiBK
U1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRTNGRjc1MzMxRDlDRUExODAwQzdFMTZEIC8qIERPTUpJVEdldHRl
clNldHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNGRjc1MkYxRDlDRUExMjAwQzdFMTZEIC8qIERPTUpJVEdldHRlclNldHRlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0OURDMTZCMTJFRjI5
M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTU1MTJFRjI3NzIwMDE4NEExRiAvKiBT
b3VyY2VQcm92aWRlckNhY2hlLmNwcCAqLzsgfTsKIAkJRTQ5REMxNkMxMkVGMjk0RTAwMTg0QTFG
IC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0OURDMTUxMTJFRjI3MjIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRl
ckNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRTQ5REMxNkQxMkVGMjk1MzAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlEQzE0OTEy
RUYyNjFBMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDM5Niw2ICs0NDAwLDcgQEAK
IAkJRTM5REE0QTQxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9kdWxlUmVjb3JkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5REE0QTUxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9k
dWxlUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9kdWxlUmVj
b3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQTQyMTQyMUQ2RjU4OEYwMDA3
QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFByZWNpc2VKdW1wVGFyZ2V0c0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRTNDMDhFM0IxREE0MUI3QjAwMzk0NzhGIC8qIERPTUpJVFBhdGNocG9p
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUUGF0Y2hwb2ludC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QyMzlDNjFCODI5QzFDMDBCQkVGNjcg
LyogSlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU01vZHVsZUVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTNEMjM5QzcxQjgyOUMxQzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJvbm1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGVFbnZpcm9ubWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QyNjQyNjFEMzhDMDQyMDAwQkUxNzQgLyog
Qnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDQwNSw2ICs0NDEwLDcgQEAKIAkJRTNEMjY0MkExRDM4QzA0MjAw
MEJFMTc0IC8qIEJ5dGVjb2RlUmV3cml0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQnl0ZWNvZGVSZXdyaXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
M0VGODg3MjFCNjZERjIzMDAzRjI2Q0IgLyogSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNFRjg4NzMxQjY2REYyMzAwM0Yy
NkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlFM0ZGNzUyRjFEOUNFQTEyMDBDN0UxNkQgLyogRE9NSklUR2V0dGVyU2V0dGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEdldHRlclNldHRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE0OTEyRUYyNjFBMDAxODRBMUYgLyog
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTQ5REMxNTExMkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlUHJvdmlkZXJDYWNoZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE1NTEyRUYyNzcyMDAxODRBMUYgLyogU291
cmNlUHJvdmlkZXJDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTb3VyY2VQcm92aWRlckNhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTQ2NjIsNiArNDY2OCw3IEBACiAJCQkJNjUwRkRGOEQwOUQwRkNBNzAwNzY5RTU0IC8qIERlcml2
ZWQgU291cmNlcyAqLywKIAkJCQk4NkVDOURCMzEzMjhERjQ0MDAyQjJBRDcgLyogZGZnICovLAog
CQkJCTBGRjQyNzJFMTU4RUJDQ0UwMDRDQjlGRiAvKiBkaXNhc3NlbWJsZXIgKi8sCisJCQkJRTNG
Rjc1MkQxRDlDRTlFQTAwQzdFMTZEIC8qIGRvbWppdCAqLywKIAkJCQkwODY3RDY5QUZFODQwMjhG
QzAyQUFDMDcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQkwRkVBMDlGQzE3MDUxMzdGMDBCQjcyMkMg
LyogZnRsICovLAogCQkJCTE0MkUzMTJBMTM0RkYwQTYwMEFGQURCNSAvKiBoZWFwICovLApAQCAt
NzE2Nyw2ICs3MTc0LDE1IEBACiAJCQlwYXRoID0gY29kZWdlbjsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCUUzRkY3NTJEMUQ5Q0U5RUEwMEM3RTE2RCAvKiBkb21qaXQgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUUzRkY3NTJGMUQ5
Q0VBMTIwMEM3RTE2RCAvKiBET01KSVRHZXR0ZXJTZXR0ZXIuaCAqLywKKwkJCQlFM0MwOEUzQjFE
QTQxQjdCMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSBkb21qaXQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBCWEdy
b3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LwpAQCAtNzIyNSw2ICs3MjQxLDcgQEAKIAkJCQkwRkVDODU4QTFCREFDREM3MDA4MEZGNzQgLyog
QWlyU3BpbGxFdmVyeXRoaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU4QzFCREFDREM3
MDA4MEZGNzQgLyogQWlyU3RhY2tTbG90LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU4RTFC
REFDREM3MDA4MEZGNzQgLyogQWlyVG1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzI4QzZDODFE
QTQzMDYxMDBEMjU1RkQgLyogUmVnaXN0ZXJBdE9mZnNldExpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGRUM4NThGMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJUbXBJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkVDODU5MTFCREFDREM3MDA4MEZGNzQgLyogQWlyVmFsaWRhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1RUE3MEU5MTlGNUIxMDEwMDk4RjVFQyAvKiBBbHRlcm5hdGVEaXNw
YXRjaGFibGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCkBAIC03NDUxLDYgKzc0NjgsNyBAQAogCQkJ
CTBGMkREODEyMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJERDgxNDFBQjNEOEJFMDBCQkI4RTggLyogREZHQXJn
dW1lbnRzVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ4NTMyMjE4Nzc1MDU2MDA4
M0I2ODcgLyogREZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFM0MwOEUzQzFEQTQx
QjgxMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYw
NUMzQjQxNjgzQ0Y5MjAwQkFGNDVCIC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3QyAvKiBERkdBcnJheU1v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAvKiBERkdB
dFRhaWxBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTc2MTIsNiArNzYzMCw3IEBA
CiAJCQkJMEZDMjBDQkExODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGOUZCNEY1MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xh
eW91dFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjRGMjlFMDE4QjZBRDFDMDA1N0JDMTUg
LyogREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCUUzRkY3NTMzMUQ5Q0VBMTgwMEM3RTE2RCAvKiBET01KSVRHZXR0ZXJTZXR0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGOUUzMjY0MUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJh
cnJpZXJJbnNlcnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDMjBDQjYxODUyRTJD
NjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVl
LmggaW4gSGVhZGVycyAqLywKQEAgLTc4MzYsNiArNzg1NSw3IEBACiAJCQkJQTU3RDIzRTYxODkw
Q0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1RDBBMUJCMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTU5NDU1OTUxODI0NzlFQjAwQ0MzODQzIC8qIEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTMyOEM2QzcxREE0MzA0NTAwRDI1
NUZEIC8qIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTMyNDM4QTE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVy
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlGMUE3MDExQjk4RkJFQzAwNDYzQjI2IC8qIEluc3Bl
Y3RvckZyb250ZW5kUm91dGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMzOUVDNjFCQjM5OUE2
MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAppbmRleCAxNWIz
YzgxM2NiOGJlODA3MzNlM2I0MTVmNmE5OGU3ZjlhYzhkZDRmLi5jYjc2ZDA1ZjA5ZjE4NjY2NGFj
YjNiYmUwZmM3ODg2OTJmMDEwODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCkBAIC0zNyw2ICszNyw5IEBACiAjaW5jbHVkZSA8d3Rm
L0xpc3REdW1wLmg+CiAKIG5hbWVzcGFjZSBKU0MgeworbmFtZXNwYWNlIERPTUpJVCB7CitjbGFz
cyBHZXR0ZXJTZXR0ZXI7Cit9CiAKIGJvb2wgR2V0QnlJZFN0YXR1czo6YXBwZW5kVmFyaWFudChj
b25zdCBHZXRCeUlkVmFyaWFudCYgdmFyaWFudCkKIHsKQEAgLTIxNSw2ICsyMTgsNyBAQCBHZXRC
eUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhvdXRFeGl0U2l0
ZUZlZWRiYWNrKAogICAgICAgICAgICAgY2FzZSBDb21wbGV4R2V0U3RhdHVzOjpJbmxpbmVhYmxl
OiB7CiAgICAgICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENhbGxMaW5rU3RhdHVzPiBjYWxs
TGlua1N0YXR1czsKICAgICAgICAgICAgICAgICBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlv
biA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJ
VCA9IG51bGxwdHI7CiAKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGFjY2Vzcy50eXBlKCkpIHsK
ICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc0Nhc2U6OkxvYWQ6CkBAIC0yMzQsNiArMjM4LDEy
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91
dEV4aXRTaXRlRmVlZGJhY2soCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgQWNj
ZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JHZXR0ZXI6IHsKKyAgICAgICAgICAgICAgICAgICAgZG9t
SklUID0gYWNjZXNzLmRvbUpJVCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWRvbUpJVCkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3Rh
dGUsIHRydWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgZGVmYXVsdDogewogICAgICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogSXQgd291bGQgYmUgdG90YWxseSBzd2VldCB0byBzdXBwb3J0IG1vcmUgb2YgdGhlc2UgYXQg
c29tZSBwb2ludCBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgLy8gZnV0dXJlLiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMDUyCkBAIC0yNDQsNyArMjU0LDgg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRob3V0
RXhpdFNpdGVGZWVkYmFjaygKICAgICAgICAgICAgICAgICBHZXRCeUlkVmFyaWFudCB2YXJpYW50
KAogICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVTZXQoc3RydWN0dXJlKSwgY29tcGxleEdl
dFN0YXR1cy5vZmZzZXQoKSwKICAgICAgICAgICAgICAgICAgICAgY29tcGxleEdldFN0YXR1cy5j
b25kaXRpb25TZXQoKSwgV1RGTW92ZShjYWxsTGlua1N0YXR1cyksCi0gICAgICAgICAgICAgICAg
ICAgIGludHJpbnNpY0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgaW50cmluc2ljRnVu
Y3Rpb24sCisgICAgICAgICAgICAgICAgICAgIGRvbUpJVCk7CiAKICAgICAgICAgICAgICAgICBp
ZiAoIXJlc3VsdC5hcHBlbmRWYXJpYW50KHZhcmlhbnQpKQogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkVmFyaWFudC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuY3BwCmluZGV4IGE4NjlkNGEx
Yzk0ZTdlNDc1NzMxNzQ0YzdiMzAzZDUwNjVlMGY0MzEuLjAzMTcwODRkMDk5Y2FiNzBhNDQxNTBi
NjRmOTE5NmU1NjY3YmE0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkVmFyaWFudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldEJ5SWRWYXJpYW50LmNwcApAQCAtMzYsMTIgKzM2LDE0IEBAIEdldEJ5SWRWYXJpYW50
OjpHZXRCeUlkVmFyaWFudCgKICAgICBjb25zdCBTdHJ1Y3R1cmVTZXQmIHN0cnVjdHVyZVNldCwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LAogICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsCiAgICAgc3RkOjp1bmlxdWVfcHRyPENhbGxMaW5rU3RhdHVzPiBj
YWxsTGlua1N0YXR1cywKLSAgICBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbikKKyAgICBK
U0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbiwKKyAgICBET01KSVQ6OkdldHRlclNldHRlciog
ZG9tSklUKQogICAgIDogbV9zdHJ1Y3R1cmVTZXQoc3RydWN0dXJlU2V0KQogICAgICwgbV9jb25k
aXRpb25TZXQoY29uZGl0aW9uU2V0KQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICwgbV9j
YWxsTGlua1N0YXR1cyhXVEZNb3ZlKGNhbGxMaW5rU3RhdHVzKSkKICAgICAsIG1faW50cmluc2lj
RnVuY3Rpb24oaW50cmluc2ljRnVuY3Rpb24pCisgICAgLCBtX2RvbUpJVChkb21KSVQpCiB7CiAg
ICAgaWYgKCFzdHJ1Y3R1cmVTZXQuc2l6ZSgpKSB7CiAgICAgICAgIEFTU0VSVChvZmZzZXQgPT0g
aW52YWxpZE9mZnNldCk7CkBAIC02NSw2ICs2Nyw3IEBAIEdldEJ5SWRWYXJpYW50JiBHZXRCeUlk
VmFyaWFudDo6b3BlcmF0b3I9KGNvbnN0IEdldEJ5SWRWYXJpYW50JiBvdGhlcikKICAgICBtX2Nv
bmRpdGlvblNldCA9IG90aGVyLm1fY29uZGl0aW9uU2V0OwogICAgIG1fb2Zmc2V0ID0gb3RoZXIu
bV9vZmZzZXQ7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbiA9IG90aGVyLm1faW50cmluc2ljRnVu
Y3Rpb247CisgICAgbV9kb21KSVQgPSBvdGhlci5tX2RvbUpJVDsKICAgICBpZiAob3RoZXIubV9j
YWxsTGlua1N0YXR1cykKICAgICAgICAgbV9jYWxsTGlua1N0YXR1cyA9IHN0ZDo6bWFrZV91bmlx
dWU8Q2FsbExpbmtTdGF0dXM+KCpvdGhlci5tX2NhbGxMaW5rU3RhdHVzKTsKICAgICBlbHNlCkBA
IC0xMDMsNiArMTA2LDkgQEAgYm9vbCBHZXRCeUlkVmFyaWFudDo6YXR0ZW1wdFRvTWVyZ2UoY29u
c3QgR2V0QnlJZFZhcmlhbnQmIG90aGVyKQogICAgIGlmICghY2FuTWVyZ2VJbnRyaW5zaWNTdHJ1
Y3R1cmVzKG90aGVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fZG9tSklU
ICE9IG90aGVyLm1fZG9tSklUKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAobV9j
b25kaXRpb25TZXQuaXNFbXB0eSgpICE9IG90aGVyLm1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIApAQCAtMTM4LDYgKzE0NCw4IEBAIHZvaWQgR2V0
QnlJZFZhcmlhbnQ6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQq
IGNvbnRleHQpIGNvbnN0CiAgICAgICAgIG91dC5wcmludCgiLCBjYWxsID0gIiwgKm1fY2FsbExp
bmtTdGF0dXMpOwogICAgIGlmIChtX2ludHJpbnNpY0Z1bmN0aW9uKQogICAgICAgICBvdXQucHJp
bnQoIiwgaW50cmluc2ljID0gIiwgKm1faW50cmluc2ljRnVuY3Rpb24pOworICAgIGlmIChtX2Rv
bUpJVCkKKyAgICAgICAgb3V0LnByaW50KCIsIGN1c3RvbSA9ICIsIFJhd1BvaW50ZXIobV9kb21K
SVQpKTsKICAgICBvdXQucHJpbnQoIj4iKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaAppbmRleCA2NjIxODliY2U1ZjJlYjFhMTNiZDA1
M2U5ODAwMjFjMTNjMjY2ZTY2Li44ZGVkMjQ4Njc1Zjg3MWQ3OTA4ZjIyYTU2OTQzNzI5NzhiODk1
M2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZh
cmlhbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlh
bnQuaApAQCAtMzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVNldC5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKK25hbWVzcGFjZSBET01KSVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOworfQog
CiBjbGFzcyBDYWxsTGlua1N0YXR1czsKIGNsYXNzIEdldEJ5SWRTdGF0dXM7CkBAIC00Myw3ICs0
Niw4IEBAIGNsYXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICAgICAgY29uc3QgU3RydWN0dXJlU2V0
JiBzdHJ1Y3R1cmVTZXQgPSBTdHJ1Y3R1cmVTZXQoKSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
aW52YWxpZE9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PENhbGxMaW5rU3RhdHVzPiA9IG51bGxwdHIsCi0gICAgICAgIEpTRnVuY3Rpb24qID0gbnVsbHB0
cik7CisgICAgICAgIEpTRnVuY3Rpb24qID0gbnVsbHB0ciwKKyAgICAgICAgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIqID0gbnVsbHB0cik7CiAKICAgICB+R2V0QnlJZFZhcmlhbnQoKTsKICAgICAKQEAg
LTYyLDYgKzY2LDcgQEAgY2xhc3MgR2V0QnlJZFZhcmlhbnQgewogICAgIENhbGxMaW5rU3RhdHVz
KiBjYWxsTGlua1N0YXR1cygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbExpbmtTdGF0dXMuZ2V0KCk7
IH0KICAgICBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
aW50cmluc2ljRnVuY3Rpb247IH0KICAgICBJbnRyaW5zaWMgaW50cmluc2ljKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnRyaW5zaWNGdW5jdGlvbiA/IG1faW50cmluc2ljRnVuY3Rpb24tPmludHJpbnNp
YygpIDogTm9JbnRyaW5zaWM7IH0KKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKCkg
Y29uc3QgeyByZXR1cm4gbV9kb21KSVQ7IH0KIAogICAgIGJvb2wgaXNQcm9wZXJ0eVVuc2V0KCkg
Y29uc3QgeyByZXR1cm4gb2Zmc2V0KCkgPT0gaW52YWxpZE9mZnNldDsgfQogCkBAIC04MCw2ICs4
NSw3IEBAIGNsYXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICBQcm9wZXJ0eU9mZnNldCBtX29mZnNl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FsbExpbmtTdGF0dXM+IG1fY2FsbExpbmtTdGF0dXM7
CiAgICAgSlNGdW5jdGlvbiogbV9pbnRyaW5zaWNGdW5jdGlvbjsKKyAgICBET01KSVQ6OkdldHRl
clNldHRlciogbV9kb21KSVQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCmluZGV4
IDJjZjI2NjcwODY2NDZmMjAyYTA0YzZhMDc0MjljODFhNzVlOTQ2NDMuLjlhOGE4ZTUyMDA5OGE5
NmFlNmRjODUwOWYwMmYxNTMxYTAwMTI1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApAQCAtMjIwLDcgKzIyMCw3IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjp0cnlHZXQoCiBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Z2V0KAogICAgIFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLAogICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25k
aXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0g
ICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UpCisgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVy
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQp
CiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgQWNjZXNzQ2Fz
ZSgpKTsKIApAQCAtMjI5LDEyICsyMjksMTMgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IEFjY2Vzc0Nhc2U6OmdldCgKICAgICByZXN1bHQtPm1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIs
IHN0cnVjdHVyZSk7CiAgICAgcmVzdWx0LT5tX2NvbmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsK
IAotICAgIGlmICh2aWFQcm94eSB8fCBhZGRpdGlvbmFsU2V0IHx8IHJlc3VsdC0+ZG9lc0NhbGxz
KCkgfHwgY3VzdG9tR2V0dGVyIHx8IGN1c3RvbVNsb3RCYXNlKSB7CisgICAgaWYgKHZpYVByb3h5
IHx8IGFkZGl0aW9uYWxTZXQgfHwgcmVzdWx0LT5kb2VzQ2FsbHMoKSB8fCBjdXN0b21HZXR0ZXIg
fHwgY3VzdG9tU2xvdEJhc2UgfHwgZG9tSklUKSB7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0
YSA9IHN0ZDo6bWFrZV91bmlxdWU8UmFyZURhdGE+KCk7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJl
RGF0YS0+dmlhUHJveHkgPSB2aWFQcm94eTsKICAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5h
ZGRpdGlvbmFsU2V0ID0gYWRkaXRpb25hbFNldDsKICAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRh
LT5jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgICAgIHJlc3VsdC0+
bV9yYXJlRGF0YS0+Y3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgY3VzdG9t
U2xvdEJhc2UpOworICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEtPmRvbUpJVCA9IGRvbUpJVDsK
ICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzg1LDYgKzM4Niw3IEBAIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjbG9uZSgpIGNvbnN0CiAgICAgICAgIHJl
c3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tQWNjZXNzb3Iub3BhcXVlID0gcmFyZURhdGEtPmN1c3Rv
bUFjY2Vzc29yLm9wYXF1ZTsKICAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5jdXN0b21TbG90
QmFzZSA9IHJhcmVEYXRhLT5jdXN0b21TbG90QmFzZTsKICAgICAgICAgcmVzdWx0LT5tX3JhcmVE
YXRhLT5pbnRyaW5zaWNGdW5jdGlvbiA9IHJhcmVEYXRhLT5pbnRyaW5zaWNGdW5jdGlvbjsKKyAg
ICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5kb21KSVQgPSByYXJlRGF0YS0+ZG9tSklUOwogICAg
IH0KICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAppbmRleCBhNmQxNDhjYmZiMGYxOWY4YjM3YTE3
NzM4MWUwMDgxMzcyYjg0OTIyLi45NzBhMjM1YmZkZTMyZTYzYWY2Yjk1ZGFmZjczMjNjMmI5NDhj
NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuaApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CituYW1lc3BhY2UgRE9NSklUIHsKK2NsYXNzIEdldHRlclNldHRlcjsK
K30KIAogY2xhc3MgQ29kZUJsb2NrOwogY2xhc3MgUG9seW1vcnBoaWNBY2Nlc3M7CkBAIC0xMzAs
NyArMTMzLDggQEAgY2xhc3MgQWNjZXNzQ2FzZSB7CiAgICAgICAgIGJvb2wgdmlhUHJveHkgPSBm
YWxzZSwKICAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsCiAg
ICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CisgICAgICAgIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSA9IG51bGxwdHIsCisgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiA9IG51
bGxwdHIpOwogICAgIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbWVn
YW1vcnBoaWNMb2FkKFZNJiwgSlNDZWxsKiBvd25lcik7CiAgICAgCkBAIC0xODYsNiArMTkwLDEy
IEBAIGNsYXNzIEFjY2Vzc0Nhc2UgewogICAgICAgICByZXR1cm4gaW50cmluc2ljRnVuY3Rpb24o
KS0+aW50cmluc2ljKCk7CiAgICAgfQogCisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJ
VCgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9yYXJlRGF0YSk7CisgICAgICAgIHJl
dHVybiBtX3JhcmVEYXRhLT5kb21KSVQ7CisgICAgfQorCiAgICAgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9yYXJlRGF0YSA/IG1f
cmFyZURhdGEtPmFkZGl0aW9uYWxTZXQuZ2V0KCkgOiBudWxscHRyOwpAQCAtMjg0LDYgKzI5NCw3
IEBAIGNsYXNzIEFjY2Vzc0Nhc2UgewogICAgIHB1YmxpYzoKICAgICAgICAgUmFyZURhdGEoKQog
ICAgICAgICAgICAgOiB2aWFQcm94eShmYWxzZSkKKyAgICAgICAgICAgICwgZG9tSklUKG51bGxw
dHIpCiAgICAgICAgIHsKICAgICAgICAgICAgIGN1c3RvbUFjY2Vzc29yLm9wYXF1ZSA9IG51bGxw
dHI7CiAgICAgICAgIH0KQEAgLTMwMCw2ICszMTEsNyBAQCBjbGFzcyBBY2Nlc3NDYXNlIHsKICAg
ICAgICAgfSBjdXN0b21BY2Nlc3NvcjsKICAgICAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBj
dXN0b21TbG90QmFzZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IGludHJpbnNp
Y0Z1bmN0aW9uOworICAgICAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUOwogICAgIH07
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDRiYWU5YWU5NjM2MDljM2YzNzMwNmIxNGY1NzJmMmI0
ZmFjNTc0NGIuLjk5YTgyYzljZDk2YWE3OGMzYjA0MGVjNTRlZDllZTEyZjAxZGU4MjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC01OCw2ICs1OCwxMCBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAorbmFtZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJTZXR0ZXI7Cit9CisK
IG5hbWVzcGFjZSBQcm9maWxlciB7CiBjbGFzcyBFeGVjdXRpb25Db3VudGVyOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzFlNzM5M2M4MDc0MTQ1NzNkNDZkZjIzZGM5NzIwYjNiZDAwZjQzZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVy
LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NSklUUGF0Y2hwb2ludC5oIgor
I2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgor
I2luY2x1ZGUgIlNwZWN1bGF0ZWRUeXBlLmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RE9NSklUIHsKKworY2xhc3MgR2V0dGVyU2V0dGVyIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIEN1c3RvbUdldHRlcjsKKyAgICB0eXBlZGVmIFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIEN1c3RvbVNldHRlcjsKKworICAgIEdldHRlclNldHRl
cihDdXN0b21HZXR0ZXIgZ2V0dGVyLCBDdXN0b21TZXR0ZXIgc2V0dGVyLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbykKKyAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCisgICAgICAgICwgbV9z
ZXR0ZXIoc2V0dGVyKQorICAgICAgICAsIG1fdGhpc0NsYXNzSW5mbyhjbGFzc0luZm8pCisgICAg
eworICAgIH0KKworICAgIHZpcnR1YWwgfkdldHRlclNldHRlcigpIHsgfQorCisgICAgQ3VzdG9t
R2V0dGVyIGdldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2V0dGVyOyB9CisgICAgQ3VzdG9tU2V0
dGVyIHNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGVyOyB9CisgICAgY29uc3QgQ2xhc3NJ
bmZvKiB0aGlzQ2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gbV90aGlzQ2xhc3NJbmZvOyB9CisK
KyNpZiBFTkFCTEUoSklUKQorICAgIHZpcnR1YWwgUmVmPERPTUpJVDo6UGF0Y2hwb2ludD4gY2Fs
bERPTSgpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxET01KSVQ6OlBhdGNocG9pbnQ+IGNoZWNrRE9N
KCkgPSAwOworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgQ3VzdG9tR2V0dGVyIG1fZ2V0dGVyOwor
ICAgIEN1c3RvbVNldHRlciBtX3NldHRlcjsKKyAgICBjb25zdCBDbGFzc0luZm8qIG1fdGhpc0Ns
YXNzSW5mbzsKK307CisKK30gfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rv
bWppdC9ET01KSVRQYXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZG9taml0L0RP
TUpJVFBhdGNocG9pbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmRjMDk5MDEwZDk2Y2E1ZDMwMzE4OGJjYmMz
NzgyMjc4ODhlOWI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rv
bWppdC9ET01KSVRQYXRjaHBvaW50LmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEpJVCkKKworI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyU2V0
LmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRE9NSklUIHsKKworY2xhc3MgUGF0Y2hw
b2ludFBhcmFtczsKKwordHlwZWRlZiBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IFBhdGNocG9pbnRH
ZW5lcmF0b3JGdW5jdGlvbihDQ2FsbEhlbHBlcnMmLCBjb25zdCBQYXRjaHBvaW50UGFyYW1zJik7
Cit0eXBlZGVmIFNoYXJlZFRhc2s8UGF0Y2hwb2ludEdlbmVyYXRvckZ1bmN0aW9uPiBQYXRjaHBv
aW50R2VuZXJhdG9yOworCisvLyBET01KSVQgcGF0Y2hwb2ludCBpcyB0aGUgd2F5IHRvIGluamVj
dCBhbiBvcGFxdWUgY29kZSBnZW5lcmF0b3IgaW50byBERkcgYW5kIEZUTC4KKy8vIFdoaWxlIEIz
OjpQYXRjaHBvaW50IGlzIHNlbGYtY29udGFpbmVkIGFib3V0IGl0cyBjb21waWxhdGlvbiBpbmZv
cm1hdGlvbiwKKy8vIERPTUpJVDo6UGF0Y2hwb2ludCBkZXBlbmRzIG9uIHdoaWNoIERGRyBOb2Rl
IGludm9rZXMuIEZvciBleGFtcGxlLCBDaGVja0RPTSB3aWxsCisvLyBsaW5rIHJldHVybmVkIGZh
aWx1cmVDYXNlcyB0byBCYWRUeXBlIE9TUkV4aXQsIGJ1dCB0aGlzIGluZm9ybWF0aW9uIGlzIG9m
ZmVyZWQKKy8vIGZyb20gQ2hlY2tET00gREZHIE5vZGUsIG5vdCBmcm9tIHRoaXMgcGF0Y2hwb2lu
dC4gVGhpcyBwYXRjaHBvaW50IG1haW5seSBmb2N1c2VzCisvLyBvbiBpbmplY3RpbmcgYSBzbmlw
cGV0IGdlbmVyYXRvciB0aGF0IGNhbiB0ZWxsIHJlZ2lzdGVyIHVzYWdlIGFuZCBjYW4gYmUgdXNl
ZAorLy8gaW4gYm90aCBERkcgYW5kIEZUTC4KK2NsYXNzIFBhdGNocG9pbnQgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8UGF0Y2hwb2ludD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
UGF0Y2hwb2ludD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBhdGNocG9pbnQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4K
KyAgICB2b2lkIHNldEdlbmVyYXRvcihjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQorICAgIHsKKyAg
ICAgICAgbV9nZW5lcmF0b3IgPSBjcmVhdGVTaGFyZWRUYXNrPFBhdGNocG9pbnRHZW5lcmF0b3JG
dW5jdGlvbj4oZnVuY3Rvcik7CisgICAgfQorCisgICAgUmVmUHRyPFBhdGNocG9pbnRHZW5lcmF0
b3I+IGdlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2VuZXJhdG9yOyB9CisKKyAgICB1aW50
OF90IG51bUdQU2NyYXRjaFJlZ2lzdGVycyB7IDAgfTsKKyAgICB1aW50OF90IG51bUZQU2NyYXRj
aFJlZ2lzdGVycyB7IDAgfTsKKworcHJpdmF0ZToKKyAgICBQYXRjaHBvaW50KCkgPSBkZWZhdWx0
OworCisgICAgUmVmUHRyPFBhdGNocG9pbnRHZW5lcmF0b3I+IG1fZ2VuZXJhdG9yOworfTsKKwor
fSB9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggZDQ1
OTM5YzU5NTlhODA3ZDQ1MDViOTRlYTNjZWExNTVmZmY1YzRiOC4uMjU4MWMyNWQ2YWZjMWEzZWQw
ZmY0YWVkYTQwZGI0NDlhYTQ4NjE3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ2FsbEZyYW1lU2h1ZmZsZXIuaCIKICNp
bmNsdWRlICJERkdPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiREZHU3BlY3VsYXRpdmVKSVQuaCIK
KyNpbmNsdWRlICJET01KSVRHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJEaXJlY3RBcmd1bWVu
dHMuaCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJHQ0F3YXJlSklUU3R1YlJv
dXRpbmUuaCIKQEAgLTI2MCw2ICsyNjEsMTAgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb24KICAg
ICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkKICAgICAgICAgICAgIGdldHRlciA9
IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHNsb3QuZ2V0dGVyU2V0dGVyKCktPmdldHRlcigp
KTsKIAorICAgICAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gbnVsbHB0cjsKKyAg
ICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSAmJiBzbG90LmRvbUpJVCgpKQorICAg
ICAgICAgICAgZG9tSklUID0gc2xvdC5kb21KSVQoKTsKKwogICAgICAgICBpZiAoa2luZCA9PSBH
ZXRCeUlES2luZDo6UHVyZSkgewogICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0
eXBlOwogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpKQpAQCAtMjkwLDcg
KzI5NSw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0
YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAgICAgICAgICAgICBuZXdDYXNlID0g
QWNjZXNzQ2FzZTo6Z2V0KAogICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksCiAgICAg
ICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVDdXN0b20o
KSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAotICAgICAgICAgICAgICAgIHNsb3Qu
aXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIpOworICAgICAg
ICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51
bGxwdHIsCisgICAgICAgICAgICAgICAgZG9tSklUKTsKICAgICAgICAgfQogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaApp
bmRleCBkNzAyZGRmNGRhMDU3NjkwNWY3OWNlYWQ2MGI2YTIzY2RiOWMzNjY2Li40NGI3MzA2YTU4
OTk1OWFmMmZiZTM2ZDE1MTAwNjY0ZDRhMDY4ZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaApAQCAtMzEsNiArMzEsOSBAQAog
I2luY2x1ZGUgIlN0cnVjdHVyZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsKK25hbWVzcGFjZSBET01K
SVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOworfQogCiBjbGFzcyBDdXN0b21HZXR0ZXJTZXR0ZXIg
ZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKIHB1YmxpYzoKQEAgLTQwLDE1ICs0MywxNiBAQCBjbGFz
cyBDdXN0b21HZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICB0eXBlZGVm
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIEN1c3RvbUdldHRlcjsKICAgICB0eXBlZGVmIFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIEN1c3RvbVNldHRlcjsKIAotICAgIHN0YXRpYyBD
dXN0b21HZXR0ZXJTZXR0ZXIqIGNyZWF0ZShWTSYgdm0sIEN1c3RvbUdldHRlciBjdXN0b21HZXR0
ZXIsIEN1c3RvbVNldHRlciBjdXN0b21TZXR0ZXIpCisgICAgc3RhdGljIEN1c3RvbUdldHRlclNl
dHRlciogY3JlYXRlKFZNJiB2bSwgQ3VzdG9tR2V0dGVyIGN1c3RvbUdldHRlciwgQ3VzdG9tU2V0
dGVyIGN1c3RvbVNldHRlciwgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IG51bGxwdHIp
CiAgICAgewotICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRlclNldHRlciA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEN1c3RvbUdldHRlclNldHRlcj4odm0uaGVhcCkp
IEN1c3RvbUdldHRlclNldHRlcih2bSwgY3VzdG9tR2V0dGVyLCBjdXN0b21TZXR0ZXIpOworICAg
ICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRlclNldHRlciA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEN1c3RvbUdldHRlclNldHRlcj4odm0uaGVhcCkpIEN1c3RvbUdldHRl
clNldHRlcih2bSwgY3VzdG9tR2V0dGVyLCBjdXN0b21TZXR0ZXIsIGRvbUpJVCk7CiAgICAgICAg
IGN1c3RvbUdldHRlclNldHRlci0+ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICByZXR1cm4g
Y3VzdG9tR2V0dGVyU2V0dGVyOwogICAgIH0KIAogICAgIEN1c3RvbUdldHRlclNldHRlcjo6Q3Vz
dG9tR2V0dGVyIGdldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2V0dGVyOyB9CiAgICAgQ3VzdG9t
R2V0dGVyU2V0dGVyOjpDdXN0b21TZXR0ZXIgc2V0dGVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0
ZXI7IH0KKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKCkgY29uc3QgeyByZXR1cm4g
bV9kb21KSVQ7IH0KIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogICAg
IHsKQEAgLTU4LDE1ICs2MiwxNyBAQCBjbGFzcyBDdXN0b21HZXR0ZXJTZXR0ZXIgZmluYWwgOiBw
dWJsaWMgSlNDZWxsIHsKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgotICAg
IEN1c3RvbUdldHRlclNldHRlcihWTSYgdm0sIEN1c3RvbUdldHRlciBnZXR0ZXIsIEN1c3RvbVNl
dHRlciBzZXR0ZXIpCisgICAgQ3VzdG9tR2V0dGVyU2V0dGVyKFZNJiB2bSwgQ3VzdG9tR2V0dGVy
IGdldHRlciwgQ3VzdG9tU2V0dGVyIHNldHRlciwgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJ
VCkKICAgICAgICAgOiBKU0NlbGwodm0sIHZtLmN1c3RvbUdldHRlclNldHRlclN0cnVjdHVyZS5n
ZXQoKSkKICAgICAgICAgLCBtX2dldHRlcihnZXR0ZXIpCiAgICAgICAgICwgbV9zZXR0ZXIoc2V0
dGVyKQorICAgICAgICAsIG1fZG9tSklUKGRvbUpJVCkKICAgICB7CiAgICAgfQogCiAgICAgQ3Vz
dG9tR2V0dGVyIG1fZ2V0dGVyOwogICAgIEN1c3RvbVNldHRlciBtX3NldHRlcjsKKyAgICBET01K
SVQ6OkdldHRlclNldHRlciogbV9kb21KSVQ7CiB9OwogCiBKU19FWFBPUlRfUFJJVkFURSBib29s
IGNhbGxDdXN0b21TZXR0ZXIoRXhlY1N0YXRlKiwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpDdXN0b21T
ZXR0ZXIsIGJvb2wgaXNBY2Nlc3NvciwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggNjk1YmZiNzJlZmQ0Njc2
ZmZhYjFiZDVjNjJkZDI2NDU3ODA1ZTg5MC4uYTYwOWE0OGM5MDg2YzQzYmQ0ZmJlMTVjYjdlZDk5
YzczODQ0Zjk1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBA
IC0xMjkwLDcgKzEyOTAsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OmZpbGxDdXN0
b21HZXR0ZXJQcm9wZXJ0eVNsb3QoUHJvcGVydHlTbG90JiBzbG90LCBKUwogCiAgICAgLy8gVGhp
cyBhY2Nlc3MgaXMgY2FjaGVhYmxlIGJlY2F1c2UgU3RydWN0dXJlIHJlcXVpcmVzIGFuIGF0dHJp
YnV0ZUNoYW5nZWRUcmFuc2l0aW9uCiAgICAgLy8gaWYgdGhpcyBwcm9wZXJ0eSBzdG9wcyBiZWlu
ZyBhbiBhY2Nlc3Nvci4KLSAgICBzbG90LnNldENhY2hlYWJsZUN1c3RvbSh0aGlzLCBhdHRyaWJ1
dGVzLCBqc0Nhc3Q8Q3VzdG9tR2V0dGVyU2V0dGVyKj4oY3VzdG9tR2V0dGVyU2V0dGVyKS0+Z2V0
dGVyKCkpOworICAgIHNsb3Quc2V0Q2FjaGVhYmxlQ3VzdG9tKHRoaXMsIGF0dHJpYnV0ZXMsIGpz
Q2FzdDxDdXN0b21HZXR0ZXJTZXR0ZXIqPihjdXN0b21HZXR0ZXJTZXR0ZXIpLT5nZXR0ZXIoKSwg
anNDYXN0PEN1c3RvbUdldHRlclNldHRlcio+KGN1c3RvbUdldHRlclNldHRlciktPmRvbUpJVCgp
KTsKIH0KIAogLy8gSXQgbWF5IHNlZW0gY3JhenkgdG8gaW5saW5lIGEgZnVuY3Rpb24gdGhpcyBs
YXJnZSwgZXNwZWNpYWxseSBhIHZpcnR1YWwgZnVuY3Rpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xvb2t1cC5oCmluZGV4IDY5MmQ3Yzc4OWZlZDQ3YjVhZDc0MGM5YmRhNzJjNjYyNGE2
NWE0ZTcuLjdlMWIyMjUyZWYwYTIzNTI5MzJmMzYzMWY1ODk4OTU3YTA0OGE2YWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVk
ZSAiQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIK
ICNpbmNsdWRlICJDdXN0b21HZXR0ZXJTZXR0ZXIuaCIKKyNpbmNsdWRlICJET01KSVRHZXR0ZXJT
ZXR0ZXIuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllcklu
bGluZXMuaCIKICNpbmNsdWRlICJJbnRyaW5zaWMuaCIKQEAgLTQ2LDYgKzQ3LDcgQEAgdHlwZWRl
ZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKIHR5cGVkZWYgUHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgUHV0RnVuY3Rpb247CiB0eXBlZGVmIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogKCpCdWlsdGluR2VuZXJhdG9yKShWTSYpOwogdHlwZWRlZiBKU1ZhbHVlICgqTGF6
eVByb3BlcnR5Q2FsbGJhY2spKFZNJiwgSlNPYmplY3QqKTsKK3R5cGVkZWYgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIqICgqRE9NSklUR2V0dGVyU2V0dGVyR2VuZXJhdG9yKSh2b2lkKTsKIAogLy8gSGFz
aCB0YWJsZSBnZW5lcmF0ZWQgYnkgdGhlIGNyZWF0ZV9oYXNoX3RhYmxlIHNjcmlwdC4KIHN0cnVj
dCBIYXNoVGFibGVWYWx1ZSB7CkBAIC03OCw2ICs4MCw4IEBAIHN0cnVjdCBIYXNoVGFibGVWYWx1
ZSB7CiAgICAgR2V0RnVuY3Rpb24gcHJvcGVydHlHZXR0ZXIoKSBjb25zdCB7IEFTU0VSVCghKG1f
YXR0cmlidXRlcyAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3Nvck9yTGF6eVByb3BlcnR5T3JD
b25zdGFudCkpOyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxHZXRGdW5jdGlvbj4obV92YWx1ZXMu
dmFsdWUxKTsgfQogICAgIFB1dEZ1bmN0aW9uIHByb3BlcnR5UHV0dGVyKCkgY29uc3QgeyBBU1NF
UlQoIShtX2F0dHJpYnV0ZXMgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3JPckxhenlQcm9w
ZXJ0eU9yQ29uc3RhbnQpKTsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UHV0RnVuY3Rpb24+KG1f
dmFsdWVzLnZhbHVlMik7IH0KIAorICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQoKSBj
b25zdCB7IEFTU0VSVChtX2F0dHJpYnV0ZXMgJiBET01KSVRBdHRyaWJ1dGUpOyByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxET01KSVRHZXR0ZXJTZXR0ZXJHZW5lcmF0b3I+KG1fdmFsdWVzLnZhbHVl
MSkoKTsgfQorCiAgICAgTmF0aXZlRnVuY3Rpb24gYWNjZXNzb3JHZXR0ZXIoKSBjb25zdCB7IEFT
U0VSVChtX2F0dHJpYnV0ZXMgJiBBY2Nlc3Nvcik7IHJldHVybiByZWludGVycHJldF9jYXN0PE5h
dGl2ZUZ1bmN0aW9uPihtX3ZhbHVlcy52YWx1ZTEpOyB9CiAgICAgTmF0aXZlRnVuY3Rpb24gYWNj
ZXNzb3JTZXR0ZXIoKSBjb25zdCB7IEFTU0VSVChtX2F0dHJpYnV0ZXMgJiBBY2Nlc3Nvcik7IHJl
dHVybiByZWludGVycHJldF9jYXN0PE5hdGl2ZUZ1bmN0aW9uPihtX3ZhbHVlcy52YWx1ZTIpOyB9
CiAgICAgQnVpbHRpbkdlbmVyYXRvciBidWlsdGluQWNjZXNzb3JHZXR0ZXJHZW5lcmF0b3IoKSBj
b25zdDsKQEAgLTIyNCw2ICsyMjgsMTIgQEAgaW5saW5lIGJvb2wgZ2V0U3RhdGljUHJvcGVydHlT
bG90RnJvbVRhYmxlKFZNJiB2bSwgY29uc3QgSGFzaFRhYmxlJiB0YWJsZSwgSlNPYmoKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBE
T01KSVRBdHRyaWJ1dGUpIHsKKyAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9
IGVudHJ5LT5kb21KSVQoKTsKKyAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpc09i
amVjdCwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShlbnRyeS0+YXR0cmlidXRlcygpKSwgZG9tSklU
LT5nZXR0ZXIoKSwgZG9tSklUKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAgICAg
c2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpc09iamVjdCwgYXR0cmlidXRlc0ZvclN0cnVjdHVy
ZShlbnRyeS0+YXR0cmlidXRlcygpKSwgZW50cnktPnByb3BlcnR5R2V0dGVyKCkpOwogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtMjU5LDYgKzI2OSw3IEBAIGlubGluZSBib29sIHB1dEVudHJ5KEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5LCBKU09iamVjdCogYmFz
CiAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgc2xvdC5pc1N0cmljdE1vZGUoKSwgU3RyaWN0
TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKIAogICAgIGlmICghKGVudHJ5LT5hdHRy
aWJ1dGVzKCkgJiBSZWFkT25seSkpIHsKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKGVu
dHJ5LT5hdHRyaWJ1dGVzKCkgJiBET01KSVRBdHRyaWJ1dGUpLCAiRE9NSklUQXR0cmlidXRlIHN1
cHBvcnRzIHJlYWRvbmx5IGF0dHJpYnV0ZXMgY3VycmVudGx5LiIpOwogICAgICAgICBib29sIGlz
QWNjZXNzb3IgPSBlbnRyeS0+YXR0cmlidXRlcygpICYgQ3VzdG9tQWNjZXNzb3I7CiAgICAgICAg
IEpTVmFsdWUgdXBkYXRlVGhpc1ZhbHVlID0gZW50cnktPmF0dHJpYnV0ZXMoKSAmIEN1c3RvbUFj
Y2Vzc29yID8gc2xvdC50aGlzVmFsdWUoKSA6IEpTVmFsdWUoYmFzZSk7CiAgICAgICAgIGJvb2wg
cmVzdWx0ID0gY2FsbEN1c3RvbVNldHRlcihleGVjLCBlbnRyeS0+cHJvcGVydHlQdXR0ZXIoKSwg
aXNBY2Nlc3NvciwgdXBkYXRlVGhpc1ZhbHVlLCB2YWx1ZSk7CkBAIC0zMzYsNiArMzQ3LDEzIEBA
IGlubGluZSB2b2lkIHJlaWZ5U3RhdGljUHJvcGVydHkoVk0mIHZtLCBjb25zdCBQcm9wZXJ0eU5h
bWUmIHByb3BlcnR5TmFtZSwgY29uc3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
ICh2YWx1ZS5hdHRyaWJ1dGVzKCkgJiBET01KSVRBdHRyaWJ1dGUpIHsKKyAgICAgICAgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IHZhbHVlLmRvbUpJVCgpOworICAgICAgICBDdXN0b21H
ZXR0ZXJTZXR0ZXIqIGN1c3RvbUdldHRlclNldHRlciA9IEN1c3RvbUdldHRlclNldHRlcjo6Y3Jl
YXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBkb21KSVQtPnNldHRlcigpLCBkb21KSVQpOworICAg
ICAgICB0aGlzT2JqLnB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBwcm9wZXJ0eU5hbWUsIGN1
c3RvbUdldHRlclNldHRlciwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZSh2YWx1ZS5hdHRyaWJ1dGVz
KCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEN1c3RvbUdldHRlclNldHRlciog
Y3VzdG9tR2V0dGVyU2V0dGVyID0gQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIHZhbHVl
LnByb3BlcnR5R2V0dGVyKCksIHZhbHVlLnByb3BlcnR5UHV0dGVyKCkpOwogICAgIHRoaXNPYmou
cHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHByb3BlcnR5TmFtZSwgY3VzdG9tR2V0dGVyU2V0
dGVyLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHZhbHVlLmF0dHJpYnV0ZXMoKSkpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAppbmRleCBlMTM3ZDg0
NWQ1ZmMzMTM4ODY1ZDE3NmEyMmE3ZTNiZDUxN2NlYjEzLi45ZGUxNTFhNTZhYTI3NTZjZmQwYzYw
MDM2NjgyNjZiMTlmOTkzMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eVNsb3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm9wZXJ0eVNsb3QuaApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewotCituYW1lc3BhY2UgRE9NSklUIHsKK2NsYXNzIEdldHRl
clNldHRlcjsKK30KIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEdldHRlclNldHRlcjsKIGNsYXNz
IEpTT2JqZWN0OwpAQCAtNDgsNiArNTAsNyBAQCBlbnVtIEF0dHJpYnV0ZSB7CiAgICAgQ2VsbFBy
b3BlcnR5ICAgICAgPSAxIDw8IDExLCAvLyBwcm9wZXJ0eSBpcyBhIGxhenkgcHJvcGVydHkgLSBv
bmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMKICAgICBDbGFzc1N0cnVjdHVyZSAgICA9IDEg
PDwgMTIsIC8vIHByb3BlcnR5IGlzIGEgbGF6eSBjbGFzcyBzdHJ1Y3R1cmUgLSBvbmx5IHVzZWQg
Ynkgc3RhdGljIGhhc2h0YWJsZXMKICAgICBQcm9wZXJ0eUNhbGxiYWNrICA9IDEgPDwgMTMsIC8v
IHByb3BlcnR5IHRoYXQgaXMgYSBsYXp5IHByb3BlcnR5IGNhbGxiYWNrIC0gb25seSB1c2VkIGJ5
IHN0YXRpYyBoYXNodGFibGVzCisgICAgRE9NSklUQXR0cmlidXRlICAgPSAxIDw8IDE0LCAvLyBw
cm9wZXJ0eSBpcyBhIERPTSBKSVQgYXR0cmlidXRlIC0gb25seSB1c2VkIGJ5IHN0YXRpYyBoYXNo
dGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rpb24gPSBCdWlsdGluIHwgRnVuY3Rpb24sIC8vIGhl
bHBlciBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMKICAgICBCdWlsdGluT3JGdW5jdGlv
bk9yTGF6eVByb3BlcnR5ID0gQnVpbHRpbiB8IEZ1bmN0aW9uIHwgQ2VsbFByb3BlcnR5IHwgQ2xh
c3NTdHJ1Y3R1cmUgfCBQcm9wZXJ0eUNhbGxiYWNrLCAvLyBoZWxwZXIgb25seSB1c2VkIGJ5IHN0
YXRpYyBoYXNodGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yT3JMYXp5UHJv
cGVydHkgPSBCdWlsdGluIHwgRnVuY3Rpb24gfCBBY2Nlc3NvciB8IENlbGxQcm9wZXJ0eSB8IENs
YXNzU3RydWN0dXJlIHwgUHJvcGVydHlDYWxsYmFjaywgLy8gaGVscGVyIG9ubHkgdXNlZCBieSBz
dGF0aWMgaGFzaHRhYmxlcwpAQCAtMTU3LDYgKzE2MCwxMSBAQCBjbGFzcyBQcm9wZXJ0eVNsb3Qg
ewogICAgICAgICByZXR1cm4gbV93YXRjaHBvaW50U2V0OwogICAgIH0KIAorICAgIERPTUpJVDo6
R2V0dGVyU2V0dGVyKiBkb21KSVQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZG9t
SklUOworICAgIH0KKwogICAgIHZvaWQgc2V0VmFsdWUoSlNPYmplY3QqIHNsb3RCYXNlLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGF0
dHJpYnV0ZXMgPT0gYXR0cmlidXRlc0ZvclN0cnVjdHVyZShhdHRyaWJ1dGVzKSk7CkBAIC0yMTEs
NyArMjE5LDcgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAgICAgICAgbV9vZmZzZXQgPSBpbnZh
bGlkT2Zmc2V0OwogICAgIH0KICAgICAKLSAgICB2b2lkIHNldENhY2hlYWJsZUN1c3RvbShKU09i
amVjdCogc2xvdEJhc2UsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIEdldFZhbHVlRnVuYyBnZXRWYWx1
ZSkKKyAgICB2b2lkIHNldENhY2hlYWJsZUN1c3RvbShKU09iamVjdCogc2xvdEJhc2UsIHVuc2ln
bmVkIGF0dHJpYnV0ZXMsIEdldFZhbHVlRnVuYyBnZXRWYWx1ZSwgRE9NSklUOjpHZXR0ZXJTZXR0
ZXIqIGRvbUpJVCA9IG51bGxwdHIpCiAgICAgewogICAgICAgICBBU1NFUlQoYXR0cmlidXRlcyA9
PSBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKGF0dHJpYnV0ZXMpKTsKICAgICAgICAgCkBAIC0yMjMs
NiArMjMxLDcgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAgICAgICAgbV9zbG90QmFzZSA9IHNs
b3RCYXNlOwogICAgICAgICBtX3Byb3BlcnR5VHlwZSA9IFR5cGVDdXN0b207CiAgICAgICAgIG1f
b2Zmc2V0ID0gIWludmFsaWRPZmZzZXQ7CisgICAgICAgIG1fZG9tSklUID0gZG9tSklUOwogICAg
IH0KIAogICAgIHZvaWQgc2V0Q3VzdG9tR2V0dGVyU2V0dGVyKEpTT2JqZWN0KiBzbG90QmFzZSwg
dW5zaWduZWQgYXR0cmlidXRlcywgQ3VzdG9tR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIpCkBA
IC0zMTgsNiArMzI3LDcgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsKICAgICBDYWNoZWFiaWxpdHlU
eXBlIG1fY2FjaGVhYmlsaXR5OwogICAgIFByb3BlcnR5VHlwZSBtX3Byb3BlcnR5VHlwZTsKICAg
ICBJbnRlcm5hbE1ldGhvZFR5cGUgbV9pbnRlcm5hbE1ldGhvZFR5cGU7CisgICAgRE9NSklUOjpH
ZXR0ZXJTZXR0ZXIqIG1fZG9tSklUIHsgbnVsbHB0ciB9OwogICAgIGJvb2wgbV9pc1RhaW50ZWRC
eU9wYXF1ZU9iamVjdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2RvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL2RvbWppdC9ET01KSVRHZXR0ZXJTZXR0ZXIuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NzA0NDFjYmM1NGE4NzQwYjczNmUzMDM4Y2QxNDE4YWE1MGJmZGM2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvZG9taml0L0RPTUpJVEdldHRlclNl
dHRlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9ET01KSVRHZXR0ZXJT
ZXR0ZXJfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9ET01KSVRHZXR0ZXJTZXR0ZXJfaAorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0RPTUpJVEdldHRlclNldHRlci5oPgorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtRWZsLmNtYWtlCmluZGV4IDZmNjg3ZThlY2Q3M2RhODhiNDlkODc5NzU4Y2FiZDU1Njdm
MDM3MmEuLjdlOTlhNDkxZTY0ODc2ZDBjYTg2MTNhZGM0OTIwM2NiYTRmZDYxOWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVf
SU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYnl0ZWNvbXBp
bGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGZnIgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vZGlzYXNzZW1ibGVyIgorICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9taml0
IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBUQ09S
RV9ESVJ9L2RlYnVnZ2VyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW50ZXJwcmV0ZXIi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDQxYmUyODMxMjk5N2E0ODgzYzk4ZjllYTFi
ZjYxNWNhOWQ4MjViOWYuLmFkMjdlNTZjMDdjZTNmNmNlMDM0YTFhZDdhM2NhNmQ3MDJmMTliYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xOSw2ICsxOSw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
Ynl0ZWNvbXBpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGZnIgogICAgICIke0pB
VkFTQ1JJUFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyIgorICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vZG9taml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZB
U0NSSVBUQ09SRV9ESVJ9L2RlYnVnZ2VyIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW50
ZXJwcmV0ZXIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDM0YjhkYjI3MGJmNjk0YjJl
MDdkMTg0OTFhYTg3NDY3NDM1NjdmYzguLmI3MDc5YjdmZmMyZDNlODI5N2NhNzk2YjBmMjAyNzQz
NDNmNTY4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC03OSw2ICs3OSw3IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElS
fS9Gb3J3YXJkaW5nSGVhZGVycyIKICAgICAiJHtXRUJDT1JFX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMvYmluZGluZ3MiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL2J5dGVj
b2RlIgorICAgICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9kb21qaXQiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL2RlYnVnZ2VyIgogICAgICIke1dFQkNP
UkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9oZWFwIgogICAgICIke1dFQkNPUkVfRElSfS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IGFl
ZDhkZWIwYTI4ODc3ZDk1NjZkMzc4YmQ1OWFkY2QwZWY4YTdjZWQuLmEzOGZlMTkzZWNjYTMwN2Qx
NTk1YWI0YmEzN2FmMjVjNmM1MjEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRm
b3JtV2luLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0x
NSw2ICsxNSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlciIKICAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVh
ZGVycy9KYXZhU2NyaXB0Q29yZS9kZmciCiAgICAgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9y
d2FyZGluZ0hlYWRlcnMvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyIgorICAgICIke0RFUklW
RURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3JlL2RvbWppdCIK
ICAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0
Q29yZS9oZWFwIgogICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJz
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyIgogICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0Zv
cndhcmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3Rz
LnR4dAppbmRleCA0N2QyOTRkZDQ5NWEzMTM3ZDc2ZmYwODg2ZWY1MTNiN2JmYzQ4ZWU2Li4yYzIx
OWI1ZGE3NDc1OWQ0MjAzMTlkNGFiOGFkY2YwY2FkMjljODMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4
dApAQCAtMTQ5LDYgKzE0OSw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2NvbGxlY3Rvci9oYW5kbGVzIgogICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vZGZnIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGlzYXNzZW1i
bGVyIgorICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9taml0IgogICAgICIke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ludGVycHJldGVy
IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaml0IgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZhNDcyNzAyNWI3NzllMDEwMDc0NjJiOWU5
ODJjZTI3OTg0M2Q4YTAuLjVlOWU5YzUxNmQ5NDViNGNmNjZhYzkwMDI5MjY1MzJlNGIyOTlhMDYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIg
dG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTYt
MTAtMDQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
TWVkaWEgY29udHJvbHMgYXJlIGRpc3BsYXllZCBpbiB0aGUgaW5jb3JyZWN0IHN0YXRlIG1vbWVu
dGFyaWx5IGFmdGVyIHN3aXRjaGluZyBiZXR3ZWVuIHRhYnMgcGxheWluZyBtZWRpYQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5MThmZTRkMjJmZmU2ZmRkYmIyOWQyNGM0YWM1
YTNhOGVhYTJmZDJkLi5iYWY3YzEzYzU3MjFhZTZjMThjMDMzN2M0MGY4NGRhOWQ3MWFlYmRlIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9DTWFrZUxpc3RzLnR4dApAQCAtNTcsNiArNTcsNyBAQCBzZXQoRHVt
cFJlbmRlclRyZWVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICR7SkFWQVNDUklQVENPUkVfRElS
fS9ieXRlY29kZQogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9kZmcKICAgICAke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vZGlzYXNzZW1ibGVyCisgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RvbWpp
dAogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9oZWFwCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9E
SVJ9L2ludGVycHJldGVyCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ppdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290632</attachid>
            <date>2016-10-04 12:04:01 -0700</date>
            <delta_ts>2016-10-04 12:04:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162916-20161004120051.patch</filename>
            <type>text/plain</type>
            <size>49236</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzkzYWEyNDUzMzhhZTU4NmNkM2VmODAwNDNlYWY1NzliNjdkNzc1Li4zZTE3ZWQ3MWU5MmYyZDcw
YzI0NDcyNDZhMGY4MjI1NjYyMGFkNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIg
dG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZSBET01KSVQ6OkdldHRl
clNldHRlci4KKyAgICAgICAgVGhpcyBjbGFzcyBtYWludGFpbnMgaW5mb3JtYXRpb24gcmVxdWly
ZWQgdG8gZW1pdCBKSVQgY29kZSBpbiBERkcgYW5kIEZUTC4KKyAgICAgICAgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIgaGFzIDIgdmlydHVhbCBmdW5jdGlvbnM6IGNoZWNrRE9NIGFuZCBjYWxsRE9NLgor
ICAgICAgICBUaGVzZSBmdW5jdGlvbnMgY2FuIHJldHVybiBhIERPTUpJVDo6UGF0Y2hwb2ludCB0
aGF0IGFsbG93cyB1cyB0byBpbmplY3QKKyAgICAgICAgYXBwcm9wcmlhdGUgbWFjaGluZSBjb2Rl
IGR1cmluZyBERkcgYW5kIEZUTCBwaGFzZXMuIERGRyBhbmQgRlRMIHdpbGwgaW52b2tlCisgICAg
ICAgIHRoZXNlIGZ1bmN0aW9ucyB0byBnZXQgYSBwYXRjaHBvaW50LiBBbmQgdGhpcyBwYXRjaHBv
aW50IHdpbGwgYmUgdXNlZCB0bworICAgICAgICBlbWl0IGNvZGUgY29ycmVzcG9uZGluZyB0byBD
aGVja0RPTSBhbmQgQ2FsbERPTSBERkcgbm9kZXMsIHdoaWNoIHdpbGwgYmUgYWRkZWQKKyAgICAg
ICAgaW4gc3Vic3FldW50IHBhdGNoLgorCisgICAgICAgIFdlIHByb3BhZ2F0ZSBET01KSVQ6Okdl
dHRlclNldHRlciB0aHJvdWdoIFByb3BlcnR5U2xvdCwgQWNjZXNzQ2FzZSwgR2V0QnlJZFZhcmlh
bnQsCisgICAgICAgIGFuZCBHZXRCeUlkU3RhdHVzIGFsb25nIHdpdGggQ3VzdG9tR2V0dGVyIHRv
IHRlYWNoIERGRyB0aGF0IHRoaXMgY3VzdG9tIGFjY2VzcworICAgICAgICBjb2RlIGhhcyBhIGNo
YW5jZSB0byBiZSBpbmxpbmVkIHdpdGggdGhpcyBET01KSVQ6OkdldHRlclNldHRlciBpbmZvcm1h
dGlvbi4KKyAgICAgICAgSW5zdGVhZCBvZiBwcm9wYWdhdGluZyBDdXN0b21HZXR0ZXJTZXR0ZXIg
aG9sZGluZyBET01KSVQ6OkdldHRlclNldHRlciBhbmQgQ3VzdG9tR2V0dGVyLAorICAgICAgICB3
ZSBwcm9wYWdhdGUgQ3VzdG9tR2V0dGVyIGFuZCBET01KSVQ6OkdldHRlclNldHRlci4gVGhpcyBp
cyBiZWNhdXNlIG9mIHRoZSBjdXJyZW50CisgICAgICAgIEN1c3RvbUdldHRlclNldHRlciBkZXNp
Z24gdGhhdCB3ZSByZWlmeSBDdXN0b21HZXR0ZXJTZXR0ZXJzIG9ubHkgd2hlbiB3ZSBuZWVkIHRv
IHJlaWZ5CisgICAgICAgIGFsbCB0aGUgcHJvcGVydGllcy4gVGhpcyBkZXNpZ24gYWxsb3dzIHVz
IHRvIGF2b2lkIGZyZXF1ZW50IEN1c3RvbUdldHRlclNldHRlciBhbGxvY2F0aW9ucworICAgICAg
ICBhbmQgc3RydWN0dXJlIHRyYW5zaXRpb25zLgorCisgICAgICAgIEN1cnJlbnRseSwgZG9tSklU
IGZpZWxkIGlzIGFsd2F5cyBudWxscHRyIHNpbmNlIHRoZXJlIGlzIG5vIERPTUpJVEF0dHJpYnV0
ZSB1c2VyLgorICAgICAgICBXaGVuIHdlIGFkZCB0aGlzLCB3ZSB3aWxsIGFkZCBjb2RlIGhhbmRs
aW5nIHRoaXMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgaW4gREZHOjpCeXRlQ29kZVBhcnNlci4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhv
dXRFeGl0U2l0ZUZlZWRiYWNrKToKKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkVmFyaWFudC5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRWYXJpYW50OjpHZXRCeUlkVmFyaWFudCk6CisgICAg
ICAgIChKU0M6OkdldEJ5SWRWYXJpYW50OjpvcGVyYXRvcj0pOgorICAgICAgICAoSlNDOjpHZXRC
eUlkVmFyaWFudDo6YXR0ZW1wdFRvTWVyZ2UpOgorICAgICAgICAoSlNDOjpHZXRCeUlkVmFyaWFu
dDo6ZHVtcEluQ29udGV4dCk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuaDoK
KyAgICAgICAgKEpTQzo6R2V0QnlJZFZhcmlhbnQ6OmRvbUpJVCk6CisgICAgICAgIChKU0M6Okdl
dEJ5SWRWYXJpYW50OjppbnRyaW5zaWMpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2V0KToKKyAg
ICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y2xvbmUpOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmg6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmRvbUpJVCk6CisgICAg
ICAgIChKU0M6OkFjY2Vzc0Nhc2U6OlJhcmVEYXRhOjpSYXJlRGF0YSk6CisgICAgICAgICogZGZn
L0RGR05vZGUuaDoKKyAgICAgICAgKiBkb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmg6IEFkZGVk
LgorICAgICAgICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6R2V0dGVyU2V0dGVyKToKKyAg
ICAgICAgKEpTQzo6RE9NSklUOjpHZXR0ZXJTZXR0ZXI6On5HZXR0ZXJTZXR0ZXIpOgorICAgICAg
ICAoSlNDOjpET01KSVQ6OkdldHRlclNldHRlcjo6Z2V0dGVyKToKKyAgICAgICAgKEpTQzo6RE9N
SklUOjpHZXR0ZXJTZXR0ZXI6OnNldHRlcik6CisgICAgICAgIChKU0M6OkRPTUpJVDo6R2V0dGVy
U2V0dGVyOjp0aGlzQ2xhc3NJbmZvKToKKyAgICAgICAgKiBkb21qaXQvRE9NSklUUGF0Y2hwb2lu
dC5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6RE9NSklUOjpQYXRjaHBvaW50OjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpET01KSVQ6OlBhdGNocG9pbnQ6OnNldEdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OkRPTUpJVDo6UGF0Y2hwb2ludDo6Z2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvUmVw
YXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRyeUNhY2hlR2V0QnlJRCk6CisgICAgICAgICogcnVu
dGltZS9DdXN0b21HZXR0ZXJTZXR0ZXIuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpmaWxsQ3VzdG9tR2V0dGVyUHJvcGVydHlTbG90KToK
KyAgICAgICAgKiBydW50aW1lL0xvb2t1cC5oOgorICAgICAgICAoSlNDOjpIYXNoVGFibGVWYWx1
ZTo6ZG9tSklUKToKKyAgICAgICAgKEpTQzo6Z2V0U3RhdGljUHJvcGVydHlTbG90RnJvbVRhYmxl
KToKKyAgICAgICAgKEpTQzo6cHV0RW50cnkpOgorICAgICAgICAoSlNDOjpyZWlmeVN0YXRpY1By
b3BlcnR5KToKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5U2xvdC5oOgorICAgICAgICAoSlND
OjpQcm9wZXJ0eVNsb3Q6OmRvbUpJVCk6CisgICAgICAgIChKU0M6OlByb3BlcnR5U2xvdDo6c2V0
Q2FjaGVhYmxlQ3VzdG9tKToKKwogMjAxNi0xMC0wNCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBGb2xsb3cgdXAgZml4IHRvIEdldE1hcEJ1Y2tldCBhbmQgTWFw
SGFzaCBzcGVjdWxhdGluZyBvbiBjaGlsZCBub2RlIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxY2U1
ZDk2NTU3OGU1ZTEyNzE0YmI5ZGQyOWRmN2E4ZjA1NGJkMzIuLmZiYTFhYWFmYTI1YjY2MDAwYmI5
YTE4NTc4MTY1YWFiZGJmNjk5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0x
MC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBb
RE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgdG8gdGVsbCBKSVQgaW5mb3Jt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Rm9yd2FyZGluZ0hlYWRlcnMvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToK
KyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdpbi5jbWFr
ZToKKwogMjAxNi0xMC0wNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW1NPVVBdIFJlbW92ZSBTU0xQb2xpY3lGbGFncyBmcm9tIFNvdXBOZXR3
b3JrU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQ2NDJhM2Y2NDMyY2YyMzM2ZDk1MzFlMGY0YzI1MTBi
ZTY1M2MxZWEuLmZhNzViMTYzNWU2NjBjNWNhZDcwMDU5M2Y2ZTNkY2FkODFkZmVmY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0xMC0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbRE9NSklUXSBJbnRyb2R1Y2UgRE9NSklUOjpH
ZXR0ZXJTZXR0ZXIgdG8gdGVsbCBKSVQgaW5mb3JtYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjkxNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisKIDIwMTYtMTAt
MDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTT1VQXSBSZW1vdmUgU1NMUG9saWN5RmxhZ3MgZnJvbSBTb3VwTmV0d29ya1Nlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwZjRlYzViZjU3YzQ0ZDVkODk0MTlm
ODRiYTAwZmNmODYwNjZmYjkzLi5kNDdjZGVmZDM4MWQ0YWM2YjAwMmQyZjQ1YzU4ZTY3Y2ZmNjgx
YmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xOCw2ICsxOCw3IEBA
IHNldChKYXZhU2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7SkFWQVNDUklQ
VENPUkVfRElSfS9kZmciCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIi
CiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIvdWRpczg2IgorICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0vZG9taml0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
ZnRsIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcCIKICAgICAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2RlYnVnZ2VyIgpAQCAtMTA5NSw2ICsxMDk2LDcgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFUwogICAgIGRlYnVnZ2VyCiAgICAgZGZn
CiAgICAgZGlzYXNzZW1ibGVyCisgICAgZG9taml0CiAgICAgaGVhcAogICAgIGluc3BlY3Rvcgog
ICAgIGludGVycHJldGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZTU3NzJh
MGU3ZGVjYjNlMTMxOTFiZDg1OTQwNmZkZjljNWZlNTYuLjkxYWJmMTZlNGNmN2U5NzIyMDE5NzJk
YzU0ZmUwOWMzMWQ0MDc1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNzEs
NyArMjcxLDcgQEAKIAkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0
aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEYyREQ4MEYxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxpdGllcy5oICovOyB9
OwogCQkwRjJERDgxNTFBQjNEOEJFMDBCQkI4RTggLyogREZHRm9yQWxsS2lsbHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkREODEwMUFCM0Q4QkUw
MEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oICovOyB9OwogCQkwRjJFODkyQzE2RDAyOEFEMDA5
RTRGRDIgLyogVW51c2VkUG9pbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjU5ODdGMkYxNjgyOEE3RTAwM0MyRjhEIC8qIFVudXNlZFBvaW50ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjJF
ODkyRDE2RDAyQkFGMDA5RTRGRDIgLyogREZHTWluaWZpZWRJRC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNEI1MTAxNkIzQTk2NDAwM0Y2OTZCIC8q
IERGR01pbmlmaWVkSUQuaCAqLzsgfTsKKwkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQyIC8qIERG
R01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjRCNTEwMTZCM0E5NjQwMDNGNjk2QiAvKiBERkdNaW5pZmllZElELmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYyRkM3NzIxNkUxMkY3
MTAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkZDNzcwMTZFMTJGNkYwMDM4RDk3NiAvKiBERkdEQ0VQaGFz
ZS5jcHAgKi87IH07CiAJCTBGMkZDNzczMTZFMTJGNzQwMDM4RDk3NiAvKiBERkdEQ0VQaGFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyRkM3NzEx
NkUxMkY2RjAwMzhEOTc2IC8qIERGR0RDRVBoYXNlLmggKi87IH07CiAJCTBGMkZDQ0Y5MThBNjAw
NzAwMDFBMjdGOCAvKiBERkdHcmFwaFNhZmVwb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjJGQ0NGMjE4QTYwMDcwMDAxQTI3RjggLyogREZH
R3JhcGhTYWZlcG9pbnQuY3BwICovOyB9OwpAQCAtMjA2Nyw2ICsyMDY3LDkgQEAKIAkJRTE4RTNB
NTkwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEUzQTU3MERGOTI3OEMwMEQ5MEIzNCAvKiBWTS5jcHAgKi87
IH07CiAJCUUzMThDQkMwMUI4QUVGNTEwMEEyOTI5RCAvKiBKU01vZHVsZU5hbWVzcGFjZU9iamVj
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE4
Q0JCRTFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwICovOyB9
OwogCQlFMzE4Q0JDMTFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMThDQkJG
MUI4QUVGNTEwMEEyOTI5RCAvKiBKU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzMjhDNkM3MURBNDMwNDUw
MEQyNTVGRCAvKiBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU4NjAxNzcxODVBOEY1RTAwMDMwRUVF
IC8qIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTMyOEM2QzgxREE0MzA2MTAwRDI1NUZEIC8q
IFJlZ2lzdGVyQXRPZmZzZXRMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTQwQzc5RDFCODJEOTlEMDAwRjZCNzkgLyogUmVnaXN0ZXJBdE9mZnNl
dExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlFMzI4QzZDOTFEQTQzMkY5MDBEMjU1RkQgLyogUmVnaXN0ZXJBdE9mZnNldC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0MEM3OUYxQjgyRDlDRTAw
MEY2Qjc5IC8qIFJlZ2lzdGVyQXRPZmZzZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzI4REFFNzFEMzhEMDA0MDAxQTI1MjkgLyogQnl0ZWNv
ZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTNEMjY0MjYxRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVjb2RlR2VuZXJh
dG9yaWZpY2F0aW9uLmNwcCAqLzsgfTsKIAkJRTMyOERBRTgxRDM4RDAwNTAwMUEyNTI5IC8qIEJ5
dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFM0QyNjQyNzFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVHZW5l
cmF0b3JpZmljYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlFMzI4REFFOTFEMzhEMDA1MDAxQTI1MjkgLyogQnl0ZWNvZGVHcmFwaC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNEMjY0MjgxRDM4
QzA0MjAwMEJFMTc0IC8qIEJ5dGVjb2RlR3JhcGguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjEwMCwxMCArMjEwMywxMiBAQAogCQlFMzlEQTRB
NjFCN0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5REE0QTQxQjdFOEI3QzAwODRGMzNBIC8q
IEpTTW9kdWxlUmVjb3JkLmNwcCAqLzsgfTsKIAkJRTM5REE0QTcxQjdFOEI3QzAwODRGMzNBIC8q
IEpTTW9kdWxlUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzlEQTRBNTFCN0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0E0MjE0MzFE
NkY1ODkzMDAwN0M2MTcgLyogUHJlY2lzZUp1bXBUYXJnZXRzSW5saW5lcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNBNDIxNDIxRDZGNTg4RjAwMDdD
NjE3IC8qIFByZWNpc2VKdW1wVGFyZ2V0c0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFM0MwOEUzQzFEQTQxQjgxMDAzOTQ3OEYgLyog
RE9NSklUUGF0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTNDMDhFM0IxREE0MUI3QjAwMzk0NzhGIC8qIERPTUpJVFBhdGNocG9pbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0QyMzlD
ODFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QyMzlDNjFCODI5QzFDMDBCQkVG
NjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgKi87IH07CiAJCUUzRDIzOUM5MUI4MjlDMUMw
MEJCRUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QyMzlDNzFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1
bGVFbnZpcm9ubWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzRUY4ODc0MUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJh
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
RUY4ODcyMUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCAqLzsg
fTsKIAkJRTNFRjg4NzUxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRUY4ODcz
MUI2NkRGMjMwMDNGMjZDQiAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTNGRjc1MzMxRDlDRUExODAw
QzdFMTZEIC8qIERPTUpJVEdldHRlclNldHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNGRjc1MkYxRDlDRUExMjAwQzdFMTZEIC8qIERPTUpJVEdl
dHRlclNldHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUU0OURDMTZCMTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTU1
MTJFRjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCAqLzsgfTsKIAkJRTQ5
REMxNkMxMkVGMjk0RTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTUxMTJFRjI3MjIwMDE4
NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ5REMxNkQxMkVGMjk1MzAwMTg0QTFGIC8qIFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNDlEQzE0OTEyRUYyNjFBMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNDM5Niw2ICs0NDAxLDcgQEAKIAkJRTM5REE0QTQxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9k
dWxlUmVjb3JkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9k
dWxlUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5REE0QTUxQjdF
OEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTTW9kdWxlUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzQTQyMTQyMUQ2RjU4OEYwMDA3QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWNpc2VKdW1wVGFyZ2V0c0lubGlu
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDMDhFM0IxREE0MUI3QjAwMzk0
NzhGIC8qIERPTUpJVFBhdGNocG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSklUUGF0Y2hwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0Qy
MzlDNjFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVsZUVudmlyb25tZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNEMjM5QzcxQjgyOUMxQzAwQkJFRjY3IC8qIEpT
TW9kdWxlRW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNN
b2R1bGVFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QyNjQy
NjFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQwNSw2ICs0NDExLDcgQEAK
IAkJRTNEMjY0MkExRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVjb2RlUmV3cml0ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZWNvZGVSZXdyaXRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFM0VGODg3MjFCNjZERjIzMDAzRjI2Q0IgLyogSlNQcm9wZXJ0
eU5hbWVJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTNFRjg4NzMxQjY2REYyMzAwM0YyNkNCIC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFM0ZGNzUyRjFEOUNFQTEyMDBDN0UxNkQgLyog
RE9NSklUR2V0dGVyU2V0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUpJVEdldHRlclNldHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE0
OTEyRUYyNjFBMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5REMxNTExMkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJj
ZVByb3ZpZGVyQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNl
UHJvdmlkZXJDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE1NTEy
RUYyNzcyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2NjIsNiArNDY2OSw3IEBACiAJCQkJNjUwRkRGOEQwOUQw
RkNBNzAwNzY5RTU0IC8qIERlcml2ZWQgU291cmNlcyAqLywKIAkJCQk4NkVDOURCMzEzMjhERjQ0
MDAyQjJBRDcgLyogZGZnICovLAogCQkJCTBGRjQyNzJFMTU4RUJDQ0UwMDRDQjlGRiAvKiBkaXNh
c3NlbWJsZXIgKi8sCisJCQkJRTNGRjc1MkQxRDlDRTlFQTAwQzdFMTZEIC8qIGRvbWppdCAqLywK
IAkJCQkwODY3RDY5QUZFODQwMjhGQzAyQUFDMDcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQkwRkVB
MDlGQzE3MDUxMzdGMDBCQjcyMkMgLyogZnRsICovLAogCQkJCTE0MkUzMTJBMTM0RkYwQTYwMEFG
QURCNSAvKiBoZWFwICovLApAQCAtNzE2Nyw2ICs3MTc1LDE1IEBACiAJCQlwYXRoID0gY29kZWdl
bjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUUzRkY3NTJEMUQ5Q0U5RUEw
MEM3RTE2RCAvKiBkb21qaXQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCUUzRkY3NTJGMUQ5Q0VBMTIwMEM3RTE2RCAvKiBET01KSVRHZXR0ZXJTZXR0ZXIu
aCAqLywKKwkJCQlFM0MwOEUzQjFEQTQxQjdCMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5o
ICovLAorCQkJKTsKKwkJCXBhdGggPSBkb21qaXQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVy
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNzIyNSw2ICs3MjQyLDcgQEAKIAkJCQkwRkVDODU4
QTFCREFDREM3MDA4MEZGNzQgLyogQWlyU3BpbGxFdmVyeXRoaW5nLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRkVDODU4QzFCREFDREM3MDA4MEZGNzQgLyogQWlyU3RhY2tTbG90LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkVDODU4RTFCREFDREM3MDA4MEZGNzQgLyogQWlyVG1wLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFMzI4QzZDODFEQTQzMDYxMDBEMjU1RkQgLyogUmVnaXN0ZXJBdE9mZnNldExp
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NThGMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJU
bXBJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU5MTFCREFDREM3MDA4MEZGNzQg
LyogQWlyVmFsaWRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1RUE3MEU5MTlGNUIxMDEwMDk4
RjVFQyAvKiBBbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCkBAIC03
NDUxLDYgKzc0NjksNyBAQAogCQkJCTBGMkREODEyMUFCM0Q4QkUwMEJCQjhFOCAvKiBERkdBcmd1
bWVudHNFbGltaW5hdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJERDgxNDFBQjNE
OEJFMDBCQkI4RTggLyogREZHQXJndW1lbnRzVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjQ4NTMyMjE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmggaW4gSGVhZGVycyAq
LywKKwkJCQlFM0MwOEUzQzFEQTQxQjgxMDAzOTQ3OEYgLyogRE9NSklUUGF0Y2hwb2ludC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYwNUMzQjQxNjgzQ0Y5MjAwQkFGNDVCIC8qIERGR0FycmF5aWZ5
U2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDg1MTVFNDgxMUIw
MDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDlBMjk1MTdB
MEJDNzQwMEVFMjYxOCAvKiBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywK
QEAgLTc2MTIsNiArNzYzMSw3IEBACiAJCQkJMEZDMjBDQkExODU1NkEzNTAwQzlFOTU0IC8qIERG
R1NTQUxvd2VyaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOUZCNEY1MTdGQ0I5MTcw
MENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjRG
MjlFMDE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9u
UGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzRkY3NTMzMUQ5Q0VBMTgwMEM3RTE2RCAvKiBE
T01KSVRHZXR0ZXJTZXR0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOUUzMjY0MUIwNUFCMDQw
MDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZDMjBDQjYxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdT
dHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLywKQEAgLTc4MzYsNiArNzg1Niw3
IEBACiAJCQkJQTU3RDIzRTYxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1RDBBMUJCMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNw
ZWN0b3JFbnZpcm9ubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU5NDU1OTUxODI0NzlFQjAw
Q0MzODQzIC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTMyOEM2QzcxREE0MzA0NTAwRDI1NUZEIC8qIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMyNDM4QTE4NTY4MzM1MDAyRUQ2OTIgLyogSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlGMUE3MDExQjk4
RkJFQzAwNDYzQjI2IC8qIEluc3BlY3RvckZyb250ZW5kUm91dGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNTMzOUVDNjFCQjM5OUE2MDA1NEYwMDUgLyogSW5zcGVjdG9ySGVhcEFnZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTgxNzIsNiArODE5Myw3IEBACiAJCQkJMEZDQ0FFNDUxNkQwQ0Y3NDAw
RDBDNjVCIC8qIFBhcnNlckVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlEQ0YzRDU2QTFDRDI5
NDcwMDAzRDVDNjUgLyogTGF6eUNsYXNzU3RydWN0dXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NzdGMTgyNTE2NDE5MkM3MDA2NDBBNDcgLyogUGFyc2VyTW9kZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzMjhDNkM5MURBNDMyRjkwMEQyNTVGRCAvKiBSZWdpc3RlckF0T2Zmc2V0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NTMwM0Q2NDE0NDdCOUUxMDBEM0Y5MDQgLyogUGFyc2VyVG9rZW5zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkY5Q0U3NDFCOUNENkQwMDA0RURDQTYgLyogUG9seW1vcnBo
aWNBY2Nlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTgzNDE4MUE2RUY5N0IwMEQwNDg0NyAv
KiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKaW5kZXggMTViM2M4
MTNjYjhiZTgwNzMzZTNiNDE1ZjZhOThlN2Y5YWM4ZGQ0Zi4uY2I3NmQwNWYwOWYxODY2NjRhY2Iz
YmJlMGZjNzg4NjkyZjAxMDgyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkU3RhdHVzLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgPHd0Zi9M
aXN0RHVtcC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKK25hbWVzcGFjZSBET01KSVQgeworY2xhc3Mg
R2V0dGVyU2V0dGVyOworfQogCiBib29sIEdldEJ5SWRTdGF0dXM6OmFwcGVuZFZhcmlhbnQoY29u
c3QgR2V0QnlJZFZhcmlhbnQmIHZhcmlhbnQpCiB7CkBAIC0yMTUsNiArMjE4LDcgQEAgR2V0QnlJ
ZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVG
ZWVkYmFjaygKICAgICAgICAgICAgIGNhc2UgQ29tcGxleEdldFN0YXR1czo6SW5saW5lYWJsZTog
ewogICAgICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua1N0YXR1cz4gY2FsbExp
bmtTdGF0dXM7CiAgICAgICAgICAgICAgICAgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24g
PSBudWxscHRyOworICAgICAgICAgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQg
PSBudWxscHRyOwogCiAgICAgICAgICAgICAgICAgc3dpdGNoIChhY2Nlc3MudHlwZSgpKSB7CiAg
ICAgICAgICAgICAgICAgY2FzZSBBY2Nlc3NDYXNlOjpMb2FkOgpAQCAtMjM0LDYgKzIzOCwxMiBA
QCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhvdXRF
eGl0U2l0ZUZlZWRiYWNrKAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjYXNlIEFjY2Vz
c0Nhc2U6OkN1c3RvbUFjY2Vzc29yR2V0dGVyOiB7CisgICAgICAgICAgICAgICAgICAgIGRvbUpJ
VCA9IGFjY2Vzcy5kb21KSVQoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFkb21KSVQpCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRl
LCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHsKICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IEl0IHdvdWxkIGJlIHRvdGFsbHkgc3dlZXQgdG8gc3VwcG9ydCBtb3JlIG9mIHRoZXNlIGF0IHNv
bWUgcG9pbnQgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgIC8vIGZ1dHVyZS4gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzA1MgpAQCAtMjQ0LDcgKzI1NCw4IEBA
IEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91dEV4
aXRTaXRlRmVlZGJhY2soCiAgICAgICAgICAgICAgICAgR2V0QnlJZFZhcmlhbnQgdmFyaWFudCgK
ICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlU2V0KHN0cnVjdHVyZSksIGNvbXBsZXhHZXRT
dGF0dXMub2Zmc2V0KCksCiAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXhHZXRTdGF0dXMuY29u
ZGl0aW9uU2V0KCksIFdURk1vdmUoY2FsbExpbmtTdGF0dXMpLAotICAgICAgICAgICAgICAgICAg
ICBpbnRyaW5zaWNGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGludHJpbnNpY0Z1bmN0
aW9uLAorICAgICAgICAgICAgICAgICAgICBkb21KSVQpOwogCiAgICAgICAgICAgICAgICAgaWYg
KCFyZXN1bHQuYXBwZW5kVmFyaWFudCh2YXJpYW50KSkKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFZhcmlhbnQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmNwcAppbmRleCBhODY5ZDRhMWM5
NGU3ZTQ3NTczMTc0NGM3YjMwM2Q1MDY1ZTBmNDMxLi5kOTQwYjYyY2FlOGMzNjQzMzk3ZTk3MmUx
MzNkNDc0ZjdiM2NiNjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0QnlJZFZhcmlhbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXRCeUlkVmFyaWFudC5jcHAKQEAgLTM2LDEyICszNiwxNCBAQCBHZXRCeUlkVmFyaWFudDo6
R2V0QnlJZFZhcmlhbnQoCiAgICAgY29uc3QgU3RydWN0dXJlU2V0JiBzdHJ1Y3R1cmVTZXQsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwKICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LAogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsTGlua1N0YXR1cz4gY2Fs
bExpbmtTdGF0dXMsCi0gICAgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCisgICAgSlNG
dW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24sCisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRv
bUpJVCkKICAgICA6IG1fc3RydWN0dXJlU2V0KHN0cnVjdHVyZVNldCkKICAgICAsIG1fY29uZGl0
aW9uU2V0KGNvbmRpdGlvblNldCkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fY2Fs
bExpbmtTdGF0dXMoV1RGTW92ZShjYWxsTGlua1N0YXR1cykpCiAgICAgLCBtX2ludHJpbnNpY0Z1
bmN0aW9uKGludHJpbnNpY0Z1bmN0aW9uKQorICAgICwgbV9kb21KSVQoZG9tSklUKQogewogICAg
IGlmICghc3RydWN0dXJlU2V0LnNpemUoKSkgewogICAgICAgICBBU1NFUlQob2Zmc2V0ID09IGlu
dmFsaWRPZmZzZXQpOwpAQCAtNjUsNiArNjcsNyBAQCBHZXRCeUlkVmFyaWFudCYgR2V0QnlJZFZh
cmlhbnQ6Om9wZXJhdG9yPShjb25zdCBHZXRCeUlkVmFyaWFudCYgb3RoZXIpCiAgICAgbV9jb25k
aXRpb25TZXQgPSBvdGhlci5tX2NvbmRpdGlvblNldDsKICAgICBtX29mZnNldCA9IG90aGVyLm1f
b2Zmc2V0OwogICAgIG1faW50cmluc2ljRnVuY3Rpb24gPSBvdGhlci5tX2ludHJpbnNpY0Z1bmN0
aW9uOworICAgIG1fZG9tSklUID0gb3RoZXIubV9kb21KSVQ7CiAgICAgaWYgKG90aGVyLm1fY2Fs
bExpbmtTdGF0dXMpCiAgICAgICAgIG1fY2FsbExpbmtTdGF0dXMgPSBzdGQ6Om1ha2VfdW5pcXVl
PENhbGxMaW5rU3RhdHVzPigqb3RoZXIubV9jYWxsTGlua1N0YXR1cyk7CiAgICAgZWxzZQpAQCAt
MTAzLDYgKzEwNiw5IEBAIGJvb2wgR2V0QnlJZFZhcmlhbnQ6OmF0dGVtcHRUb01lcmdlKGNvbnN0
IEdldEJ5SWRWYXJpYW50JiBvdGhlcikKICAgICBpZiAoIWNhbk1lcmdlSW50cmluc2ljU3RydWN0
dXJlcyhvdGhlcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX2RvbUpJVCAh
PSBvdGhlci5tX2RvbUpJVCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKG1fY29u
ZGl0aW9uU2V0LmlzRW1wdHkoKSAhPSBvdGhlci5tX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAgLTEzOCw2ICsxNDQsOCBAQCB2b2lkIEdldEJ5
SWRWYXJpYW50OjpkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiBvdXQsIER1bXBDb250ZXh0KiBj
b250ZXh0KSBjb25zdAogICAgICAgICBvdXQucHJpbnQoIiwgY2FsbCA9ICIsICptX2NhbGxMaW5r
U3RhdHVzKTsKICAgICBpZiAobV9pbnRyaW5zaWNGdW5jdGlvbikKICAgICAgICAgb3V0LnByaW50
KCIsIGludHJpbnNpYyA9ICIsICptX2ludHJpbnNpY0Z1bmN0aW9uKTsKKyAgICBpZiAobV9kb21K
SVQpCisgICAgICAgIG91dC5wcmludCgiLCBkb21qaXQgPSAiLCBSYXdQb2ludGVyKG1fZG9tSklU
KSk7CiAgICAgb3V0LnByaW50KCI+Iik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkVmFyaWFudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50LmgKaW5kZXggNjYyMTg5YmNlNWYyZWIxYTEzYmQwNTNl
OTgwMDIxYzEzYzI2NmU2Ni4uOGRlZDI0ODY3NWY4NzFkNzkwOGYyMmE1Njk0MzcyOTc4Yjg5NTNh
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJp
YW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRWYXJpYW50
LmgKQEAgLTMyLDYgKzMyLDkgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVTZXQuaCIKIAogbmFtZXNw
YWNlIEpTQyB7CituYW1lc3BhY2UgRE9NSklUIHsKK2NsYXNzIEdldHRlclNldHRlcjsKK30KIAog
Y2xhc3MgQ2FsbExpbmtTdGF0dXM7CiBjbGFzcyBHZXRCeUlkU3RhdHVzOwpAQCAtNDMsNyArNDYs
OCBAQCBjbGFzcyBHZXRCeUlkVmFyaWFudCB7CiAgICAgICAgIGNvbnN0IFN0cnVjdHVyZVNldCYg
c3RydWN0dXJlU2V0ID0gU3RydWN0dXJlU2V0KCksIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGlu
dmFsaWRPZmZzZXQsCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxD
YWxsTGlua1N0YXR1cz4gPSBudWxscHRyLAotICAgICAgICBKU0Z1bmN0aW9uKiA9IG51bGxwdHIp
OworICAgICAgICBKU0Z1bmN0aW9uKiA9IG51bGxwdHIsCisgICAgICAgIERPTUpJVDo6R2V0dGVy
U2V0dGVyKiA9IG51bGxwdHIpOwogCiAgICAgfkdldEJ5SWRWYXJpYW50KCk7CiAgICAgCkBAIC02
Miw2ICs2Niw3IEBAIGNsYXNzIEdldEJ5SWRWYXJpYW50IHsKICAgICBDYWxsTGlua1N0YXR1cyog
Y2FsbExpbmtTdGF0dXMoKSBjb25zdCB7IHJldHVybiBtX2NhbGxMaW5rU3RhdHVzLmdldCgpOyB9
CiAgICAgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lu
dHJpbnNpY0Z1bmN0aW9uOyB9CiAgICAgSW50cmluc2ljIGludHJpbnNpYygpIGNvbnN0IHsgcmV0
dXJuIG1faW50cmluc2ljRnVuY3Rpb24gPyBtX2ludHJpbnNpY0Z1bmN0aW9uLT5pbnRyaW5zaWMo
KSA6IE5vSW50cmluc2ljOyB9CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9tSklUOyB9CiAKICAgICBib29sIGlzUHJvcGVydHlVbnNldCgpIGNv
bnN0IHsgcmV0dXJuIG9mZnNldCgpID09IGludmFsaWRPZmZzZXQ7IH0KIApAQCAtODAsNiArODUs
NyBAQCBjbGFzcyBHZXRCeUlkVmFyaWFudCB7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9vZmZzZXQ7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPENhbGxMaW5rU3RhdHVzPiBtX2NhbGxMaW5rU3RhdHVzOwog
ICAgIEpTRnVuY3Rpb24qIG1faW50cmluc2ljRnVuY3Rpb247CisgICAgRE9NSklUOjpHZXR0ZXJT
ZXR0ZXIqIG1fZG9tSklUOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAppbmRleCAy
Y2YyNjY3MDg2NjQ2ZjIwMmEwNGM2YTA3NDI5YzgxYTc1ZTk0NjQzLi45YThhOGU1MjAwOThhOTZh
ZTZkYzg1MDlmMDJmMTUzMWEwMDEyNTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTIyMCw3ICsyMjAsNyBAQCBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6dHJ5R2V0KAogc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmdldCgKICAgICBWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwKICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAg
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKQorICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwg
SlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKQog
ewogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEFjY2Vzc0Nhc2Uo
KSk7CiAKQEAgLTIyOSwxMiArMjI5LDEzIEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBB
Y2Nlc3NDYXNlOjpnZXQoCiAgICAgcmVzdWx0LT5tX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBz
dHJ1Y3R1cmUpOwogICAgIHJlc3VsdC0+bV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiAK
LSAgICBpZiAodmlhUHJveHkgfHwgYWRkaXRpb25hbFNldCB8fCByZXN1bHQtPmRvZXNDYWxscygp
IHx8IGN1c3RvbUdldHRlciB8fCBjdXN0b21TbG90QmFzZSkgeworICAgIGlmICh2aWFQcm94eSB8
fCBhZGRpdGlvbmFsU2V0IHx8IHJlc3VsdC0+ZG9lc0NhbGxzKCkgfHwgY3VzdG9tR2V0dGVyIHx8
IGN1c3RvbVNsb3RCYXNlIHx8IGRvbUpJVCkgewogICAgICAgICByZXN1bHQtPm1fcmFyZURhdGEg
PSBzdGQ6Om1ha2VfdW5pcXVlPFJhcmVEYXRhPigpOwogICAgICAgICByZXN1bHQtPm1fcmFyZURh
dGEtPnZpYVByb3h5ID0gdmlhUHJveHk7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+YWRk
aXRpb25hbFNldCA9IGFkZGl0aW9uYWxTZXQ7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+
Y3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgICAgICByZXN1bHQtPm1f
cmFyZURhdGEtPmN1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNs
b3RCYXNlKTsKKyAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT5kb21KSVQgPSBkb21KSVQ7CiAg
ICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTM4NSw2ICszODYsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y2xvbmUoKSBjb25zdAogICAgICAgICByZXN1
bHQtPm1fcmFyZURhdGEtPmN1c3RvbUFjY2Vzc29yLm9wYXF1ZSA9IHJhcmVEYXRhLT5jdXN0b21B
Y2Nlc3Nvci5vcGFxdWU7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+Y3VzdG9tU2xvdEJh
c2UgPSByYXJlRGF0YS0+Y3VzdG9tU2xvdEJhc2U7CiAgICAgICAgIHJlc3VsdC0+bV9yYXJlRGF0
YS0+aW50cmluc2ljRnVuY3Rpb24gPSByYXJlRGF0YS0+aW50cmluc2ljRnVuY3Rpb247CisgICAg
ICAgIHJlc3VsdC0+bV9yYXJlRGF0YS0+ZG9tSklUID0gcmFyZURhdGEtPmRvbUpJVDsKICAgICB9
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKaW5kZXggYTZkMTQ4Y2JmYjBmMTlmOGIzN2ExNzcz
ODFlMDA4MTM3MmI4NDkyMi4uOTcwYTIzNWJmZGUzMmU2M2FmNmI5NWRhZmY3MzIzYzJiOTQ4YzY1
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmgKQEAgLTM3LDYgKzM3LDkgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5h
bWVzcGFjZSBKU0MgeworbmFtZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJTZXR0ZXI7Cit9
CiAKIGNsYXNzIENvZGVCbG9jazsKIGNsYXNzIFBvbHltb3JwaGljQWNjZXNzOwpAQCAtMTMwLDcg
KzEzMyw4IEBAIGNsYXNzIEFjY2Vzc0Nhc2UgewogICAgICAgICBib29sIHZpYVByb3h5ID0gZmFs
c2UsCiAgICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAogICAg
ICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAgICBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UgPSBudWxscHRyLAorICAgICAgICBET01KSVQ6OkdldHRlclNldHRlciogPSBudWxs
cHRyKTsKICAgICAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG1lZ2Ft
b3JwaGljTG9hZChWTSYsIEpTQ2VsbCogb3duZXIpOwogICAgIApAQCAtMTg2LDYgKzE5MCwxMiBA
QCBjbGFzcyBBY2Nlc3NDYXNlIHsKICAgICAgICAgcmV0dXJuIGludHJpbnNpY0Z1bmN0aW9uKCkt
PmludHJpbnNpYygpOwogICAgIH0KIAorICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQo
KSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fcmFyZURhdGEpOworICAgICAgICByZXR1
cm4gbV9yYXJlRGF0YS0+ZG9tSklUOworICAgIH0KKwogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEgPyBtX3Jh
cmVEYXRhLT5hZGRpdGlvbmFsU2V0LmdldCgpIDogbnVsbHB0cjsKQEAgLTI4NCw2ICsyOTQsNyBA
QCBjbGFzcyBBY2Nlc3NDYXNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFJhcmVEYXRhKCkKICAg
ICAgICAgICAgIDogdmlhUHJveHkoZmFsc2UpCisgICAgICAgICAgICAsIGRvbUpJVChudWxscHRy
KQogICAgICAgICB7CiAgICAgICAgICAgICBjdXN0b21BY2Nlc3Nvci5vcGFxdWUgPSBudWxscHRy
OwogICAgICAgICB9CkBAIC0zMDAsNiArMzExLDcgQEAgY2xhc3MgQWNjZXNzQ2FzZSB7CiAgICAg
ICAgIH0gY3VzdG9tQWNjZXNzb3I7CiAgICAgICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gY3Vz
dG9tU2xvdEJhc2U7CiAgICAgICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBpbnRyaW5zaWNG
dW5jdGlvbjsKKyAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVDsKICAgICB9Owog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJhcmVEYXRhPiBtX3JhcmVEYXRhOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaAppbmRleCA0YmFlOWFlOTYzNjA5YzNmMzczMDZiMTRmNTcyZjJiNGZh
YzU3NDRiLi45OWE4MmM5Y2Q5NmFhNzhjM2IwNDBlYzU0ZWQ5ZWUxMmYwMWRlODI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtNTgsNiArNTgsMTAgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKK25hbWVzcGFjZSBET01KSVQgeworY2xhc3MgR2V0dGVyU2V0dGVyOworfQorCiBu
YW1lc3BhY2UgUHJvZmlsZXIgewogY2xhc3MgRXhlY3V0aW9uQ291bnRlcjsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmMxZTczOTNjODA3NDE0NTczZDQ2ZGYyM2RjOTcyMGIzYmQwMGY0M2UKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZG9taml0L0RPTUpJVEdldHRlclNldHRlci5o
CkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkRPTUpJVFBhdGNocG9pbnQuaCIKKyNp
bmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKKyNp
bmNsdWRlICJTcGVjdWxhdGVkVHlwZS5oIgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERP
TUpJVCB7CisKK2NsYXNzIEdldHRlclNldHRlciB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBDdXN0b21HZXR0ZXI7CisgICAgdHlwZWRlZiBQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBDdXN0b21TZXR0ZXI7CisKKyAgICBHZXR0ZXJTZXR0ZXIo
Q3VzdG9tR2V0dGVyIGdldHRlciwgQ3VzdG9tU2V0dGVyIHNldHRlciwgY29uc3QgQ2xhc3NJbmZv
KiBjbGFzc0luZm8pCisgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQorICAgICAgICAsIG1fc2V0
dGVyKHNldHRlcikKKyAgICAgICAgLCBtX3RoaXNDbGFzc0luZm8oY2xhc3NJbmZvKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIH5HZXR0ZXJTZXR0ZXIoKSB7IH0KKworICAgIEN1c3RvbUdl
dHRlciBnZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX2dldHRlcjsgfQorICAgIEN1c3RvbVNldHRl
ciBzZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX3NldHRlcjsgfQorICAgIGNvbnN0IENsYXNzSW5m
byogdGhpc0NsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fdGhpc0NsYXNzSW5mbzsgfQorCisj
aWYgRU5BQkxFKEpJVCkKKyAgICB2aXJ0dWFsIFJlZjxET01KSVQ6OlBhdGNocG9pbnQ+IGNhbGxE
T00oKSA9IDA7CisgICAgdmlydHVhbCBSZWY8RE9NSklUOjpQYXRjaHBvaW50PiBjaGVja0RPTSgp
ID0gMDsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIEN1c3RvbUdldHRlciBtX2dldHRlcjsKKyAg
ICBDdXN0b21TZXR0ZXIgbV9zZXR0ZXI7CisgICAgY29uc3QgQ2xhc3NJbmZvKiBtX3RoaXNDbGFz
c0luZm87Cit9OworCit9IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21q
aXQvRE9NSklUUGF0Y2hwb2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RvbWppdC9ET01K
SVRQYXRjaHBvaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZkYzA5OTAxMGQ5NmNhNWQzMDMxODhiY2JjMzc4
MjI3ODg4ZTliNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21q
aXQvRE9NSklUUGF0Y2hwb2ludC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShK
SVQpCisKKyNpbmNsdWRlICJDQ2FsbEhlbHBlcnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclNldC5o
IgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERPTUpJVCB7CisKK2NsYXNzIFBhdGNocG9p
bnRQYXJhbXM7CisKK3R5cGVkZWYgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBQYXRjaHBvaW50R2Vu
ZXJhdG9yRnVuY3Rpb24oQ0NhbGxIZWxwZXJzJiwgY29uc3QgUGF0Y2hwb2ludFBhcmFtcyYpOwor
dHlwZWRlZiBTaGFyZWRUYXNrPFBhdGNocG9pbnRHZW5lcmF0b3JGdW5jdGlvbj4gUGF0Y2hwb2lu
dEdlbmVyYXRvcjsKKworLy8gRE9NSklUIHBhdGNocG9pbnQgaXMgdGhlIHdheSB0byBpbmplY3Qg
YW4gb3BhcXVlIGNvZGUgZ2VuZXJhdG9yIGludG8gREZHIGFuZCBGVEwuCisvLyBXaGlsZSBCMzo6
UGF0Y2hwb2ludCBpcyBzZWxmLWNvbnRhaW5lZCBhYm91dCBpdHMgY29tcGlsYXRpb24gaW5mb3Jt
YXRpb24sCisvLyBET01KSVQ6OlBhdGNocG9pbnQgZGVwZW5kcyBvbiB3aGljaCBERkcgTm9kZSBp
bnZva2VzLiBGb3IgZXhhbXBsZSwgQ2hlY2tET00gd2lsbAorLy8gbGluayByZXR1cm5lZCBmYWls
dXJlQ2FzZXMgdG8gQmFkVHlwZSBPU1JFeGl0LCBidXQgdGhpcyBpbmZvcm1hdGlvbiBpcyBvZmZl
cmVkCisvLyBmcm9tIENoZWNrRE9NIERGRyBOb2RlLCBub3QgZnJvbSB0aGlzIHBhdGNocG9pbnQu
IFRoaXMgcGF0Y2hwb2ludCBtYWlubHkgZm9jdXNlcworLy8gb24gaW5qZWN0aW5nIGEgc25pcHBl
dCBnZW5lcmF0b3IgdGhhdCBjYW4gdGVsbCByZWdpc3RlciB1c2FnZSBhbmQgY2FuIGJlIHVzZWQK
Ky8vIGluIGJvdGggREZHIGFuZCBGVEwuCitjbGFzcyBQYXRjaHBvaW50IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPFBhdGNocG9pbnQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBh
dGNocG9pbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQ
YXRjaHBvaW50KCkpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+Cisg
ICAgdm9pZCBzZXRHZW5lcmF0b3IoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKKyAgICB7CisgICAg
ICAgIG1fZ2VuZXJhdG9yID0gY3JlYXRlU2hhcmVkVGFzazxQYXRjaHBvaW50R2VuZXJhdG9yRnVu
Y3Rpb24+KGZ1bmN0b3IpOworICAgIH0KKworICAgIFJlZlB0cjxQYXRjaHBvaW50R2VuZXJhdG9y
PiBnZW5lcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX2dlbmVyYXRvcjsgfQorCisgICAgdWludDhf
dCBudW1HUFNjcmF0Y2hSZWdpc3RlcnMgeyAwIH07CisgICAgdWludDhfdCBudW1GUFNjcmF0Y2hS
ZWdpc3RlcnMgeyAwIH07CisKK3ByaXZhdGU6CisgICAgUGF0Y2hwb2ludCgpID0gZGVmYXVsdDsK
KworICAgIFJlZlB0cjxQYXRjaHBvaW50R2VuZXJhdG9yPiBtX2dlbmVyYXRvcjsKK307CisKK30g
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRj
aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IGQ0NTkz
OWM1OTU5YTgwN2Q0NTA1Yjk0ZWEzY2VhMTU1ZmZmNWM0YjguLjI1ODFjMjVkNmFmYzFhM2VkMGZm
NGFlZGE0MGRiNDQ5YWE0ODYxN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNw
cApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZVNodWZmbGVyLmgiCiAjaW5j
bHVkZSAiREZHT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkRGR1NwZWN1bGF0aXZlSklULmgiCisj
aW5jbHVkZSAiRE9NSklUR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRz
LmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiR0NBd2FyZUpJVFN0dWJSb3V0
aW5lLmgiCkBAIC0yNjAsNiArMjYxLDEwIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlD
YWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAgICAg
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCiAgICAgICAgICAgICBnZXR0ZXIgPSBq
c0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPihzbG90LmdldHRlclNldHRlcigpLT5nZXR0ZXIoKSk7
CiAKKyAgICAgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9IG51bGxwdHI7CisgICAg
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgJiYgc2xvdC5kb21KSVQoKSkKKyAgICAg
ICAgICAgIGRvbUpJVCA9IHNsb3QuZG9tSklUKCk7CisKICAgICAgICAgaWYgKGtpbmQgPT0gR2V0
QnlJREtpbmQ6OlB1cmUpIHsKICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlw
ZTsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSkKQEAgLTI5MCw3ICsy
OTUsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlEKEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbgogICAgICAgICAgICAgbmV3Q2FzZSA9IEFj
Y2Vzc0Nhc2U6OmdldCgKICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAg
ICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkg
PyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKLSAgICAgICAgICAgICAgICBzbG90Lmlz
Q2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyKTsKKyAgICAgICAg
ICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxs
cHRyLAorICAgICAgICAgICAgICAgIGRvbUpJVCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0N1c3RvbUdldHRlclNldHRlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgKaW5k
ZXggZDcwMmRkZjRkYTA1NzY5MDVmNzljZWFkNjBiNmEyM2NkYjljMzY2Ni4uNDRiNzMwNmE1ODk5
NTlhZjJmYmUzNmQxNTEwMDY2NGQ0YTA2OGQyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ3VzdG9tR2V0dGVyU2V0dGVyLmgKQEAgLTMxLDYgKzMxLDkgQEAKICNp
bmNsdWRlICJTdHJ1Y3R1cmUuaCIKIAogbmFtZXNwYWNlIEpTQyB7CituYW1lc3BhY2UgRE9NSklU
IHsKK2NsYXNzIEdldHRlclNldHRlcjsKK30KIAogY2xhc3MgQ3VzdG9tR2V0dGVyU2V0dGVyIGZp
bmFsIDogcHVibGljIEpTQ2VsbCB7CiBwdWJsaWM6CkBAIC00MCwxNSArNDMsMTYgQEAgY2xhc3Mg
Q3VzdG9tR2V0dGVyU2V0dGVyIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgdHlwZWRlZiBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBDdXN0b21HZXR0ZXI7CiAgICAgdHlwZWRlZiBQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBDdXN0b21TZXR0ZXI7CiAKLSAgICBzdGF0aWMgQ3Vz
dG9tR2V0dGVyU2V0dGVyKiBjcmVhdGUoVk0mIHZtLCBDdXN0b21HZXR0ZXIgY3VzdG9tR2V0dGVy
LCBDdXN0b21TZXR0ZXIgY3VzdG9tU2V0dGVyKQorICAgIHN0YXRpYyBDdXN0b21HZXR0ZXJTZXR0
ZXIqIGNyZWF0ZShWTSYgdm0sIEN1c3RvbUdldHRlciBjdXN0b21HZXR0ZXIsIEN1c3RvbVNldHRl
ciBjdXN0b21TZXR0ZXIsIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBudWxscHRyKQog
ICAgIHsKLSAgICAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXApKSBD
dXN0b21HZXR0ZXJTZXR0ZXIodm0sIGN1c3RvbUdldHRlciwgY3VzdG9tU2V0dGVyKTsKKyAgICAg
ICAgQ3VzdG9tR2V0dGVyU2V0dGVyKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXApKSBDdXN0b21HZXR0ZXJT
ZXR0ZXIodm0sIGN1c3RvbUdldHRlciwgY3VzdG9tU2V0dGVyLCBkb21KSVQpOwogICAgICAgICBj
dXN0b21HZXR0ZXJTZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgcmV0dXJuIGN1
c3RvbUdldHRlclNldHRlcjsKICAgICB9CiAKICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OkN1c3Rv
bUdldHRlciBnZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX2dldHRlcjsgfQogICAgIEN1c3RvbUdl
dHRlclNldHRlcjo6Q3VzdG9tU2V0dGVyIHNldHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGVy
OyB9CisgICAgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9tSklUOyB9CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7
CkBAIC01OCwxNSArNjIsMTcgQEAgY2xhc3MgQ3VzdG9tR2V0dGVyU2V0dGVyIGZpbmFsIDogcHVi
bGljIEpTQ2VsbCB7CiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKLSAgICBD
dXN0b21HZXR0ZXJTZXR0ZXIoVk0mIHZtLCBDdXN0b21HZXR0ZXIgZ2V0dGVyLCBDdXN0b21TZXR0
ZXIgc2V0dGVyKQorICAgIEN1c3RvbUdldHRlclNldHRlcihWTSYgdm0sIEN1c3RvbUdldHRlciBn
ZXR0ZXIsIEN1c3RvbVNldHRlciBzZXR0ZXIsIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQp
CiAgICAgICAgIDogSlNDZWxsKHZtLCB2bS5jdXN0b21HZXR0ZXJTZXR0ZXJTdHJ1Y3R1cmUuZ2V0
KCkpCiAgICAgICAgICwgbV9nZXR0ZXIoZ2V0dGVyKQogICAgICAgICAsIG1fc2V0dGVyKHNldHRl
cikKKyAgICAgICAgLCBtX2RvbUpJVChkb21KSVQpCiAgICAgewogICAgIH0KIAogICAgIEN1c3Rv
bUdldHRlciBtX2dldHRlcjsKICAgICBDdXN0b21TZXR0ZXIgbV9zZXR0ZXI7CisgICAgRE9NSklU
OjpHZXR0ZXJTZXR0ZXIqIG1fZG9tSklUOwogfTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBj
YWxsQ3VzdG9tU2V0dGVyKEV4ZWNTdGF0ZSosIEN1c3RvbUdldHRlclNldHRlcjo6Q3VzdG9tU2V0
dGVyLCBib29sIGlzQWNjZXNzb3IsIEpTVmFsdWUgdGhpc1ZhbHVlLCBKU1ZhbHVlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDY5NWJmYjcyZWZkNDY3NmZm
YWIxYmQ1YzYyZGQyNjQ1NzgwNWU4OTAuLmE2MDlhNDhjOTA4NmM0M2JkNGZiZTE1Y2I3ZWQ5OWM3
Mzg0NGY5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAt
MTI5MCw3ICsxMjkwLDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0OjpmaWxsQ3VzdG9t
R2V0dGVyUHJvcGVydHlTbG90KFByb3BlcnR5U2xvdCYgc2xvdCwgSlMKIAogICAgIC8vIFRoaXMg
YWNjZXNzIGlzIGNhY2hlYWJsZSBiZWNhdXNlIFN0cnVjdHVyZSByZXF1aXJlcyBhbiBhdHRyaWJ1
dGVDaGFuZ2VkVHJhbnNpdGlvbgogICAgIC8vIGlmIHRoaXMgcHJvcGVydHkgc3RvcHMgYmVpbmcg
YW4gYWNjZXNzb3IuCi0gICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpcywgYXR0cmlidXRl
cywganNDYXN0PEN1c3RvbUdldHRlclNldHRlcio+KGN1c3RvbUdldHRlclNldHRlciktPmdldHRl
cigpKTsKKyAgICBzbG90LnNldENhY2hlYWJsZUN1c3RvbSh0aGlzLCBhdHRyaWJ1dGVzLCBqc0Nh
c3Q8Q3VzdG9tR2V0dGVyU2V0dGVyKj4oY3VzdG9tR2V0dGVyU2V0dGVyKS0+Z2V0dGVyKCksIGpz
Q2FzdDxDdXN0b21HZXR0ZXJTZXR0ZXIqPihjdXN0b21HZXR0ZXJTZXR0ZXIpLT5kb21KSVQoKSk7
CiB9CiAKIC8vIEl0IG1heSBzZWVtIGNyYXp5IHRvIGlubGluZSBhIGZ1bmN0aW9uIHRoaXMgbGFy
Z2UsIGVzcGVjaWFsbHkgYSB2aXJ0dWFsIGZ1bmN0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Mb29rdXAuaAppbmRleCA2OTJkN2M3ODlmZWQ0N2I1YWQ3NDBjOWJkYTcyYzY2MjRhNjVh
NGU3Li43ZTFiMjI1MmVmMGEyMzUyOTMyZjM2MzFmNTg5ODk1N2EwNDhhNmFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUg
IkJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tR2V0dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiRE9NSklUR2V0dGVyU2V0
dGVyLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSW50cmluc2ljLmgiCkBAIC00Niw2ICs0Nyw3IEBAIHR5cGVkZWYg
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiB0eXBlZGVmIFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jIFB1dEZ1bmN0aW9uOwogdHlwZWRlZiBGdW5jdGlvbkV4ZWN1
dGFibGUqICgqQnVpbHRpbkdlbmVyYXRvcikoVk0mKTsKIHR5cGVkZWYgSlNWYWx1ZSAoKkxhenlQ
cm9wZXJ0eUNhbGxiYWNrKShWTSYsIEpTT2JqZWN0Kik7Cit0eXBlZGVmIERPTUpJVDo6R2V0dGVy
U2V0dGVyKiAoKkRPTUpJVEdldHRlclNldHRlckdlbmVyYXRvcikodm9pZCk7CiAKIC8vIEhhc2gg
dGFibGUgZ2VuZXJhdGVkIGJ5IHRoZSBjcmVhdGVfaGFzaF90YWJsZSBzY3JpcHQuCiBzdHJ1Y3Qg
SGFzaFRhYmxlVmFsdWUgewpAQCAtNzgsNiArODAsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlVmFsdWUg
ewogICAgIEdldEZ1bmN0aW9uIHByb3BlcnR5R2V0dGVyKCkgY29uc3QgeyBBU1NFUlQoIShtX2F0
dHJpYnV0ZXMgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3JPckxhenlQcm9wZXJ0eU9yQ29u
c3RhbnQpKTsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8R2V0RnVuY3Rpb24+KG1fdmFsdWVzLnZh
bHVlMSk7IH0KICAgICBQdXRGdW5jdGlvbiBwcm9wZXJ0eVB1dHRlcigpIGNvbnN0IHsgQVNTRVJU
KCEobV9hdHRyaWJ1dGVzICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yT3JMYXp5UHJvcGVy
dHlPckNvbnN0YW50KSk7IHJldHVybiByZWludGVycHJldF9jYXN0PFB1dEZ1bmN0aW9uPihtX3Zh
bHVlcy52YWx1ZTIpOyB9CiAKKyAgICBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUKCkgY29u
c3QgeyBBU1NFUlQobV9hdHRyaWJ1dGVzICYgRE9NSklUQXR0cmlidXRlKTsgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8RE9NSklUR2V0dGVyU2V0dGVyR2VuZXJhdG9yPihtX3ZhbHVlcy52YWx1ZTEp
KCk7IH0KKwogICAgIE5hdGl2ZUZ1bmN0aW9uIGFjY2Vzc29yR2V0dGVyKCkgY29uc3QgeyBBU1NF
UlQobV9hdHRyaWJ1dGVzICYgQWNjZXNzb3IpOyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxOYXRp
dmVGdW5jdGlvbj4obV92YWx1ZXMudmFsdWUxKTsgfQogICAgIE5hdGl2ZUZ1bmN0aW9uIGFjY2Vz
c29yU2V0dGVyKCkgY29uc3QgeyBBU1NFUlQobV9hdHRyaWJ1dGVzICYgQWNjZXNzb3IpOyByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxOYXRpdmVGdW5jdGlvbj4obV92YWx1ZXMudmFsdWUyKTsgfQog
ICAgIEJ1aWx0aW5HZW5lcmF0b3IgYnVpbHRpbkFjY2Vzc29yR2V0dGVyR2VuZXJhdG9yKCkgY29u
c3Q7CkBAIC0yMjQsNiArMjI4LDEyIEBAIGlubGluZSBib29sIGdldFN0YXRpY1Byb3BlcnR5U2xv
dEZyb21UYWJsZShWTSYgdm0sIGNvbnN0IEhhc2hUYWJsZSYgdGFibGUsIEpTT2JqCiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChlbnRyeS0+YXR0cmlidXRlcygpICYgRE9N
SklUQXR0cmlidXRlKSB7CisgICAgICAgIERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSBl
bnRyeS0+ZG9tSklUKCk7CisgICAgICAgIHNsb3Quc2V0Q2FjaGVhYmxlQ3VzdG9tKHRoaXNPYmpl
Y3QsIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoZW50cnktPmF0dHJpYnV0ZXMoKSksIGRvbUpJVC0+
Z2V0dGVyKCksIGRvbUpJVCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHNs
b3Quc2V0Q2FjaGVhYmxlQ3VzdG9tKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUo
ZW50cnktPmF0dHJpYnV0ZXMoKSksIGVudHJ5LT5wcm9wZXJ0eUdldHRlcigpKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KQEAgLTI1OSw2ICsyNjksNyBAQCBpbmxpbmUgYm9vbCBwdXRFbnRyeShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRyeSwgSlNPYmplY3QqIGJhcwog
ICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIHNsb3QuaXNTdHJpY3RNb2RlKCksIFN0cmljdE1v
ZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CiAKICAgICBpZiAoIShlbnRyeS0+YXR0cmli
dXRlcygpICYgUmVhZE9ubHkpKSB7CisgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShlbnRy
eS0+YXR0cmlidXRlcygpICYgRE9NSklUQXR0cmlidXRlKSwgIkRPTUpJVEF0dHJpYnV0ZSBzdXBw
b3J0cyByZWFkb25seSBhdHRyaWJ1dGVzIGN1cnJlbnRseS4iKTsKICAgICAgICAgYm9vbCBpc0Fj
Y2Vzc29yID0gZW50cnktPmF0dHJpYnV0ZXMoKSAmIEN1c3RvbUFjY2Vzc29yOwogICAgICAgICBK
U1ZhbHVlIHVwZGF0ZVRoaXNWYWx1ZSA9IGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBDdXN0b21BY2Nl
c3NvciA/IHNsb3QudGhpc1ZhbHVlKCkgOiBKU1ZhbHVlKGJhc2UpOwogICAgICAgICBib29sIHJl
c3VsdCA9IGNhbGxDdXN0b21TZXR0ZXIoZXhlYywgZW50cnktPnByb3BlcnR5UHV0dGVyKCksIGlz
QWNjZXNzb3IsIHVwZGF0ZVRoaXNWYWx1ZSwgdmFsdWUpOwpAQCAtMzM2LDYgKzM0NywxMyBAQCBp
bmxpbmUgdm9pZCByZWlmeVN0YXRpY1Byb3BlcnR5KFZNJiB2bSwgY29uc3QgUHJvcGVydHlOYW1l
JiBwcm9wZXJ0eU5hbWUsIGNvbnN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAo
dmFsdWUuYXR0cmlidXRlcygpICYgRE9NSklUQXR0cmlidXRlKSB7CisgICAgICAgIERPTUpJVDo6
R2V0dGVyU2V0dGVyKiBkb21KSVQgPSB2YWx1ZS5kb21KSVQoKTsKKyAgICAgICAgQ3VzdG9tR2V0
dGVyU2V0dGVyKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgZG9tSklULT5zZXR0ZXIoKSwgZG9tSklUKTsKKyAgICAg
ICAgdGhpc09iai5wdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgcHJvcGVydHlOYW1lLCBjdXN0
b21HZXR0ZXJTZXR0ZXIsIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUodmFsdWUuYXR0cmlidXRlcygp
KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBDdXN0b21HZXR0ZXJTZXR0ZXIqIGN1
c3RvbUdldHRlclNldHRlciA9IEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCB2YWx1ZS5w
cm9wZXJ0eUdldHRlcigpLCB2YWx1ZS5wcm9wZXJ0eVB1dHRlcigpKTsKICAgICB0aGlzT2JqLnB1
dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBwcm9wZXJ0eU5hbWUsIGN1c3RvbUdldHRlclNldHRl
ciwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZSh2YWx1ZS5hdHRyaWJ1dGVzKCkpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggZTEzN2Q4NDVk
NWZjMzEzODg2NWQxNzZhMjJhN2UzYmQ1MTdjZWIxMy4uOWRlMTUxYTU2YWEyNzU2Y2ZkMGM2MDAz
NjY4MjY2YjE5Zjk5MzJkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvcGVydHlTbG90LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
cGVydHlTbG90LmgKQEAgLTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKLQorbmFtZXNwYWNlIERPTUpJVCB7CitjbGFzcyBHZXR0ZXJT
ZXR0ZXI7Cit9CiBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBHZXR0ZXJTZXR0ZXI7CiBjbGFzcyBK
U09iamVjdDsKQEAgLTQ4LDYgKzUwLDcgQEAgZW51bSBBdHRyaWJ1dGUgewogICAgIENlbGxQcm9w
ZXJ0eSAgICAgID0gMSA8PCAxMSwgLy8gcHJvcGVydHkgaXMgYSBsYXp5IHByb3BlcnR5IC0gb25s
eSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFibGVzCiAgICAgQ2xhc3NTdHJ1Y3R1cmUgICAgPSAxIDw8
IDEyLCAvLyBwcm9wZXJ0eSBpcyBhIGxhenkgY2xhc3Mgc3RydWN0dXJlIC0gb25seSB1c2VkIGJ5
IHN0YXRpYyBoYXNodGFibGVzCiAgICAgUHJvcGVydHlDYWxsYmFjayAgPSAxIDw8IDEzLCAvLyBw
cm9wZXJ0eSB0aGF0IGlzIGEgbGF6eSBwcm9wZXJ0eSBjYWxsYmFjayAtIG9ubHkgdXNlZCBieSBz
dGF0aWMgaGFzaHRhYmxlcworICAgIERPTUpJVEF0dHJpYnV0ZSAgID0gMSA8PCAxNCwgLy8gcHJv
cGVydHkgaXMgYSBET00gSklUIGF0dHJpYnV0ZSAtIG9ubHkgdXNlZCBieSBzdGF0aWMgaGFzaHRh
YmxlcwogICAgIEJ1aWx0aW5PckZ1bmN0aW9uID0gQnVpbHRpbiB8IEZ1bmN0aW9uLCAvLyBoZWxw
ZXIgb25seSB1c2VkIGJ5IHN0YXRpYyBoYXNodGFibGVzCiAgICAgQnVpbHRpbk9yRnVuY3Rpb25P
ckxhenlQcm9wZXJ0eSA9IEJ1aWx0aW4gfCBGdW5jdGlvbiB8IENlbGxQcm9wZXJ0eSB8IENsYXNz
U3RydWN0dXJlIHwgUHJvcGVydHlDYWxsYmFjaywgLy8gaGVscGVyIG9ubHkgdXNlZCBieSBzdGF0
aWMgaGFzaHRhYmxlcwogICAgIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3Nvck9yTGF6eVByb3Bl
cnR5ID0gQnVpbHRpbiB8IEZ1bmN0aW9uIHwgQWNjZXNzb3IgfCBDZWxsUHJvcGVydHkgfCBDbGFz
c1N0cnVjdHVyZSB8IFByb3BlcnR5Q2FsbGJhY2ssIC8vIGhlbHBlciBvbmx5IHVzZWQgYnkgc3Rh
dGljIGhhc2h0YWJsZXMKQEAgLTE1Nyw2ICsxNjAsMTEgQEAgY2xhc3MgUHJvcGVydHlTbG90IHsK
ICAgICAgICAgcmV0dXJuIG1fd2F0Y2hwb2ludFNldDsKICAgICB9CiAKKyAgICBET01KSVQ6Okdl
dHRlclNldHRlciogZG9tSklUKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2RvbUpJ
VDsKKyAgICB9CisKICAgICB2b2lkIHNldFZhbHVlKEpTT2JqZWN0KiBzbG90QmFzZSwgdW5zaWdu
ZWQgYXR0cmlidXRlcywgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChhdHRy
aWJ1dGVzID09IGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoYXR0cmlidXRlcykpOwpAQCAtMjExLDcg
KzIxOSw3IEBAIGNsYXNzIFByb3BlcnR5U2xvdCB7CiAgICAgICAgIG1fb2Zmc2V0ID0gaW52YWxp
ZE9mZnNldDsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzZXRDYWNoZWFibGVDdXN0b20oSlNPYmpl
Y3QqIHNsb3RCYXNlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBHZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUp
CisgICAgdm9pZCBzZXRDYWNoZWFibGVDdXN0b20oSlNPYmplY3QqIHNsb3RCYXNlLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBHZXRWYWx1ZUZ1bmMgZ2V0VmFsdWUsIERPTUpJVDo6R2V0dGVyU2V0dGVy
KiBkb21KSVQgPSBudWxscHRyKQogICAgIHsKICAgICAgICAgQVNTRVJUKGF0dHJpYnV0ZXMgPT0g
YXR0cmlidXRlc0ZvclN0cnVjdHVyZShhdHRyaWJ1dGVzKSk7CiAgICAgICAgIApAQCAtMjIzLDYg
KzIzMSw3IEBAIGNsYXNzIFByb3BlcnR5U2xvdCB7CiAgICAgICAgIG1fc2xvdEJhc2UgPSBzbG90
QmFzZTsKICAgICAgICAgbV9wcm9wZXJ0eVR5cGUgPSBUeXBlQ3VzdG9tOwogICAgICAgICBtX29m
ZnNldCA9ICFpbnZhbGlkT2Zmc2V0OworICAgICAgICBtX2RvbUpJVCA9IGRvbUpJVDsKICAgICB9
CiAKICAgICB2b2lkIHNldEN1c3RvbUdldHRlclNldHRlcihKU09iamVjdCogc2xvdEJhc2UsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIEN1c3RvbUdldHRlclNldHRlciogZ2V0dGVyU2V0dGVyKQpAQCAt
MzE4LDYgKzMyNyw3IEBAIGNsYXNzIFByb3BlcnR5U2xvdCB7CiAgICAgQ2FjaGVhYmlsaXR5VHlw
ZSBtX2NhY2hlYWJpbGl0eTsKICAgICBQcm9wZXJ0eVR5cGUgbV9wcm9wZXJ0eVR5cGU7CiAgICAg
SW50ZXJuYWxNZXRob2RUeXBlIG1faW50ZXJuYWxNZXRob2RUeXBlOworICAgIERPTUpJVDo6R2V0
dGVyU2V0dGVyKiBtX2RvbUpJVCB7IG51bGxwdHIgfTsKICAgICBib29sIG1faXNUYWludGVkQnlP
cGFxdWVPYmplY3Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9kb21qaXQvRE9NSklUR2V0dGVyU2V0dGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcw
NDQxY2JjNTRhODc0MGI3MzZlMzAzOGNkMTQxOGFhNTBiZmRjNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2RvbWppdC9ET01KSVRHZXR0ZXJTZXR0
ZXIuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfRE9NSklUR2V0dGVyU2V0
dGVyX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfRE9NSklUR2V0dGVyU2V0dGVyX2gKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9ET01KSVRHZXR0ZXJTZXR0ZXIuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCA2ZjY4N2U4ZWNkNzNkYTg4YjQ5ZDg3OTc1OGNhYmQ1NTY3ZjAz
NzJhLi43ZTk5YTQ5MWU2NDg3NmQwY2E4NjEzYWRjNDkyMDNjYmE0ZmQ2MTlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTQsNiArMTQsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2J5dGVjb21waWxl
ciIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RmZyIKICAgICAiJHtKQVZBU0NSSVBUQ09S
RV9ESVJ9L2Rpc2Fzc2VtYmxlciIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RvbWppdCIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2hlYXAiCiAgICAgIiR7SkFWQVNDUklQVENPUkVf
RElSfS9kZWJ1Z2dlciIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ludGVycHJldGVyIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA0MWJlMjgzMTI5OTdhNDg4M2M5OGY5ZWExYmY2
MTVjYTlkODI1YjlmLi5hZDI3ZTU2YzA3Y2UzZjZjZTAzNGExYWQ3YTNjYTZkNzAyZjE5YmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTksNiArMTksNyBAQCBsaXN0KEFQUEVORCBX
ZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2J5
dGVjb21waWxlciIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RmZyIKICAgICAiJHtKQVZB
U0NSSVBUQ09SRV9ESVJ9L2Rpc2Fzc2VtYmxlciIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9
L2RvbWppdCIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2hlYXAiCiAgICAgIiR7SkFWQVND
UklQVENPUkVfRElSfS9kZWJ1Z2dlciIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ludGVy
cHJldGVyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAzNGI4ZGIyNzBiZjY5NGIyZTA3
ZDE4NDkxYWE4NzQ2NzQzNTY3ZmM4Li5iNzA3OWI3ZmZjMmQzZTgyOTdjYTc5NmIwZjIwMjc0MzQz
ZjU2OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtNzksNiArNzksNyBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0v
Rm9yd2FyZGluZ0hlYWRlcnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJz
L2JpbmRpbmdzIgogICAgICIke1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9ieXRlY29k
ZSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvZG9taml0IgogICAgICIk
e1dFQkNPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9kZWJ1Z2dlciIKICAgICAiJHtXRUJDT1JF
X0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvaGVhcCIKICAgICAiJHtXRUJDT1JFX0RJUn0vRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1XaW4uY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCBhZWQ4
ZGViMGEyODg3N2Q5NTY2ZDM3OGJkNTlhZGNkMGVmOGE3Y2VkLi5hMzhmZTE5M2VjY2EzMDdkMTU5
NWFiNGJhMzdhZjI1YzZjNTIxMGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMTUs
NiArMTUsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAi
JHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIiCiAgICAgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMvSmF2YVNjcmlwdENvcmUvZGZnIgogICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0Zvcndh
cmRpbmdIZWFkZXJzL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlciIKKyAgICAiJHtERVJJVkVE
X1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9kb21qaXQiCiAg
ICAgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvSmF2YVNjcmlwdENv
cmUvaGVhcCIKICAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9K
YXZhU2NyaXB0Q29yZS9kZWJ1Z2dlciIKICAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3
YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlciIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKaW5kZXggNDdkMjk0ZGQ0OTVhMzEzN2Q3NmZmMDg4NmVmNTEzYjdiZmM0OGVlNi4uMmMyMTli
NWRhNzQ3NTlkNDIwMzE5ZDRhYjhhZGNmMGNhZDI5YzgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
QEAgLTE0OSw2ICsxNDksNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7SkFWQVNDUklQVENPUkVfRElSfS9jb2xsZWN0b3IvaGFuZGxlcyIKICAgICAiJHtKQVZBU0NS
SVBUQ09SRV9ESVJ9L2RmZyIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2Rpc2Fzc2VtYmxl
ciIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2RvbWppdCIKICAgICAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2hlYXAiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnRlcnByZXRlciIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ppdCIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2YTQ3MjcwMjViNzc5ZTAxMDA3NDYyYjllOTgy
Y2UyNzk4NDNkOGEwLi41ZTllOWM1MTZkOTQ1YjRjZjY2YWM5MDAyOTI2NTMyZTRiMjk5YTA2IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTYtMTAtMDQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CisKKyAgICAgICAgW0RPTUpJVF0gSW50cm9kdWNlIERPTUpJVDo6R2V0dGVyU2V0dGVyIHRv
IHRlbGwgSklUIGluZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjI5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorCiAyMDE2LTEw
LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE1l
ZGlhIGNvbnRyb2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRh
cmlseSBhZnRlciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTE4ZmU0ZDIyZmZlNmZkZGJiMjlkMjRjNGFjNWEz
YThlYWEyZmQyZC4uYmFmN2MxM2M1NzIxYWU2YzE4YzAzMzdjNDBmODRkYTlkNzFhZWJkZSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKQEAgLTU3LDYgKzU3LDcgQEAgc2V0KER1bXBS
ZW5kZXJUcmVlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
Ynl0ZWNvZGUKICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZGZnCiAgICAgJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2Rpc2Fzc2VtYmxlcgorICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9kb21qaXQK
ICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaGVhcAogICAgICR7SkFWQVNDUklQVENPUkVfRElS
fS9pbnRlcnByZXRlcgogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9qaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>