<?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>183621</bug_id>
          
          <creation_ts>2018-03-13 19:05:21 -0700</creation_ts>
          <short_desc>Add support for the `inputmode` attribute</short_desc>
          <delta_ts>2019-01-31 10:33:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>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>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dayton Lowell">daytonlowell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dave+webkit</cc>
    
    <cc>dbates</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>feliziani.emanuele</cc>
    
    <cc>paulirish</cc>
    
    <cc>pxlcoder</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1406332</commentid>
    <comment_count>0</comment_count>
    <who name="Dayton Lowell">daytonlowell</who>
    <bug_when>2018-03-13 19:05:21 -0700</bug_when>
    <thetext>https://html.spec.whatwg.org/multipage/interaction.html#input-modalities%3A-the-inputmode-attribute

This will ship in Blink/Chrome 66: https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/inputmode/blink-dev/MAHQkH4vvUQ/i0yCobrMCQAJ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451005</commentid>
    <comment_count>1</comment_count>
      <attachid>347340</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-16 19:51:22 -0700</bug_when>
    <thetext>Created attachment 347340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451243</commentid>
    <comment_count>2</comment_count>
      <attachid>347396</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-17 15:20:40 -0700</bug_when>
    <thetext>Created attachment 347396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451276</commentid>
    <comment_count>3</comment_count>
      <attachid>347413</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-17 16:48:14 -0700</bug_when>
    <thetext>Created attachment 347413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451320</commentid>
    <comment_count>4</comment_count>
      <attachid>347413</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-17 18:57:10 -0700</bug_when>
    <thetext>Comment on attachment 347413
Patch

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

&gt; Source/WebCore/html/InputModeNames.cpp:77
&gt; +} // namespace WebCore::InputModeNames

// namespace InputModeNames

&gt; Source/WebCore/html/InputModeNames.h:42
&gt; +}

Ditto.

&gt; Source/WebKit/Shared/AssistedNodeInformation.h:61
&gt; +enum class InputMode {

We should specify a size fo this enum to get better packing. Otherwise, this enum will default to the width of int.

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:3554
&gt; +        default:

I suggest we remove this &quot;default&quot; case and list any other enumerators. This will allow the compiler to ensure that this switch handles all enumerators.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2302
&gt; +static InputMode inputModeForElement(const Node&amp; node)

Can we come up with a better name for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451360</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-08-18 00:22:46 -0700</bug_when>
    <thetext>&gt; duplicate symbol __ZN7WebCore14InputModeNames7numericEv in:
&gt;     /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/InputModeNames.o
&gt;     /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/UnifiedSource269.o
&gt; ld: 7 duplicate symbols for architecture x86_64
&gt; clang: error: linker command failed with exit code 1 (use -v to see invocation)

Is InputModeNames.cpp being included in the WebCore target, as well appearing in one of the unified source files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451623</commentid>
    <comment_count>6</comment_count>
      <attachid>347504</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-20 10:04:46 -0700</bug_when>
    <thetext>Created attachment 347504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452375</commentid>
    <comment_count>7</comment_count>
      <attachid>347720</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-21 16:11:55 -0700</bug_when>
    <thetext>Created attachment 347720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452376</commentid>
    <comment_count>8</comment_count>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-21 16:12:50 -0700</bug_when>
    <thetext>Added an API test to verify we show the correct keyboard for a variety of input configurations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452401</commentid>
    <comment_count>9</comment_count>
      <attachid>347720</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-21 16:47:52 -0700</bug_when>
    <thetext>Comment on attachment 347720
Patch

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

&gt; Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:192
&gt; +    NSArray *inputModes = @[ @&quot;&quot;, @&quot;text&quot;, @&quot;tel&quot;, @&quot;url&quot;, @&quot;email&quot;, @&quot;numeric&quot;, @&quot;decimal&quot;, @&quot;search&quot; ];

Could create this from the dictionary with -allKeys. Except &quot;&quot; I guess... I dunno.

&gt; Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:203
&gt; +    NSArray *inputTypesWithKeyboard = @[ @&quot;text&quot;, @&quot;password&quot;, @&quot;search&quot;, @&quot;email&quot;, @&quot;tel&quot;, @&quot;number&quot;, @&quot;url&quot; ];

Could create this from the dictionary with -allKeys</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452680</commentid>
    <comment_count>10</comment_count>
      <attachid>347812</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-22 09:48:30 -0700</bug_when>
    <thetext>Created attachment 347812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452716</commentid>
    <comment_count>11</comment_count>
      <attachid>347820</attachid>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-22 10:46:20 -0700</bug_when>
    <thetext>Created attachment 347820
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452806</commentid>
    <comment_count>12</comment_count>
      <attachid>347820</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-22 14:22:20 -0700</bug_when>
    <thetext>Comment on attachment 347820
Patch for landing

Clearing flags on attachment: 347820

Committed r235201: &lt;https://trac.webkit.org/changeset/235201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452843</commentid>
    <comment_count>13</comment_count>
      <attachid>347820</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-22 15:38:59 -0700</bug_when>
    <thetext>Comment on attachment 347820
Patch for landing

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Added the inputmode attribute to the HTMLInputElement and HTMLTextAreaElement IDL

It is an unwritten convention that we reference the spec. and version/date of the spec. in the ChangeLog when adding new web exposed functionality. One example of such a ChangeLog (though it does not include a date) is &lt;https://trac.webkit.org/changeset/234680/&gt;. This records the spec you referenced when writing this patch.

&gt; Source/WebCore/html/HTMLTextAreaElement.idl:62
&gt; +    attribute DOMString inputMode;

As per &lt;https://html.spec.whatwg.org/multipage/interaction.html#dom-inputmode&gt; this should be a reflected attribute. Please add &quot;[Reflect]&quot; before &quot;attribute&quot;.

&gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:678
&gt; +String HTMLTextFormControlElement::inputMode() const

How did you come to the decision to return a String instead of returning an const AtomicString&amp;? I mean, returning a String causes unnecessary ref-count churn.

&gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:702
&gt; +void HTMLTextFormControlElement::setInputMode(const String&amp; value)
&gt; +{
&gt; +    setAttributeWithoutSynchronization(inputmodeAttr, value);
&gt; +}

This function is unnecessary when the attribute is marked &quot;[Reflect]&quot; in the IDL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452850</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-22 15:42:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/43623657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452873</commentid>
    <comment_count>15</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-22 16:09:06 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #13)
&gt; &gt; Source/WebCore/html/HTMLTextAreaElement.idl:62
&gt; &gt; +    attribute DOMString inputMode;
&gt; 
&gt; As per
&gt; &lt;https://html.spec.whatwg.org/multipage/interaction.html#dom-inputmode&gt; this
&gt; should be a reflected attribute. Please add &quot;[Reflect]&quot; before &quot;attribute&quot;.
&gt; 

Disregard this remark. Our binding generator code does not support reflections with a custom getter.

&gt; [...]
&gt; 
&gt; &gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:702
&gt; &gt; +void HTMLTextFormControlElement::setInputMode(const String&amp; value)
&gt; &gt; +{
&gt; &gt; +    setAttributeWithoutSynchronization(inputmodeAttr, value);
&gt; &gt; +}
&gt; 
&gt; This function is unnecessary when the attribute is marked &quot;[Reflect]&quot; in the
&gt; IDL.


Disregard this remark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452894</commentid>
    <comment_count>16</comment_count>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2018-08-22 17:08:45 -0700</bug_when>
    <thetext>So looking at the patch set it looks like you might have only implemented half of it. There doesn&apos;t seem to be any &quot;none&quot; support and this is missing the attribute on the HTML element which is useful for content editable. 

Is this really resolved fixed? Or are more patches coming? If not can you share justification for diverging from the specification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452897</commentid>
    <comment_count>17</comment_count>
    <who name="Aditya Keerthi">pxlcoder</who>
    <bug_when>2018-08-22 17:14:10 -0700</bug_when>
    <thetext>(In reply to David Tapuska from comment #16)
&gt; So looking at the patch set it looks like you might have only implemented
&gt; half of it. There doesn&apos;t seem to be any &quot;none&quot; support and this is missing
&gt; the attribute on the HTML element which is useful for content editable. 
&gt; 
&gt; Is this really resolved fixed? Or are more patches coming? If not can you
&gt; share justification for diverging from the specification?

I have a patch forthcoming for the contenteditable case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452901</commentid>
    <comment_count>18</comment_count>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2018-08-22 17:22:47 -0700</bug_when>
    <thetext>None support is used by some of Google&apos;s productivity apps that have a content editable item but don&apos;t wish a keyboard to be present. For example presentation mode in Google Slides.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452999</commentid>
    <comment_count>19</comment_count>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2018-08-22 23:52:00 -0700</bug_when>
    <thetext>*** Bug 161506 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483465</commentid>
    <comment_count>20</comment_count>
    <who name="Emanuele Feliziani">feliziani.emanuele</who>
    <bug_when>2018-11-30 00:28:47 -0800</bug_when>
    <thetext>Hello

This has been shipped in Chrome and I see it has been marked as fixed here for months. I am writing this hoping it gets noticed by someone who can verify it so it can make its way into Safari soon enough.

Many thanks everyone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500033</commentid>
    <comment_count>21</comment_count>
    <who name="Dayton Lowell">daytonlowell</who>
    <bug_when>2019-01-30 09:21:47 -0800</bug_when>
    <thetext>Emanuele,

This will ship in iOS 12.2, which is currently in beta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500635</commentid>
    <comment_count>22</comment_count>
    <who name="Emanuele Feliziani">feliziani.emanuele</who>
    <bug_when>2019-01-31 10:33:20 -0800</bug_when>
    <thetext>Best news of the week. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347340</attachid>
            <date>2018-08-16 19:51:22 -0700</date>
            <delta_ts>2018-08-17 15:20:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180816195121.patch</filename>
            <type>text/plain</type>
            <size>21704</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0OTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwYjQyYmQzYzBlNDll
NDI0NDlmYTExNDlhOTNiOGM2OTExZjVhZC4uOWY0MTliNzU4MWQyM2E2Y2Y4NjQ2NTIyOGZlNjZi
MjIzMDNlYzdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTA4LTE2ICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0lucHV0TW9kZU5hbWVzLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6dGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6dGVsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9k
ZU5hbWVzOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OmVtYWlsKToK
KyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5hbWVzOjpudW1lcmljKToKKyAgICAgICAgKFdl
YkNvcmU6OklucHV0TW9kZU5hbWVzOjpkZWNpbWFsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0
TW9kZU5hbWVzOjpzZWFyY2gpOgorICAgICAgICAqIGh0bWwvSW5wdXRNb2RlTmFtZXMuaDogQWRk
ZWQuCisKIDIwMTgtMDgtMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IgZG9lc24ndCB1c2UgSFRNTEVsZW1lbnQg
aW4gbmV3LnRhcmdldCdzIHJlYWxtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhiMzk0ZDUwZmNmNGE3MzJiYjZlMmIx
Mzk0NzllNDdhOWI1OWVkNWMuLmMwZjJlYWQ0M2U5ZDdhMTNiM2VlODU1OWQ1YzI5MzIzZWNlMTJj
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTgtMDgtMTYgIEFkaXR5YSBLZWVydGhp
ICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0IGZvciB0
aGUgaW5wdXRtb2RlIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgzNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoaWNoIGlu
cHV0IG1lY2hhbmlzbSB3b3VsZCBiZSBtb3N0IGhlbHBmdWwgZm9yCisgICAgICAgIHVzZXJzIGVu
dGVyaW5nIGNvbnRlbnQgaW4gdGV4dGZpZWxkIGlucHV0cyBhbmQgdGV4dGFyZWFzLiBUaGlzIHBh
dGNoIGFkZHMgc3VwcG9ydAorICAgICAgICBmb3Igc2V2ZW4gdmFsdWVzOiB0ZXh0LCB0ZWwsIHVy
bCwgZW1haWwsIG51bWVyaWMsIGRlY2ltYWwgYW5kIHNlYXJjaC4KKworICAgICAgICBPbiBpT1Ms
IHdlIGNhbiBzcGVjaWZ5IFVJS2V5Ym9hcmRUeXBlcyB0aGF0IGJlc3QgbWF0Y2ggdGhlIHN1cHBs
aWVkIGlucHV0bW9kZS4KKyAgICAgICAgLSB0ZXh0OiBVSUtleWJvYXJkVHlwZURlZmF1bHQKKyAg
ICAgICAgLSB0ZWw6IFVJS2V5Ym9hcmRUeXBlUGhvbmVQYWQKKyAgICAgICAgLSB1cmw6IFVJS2V5
Ym9hcmRUeXBlVVJMCisgICAgICAgIC0gZW1haWw6IFVJS2V5Ym9hcmRUeXBlRW1haWxBZGRyZXNz
CisgICAgICAgIC0gbnVtZXJpYzogVUlLZXlib2FyZFR5cGVOdW1iZXJQYWQKKyAgICAgICAgLSBk
ZWNpbWFsOiBVSUtleWJvYXJkVHlwZURlY2ltYWxQYWQKKyAgICAgICAgLSBzZWFyY2g6IFVJS2V5
Ym9hcmRUeXBlV2ViU2VhcmNoCisKKyAgICAgICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgaW5wdXRt
b2RlIGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcKKyAg
ICAgICAgb3VyIGN1cnJlbnQgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hhdCBraW5kIG9mIGtl
eWJvYXJkIHRvIHNob3cgZm9yIHRleHRmaWVsZHMuCisKKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWROb2RlSW5m
b3JtYXRpb246OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmg6IEFkZGVkIGlucHV0TW9kZSBmaWVsZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0ZXh0
SW5wdXRUcmFpdHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OmlucHV0TW9kZUZvckVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbik6CisKIDIwMTgtMDgt
MTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBDb25zb2xpZGF0ZSBkYXRhL3N0cmluZyBBUEkgbG9hZGluZyBwYXRocwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgxMjg4NDIy
ZmFhNTQ0MTBmMmMwODAyM2JiZjk0ODg3NjEzZjQ3YzkuLjFjYzVkMDBkODYxMGMzMDdkZjkzZTNk
N2JkNDdhYzgwZmE2M2QxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3OTAsNiArNDc5MCw4IEBACiAJCUU1MTc2NzAzMjBC
ODhDMTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIyMEI4OEMxNDAw
RDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEyNjhBQzAwREFE
QTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRh
TGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3Vn
Z2VzdGlvblBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU1
MkVGREY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1QTAwQUQyODJB
IC8qIElucHV0TW9kZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJRTUyRUZERjUyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkVG
REYzMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi87IH07CiAJCUU1OEI0
NUJBMjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI4MjBBRDA3REQwMDk5
MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaCAqLzsgfTsKIAkJRTU4QjQ1QkIyMEFEMDdE
RDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNThCNDVCOTIwQUQwN0REMDA5OTEwMjUgLyog
RGF0YUxpc3RCdXR0b25FbGVtZW50LmNwcCAqLzsgfTsKIAkJRTVCQTdENjMxNTE0MzdDQTAwRkUx
RTNGIC8qIExlbmd0aEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTVCQTdENjIxNTE0MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9u
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
NDUyMyw2ICsxNDUyNSw4IEBACiAJCUU1MjZBRjNFMTcyN0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3Jt
YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5j
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERB
REEyNyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFM
aXN0U3VnZ2VzdGlvbnNDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUy
Q0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElucHV0TW9kZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUU1MkVGREYzMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnB1dE1vZGVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU1NUY0OTc5MTUxQjg4ODAwMEJCNjdEQiAvKiBMZW5ndGhGdW5jdGlvbnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1
IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRv
bkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdE
RDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjA4MDQsNiArMjA4MDgsOCBAQAogCQkJCTk3MjA1QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJ
bWFnZURvY3VtZW50LmggKi8sCiAJCQkJRjU1QjNEOEQxMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdl
SW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4RTEyNTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJ
bnB1dFR5cGUuaCAqLywKKwkJCQlFNTJFRkRGMzIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2Rl
TmFtZXMuY3BwICovLAorCQkJCUU1MkVGREYyMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVO
YW1lcy5oICovLAogCQkJCTM3RTM1MjRBMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5cGUuY3Bw
ICovLAogCQkJCTM3RTM1MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJ
CQlDMzQ4NjEyMTE1RkRFMjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuY3BwICovLApAQCAt
Mjg0MzQsNiArMjg0NDAsNyBAQAogCQkJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxp
bmVUZXh0Qm94U3R5bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMx
OTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3
MURBMTlCREYwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNTJF
RkRGNDIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3RTM1MjREMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUMzNDg2MTI0MTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTMzMDlERUEwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydEludG9UZXh0
Tm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE1NjgsNiArMzE1NzUsNyBAQAogCQkJ
CTA3MzY3REUwMTcyQ0E2ODIwMEQ4NjFCOSAvKiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5
QVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMwNCAv
KiBJbmJhbmRXZWJWVFRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwNjNGODIx
RTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJRTUyRUZERjUyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUzOEVDOTNFMUY5OUJGNUEwMDREMjJBOCAvKiBKU1F1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUM0NzcwMDlBQzRENzMwMEE2
QUFCNCAvKiBLZXlFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTk4RTBCMTYwM0NE
NjAwMEZFQTNCMSAvKiBMZWdhY3lDRE0uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDZlNjY1MDQ3ZWQ1ODU3NDYxNmU5YmRj
NmYxYzRjYTE5MTdmNGUyMjQuLjc5NGI3NzRlMmU0NmQzZjY1ZTc2NTk4ZmI0YTYwOWEwM2I4ZDRi
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0xNDQs
NiArMTQ0LDcgQEAgaHR0cF9lcXVpdgogaWQKIGluY3JlbWVudGFsCiBpbmRldGVybWluYXRlCitp
bnB1dG1vZGUKIGludGVncml0eQogaXMKIGlzbWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbAppbmRleCBlOTY1ODI5NGYxMDFiYWRkNGI3NDQxMDVlMWQxZDJkZDZlMjlh
MTUwLi5mOGE0Mjk4MDE4ZjRkYzA0NmExZTVmODBhMjM0ODk4MGUzMWJkMWRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTQyLDYgKzQyLDcgQEAKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBmb3JtVGFyZ2V0OwogICAgIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGhlaWdodDsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBpbmRldGVybWluYXRl
OworICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlucHV0bW9kZTsKICAgICBbQ29u
ZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVtZW50
IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbWF4OwogICAgIGF0dHJp
YnV0ZSBsb25nIG1pbkxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaWRsCmluZGV4IGI4NTQwMTY1Mjc1ZTFjZDM3NzQ1ODNhNGI3YzdhNjdkODFiMjJiOTMu
LmYzZGMyYTVlZjg0NGIzZTYxMjRkNTQ3OGY4NzExNjI5NzU0YjVmZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApAQCAtNTksNCArNTksNSBAQCBpbnRl
cmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICB2b2lkIHNldFNl
bGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGVuZCA9
IDAsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwogCiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBhdXRvY29tcGxldGU7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgaW5w
dXRtb2RlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFt
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjA4NWIxMzIwZjVjNTE3ZDJiNDE0YzVmNzJkNGE4N2ZjM2YzMzVlZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCkBAIC0wLDAgKzEs
NzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5wdXRN
b2RlTmFtZXMuaCIKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJbnB1dE1vZGVOYW1lcyB7CisKK2NvbnN0IEF0b21p
Y1N0cmluZyYgdGV4dCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmlu
Zz4gbW9kZSgidGV4dCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHRlbCgpCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgidGVsIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0
b21pY1N0cmluZyYgdXJsKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3Ry
aW5nPiBtb2RlKCJ1cmwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAg
ICByZXR1cm4gbW9kZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBlbWFpbCgpCit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgiZW1haWwiLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29u
c3QgQXRvbWljU3RyaW5nJiBudW1lcmljKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
QXRvbWljU3RyaW5nPiBtb2RlKCJudW1lcmljIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgZGVj
aW1hbCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgi
ZGVjaW1hbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVy
biBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHNlYXJjaCgpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgic2VhcmNoIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmU6OklucHV0TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzczMDgxM2JkNzIw
Njk1N2QwMzNjMzlkNzFmN2NhYThmMjU4MzI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJbnB1dE1vZGVOYW1lcyB7CisKK1dFQkNP
UkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGV4dCgpOworV0VCQ09SRV9FWFBPUlQgY29u
c3QgQXRvbWljU3RyaW5nJiB0ZWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdXJsKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIGVtYWlsKCk7CitX
RUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIG51bWVyaWMoKTsKK1dFQkNPUkVfRVhQ
T1JUIGNvbnN0IEF0b21pY1N0cmluZyYgZGVjaW1hbCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3Qg
QXRvbWljU3RyaW5nJiBzZWFyY2goKTsKKworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKaW5k
ZXggMWNkN2FjOGZjOWY2Njc2Y2M2MjBhODU2NjIwNzc1Y2IwZGUwNTdmOC4uMzIwMGFmMWFjZjM4
NmM0YjMyZjg1YTk5MjRkYzFjNTdlOTI0Zjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcApAQCAtNzcsNiArNzcsNyBAQCB2b2lkIEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgaXNSVEw7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF1dG9jYXBp
dGFsaXplVHlwZSk7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGVsZW1lbnRUeXBlKTsKKyAgICBl
bmNvZGVyLmVuY29kZUVudW0oaW5wdXRNb2RlKTsKICAgICBlbmNvZGVyIDw8IGZvcm1BY3Rpb247
CiAgICAgZW5jb2RlciA8PCBzZWxlY3RPcHRpb25zOwogICAgIGVuY29kZXIgPDwgc2VsZWN0ZWRJ
bmRleDsKQEAgLTE0Miw2ICsxNDMsOSBAQCBib29sIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpk
ZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBBc3Npc3RlZE5vZGVJbmZvcm1hdAogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5lbGVtZW50VHlwZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5pbnB1dE1vZGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5mb3JtQWN0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaAppbmRleCA2YjBjZTE3YTFhZmIxZWMy
YjgzZjIwOGRkMTcxMDEwOWU4OWI4NmIzLi5kMmNhN2I0MGQ5MGJkZjgxZmU3MWJlMmE5NjAwMGZm
OGEwODg5NDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmgKQEAgLTU4LDYgKzU4LDE3IEBAIGVudW0gY2xhc3MgSW5wdXRUeXBlIHsKICNlbmRp
ZgogfTsKIAorZW51bSBjbGFzcyBJbnB1dE1vZGUgeworICAgIEF1dG8sCisgICAgVGV4dCwKKyAg
ICBUZWxlcGhvbmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAgIE51bWVyaWMsCisgICAgRGVj
aW1hbCwKKyAgICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJT1MpCiBzdHJ1Y3QgT3B0aW9u
SXRlbSB7CiAgICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTA5LDYgKzEyMCw3IEBAIHN0cnVjdCBB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNpZGVGaXhlZFBvc2l0aW9uIHsg
ZmFsc2UgfTsKICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2NhcGl0YWxpemVUeXBlIHsgQXV0
b2NhcGl0YWxpemVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlwZSBlbGVtZW50VHlwZSB7IElu
cHV0VHlwZTo6Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1vZGUgeyBJbnB1dE1vZGU6OkF1
dG8gfTsKICAgICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0b3I8T3B0aW9uSXRlbT4gc2Vs
ZWN0T3B0aW9uczsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0xIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpp
bmRleCA0NzA3NDFmZTdmYTNjNmRkODQzOTkyM2ExNzk1NDQ0NWM2YmUxMTIyLi45YjkyNzkyMTk5
NDIyMjVmNGQxMDFiYjQ5NDc0M2IwYjQxZGVmMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTM1MzMs
MjQgKzM1MzMsNDkgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUo
V2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgICAgICBbX3RyYWl0cyBz
ZXRBdXRvY29ycmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzQXV0b2NvcnJl
Y3QgPyBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29ycmVjdGlvblR5
cGVOb107CiAgICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUpIHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CisgICAgc3dpdGNoIChfYXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAgY2FzZSBJbnB1dE1vZGU6OkF1
dG86CisgICAgICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBl
KSB7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgICAgIFtfdHJhaXRz
IHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICAgICAgW190cmFpdHMg
c2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRL
ZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAgICAgICBbX3RyYWl0
cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb25dOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6Cisg
ICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJQ
YWRdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBb
X3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKKyAgICAgICAg
fQorICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0TW9kZTo6VGV4dDoKKyAgICAgICAgW190
cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpUZWxlcGhvbmU6CiAgICAgICAgIFtfdHJhaXRzIHNl
dEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBJbnB1dFR5cGU6OlVSTDoKKyAgICBjYXNlIElucHV0TW9kZTo6VXJsOgogICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dE1vZGU6OkVt
YWlsOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFp
bEFkZHJlc3NdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgot
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5k
UHVuY3R1YXRpb25dOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVy
UGFkOgorICAgIGNhc2UgSW5wdXRNb2RlOjpOdW1lcmljOgogICAgICAgICBbX3RyYWl0cyBzZXRL
ZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOwogICAgICAgICBicmVhazsKLSAg
ICBkZWZhdWx0OgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5
cGVEZWZhdWx0XTsKKyAgICBjYXNlIElucHV0TW9kZTo6RGVjaW1hbDoKKyAgICAgICAgW190cmFp
dHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVjaW1hbFBhZF07CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpTZWFyY2g6CisgICAgICAgIFtfdHJhaXRzIHNldEtl
eWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVdlYlNlYXJjaF07CisgICAgICAgIGJyZWFrOwogICAg
IH0KIAogICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpjb250ZW50VHlwZUZyb21GaWVs
ZE5hbWUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lKV07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmlu
ZGV4IGE5Y2FkY2U4MjA0ODhmOGMzNjQ1ZDFjMjZkYmFhNjUzZDk4YzgwYmUuLjRmYWFjZGY1YzMw
YTc5ODdmODQxZjVlMWEwZmU4OTg1ODBhNTZkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC04Niw2ICs4Niw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL0hUTUxUZXh0QXJlYUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
SGlzdG9yeUl0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgorI2ltcG9y
dCA8V2ViQ29yZS9JbnB1dE1vZGVOYW1lcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaD4KQEAgLTIyOTcsNiArMjI5OCwyNyBAQCBz
dGF0aWMgSW50UmVjdCBlbGVtZW50UmVjdEluUm9vdFZpZXdDb29yZGluYXRlcyhjb25zdCBOb2Rl
JiBub2RlLCBjb25zdCBGcmFtZSYgZgogICAgIHJldHVybiB2aWV3LT5jb250ZW50c1RvUm9vdFZp
ZXcocmVuZGVyZXItPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkpOwogfQogCitzdGF0aWMgSW5w
dXRNb2RlIGlucHV0TW9kZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAg
ICBBdG9taWNTdHJpbmcgaW5wdXRNb2RlID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKEhUTUxOYW1lczo6aW5wdXRtb2RlQXR0cik7CisgICAgaWYgKGlucHV0TW9kZSA9
PSBJbnB1dE1vZGVOYW1lczo6dGV4dCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZXh0
OworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnRlbCgpKQorICAgICAgICBy
ZXR1cm4gSW5wdXRNb2RlOjpUZWxlcGhvbmU7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1v
ZGVOYW1lczo6dXJsKCkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGU6OlVybDsKKyAgICBpZiAo
aW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjplbWFpbCgpKQorICAgICAgICByZXR1cm4gSW5w
dXRNb2RlOjpFbWFpbDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjpudW1l
cmljKCkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGU6Ok51bWVyaWM7CisgICAgaWYgKGlucHV0
TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRN
b2RlOjpEZWNpbWFsOworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnNlYXJj
aCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpTZWFyY2g7CisKKyAgICByZXR1cm4gSW5w
dXRNb2RlOjpBdXRvOworfQorCiB2b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uKEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbikKIHsKICAgICBsYXlvdXRJ
Zk5lZWRlZCgpOwpAQCAtMjQwMiw2ICsyNDI0LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAg
ICAgICAgIGluZm9ybWF0aW9uLnZhbHVlID0gZWxlbWVudC52YWx1ZSgpOwogICAgICAgICBpbmZv
cm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFtZSA9IFdlYkNvcmU6OnRvQXV0b2ZpbGxGaWVsZE5hbWUo
ZWxlbWVudC5hdXRvZmlsbERhdGEoKS5maWVsZE5hbWUpOwogICAgICAgICBpbmZvcm1hdGlvbi5w
bGFjZWhvbGRlciA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1M
TmFtZXM6OnBsYWNlaG9sZGVyQXR0cik7CisgICAgICAgIGluZm9ybWF0aW9uLmlucHV0TW9kZSA9
IGlucHV0TW9kZUZvckVsZW1lbnQoZWxlbWVudCk7CiAgICAgfSBlbHNlIGlmIChpczxIVE1MSW5w
dXRFbGVtZW50PigqbV9hc3Npc3RlZE5vZGUpKSB7CiAgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQm
IGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqbV9hc3Npc3RlZE5vZGUpOwog
ICAgICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0gPSBlbGVtZW50LmZvcm0oKTsKQEAgLTI0NTUs
NiArMjQ3OCw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uKQogICAgICAgICAgICAgaW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6OkNvbG9yOwogI2VuZGlmCiAKKyAgICAgICAgaW5m
b3JtYXRpb24uaW5wdXRNb2RlID0gaW5wdXRNb2RlRm9yRWxlbWVudChlbGVtZW50KTsKICAgICAg
ICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9IGVsZW1lbnQuaXNSZWFkT25seSgpOwogICAgICAg
ICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVsZW1lbnQudmFsdWUoKTsKICAgICAgICAgaW5mb3JtYXRp
b24udmFsdWVBc051bWJlciA9IGVsZW1lbnQudmFsdWVBc051bWJlcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347396</attachid>
            <date>2018-08-17 15:20:40 -0700</date>
            <delta_ts>2018-08-17 16:48:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180817152039.patch</filename>
            <type>text/plain</type>
            <size>30273</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0OTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBhMjFhNWQzOWZjZDkz
NTkyNTRjMTEyMmNjZGFkOGMwYzMwMjFjNC4uZjJiM2M5ODhkYWI3MTlhNzYxMzY4YWJmNDVlMzNh
ZjhhZmU2MDkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTA4LTE3ICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXRt
b2RlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0
TW9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dDo6c2V0SW5wdXRNb2RlKToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dE1vZGVOYW1lcy5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5w
dXRNb2RlTmFtZXM6OnRlbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6dXJs
KToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5hbWVzOjplbWFpbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6bnVtZXJpYyk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1
dE1vZGVOYW1lczo6ZGVjaW1hbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6
c2VhcmNoKToKKyAgICAgICAgKiBodG1sL0lucHV0TW9kZU5hbWVzLmg6IEFkZGVkLgorCiAyMDE4
LTA4LTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlcGxh
Y2UgY2FuQnViYmxlIGFuZCBjYW5jZWxhYmxlIGJvb2xlYW5zIGluIEV2ZW50IGJ5IGVudW0gY2xh
c3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBhYzM1MmE0NWJiMDYxZmQ3ZTA5ZjkxOTYyOTBhZmFhZjljNGQxYWYy
Li5kNzZlMTlhZjYxMjA3Zjg5N2RiY2MxMzVjZDlkN2U2NjgzNjk3OGQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM2IEBACisyMDE4LTA4LTE3ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRy
aWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBpbnB1dG1vZGUgYXR0cmlidXRlIHNwZWNpZmllcyB3aGljaCBpbnB1dCBtZWNoYW5pc20gd291
bGQgYmUgbW9zdCBoZWxwZnVsIGZvcgorICAgICAgICB1c2VycyBlbnRlcmluZyBjb250ZW50IGlu
IHRleHRmaWVsZCBpbnB1dHMgYW5kIHRleHRhcmVhcy4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQK
KyAgICAgICAgZm9yIHNldmVuIHZhbHVlczogdGV4dCwgdGVsLCB1cmwsIGVtYWlsLCBudW1lcmlj
LCBkZWNpbWFsIGFuZCBzZWFyY2guCisKKyAgICAgICAgT24gaU9TLCB3ZSBjYW4gc3BlY2lmeSBV
SUtleWJvYXJkVHlwZXMgdGhhdCBiZXN0IG1hdGNoIHRoZSBzdXBwbGllZCBpbnB1dG1vZGUuCisg
ICAgICAgIC0gdGV4dDogVUlLZXlib2FyZFR5cGVEZWZhdWx0CisgICAgICAgIC0gdGVsOiBVSUtl
eWJvYXJkVHlwZVBob25lUGFkCisgICAgICAgIC0gdXJsOiBVSUtleWJvYXJkVHlwZVVSTAorICAg
ICAgICAtIGVtYWlsOiBVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzcworICAgICAgICAtIG51bWVy
aWM6IFVJS2V5Ym9hcmRUeXBlTnVtYmVyUGFkCisgICAgICAgIC0gZGVjaW1hbDogVUlLZXlib2Fy
ZFR5cGVEZWNpbWFsUGFkCisgICAgICAgIC0gc2VhcmNoOiBVSUtleWJvYXJkVHlwZVdlYlNlYXJj
aAorCisgICAgICAgIEluIHRoZSBjYXNlIHRoYXQgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgaXMg
bm90IHNwZWNpZmllZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nCisgICAgICAgIG91ciBleGlzdGlu
ZyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIHdoYXQga2luZCBvZiBrZXlib2FyZCB0byBzaG93IGZv
ciB0ZXh0ZmllbGRzLgorCisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oOiBBZGRlZCBpbnB1
dE1vZGUgZmllbGQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4dElucHV0VHJhaXRzXSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjppbnB1dE1vZGVGb3JFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAyMDE4LTA4LTE2ICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlcGxhY2UgY2FuQnViYmxlIGFuZCBjYW5j
ZWxhYmxlIGJvb2xlYW5zIGluIEV2ZW50IGJ5IGVudW0gY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgxMjg4NDIyZmFh
NTQ0MTBmMmMwODAyM2JiZjk0ODg3NjEzZjQ3YzkuLjFjYzVkMDBkODYxMGMzMDdkZjkzZTNkN2Jk
NDdhYzgwZmE2M2QxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3OTAsNiArNDc5MCw4IEBACiAJCUU1MTc2NzAzMjBCODhD
MTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIyMEI4OEMxNDAwRDQx
MTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEyNjhBQzAwREFEQTI3
IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRhTGlz
dFN1Z2dlc3Rpb25zQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2Vz
dGlvblBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU1MkVG
REY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8q
IElucHV0TW9kZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTUyRUZERjUyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkVGREYz
MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi87IH07CiAJCUU1OEI0NUJB
MjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI4MjBBRDA3REQwMDk5MTAy
NSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaCAqLzsgfTsKIAkJRTU4QjQ1QkIyMEFEMDdERDAw
OTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNThCNDVCOTIwQUQwN0REMDA5OTEwMjUgLyogRGF0
YUxpc3RCdXR0b25FbGVtZW50LmNwcCAqLzsgfTsKIAkJRTVCQTdENjMxNTE0MzdDQTAwRkUxRTNG
IC8qIExlbmd0aEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTVCQTdENjIxNTE0MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNDUy
Myw2ICsxNDUyNSw4IEBACiAJCUU1MjZBRjNFMTcyN0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3JtYW5j
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERBREEy
NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0
U3VnZ2VzdGlvbnNDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1
NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEYXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElucHV0TW9kZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUU1MkVGREYzMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnB1dE1vZGVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUU1NUY0OTc5MTUxQjg4ODAwMEJCNjdEQiAvKiBMZW5ndGhGdW5jdGlvbnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8q
IERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdERDAw
OTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
YXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjA4MDQsNiArMjA4MDgsOCBAQAogCQkJCTk3MjA1QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFn
ZURvY3VtZW50LmggKi8sCiAJCQkJRjU1QjNEOEQxMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5w
dXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4RTEyNTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1
dFR5cGUuaCAqLywKKwkJCQlFNTJFRkRGMzIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFt
ZXMuY3BwICovLAorCQkJCUU1MkVGREYyMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1l
cy5oICovLAogCQkJCTM3RTM1MjRBMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5cGUuY3BwICov
LAogCQkJCTM3RTM1MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJCQlD
MzQ4NjEyMTE1RkRFMjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuY3BwICovLApAQCAtMjg0
MzQsNiArMjg0NDAsNyBAQAogCQkJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVU
ZXh0Qm94U3R5bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4
MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURB
MTlCREYwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNTJFRkRG
NDIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTM3RTM1MjREMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUMzNDg2MTI0MTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMzMDlERUEwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydEludG9UZXh0Tm9k
ZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE1NjgsNiArMzE1NzUsNyBAQAogCQkJCTA3
MzY3REUwMTcyQ0E2ODIwMEQ4NjFCOSAvKiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZG
T2JqQy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMwNCAvKiBJ
bmJhbmRXZWJWVFRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwNjNGODIxRTIz
RkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
RTUyRUZERjUyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzOEVDOTNFMUY5OUJGNUEwMDREMjJBOCAvKiBKU1F1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUM0NzcwMDlBQzRENzMwMEE2QUFC
NCAvKiBLZXlFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTk4RTBCMTYwM0NENjAw
MEZFQTNCMSAvKiBMZWdhY3lDRE0uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDZlNjY1MDQ3ZWQ1ODU3NDYxNmU5YmRjNmYx
YzRjYTE5MTdmNGUyMjQuLjc5NGI3NzRlMmU0NmQzZjY1ZTc2NTk4ZmI0YTYwOWEwM2I4ZDRiODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0xNDQsNiAr
MTQ0LDcgQEAgaHR0cF9lcXVpdgogaWQKIGluY3JlbWVudGFsCiBpbmRldGVybWluYXRlCitpbnB1
dG1vZGUKIGludGVncml0eQogaXMKIGlzbWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmlkbAppbmRleCBlOTY1ODI5NGYxMDFiYWRkNGI3NDQxMDVlMWQxZDJkZDZlMjlhMTUw
Li5iMDZmOWM0NzU2ZjdkNTE1NTMzMDczNDQ3NDA5ZjdiN2JlZmY1MmE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTQyLDYgKzQyLDcgQEAKICAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBmb3JtVGFyZ2V0OwogICAgIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGhlaWdodDsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBpbmRldGVybWluYXRlOwor
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaW5wdXRNb2RlOwogICAgIFtDb25kaXRpb25hbD1EQVRB
TElTVF9FTEVNRU5UXSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEVsZW1lbnQgbGlzdDsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBtYXg7CiAgICAgYXR0cmlidXRlIGxvbmcgbWlu
TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKaW5k
ZXggYjg1NDAxNjUyNzVlMWNkMzc3NDU4M2E0YjdjN2E2N2Q4MWIyMmI5My4uYmRhMzYyYWJmM2U5
YjM5OTc4M2Q0Y2UzODk1NDVlMjY2ZGZmODJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsCkBAIC01OSw0ICs1OSw1IEBAIGludGVyZmFjZSBIVE1MVGV4
dEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2Uo
b3B0aW9uYWwgbG9uZyBzdGFydCA9IDAsIG9wdGlvbmFsIGxvbmcgZW5kID0gMCwgb3B0aW9uYWwg
RE9NU3RyaW5nIGRpcmVjdGlvbik7CiAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF1dG9jb21w
bGV0ZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlucHV0TW9kZTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDk0
ZWFiNzY2ZTI2Nzg1OTk5YWRmMWQyMDA4NDFkZDg4YjllZjZjYmIuLjAzMzI2OGEzOWUzZDY2YmYw
ZjAyY2U5YzZlZmM2NGE3ZmM3YmU2OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVk
ZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJJbnB1dE1vZGVOYW1lcy5oIgogI2luY2x1
ZGUgIkxheW91dERpc2FsbG93ZWRTY29wZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCkBAIC02NzQsNiArNjc1LDMyIEBAIHZvaWQgSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OnNob3dQbGFjZWhvbGRlcklmTmVjZXNzYXJ5KCkKIH0KICNlbmRp
ZgogCitTdHJpbmcgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0TW9kZSgpIGNvbnN0
Cit7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpbnB1dE1vZGUgPSBhdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKGlucHV0bW9kZUF0dHIpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVND
SUlDYXNlKGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OnRleHQoKSkpCisgICAgICAgIHJldHVy
biBJbnB1dE1vZGVOYW1lczo6dGV4dCgpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OnRlbCgpKSkKKyAgICAgICAgcmV0dXJuIElucHV0
TW9kZU5hbWVzOjp0ZWwoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1v
ZGUsIElucHV0TW9kZU5hbWVzOjp1cmwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1l
czo6dXJsKCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1
dE1vZGVOYW1lczo6ZW1haWwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1lczo6ZW1h
aWwoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9k
ZU5hbWVzOjpudW1lcmljKCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6Om51bWVy
aWMoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9k
ZU5hbWVzOjpkZWNpbWFsKCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OmRlY2lt
YWwoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9k
ZU5hbWVzOjpzZWFyY2goKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1lczo6c2VhcmNo
KCk7CisKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKwordm9pZCBIVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudDo6c2V0SW5wdXRNb2RlKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAg
c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihpbnB1dG1vZGVBdHRyLCB2YWx1ZSk7
Cit9CisKIHN0YXRpYyB2b2lkIGdldE5leHRTb2Z0QnJlYWsoUm9vdElubGluZUJveComIGxpbmUs
IE5vZGUqJiBicmVha05vZGUsIHVuc2lnbmVkJiBicmVha09mZnNldCkKIHsKICAgICBSb290SW5s
aW5lQm94KiBuZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudC5oCmluZGV4IGMzMjBmMmZlOTkzZDgxYTQyM2NjNTk5MzYzZmIzYjMzZDFjYzA1
ZmMuLjdlYWMwYjZjMTQ3ODA2MmI4ZWQ3MGI4YTEzNmI0ZDg3NGMwNzkxYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTk4LDYg
Kzk4LDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2hvd1BsYWNlaG9sZGVy
SWZOZWNlc3NhcnkoKTsKICNlbmRpZgogCisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGlucHV0
TW9kZSgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5wdXRNb2RlKGNvbnN0IFN0cmluZyYpOworCiBw
cm90ZWN0ZWQ6CiAgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50JiwgSFRNTEZvcm1FbGVtZW50Kik7CiAgICAgYm9vbCBpc1BsYWNlaG9s
ZGVyRW1wdHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRN
b2RlTmFtZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjA4NWIxMzIwZjVjNTE3ZDJiNDE0YzVmNzJkNGE4N2ZjM2YzMzVlZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCkBAIC0w
LDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SW5wdXRNb2RlTmFtZXMuaCIKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJbnB1dE1vZGVOYW1lcyB7CisKK2NvbnN0
IEF0b21pY1N0cmluZyYgdGV4dCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21p
Y1N0cmluZz4gbW9kZSgidGV4dCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
OworICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHRlbCgpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgidGVsIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2Nv
bnN0IEF0b21pY1N0cmluZyYgdXJsKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRv
bWljU3RyaW5nPiBtb2RlKCJ1cmwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBlbWFpbCgpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgiZW1haWwiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBudW1lcmljKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8QXRvbWljU3RyaW5nPiBtb2RlKCJudW1lcmljIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgZGVjaW1hbCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4g
bW9kZSgiZGVjaW1hbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHNlYXJjaCgpCit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgic2VhcmNoIiwgQXRvbWlj
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmU6OklucHV0TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzczMDgx
M2JkNzIwNjk1N2QwMzNjMzlkNzFmN2NhYThmMjU4MzI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJbnB1dE1vZGVOYW1lcyB7CisK
K1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGV4dCgpOworV0VCQ09SRV9FWFBP
UlQgY29uc3QgQXRvbWljU3RyaW5nJiB0ZWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21p
Y1N0cmluZyYgdXJsKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIGVtYWls
KCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIG51bWVyaWMoKTsKK1dFQkNP
UkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgZGVjaW1hbCgpOworV0VCQ09SRV9FWFBPUlQg
Y29uc3QgQXRvbWljU3RyaW5nJiBzZWFyY2goKTsKKworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5j
cHAKaW5kZXggMWNkN2FjOGZjOWY2Njc2Y2M2MjBhODU2NjIwNzc1Y2IwZGUwNTdmOC4uMzIwMGFm
MWFjZjM4NmM0YjMyZjg1YTk5MjRkYzFjNTdlOTI0Zjg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcApAQCAtNzcsNiArNzcsNyBAQCB2
b2lkIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogICAgIGVuY29kZXIgPDwgaXNSVEw7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF1
dG9jYXBpdGFsaXplVHlwZSk7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGVsZW1lbnRUeXBlKTsK
KyAgICBlbmNvZGVyLmVuY29kZUVudW0oaW5wdXRNb2RlKTsKICAgICBlbmNvZGVyIDw8IGZvcm1B
Y3Rpb247CiAgICAgZW5jb2RlciA8PCBzZWxlY3RPcHRpb25zOwogICAgIGVuY29kZXIgPDwgc2Vs
ZWN0ZWRJbmRleDsKQEAgLTE0Miw2ICsxNDMsOSBAQCBib29sIEFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBBc3Npc3RlZE5vZGVJbmZvcm1hdAog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5lbGVtZW50VHlwZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5pbnB1
dE1vZGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5mb3JtQWN0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaAppbmRleCA2YjBjZTE3YTFh
ZmIxZWMyYjgzZjIwOGRkMTcxMDEwOWU4OWI4NmIzLi5kMmNhN2I0MGQ5MGJkZjgxZmU3MWJlMmE5
NjAwMGZmOGEwODg5NDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmgKQEAgLTU4LDYgKzU4LDE3IEBAIGVudW0gY2xhc3MgSW5wdXRUeXBlIHsK
ICNlbmRpZgogfTsKIAorZW51bSBjbGFzcyBJbnB1dE1vZGUgeworICAgIEF1dG8sCisgICAgVGV4
dCwKKyAgICBUZWxlcGhvbmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAgIE51bWVyaWMsCisg
ICAgRGVjaW1hbCwKKyAgICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJT1MpCiBzdHJ1Y3Qg
T3B0aW9uSXRlbSB7CiAgICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTA5LDYgKzEyMCw3IEBAIHN0
cnVjdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNpZGVGaXhlZFBvc2l0
aW9uIHsgZmFsc2UgfTsKICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2NhcGl0YWxpemVUeXBl
IHsgQXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlwZSBlbGVtZW50VHlw
ZSB7IElucHV0VHlwZTo6Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1vZGUgeyBJbnB1dE1v
ZGU6OkF1dG8gfTsKICAgICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0b3I8T3B0aW9uSXRl
bT4gc2VsZWN0T3B0aW9uczsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0xIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQppbmRleCA0NzA3NDFmZTdmYTNjNmRkODQzOTkyM2ExNzk1NDQ0NWM2YmUxMTIyLi45Yjky
NzkyMTk5NDIyMjVmNGQxMDFiYjQ5NDc0M2IwYjQxZGVmMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTM1MzMsMjQgKzM1MzMsNDkgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVs
ZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgICAgICBbX3Ry
YWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzQXV0
b2NvcnJlY3QgPyBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29ycmVj
dGlvblR5cGVOb107CiAgICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUpIHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CisgICAgc3dpdGNo
IChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAgY2FzZSBJbnB1dE1v
ZGU6OkF1dG86CisgICAgICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1l
bnRUeXBlKSB7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgICAgIFtf
dHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICAgICAgW190
cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAgICAgICBbX3RyYWl0
cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAgICAgICBb
X3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRp
b25dOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQ
YWQ6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVO
dW1iZXJQYWRdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKKyAg
ICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0TW9kZTo6VGV4dDoKKyAgICAg
ICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpUZWxlcGhvbmU6CiAgICAgICAgIFtfdHJh
aXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6OlVSTDoKKyAgICBjYXNlIElucHV0TW9kZTo6VXJsOgog
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dE1v
ZGU6OkVtYWlsOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5
cGVFbWFpbEFkZHJlc3NdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVt
YmVyOgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1i
ZXJzQW5kUHVuY3R1YXRpb25dOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6
TnVtYmVyUGFkOgorICAgIGNhc2UgSW5wdXRNb2RlOjpOdW1lcmljOgogICAgICAgICBbX3RyYWl0
cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOwogICAgICAgICBicmVh
azsKLSAgICBkZWZhdWx0OgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXli
b2FyZFR5cGVEZWZhdWx0XTsKKyAgICBjYXNlIElucHV0TW9kZTo6RGVjaW1hbDoKKyAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVjaW1hbFBhZF07CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpTZWFyY2g6CisgICAgICAgIFtfdHJhaXRz
IHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVdlYlNlYXJjaF07CisgICAgICAgIGJyZWFr
OwogICAgIH0KIAogICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpjb250ZW50VHlwZUZy
b21GaWVsZE5hbWUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lKV07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCmluZGV4IGE5Y2FkY2U4MjA0ODhmOGMzNjQ1ZDFjMjZkYmFhNjUzZDk4YzgwYmUuLjUzYmU1
YzJlYmUxNGVkMjU4NzYwNzI0MmY2Y2YxZjY1Y2ExNmQ4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC04NCw4ICs4NCwx
MCBAQAogI2ltcG9ydCA8V2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0hUTUxTZWxlY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvSGlzdG9yeUl0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVz
dFJlc3VsdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9JbnB1dE1vZGVOYW1lcy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xpYldlYlJUQ1Byb3Zp
ZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaD4KQEAgLTIy
OTcsNiArMjI5OSwyNyBAQCBzdGF0aWMgSW50UmVjdCBlbGVtZW50UmVjdEluUm9vdFZpZXdDb29y
ZGluYXRlcyhjb25zdCBOb2RlJiBub2RlLCBjb25zdCBGcmFtZSYgZgogICAgIHJldHVybiB2aWV3
LT5jb250ZW50c1RvUm9vdFZpZXcocmVuZGVyZXItPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkp
OwogfQogCitzdGF0aWMgSW5wdXRNb2RlIGlucHV0TW9kZUZvckVsZW1lbnQoY29uc3QgTm9kZSYg
bm9kZSkKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0TW9kZSA9IGRvd25jYXN0PEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Pihub2RlKS5pbnB1dE1vZGUoKTsKKyAgICBpZiAoaW5w
dXRNb2RlID09IElucHV0TW9kZU5hbWVzOjp0ZXh0KCkpCisgICAgICAgIHJldHVybiBJbnB1dE1v
ZGU6OlRleHQ7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dGVsKCkpCisg
ICAgICAgIHJldHVybiBJbnB1dE1vZGU6OlRlbGVwaG9uZTsKKyAgICBpZiAoaW5wdXRNb2RlID09
IElucHV0TW9kZU5hbWVzOjp1cmwoKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6VXJsOwor
ICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCkpCisgICAgICAgIHJl
dHVybiBJbnB1dE1vZGU6OkVtYWlsOworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFt
ZXM6Om51bWVyaWMoKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6TnVtZXJpYzsKKyAgICBp
ZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjpkZWNpbWFsKCkpCisgICAgICAgIHJldHVy
biBJbnB1dE1vZGU6OkRlY2ltYWw7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1l
czo6c2VhcmNoKCkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGU6OlNlYXJjaDsKKworICAgIHJl
dHVybiBJbnB1dE1vZGU6OkF1dG87Cit9CisKIHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uKQogewogICAg
IGxheW91dElmTmVlZGVkKCk7CkBAIC0yNDAyLDYgKzI0MjUsNyBAQCB2b2lkIFdlYlBhZ2U6Omdl
dEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1h
dGlvbikKICAgICAgICAgaW5mb3JtYXRpb24udmFsdWUgPSBlbGVtZW50LnZhbHVlKCk7CiAgICAg
ICAgIGluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lID0gV2ViQ29yZTo6dG9BdXRvZmlsbEZp
ZWxkTmFtZShlbGVtZW50LmF1dG9maWxsRGF0YSgpLmZpZWxkTmFtZSk7CiAgICAgICAgIGluZm9y
bWF0aW9uLnBsYWNlaG9sZGVyID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKEhUTUxOYW1lczo6cGxhY2Vob2xkZXJBdHRyKTsKKyAgICAgICAgaW5mb3JtYXRpb24uaW5w
dXRNb2RlID0gaW5wdXRNb2RlRm9yRWxlbWVudChlbGVtZW50KTsKICAgICB9IGVsc2UgaWYgKGlz
PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSkpIHsKICAgICAgICAgSFRNTElucHV0
RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fzc2lzdGVk
Tm9kZSk7CiAgICAgICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSA9IGVsZW1lbnQuZm9ybSgpOwpA
QCAtMjQ1NSw2ICsyNDc5LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgICAgICBp
bmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0VHlwZTo6Q29sb3I7CiAjZW5kaWYKIAorICAg
ICAgICBpbmZvcm1hdGlvbi5pbnB1dE1vZGUgPSBpbnB1dE1vZGVGb3JFbGVtZW50KGVsZW1lbnQp
OwogICAgICAgICBpbmZvcm1hdGlvbi5pc1JlYWRPbmx5ID0gZWxlbWVudC5pc1JlYWRPbmx5KCk7
CiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlID0gZWxlbWVudC52YWx1ZSgpOwogICAgICAgICBp
bmZvcm1hdGlvbi52YWx1ZUFzTnVtYmVyID0gZWxlbWVudC52YWx1ZUFzTnVtYmVyKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMTA2YjRmYmE2ZjdiMTA0NjRhNTFiMDM2NTQ5MDUwOWU4NjA0MDgwNS4uOTA0YjAwZmM2YTc4
YWEzNDhhMWRkMmU4ZDZjY2FhYjJiYzdiZWU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4
LTA4LTE3ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBb
aU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gdmVyaWZ5
IGJlaGF2aW9yIHdoZW4gZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgaW5wdXRtb2RlIGF0dHJpYnV0
ZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS5odG1s
OiBBZGRlZC4KKwogMjAxOC0wOC0xNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgTWFya2VkIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2lu
dC13aXRoLW5hdmlnYXRpb24uaHRtbCBhcyBmbGFreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZmMmRhZWYxZGQ1ZmRkODkwMDhlNzczYzFmODExY2RjZjE5MjBmMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNDQgQEAKK1Rlc3QgaW5wdXRtb2RlIGF0dHJpYnV0ZQorCisKK01pc3Np
bmcgdmFsdWUgZGVmYXVsdDoKK1BBU1MgaW5wdXQuaW5wdXRNb2RlIGlzICIiCitQQVNTIGlucHV0
LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgbnVsbAorCitJbnZhbGlkIHZhbHVlIGRlZmF1
bHQ6CitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJmb29iYXIiOyBpbnB1dC5pbnB1dE1vZGUgaXMg
IiIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAiZm9vYmFyIgorUEFT
UyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJiYXoiKTsgaW5wdXQuaW5wdXRNb2Rl
IGlzICIiCisKK1ZhbGlkIHZhbHVlczoKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gInRleHQiOyBp
bnB1dC5pbnB1dE1vZGUgaXMgInRleHQiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRt
b2RlIikgaXMgInRleHQiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRl
eHQiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0IgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAi
dGVsIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZWwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIikgaXMgInRlbCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUi
LCAidGVsIik7IGlucHV0LmlucHV0TW9kZSBpcyAidGVsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUg
PSAidXJsIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ1cmwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0
ZSgiaW5wdXRtb2RlIikgaXMgInVybCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1v
ZGUiLCAidXJsIik7IGlucHV0LmlucHV0TW9kZSBpcyAidXJsIgorUEFTUyBpbnB1dC5pbnB1dE1v
ZGUgPSAiZW1haWwiOyBpbnB1dC5pbnB1dE1vZGUgaXMgImVtYWlsIgorUEFTUyBpbnB1dC5nZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJlbWFpbCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRl
KCJpbnB1dG1vZGUiLCAiZW1haWwiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJlbWFpbCIKK1BBU1Mg
aW5wdXQuaW5wdXRNb2RlID0gIm51bWVyaWMiOyBpbnB1dC5pbnB1dE1vZGUgaXMgIm51bWVyaWMi
CitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgIm51bWVyaWMiCitQQVNT
IGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgIm51bWVyaWMiKTsgaW5wdXQuaW5wdXRN
b2RlIGlzICJudW1lcmljIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAiZGVjaW1hbCI7IGlucHV0
LmlucHV0TW9kZSBpcyAiZGVjaW1hbCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1v
ZGUiKSBpcyAiZGVjaW1hbCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAi
ZGVjaW1hbCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgImRlY2ltYWwiCitQQVNTIGlucHV0LmlucHV0
TW9kZSA9ICJzZWFyY2giOyBpbnB1dC5pbnB1dE1vZGUgaXMgInNlYXJjaCIKK1BBU1MgaW5wdXQu
Z2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAic2VhcmNoIgorUEFTUyBpbnB1dC5zZXRBdHRy
aWJ1dGUoImlucHV0bW9kZSIsICJzZWFyY2giKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJzZWFyY2gi
CisKK1ZhbGlkIGNhc2UtaW5zZW5zaXRpdmUgdmFsdWVzOgorUEFTUyBpbnB1dC5pbnB1dE1vZGUg
PSAidEV4dCI7IGlucHV0LmlucHV0TW9kZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmli
dXRlKCJpbnB1dG1vZGUiKSBpcyAidEV4dCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1
dG1vZGUiLCAidEV4dCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRleHQiCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZDQwOGRj
ZmUwZmRmZDczMDNiZWNjNThlMWY3NTFlM2MwY2Q1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUuaHRtbApAQCAtMCwwICsxLDUz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxwPlRlc3QgaW5wdXRtb2RlIGF0
dHJpYnV0ZTwvcD4KKzxpbnB1dCBpZD0iaW5wdXQiPgorPGRpdiBpZD1jb25zb2xlPjwvZGl2Pgor
PHNjcmlwdD4KK2RlYnVnKCdNaXNzaW5nIHZhbHVlIGRlZmF1bHQ6Jyk7CitzaG91bGRCZSgnaW5w
dXQuaW5wdXRNb2RlJywgJyIiJyk7CitzaG91bGRCZU51bGwoJ2lucHV0LmdldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIiknKTsKKworZGVidWcoJycpOworZGVidWcoJ0ludmFsaWQgdmFsdWUgZGVmYXVs
dDonKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAiZm9vYmFyIjsgaW5wdXQuaW5wdXRN
b2RlJywgJyIiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScs
ICciZm9vYmFyIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwg
ImJheiIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnIiInKTsKKworZGVidWcoJycpOworZGVidWcoJ1Zh
bGlkIHZhbHVlczonKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidGV4dCI7IGlucHV0
LmlucHV0TW9kZScsICcidGV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIpJywgJyJ0ZXh0IicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIiwgInRleHQiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZXh0IicpOworc2hvdWxkQmUo
J2lucHV0LmlucHV0TW9kZSA9ICJ0ZWwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRlbCInKTsKK3No
b3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0ZWwiJyk7CitzaG91
bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidGVsIik7IGlucHV0LmlucHV0
TW9kZScsICcidGVsIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ1cmwiOyBpbnB1
dC5pbnB1dE1vZGUnLCAnInVybCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIpJywgJyJ1cmwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1
dG1vZGUiLCAidXJsIik7IGlucHV0LmlucHV0TW9kZScsICcidXJsIicpOworc2hvdWxkQmUoJ2lu
cHV0LmlucHV0TW9kZSA9ICJlbWFpbCI7IGlucHV0LmlucHV0TW9kZScsICciZW1haWwiJyk7Citz
aG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICciZW1haWwiJyk7Citz
aG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZW1haWwiKTsgaW5wdXQu
aW5wdXRNb2RlJywgJyJlbWFpbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAibnVt
ZXJpYyI7IGlucHV0LmlucHV0TW9kZScsICcibnVtZXJpYyInKTsKK3Nob3VsZEJlKCdpbnB1dC5n
ZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJudW1lcmljIicpOworc2hvdWxkQmUoJ2lucHV0
LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgIm51bWVyaWMiKTsgaW5wdXQuaW5wdXRNb2RlJywg
JyJudW1lcmljIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJkZWNpbWFsIjsgaW5w
dXQuaW5wdXRNb2RlJywgJyJkZWNpbWFsIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0
ZSgiaW5wdXRtb2RlIiknLCAnImRlY2ltYWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmli
dXRlKCJpbnB1dG1vZGUiLCAiZGVjaW1hbCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnImRlY2ltYWwi
Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInNlYXJjaCI7IGlucHV0LmlucHV0TW9k
ZScsICcic2VhcmNoIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2Rl
IiknLCAnInNlYXJjaCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9k
ZSIsICJzZWFyY2giKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJzZWFyY2giJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdWYWxpZCBjYXNlLWluc2Vuc2l0aXZlIHZhbHVlczonKTsKK3Nob3VsZEJlKCdp
bnB1dC5pbnB1dE1vZGUgPSAidEV4dCI7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsKK3No
b3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0RXh0IicpOworc2hv
dWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRFeHQiKTsgaW5wdXQuaW5w
dXRNb2RlJywgJyJ0ZXh0IicpOworCitkZWJ1ZygnJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347413</attachid>
            <date>2018-08-17 16:48:14 -0700</date>
            <delta_ts>2018-08-20 10:04:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180817164813.patch</filename>
            <type>text/plain</type>
            <size>30737</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0OTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBhMjFhNWQzOWZjZDkz
NTkyNTRjMTEyMmNjZGFkOGMwYzMwMjFjNC4uY2RkOWMwMWI1ODkwY2E3OWE3MTJiNjNkMDM3ZGEz
MmNiZTY3ZDg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA4LTE3ICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXRt
b2RlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0TW9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0SW5wdXRNb2RlKToKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dE1vZGVO
YW1lcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRlbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnB1dE1vZGVOYW1lczo6dXJsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5h
bWVzOjplbWFpbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6bnVtZXJpYyk6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6c2VhcmNoKToKKyAgICAgICAgKiBodG1sL0lucHV0TW9k
ZU5hbWVzLmg6IEFkZGVkLgorCiAyMDE4LTA4LTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJlcGxhY2UgY2FuQnViYmxlIGFuZCBjYW5jZWxhYmxlIGJvb2xl
YW5zIGluIEV2ZW50IGJ5IGVudW0gY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYzM1MmE0NWJiMDYxZmQ3
ZTA5ZjkxOTYyOTBhZmFhZjljNGQxYWYyLi5kNzZlMTlhZjYxMjA3Zjg5N2RiY2MxMzVjZDlkN2U2
NjgzNjk3OGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA4LTE3ICBBZGl0eWEg
S2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9y
dCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHNwZWNpZmllcyB3
aGljaCBpbnB1dCBtZWNoYW5pc20gd291bGQgYmUgbW9zdCBoZWxwZnVsIGZvcgorICAgICAgICB1
c2VycyBlbnRlcmluZyBjb250ZW50IGluIHRleHRmaWVsZCBpbnB1dHMgYW5kIHRleHRhcmVhcy4g
VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQKKyAgICAgICAgZm9yIHNldmVuIHZhbHVlczogdGV4dCwg
dGVsLCB1cmwsIGVtYWlsLCBudW1lcmljLCBkZWNpbWFsIGFuZCBzZWFyY2guCisKKyAgICAgICAg
T24gaU9TLCB3ZSBjYW4gc3BlY2lmeSBVSUtleWJvYXJkVHlwZXMgdGhhdCBiZXN0IG1hdGNoIHRo
ZSBzdXBwbGllZCBpbnB1dG1vZGUuCisgICAgICAgIC0gdGV4dDogVUlLZXlib2FyZFR5cGVEZWZh
dWx0CisgICAgICAgIC0gdGVsOiBVSUtleWJvYXJkVHlwZVBob25lUGFkCisgICAgICAgIC0gdXJs
OiBVSUtleWJvYXJkVHlwZVVSTAorICAgICAgICAtIGVtYWlsOiBVSUtleWJvYXJkVHlwZUVtYWls
QWRkcmVzcworICAgICAgICAtIG51bWVyaWM6IFVJS2V5Ym9hcmRUeXBlTnVtYmVyUGFkCisgICAg
ICAgIC0gZGVjaW1hbDogVUlLZXlib2FyZFR5cGVEZWNpbWFsUGFkCisgICAgICAgIC0gc2VhcmNo
OiBVSUtleWJvYXJkVHlwZVdlYlNlYXJjaAorCisgICAgICAgIEluIHRoZSBjYXNlIHRoYXQgdGhl
IGlucHV0bW9kZSBhdHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgd2UgZmFsbCBiYWNrIHRvIHVz
aW5nCisgICAgICAgIG91ciBleGlzdGluZyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIHdoYXQga2lu
ZCBvZiBrZXlib2FyZCB0byBzaG93IGZvciB0ZXh0ZmllbGRzLgorCisgICAgICAgICogU2hhcmVk
L0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9Bc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5oOiBBZGRlZCBpbnB1dE1vZGUgZmllbGQuCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgdGV4dElucHV0VHJhaXRzXSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjppbnB1dE1vZGVGb3JFbGVtZW50KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAy
MDE4LTA4LTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
cGxhY2UgY2FuQnViYmxlIGFuZCBjYW5jZWxhYmxlIGJvb2xlYW5zIGluIEV2ZW50IGJ5IGVudW0g
Y2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBmMGVmNzg2MTBkZDA0NmIzNjcyNzJjMDVhYWM2NzQ0
NTg1YzkzOGEyLi44ZGU4ZTE3NmZjNGM0MjUwZjIxZWFmMGJjNmVkZmM0NWZiNzhlMTY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dApAQCAtMTA1Niw2ICsxMDU2LDcgQEAgaHRtbC9JbWFnZUJpdG1hcC5jcHAKIGh0
bWwvSW1hZ2VEYXRhLmNwcAogaHRtbC9JbWFnZURvY3VtZW50LmNwcAogaHRtbC9JbWFnZUlucHV0
VHlwZS5jcHAKK2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCiBodG1sL0lucHV0VHlwZS5jcHAKIGh0
bWwvSW5wdXRUeXBlTmFtZXMuY3BwCiBodG1sL0xhYmVsYWJsZUVsZW1lbnQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODEy
ODg0MjJmYWE1NDQxMGYyYzA4MDIzYmJmOTQ4ODc2MTNmNDdjOS4uMWNjNWQwMGQ4NjEwYzMwN2Rm
OTNlM2Q3YmQ0N2FjODBmYTYzZDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDc5MCw2ICs0NzkwLDggQEAKIAkJRTUxNzY3
MDMyMEI4OEMxNDAwRDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTE3NjcwMjIwQjg4
QzE0MDBENDExNjcgLyogRGF0YUxpc3RTdWdnZXN0aW9uSW5mb3JtYXRpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNTJDRjU0RDIwQTI2OEFD
MDBEQURBMjcgLyogRGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyQ0Y1NEMyMEEyNjhBQzAwREFEQTI3IC8q
IERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNTJDRjU0RjIwQTM1QTI4MDBEQURBMjcgLyogRGF0YUxp
c3RTdWdnZXN0aW9uUGlja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNTJDRjU0RTIwQTM1QTI4MDBEQURBMjcgLyogRGF0YUxpc3RTdWdnZXN0aW9u
UGlja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTUyRUZERjQyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTJFRkRGMjIxMTI4NzVBMDBB
RDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlFNTJFRkRGNTIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2Rl
TmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTUyRUZERjMyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmNwcCAqLzsgfTsKIAkJ
RTU4QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU4QjQ1QjgyMEFEMDdE
RDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovOyB9OwogCQlFNThCNDVCQjIw
QUQwN0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI5MjBBRDA3REQwMDk5MTAy
NSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovOyB9OwogCQlFNUJBN0Q2MzE1MTQzN0NB
MDBGRTFFM0YgLyogTGVuZ3RoRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNUJBN0Q2MjE1MTQzN0NBMDBGRTFFM0YgLyogTGVuZ3RoRnVu
Y3Rpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTE0NTIzLDYgKzE0NTI1LDggQEAKIAkJRTUyNkFGM0UxNzI3RjhGMjAwRTQxNzgxIC8qIFBl
cmZvcm1hbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZv
cm1hbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1NEMyMEEyNjhB
QzAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNTJDRjU0RTIwQTM1QTI4MDBEQURBMjcgLyogRGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFNTJFRkRGMjIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFt
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5wdXRNb2RlTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTUyRUZERjMyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElucHV0TW9kZU5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTU1RjQ5NzkxNTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9u
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZW5ndGhGdW5jdGlv
bnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNThCNDVCODIwQUQwN0REMDA5
OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0
QnV0dG9uRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNThCNDVCOTIw
QUQwN0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMDgwNCw2ICsyMDgwOCw4IEBACiAJCQkJOTcyMDVBQjIxMjM5MjkxMDAwQjE3Mzgw
IC8qIEltYWdlRG9jdW1lbnQuaCAqLywKIAkJCQlGNTVCM0Q4RDEyNTFGMTJEMDAzRUYyNjkgLyog
SW1hZ2VJbnB1dFR5cGUuY3BwICovLAogCQkJCUY1NUIzRDhFMTI1MUYxMkQwMDNFRjI2OSAvKiBJ
bWFnZUlucHV0VHlwZS5oICovLAorCQkJCUU1MkVGREYzMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1
dE1vZGVOYW1lcy5jcHAgKi8sCisJCQkJRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0
TW9kZU5hbWVzLmggKi8sCiAJCQkJMzdFMzUyNEExMjQ1MEM1MjAwQkFGNUQ5IC8qIElucHV0VHlw
ZS5jcHAgKi8sCiAJCQkJMzdFMzUyNEMxMjQ1MEM2NjAwQkFGNUQ5IC8qIElucHV0VHlwZS5oICov
LAogCQkJCUMzNDg2MTIxMTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5jcHAgKi8s
CkBAIC0yODQzNCw2ICsyODQ0MCw3IEBACiAJCQkJMUMwMTA3MDExOTI1OTRERjAwOEE0MjAxIC8q
IElubGluZVRleHRCb3hTdHlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwQTU4RTUxQkFBNDBC
MTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVC
NzY3NTcxREExOUJERjAwM0UyM0I1IC8qIElucHV0RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUU1MkVGREY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzdFMzUyNEQxMjQ1MEM2NjAwQkFGNUQ5IC8qIElucHV0VHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQzM0ODYxMjQxNUZERTIxRTAwN0ExQ0M5IC8qIElucHV0VHlwZU5hbWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURFQTA5OUU2NDkyMDA1NkU1ODEgLyogSW5zZXJ0SW50
b1RleHROb2RlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTU2OCw2ICszMTU3NSw3IEBA
CiAJCQkJMDczNjdERTAxNzJDQTY4MjAwRDg2MUI5IC8qIEluYmFuZFRleHRUcmFja1ByaXZhdGVM
ZWdhY3lBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkUxNkM1OTQxN0NGRTE3MjAwODUy
QzA0IC8qIEluYmFuZFdlYlZUVFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDA2
M0Y4MjFFMjNGQTg5MDA4MTJCRTMgLyogSW5pdERhdGFSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlFNTJFRkRGNTIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5M0UxRjk5QkY1QTAwNEQyMkE4IC8qIEpTUXVpY2tUaW1l
UGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1QzQ3NzAwOUFDNEQ3
MzAwQTZBQUI0IC8qIEtleUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBOThFMEIx
NjAzQ0Q2MDAwRkVBM0IxIC8qIExlZ2FjeUNETS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggNmU2NjUwNDdlZDU4NTc0NjE2
ZTliZGM2ZjFjNGNhMTkxN2Y0ZTIyNC4uNzk0Yjc3NGUyZTQ2ZDNmNjVlNzY1OThmYjRhNjA5YTAz
YjhkNGI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAg
LTE0NCw2ICsxNDQsNyBAQCBodHRwX2VxdWl2CiBpZAogaW5jcmVtZW50YWwKIGluZGV0ZXJtaW5h
dGUKK2lucHV0bW9kZQogaW50ZWdyaXR5CiBpcwogaXNtYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaWRsCmluZGV4IGU5NjU4Mjk0ZjEwMWJhZGQ0Yjc0NDEwNWUxZDFkMmRk
NmUyOWExNTAuLmIwNmY5YzQ3NTZmN2Q1MTU1MzMwNzM0NDc0MDlmN2I3YmVmZjUyYTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbApAQCAtNDIsNiArNDIsNyBAQAog
ICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvcm1UYXJnZXQ7CiAgICAgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwogICAgIGF0dHJpYnV0ZSBib29sZWFuIGluZGV0ZXJt
aW5hdGU7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyBpbnB1dE1vZGU7CiAgICAgW0NvbmRpdGlv
bmFsPURBVEFMSVNUX0VMRU1FTlRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRWxlbWVudCBsaXN0
OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1heDsKICAgICBhdHRyaWJ1dGUg
bG9uZyBtaW5MZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmlkbAppbmRleCBiODU0MDE2NTI3NWUxY2QzNzc0NTgzYTRiN2M3YTY3ZDgxYjIyYjkzLi5iZGEz
NjJhYmYzZTliMzk5NzgzZDRjZTM4OTU0NWUyNjZkZmY4MmE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKQEAgLTU5LDQgKzU5LDUgQEAgaW50ZXJmYWNl
IEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgdm9pZCBzZXRTZWxlY3Rp
b25SYW5nZShvcHRpb25hbCBsb25nIHN0YXJ0ID0gMCwgb3B0aW9uYWwgbG9uZyBlbmQgPSAwLCBv
cHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
YXV0b2NvbXBsZXRlOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaW5wdXRNb2RlOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAK
aW5kZXggOTRlYWI3NjZlMjY3ODU5OTlhZGYxZDIwMDg0MWRkODhiOWVmNmNiYi4uMDMzMjY4YTM5
ZTNkNjZiZjBmMDJjZTljNmVmYzY0YTdmYzdiZTY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAK
ICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIklucHV0TW9kZU5hbWVzLmgi
CiAjaW5jbHVkZSAiTGF5b3V0RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgogI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKQEAgLTY3NCw2ICs2NzUsMzIgQEAgdm9pZCBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2hvd1BsYWNlaG9sZGVySWZOZWNlc3NhcnkoKQog
fQogI2VuZGlmCiAKK1N0cmluZyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aW5wdXRNb2Rl
KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0TW9kZSA9IGF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaW5wdXRtb2RlQXR0cik7CisgICAgaWYgKGVxdWFsSWdu
b3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6dGV4dCgpKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjp0ZXh0KCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdB
U0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6dGVsKCkpKQorICAgICAgICByZXR1
cm4gSW5wdXRNb2RlTmFtZXM6OnRlbCgpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OnVybCgpKSkKKyAgICAgICAgcmV0dXJuIElucHV0
TW9kZU5hbWVzOjp1cmwoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1v
ZGUsIElucHV0TW9kZU5hbWVzOjplbWFpbCgpKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZU5h
bWVzOjplbWFpbCgpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwg
SW5wdXRNb2RlTmFtZXM6Om51bWVyaWMoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1l
czo6bnVtZXJpYygpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwg
SW5wdXRNb2RlTmFtZXM6OmRlY2ltYWwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1l
czo6ZGVjaW1hbCgpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwg
SW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZU5hbWVz
OjpzZWFyY2goKTsKKworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCit2b2lkIEhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRJbnB1dE1vZGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkK
K3sKKyAgICBzZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGlucHV0bW9kZUF0dHIs
IHZhbHVlKTsKK30KKwogc3RhdGljIHZvaWQgZ2V0TmV4dFNvZnRCcmVhayhSb290SW5saW5lQm94
KiYgbGluZSwgTm9kZSomIGJyZWFrTm9kZSwgdW5zaWduZWQmIGJyZWFrT2Zmc2V0KQogewogICAg
IFJvb3RJbmxpbmVCb3gqIG5leHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggYzMyMGYyZmU5OTNkODFhNDIzY2M1OTkzNjNmYjNi
MzNkMWNjMDVmYy4uN2VhYzBiNmMxNDc4MDYyYjhlZDcwYjhhMTM2YjRkODc0YzA3OTFhZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaApA
QCAtOTgsNiArOTgsOSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzaG93UGxh
Y2Vob2xkZXJJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCiAKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgaW5wdXRNb2RlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRJbnB1dE1vZGUoY29uc3QgU3RyaW5n
Jik7CisKIHByb3RlY3RlZDoKICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQqKTsKICAgICBib29sIGlz
UGxhY2Vob2xkZXJFbXB0eSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dE1vZGVOYW1lcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVz
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMDg1YjEzMjBmNWM1MTdkMmI0MTRjNWY3MmQ0YTg3ZmMzZjMzNWVk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5j
cHAKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJbnB1dE1vZGVOYW1lcy5oIgorCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIElucHV0TW9kZU5hbWVzIHsK
KworY29uc3QgQXRvbWljU3RyaW5nJiB0ZXh0KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8QXRvbWljU3RyaW5nPiBtb2RlKCJ0ZXh0IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgdGVs
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBtb2RlKCJ0ZWwi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsK
K30KKworY29uc3QgQXRvbWljU3RyaW5nJiB1cmwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInVybCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpOworICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIGVt
YWlsKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBtb2RlKCJl
bWFpbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBt
b2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIG51bWVyaWMoKQoreworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoIm51bWVyaWMiLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3QgQXRv
bWljU3RyaW5nJiBkZWNpbWFsKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWlj
U3RyaW5nPiBtb2RlKCJkZWNpbWFsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgc2VhcmNoKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBtb2RlKCJzZWFyY2gi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXMKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVO
YW1lcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dE1vZGVOYW1lcy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZjNzMwODEzYmQ3MjA2OTU3ZDAzM2MzOWQ3MWY3Y2FhOGYyNTgzMjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmgKQEAgLTAsMCArMSw0NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWlj
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIElucHV0TW9kZU5h
bWVzIHsKKworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3RyaW5nJiB0ZXh0KCk7CitXRUJD
T1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHRlbCgpOworV0VCQ09SRV9FWFBPUlQgY29u
c3QgQXRvbWljU3RyaW5nJiB1cmwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZW1haWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgbnVtZXJpYygp
OworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3RyaW5nJiBkZWNpbWFsKCk7CitXRUJDT1JF
X0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHNlYXJjaCgpOworCit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmNwcAppbmRleCAxY2Q3YWM4ZmM5ZjY2NzZjYzYyMGE4NTY2MjA3NzVjYjBkZTA1N2Y4
Li4zMjAwYWYxYWNmMzg2YzRiMzJmODVhOTkyNGRjMWM1N2U5MjRmODljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCkBAIC03Nyw2ICs3
Nyw3IEBAIHZvaWQgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBpc1JUTDsKICAgICBlbmNvZGVyLmVuY29k
ZUVudW0oYXV0b2NhcGl0YWxpemVUeXBlKTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oZWxlbWVu
dFR5cGUpOworICAgIGVuY29kZXIuZW5jb2RlRW51bShpbnB1dE1vZGUpOwogICAgIGVuY29kZXIg
PDwgZm9ybUFjdGlvbjsKICAgICBlbmNvZGVyIDw8IHNlbGVjdE9wdGlvbnM7CiAgICAgZW5jb2Rl
ciA8PCBzZWxlY3RlZEluZGV4OwpAQCAtMTQyLDYgKzE0Myw5IEBAIGJvb2wgQXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb246OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEFzc2lzdGVkTm9kZUlu
Zm9ybWF0CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmVsZW1lbnRUeXBlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVz
dWx0LmlucHV0TW9kZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LmZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCmluZGV4IDZi
MGNlMTdhMWFmYjFlYzJiODNmMjA4ZGQxNzEwMTA5ZTg5Yjg2YjMuLmQyY2E3YjQwZDkwYmRmODFm
ZTcxYmUyYTk2MDAwZmY4YTA4ODk0MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24uaApAQCAtNTgsNiArNTgsMTcgQEAgZW51bSBjbGFzcyBJbnB1
dFR5cGUgewogI2VuZGlmCiB9OwogCitlbnVtIGNsYXNzIElucHV0TW9kZSB7CisgICAgQXV0bywK
KyAgICBUZXh0LAorICAgIFRlbGVwaG9uZSwKKyAgICBVcmwsCisgICAgRW1haWwsCisgICAgTnVt
ZXJpYywKKyAgICBEZWNpbWFsLAorICAgIFNlYXJjaAorfTsKKwogI2lmIFBMQVRGT1JNKElPUykK
IHN0cnVjdCBPcHRpb25JdGVtIHsKICAgICBPcHRpb25JdGVtKCkgeyB9CkBAIC0xMDksNiArMTIw
LDcgQEAgc3RydWN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHsKICAgICBib29sIGluc2lkZUZp
eGVkUG9zaXRpb24geyBmYWxzZSB9OwogICAgIEF1dG9jYXBpdGFsaXplVHlwZSBhdXRvY2FwaXRh
bGl6ZVR5cGUgeyBBdXRvY2FwaXRhbGl6ZVR5cGVEZWZhdWx0IH07CiAgICAgSW5wdXRUeXBlIGVs
ZW1lbnRUeXBlIHsgSW5wdXRUeXBlOjpOb25lIH07CisgICAgSW5wdXRNb2RlIGlucHV0TW9kZSB7
IElucHV0TW9kZTo6QXV0byB9OwogICAgIFN0cmluZyBmb3JtQWN0aW9uOwogICAgIFZlY3RvcjxP
cHRpb25JdGVtPiBzZWxlY3RPcHRpb25zOwogICAgIGludCBzZWxlY3RlZEluZGV4IHsgLTEgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCmluZGV4IDQ3MDc0MWZlN2ZhM2M2ZGQ4NDM5OTIzYTE3OTU0NDQ1YzZiZTEx
MjIuLjliOTI3OTIxOTk0MjIyNWY0ZDEwMWJiNDk0NzQzYjBiNDFkZWYyZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQpAQCAtMzUzMywyNCArMzUzMyw0OSBAQCBzdGF0aWMgTlNTdHJpbmcgKmNvbnRlbnRUeXBl
RnJvbUZpZWxkTmFtZShXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBmaWVsZE5hbWUpCiAgICAg
ICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaXNBdXRvY29ycmVjdCA/IFVJVGV4dEF1dG9jb3JyZWN0aW9uVHlwZVllcyA6IFVJVGV4dEF1
dG9jb3JyZWN0aW9uVHlwZU5vXTsKICAgICB9CiAKLSAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5lbGVtZW50VHlwZSkgewotICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAg
ICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pbnB1dE1vZGUpIHsKKyAgICBjYXNl
IElucHV0TW9kZTo6QXV0bzoKKyAgICAgICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUpIHsKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlBob25lOgorICAgICAg
ICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpVUkw6CisgICAgICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoKKyAgICAgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzc107Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlcjoKKyAgICAg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQ
dW5jdHVhdGlvbl07CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6
Ok51bWJlclBhZDoKKyAgICAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJv
YXJkVHlwZU51bWJlclBhZF07CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZURlZmF1
bHRdOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpUZXh0
OgorICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0
XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dE1vZGU6OlRlbGVwaG9uZToKICAgICAg
ICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgIGNhc2UgSW5wdXRNb2Rl
OjpVcmw6CiAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVVS
TF07CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoKKyAgICBjYXNl
IElucHV0TW9kZTo6RW1haWw6CiAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtl
eWJvYXJkVHlwZUVtYWlsQWRkcmVzc107CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRU
eXBlOjpOdW1iZXI6Ci0gICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJk
VHlwZU51bWJlcnNBbmRQdW5jdHVhdGlvbl07Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5w
dXRUeXBlOjpOdW1iZXJQYWQ6CisgICAgY2FzZSBJbnB1dE1vZGU6Ok51bWVyaWM6CiAgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBhZF07CiAgICAg
ICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlw
ZTpVSUtleWJvYXJkVHlwZURlZmF1bHRdOworICAgIGNhc2UgSW5wdXRNb2RlOjpEZWNpbWFsOgor
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWNpbWFsUGFk
XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dE1vZGU6OlNlYXJjaDoKKyAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlV2ViU2VhcmNoXTsKKyAgICAg
ICAgYnJlYWs7CiAgICAgfQogCiAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOmNvbnRl
bnRUeXBlRnJvbUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVs
ZE5hbWUpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0KaW5kZXggYTljYWRjZTgyMDQ4OGY4YzM2NDVkMWMyNmRiYWE2NTNkOThjODBi
ZS4uNTNiZTVjMmViZTE0ZWQyNTg3NjA3MjQyZjZjZjFmNjVjYTE2ZDhmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTg0
LDggKzg0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQYXJzZXJJZGlvbXMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvSFRNTFNlbGVjdEVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFRl
eHRBcmVhRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0lucHV0TW9kZU5hbWVzLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTGliV2Vi
UlRDUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5o
PgpAQCAtMjI5Nyw2ICsyMjk5LDI3IEBAIHN0YXRpYyBJbnRSZWN0IGVsZW1lbnRSZWN0SW5Sb290
Vmlld0Nvb3JkaW5hdGVzKGNvbnN0IE5vZGUmIG5vZGUsIGNvbnN0IEZyYW1lJiBmCiAgICAgcmV0
dXJuIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhyZW5kZXJlci0+YWJzb2x1dGVCb3VuZGluZ0Jv
eFJlY3QoKSk7CiB9CiAKK3N0YXRpYyBJbnB1dE1vZGUgaW5wdXRNb2RlRm9yRWxlbWVudChjb25z
dCBOb2RlJiBub2RlKQoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRNb2RlID0gZG93
bmNhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KG5vZGUpLmlucHV0TW9kZSgpOworICAg
IGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnRleHQoKSkKKyAgICAgICAgcmV0dXJu
IElucHV0TW9kZTo6VGV4dDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjp0
ZWwoKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6VGVsZXBob25lOworICAgIGlmIChpbnB1
dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnVybCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2Rl
OjpVcmw7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6ZW1haWwoKSkKKyAg
ICAgICAgcmV0dXJuIElucHV0TW9kZTo6RW1haWw7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1
dE1vZGVOYW1lczo6bnVtZXJpYygpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpOdW1lcmlj
OworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OmRlY2ltYWwoKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZTo6RGVjaW1hbDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0
TW9kZU5hbWVzOjpzZWFyY2goKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6U2VhcmNoOwor
CisgICAgcmV0dXJuIElucHV0TW9kZTo6QXV0bzsKK30KKwogdm9pZCBXZWJQYWdlOjpnZXRBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24p
CiB7CiAgICAgbGF5b3V0SWZOZWVkZWQoKTsKQEAgLTI0MDIsNiArMjQyNSw3IEBAIHZvaWQgV2Vi
UGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24m
IGluZm9ybWF0aW9uKQogICAgICAgICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVsZW1lbnQudmFsdWUo
KTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUgPSBXZWJDb3JlOjp0b0F1
dG9maWxsRmllbGROYW1lKGVsZW1lbnQuYXV0b2ZpbGxEYXRhKCkuZmllbGROYW1lKTsKICAgICAg
ICAgaW5mb3JtYXRpb24ucGxhY2Vob2xkZXIgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5j
aHJvbml6YXRpb24oSFRNTE5hbWVzOjpwbGFjZWhvbGRlckF0dHIpOworICAgICAgICBpbmZvcm1h
dGlvbi5pbnB1dE1vZGUgPSBpbnB1dE1vZGVGb3JFbGVtZW50KGVsZW1lbnQpOwogICAgIH0gZWxz
ZSBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oKm1fYXNzaXN0ZWROb2RlKSkgewogICAgICAgICBI
VE1MSW5wdXRFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1f
YXNzaXN0ZWROb2RlKTsKICAgICAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZWxlbWVudC5m
b3JtKCk7CkBAIC0yNDU1LDYgKzI0NzksNyBAQCB2b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbikKICAgICAg
ICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpDb2xvcjsKICNlbmRp
ZgogCisgICAgICAgIGluZm9ybWF0aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckVsZW1lbnQo
ZWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0aW9uLmlzUmVhZE9ubHkgPSBlbGVtZW50LmlzUmVh
ZE9ubHkoKTsKICAgICAgICAgaW5mb3JtYXRpb24udmFsdWUgPSBlbGVtZW50LnZhbHVlKCk7CiAg
ICAgICAgIGluZm9ybWF0aW9uLnZhbHVlQXNOdW1iZXIgPSBlbGVtZW50LnZhbHVlQXNOdW1iZXIo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxMDZiNGZiYTZmN2IxMDQ2NGE1MWIwMzY1NDkwNTA5ZTg2MDQwODA1Li45MDRi
MDBmYzZhNzhhYTM0OGExZGQyZThkNmNjYWFiMmJjN2JlZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTgtMDgtMTcgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0IGZvciB0aGUgaW5wdXRtb2RlIGF0dHJpYnV0ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNjIxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCB0
byB2ZXJpZnkgYmVoYXZpb3Igd2hlbiBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBpbnB1dG1vZGUg
YXR0cmlidXRlLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmli
dXRlLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA4LTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYXJrZWQgaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1i
cmVha3BvaW50LXdpdGgtbmF2aWdhdGlvbi5odG1sIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmYyZGFlZjFkZDVmZGQ4OTAwOGU3NzNjMWY4MTFjZGNmMTkyMGYzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NCBAQAorVGVzdCBpbnB1dG1vZGUgYXR0cmlidXRlCisK
KworTWlzc2luZyB2YWx1ZSBkZWZhdWx0OgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgaXMgIiIKK1BB
U1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyBudWxsCisKK0ludmFsaWQgdmFs
dWUgZGVmYXVsdDoKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gImZvb2JhciI7IGlucHV0LmlucHV0
TW9kZSBpcyAiIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJmb29i
YXIiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImJheiIpOyBpbnB1dC5p
bnB1dE1vZGUgaXMgIiIKKworVmFsaWQgdmFsdWVzOgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAi
dGV4dCI7IGlucHV0LmlucHV0TW9kZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRl
KCJpbnB1dG1vZGUiKSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1v
ZGUiLCAidGV4dCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRleHQiCitQQVNTIGlucHV0LmlucHV0
TW9kZSA9ICJ0ZWwiOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRlbCIKK1BBU1MgaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAidGVsIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIsICJ0ZWwiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZWwiCitQQVNTIGlucHV0Lmlu
cHV0TW9kZSA9ICJ1cmwiOyBpbnB1dC5pbnB1dE1vZGUgaXMgInVybCIKK1BBU1MgaW5wdXQuZ2V0
QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAidXJsIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUo
ImlucHV0bW9kZSIsICJ1cmwiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJ1cmwiCitQQVNTIGlucHV0
LmlucHV0TW9kZSA9ICJlbWFpbCI7IGlucHV0LmlucHV0TW9kZSBpcyAiZW1haWwiCitQQVNTIGlu
cHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgImVtYWlsIgorUEFTUyBpbnB1dC5zZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIsICJlbWFpbCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgImVtYWls
IgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAibnVtZXJpYyI7IGlucHV0LmlucHV0TW9kZSBpcyAi
bnVtZXJpYyIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAibnVtZXJp
YyIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAibnVtZXJpYyIpOyBpbnB1
dC5pbnB1dE1vZGUgaXMgIm51bWVyaWMiCitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJkZWNpbWFs
IjsgaW5wdXQuaW5wdXRNb2RlIGlzICJkZWNpbWFsIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUo
ImlucHV0bW9kZSIpIGlzICJkZWNpbWFsIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0
bW9kZSIsICJkZWNpbWFsIik7IGlucHV0LmlucHV0TW9kZSBpcyAiZGVjaW1hbCIKK1BBU1MgaW5w
dXQuaW5wdXRNb2RlID0gInNlYXJjaCI7IGlucHV0LmlucHV0TW9kZSBpcyAic2VhcmNoIgorUEFT
UyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJzZWFyY2giCitQQVNTIGlucHV0
LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInNlYXJjaCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMg
InNlYXJjaCIKKworVmFsaWQgY2FzZS1pbnNlbnNpdGl2ZSB2YWx1ZXM6CitQQVNTIGlucHV0Lmlu
cHV0TW9kZSA9ICJ0RXh0IjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0IgorUEFTUyBpbnB1dC5n
ZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJ0RXh0IgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1
dGUoImlucHV0bW9kZSIsICJ0RXh0Iik7IGlucHV0LmlucHV0TW9kZSBpcyAidGV4dCIKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2RkNDA4ZGNmZTBmZGZkNzMwM2JlY2M1OGUxZjc1MWUzYzBjZDU2YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS5odG1sCkBAIC0w
LDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHA+VGVzdCBpbnB1
dG1vZGUgYXR0cmlidXRlPC9wPgorPGlucHV0IGlkPSJpbnB1dCI+Cis8ZGl2IGlkPWNvbnNvbGU+
PC9kaXY+Cis8c2NyaXB0PgorZGVidWcoJ01pc3NpbmcgdmFsdWUgZGVmYXVsdDonKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5pbnB1dE1vZGUnLCAnIiInKTsKK3Nob3VsZEJlTnVsbCgnaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKScpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnSW52YWxpZCB2YWx1
ZSBkZWZhdWx0OicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJmb29iYXIiOyBpbnB1
dC5pbnB1dE1vZGUnLCAnIiInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0
bW9kZSIpJywgJyJmb29iYXIiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1
dG1vZGUiLCAiYmF6Iik7IGlucHV0LmlucHV0TW9kZScsICciIicpOworCitkZWJ1ZygnJyk7Citk
ZWJ1ZygnVmFsaWQgdmFsdWVzOicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ0ZXh0
IjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZXh0IicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIiknLCAnInRleHQiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmli
dXRlKCJpbnB1dG1vZGUiLCAidGV4dCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRleHQiJyk7Citz
aG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInRlbCI7IGlucHV0LmlucHV0TW9kZScsICcidGVs
IicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnInRlbCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJ0ZWwiKTsgaW5w
dXQuaW5wdXRNb2RlJywgJyJ0ZWwiJyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInVy
bCI7IGlucHV0LmlucHV0TW9kZScsICcidXJsIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIiknLCAnInVybCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1
dGUoImlucHV0bW9kZSIsICJ1cmwiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJ1cmwiJyk7CitzaG91
bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gImVtYWlsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJlbWFp
bCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJlbWFp
bCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJlbWFpbCIp
OyBpbnB1dC5pbnB1dE1vZGUnLCAnImVtYWlsIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9k
ZSA9ICJudW1lcmljIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJudW1lcmljIicpOworc2hvdWxkQmUo
J2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnIm51bWVyaWMiJyk7CitzaG91bGRC
ZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAibnVtZXJpYyIpOyBpbnB1dC5pbnB1
dE1vZGUnLCAnIm51bWVyaWMiJyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gImRlY2lt
YWwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnImRlY2ltYWwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0
QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICciZGVjaW1hbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5z
ZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJkZWNpbWFsIik7IGlucHV0LmlucHV0TW9kZScsICci
ZGVjaW1hbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAic2VhcmNoIjsgaW5wdXQu
aW5wdXRNb2RlJywgJyJzZWFyY2giJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJp
bnB1dG1vZGUiKScsICcic2VhcmNoIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIiwgInNlYXJjaCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnInNlYXJjaCInKTsKKwor
ZGVidWcoJycpOworZGVidWcoJ1ZhbGlkIGNhc2UtaW5zZW5zaXRpdmUgdmFsdWVzOicpOworc2hv
dWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ0RXh0IjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZXh0
IicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnInRFeHQi
Jyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidEV4dCIpOyBp
bnB1dC5pbnB1dE1vZGUnLCAnInRleHQiJyk7CisKK2RlYnVnKCcnKTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347504</attachid>
            <date>2018-08-20 10:04:46 -0700</date>
            <delta_ts>2018-08-21 16:11:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180820100446.patch</filename>
            <type>text/plain</type>
            <size>30511</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBiZDFhOWNkNzU1ODA2
NGI1N2M5OTFhZTFjYmI0MDUwYWI0M2Y3YS4uZDM5MDczMzQwMmUzOTFiMGM3OGU5N2E0MWIzYjRi
Y2FjNWUwYmQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA4LTIwICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXRt
b2RlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0TW9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0SW5wdXRNb2RlKToKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dE1vZGVO
YW1lcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRlbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnB1dE1vZGVOYW1lczo6dXJsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5h
bWVzOjplbWFpbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6bnVtZXJpYyk6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6c2VhcmNoKToKKyAgICAgICAgKiBodG1sL0lucHV0TW9k
ZU5hbWVzLmg6IEFkZGVkLgorCiAyMDE4LTA4LTIwICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHdpbmRvdy5vcGVuKCkgZ2V0cyBw
YXNzZWQgYSBVUkwgdGhhdCBjYW5ub3QgYmUgcGFyc2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY1ZjRmMTAyYWM1
ZjIzZDBiYmFhYjQ2YzA1YjQwNmViMGVkNGE5YmIuLjUwMjU1ZDYzZDQzZDZhOGY1OTI5MjZlZTdk
MTY1MjFhN2NhOTU2MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTgtMDgtMjAgIEFk
aXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkZCBz
dXBwb3J0IGZvciB0aGUgaW5wdXRtb2RlIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgc3BlY2lm
aWVzIHdoaWNoIGlucHV0IG1lY2hhbmlzbSB3b3VsZCBiZSBtb3N0IGhlbHBmdWwgZm9yCisgICAg
ICAgIHVzZXJzIGVudGVyaW5nIGNvbnRlbnQgaW4gdGV4dGZpZWxkIGlucHV0cyBhbmQgdGV4dGFy
ZWFzLiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydAorICAgICAgICBmb3Igc2V2ZW4gdmFsdWVzOiB0
ZXh0LCB0ZWwsIHVybCwgZW1haWwsIG51bWVyaWMsIGRlY2ltYWwgYW5kIHNlYXJjaC4KKworICAg
ICAgICBPbiBpT1MsIHdlIGNhbiBzcGVjaWZ5IFVJS2V5Ym9hcmRUeXBlcyB0aGF0IGJlc3QgbWF0
Y2ggdGhlIHN1cHBsaWVkIGlucHV0bW9kZS4KKyAgICAgICAgLSB0ZXh0OiBVSUtleWJvYXJkVHlw
ZURlZmF1bHQKKyAgICAgICAgLSB0ZWw6IFVJS2V5Ym9hcmRUeXBlUGhvbmVQYWQKKyAgICAgICAg
LSB1cmw6IFVJS2V5Ym9hcmRUeXBlVVJMCisgICAgICAgIC0gZW1haWw6IFVJS2V5Ym9hcmRUeXBl
RW1haWxBZGRyZXNzCisgICAgICAgIC0gbnVtZXJpYzogVUlLZXlib2FyZFR5cGVOdW1iZXJQYWQK
KyAgICAgICAgLSBkZWNpbWFsOiBVSUtleWJvYXJkVHlwZURlY2ltYWxQYWQKKyAgICAgICAgLSBz
ZWFyY2g6IFVJS2V5Ym9hcmRUeXBlV2ViU2VhcmNoCisKKyAgICAgICAgSW4gdGhlIGNhc2UgdGhh
dCB0aGUgaW5wdXRtb2RlIGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB3ZSBmYWxsIGJhY2sg
dG8gdXNpbmcKKyAgICAgICAgb3VyIGV4aXN0aW5nIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgd2hh
dCBraW5kIG9mIGtleWJvYXJkIHRvIHNob3cgZm9yIHRleHRmaWVsZHMuCisKKyAgICAgICAgKiBT
aGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6QXNz
aXN0ZWROb2RlSW5mb3JtYXRpb246OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uLmg6IEFkZGVkIGlucHV0TW9kZSBmaWVsZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyB0ZXh0SW5wdXRUcmFpdHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OmlucHV0TW9kZUZvckVsZW1lbnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbik6
CisKIDIwMTgtMDgtMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBHVEsvV1BFIGNvb2tpZSBBUEkgdGVzdHMgYWZ0
ZXIgcjIzNDM5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZjBlZjc4NjEwZGQwNDZiMzY3MjcyYzA1YWFj
Njc0NDU4NWM5MzhhMi4uOGRlOGUxNzZmYzRjNDI1MGYyMWVhZjBiYzZlZGZjNDVmYjc4ZTE2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTEwNTYsNiArMTA1Niw3IEBAIGh0bWwvSW1hZ2VCaXRtYXAuY3Bw
CiBodG1sL0ltYWdlRGF0YS5jcHAKIGh0bWwvSW1hZ2VEb2N1bWVudC5jcHAKIGh0bWwvSW1hZ2VJ
bnB1dFR5cGUuY3BwCitodG1sL0lucHV0TW9kZU5hbWVzLmNwcAogaHRtbC9JbnB1dFR5cGUuY3Bw
CiBodG1sL0lucHV0VHlwZU5hbWVzLmNwcAogaHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGU5OTZmZWQ0N2M4OTgxMGFlYjhlOTQ1NjIyMWJjOGQ2Y2E0NTAzMTQuLjhhMDQ0ZWNhMGIyNDBh
ZmE2OTVkYzgwZWM0YzU4NzdkOGVlYTBjOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3OTAsNiArNDc5MCw3IEBACiAJCUU1
MTc2NzAzMjBCODhDMTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIy
MEI4OEMxNDAwRDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEy
NjhBQzAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEy
NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERh
dGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2Vz
dGlvblBpY2tlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUU1MkVGREY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1
QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTU4QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFM
aXN0QnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVu
dC5oICovOyB9OwogCQlFNThCNDVCQjIwQUQwN0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25F
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU1OEI0NUI5MjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICov
OyB9OwogCQlFNTlERDRCODIxMDk4Mjg3MDAzQzhCNDcgLyogTGlzdEJ1dHRvbkFycm93LnBuZyBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU5REQ0Qjcy
MTA5ODI4NTAwM0M4QjQ3IC8qIExpc3RCdXR0b25BcnJvdy5wbmcgKi87IH07CkBAIC0xNDUyNCw2
ICsxNDUyNSw4IEBACiAJCUU1MjZBRjNFMTcyN0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3JtYW5jZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAv
KiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3Vn
Z2VzdGlvbnNDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1NEUy
MEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEYXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElucHV0TW9kZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUU1MkVGREYzMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnB1dE1vZGVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU1NUY0OTc5MTUxQjg4ODAwMEJCNjdEQiAvKiBMZW5ndGhGdW5jdGlvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERh
dGFMaXN0QnV0dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdERDAwOTkx
MDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRh
TGlzdEJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA4
MDYsNiArMjA4MDksOCBAQAogCQkJCTk3MjA1QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFnZURv
Y3VtZW50LmggKi8sCiAJCQkJRjU1QjNEOEQxMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5wdXRU
eXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4RTEyNTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1dFR5
cGUuaCAqLywKKwkJCQlFNTJFRkRGMzIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMu
Y3BwICovLAorCQkJCUU1MkVGREYyMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5o
ICovLAogCQkJCTM3RTM1MjRBMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5cGUuY3BwICovLAog
CQkJCTM3RTM1MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJCQlDMzQ4
NjEyMTE1RkRFMjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuY3BwICovLApAQCAtMjg0Mzcs
NiArMjg0NDIsNyBAQAogCQkJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0
Qm94U3R5bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4MiAv
KiBJblByb2Nlc3NJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURBMTlC
REYwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNTJFRkRGNDIx
MTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3
RTM1MjREMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUMzNDg2MTI0MTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlERUEwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydEludG9UZXh0Tm9kZUNv
bW1hbmQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbgppbmRleCA2ZTY2NTA0N2VkNTg1NzQ2MTZlOWJkYzZmMWM0Y2ExOTE3ZjRlMjI0Li43
OTRiNzc0ZTJlNDZkM2Y2NWU3NjU5OGZiNGE2MDlhMDNiOGQ0YjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMTQ0LDYgKzE0NCw3IEBAIGh0dHBfZXF1
aXYKIGlkCiBpbmNyZW1lbnRhbAogaW5kZXRlcm1pbmF0ZQoraW5wdXRtb2RlCiBpbnRlZ3JpdHkK
IGlzCiBpc21hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXgg
ZTk2NTgyOTRmMTAxYmFkZDRiNzQ0MTA1ZTFkMWQyZGQ2ZTI5YTE1MC4uYjA2ZjljNDc1NmY3ZDUx
NTUzMzA3MzQ0NzQwOWY3YjdiZWZmNTJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsCkBAIC00Miw2ICs0Miw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgZm9ybVRhcmdldDsKICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7
CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gaW5kZXRlcm1pbmF0ZTsKKyAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGlucHV0TW9kZTsKICAgICBbQ29uZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVtZW50IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBET01TdHJpbmcgbWF4OwogICAgIGF0dHJpYnV0ZSBsb25nIG1pbkxlbmd0aDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGI4NTQwMTY1Mjc1ZTFj
ZDM3NzQ1ODNhNGI3YzdhNjdkODFiMjJiOTMuLmJkYTM2MmFiZjNlOWIzOTk3ODNkNGNlMzg5NTQ1
ZTI2NmRmZjgyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmlkbApAQCAtNTksNCArNTksNSBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3Rh
cnQgPSAwLCBvcHRpb25hbCBsb25nIGVuZCA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rp
b24pOwogCiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBhdXRvY29tcGxldGU7CisgICAgYXR0cmli
dXRlIERPTVN0cmluZyBpbnB1dE1vZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5NGVhYjc2NmUyNjc4NTk5OWFk
ZjFkMjAwODQxZGQ4OGI5ZWY2Y2JiLi4wMzMyNjhhMzllM2Q2NmJmMGYwMmNlOWM2ZWZjNjRhN2Zj
N2JlNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21z
LmgiCisjaW5jbHVkZSAiSW5wdXRNb2RlTmFtZXMuaCIKICNpbmNsdWRlICJMYXlvdXREaXNhbGxv
d2VkU2NvcGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNh
bC5oIgpAQCAtNjc0LDYgKzY3NSwzMiBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
OjpzaG93UGxhY2Vob2xkZXJJZk5lY2Vzc2FyeSgpCiB9CiAjZW5kaWYKIAorU3RyaW5nIEhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjppbnB1dE1vZGUoKSBjb25zdAoreworICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgaW5wdXRNb2RlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihp
bnB1dG1vZGVBdHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUs
IElucHV0TW9kZU5hbWVzOjp0ZXh0KCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6
OnRleHQoKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0
TW9kZU5hbWVzOjp0ZWwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1lczo6dGVsKCk7
CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1l
czo6dXJsKCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnVybCgpOworICAgIGlm
IChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OmVtYWls
KCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCk7CisgICAgaWYgKGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6bnVtZXJpYygp
KSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpudW1lcmljKCk7CisgICAgaWYgKGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgp
KSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpkZWNpbWFsKCk7CisgICAgaWYgKGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6c2VhcmNoKCkp
KQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpOworCisgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNl
dElucHV0TW9kZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oaW5wdXRtb2RlQXR0ciwgdmFsdWUpOworfQorCiBzdGF0aWMgdm9p
ZCBnZXROZXh0U29mdEJyZWFrKFJvb3RJbmxpbmVCb3gqJiBsaW5lLCBOb2RlKiYgYnJlYWtOb2Rl
LCB1bnNpZ25lZCYgYnJlYWtPZmZzZXQpCiB7CiAgICAgUm9vdElubGluZUJveCogbmV4dDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRl
eCBjMzIwZjJmZTk5M2Q4MWE0MjNjYzU5OTM2M2ZiM2IzM2QxY2MwNWZjLi43ZWFjMGI2YzE0Nzgw
NjJiOGVkNzBiOGExMzZiNGQ4NzRjMDc5MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC05OCw2ICs5OCw5IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNob3dQbGFjZWhvbGRlcklmTmVjZXNzYXJ5KCk7CiAj
ZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbnB1dE1vZGUoKSBjb25zdDsKKyAg
ICB2b2lkIHNldElucHV0TW9kZShjb25zdCBTdHJpbmcmKTsKKwogcHJvdGVjdGVkOgogICAgIEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYs
IEhUTUxGb3JtRWxlbWVudCopOwogICAgIGJvb2wgaXNQbGFjZWhvbGRlckVtcHR5KCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzk4NzA3
NzNmYTc0MWVhNmIwNjU0NzY4Mzg0MzE2ODFhNTMxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcApAQCAtMCwwICsxLDc5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklucHV0TW9kZU5hbWVzLmgi
CisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCituYW1lc3BhY2UgSW5wdXRNb2RlTmFtZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIHRl
eHQoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInRl
eHQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9k
ZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiB0ZWwoKQoreworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInRlbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcm
IHVybCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgi
dXJsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1v
ZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgZW1haWwoKQoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoImVtYWlsIiwgQXRvbWljU3RyaW5nOjpDb25z
dHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0
cmluZyYgbnVtZXJpYygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmlu
Zz4gbW9kZSgibnVtZXJpYyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwor
ICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIGRlY2ltYWwoKQorewor
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoImRlY2ltYWwiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBzZWFyY2goKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInNlYXJjaCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBtb2RlOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnB1
dE1vZGVOYW1lcworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
TW9kZU5hbWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FhMjU5ZGMzODU5YTM1ZmQ3MmFmMWIwMzk0ZDllYjIy
MjUyM2U2MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2Rl
TmFtZXMuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CituYW1lc3BhY2UgSW5wdXRNb2RlTmFtZXMgeworCitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9t
aWNTdHJpbmcmIHRleHQoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGVs
KCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpOworV0VCQ09SRV9F
WFBPUlQgY29uc3QgQXRvbWljU3RyaW5nJiBlbWFpbCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3Qg
QXRvbWljU3RyaW5nJiBudW1lcmljKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJp
bmcmIGRlY2ltYWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgc2VhcmNo
KCk7CisKK30gLy8gbmFtZXNwYWNlIElucHV0TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmNwcAppbmRleCA3OWFkYjY4MGZlNDcxMjFkMTI5ZjkyNDFkN2U2NmFmYjJhYmVkMGQ1Li4yMTA5
NzNiZTVhOTljOTNlN2UzYzI5NzBjZDY5ZTI3NTg3NGI1ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCkBAIC03Nyw2ICs3Nyw3IEBA
IHZvaWQgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBpc1JUTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0o
YXV0b2NhcGl0YWxpemVUeXBlKTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oZWxlbWVudFR5cGUp
OworICAgIGVuY29kZXIuZW5jb2RlRW51bShpbnB1dE1vZGUpOwogICAgIGVuY29kZXIgPDwgZm9y
bUFjdGlvbjsKICAgICBlbmNvZGVyIDw8IHNlbGVjdE9wdGlvbnM7CiAgICAgZW5jb2RlciA8PCBz
ZWxlY3RlZEluZGV4OwpAQCAtMTQ1LDYgKzE0Niw5IEBAIGJvb2wgQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb246OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEFzc2lzdGVkTm9kZUluZm9ybWF0
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmVsZW1lbnRUeXBlKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0Lmlu
cHV0TW9kZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LmZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCmluZGV4IDFlN2FhYzc3
YjAwODE5NGQxOTQxODQwNDExNmNlYTI0YTFjZTMxZmQuLjBiYzhmZDM1MzdiMDNhOWViMjc3NGFl
NmJjNjNkYTgxODNmMWJjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24uaApAQCAtNTksNiArNTksMTcgQEAgZW51bSBjbGFzcyBJbnB1dFR5cGUg
ewogI2VuZGlmCiB9OwogCitlbnVtIGNsYXNzIElucHV0TW9kZSA6IHVpbnQ4X3QgeworICAgIEF1
dG8sCisgICAgVGV4dCwKKyAgICBUZWxlcGhvbmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAg
IE51bWVyaWMsCisgICAgRGVjaW1hbCwKKyAgICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJ
T1MpCiBzdHJ1Y3QgT3B0aW9uSXRlbSB7CiAgICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTEwLDYg
KzEyMSw3IEBAIHN0cnVjdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNp
ZGVGaXhlZFBvc2l0aW9uIHsgZmFsc2UgfTsKICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2Nh
cGl0YWxpemVUeXBlIHsgQXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlw
ZSBlbGVtZW50VHlwZSB7IElucHV0VHlwZTo6Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1v
ZGUgeyBJbnB1dE1vZGU6OkF1dG8gfTsKICAgICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0
b3I8T3B0aW9uSXRlbT4gc2VsZWN0T3B0aW9uczsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0x
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQppbmRleCBlODI5ZDQ1MDEyNWYwN2M4NTIzYTczOTM2MGE4MDE2NTY2
YTFmOTY4Li5hOGQ3ZTFiOGYwNTY1NjZhMmY3ZGQ0Njc1NzFmOWU5YjQxMWMwNDc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KQEAgLTM1NDcsMjQgKzM1NDcsNjQgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50
VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQog
ICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmlzQXV0b2NvcnJlY3QgPyBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRl
eHRBdXRvY29ycmVjdGlvblR5cGVOb107CiAgICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6
CisgICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAg
Y2FzZSBJbnB1dE1vZGU6OkF1dG86CisgICAgICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlKSB7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAg
ICAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFk
XTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAg
ICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3Nd
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6Cisg
ICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJz
QW5kUHVuY3R1YXRpb25dOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRU
eXBlOjpOdW1iZXJQYWQ6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlL
ZXlib2FyZFR5cGVOdW1iZXJQYWRdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
SW5wdXRUeXBlOjpOb25lOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6Q29udGVudEVkaXRhYmxl
OgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGV4dDoKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6
OlBhc3N3b3JkOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGV4dEFyZWE6CisgICAgICAgIGNh
c2UgSW5wdXRUeXBlOjpTZWFyY2g6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlOgorICAg
ICAgICBjYXNlIElucHV0VHlwZTo6RGF0ZVRpbWU6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpE
YXRlVGltZUxvY2FsOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6TW9udGg6CisgICAgICAgIGNh
c2UgSW5wdXRUeXBlOjpXZWVrOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGltZToKKyAgICAg
ICAgY2FzZSBJbnB1dFR5cGU6OlNlbGVjdDoKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikK
KyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OkNvbG9yOgorI2VuZGlmCisgICAgICAgICAgICBbX3Ry
YWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKKyAgICAgICAgfQor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0TW9kZTo6VGV4dDoKKyAgICAgICAgW190cmFp
dHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgSW5wdXRNb2RlOjpUZWxlcGhvbmU6CiAgICAgICAgIFtfdHJhaXRzIHNldEtl
eWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKICAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBJbnB1dFR5cGU6OlVSTDoKKyAgICBjYXNlIElucHV0TW9kZTo6VXJsOgogICAgICAgICBb
X3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dE1vZGU6OkVtYWls
OgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFk
ZHJlc3NdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgotICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVu
Y3R1YXRpb25dOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyUGFk
OgorICAgIGNhc2UgSW5wdXRNb2RlOjpOdW1lcmljOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXli
b2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOwogICAgICAgICBicmVhazsKLSAgICBk
ZWZhdWx0OgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVE
ZWZhdWx0XTsKKyAgICBjYXNlIElucHV0TW9kZTo6RGVjaW1hbDoKKyAgICAgICAgW190cmFpdHMg
c2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVjaW1hbFBhZF07CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgSW5wdXRNb2RlOjpTZWFyY2g6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJv
YXJkVHlwZTpVSUtleWJvYXJkVHlwZVdlYlNlYXJjaF07CisgICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpjb250ZW50VHlwZUZyb21GaWVsZE5h
bWUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lKV07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IDI2MTg2ZmI5ODcwZTE3ZTQ1MDU2YmNhMDM5MmJhYWY0ODViZmZmNjEuLjdiZmE5YWE3ODI1M2E1
OWVmOGFkMmNiMDRiZDhhOGMxMTUyNWVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC04NCw4ICs4NCwxMCBAQAogI2lt
cG9ydCA8V2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxT
ZWxlY3RFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxUZXh0QXJlYUVsZW1lbnQuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSGlzdG9yeUl0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5o
PgorI2ltcG9ydCA8V2ViQ29yZS9JbnB1dE1vZGVOYW1lcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9L
ZXlib2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaD4KQEAgLTIyOTcsNiArMjI5
OSwyNyBAQCBzdGF0aWMgSW50UmVjdCBlbGVtZW50UmVjdEluUm9vdFZpZXdDb29yZGluYXRlcyhj
b25zdCBOb2RlJiBub2RlLCBjb25zdCBGcmFtZSYgZgogICAgIHJldHVybiB2aWV3LT5jb250ZW50
c1RvUm9vdFZpZXcocmVuZGVyZXItPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkpOwogfQogCitz
dGF0aWMgSW5wdXRNb2RlIGlucHV0TW9kZUZvckFzc2lzdGVkTm9kZShjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRNb2RlID0gZG93bmNhc3Q8SFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQ+KG5vZGUpLmlucHV0TW9kZSgpOworICAgIGlmIChpbnB1dE1v
ZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnRleHQoKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6
VGV4dDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjp0ZWwoKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZTo6VGVsZXBob25lOworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5w
dXRNb2RlTmFtZXM6OnVybCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpVcmw7CisgICAg
aWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6ZW1haWwoKSkKKyAgICAgICAgcmV0dXJu
IElucHV0TW9kZTo6RW1haWw7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6
bnVtZXJpYygpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpOdW1lcmljOworICAgIGlmIChp
bnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OmRlY2ltYWwoKSkKKyAgICAgICAgcmV0dXJuIElu
cHV0TW9kZTo6RGVjaW1hbDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjpz
ZWFyY2goKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9kZTo6U2VhcmNoOworCisgICAgcmV0dXJu
IElucHV0TW9kZTo6QXV0bzsKK30KKwogdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiB7CiAgICAgbGF5
b3V0SWZOZWVkZWQoKTsKQEAgLTI0MDIsNiArMjQyNSw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0QXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9u
KQogICAgICAgICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVsZW1lbnQudmFsdWUoKTsKICAgICAgICAg
aW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUgPSBXZWJDb3JlOjp0b0F1dG9maWxsRmllbGRO
YW1lKGVsZW1lbnQuYXV0b2ZpbGxEYXRhKCkuZmllbGROYW1lKTsKICAgICAgICAgaW5mb3JtYXRp
b24ucGxhY2Vob2xkZXIgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
SFRNTE5hbWVzOjpwbGFjZWhvbGRlckF0dHIpOworICAgICAgICBpbmZvcm1hdGlvbi5pbnB1dE1v
ZGUgPSBpbnB1dE1vZGVGb3JBc3Npc3RlZE5vZGUoZWxlbWVudCk7CiAgICAgfSBlbHNlIGlmIChp
czxIVE1MSW5wdXRFbGVtZW50PigqbV9hc3Npc3RlZE5vZGUpKSB7CiAgICAgICAgIEhUTUxJbnB1
dEVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqbV9hc3Npc3Rl
ZE5vZGUpOwogICAgICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0gPSBlbGVtZW50LmZvcm0oKTsK
QEAgLTI0NTksNiArMjQ4Myw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uKQogICAgICAgICB9CiAj
ZW5kaWYKIAorICAgICAgICBpbmZvcm1hdGlvbi5pbnB1dE1vZGUgPSBpbnB1dE1vZGVGb3JBc3Np
c3RlZE5vZGUoZWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0aW9uLmlzUmVhZE9ubHkgPSBlbGVt
ZW50LmlzUmVhZE9ubHkoKTsKICAgICAgICAgaW5mb3JtYXRpb24udmFsdWUgPSBlbGVtZW50LnZh
bHVlKCk7CiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlQXNOdW1iZXIgPSBlbGVtZW50LnZhbHVl
QXNOdW1iZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5ZDYyMzI3YzdlZWJlODk1MmMxOTA2NTUzYjQzODg3NGM1MjYx
ZTE3Li4zMjI1ZWVhYTc4ZjE4NWM3MTUzMzM2MDkwNjg0MTI4M2M2YWFjMmYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTgtMDgtMjAgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0IGZvciB0aGUgaW5wdXRtb2RlIGF0dHJp
YnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgz
NjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGVzdCB0byB2ZXJpZnkgYmVoYXZpb3Igd2hlbiBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBp
bnB1dG1vZGUgYXR0cmlidXRlLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0
cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dG1v
ZGUtYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA4LTIwICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHdpbmRvdy5vcGVu
KCkgZ2V0cyBwYXNzZWQgYSBVUkwgdGhhdCBjYW5ub3QgYmUgcGFyc2VkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZjJkYWVmMWRkNWZkZDg5MDA4ZTc3M2MxZjgxMWNkY2YxOTIwZjM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ0IEBACitUZXN0IGlucHV0bW9kZSBhdHRyaWJ1dGUK
KworCitNaXNzaW5nIHZhbHVlIGRlZmF1bHQ6CitQQVNTIGlucHV0LmlucHV0TW9kZSBpcyAiIgor
UEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzIG51bGwKKworSW52YWxpZCB2
YWx1ZSBkZWZhdWx0OgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAiZm9vYmFyIjsgaW5wdXQuaW5w
dXRNb2RlIGlzICIiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgImZv
b2JhciIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiYmF6Iik7IGlucHV0
LmlucHV0TW9kZSBpcyAiIgorCitWYWxpZCB2YWx1ZXM6CitQQVNTIGlucHV0LmlucHV0TW9kZSA9
ICJ0ZXh0IjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0IgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1
dGUoImlucHV0bW9kZSIpIGlzICJ0ZXh0IgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0
bW9kZSIsICJ0ZXh0Iik7IGlucHV0LmlucHV0TW9kZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuaW5w
dXRNb2RlID0gInRlbCI7IGlucHV0LmlucHV0TW9kZSBpcyAidGVsIgorUEFTUyBpbnB1dC5nZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJ0ZWwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIiwgInRlbCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRlbCIKK1BBU1MgaW5wdXQu
aW5wdXRNb2RlID0gInVybCI7IGlucHV0LmlucHV0TW9kZSBpcyAidXJsIgorUEFTUyBpbnB1dC5n
ZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJ1cmwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0
ZSgiaW5wdXRtb2RlIiwgInVybCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMgInVybCIKK1BBU1MgaW5w
dXQuaW5wdXRNb2RlID0gImVtYWlsIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJlbWFpbCIKK1BBU1Mg
aW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAiZW1haWwiCitQQVNTIGlucHV0LnNl
dEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImVtYWlsIik7IGlucHV0LmlucHV0TW9kZSBpcyAiZW1h
aWwiCitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJudW1lcmljIjsgaW5wdXQuaW5wdXRNb2RlIGlz
ICJudW1lcmljIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJudW1l
cmljIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJudW1lcmljIik7IGlu
cHV0LmlucHV0TW9kZSBpcyAibnVtZXJpYyIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gImRlY2lt
YWwiOyBpbnB1dC5pbnB1dE1vZGUgaXMgImRlY2ltYWwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0
ZSgiaW5wdXRtb2RlIikgaXMgImRlY2ltYWwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIiwgImRlY2ltYWwiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJkZWNpbWFsIgorUEFTUyBp
bnB1dC5pbnB1dE1vZGUgPSAic2VhcmNoIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJzZWFyY2giCitQ
QVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInNlYXJjaCIKK1BBU1MgaW5w
dXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAic2VhcmNoIik7IGlucHV0LmlucHV0TW9kZSBp
cyAic2VhcmNoIgorCitWYWxpZCBjYXNlLWluc2Vuc2l0aXZlIHZhbHVlczoKK1BBU1MgaW5wdXQu
aW5wdXRNb2RlID0gInRFeHQiOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRleHQiCitQQVNTIGlucHV0
LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInRFeHQiCitQQVNTIGlucHV0LnNldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIiwgInRFeHQiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0IgorCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZGQ0MDhkY2ZlMGZkZmQ3MzAzYmVjYzU4ZTFmNzUxZTNjMGNkNTZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWwKQEAg
LTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8cD5UZXN0IGlu
cHV0bW9kZSBhdHRyaWJ1dGU8L3A+Cis8aW5wdXQgaWQ9ImlucHV0Ij4KKzxkaXYgaWQ9Y29uc29s
ZT48L2Rpdj4KKzxzY3JpcHQ+CitkZWJ1ZygnTWlzc2luZyB2YWx1ZSBkZWZhdWx0OicpOworc2hv
dWxkQmUoJ2lucHV0LmlucHV0TW9kZScsICciIicpOworc2hvdWxkQmVOdWxsKCdpbnB1dC5nZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIpJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdJbnZhbGlkIHZh
bHVlIGRlZmF1bHQ6Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gImZvb2JhciI7IGlu
cHV0LmlucHV0TW9kZScsICciIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIiknLCAnImZvb2JhciInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIsICJiYXoiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyIiJyk7CisKK2RlYnVnKCcnKTsK
K2RlYnVnKCdWYWxpZCB2YWx1ZXM6Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInRl
eHQiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRleHQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKScsICcidGV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRy
aWJ1dGUoImlucHV0bW9kZSIsICJ0ZXh0Iik7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsK
K3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidGVsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0
ZWwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidGVs
IicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRlbCIpOyBp
bnB1dC5pbnB1dE1vZGUnLCAnInRlbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAi
dXJsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ1cmwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKScsICcidXJsIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIiwgInVybCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnInVybCInKTsKK3No
b3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAiZW1haWwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnImVt
YWlsIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnImVt
YWlsIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImVtYWls
Iik7IGlucHV0LmlucHV0TW9kZScsICciZW1haWwiJyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRN
b2RlID0gIm51bWVyaWMiOyBpbnB1dC5pbnB1dE1vZGUnLCAnIm51bWVyaWMiJyk7CitzaG91bGRC
ZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcibnVtZXJpYyInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJudW1lcmljIik7IGlucHV0Lmlu
cHV0TW9kZScsICcibnVtZXJpYyInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAiZGVj
aW1hbCI7IGlucHV0LmlucHV0TW9kZScsICciZGVjaW1hbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5n
ZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJkZWNpbWFsIicpOworc2hvdWxkQmUoJ2lucHV0
LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImRlY2ltYWwiKTsgaW5wdXQuaW5wdXRNb2RlJywg
JyJkZWNpbWFsIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJzZWFyY2giOyBpbnB1
dC5pbnB1dE1vZGUnLCAnInNlYXJjaCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUo
ImlucHV0bW9kZSIpJywgJyJzZWFyY2giJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRl
KCJpbnB1dG1vZGUiLCAic2VhcmNoIik7IGlucHV0LmlucHV0TW9kZScsICcic2VhcmNoIicpOwor
CitkZWJ1ZygnJyk7CitkZWJ1ZygnVmFsaWQgY2FzZS1pbnNlbnNpdGl2ZSB2YWx1ZXM6Jyk7Citz
aG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInRFeHQiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRl
eHQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidEV4
dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJ0RXh0Iik7
IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsKKworZGVidWcoJycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347720</attachid>
            <date>2018-08-21 16:11:55 -0700</date>
            <delta_ts>2018-08-21 16:47:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180821161154.patch</filename>
            <type>text/plain</type>
            <size>36408</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmEwNDUyOGYyOGNlOWNi
OTQ2YzU3MmJmNWUzMmM1MGJhYzc1ZWFhYS4uMmIyMGJmYmM5OWVkN2M4ZjE5ZDlhZmMyYTVmYjYx
Y2RkZjY2ZTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA4LTIxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXRt
b2RlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0TW9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0SW5wdXRNb2RlKToKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dE1vZGVO
YW1lcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRlbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnB1dE1vZGVOYW1lczo6dXJsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5h
bWVzOjplbWFpbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6bnVtZXJpYyk6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6c2VhcmNoKToKKyAgICAgICAgKiBodG1sL0lucHV0TW9k
ZU5hbWVzLmg6IEFkZGVkLgorCiAyMDE4LTA4LTIxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIEF1Z21lbnQgX1dL
QXR0YWNobWVudCBTUEkgdG8gaGFuZGxlIE5TRmlsZVdyYXBwZXJzIGluIGFkZGl0aW9uIHRvIE5T
RGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA3MDUwOGQzMTg3ZGFhM2M3ZjcwM2ZjMzhjMzlhZjU1NGUzZmQ4ZmU4
Li4xYTk0ZjE5NzJmNGQyYjFkYTBjZjZiMmNlNTNiOWRmZjU4NjE1Mjg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM2IEBACisyMDE4LTA4LTIxICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRy
aWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBpbnB1dG1vZGUgYXR0cmlidXRlIHNwZWNpZmllcyB3aGljaCBpbnB1dCBtZWNoYW5pc20gd291
bGQgYmUgbW9zdCBoZWxwZnVsIGZvcgorICAgICAgICB1c2VycyBlbnRlcmluZyBjb250ZW50IGlu
IHRleHRmaWVsZCBpbnB1dHMgYW5kIHRleHRhcmVhcy4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQK
KyAgICAgICAgZm9yIHNldmVuIHZhbHVlczogdGV4dCwgdGVsLCB1cmwsIGVtYWlsLCBudW1lcmlj
LCBkZWNpbWFsIGFuZCBzZWFyY2guCisKKyAgICAgICAgT24gaU9TLCB3ZSBjYW4gc3BlY2lmeSBV
SUtleWJvYXJkVHlwZXMgdGhhdCBiZXN0IG1hdGNoIHRoZSBzdXBwbGllZCBpbnB1dG1vZGUuCisg
ICAgICAgIC0gdGV4dDogVUlLZXlib2FyZFR5cGVEZWZhdWx0CisgICAgICAgIC0gdGVsOiBVSUtl
eWJvYXJkVHlwZVBob25lUGFkCisgICAgICAgIC0gdXJsOiBVSUtleWJvYXJkVHlwZVVSTAorICAg
ICAgICAtIGVtYWlsOiBVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzcworICAgICAgICAtIG51bWVy
aWM6IFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0FuZFB1bmN0dWF0aW9uCisgICAgICAgIC0gZGVjaW1h
bDogVUlLZXlib2FyZFR5cGVEZWNpbWFsUGFkCisgICAgICAgIC0gc2VhcmNoOiBVSUtleWJvYXJk
VHlwZVdlYlNlYXJjaAorCisgICAgICAgIEluIHRoZSBjYXNlIHRoYXQgdGhlIGlucHV0bW9kZSBh
dHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nCisgICAgICAg
IG91ciBleGlzdGluZyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIHdoYXQga2luZCBvZiBrZXlib2Fy
ZCB0byBzaG93IGZvciB0ZXh0ZmllbGRzLgorCisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWROb2RlSW5mb3JtYXRp
b246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5o
OiBBZGRlZCBpbnB1dE1vZGUgZmllbGQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4dElucHV0
VHJhaXRzXSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjppbnB1dE1vZGVGb3JFbGVtZW50KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAyMDE4LTA4LTIxICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIHVudXNlZCBzaG91bGRLZWVwQ3VycmVudEJhY2tGb3J3YXJkTGlzdEl0ZW1Jbkxpc3QgY2hl
Y2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggZjBlZjc4NjEwZGQwNDZiMzY3MjcyYzA1YWFjNjc0NDU4NWM5
MzhhMi4uOGRlOGUxNzZmYzRjNDI1MGYyMWVhZjBiYzZlZGZjNDVmYjc4ZTE2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTEwNTYsNiArMTA1Niw3IEBAIGh0bWwvSW1hZ2VCaXRtYXAuY3BwCiBodG1sL0lt
YWdlRGF0YS5jcHAKIGh0bWwvSW1hZ2VEb2N1bWVudC5jcHAKIGh0bWwvSW1hZ2VJbnB1dFR5cGUu
Y3BwCitodG1sL0lucHV0TW9kZU5hbWVzLmNwcAogaHRtbC9JbnB1dFR5cGUuY3BwCiBodG1sL0lu
cHV0VHlwZU5hbWVzLmNwcAogaHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhMTkxZDU3
NjJkZmRmNmVmNzBjMzNjZTlkZWZlMDc0NWY3MzBiMjguLmYxNTkwOTZkZjhiMjU4MDM0MWI3OThk
NWEzZDVhOTRjYTE5Nzc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3OTAsNiArNDc5MCw3IEBACiAJCUU1MTc2NzAzMjBC
ODhDMTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIyMEI4OEMxNDAw
RDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEyNjhBQzAwREFE
QTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRh
TGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3Vn
Z2VzdGlvblBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU1
MkVGREY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1QTAwQUQyODJB
IC8qIElucHV0TW9kZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTU4QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovOyB9
OwogCQlFNThCNDVCQjIwQUQwN0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI5
MjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovOyB9OwogCQlF
NTlERDRCODIxMDk4Mjg3MDAzQzhCNDcgLyogTGlzdEJ1dHRvbkFycm93LnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU5REQ0QjcyMTA5ODI4NTAw
M0M4QjQ3IC8qIExpc3RCdXR0b25BcnJvdy5wbmcgKi87IH07CkBAIC0xNDUyNSw2ICsxNDUyNiw4
IEBACiAJCUU1MjZBRjNFMTcyN0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3JtYW5jZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRhTGlz
dFN1Z2dlc3Rpb25zQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3VnZ2VzdGlvbnND
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1NEUyMEEzNUEyODAw
REFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRh
TGlzdFN1Z2dlc3Rpb25QaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTUy
RUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IElucHV0TW9kZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU1MkVGREYz
MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnB1dE1vZGVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1NUY0
OTc5MTUxQjg4ODAwMEJCNjdEQiAvKiBMZW5ndGhGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0
dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdERDAwOTkxMDI1IC8qIERh
dGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhTGlzdEJ1dHRv
bkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA4MDYsNiArMjA4
MDksOCBAQAogCQkJCTk3MjA1QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFnZURvY3VtZW50Lmgg
Ki8sCiAJCQkJRjU1QjNEOEQxMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5wdXRUeXBlLmNwcCAq
LywKIAkJCQlGNTVCM0Q4RTEyNTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1dFR5cGUuaCAqLywK
KwkJCQlFNTJFRkRGMzIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuY3BwICovLAor
CQkJCUU1MkVGREYyMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oICovLAogCQkJ
CTM3RTM1MjRBMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5cGUuY3BwICovLAogCQkJCTM3RTM1
MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJCQlDMzQ4NjEyMTE1RkRF
MjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuY3BwICovLApAQCAtMjg0MzgsNiArMjg0NDMs
NyBAQAogCQkJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nl
c3NJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURBMTlCREYwMDNFMjNC
NSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNTJFRkRGNDIxMTI4NzVBMDBB
RDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RTM1MjREMTI0
NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzNDg2MTI0
MTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTMzMDlERUEwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydEludG9UZXh0Tm9kZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCA2ZTY2NTA0N2VkNTg1NzQ2MTZlOWJkYzZmMWM0Y2ExOTE3ZjRlMjI0Li43OTRiNzc0ZTJl
NDZkM2Y2NWU3NjU5OGZiNGE2MDlhMDNiOGQ0YjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMTQ0LDYgKzE0NCw3IEBAIGh0dHBfZXF1aXYKIGlkCiBp
bmNyZW1lbnRhbAogaW5kZXRlcm1pbmF0ZQoraW5wdXRtb2RlCiBpbnRlZ3JpdHkKIGlzCiBpc21h
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggZTk2NTgyOTRm
MTAxYmFkZDRiNzQ0MTA1ZTFkMWQyZGQ2ZTI5YTE1MC4uYjA2ZjljNDc1NmY3ZDUxNTUzMzA3MzQ0
NzQwOWY3YjdiZWZmNTJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCkBAIC00Miw2ICs0Miw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
Zm9ybVRhcmdldDsKICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7CiAgICAgYXR0
cmlidXRlIGJvb2xlYW4gaW5kZXRlcm1pbmF0ZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlu
cHV0TW9kZTsKICAgICBbQ29uZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVhZG9ubHkgYXR0
cmlidXRlIEhUTUxFbGVtZW50IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbWF4OwogICAgIGF0dHJpYnV0ZSBsb25nIG1pbkxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGI4NTQwMTY1Mjc1ZTFjZDM3NzQ1ODNh
NGI3YzdhNjdkODFiMjJiOTMuLmJkYTM2MmFiZjNlOWIzOTk3ODNkNGNlMzg5NTQ1ZTI2NmRmZjgy
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApAQCAt
NTksNCArNTksNSBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3RhcnQgPSAwLCBv
cHRpb25hbCBsb25nIGVuZCA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwogCiAg
ICAgYXR0cmlidXRlIERPTVN0cmluZyBhdXRvY29tcGxldGU7CisgICAgYXR0cmlidXRlIERPTVN0
cmluZyBpbnB1dE1vZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5NGVhYjc2NmUyNjc4NTk5OWFkZjFkMjAwODQx
ZGQ4OGI5ZWY2Y2JiLi4wMzMyNjhhMzllM2Q2NmJmMGYwMmNlOWM2ZWZjNjRhN2ZjN2JlNjk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5j
bHVkZSAiSW5wdXRNb2RlTmFtZXMuaCIKICNpbmNsdWRlICJMYXlvdXREaXNhbGxvd2VkU2NvcGUu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgpAQCAt
Njc0LDYgKzY3NSwzMiBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzaG93UGxh
Y2Vob2xkZXJJZk5lY2Vzc2FyeSgpCiB9CiAjZW5kaWYKIAorU3RyaW5nIEhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjppbnB1dE1vZGUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5wdXRNb2RlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihpbnB1dG1vZGVB
dHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9k
ZU5hbWVzOjp0ZXh0KCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnRleHQoKTsK
KyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9kZU5hbWVz
Ojp0ZWwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1lczo6dGVsKCk7CisgICAgaWYg
KGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6dXJsKCkp
KQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnVybCgpOworICAgIGlmIChlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCkpKQorICAg
ICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6bnVtZXJpYygpKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpudW1lcmljKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgpKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpkZWNpbWFsKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6c2VhcmNoKCkpKQorICAgICAg
ICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpOworCisgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7Cit9CisKK3ZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldElucHV0TW9k
ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oaW5wdXRtb2RlQXR0ciwgdmFsdWUpOworfQorCiBzdGF0aWMgdm9pZCBnZXROZXh0
U29mdEJyZWFrKFJvb3RJbmxpbmVCb3gqJiBsaW5lLCBOb2RlKiYgYnJlYWtOb2RlLCB1bnNpZ25l
ZCYgYnJlYWtPZmZzZXQpCiB7CiAgICAgUm9vdElubGluZUJveCogbmV4dDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBjMzIwZjJm
ZTk5M2Q4MWE0MjNjYzU5OTM2M2ZiM2IzM2QxY2MwNWZjLi43ZWFjMGI2YzE0NzgwNjJiOGVkNzBi
OGExMzZiNGQ4NzRjMDc5MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC05OCw2ICs5OCw5IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNob3dQbGFjZWhvbGRlcklmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKIAor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbnB1dE1vZGUoKSBjb25zdDsKKyAgICB2b2lkIHNl
dElucHV0TW9kZShjb25zdCBTdHJpbmcmKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3Jt
RWxlbWVudCopOwogICAgIGJvb2wgaXNQbGFjZWhvbGRlckVtcHR5KCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzk4NzA3NzNmYTc0MWVh
NmIwNjU0NzY4Mzg0MzE2ODFhNTMxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklucHV0TW9kZU5hbWVzLmgiCisKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1l
c3BhY2UgSW5wdXRNb2RlTmFtZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIHRleHQoKQorewor
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInRleHQiLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nJiB0ZWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxB
dG9taWNTdHJpbmc+IG1vZGUoInRlbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOworICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgidXJsIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisK
K2NvbnN0IEF0b21pY1N0cmluZyYgZW1haWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxBdG9taWNTdHJpbmc+IG1vZGUoImVtYWlsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgbnVt
ZXJpYygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgi
bnVtZXJpYyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVy
biBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIGRlY2ltYWwoKQoreworICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoImRlY2ltYWwiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3Qg
QXRvbWljU3RyaW5nJiBzZWFyY2goKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9t
aWNTdHJpbmc+IG1vZGUoInNlYXJjaCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOworICAgIHJldHVybiBtb2RlOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnB1dE1vZGVOYW1l
cworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0TW9kZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVz
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2FhMjU5ZGMzODU5YTM1ZmQ3MmFmMWIwMzk0ZDllYjIyMjUyM2U2MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaApA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3Bh
Y2UgSW5wdXRNb2RlTmFtZXMgeworCitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcm
IHRleHQoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGVsKCk7CitXRUJD
T1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpOworV0VCQ09SRV9FWFBPUlQgY29u
c3QgQXRvbWljU3RyaW5nJiBlbWFpbCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3Ry
aW5nJiBudW1lcmljKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIGRlY2lt
YWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgc2VhcmNoKCk7CisKK30g
Ly8gbmFtZXNwYWNlIElucHV0TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcAppbmRl
eCA3OWFkYjY4MGZlNDcxMjFkMTI5ZjkyNDFkN2U2NmFmYjJhYmVkMGQ1Li4yMTA5NzNiZTVhOTlj
OTNlN2UzYzI5NzBjZDY5ZTI3NTg3NGI1ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCkBAIC03Nyw2ICs3Nyw3IEBAIHZvaWQgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBpc1JUTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oYXV0b2NhcGl0
YWxpemVUeXBlKTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oZWxlbWVudFR5cGUpOworICAgIGVu
Y29kZXIuZW5jb2RlRW51bShpbnB1dE1vZGUpOwogICAgIGVuY29kZXIgPDwgZm9ybUFjdGlvbjsK
ICAgICBlbmNvZGVyIDw8IHNlbGVjdE9wdGlvbnM7CiAgICAgZW5jb2RlciA8PCBzZWxlY3RlZElu
ZGV4OwpAQCAtMTQ1LDYgKzE0Niw5IEBAIGJvb2wgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEFzc2lzdGVkTm9kZUluZm9ybWF0CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmVsZW1lbnRUeXBlKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmlucHV0TW9kZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LmZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCmluZGV4IDFlN2FhYzc3YjAwODE5NGQx
OTQxODQwNDExNmNlYTI0YTFjZTMxZmQuLjBiYzhmZDM1MzdiMDNhOWViMjc3NGFlNmJjNjNkYTgx
ODNmMWJjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uaApAQCAtNTksNiArNTksMTcgQEAgZW51bSBjbGFzcyBJbnB1dFR5cGUgewogI2VuZGlm
CiB9OwogCitlbnVtIGNsYXNzIElucHV0TW9kZSA6IHVpbnQ4X3QgeworICAgIEF1dG8sCisgICAg
VGV4dCwKKyAgICBUZWxlcGhvbmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAgIE51bWVyaWMs
CisgICAgRGVjaW1hbCwKKyAgICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJT1MpCiBzdHJ1
Y3QgT3B0aW9uSXRlbSB7CiAgICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTEwLDYgKzEyMSw3IEBA
IHN0cnVjdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNpZGVGaXhlZFBv
c2l0aW9uIHsgZmFsc2UgfTsKICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2NhcGl0YWxpemVU
eXBlIHsgQXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlwZSBlbGVtZW50
VHlwZSB7IElucHV0VHlwZTo6Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1vZGUgeyBJbnB1
dE1vZGU6OkF1dG8gfTsKICAgICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0b3I8T3B0aW9u
SXRlbT4gc2VsZWN0T3B0aW9uczsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0xIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQppbmRleCAwMDk2MDQ5OGQxNTc4NjViNTYzZWM2YTMyNjRhYzQ5ZGUxZGFhMTZlLi5k
NjhmOGI3ZWFjZmRlMDkyMTY5YTlkZGUxYzAwZTViMWIxN2U3YjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
QEAgLTM1NDcsMjQgKzM1NDcsNjQgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21G
aWVsZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgICAgICBb
X3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlz
QXV0b2NvcnJlY3QgPyBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29y
cmVjdGlvblR5cGVOb107CiAgICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CisgICAgc3dp
dGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAgY2FzZSBJbnB1
dE1vZGU6OkF1dG86CisgICAgICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlKSB7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAgICAgICBbX3Ry
YWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1
YXRpb25dOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1i
ZXJQYWQ6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5
cGVOdW1iZXJQYWRdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBl
OjpOb25lOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6Q29udGVudEVkaXRhYmxlOgorICAgICAg
ICBjYXNlIElucHV0VHlwZTo6VGV4dDoKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlBhc3N3b3Jk
OgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGV4dEFyZWE6CisgICAgICAgIGNhc2UgSW5wdXRU
eXBlOjpTZWFyY2g6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlOgorICAgICAgICBjYXNl
IElucHV0VHlwZTo6RGF0ZVRpbWU6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlVGltZUxv
Y2FsOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6TW9udGg6CisgICAgICAgIGNhc2UgSW5wdXRU
eXBlOjpXZWVrOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGltZToKKyAgICAgICAgY2FzZSBJ
bnB1dFR5cGU6OlNlbGVjdDoKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICAgICAg
Y2FzZSBJbnB1dFR5cGU6OkNvbG9yOgorI2VuZGlmCisgICAgICAgICAgICBbX3RyYWl0cyBzZXRL
ZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICBjYXNlIElucHV0TW9kZTo6VGV4dDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5
Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgSW5wdXRNb2RlOjpUZWxlcGhvbmU6CiAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlw
ZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1
dFR5cGU6OlVSTDoKKyAgICBjYXNlIElucHV0TW9kZTo6VXJsOgogICAgICAgICBbX3RyYWl0cyBz
ZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dE1vZGU6OkVtYWlsOgogICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgorICAgIGNhc2UgSW5w
dXRNb2RlOjpOdW1lcmljOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXli
b2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb25dOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IElucHV0VHlwZTo6TnVtYmVyUGFkOgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6
VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOworICAgIGNhc2UgSW5wdXRNb2RlOjpEZWNpbWFsOgor
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWNpbWFsUGFk
XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dE1vZGU6OlNlYXJjaDoKKyAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlV2ViU2VhcmNoXTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBl
OlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CiAgICAgfQogCiAgICAgW190cmFpdHMgc2V0VGV4dENv
bnRlbnRUeXBlOmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uYXV0b2ZpbGxGaWVsZE5hbWUpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMjYxODZmYjk4NzBlMTdlNDUwNTZiY2Ew
MzkyYmFhZjQ4NWJmZmY2MS4uN2JmYTlhYTc4MjUzYTU5ZWY4YWQyY2IwNGJkOGE4YzExNTI1ZWVi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KQEAgLTg0LDggKzg0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQYXJzZXJJ
ZGlvbXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFNlbGVjdEVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSFRNTFRleHRBcmVhRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0lucHV0
TW9kZU5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5oPgpAQCAtMjI5Nyw2ICsyMjk5LDI3IEBAIHN0YXRpYyBJbnRSZWN0IGVs
ZW1lbnRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKGNvbnN0IE5vZGUmIG5vZGUsIGNvbnN0IEZy
YW1lJiBmCiAgICAgcmV0dXJuIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhyZW5kZXJlci0+YWJz
b2x1dGVCb3VuZGluZ0JveFJlY3QoKSk7CiB9CiAKK3N0YXRpYyBJbnB1dE1vZGUgaW5wdXRNb2Rl
Rm9yQXNzaXN0ZWROb2RlKGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnB1dE1vZGUgPSBkb3duY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4obm9k
ZSkuaW5wdXRNb2RlKCk7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dGV4
dCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZXh0OworICAgIGlmIChpbnB1dE1vZGUg
PT0gSW5wdXRNb2RlTmFtZXM6OnRlbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZWxl
cGhvbmU7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dXJsKCkpCisgICAg
ICAgIHJldHVybiBJbnB1dE1vZGU6OlVybDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9k
ZU5hbWVzOjplbWFpbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpFbWFpbDsKKyAgICBp
ZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjpudW1lcmljKCkpCisgICAgICAgIHJldHVy
biBJbnB1dE1vZGU6Ok51bWVyaWM7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1l
czo6ZGVjaW1hbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpEZWNpbWFsOworICAgIGlm
IChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpKQorICAgICAgICByZXR1cm4g
SW5wdXRNb2RlOjpTZWFyY2g7CisKKyAgICByZXR1cm4gSW5wdXRNb2RlOjpBdXRvOworfQorCiB2
b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uJiBpbmZvcm1hdGlvbikKIHsKICAgICBsYXlvdXRJZk5lZWRlZCgpOwpAQCAtMjQwMiw2
ICsyNDI1LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgIGluZm9ybWF0aW9uLnZh
bHVlID0gZWxlbWVudC52YWx1ZSgpOwogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxk
TmFtZSA9IFdlYkNvcmU6OnRvQXV0b2ZpbGxGaWVsZE5hbWUoZWxlbWVudC5hdXRvZmlsbERhdGEo
KS5maWVsZE5hbWUpOwogICAgICAgICBpbmZvcm1hdGlvbi5wbGFjZWhvbGRlciA9IGVsZW1lbnQu
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnBsYWNlaG9sZGVyQXR0
cik7CisgICAgICAgIGluZm9ybWF0aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckFzc2lzdGVk
Tm9kZShlbGVtZW50KTsKICAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fz
c2lzdGVkTm9kZSkpIHsKICAgICAgICAgSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCA9IGRvd25j
YXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSk7CiAgICAgICAgIEhUTUxGb3Jt
RWxlbWVudCogZm9ybSA9IGVsZW1lbnQuZm9ybSgpOwpAQCAtMjQ1OSw2ICsyNDgzLDcgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgIH0KICNlbmRpZgogCisgICAgICAgIGluZm9ybWF0
aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckFzc2lzdGVkTm9kZShlbGVtZW50KTsKICAgICAg
ICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9IGVsZW1lbnQuaXNSZWFkT25seSgpOwogICAgICAg
ICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVsZW1lbnQudmFsdWUoKTsKICAgICAgICAgaW5mb3JtYXRp
b24udmFsdWVBc051bWJlciA9IGVsZW1lbnQudmFsdWVBc051bWJlcigpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU3ZGE4YmY4ZDcxZjZiZDRm
YjYzZGRhOWM1NWViNjRiOTk2ZGFiOTQuLmQ5NmVhMzc4YjQ4ODZmYzgwMjA3M2QyOTZkOTA5YjMx
MzFkY2MzNWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wOC0yMSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRo
aUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIHRoZSBpbnB1dG1v
ZGUgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODM2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBhbiBBUEkgdGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgY29ycmVjdCBVSUtleWJv
YXJkVHlwZSBpcyBzZXQgZGVwZW5kaW5nIG9uCisgICAgICAgIHRoZSB0eXBlLCBpbnB1dG1vZGUs
IGFuZCBwYXR0ZXJuIHNwZWNpZmllZCBmb3IgYW4gaW5wdXQgZmllbGQuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW06CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2lvcy9VSUtp
dFNQSS5oOgorCiAyMDE4LTA4LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVHJhbnNsYXRlIFdlYktpdC5MaW1pdFRpdGxlU2l6ZSBBUEkg
dGVzdCBpbnRvIE9iakMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbQppbmRleCAxZWIyN2Q4ZWFlODYzYTNjZjNkNDQ3Yjkw
NTNmYzNkZGIzMWI3MmIzLi5lYjgxNDA3OGM3ZmI1NDNlYWVjYjM0YjcyMjM3Zjc3MDVhOGU0NzNm
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0
VGVzdHNJT1MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9hcmRJ
bnB1dFRlc3RzSU9TLm1tCkBAIC0xNjMsNiArMTYzLDgzIEBAIFRFU1QoS2V5Ym9hcmRJbnB1dFRl
c3RzLCBSYW5nZWRTZWxlY3Rpb25SZWN0QWZ0ZXJSZXN0b3JpbmdGaXJzdFJlc3BvbmRlcikKICAg
ICBbd2ViVmlldyB3YWl0Rm9yU2VsZWN0aW9uVmlld1JlY3RzVG9CZWNvbWU6ZXhwZWN0ZWRTZWxl
Y3Rpb25SZWN0c107CiB9CiAKK1RFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBLZXlib2FyZFR5cGVG
b3JJbnB1dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1
dG8gaW5wdXREZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0SW5wdXREZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOworCisgICAgW2lucHV0RGVsZWdhdGUgc2V0Rm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xp
Y3lIYW5kbGVyOlsmXSAoV0tXZWJWaWV3ICosIGlkIDxfV0tGb2N1c2VkRWxlbWVudEluZm8+KSAt
PiBfV0tGb2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeSB7CisgICAgICAgIHJldHVybiBfV0tG
b2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeUFsbG93OworICAgIH1dOworICAgIFt3ZWJWaWV3
IF9zZXRJbnB1dERlbGVnYXRlOmlucHV0RGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IHN5
bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxpbnB1dCBpZD0naW5wdXQnPiJdOworCisgICAg
YXV0byBydW5UZXN0ID0gXihOU1N0cmluZyAqaW5wdXRUeXBlLCBOU1N0cmluZyAqaW5wdXRNb2Rl
LCBOU1N0cmluZyAqcGF0dGVybiwgVUlLZXlib2FyZFR5cGUgZXhwZWN0ZWRLZXlib2FyZFR5cGUp
IHsKKyAgICAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImlucHV0
LmJsdXIoKSJdOworICAgICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiaW5wdXQudHlwZSA9ICclQCc7IGlucHV0Lmlu
cHV0TW9kZSA9ICclQCc7IGlucHV0LnBhdHRlcm4gPSAnJUAnIiwgaW5wdXRUeXBlLCBpbnB1dE1v
ZGUsIHBhdHRlcm5dXTsKKyAgICAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpAImlucHV0LmZvY3VzKCkiXTsKKworICAgICAgICBVSVZpZXc8VUlUZXh0SW5wdXRQcml2
YXRlPiAqdGV4dElucHV0ID0gKFVJVmlldzxVSVRleHRJbnB1dFByaXZhdGU+ICopW3dlYlZpZXcg
dGV4dElucHV0Q29udGVudFZpZXddOworCisgICAgICAgIFVJS2V5Ym9hcmRUeXBlIGtleWJvYXJk
VHlwZSA9IFt0ZXh0SW5wdXQgdGV4dElucHV0VHJhaXRzXS5rZXlib2FyZFR5cGU7CisgICAgICAg
IGJvb2wgc3VjY2VzcyA9ICBrZXlib2FyZFR5cGUgPT0gZXhwZWN0ZWRLZXlib2FyZFR5cGU7Cisg
ICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIE5TTG9nKEAiRGlzcGxheWVkICVsaSBm
b3IgPGlucHV0IHR5cGU9JyVAJyBpbnB1dG1vZGU9JyVAJyBwYXR0ZXJuPSclQCc+LiBFeHBlY3Rl
ZCAlbGkuIiwgKGxvbmcpa2V5Ym9hcmRUeXBlLCBpbnB1dFR5cGUsIGlucHV0TW9kZSwgcGF0dGVy
biwgKGxvbmcpZXhwZWN0ZWRLZXlib2FyZFR5cGUpOworCisgICAgICAgIHJldHVybiBzdWNjZXNz
OworICAgIH07CisKKyAgICBOU0FycmF5ICppbnB1dE1vZGVzID0gQFsgQCIiLCBAInRleHQiLCBA
InRlbCIsIEAidXJsIiwgQCJlbWFpbCIsIEAibnVtZXJpYyIsIEAiZGVjaW1hbCIsIEAic2VhcmNo
IiBdOworICAgIE5TRGljdGlvbmFyeSAqZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJbnB1dE1vZGUg
PSBAeworICAgICAgICBAInRleHQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAgICAg
IEAidGVsIjogQChVSUtleWJvYXJkVHlwZVBob25lUGFkKSwKKyAgICAgICAgQCJ1cmwiOiBAKFVJ
S2V5Ym9hcmRUeXBlVVJMKSwKKyAgICAgICAgQCJlbWFpbCI6IEAoVUlLZXlib2FyZFR5cGVFbWFp
bEFkZHJlc3MpLAorICAgICAgICBAIm51bWVyaWMiOiBAKFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0Fu
ZFB1bmN0dWF0aW9uKSwKKyAgICAgICAgQCJkZWNpbWFsIjogQChVSUtleWJvYXJkVHlwZURlY2lt
YWxQYWQpLAorICAgICAgICBAInNlYXJjaCI6IEAoVUlLZXlib2FyZFR5cGVXZWJTZWFyY2gpCisg
ICAgfTsKKworICAgIE5TQXJyYXkgKmlucHV0VHlwZXNXaXRoS2V5Ym9hcmQgPSBAWyBAInRleHQi
LCBAInBhc3N3b3JkIiwgQCJzZWFyY2giLCBAImVtYWlsIiwgQCJ0ZWwiLCBAIm51bWJlciIsIEAi
dXJsIiBdOworICAgIE5TRGljdGlvbmFyeSAqZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJbnB1dFR5
cGUgPSBAeworICAgICAgICBAInRleHQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAg
ICAgIEAicGFzc3dvcmQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAgICAgIEAic2Vh
cmNoIjogQChVSUtleWJvYXJkVHlwZURlZmF1bHQpLAorICAgICAgICBAImVtYWlsIjogQChVSUtl
eWJvYXJkVHlwZUVtYWlsQWRkcmVzcyksCisgICAgICAgIEAidGVsIjogQChVSUtleWJvYXJkVHlw
ZVBob25lUGFkKSwKKyAgICAgICAgQCJudW1iZXIiOiBAKFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0Fu
ZFB1bmN0dWF0aW9uKSwKKyAgICAgICAgQCJ1cmwiOiBAKFVJS2V5Ym9hcmRUeXBlVVJMKQorICAg
IH07CisKKyAgICBOU0FycmF5ICppbnB1dFBhdHRlcm5zQWZmZWN0aW5nS2V5Ym9hcmQgPSBAWyBA
IiIsIEAiXFxcXGQqIiwgQCJbMC05XSoiIF07CisgICAgTlNEaWN0aW9uYXJ5ICpleHBlY3RlZEtl
eWJvYXJkVHlwZUZvclBhdHRlcm4gPSBAeworICAgICAgICBAIlxcXFxkKiI6IEAoVUlLZXlib2Fy
ZFR5cGVOdW1iZXJQYWQpLAorICAgICAgICBAIlswLTldKiI6IEAoVUlLZXlib2FyZFR5cGVOdW1i
ZXJQYWQpCisgICAgfTsKKworICAgIGZvciAoTlNTdHJpbmcgKmlucHV0VHlwZSBpbiBpbnB1dFR5
cGVzV2l0aEtleWJvYXJkKSB7CisgICAgICAgIGZvciAoTlNTdHJpbmcgKmlucHV0TW9kZSBpbiBp
bnB1dE1vZGVzKSB7CisgICAgICAgICAgICBmb3IgKE5TU3RyaW5nICpwYXR0ZXJuIGluIGlucHV0
UGF0dGVybnNBZmZlY3RpbmdLZXlib2FyZCkgeworICAgICAgICAgICAgICAgIE5TTnVtYmVyICpr
ZXlib2FyZFR5cGU7CisgICAgICAgICAgICAgICAgaWYgKGlucHV0TW9kZS5sZW5ndGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gaW5wdXRtb2RlIGhhcyB0aGUgaGlnaGVzdCBwcmlvcml0eS4K
KyAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmRUeXBlID0gZXhwZWN0ZWRLZXlib2FyZFR5cGVG
b3JJbnB1dE1vZGVbaW5wdXRNb2RlXTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICBpZiAocGF0dGVybi5sZW5ndGggJiYgKFtpbnB1dFR5cGUgaXNFcXVhbDog
QCJ0ZXh0Il0gfHwgW2lucHV0VHlwZSBpc0VxdWFsOiBAIm51bWJlciJdKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciB0ZXh0IGFuZCBudW1iZXIgaW5wdXRz
IHRoYXQgaGF2ZSBhIG51bWVyaWMgcGF0dGVybi4KKyAgICAgICAgICAgICAgICAgICAgICAgIGtl
eWJvYXJkVHlwZSA9IGV4cGVjdGVkS2V5Ym9hcmRUeXBlRm9yUGF0dGVybltwYXR0ZXJuXTsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90
aGVyd2lzZSwgdGhlIGlucHV0IHR5cGUgZGV0ZXJtaW5lcyB0aGUga2V5Ym9hcmQgdHlwZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGtleWJvYXJkVHlwZSA9IGV4cGVjdGVkS2V5Ym9hcmRUeXBl
Rm9ySW5wdXRUeXBlW2lucHV0VHlwZV07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBFWFBFQ1RfVFJVRShydW5UZXN0KGlucHV0VHlw
ZSwgaW5wdXRNb2RlLCBwYXR0ZXJuLCAoVUlLZXlib2FyZFR5cGUpa2V5Ym9hcmRUeXBlLmludFZh
bHVlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JN
KElPUykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmggYi9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCmluZGV4IDhlY2YzMDVlZmJlNzcxNDM4
ZDAyNGY3NzBlOTVkZWVjNTBkMWYxZDIuLmExM2JjNWUxM2JkYzUxYWY2NTJmYjI1NGI0Zjg0MmY4
OGI5OWRjMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaApAQCAtNzEsNiArNzEsNyBA
QCBXVEZfRVhURVJOX0NfRU5ECiBAY2xhc3MgV2ViRXZlbnQ7CiAKIEBwcm90b2NvbCBVSVRleHRJ
bnB1dFByaXZhdGUgPFVJVGV4dElucHV0LCBVSVRleHRJbnB1dFRyYWl0c19Qcml2YXRlPgorLSAo
VUlUZXh0SW5wdXRUcmFpdHMgKil0ZXh0SW5wdXRUcmFpdHM7CiAtICh2b2lkKWluc2VydFRleHRT
dWdnZXN0aW9uOihVSVRleHRTdWdnZXN0aW9uICopdGV4dFN1Z2dlc3Rpb247CiAtICh2b2lkKWhh
bmRsZUtleVdlYkV2ZW50OihXZWJFdmVudCAqKXRoZUV2ZW50IHdpdGhDb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoV2ViRXZlbnQgKiwgQk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiBAZW5kCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYjU0Zjg5ZWM5ZWMxMTYwNWNjY2FhYTVmZTAzNWJkNDAwY2JhNzZmNy4uNjdjOWM1OTQw
Mjk3Nzc2NjkxYzQ3MzFiMDdiNTJmNDgyYTg5MWUxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDE4LTA4LTIxICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gdmVy
aWZ5IGJlaGF2aW9yIHdoZW4gZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgaW5wdXRtb2RlIGF0dHJp
YnV0ZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0ZS5o
dG1sOiBBZGRlZC4KKwogMjAxOC0wOC0yMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBz
bG93c3RhcnQub3JnPgogCiAgICAgICAgIFN1cHBvcnQgIm5hbWUiIG9wdGlvbiBmb3IgZGVkaWNh
dGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2Rl
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9k
ZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmMmRhZWYxZGQ1ZmRkODkwMDhl
NzczYzFmODExY2RjZjE5MjBmMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDQgQEAK
K1Rlc3QgaW5wdXRtb2RlIGF0dHJpYnV0ZQorCisKK01pc3NpbmcgdmFsdWUgZGVmYXVsdDoKK1BB
U1MgaW5wdXQuaW5wdXRNb2RlIGlzICIiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRt
b2RlIikgaXMgbnVsbAorCitJbnZhbGlkIHZhbHVlIGRlZmF1bHQ6CitQQVNTIGlucHV0LmlucHV0
TW9kZSA9ICJmb29iYXIiOyBpbnB1dC5pbnB1dE1vZGUgaXMgIiIKK1BBU1MgaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAiZm9vYmFyIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUo
ImlucHV0bW9kZSIsICJiYXoiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICIiCisKK1ZhbGlkIHZhbHVl
czoKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gInRleHQiOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRl
eHQiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInRleHQiCitQQVNT
IGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRleHQiKTsgaW5wdXQuaW5wdXRNb2Rl
IGlzICJ0ZXh0IgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidGVsIjsgaW5wdXQuaW5wdXRNb2Rl
IGlzICJ0ZWwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInRlbCIK
K1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidGVsIik7IGlucHV0LmlucHV0
TW9kZSBpcyAidGVsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidXJsIjsgaW5wdXQuaW5wdXRN
b2RlIGlzICJ1cmwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInVy
bCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidXJsIik7IGlucHV0Lmlu
cHV0TW9kZSBpcyAidXJsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAiZW1haWwiOyBpbnB1dC5p
bnB1dE1vZGUgaXMgImVtYWlsIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIp
IGlzICJlbWFpbCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZW1haWwi
KTsgaW5wdXQuaW5wdXRNb2RlIGlzICJlbWFpbCIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gIm51
bWVyaWMiOyBpbnB1dC5pbnB1dE1vZGUgaXMgIm51bWVyaWMiCitQQVNTIGlucHV0LmdldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIikgaXMgIm51bWVyaWMiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIiwgIm51bWVyaWMiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJudW1lcmljIgorUEFT
UyBpbnB1dC5pbnB1dE1vZGUgPSAiZGVjaW1hbCI7IGlucHV0LmlucHV0TW9kZSBpcyAiZGVjaW1h
bCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAiZGVjaW1hbCIKK1BB
U1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZGVjaW1hbCIpOyBpbnB1dC5pbnB1
dE1vZGUgaXMgImRlY2ltYWwiCitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJzZWFyY2giOyBpbnB1
dC5pbnB1dE1vZGUgaXMgInNlYXJjaCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1v
ZGUiKSBpcyAic2VhcmNoIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJz
ZWFyY2giKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJzZWFyY2giCisKK1ZhbGlkIGNhc2UtaW5zZW5z
aXRpdmUgdmFsdWVzOgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidEV4dCI7IGlucHV0LmlucHV0
TW9kZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAi
dEV4dCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidEV4dCIpOyBpbnB1
dC5pbnB1dE1vZGUgaXMgInRleHQiCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0bW9kZS1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2Rl
LWF0dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZDQwOGRjZmUwZmRmZDczMDNiZWNjNThlMWY3
NTFlM2MwY2Q1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0bW9kZS1hdHRyaWJ1dGUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxwPlRlc3QgaW5wdXRtb2RlIGF0dHJpYnV0ZTwvcD4KKzxpbnB1dCBp
ZD0iaW5wdXQiPgorPGRpdiBpZD1jb25zb2xlPjwvZGl2PgorPHNjcmlwdD4KK2RlYnVnKCdNaXNz
aW5nIHZhbHVlIGRlZmF1bHQ6Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlJywgJyIiJyk7
CitzaG91bGRCZU51bGwoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknKTsKKworZGVi
dWcoJycpOworZGVidWcoJ0ludmFsaWQgdmFsdWUgZGVmYXVsdDonKTsKK3Nob3VsZEJlKCdpbnB1
dC5pbnB1dE1vZGUgPSAiZm9vYmFyIjsgaW5wdXQuaW5wdXRNb2RlJywgJyIiJyk7CitzaG91bGRC
ZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICciZm9vYmFyIicpOworc2hvdWxk
QmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImJheiIpOyBpbnB1dC5pbnB1dE1v
ZGUnLCAnIiInKTsKKworZGVidWcoJycpOworZGVidWcoJ1ZhbGlkIHZhbHVlczonKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidGV4dCI7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0ZXh0Iicp
Oworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRleHQiKTsgaW5w
dXQuaW5wdXRNb2RlJywgJyJ0ZXh0IicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ0
ZWwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRlbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRy
aWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0ZWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmli
dXRlKCJpbnB1dG1vZGUiLCAidGVsIik7IGlucHV0LmlucHV0TW9kZScsICcidGVsIicpOworc2hv
dWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ1cmwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInVybCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ1cmwiJyk7
CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidXJsIik7IGlucHV0
LmlucHV0TW9kZScsICcidXJsIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJlbWFp
bCI7IGlucHV0LmlucHV0TW9kZScsICciZW1haWwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiKScsICciZW1haWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiLCAiZW1haWwiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJlbWFpbCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAibnVtZXJpYyI7IGlucHV0LmlucHV0TW9k
ZScsICcibnVtZXJpYyInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9k
ZSIpJywgJyJudW1lcmljIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRt
b2RlIiwgIm51bWVyaWMiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJudW1lcmljIicpOworc2hvdWxk
QmUoJ2lucHV0LmlucHV0TW9kZSA9ICJkZWNpbWFsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJkZWNp
bWFsIicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnImRl
Y2ltYWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZGVj
aW1hbCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnImRlY2ltYWwiJyk7CitzaG91bGRCZSgnaW5wdXQu
aW5wdXRNb2RlID0gInNlYXJjaCI7IGlucHV0LmlucHV0TW9kZScsICcic2VhcmNoIicpOworc2hv
dWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnInNlYXJjaCInKTsKK3No
b3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJzZWFyY2giKTsgaW5wdXQu
aW5wdXRNb2RlJywgJyJzZWFyY2giJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdWYWxpZCBjYXNl
LWluc2Vuc2l0aXZlIHZhbHVlczonKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidEV4
dCI7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRy
aWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0RXh0IicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJp
YnV0ZSgiaW5wdXRtb2RlIiwgInRFeHQiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZXh0IicpOwor
CitkZWJ1ZygnJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="365456"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347812</attachid>
            <date>2018-08-22 09:48:30 -0700</date>
            <delta_ts>2018-08-22 09:56:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183621-20180822094829.patch</filename>
            <type>text/plain</type>
            <size>36754</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmEwNDUyOGYyOGNlOWNi
OTQ2YzU3MmJmNWUzMmM1MGJhYzc1ZWFhYS4uMmIyMGJmYmM5OWVkN2M4ZjE5ZDlhZmMyYTVmYjYx
Y2RkZjY2ZTU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA4LTIxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlIHRv
IHRoZSBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50IElETAorICAgICAg
ICBmaWxlcy4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGF0dHJpYnV0ZSBhcmUgc3BlY2lm
aWVkIGluIElucHV0TW9kZU5hbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXRt
b2RlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OmlucHV0TW9kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0SW5wdXRNb2RlKToKKyAgICAgICAgKiBodG1s
L0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dE1vZGVO
YW1lcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6OnRlbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnB1dE1vZGVOYW1lczo6dXJsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5h
bWVzOjplbWFpbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6bnVtZXJpYyk6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6c2VhcmNoKToKKyAgICAgICAgKiBodG1sL0lucHV0TW9k
ZU5hbWVzLmg6IEFkZGVkLgorCiAyMDE4LTA4LTIxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIEF1Z21lbnQgX1dL
QXR0YWNobWVudCBTUEkgdG8gaGFuZGxlIE5TRmlsZVdyYXBwZXJzIGluIGFkZGl0aW9uIHRvIE5T
RGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA3MDUwOGQzMTg3ZGFhM2M3ZjcwM2ZjMzhjMzlhZjU1NGUzZmQ4ZmU4
Li4xYTk0ZjE5NzJmNGQyYjFkYTBjZjZiMmNlNTNiOWRmZjU4NjE1Mjg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM2IEBACisyMDE4LTA4LTIxICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxl
LmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRy
aWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBpbnB1dG1vZGUgYXR0cmlidXRlIHNwZWNpZmllcyB3aGljaCBpbnB1dCBtZWNoYW5pc20gd291
bGQgYmUgbW9zdCBoZWxwZnVsIGZvcgorICAgICAgICB1c2VycyBlbnRlcmluZyBjb250ZW50IGlu
IHRleHRmaWVsZCBpbnB1dHMgYW5kIHRleHRhcmVhcy4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQK
KyAgICAgICAgZm9yIHNldmVuIHZhbHVlczogdGV4dCwgdGVsLCB1cmwsIGVtYWlsLCBudW1lcmlj
LCBkZWNpbWFsIGFuZCBzZWFyY2guCisKKyAgICAgICAgT24gaU9TLCB3ZSBjYW4gc3BlY2lmeSBV
SUtleWJvYXJkVHlwZXMgdGhhdCBiZXN0IG1hdGNoIHRoZSBzdXBwbGllZCBpbnB1dG1vZGUuCisg
ICAgICAgIC0gdGV4dDogVUlLZXlib2FyZFR5cGVEZWZhdWx0CisgICAgICAgIC0gdGVsOiBVSUtl
eWJvYXJkVHlwZVBob25lUGFkCisgICAgICAgIC0gdXJsOiBVSUtleWJvYXJkVHlwZVVSTAorICAg
ICAgICAtIGVtYWlsOiBVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzcworICAgICAgICAtIG51bWVy
aWM6IFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0FuZFB1bmN0dWF0aW9uCisgICAgICAgIC0gZGVjaW1h
bDogVUlLZXlib2FyZFR5cGVEZWNpbWFsUGFkCisgICAgICAgIC0gc2VhcmNoOiBVSUtleWJvYXJk
VHlwZVdlYlNlYXJjaAorCisgICAgICAgIEluIHRoZSBjYXNlIHRoYXQgdGhlIGlucHV0bW9kZSBh
dHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nCisgICAgICAg
IG91ciBleGlzdGluZyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIHdoYXQga2luZCBvZiBrZXlib2Fy
ZCB0byBzaG93IGZvciB0ZXh0ZmllbGRzLgorCisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWROb2RlSW5mb3JtYXRp
b246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5o
OiBBZGRlZCBpbnB1dE1vZGUgZmllbGQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4dElucHV0
VHJhaXRzXSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjppbnB1dE1vZGVGb3JFbGVtZW50KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAyMDE4LTA4LTIxICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIHVudXNlZCBzaG91bGRLZWVwQ3VycmVudEJhY2tGb3J3YXJkTGlzdEl0ZW1Jbkxpc3QgY2hl
Y2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggZjBlZjc4NjEwZGQwNDZiMzY3MjcyYzA1YWFjNjc0NDU4NWM5
MzhhMi4uOGRlOGUxNzZmYzRjNDI1MGYyMWVhZjBiYzZlZGZjNDVmYjc4ZTE2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTEwNTYsNiArMTA1Niw3IEBAIGh0bWwvSW1hZ2VCaXRtYXAuY3BwCiBodG1sL0lt
YWdlRGF0YS5jcHAKIGh0bWwvSW1hZ2VEb2N1bWVudC5jcHAKIGh0bWwvSW1hZ2VJbnB1dFR5cGUu
Y3BwCitodG1sL0lucHV0TW9kZU5hbWVzLmNwcAogaHRtbC9JbnB1dFR5cGUuY3BwCiBodG1sL0lu
cHV0VHlwZU5hbWVzLmNwcAogaHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhMTkxZDU3
NjJkZmRmNmVmNzBjMzNjZTlkZWZlMDc0NWY3MzBiMjguLmYxNTkwOTZkZjhiMjU4MDM0MWI3OThk
NWEzZDVhOTRjYTE5Nzc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3OTAsNiArNDc5MCw3IEBACiAJCUU1MTc2NzAzMjBC
ODhDMTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIyMEI4OEMxNDAw
RDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEyNjhBQzAwREFE
QTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRh
TGlzdFN1Z2dlc3Rpb25zQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3Vn
Z2VzdGlvblBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU1
MkVGREY0MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1QTAwQUQyODJB
IC8qIElucHV0TW9kZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTU4QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovOyB9
OwogCQlFNThCNDVCQjIwQUQwN0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI5
MjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovOyB9OwogCQlF
NTlERDRCODIxMDk4Mjg3MDAzQzhCNDcgLyogTGlzdEJ1dHRvbkFycm93LnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU5REQ0QjcyMTA5ODI4NTAw
M0M4QjQ3IC8qIExpc3RCdXR0b25BcnJvdy5wbmcgKi87IH07CkBAIC0xNDUyNSw2ICsxNDUyNiw4
IEBACiAJCUU1MjZBRjNFMTcyN0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3JtYW5jZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRhTGlz
dFN1Z2dlc3Rpb25zQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3VnZ2VzdGlvbnND
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1NEUyMEEzNUEyODAw
REFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRh
TGlzdFN1Z2dlc3Rpb25QaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTUy
RUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IElucHV0TW9kZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU1MkVGREYz
MjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnB1dE1vZGVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1NUY0
OTc5MTUxQjg4ODAwMEJCNjdEQiAvKiBMZW5ndGhGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0
dG9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdERDAwOTkxMDI1IC8qIERh
dGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhTGlzdEJ1dHRv
bkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA4MDYsNiArMjA4
MDksOCBAQAogCQkJCTk3MjA1QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFnZURvY3VtZW50Lmgg
Ki8sCiAJCQkJRjU1QjNEOEQxMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5wdXRUeXBlLmNwcCAq
LywKIAkJCQlGNTVCM0Q4RTEyNTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1dFR5cGUuaCAqLywK
KwkJCQlFNTJFRkRGMzIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuY3BwICovLAor
CQkJCUU1MkVGREYyMjExMjg3NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oICovLAogCQkJ
CTM3RTM1MjRBMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5cGUuY3BwICovLAogCQkJCTM3RTM1
MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJCQlDMzQ4NjEyMTE1RkRF
MjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuY3BwICovLApAQCAtMjg0MzgsNiArMjg0NDMs
NyBAQAogCQkJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nl
c3NJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURBMTlCREYwMDNFMjNC
NSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNTJFRkRGNDIxMTI4NzVBMDBB
RDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RTM1MjREMTI0
NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzNDg2MTI0
MTVGREUyMUUwMDdBMUNDOSAvKiBJbnB1dFR5cGVOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTMzMDlERUEwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydEludG9UZXh0Tm9kZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCA2ZTY2NTA0N2VkNTg1NzQ2MTZlOWJkYzZmMWM0Y2ExOTE3ZjRlMjI0Li43OTRiNzc0ZTJl
NDZkM2Y2NWU3NjU5OGZiNGE2MDlhMDNiOGQ0YjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMTQ0LDYgKzE0NCw3IEBAIGh0dHBfZXF1aXYKIGlkCiBp
bmNyZW1lbnRhbAogaW5kZXRlcm1pbmF0ZQoraW5wdXRtb2RlCiBpbnRlZ3JpdHkKIGlzCiBpc21h
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggZTk2NTgyOTRm
MTAxYmFkZDRiNzQ0MTA1ZTFkMWQyZGQ2ZTI5YTE1MC4uYjA2ZjljNDc1NmY3ZDUxNTUzMzA3MzQ0
NzQwOWY3YjdiZWZmNTJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCkBAIC00Miw2ICs0Miw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
Zm9ybVRhcmdldDsKICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7CiAgICAgYXR0
cmlidXRlIGJvb2xlYW4gaW5kZXRlcm1pbmF0ZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlu
cHV0TW9kZTsKICAgICBbQ29uZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVhZG9ubHkgYXR0
cmlidXRlIEhUTUxFbGVtZW50IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbWF4OwogICAgIGF0dHJpYnV0ZSBsb25nIG1pbkxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGI4NTQwMTY1Mjc1ZTFjZDM3NzQ1ODNh
NGI3YzdhNjdkODFiMjJiOTMuLmJkYTM2MmFiZjNlOWIzOTk3ODNkNGNlMzg5NTQ1ZTI2NmRmZjgy
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApAQCAt
NTksNCArNTksNSBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3RhcnQgPSAwLCBv
cHRpb25hbCBsb25nIGVuZCA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwogCiAg
ICAgYXR0cmlidXRlIERPTVN0cmluZyBhdXRvY29tcGxldGU7CisgICAgYXR0cmlidXRlIERPTVN0
cmluZyBpbnB1dE1vZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5NGVhYjc2NmUyNjc4NTk5OWFkZjFkMjAwODQx
ZGQ4OGI5ZWY2Y2JiLi4wMzMyNjhhMzllM2Q2NmJmMGYwMmNlOWM2ZWZjNjRhN2ZjN2JlNjk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5j
bHVkZSAiSW5wdXRNb2RlTmFtZXMuaCIKICNpbmNsdWRlICJMYXlvdXREaXNhbGxvd2VkU2NvcGUu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgpAQCAt
Njc0LDYgKzY3NSwzMiBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzaG93UGxh
Y2Vob2xkZXJJZk5lY2Vzc2FyeSgpCiB9CiAjZW5kaWYKIAorU3RyaW5nIEhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjppbnB1dE1vZGUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5wdXRNb2RlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihpbnB1dG1vZGVB
dHRyKTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9k
ZU5hbWVzOjp0ZXh0KCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnRleHQoKTsK
KyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9kZU5hbWVz
Ojp0ZWwoKSkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGVOYW1lczo6dGVsKCk7CisgICAgaWYg
KGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6dXJsKCkp
KQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnVybCgpOworICAgIGlmIChlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKGlucHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCkpKQorICAg
ICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6bnVtZXJpYygpKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpudW1lcmljKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgpKSkKKyAgICAg
ICAgcmV0dXJuIElucHV0TW9kZU5hbWVzOjpkZWNpbWFsKCk7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6c2VhcmNoKCkpKQorICAgICAg
ICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpOworCisgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7Cit9CisKK3ZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldElucHV0TW9k
ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oaW5wdXRtb2RlQXR0ciwgdmFsdWUpOworfQorCiBzdGF0aWMgdm9pZCBnZXROZXh0
U29mdEJyZWFrKFJvb3RJbmxpbmVCb3gqJiBsaW5lLCBOb2RlKiYgYnJlYWtOb2RlLCB1bnNpZ25l
ZCYgYnJlYWtPZmZzZXQpCiB7CiAgICAgUm9vdElubGluZUJveCogbmV4dDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBjMzIwZjJm
ZTk5M2Q4MWE0MjNjYzU5OTM2M2ZiM2IzM2QxY2MwNWZjLi43ZWFjMGI2YzE0NzgwNjJiOGVkNzBi
OGExMzZiNGQ4NzRjMDc5MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC05OCw2ICs5OCw5IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNob3dQbGFjZWhvbGRlcklmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKIAor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbnB1dE1vZGUoKSBjb25zdDsKKyAgICB2b2lkIHNl
dElucHV0TW9kZShjb25zdCBTdHJpbmcmKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3Jt
RWxlbWVudCopOwogICAgIGJvb2wgaXNQbGFjZWhvbGRlckVtcHR5KCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzk4NzA3NzNmYTc0MWVh
NmIwNjU0NzY4Mzg0MzE2ODFhNTMxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklucHV0TW9kZU5hbWVzLmgiCisKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1l
c3BhY2UgSW5wdXRNb2RlTmFtZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIHRleHQoKQorewor
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInRleHQiLCBBdG9t
aWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nJiB0ZWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxB
dG9taWNTdHJpbmc+IG1vZGUoInRlbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOworICAgIHJldHVybiBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgidXJsIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisK
K2NvbnN0IEF0b21pY1N0cmluZyYgZW1haWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxBdG9taWNTdHJpbmc+IG1vZGUoImVtYWlsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgbnVt
ZXJpYygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgi
bnVtZXJpYyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVy
biBtb2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIGRlY2ltYWwoKQoreworICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoImRlY2ltYWwiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3Qg
QXRvbWljU3RyaW5nJiBzZWFyY2goKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9t
aWNTdHJpbmc+IG1vZGUoInNlYXJjaCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOworICAgIHJldHVybiBtb2RlOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnB1dE1vZGVOYW1l
cworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0TW9kZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVz
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2FhMjU5ZGMzODU5YTM1ZmQ3MmFmMWIwMzk0ZDllYjIyMjUyM2U2MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaApA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3Bh
Y2UgSW5wdXRNb2RlTmFtZXMgeworCitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcm
IHRleHQoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGVsKCk7CitXRUJD
T1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpOworV0VCQ09SRV9FWFBPUlQgY29u
c3QgQXRvbWljU3RyaW5nJiBlbWFpbCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3Ry
aW5nJiBudW1lcmljKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIGRlY2lt
YWwoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgc2VhcmNoKCk7CisKK30g
Ly8gbmFtZXNwYWNlIElucHV0TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcAppbmRl
eCA3OWFkYjY4MGZlNDcxMjFkMTI5ZjkyNDFkN2U2NmFmYjJhYmVkMGQ1Li4yMTA5NzNiZTVhOTlj
OTNlN2UzYzI5NzBjZDY5ZTI3NTg3NGI1ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCkBAIC03Nyw2ICs3Nyw3IEBAIHZvaWQgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBpc1JUTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oYXV0b2NhcGl0
YWxpemVUeXBlKTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oZWxlbWVudFR5cGUpOworICAgIGVu
Y29kZXIuZW5jb2RlRW51bShpbnB1dE1vZGUpOwogICAgIGVuY29kZXIgPDwgZm9ybUFjdGlvbjsK
ICAgICBlbmNvZGVyIDw8IHNlbGVjdE9wdGlvbnM7CiAgICAgZW5jb2RlciA8PCBzZWxlY3RlZElu
ZGV4OwpAQCAtMTQ1LDYgKzE0Niw5IEBAIGJvb2wgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEFzc2lzdGVkTm9kZUluZm9ybWF0CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmVsZW1lbnRUeXBlKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmlucHV0TW9kZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LmZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCmluZGV4IDFlN2FhYzc3YjAwODE5NGQx
OTQxODQwNDExNmNlYTI0YTFjZTMxZmQuLjBiYzhmZDM1MzdiMDNhOWViMjc3NGFlNmJjNjNkYTgx
ODNmMWJjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uaApAQCAtNTksNiArNTksMTcgQEAgZW51bSBjbGFzcyBJbnB1dFR5cGUgewogI2VuZGlm
CiB9OwogCitlbnVtIGNsYXNzIElucHV0TW9kZSA6IHVpbnQ4X3QgeworICAgIEF1dG8sCisgICAg
VGV4dCwKKyAgICBUZWxlcGhvbmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAgIE51bWVyaWMs
CisgICAgRGVjaW1hbCwKKyAgICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJT1MpCiBzdHJ1
Y3QgT3B0aW9uSXRlbSB7CiAgICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTEwLDYgKzEyMSw3IEBA
IHN0cnVjdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNpZGVGaXhlZFBv
c2l0aW9uIHsgZmFsc2UgfTsKICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2NhcGl0YWxpemVU
eXBlIHsgQXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlwZSBlbGVtZW50
VHlwZSB7IElucHV0VHlwZTo6Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1vZGUgeyBJbnB1
dE1vZGU6OkF1dG8gfTsKICAgICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0b3I8T3B0aW9u
SXRlbT4gc2VsZWN0T3B0aW9uczsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0xIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQppbmRleCAwMDk2MDQ5OGQxNTc4NjViNTYzZWM2YTMyNjRhYzQ5ZGUxZGFhMTZlLi5k
NjhmOGI3ZWFjZmRlMDkyMTY5YTlkZGUxYzAwZTViMWIxN2U3YjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
QEAgLTM1NDcsMjQgKzM1NDcsNjQgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21G
aWVsZE5hbWUoV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgICAgICBb
X3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlz
QXV0b2NvcnJlY3QgPyBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29y
cmVjdGlvblR5cGVOb107CiAgICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CisgICAgc3dp
dGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAgY2FzZSBJbnB1
dE1vZGU6OkF1dG86CisgICAgICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlKSB7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAgICAgICBbX3Ry
YWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1
YXRpb25dOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1i
ZXJQYWQ6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5
cGVOdW1iZXJQYWRdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBl
OjpOb25lOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6Q29udGVudEVkaXRhYmxlOgorICAgICAg
ICBjYXNlIElucHV0VHlwZTo6VGV4dDoKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlBhc3N3b3Jk
OgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGV4dEFyZWE6CisgICAgICAgIGNhc2UgSW5wdXRU
eXBlOjpTZWFyY2g6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlOgorICAgICAgICBjYXNl
IElucHV0VHlwZTo6RGF0ZVRpbWU6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlVGltZUxv
Y2FsOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6TW9udGg6CisgICAgICAgIGNhc2UgSW5wdXRU
eXBlOjpXZWVrOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6VGltZToKKyAgICAgICAgY2FzZSBJ
bnB1dFR5cGU6OlNlbGVjdDoKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICAgICAg
Y2FzZSBJbnB1dFR5cGU6OkNvbG9yOgorI2VuZGlmCisgICAgICAgICAgICBbX3RyYWl0cyBzZXRL
ZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICBjYXNlIElucHV0TW9kZTo6VGV4dDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5
Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgSW5wdXRNb2RlOjpUZWxlcGhvbmU6CiAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlw
ZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1
dFR5cGU6OlVSTDoKKyAgICBjYXNlIElucHV0TW9kZTo6VXJsOgogICAgICAgICBbX3RyYWl0cyBz
ZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVVUkxdOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dE1vZGU6OkVtYWlsOgogICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgorICAgIGNhc2UgSW5w
dXRNb2RlOjpOdW1lcmljOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXli
b2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb25dOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IElucHV0VHlwZTo6TnVtYmVyUGFkOgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6
VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOworICAgIGNhc2UgSW5wdXRNb2RlOjpEZWNpbWFsOgor
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWNpbWFsUGFk
XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dE1vZGU6OlNlYXJjaDoKKyAgICAgICAg
W190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlV2ViU2VhcmNoXTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBl
OlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CiAgICAgfQogCiAgICAgW190cmFpdHMgc2V0VGV4dENv
bnRlbnRUeXBlOmNvbnRlbnRUeXBlRnJvbUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uYXV0b2ZpbGxGaWVsZE5hbWUpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMjYxODZmYjk4NzBlMTdlNDUwNTZiY2Ew
MzkyYmFhZjQ4NWJmZmY2MS4uN2JmYTlhYTc4MjUzYTU5ZWY4YWQyY2IwNGJkOGE4YzExNTI1ZWVi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KQEAgLTg0LDggKzg0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQYXJzZXJJ
ZGlvbXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFNlbGVjdEVsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSFRNTFRleHRBcmVhRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0lucHV0
TW9kZU5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5oPgpAQCAtMjI5Nyw2ICsyMjk5LDI3IEBAIHN0YXRpYyBJbnRSZWN0IGVs
ZW1lbnRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKGNvbnN0IE5vZGUmIG5vZGUsIGNvbnN0IEZy
YW1lJiBmCiAgICAgcmV0dXJuIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhyZW5kZXJlci0+YWJz
b2x1dGVCb3VuZGluZ0JveFJlY3QoKSk7CiB9CiAKK3N0YXRpYyBJbnB1dE1vZGUgaW5wdXRNb2Rl
Rm9yQXNzaXN0ZWROb2RlKGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnB1dE1vZGUgPSBkb3duY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4obm9k
ZSkuaW5wdXRNb2RlKCk7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dGV4
dCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZXh0OworICAgIGlmIChpbnB1dE1vZGUg
PT0gSW5wdXRNb2RlTmFtZXM6OnRlbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZWxl
cGhvbmU7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dXJsKCkpCisgICAg
ICAgIHJldHVybiBJbnB1dE1vZGU6OlVybDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9k
ZU5hbWVzOjplbWFpbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpFbWFpbDsKKyAgICBp
ZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjpudW1lcmljKCkpCisgICAgICAgIHJldHVy
biBJbnB1dE1vZGU6Ok51bWVyaWM7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1l
czo6ZGVjaW1hbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpEZWNpbWFsOworICAgIGlm
IChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6OnNlYXJjaCgpKQorICAgICAgICByZXR1cm4g
SW5wdXRNb2RlOjpTZWFyY2g7CisKKyAgICByZXR1cm4gSW5wdXRNb2RlOjpBdXRvOworfQorCiB2
b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uJiBpbmZvcm1hdGlvbikKIHsKICAgICBsYXlvdXRJZk5lZWRlZCgpOwpAQCAtMjQwMiw2
ICsyNDI1LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgIGluZm9ybWF0aW9uLnZh
bHVlID0gZWxlbWVudC52YWx1ZSgpOwogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxk
TmFtZSA9IFdlYkNvcmU6OnRvQXV0b2ZpbGxGaWVsZE5hbWUoZWxlbWVudC5hdXRvZmlsbERhdGEo
KS5maWVsZE5hbWUpOwogICAgICAgICBpbmZvcm1hdGlvbi5wbGFjZWhvbGRlciA9IGVsZW1lbnQu
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnBsYWNlaG9sZGVyQXR0
cik7CisgICAgICAgIGluZm9ybWF0aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckFzc2lzdGVk
Tm9kZShlbGVtZW50KTsKICAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fz
c2lzdGVkTm9kZSkpIHsKICAgICAgICAgSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCA9IGRvd25j
YXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSk7CiAgICAgICAgIEhUTUxGb3Jt
RWxlbWVudCogZm9ybSA9IGVsZW1lbnQuZm9ybSgpOwpAQCAtMjQ1OSw2ICsyNDgzLDcgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgIH0KICNlbmRpZgogCisgICAgICAgIGluZm9ybWF0
aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckFzc2lzdGVkTm9kZShlbGVtZW50KTsKICAgICAg
ICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9IGVsZW1lbnQuaXNSZWFkT25seSgpOwogICAgICAg
ICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVsZW1lbnQudmFsdWUoKTsKICAgICAgICAgaW5mb3JtYXRp
b24udmFsdWVBc051bWJlciA9IGVsZW1lbnQudmFsdWVBc051bWJlcigpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU3ZGE4YmY4ZDcxZjZiZDRm
YjYzZGRhOWM1NWViNjRiOTk2ZGFiOTQuLmQ5NmVhMzc4YjQ4ODZmYzgwMjA3M2QyOTZkOTA5YjMx
MzFkY2MzNWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wOC0yMSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRo
aUBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIHRoZSBpbnB1dG1v
ZGUgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODM2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBhbiBBUEkgdGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgY29ycmVjdCBVSUtleWJv
YXJkVHlwZSBpcyBzZXQgZGVwZW5kaW5nIG9uCisgICAgICAgIHRoZSB0eXBlLCBpbnB1dG1vZGUs
IGFuZCBwYXR0ZXJuIHNwZWNpZmllZCBmb3IgYW4gaW5wdXQgZmllbGQuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW06CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2lvcy9VSUtp
dFNQSS5oOgorCiAyMDE4LTA4LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVHJhbnNsYXRlIFdlYktpdC5MaW1pdFRpdGxlU2l6ZSBBUEkg
dGVzdCBpbnRvIE9iakMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbQppbmRleCAxZWIyN2Q4ZWFlODYzYTNjZjNkNDQ3Yjkw
NTNmYzNkZGIzMWI3MmIzLi5lYjgxNDA3OGM3ZmI1NDNlYWVjYjM0YjcyMjM3Zjc3MDVhOGU0NzNm
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0
VGVzdHNJT1MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9hcmRJ
bnB1dFRlc3RzSU9TLm1tCkBAIC0xNjMsNiArMTYzLDgzIEBAIFRFU1QoS2V5Ym9hcmRJbnB1dFRl
c3RzLCBSYW5nZWRTZWxlY3Rpb25SZWN0QWZ0ZXJSZXN0b3JpbmdGaXJzdFJlc3BvbmRlcikKICAg
ICBbd2ViVmlldyB3YWl0Rm9yU2VsZWN0aW9uVmlld1JlY3RzVG9CZWNvbWU6ZXhwZWN0ZWRTZWxl
Y3Rpb25SZWN0c107CiB9CiAKK1RFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBLZXlib2FyZFR5cGVG
b3JJbnB1dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1
dG8gaW5wdXREZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0SW5wdXREZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOworCisgICAgW2lucHV0RGVsZWdhdGUgc2V0Rm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xp
Y3lIYW5kbGVyOlsmXSAoV0tXZWJWaWV3ICosIGlkIDxfV0tGb2N1c2VkRWxlbWVudEluZm8+KSAt
PiBfV0tGb2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeSB7CisgICAgICAgIHJldHVybiBfV0tG
b2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeUFsbG93OworICAgIH1dOworICAgIFt3ZWJWaWV3
IF9zZXRJbnB1dERlbGVnYXRlOmlucHV0RGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IHN5
bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxpbnB1dCBpZD0naW5wdXQnPiJdOworCisgICAg
YXV0byBydW5UZXN0ID0gXihOU1N0cmluZyAqaW5wdXRUeXBlLCBOU1N0cmluZyAqaW5wdXRNb2Rl
LCBOU1N0cmluZyAqcGF0dGVybiwgVUlLZXlib2FyZFR5cGUgZXhwZWN0ZWRLZXlib2FyZFR5cGUp
IHsKKyAgICAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImlucHV0
LmJsdXIoKSJdOworICAgICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiaW5wdXQudHlwZSA9ICclQCc7IGlucHV0Lmlu
cHV0TW9kZSA9ICclQCc7IGlucHV0LnBhdHRlcm4gPSAnJUAnIiwgaW5wdXRUeXBlLCBpbnB1dE1v
ZGUsIHBhdHRlcm5dXTsKKyAgICAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpAImlucHV0LmZvY3VzKCkiXTsKKworICAgICAgICBVSVZpZXc8VUlUZXh0SW5wdXRQcml2
YXRlPiAqdGV4dElucHV0ID0gKFVJVmlldzxVSVRleHRJbnB1dFByaXZhdGU+ICopW3dlYlZpZXcg
dGV4dElucHV0Q29udGVudFZpZXddOworCisgICAgICAgIFVJS2V5Ym9hcmRUeXBlIGtleWJvYXJk
VHlwZSA9IFt0ZXh0SW5wdXQgdGV4dElucHV0VHJhaXRzXS5rZXlib2FyZFR5cGU7CisgICAgICAg
IGJvb2wgc3VjY2VzcyA9ICBrZXlib2FyZFR5cGUgPT0gZXhwZWN0ZWRLZXlib2FyZFR5cGU7Cisg
ICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIE5TTG9nKEAiRGlzcGxheWVkICVsaSBm
b3IgPGlucHV0IHR5cGU9JyVAJyBpbnB1dG1vZGU9JyVAJyBwYXR0ZXJuPSclQCc+LiBFeHBlY3Rl
ZCAlbGkuIiwgKGxvbmcpa2V5Ym9hcmRUeXBlLCBpbnB1dFR5cGUsIGlucHV0TW9kZSwgcGF0dGVy
biwgKGxvbmcpZXhwZWN0ZWRLZXlib2FyZFR5cGUpOworCisgICAgICAgIHJldHVybiBzdWNjZXNz
OworICAgIH07CisKKyAgICBOU0FycmF5ICppbnB1dE1vZGVzID0gQFsgQCIiLCBAInRleHQiLCBA
InRlbCIsIEAidXJsIiwgQCJlbWFpbCIsIEAibnVtZXJpYyIsIEAiZGVjaW1hbCIsIEAic2VhcmNo
IiBdOworICAgIE5TRGljdGlvbmFyeSAqZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJbnB1dE1vZGUg
PSBAeworICAgICAgICBAInRleHQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAgICAg
IEAidGVsIjogQChVSUtleWJvYXJkVHlwZVBob25lUGFkKSwKKyAgICAgICAgQCJ1cmwiOiBAKFVJ
S2V5Ym9hcmRUeXBlVVJMKSwKKyAgICAgICAgQCJlbWFpbCI6IEAoVUlLZXlib2FyZFR5cGVFbWFp
bEFkZHJlc3MpLAorICAgICAgICBAIm51bWVyaWMiOiBAKFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0Fu
ZFB1bmN0dWF0aW9uKSwKKyAgICAgICAgQCJkZWNpbWFsIjogQChVSUtleWJvYXJkVHlwZURlY2lt
YWxQYWQpLAorICAgICAgICBAInNlYXJjaCI6IEAoVUlLZXlib2FyZFR5cGVXZWJTZWFyY2gpCisg
ICAgfTsKKworICAgIE5TQXJyYXkgKmlucHV0VHlwZXNXaXRoS2V5Ym9hcmQgPSBAWyBAInRleHQi
LCBAInBhc3N3b3JkIiwgQCJzZWFyY2giLCBAImVtYWlsIiwgQCJ0ZWwiLCBAIm51bWJlciIsIEAi
dXJsIiBdOworICAgIE5TRGljdGlvbmFyeSAqZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJbnB1dFR5
cGUgPSBAeworICAgICAgICBAInRleHQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAg
ICAgIEAicGFzc3dvcmQiOiBAKFVJS2V5Ym9hcmRUeXBlRGVmYXVsdCksCisgICAgICAgIEAic2Vh
cmNoIjogQChVSUtleWJvYXJkVHlwZURlZmF1bHQpLAorICAgICAgICBAImVtYWlsIjogQChVSUtl
eWJvYXJkVHlwZUVtYWlsQWRkcmVzcyksCisgICAgICAgIEAidGVsIjogQChVSUtleWJvYXJkVHlw
ZVBob25lUGFkKSwKKyAgICAgICAgQCJudW1iZXIiOiBAKFVJS2V5Ym9hcmRUeXBlTnVtYmVyc0Fu
ZFB1bmN0dWF0aW9uKSwKKyAgICAgICAgQCJ1cmwiOiBAKFVJS2V5Ym9hcmRUeXBlVVJMKQorICAg
IH07CisKKyAgICBOU0FycmF5ICppbnB1dFBhdHRlcm5zQWZmZWN0aW5nS2V5Ym9hcmQgPSBAWyBA
IiIsIEAiXFxcXGQqIiwgQCJbMC05XSoiIF07CisgICAgTlNEaWN0aW9uYXJ5ICpleHBlY3RlZEtl
eWJvYXJkVHlwZUZvclBhdHRlcm4gPSBAeworICAgICAgICBAIlxcXFxkKiI6IEAoVUlLZXlib2Fy
ZFR5cGVOdW1iZXJQYWQpLAorICAgICAgICBAIlswLTldKiI6IEAoVUlLZXlib2FyZFR5cGVOdW1i
ZXJQYWQpCisgICAgfTsKKworICAgIGZvciAoTlNTdHJpbmcgKmlucHV0VHlwZSBpbiBpbnB1dFR5
cGVzV2l0aEtleWJvYXJkKSB7CisgICAgICAgIGZvciAoTlNTdHJpbmcgKmlucHV0TW9kZSBpbiBp
bnB1dE1vZGVzKSB7CisgICAgICAgICAgICBmb3IgKE5TU3RyaW5nICpwYXR0ZXJuIGluIGlucHV0
UGF0dGVybnNBZmZlY3RpbmdLZXlib2FyZCkgeworICAgICAgICAgICAgICAgIE5TTnVtYmVyICpr
ZXlib2FyZFR5cGU7CisgICAgICAgICAgICAgICAgaWYgKGlucHV0TW9kZS5sZW5ndGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gaW5wdXRtb2RlIGhhcyB0aGUgaGlnaGVzdCBwcmlvcml0eS4K
KyAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmRUeXBlID0gZXhwZWN0ZWRLZXlib2FyZFR5cGVG
b3JJbnB1dE1vZGVbaW5wdXRNb2RlXTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICBpZiAocGF0dGVybi5sZW5ndGggJiYgKFtpbnB1dFR5cGUgaXNFcXVhbDog
QCJ0ZXh0Il0gfHwgW2lucHV0VHlwZSBpc0VxdWFsOiBAIm51bWJlciJdKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciB0ZXh0IGFuZCBudW1iZXIgaW5wdXRz
IHRoYXQgaGF2ZSBhIG51bWVyaWMgcGF0dGVybi4KKyAgICAgICAgICAgICAgICAgICAgICAgIGtl
eWJvYXJkVHlwZSA9IGV4cGVjdGVkS2V5Ym9hcmRUeXBlRm9yUGF0dGVybltwYXR0ZXJuXTsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90
aGVyd2lzZSwgdGhlIGlucHV0IHR5cGUgZGV0ZXJtaW5lcyB0aGUga2V5Ym9hcmQgdHlwZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGtleWJvYXJkVHlwZSA9IGV4cGVjdGVkS2V5Ym9hcmRUeXBl
Rm9ySW5wdXRUeXBlW2lucHV0VHlwZV07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBFWFBFQ1RfVFJVRShydW5UZXN0KGlucHV0VHlw
ZSwgaW5wdXRNb2RlLCBwYXR0ZXJuLCAoVUlLZXlib2FyZFR5cGUpa2V5Ym9hcmRUeXBlLmludFZh
bHVlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JN
KElPUykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmggYi9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCmluZGV4IDhlY2YzMDVlZmJlNzcxNDM4
ZDAyNGY3NzBlOTVkZWVjNTBkMWYxZDIuLjUyMjg4MDQwNzgwM2FmYzdmMDRiMjJlM2ZjNTAwNmUx
YzJjYTEzYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaApAQCAtNTksNiArNTksOSBA
QCBXVEZfRVhURVJOX0NfRU5ECiAKIEBlbmQKIAorQGludGVyZmFjZSBVSVRleHRJbnB1dFRyYWl0
cyA6IE5TT2JqZWN0IDxVSVRleHRJbnB1dFRyYWl0cz4KK0BlbmQKKwogQHByb3RvY29sIFVJRHJh
Z0ludGVyYWN0aW9uRGVsZWdhdGVfRm9yV2ViS2l0T25seSA8VUlEcmFnSW50ZXJhY3Rpb25EZWxl
Z2F0ZT4KIEBvcHRpb25hbAogLSAodm9pZClfZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFj
dGlvbiAqKWludGVyYWN0aW9uIHByZXBhcmVGb3JTZXNzaW9uOihpZDxVSURyYWdTZXNzaW9uPilz
ZXNzaW9uIGNvbXBsZXRpb246KHZvaWQoXikodm9pZCkpY29tcGxldGlvbjsKQEAgLTcxLDYgKzc0
LDcgQEAgV1RGX0VYVEVSTl9DX0VORAogQGNsYXNzIFdlYkV2ZW50OwogCiBAcHJvdG9jb2wgVUlU
ZXh0SW5wdXRQcml2YXRlIDxVSVRleHRJbnB1dCwgVUlUZXh0SW5wdXRUcmFpdHNfUHJpdmF0ZT4K
Ky0gKFVJVGV4dElucHV0VHJhaXRzICopdGV4dElucHV0VHJhaXRzOwogLSAodm9pZClpbnNlcnRU
ZXh0U3VnZ2VzdGlvbjooVUlUZXh0U3VnZ2VzdGlvbiAqKXRleHRTdWdnZXN0aW9uOwogLSAodm9p
ZCloYW5kbGVLZXlXZWJFdmVudDooV2ViRXZlbnQgKil0aGVFdmVudCB3aXRoQ29tcGxldGlvbkhh
bmRsZXI6KHZvaWQgKF4pKFdlYkV2ZW50ICosIEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyOwogQGVu
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGI1NGY4OWVjOWVjMTE2MDVjY2NhYWE1ZmUwMzViZDQwMGNiYTc2ZjcuLjY3Yzlj
NTk0MDI5Nzc3NjY5MWM0NzMxYjA3YjUyZjQ4MmE4OTFlMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxOC0wOC0yMSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2MjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRv
IHZlcmlmeSBiZWhhdmlvciB3aGVuIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIGlucHV0bW9kZSBh
dHRyaWJ1dGUuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1dGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1
dGUuaHRtbDogQWRkZWQuCisKIDIwMTgtMDgtMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1
a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBTdXBwb3J0ICJuYW1lIiBvcHRpb24gZm9yIGRl
ZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dG1vZGUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjJkYWVmMWRkNWZkZDg5
MDA4ZTc3M2MxZjgxMWNkY2YxOTIwZjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ0
IEBACitUZXN0IGlucHV0bW9kZSBhdHRyaWJ1dGUKKworCitNaXNzaW5nIHZhbHVlIGRlZmF1bHQ6
CitQQVNTIGlucHV0LmlucHV0TW9kZSBpcyAiIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIpIGlzIG51bGwKKworSW52YWxpZCB2YWx1ZSBkZWZhdWx0OgorUEFTUyBpbnB1dC5p
bnB1dE1vZGUgPSAiZm9vYmFyIjsgaW5wdXQuaW5wdXRNb2RlIGlzICIiCitQQVNTIGlucHV0Lmdl
dEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgImZvb2JhciIKK1BBU1MgaW5wdXQuc2V0QXR0cmli
dXRlKCJpbnB1dG1vZGUiLCAiYmF6Iik7IGlucHV0LmlucHV0TW9kZSBpcyAiIgorCitWYWxpZCB2
YWx1ZXM6CitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJ0ZXh0IjsgaW5wdXQuaW5wdXRNb2RlIGlz
ICJ0ZXh0IgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJ0ZXh0Igor
UEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJ0ZXh0Iik7IGlucHV0LmlucHV0
TW9kZSBpcyAidGV4dCIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gInRlbCI7IGlucHV0LmlucHV0
TW9kZSBpcyAidGVsIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJ0
ZWwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRlbCIpOyBpbnB1dC5p
bnB1dE1vZGUgaXMgInRlbCIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gInVybCI7IGlucHV0Lmlu
cHV0TW9kZSBpcyAidXJsIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlz
ICJ1cmwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInVybCIpOyBpbnB1
dC5pbnB1dE1vZGUgaXMgInVybCIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gImVtYWlsIjsgaW5w
dXQuaW5wdXRNb2RlIGlzICJlbWFpbCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1v
ZGUiKSBpcyAiZW1haWwiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImVt
YWlsIik7IGlucHV0LmlucHV0TW9kZSBpcyAiZW1haWwiCitQQVNTIGlucHV0LmlucHV0TW9kZSA9
ICJudW1lcmljIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJudW1lcmljIgorUEFTUyBpbnB1dC5nZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJudW1lcmljIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1
dGUoImlucHV0bW9kZSIsICJudW1lcmljIik7IGlucHV0LmlucHV0TW9kZSBpcyAibnVtZXJpYyIK
K1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gImRlY2ltYWwiOyBpbnB1dC5pbnB1dE1vZGUgaXMgImRl
Y2ltYWwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgImRlY2ltYWwi
CitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImRlY2ltYWwiKTsgaW5wdXQu
aW5wdXRNb2RlIGlzICJkZWNpbWFsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAic2VhcmNoIjsg
aW5wdXQuaW5wdXRNb2RlIGlzICJzZWFyY2giCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIikgaXMgInNlYXJjaCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUi
LCAic2VhcmNoIik7IGlucHV0LmlucHV0TW9kZSBpcyAic2VhcmNoIgorCitWYWxpZCBjYXNlLWlu
c2Vuc2l0aXZlIHZhbHVlczoKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gInRFeHQiOyBpbnB1dC5p
bnB1dE1vZGUgaXMgInRleHQiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikg
aXMgInRFeHQiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRFeHQiKTsg
aW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0IgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
bW9kZS1hdHRyaWJ1dGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGQ0MDhkY2ZlMGZkZmQ3MzAzYmVjYzU4
ZTFmNzUxZTNjMGNkNTZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8cD5UZXN0IGlucHV0bW9kZSBhdHRyaWJ1dGU8L3A+Cis8aW5w
dXQgaWQ9ImlucHV0Ij4KKzxkaXYgaWQ9Y29uc29sZT48L2Rpdj4KKzxzY3JpcHQ+CitkZWJ1Zygn
TWlzc2luZyB2YWx1ZSBkZWZhdWx0OicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZScsICci
IicpOworc2hvdWxkQmVOdWxsKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJyk7CisK
K2RlYnVnKCcnKTsKK2RlYnVnKCdJbnZhbGlkIHZhbHVlIGRlZmF1bHQ6Jyk7CitzaG91bGRCZSgn
aW5wdXQuaW5wdXRNb2RlID0gImZvb2JhciI7IGlucHV0LmlucHV0TW9kZScsICciIicpOworc2hv
dWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnImZvb2JhciInKTsKK3No
b3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJiYXoiKTsgaW5wdXQuaW5w
dXRNb2RlJywgJyIiJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdWYWxpZCB2YWx1ZXM6Jyk7Citz
aG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gInRleHQiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRl
eHQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidGV4
dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJ0ZXh0Iik7
IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUg
PSAidGVsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZWwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0
QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidGVsIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0
dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRlbCIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRlbCInKTsK
K3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidXJsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJ1
cmwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidXJs
IicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInVybCIpOyBp
bnB1dC5pbnB1dE1vZGUnLCAnInVybCInKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAi
ZW1haWwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnImVtYWlsIicpOworc2hvdWxkQmUoJ2lucHV0Lmdl
dEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnImVtYWlsIicpOworc2hvdWxkQmUoJ2lucHV0LnNl
dEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImVtYWlsIik7IGlucHV0LmlucHV0TW9kZScsICciZW1h
aWwiJyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0gIm51bWVyaWMiOyBpbnB1dC5pbnB1
dE1vZGUnLCAnIm51bWVyaWMiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1
dG1vZGUiKScsICcibnVtZXJpYyInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIsICJudW1lcmljIik7IGlucHV0LmlucHV0TW9kZScsICcibnVtZXJpYyInKTsKK3No
b3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAiZGVjaW1hbCI7IGlucHV0LmlucHV0TW9kZScsICci
ZGVjaW1hbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywg
JyJkZWNpbWFsIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwg
ImRlY2ltYWwiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJkZWNpbWFsIicpOworc2hvdWxkQmUoJ2lu
cHV0LmlucHV0TW9kZSA9ICJzZWFyY2giOyBpbnB1dC5pbnB1dE1vZGUnLCAnInNlYXJjaCInKTsK
K3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJzZWFyY2giJyk7
CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAic2VhcmNoIik7IGlu
cHV0LmlucHV0TW9kZScsICcic2VhcmNoIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnVmFsaWQg
Y2FzZS1pbnNlbnNpdGl2ZSB2YWx1ZXM6Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlID0g
InRFeHQiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInRleHQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0
QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICcidEV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5zZXRB
dHRyaWJ1dGUoImlucHV0bW9kZSIsICJ0RXh0Iik7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCIn
KTsKKworZGVidWcoJycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347820</attachid>
            <date>2018-08-22 10:46:20 -0700</date>
            <delta_ts>2018-08-22 14:22:20 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-183621-20180822104618.patch</filename>
            <type>text/plain</type>
            <size>36456</size>
            <attacher name="Aditya Keerthi">pxlcoder</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThkYjVkMDg1YTU3M2E2
YWM5ZWZmZDhkZDI1ZTNmOWNkNGY2M2ViNy4uNmI5NDQzYTRkODhhY2ZkYmUwZTg2YjZjYjk3ZGYx
ZWYyMDg2MzhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA4LTIyICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3Vw
cG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgQWRkZWQgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgdG8gdGhl
IEhUTUxJbnB1dEVsZW1lbnQgYW5kIEhUTUxUZXh0QXJlYUVsZW1lbnQgSURMCisgICAgICAgIGZp
bGVzLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciB0aGUgYXR0cmlidXRlIGFyZSBzcGVjaWZpZWQg
aW4gSW5wdXRNb2RlTmFtZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1dG1vZGUt
YXR0cmlidXRlLmh0bWwKKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudDo6aW5wdXRNb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRJbnB1dE1vZGUpOgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0lucHV0TW9kZU5hbWVz
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6dGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnB1dE1vZGVOYW1lczo6dGVsKToKKyAgICAgICAgKFdlYkNvcmU6
OklucHV0TW9kZU5hbWVzOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRNb2RlTmFtZXM6
OmVtYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5hbWVzOjpudW1lcmljKToKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0TW9kZU5hbWVzOjpkZWNpbWFsKToKKyAgICAgICAgKFdlYkNv
cmU6OklucHV0TW9kZU5hbWVzOjpzZWFyY2gpOgorICAgICAgICAqIGh0bWwvSW5wdXRNb2RlTmFt
ZXMuaDogQWRkZWQuCisKIDIwMTgtMDgtMjIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBGZXRjaDogU3RvcCBjaGVja2luZyBSZXF1ZXN0LmludGVncml0eSdzIHZhbHVl
IGluIG5vLWNvcnMgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3Mjg2MDYyMGE0NzJhOTA2MTg1ZWQ4ZGQyMjI5
ZTRlOTliN2M3NjgwLi45OGFlMTUzMDEyMjgzYWE4MDgxOGFiZDU0ZjI1MGMzMzQ0MWY1MTJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA4LTIyICBBZGl0eWEgS2VlcnRoaSAgPGFr
ZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGlu
cHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAg
ICAgICAgVGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoaWNoIGlucHV0IG1lY2hh
bmlzbSB3b3VsZCBiZSBtb3N0IGhlbHBmdWwgZm9yCisgICAgICAgIHVzZXJzIGVudGVyaW5nIGNv
bnRlbnQgaW4gdGV4dGZpZWxkIGlucHV0cyBhbmQgdGV4dGFyZWFzLiBUaGlzIHBhdGNoIGFkZHMg
c3VwcG9ydAorICAgICAgICBmb3Igc2V2ZW4gdmFsdWVzOiB0ZXh0LCB0ZWwsIHVybCwgZW1haWws
IG51bWVyaWMsIGRlY2ltYWwgYW5kIHNlYXJjaC4KKworICAgICAgICBPbiBpT1MsIHdlIGNhbiBz
cGVjaWZ5IFVJS2V5Ym9hcmRUeXBlcyB0aGF0IGJlc3QgbWF0Y2ggdGhlIHN1cHBsaWVkIGlucHV0
bW9kZS4KKyAgICAgICAgLSB0ZXh0OiBVSUtleWJvYXJkVHlwZURlZmF1bHQKKyAgICAgICAgLSB0
ZWw6IFVJS2V5Ym9hcmRUeXBlUGhvbmVQYWQKKyAgICAgICAgLSB1cmw6IFVJS2V5Ym9hcmRUeXBl
VVJMCisgICAgICAgIC0gZW1haWw6IFVJS2V5Ym9hcmRUeXBlRW1haWxBZGRyZXNzCisgICAgICAg
IC0gbnVtZXJpYzogVUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb24KKyAgICAgICAg
LSBkZWNpbWFsOiBVSUtleWJvYXJkVHlwZURlY2ltYWxQYWQKKyAgICAgICAgLSBzZWFyY2g6IFVJ
S2V5Ym9hcmRUeXBlV2ViU2VhcmNoCisKKyAgICAgICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgaW5w
dXRtb2RlIGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcK
KyAgICAgICAgb3VyIGV4aXN0aW5nIGhldXJpc3RpYyB0byBkZXRlcm1pbmUgd2hhdCBraW5kIG9m
IGtleWJvYXJkIHRvIHNob3cgZm9yIHRleHRmaWVsZHMuCisKKyAgICAgICAgKiBTaGFyZWQvQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6QXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb246OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmg6IEFkZGVkIGlucHV0TW9kZSBmaWVsZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0
ZXh0SW5wdXRUcmFpdHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OmlucHV0TW9kZUZvckVsZW1lbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbik6CisKIDIwMTgt
MDgtMjIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
dXA6IEFkZCB0eXBlIGFsaWFzIGZvciBzcGVsbCBkb2N1bWVudCB0YWcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggZjBlZjc4NjEwZGQwNDZiMzY3MjcyYzA1YWFjNjc0NDU4NWM5MzhhMi4uOGRlOGUxNzZmYzRj
NDI1MGYyMWVhZjBiYzZlZGZjNDVmYjc4ZTE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEwNTYsNiAr
MTA1Niw3IEBAIGh0bWwvSW1hZ2VCaXRtYXAuY3BwCiBodG1sL0ltYWdlRGF0YS5jcHAKIGh0bWwv
SW1hZ2VEb2N1bWVudC5jcHAKIGh0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCitodG1sL0lucHV0TW9k
ZU5hbWVzLmNwcAogaHRtbC9JbnB1dFR5cGUuY3BwCiBodG1sL0lucHV0VHlwZU5hbWVzLmNwcAog
aHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFkNjRiMzJmNGExMzIwODIzYTU4NjdkMGE1
ZjFkZDQxYTRiOGU2YjMuLmIyZmI1Mjg0MzQ1MjRiZWM4NDZiODMzNmM2NDJjODU3MzBiN2JjNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTQ3OTAsNiArNDc5MCw3IEBACiAJCUU1MTc2NzAzMjBCODhDMTQwMEQ0MTE2NyAvKiBE
YXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTUxNzY3MDIyMEI4OEMxNDAwRDQxMTY3IC8qIERhdGFMaXN0
U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTUyQ0Y1NEQyMEEyNjhBQzAwREFEQTI3IC8qIERhdGFMaXN0U3Vn
Z2VzdGlvbnNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUyQ0Y1NEUyMEEz
NUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU1MkVGREY0MjExMjg3NUEwMEFE
MjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTUyRUZERjIyMTEyODc1QTAwQUQyODJBIC8qIElucHV0TW9kZU5hbWVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTU4
QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTU4QjQ1QjgyMEFEMDdERDAw
OTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovOyB9OwogCQlFNThCNDVCQjIwQUQw
N0REMDA5OTEwMjUgLyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1OEI0NUI5MjBBRDA3REQwMDk5MTAyNSAv
KiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovOyB9OwogCQlFNTlERDRCODIxMDk4Mjg3MDAz
QzhCNDcgLyogTGlzdEJ1dHRvbkFycm93LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTU5REQ0QjcyMTA5ODI4NTAwM0M4QjQ3IC8qIExpc3RCdXR0
b25BcnJvdy5wbmcgKi87IH07CkBAIC0xNDQzNCw2ICsxNDQzNSw4IEBACiAJCUU1MjZBRjNFMTcy
N0Y4RjIwMEU0MTc4MSAvKiBQZXJmb3JtYW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU1MkNGNTRDMjBBMjY4QUMwMERBREEyNyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25zQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUyQ0Y1NEUyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0
U3VnZ2VzdGlvblBpY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdFN1Z2dlc3Rpb25QaWNr
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTUyRUZERjIyMTEyODc1QTAwQUQy
ODJBIC8qIElucHV0TW9kZU5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElucHV0TW9kZU5hbWVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU1MkVGREYzMjExMjg3NUEwMEFEMjgyQSAv
KiBJbnB1dE1vZGVOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnB1dE1vZGVOYW1lcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1NUY0OTc5MTUxQjg4ODAwMEJCNjdE
QiAvKiBMZW5ndGhGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTGVuZ3RoRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTU4QjQ1QjgyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTU4QjQ1QjkyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA2MjUsNiArMjA2MjgsOCBAQAogCQkJCTk3MjA1
QUIyMTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFnZURvY3VtZW50LmggKi8sCiAJCQkJRjU1QjNEOEQx
MjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4RTEy
NTFGMTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1dFR5cGUuaCAqLywKKwkJCQlFNTJFRkRGMzIxMTI4
NzVBMDBBRDI4MkEgLyogSW5wdXRNb2RlTmFtZXMuY3BwICovLAorCQkJCUU1MkVGREYyMjExMjg3
NUEwMEFEMjgyQSAvKiBJbnB1dE1vZGVOYW1lcy5oICovLAogCQkJCTM3RTM1MjRBMTI0NTBDNTIw
MEJBRjVEOSAvKiBJbnB1dFR5cGUuY3BwICovLAogCQkJCTM3RTM1MjRDMTI0NTBDNjYwMEJBRjVE
OSAvKiBJbnB1dFR5cGUuaCAqLywKIAkJCQlDMzQ4NjEyMTE1RkRFMjFFMDA3QTFDQzkgLyogSW5w
dXRUeXBlTmFtZXMuY3BwICovLApAQCAtMjgyNTYsNiArMjgyNjEsNyBAQAogCQkJCTFDMDEwNzAx
MTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURBMTlCREYwMDNFMjNCNSAvKiBJbnB1dEV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFNTJFRkRGNDIxMTI4NzVBMDBBRDI4MkEgLyogSW5wdXRNb2Rl
TmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RTM1MjREMTI0NTBDNjYwMEJBRjVEOSAvKiBJ
bnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzNDg2MTI0MTVGREUyMUUwMDdBMUNDOSAv
KiBJbnB1dFR5cGVOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERUEwOTlFNjQ5MjAw
NTZFNTgxIC8qIEluc2VydEludG9UZXh0Tm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA2ZTY2NTA0N2VkNTg1
NzQ2MTZlOWJkYzZmMWM0Y2ExOTE3ZjRlMjI0Li43OTRiNzc0ZTJlNDZkM2Y2NWU3NjU5OGZiNGE2
MDlhMDNiOGQ0YjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgpAQCAtMTQ0LDYgKzE0NCw3IEBAIGh0dHBfZXF1aXYKIGlkCiBpbmNyZW1lbnRhbAogaW5kZXRl
cm1pbmF0ZQoraW5wdXRtb2RlCiBpbnRlZ3JpdHkKIGlzCiBpc21hcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggZTk2NTgyOTRmMTAxYmFkZDRiNzQ0MTA1ZTFk
MWQyZGQ2ZTI5YTE1MC4uYjA2ZjljNDc1NmY3ZDUxNTUzMzA3MzQ0NzQwOWY3YjdiZWZmNTJhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCkBAIC00Miw2ICs0Miw3
IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZm9ybVRhcmdldDsKICAgICBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gaW5k
ZXRlcm1pbmF0ZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlucHV0TW9kZTsKICAgICBbQ29u
ZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVtZW50
IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbWF4OwogICAgIGF0dHJp
YnV0ZSBsb25nIG1pbkxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaWRsCmluZGV4IGI4NTQwMTY1Mjc1ZTFjZDM3NzQ1ODNhNGI3YzdhNjdkODFiMjJiOTMu
LmJkYTM2MmFiZjNlOWIzOTk3ODNkNGNlMzg5NTQ1ZTI2NmRmZjgyYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApAQCAtNTksNCArNTksNSBAQCBpbnRl
cmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICB2b2lkIHNldFNl
bGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGVuZCA9
IDAsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwogCiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBhdXRvY29tcGxldGU7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyBpbnB1dE1vZGU7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmNwcAppbmRleCA5NGVhYjc2NmUyNjc4NTk5OWFkZjFkMjAwODQxZGQ4OGI5ZWY2Y2JiLi4wMzMy
NjhhMzllM2Q2NmJmMGYwMmNlOWM2ZWZjNjRhN2ZjN2JlNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMzksNiArMzks
NyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiSW5wdXRNb2RlTmFt
ZXMuaCIKICNpbmNsdWRlICJMYXlvdXREaXNhbGxvd2VkU2NvcGUuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgpAQCAtNjc0LDYgKzY3NSwzMiBAQCB2
b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzaG93UGxhY2Vob2xkZXJJZk5lY2Vzc2Fy
eSgpCiB9CiAjZW5kaWYKIAorU3RyaW5nIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjppbnB1
dE1vZGUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRNb2RlID0gYXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihpbnB1dG1vZGVBdHRyKTsKKyAgICBpZiAoZXF1
YWxJZ25vcmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9kZU5hbWVzOjp0ZXh0KCkpKQor
ICAgICAgICByZXR1cm4gSW5wdXRNb2RlTmFtZXM6OnRleHQoKTsKKyAgICBpZiAoZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShpbnB1dE1vZGUsIElucHV0TW9kZU5hbWVzOjp0ZWwoKSkpCisgICAgICAg
IHJldHVybiBJbnB1dE1vZGVOYW1lczo6dGVsKCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJ
SUNhc2UoaW5wdXRNb2RlLCBJbnB1dE1vZGVOYW1lczo6dXJsKCkpKQorICAgICAgICByZXR1cm4g
SW5wdXRNb2RlTmFtZXM6OnVybCgpOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlu
cHV0TW9kZSwgSW5wdXRNb2RlTmFtZXM6OmVtYWlsKCkpKQorICAgICAgICByZXR1cm4gSW5wdXRN
b2RlTmFtZXM6OmVtYWlsKCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRN
b2RlLCBJbnB1dE1vZGVOYW1lczo6bnVtZXJpYygpKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9k
ZU5hbWVzOjpudW1lcmljKCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRN
b2RlLCBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgpKSkKKyAgICAgICAgcmV0dXJuIElucHV0TW9k
ZU5hbWVzOjpkZWNpbWFsKCk7CisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaW5wdXRN
b2RlLCBJbnB1dE1vZGVOYW1lczo6c2VhcmNoKCkpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2Rl
TmFtZXM6OnNlYXJjaCgpOworCisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK3ZvaWQg
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldElucHV0TW9kZShjb25zdCBTdHJpbmcmIHZh
bHVlKQoreworICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaW5wdXRtb2Rl
QXR0ciwgdmFsdWUpOworfQorCiBzdGF0aWMgdm9pZCBnZXROZXh0U29mdEJyZWFrKFJvb3RJbmxp
bmVCb3gqJiBsaW5lLCBOb2RlKiYgYnJlYWtOb2RlLCB1bnNpZ25lZCYgYnJlYWtPZmZzZXQpCiB7
CiAgICAgUm9vdElubGluZUJveCogbmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBjMzIwZjJmZTk5M2Q4MWE0MjNjYzU5OTM2
M2ZiM2IzM2QxY2MwNWZjLi43ZWFjMGI2YzE0NzgwNjJiOGVkNzBiOGExMzZiNGQ4NzRjMDc5MWFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5oCkBAIC05OCw2ICs5OCw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNo
b3dQbGFjZWhvbGRlcklmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBpbnB1dE1vZGUoKSBjb25zdDsKKyAgICB2b2lkIHNldElucHV0TW9kZShjb25zdCBT
dHJpbmcmKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCopOwogICAgIGJv
b2wgaXNQbGFjZWhvbGRlckVtcHR5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0TW9kZU5hbWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2Rl
TmFtZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzk4NzA3NzNmYTc0MWVhNmIwNjU0NzY4Mzg0MzE2ODFh
NTMxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5h
bWVzLmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIklucHV0TW9kZU5hbWVzLmgiCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgSW5wdXRNb2RlTmFt
ZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIHRleHQoKQoreworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInRleHQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5n
JiB0ZWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUo
InRlbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBt
b2RlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIHVybCgpCit7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgidXJsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgZW1haWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1v
ZGUoImVtYWlsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0
dXJuIG1vZGU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgbnVtZXJpYygpCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbW9kZSgibnVtZXJpYyIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBtb2RlOworfQorCitjb25z
dCBBdG9taWNTdHJpbmcmIGRlY2ltYWwoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxB
dG9taWNTdHJpbmc+IG1vZGUoImRlY2ltYWwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKKyAgICByZXR1cm4gbW9kZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBzZWFy
Y2goKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG1vZGUoInNl
YXJjaCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBt
b2RlOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnB1dE1vZGVOYW1lcworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0TW9kZU5hbWVzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Fh
MjU5ZGMzODU5YTM1ZmQ3MmFmMWIwMzk0ZDllYjIyMjUyM2U2MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRNb2RlTmFtZXMuaApAQCAtMCwwICsxLDQ0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgSW5wdXRNb2RlTmFtZXMg
eworCitXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHRleHQoKTsKK1dFQkNPUkVf
RVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgdGVsKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBB
dG9taWNTdHJpbmcmIHVybCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3RyaW5nJiBl
bWFpbCgpOworV0VCQ09SRV9FWFBPUlQgY29uc3QgQXRvbWljU3RyaW5nJiBudW1lcmljKCk7CitX
RUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIGRlY2ltYWwoKTsKK1dFQkNPUkVfRVhQ
T1JUIGNvbnN0IEF0b21pY1N0cmluZyYgc2VhcmNoKCk7CisKK30gLy8gbmFtZXNwYWNlIElucHV0
TW9kZU5hbWVzCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcAppbmRleCA3OWFkYjY4MGZlNDcxMjFk
MTI5ZjkyNDFkN2U2NmFmYjJhYmVkMGQ1Li4yMTA5NzNiZTVhOTljOTNlN2UzYzI5NzBjZDY5ZTI3
NTg3NGI1ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24uY3BwCkBAIC03Nyw2ICs3Nyw3IEBAIHZvaWQgQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBp
c1JUTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oYXV0b2NhcGl0YWxpemVUeXBlKTsKICAgICBl
bmNvZGVyLmVuY29kZUVudW0oZWxlbWVudFR5cGUpOworICAgIGVuY29kZXIuZW5jb2RlRW51bShp
bnB1dE1vZGUpOwogICAgIGVuY29kZXIgPDwgZm9ybUFjdGlvbjsKICAgICBlbmNvZGVyIDw8IHNl
bGVjdE9wdGlvbnM7CiAgICAgZW5jb2RlciA8PCBzZWxlY3RlZEluZGV4OwpAQCAtMTQ1LDYgKzE0
Niw5IEBAIGJvb2wgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIEFzc2lzdGVkTm9kZUluZm9ybWF0CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVu
dW0ocmVzdWx0LmVsZW1lbnRUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmlucHV0TW9kZSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZvcm1BY3Rpb24pKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbi5oCmluZGV4IDFlN2FhYzc3YjAwODE5NGQxOTQxODQwNDExNmNlYTI0YTFj
ZTMxZmQuLjBiYzhmZDM1MzdiMDNhOWViMjc3NGFlNmJjNjNkYTgxODNmMWJjYjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaApAQCAtNTksNiAr
NTksMTcgQEAgZW51bSBjbGFzcyBJbnB1dFR5cGUgewogI2VuZGlmCiB9OwogCitlbnVtIGNsYXNz
IElucHV0TW9kZSA6IHVpbnQ4X3QgeworICAgIEF1dG8sCisgICAgVGV4dCwKKyAgICBUZWxlcGhv
bmUsCisgICAgVXJsLAorICAgIEVtYWlsLAorICAgIE51bWVyaWMsCisgICAgRGVjaW1hbCwKKyAg
ICBTZWFyY2gKK307CisKICNpZiBQTEFURk9STShJT1MpCiBzdHJ1Y3QgT3B0aW9uSXRlbSB7CiAg
ICAgT3B0aW9uSXRlbSgpIHsgfQpAQCAtMTEwLDYgKzEyMSw3IEBAIHN0cnVjdCBBc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpbnNpZGVGaXhlZFBvc2l0aW9uIHsgZmFsc2UgfTsK
ICAgICBBdXRvY2FwaXRhbGl6ZVR5cGUgYXV0b2NhcGl0YWxpemVUeXBlIHsgQXV0b2NhcGl0YWxp
emVUeXBlRGVmYXVsdCB9OwogICAgIElucHV0VHlwZSBlbGVtZW50VHlwZSB7IElucHV0VHlwZTo6
Tm9uZSB9OworICAgIElucHV0TW9kZSBpbnB1dE1vZGUgeyBJbnB1dE1vZGU6OkF1dG8gfTsKICAg
ICBTdHJpbmcgZm9ybUFjdGlvbjsKICAgICBWZWN0b3I8T3B0aW9uSXRlbT4gc2VsZWN0T3B0aW9u
czsKICAgICBpbnQgc2VsZWN0ZWRJbmRleCB7IC0xIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAwMDk2
MDQ5OGQxNTc4NjViNTYzZWM2YTMyNjRhYzQ5ZGUxZGFhMTZlLi5kNjhmOGI3ZWFjZmRlMDkyMTY5
YTlkZGUxYzAwZTViMWIxN2U3YjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTM1NDcsMjQgKzM1NDcs
NjQgQEAgc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29yZTo6
QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29y
cmVjdGlvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzQXV0b2NvcnJlY3QgPyBVSVRl
eHRBdXRvY29ycmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVOb107CiAg
ICAgfQogCi0gICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUp
IHsKLSAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CisgICAgc3dpdGNoIChfYXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uaW5wdXRNb2RlKSB7CisgICAgY2FzZSBJbnB1dE1vZGU6OkF1dG86CisgICAg
ICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7CisgICAg
ICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgICAgIFtfdHJhaXRzIHNldEtleWJv
YXJkVHlwZTpVSUtleWJvYXJkVHlwZVBob25lUGFkXTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9h
cmRUeXBlOlVJS2V5Ym9hcmRUeXBlVVJMXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIElucHV0VHlwZTo6RW1haWw6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5
cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXli
b2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb25dOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6CisgICAgICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpOb25lOgorICAgICAgICBj
YXNlIElucHV0VHlwZTo6Q29udGVudEVkaXRhYmxlOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6
VGV4dDoKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlBhc3N3b3JkOgorICAgICAgICBjYXNlIElu
cHV0VHlwZTo6VGV4dEFyZWE6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpTZWFyY2g6CisgICAg
ICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6RGF0ZVRp
bWU6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlVGltZUxvY2FsOgorICAgICAgICBjYXNl
IElucHV0VHlwZTo6TW9udGg6CisgICAgICAgIGNhc2UgSW5wdXRUeXBlOjpXZWVrOgorICAgICAg
ICBjYXNlIElucHV0VHlwZTo6VGltZToKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlNlbGVjdDoK
KyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OkNv
bG9yOgorI2VuZGlmCisgICAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXli
b2FyZFR5cGVEZWZhdWx0XTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIElu
cHV0TW9kZTo6VGV4dDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9h
cmRUeXBlRGVmYXVsdF07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRNb2RlOjpUZWxl
cGhvbmU6CiAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZVBo
b25lUGFkXTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6OlVSTDoKKyAgICBj
YXNlIElucHV0TW9kZTo6VXJsOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlL
ZXlib2FyZFR5cGVVUkxdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1h
aWw6CisgICAgY2FzZSBJbnB1dE1vZGU6OkVtYWlsOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXli
b2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3NdOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgorICAgIGNhc2UgSW5wdXRNb2RlOjpOdW1lcmljOgog
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5k
UHVuY3R1YXRpb25dOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVy
UGFkOgotICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1i
ZXJQYWRdOworICAgIGNhc2UgSW5wdXRNb2RlOjpEZWNpbWFsOgorICAgICAgICBbX3RyYWl0cyBz
ZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWNpbWFsUGFkXTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBJbnB1dE1vZGU6OlNlYXJjaDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9h
cmRUeXBlOlVJS2V5Ym9hcmRUeXBlV2ViU2VhcmNoXTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVm
YXVsdDoKLSAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVm
YXVsdF07CiAgICAgfQogCiAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOmNvbnRlbnRU
eXBlRnJvbUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5h
bWUpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KaW5kZXggYjAyMzUxMzRkMDdjMDczMWJkZmY0ODQ0ZmZhODNmZGQ3Mjc3MWVmMi4u
ZDEzOTI5OTlmMzI2MDljZTkyZjA5ZmVkMTZiNWE1YjNkYWZiNTQyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTg0LDgg
Kzg0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQYXJzZXJJZGlvbXMuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSFRNTFNlbGVjdEVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFRleHRB
cmVhRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9I
aXRUZXN0UmVzdWx0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0lucHV0TW9kZU5hbWVzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTGliV2ViUlRD
UHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oPgpA
QCAtMjMxMyw2ICsyMzE1LDI3IEBAIHN0YXRpYyBJbnRSZWN0IGVsZW1lbnRSZWN0SW5Sb290Vmll
d0Nvb3JkaW5hdGVzKGNvbnN0IE5vZGUmIG5vZGUsIGNvbnN0IEZyYW1lJiBmCiAgICAgcmV0dXJu
IHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhyZW5kZXJlci0+YWJzb2x1dGVCb3VuZGluZ0JveFJl
Y3QoKSk7CiB9CiAKK3N0YXRpYyBJbnB1dE1vZGUgaW5wdXRNb2RlRm9yQXNzaXN0ZWROb2RlKGNv
bnN0IE5vZGUmIG5vZGUpCit7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpbnB1dE1vZGUgPSBk
b3duY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4obm9kZSkuaW5wdXRNb2RlKCk7Cisg
ICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dGV4dCgpKQorICAgICAgICByZXR1
cm4gSW5wdXRNb2RlOjpUZXh0OworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5wdXRNb2RlTmFtZXM6
OnRlbCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpUZWxlcGhvbmU7CisgICAgaWYgKGlu
cHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6dXJsKCkpCisgICAgICAgIHJldHVybiBJbnB1dE1v
ZGU6OlVybDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElucHV0TW9kZU5hbWVzOjplbWFpbCgpKQor
ICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpFbWFpbDsKKyAgICBpZiAoaW5wdXRNb2RlID09IElu
cHV0TW9kZU5hbWVzOjpudW1lcmljKCkpCisgICAgICAgIHJldHVybiBJbnB1dE1vZGU6Ok51bWVy
aWM7CisgICAgaWYgKGlucHV0TW9kZSA9PSBJbnB1dE1vZGVOYW1lczo6ZGVjaW1hbCgpKQorICAg
ICAgICByZXR1cm4gSW5wdXRNb2RlOjpEZWNpbWFsOworICAgIGlmIChpbnB1dE1vZGUgPT0gSW5w
dXRNb2RlTmFtZXM6OnNlYXJjaCgpKQorICAgICAgICByZXR1cm4gSW5wdXRNb2RlOjpTZWFyY2g7
CisKKyAgICByZXR1cm4gSW5wdXRNb2RlOjpBdXRvOworfQorCiB2b2lkIFdlYlBhZ2U6OmdldEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1hdGlv
bikKIHsKICAgICBsYXlvdXRJZk5lZWRlZCgpOwpAQCAtMjQxOCw2ICsyNDQxLDcgQEAgdm9pZCBX
ZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
biYgaW5mb3JtYXRpb24pCiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlID0gZWxlbWVudC52YWx1
ZSgpOwogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFtZSA9IFdlYkNvcmU6OnRv
QXV0b2ZpbGxGaWVsZE5hbWUoZWxlbWVudC5hdXRvZmlsbERhdGEoKS5maWVsZE5hbWUpOwogICAg
ICAgICBpbmZvcm1hdGlvbi5wbGFjZWhvbGRlciA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnBsYWNlaG9sZGVyQXR0cik7CisgICAgICAgIGluZm9y
bWF0aW9uLmlucHV0TW9kZSA9IGlucHV0TW9kZUZvckFzc2lzdGVkTm9kZShlbGVtZW50KTsKICAg
ICB9IGVsc2UgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSkpIHsKICAg
ICAgICAgSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEhUTUxJbnB1dEVsZW1l
bnQ+KCptX2Fzc2lzdGVkTm9kZSk7CiAgICAgICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSA9IGVs
ZW1lbnQuZm9ybSgpOwpAQCAtMjQ3NSw2ICsyNDk5LDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24p
CiAgICAgICAgIH0KICNlbmRpZgogCisgICAgICAgIGluZm9ybWF0aW9uLmlucHV0TW9kZSA9IGlu
cHV0TW9kZUZvckFzc2lzdGVkTm9kZShlbGVtZW50KTsKICAgICAgICAgaW5mb3JtYXRpb24uaXNS
ZWFkT25seSA9IGVsZW1lbnQuaXNSZWFkT25seSgpOwogICAgICAgICBpbmZvcm1hdGlvbi52YWx1
ZSA9IGVsZW1lbnQudmFsdWUoKTsKICAgICAgICAgaW5mb3JtYXRpb24udmFsdWVBc051bWJlciA9
IGVsZW1lbnQudmFsdWVBc051bWJlcigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIyMjk0YzhhOTMxZGE2MjQwMGRjZmY5MjgyYjEwNWFjZDYy
N2E3NTAuLjg4ZGMyYzYwZTg3MzVlMjJlMDIzZGNiOGJiZTEzZTkyMmZjMjkyM2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxOC0wOC0yMiAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gQWRkIHN1cHBvcnQgZm9yIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2MjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkZGVkIGFuIEFQSSB0ZXN0
IHRvIHZlcmlmeSB0aGF0IHRoZSBjb3JyZWN0IFVJS2V5Ym9hcmRUeXBlIGlzIHNldCBkZXBlbmRp
bmcgb24KKyAgICAgICAgdGhlIHR5cGUsIGlucHV0bW9kZSwgYW5kIHBhdHRlcm4gc3BlY2lmaWVk
IGZvciBhbiBpbnB1dCBmaWVsZC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmg6CisKIDIwMTgtMDgtMjEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
b2xsIG91dCByMjM1MTM5IGFuZCByMjM1MTQ2CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KaW5kZXggMWViMjdkOGVhZTg2
M2EzY2YzZDQ0N2I5MDUzZmMzZGRiMzFiNzJiMy4uODBmODZkM2NhOGU1MjUzZDUyMDNiOWVmYmVi
NjIzODQ3NTU3MGRhZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3Mv
S2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
aW9zL0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbQpAQCAtMTYzLDYgKzE2Myw4MiBAQCBURVNUKEtl
eWJvYXJkSW5wdXRUZXN0cywgUmFuZ2VkU2VsZWN0aW9uUmVjdEFmdGVyUmVzdG9yaW5nRmlyc3RS
ZXNwb25kZXIpCiAgICAgW3dlYlZpZXcgd2FpdEZvclNlbGVjdGlvblZpZXdSZWN0c1RvQmVjb21l
OmV4cGVjdGVkU2VsZWN0aW9uUmVjdHNdOwogfQogCitURVNUKEtleWJvYXJkSW5wdXRUZXN0cywg
S2V5Ym9hcmRUeXBlRm9ySW5wdXQpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUw
MCldKTsKKyAgICBhdXRvIGlucHV0RGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdElucHV0RGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKworICAgIFtpbnB1dERlbGVnYXRlIHNldEZvY3VzU3RhcnRzSW5w
dXRTZXNzaW9uUG9saWN5SGFuZGxlcjpbJl0gKFdLV2ViVmlldyAqLCBpZCA8X1dLRm9jdXNlZEVs
ZW1lbnRJbmZvPikgLT4gX1dLRm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xpY3kgeworICAgICAg
ICByZXR1cm4gX1dLRm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xpY3lBbGxvdzsKKyAgICB9XTsK
KyAgICBbd2ViVmlldyBfc2V0SW5wdXREZWxlZ2F0ZTppbnB1dERlbGVnYXRlLmdldCgpXTsKKyAg
ICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8aW5wdXQgaWQ9J2lucHV0
Jz4iXTsKKworICAgIGF1dG8gcnVuVGVzdCA9IF4oTlNTdHJpbmcgKmlucHV0VHlwZSwgTlNTdHJp
bmcgKmlucHV0TW9kZSwgTlNTdHJpbmcgKnBhdHRlcm4sIFVJS2V5Ym9hcmRUeXBlIGV4cGVjdGVk
S2V5Ym9hcmRUeXBlKSB7CisgICAgICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFT
Y3JpcHQ6QCJpbnB1dC5ibHVyKCkiXTsKKyAgICAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAImlucHV0LnR5cGUgPSAn
JUAnOyBpbnB1dC5pbnB1dE1vZGUgPSAnJUAnOyBpbnB1dC5wYXR0ZXJuID0gJyVAJyIsIGlucHV0
VHlwZSwgaW5wdXRNb2RlLCBwYXR0ZXJuXV07CisgICAgICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJpbnB1dC5mb2N1cygpIl07CisKKyAgICAgICAgVUlWaWV3PFVJ
VGV4dElucHV0UHJpdmF0ZT4gKnRleHRJbnB1dCA9IChVSVZpZXc8VUlUZXh0SW5wdXRQcml2YXRl
PiAqKVt3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XTsKKyAgICAgICAgVUlLZXlib2FyZFR5
cGUga2V5Ym9hcmRUeXBlID0gW3RleHRJbnB1dCB0ZXh0SW5wdXRUcmFpdHNdLmtleWJvYXJkVHlw
ZTsKKworICAgICAgICBib29sIHN1Y2Nlc3MgPSBrZXlib2FyZFR5cGUgPT0gZXhwZWN0ZWRLZXli
b2FyZFR5cGU7CisgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIE5TTG9nKEAiRGlz
cGxheWVkICVsaSBmb3IgPGlucHV0IHR5cGU9JyVAJyBpbnB1dG1vZGU9JyVAJyBwYXR0ZXJuPScl
QCc+LiBFeHBlY3RlZCAlbGkuIiwgKGxvbmcpa2V5Ym9hcmRUeXBlLCBpbnB1dFR5cGUsIGlucHV0
TW9kZSwgcGF0dGVybiwgKGxvbmcpZXhwZWN0ZWRLZXlib2FyZFR5cGUpOworCisgICAgICAgIHJl
dHVybiBzdWNjZXNzOworICAgIH07CisKKyAgICBOU0RpY3Rpb25hcnkgKmV4cGVjdGVkS2V5Ym9h
cmRUeXBlRm9ySW5wdXRUeXBlID0gQHsKKyAgICAgICAgQCJ0ZXh0IjogQChVSUtleWJvYXJkVHlw
ZURlZmF1bHQpLAorICAgICAgICBAInBhc3N3b3JkIjogQChVSUtleWJvYXJkVHlwZURlZmF1bHQp
LAorICAgICAgICBAInNlYXJjaCI6IEAoVUlLZXlib2FyZFR5cGVEZWZhdWx0KSwKKyAgICAgICAg
QCJlbWFpbCI6IEAoVUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3MpLAorICAgICAgICBAInRlbCI6
IEAoVUlLZXlib2FyZFR5cGVQaG9uZVBhZCksCisgICAgICAgIEAibnVtYmVyIjogQChVSUtleWJv
YXJkVHlwZU51bWJlcnNBbmRQdW5jdHVhdGlvbiksCisgICAgICAgIEAidXJsIjogQChVSUtleWJv
YXJkVHlwZVVSTCkKKyAgICB9OworCisgICAgTlNEaWN0aW9uYXJ5ICpleHBlY3RlZEtleWJvYXJk
VHlwZUZvcklucHV0TW9kZSA9IEB7CisgICAgICAgIEAiIjogQCgtMSksCisgICAgICAgIEAidGV4
dCI6IEAoVUlLZXlib2FyZFR5cGVEZWZhdWx0KSwKKyAgICAgICAgQCJ0ZWwiOiBAKFVJS2V5Ym9h
cmRUeXBlUGhvbmVQYWQpLAorICAgICAgICBAInVybCI6IEAoVUlLZXlib2FyZFR5cGVVUkwpLAor
ICAgICAgICBAImVtYWlsIjogQChVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzcyksCisgICAgICAg
IEAibnVtZXJpYyI6IEAoVUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1YXRpb24pLAorICAg
ICAgICBAImRlY2ltYWwiOiBAKFVJS2V5Ym9hcmRUeXBlRGVjaW1hbFBhZCksCisgICAgICAgIEAi
c2VhcmNoIjogQChVSUtleWJvYXJkVHlwZVdlYlNlYXJjaCkKKyAgICB9OworCisgICAgTlNEaWN0
aW9uYXJ5ICpleHBlY3RlZEtleWJvYXJkVHlwZUZvclBhdHRlcm4gPSBAeworICAgICAgICBAIiI6
IEAoLTEpLAorICAgICAgICBAIlxcXFxkKiI6IEAoVUlLZXlib2FyZFR5cGVOdW1iZXJQYWQpLAor
ICAgICAgICBAIlswLTldKiI6IEAoVUlLZXlib2FyZFR5cGVOdW1iZXJQYWQpCisgICAgfTsKKwor
ICAgIGZvciAoTlNTdHJpbmcgKmlucHV0VHlwZSBpbiBbZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJ
bnB1dFR5cGUgYWxsS2V5c10pIHsKKyAgICAgICAgZm9yIChOU1N0cmluZyAqaW5wdXRNb2RlIGlu
IFtleHBlY3RlZEtleWJvYXJkVHlwZUZvcklucHV0TW9kZSBhbGxLZXlzXSkgeworICAgICAgICAg
ICAgZm9yIChOU1N0cmluZyAqcGF0dGVybiBpbiBbZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JQYXR0
ZXJuIGFsbEtleXNdKSB7CisgICAgICAgICAgICAgICAgTlNOdW1iZXIgKmtleWJvYXJkVHlwZTsK
KyAgICAgICAgICAgICAgICBpZiAoaW5wdXRNb2RlLmxlbmd0aCkgeworICAgICAgICAgICAgICAg
ICAgICAvLyBpbnB1dG1vZGUgaGFzIHRoZSBoaWdoZXN0IHByaW9yaXR5LgorICAgICAgICAgICAg
ICAgICAgICBrZXlib2FyZFR5cGUgPSBleHBlY3RlZEtleWJvYXJkVHlwZUZvcklucHV0TW9kZVtp
bnB1dE1vZGVdOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChwYXR0ZXJuLmxlbmd0aCAmJiAoW2lucHV0VHlwZSBpc0VxdWFsOiBAInRleHQiXSB8fCBb
aW5wdXRUeXBlIGlzRXF1YWw6IEAibnVtYmVyIl0pKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBTcGVjaWFsIGNhc2UgZm9yIHRleHQgYW5kIG51bWJlciBpbnB1dHMgdGhhdCBoYXZlIGEg
bnVtZXJpYyBwYXR0ZXJuLgorICAgICAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmRUeXBlID0g
ZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JQYXR0ZXJuW3BhdHRlcm5dOworICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUg
aW5wdXQgdHlwZSBkZXRlcm1pbmVzIHRoZSBrZXlib2FyZCB0eXBlLgorICAgICAgICAgICAgICAg
ICAgICAgICAga2V5Ym9hcmRUeXBlID0gZXhwZWN0ZWRLZXlib2FyZFR5cGVGb3JJbnB1dFR5cGVb
aW5wdXRUeXBlXTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIEVYUEVDVF9UUlVFKHJ1blRlc3QoaW5wdXRUeXBlLCBpbnB1dE1vZGUs
IHBhdHRlcm4sIChVSUtleWJvYXJkVHlwZSlrZXlib2FyZFR5cGUuaW50VmFsdWUpKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZPUk0oSU9TKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvaW9zL1VJS2l0U1BJLmgKaW5kZXggOGVjZjMwNWVmYmU3NzE0MzhkMDI0Zjc3MGU5NWRl
ZWM1MGQxZjFkMi4uNTIyODgwNDA3ODAzYWZjN2YwNGIyMmUzZmM1MDA2ZTFjMmNhMTNiYSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCkBAIC01OSw2ICs1OSw5IEBAIFdURl9FWFRFUk5f
Q19FTkQKIAogQGVuZAogCitAaW50ZXJmYWNlIFVJVGV4dElucHV0VHJhaXRzIDogTlNPYmplY3Qg
PFVJVGV4dElucHV0VHJhaXRzPgorQGVuZAorCiBAcHJvdG9jb2wgVUlEcmFnSW50ZXJhY3Rpb25E
ZWxlZ2F0ZV9Gb3JXZWJLaXRPbmx5IDxVSURyYWdJbnRlcmFjdGlvbkRlbGVnYXRlPgogQG9wdGlv
bmFsCiAtICh2b2lkKV9kcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJh
Y3Rpb24gcHJlcGFyZUZvclNlc3Npb246KGlkPFVJRHJhZ1Nlc3Npb24+KXNlc3Npb24gY29tcGxl
dGlvbjoodm9pZCheKSh2b2lkKSljb21wbGV0aW9uOwpAQCAtNzEsNiArNzQsNyBAQCBXVEZfRVhU
RVJOX0NfRU5ECiBAY2xhc3MgV2ViRXZlbnQ7CiAKIEBwcm90b2NvbCBVSVRleHRJbnB1dFByaXZh
dGUgPFVJVGV4dElucHV0LCBVSVRleHRJbnB1dFRyYWl0c19Qcml2YXRlPgorLSAoVUlUZXh0SW5w
dXRUcmFpdHMgKil0ZXh0SW5wdXRUcmFpdHM7CiAtICh2b2lkKWluc2VydFRleHRTdWdnZXN0aW9u
OihVSVRleHRTdWdnZXN0aW9uICopdGV4dFN1Z2dlc3Rpb247CiAtICh2b2lkKWhhbmRsZUtleVdl
YkV2ZW50OihXZWJFdmVudCAqKXRoZUV2ZW50IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoV2ViRXZlbnQgKiwgQk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiBAZW5kCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGVm
YmI0NGVkNDIzNmEwMDRiOTcyY2Y0MTNkZDY3ZDkzNWE1MWY5Ny4uNGM5Yjg5NzMzMmM1YjlmMzRl
Yzg1M2NjNGIxZTYzOTljMTRiZDczMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTIy
ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBB
ZGQgc3VwcG9ydCBmb3IgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzYyMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkZWQgdGVzdCB0byB2ZXJpZnkgYmVoYXZpb3Ig
d2hlbiBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBpbnB1dG1vZGUgYXR0cmlidXRlLgorCisgICAg
ICAgICogZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dG1vZGUtYXR0cmlidXRlLmh0bWw6IEFkZGVkLgor
CiAyMDE4LTA4LTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgRmV0
Y2g6IFN0b3AgY2hlY2tpbmcgUmVxdWVzdC5pbnRlZ3JpdHkncyB2YWx1ZSBpbiBuby1jb3JzIG1v
ZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmMmRhZWYxZGQ1ZmRkODkwMDhlNzczYzFmODEx
Y2RjZjE5MjBmMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0bW9kZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDQgQEAKK1Rlc3QgaW5w
dXRtb2RlIGF0dHJpYnV0ZQorCisKK01pc3NpbmcgdmFsdWUgZGVmYXVsdDoKK1BBU1MgaW5wdXQu
aW5wdXRNb2RlIGlzICIiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMg
bnVsbAorCitJbnZhbGlkIHZhbHVlIGRlZmF1bHQ6CitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJm
b29iYXIiOyBpbnB1dC5pbnB1dE1vZGUgaXMgIiIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJp
bnB1dG1vZGUiKSBpcyAiZm9vYmFyIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9k
ZSIsICJiYXoiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICIiCisKK1ZhbGlkIHZhbHVlczoKK1BBU1Mg
aW5wdXQuaW5wdXRNb2RlID0gInRleHQiOyBpbnB1dC5pbnB1dE1vZGUgaXMgInRleHQiCitQQVNT
IGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInRleHQiCitQQVNTIGlucHV0LnNl
dEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRleHQiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZXh0
IgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidGVsIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ0ZWwi
CitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInRlbCIKK1BBU1MgaW5w
dXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidGVsIik7IGlucHV0LmlucHV0TW9kZSBpcyAi
dGVsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidXJsIjsgaW5wdXQuaW5wdXRNb2RlIGlzICJ1
cmwiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIikgaXMgInVybCIKK1BBU1Mg
aW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidXJsIik7IGlucHV0LmlucHV0TW9kZSBp
cyAidXJsIgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAiZW1haWwiOyBpbnB1dC5pbnB1dE1vZGUg
aXMgImVtYWlsIgorUEFTUyBpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpIGlzICJlbWFp
bCIKK1BBU1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZW1haWwiKTsgaW5wdXQu
aW5wdXRNb2RlIGlzICJlbWFpbCIKK1BBU1MgaW5wdXQuaW5wdXRNb2RlID0gIm51bWVyaWMiOyBp
bnB1dC5pbnB1dE1vZGUgaXMgIm51bWVyaWMiCitQQVNTIGlucHV0LmdldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIikgaXMgIm51bWVyaWMiCitQQVNTIGlucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2Rl
IiwgIm51bWVyaWMiKTsgaW5wdXQuaW5wdXRNb2RlIGlzICJudW1lcmljIgorUEFTUyBpbnB1dC5p
bnB1dE1vZGUgPSAiZGVjaW1hbCI7IGlucHV0LmlucHV0TW9kZSBpcyAiZGVjaW1hbCIKK1BBU1Mg
aW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAiZGVjaW1hbCIKK1BBU1MgaW5wdXQu
c2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZGVjaW1hbCIpOyBpbnB1dC5pbnB1dE1vZGUgaXMg
ImRlY2ltYWwiCitQQVNTIGlucHV0LmlucHV0TW9kZSA9ICJzZWFyY2giOyBpbnB1dC5pbnB1dE1v
ZGUgaXMgInNlYXJjaCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAi
c2VhcmNoIgorUEFTUyBpbnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJzZWFyY2giKTsg
aW5wdXQuaW5wdXRNb2RlIGlzICJzZWFyY2giCisKK1ZhbGlkIGNhc2UtaW5zZW5zaXRpdmUgdmFs
dWVzOgorUEFTUyBpbnB1dC5pbnB1dE1vZGUgPSAidEV4dCI7IGlucHV0LmlucHV0TW9kZSBpcyAi
dGV4dCIKK1BBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKSBpcyAidEV4dCIKK1BB
U1MgaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidEV4dCIpOyBpbnB1dC5pbnB1dE1v
ZGUgaXMgInRleHQiCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1h
dHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXRtb2RlLWF0dHJpYnV0
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNkZDQwOGRjZmUwZmRmZDczMDNiZWNjNThlMWY3NTFlM2MwY2Q1
NmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0bW9kZS1h
dHRyaWJ1dGUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxwPlRlc3QgaW5wdXRtb2RlIGF0dHJpYnV0ZTwvcD4KKzxpbnB1dCBpZD0iaW5wdXQi
PgorPGRpdiBpZD1jb25zb2xlPjwvZGl2PgorPHNjcmlwdD4KK2RlYnVnKCdNaXNzaW5nIHZhbHVl
IGRlZmF1bHQ6Jyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2RlJywgJyIiJyk7CitzaG91bGRC
ZU51bGwoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknKTsKKworZGVidWcoJycpOwor
ZGVidWcoJ0ludmFsaWQgdmFsdWUgZGVmYXVsdDonKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1v
ZGUgPSAiZm9vYmFyIjsgaW5wdXQuaW5wdXRNb2RlJywgJyIiJyk7CitzaG91bGRCZSgnaW5wdXQu
Z2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiKScsICciZm9vYmFyIicpOworc2hvdWxkQmUoJ2lucHV0
LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgImJheiIpOyBpbnB1dC5pbnB1dE1vZGUnLCAnIiIn
KTsKKworZGVidWcoJycpOworZGVidWcoJ1ZhbGlkIHZhbHVlczonKTsKK3Nob3VsZEJlKCdpbnB1
dC5pbnB1dE1vZGUgPSAidGV4dCI7IGlucHV0LmlucHV0TW9kZScsICcidGV4dCInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ0ZXh0IicpOworc2hvdWxk
QmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgInRleHQiKTsgaW5wdXQuaW5wdXRN
b2RlJywgJyJ0ZXh0IicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJ0ZWwiOyBpbnB1
dC5pbnB1dE1vZGUnLCAnInRlbCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIpJywgJyJ0ZWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1
dG1vZGUiLCAidGVsIik7IGlucHV0LmlucHV0TW9kZScsICcidGVsIicpOworc2hvdWxkQmUoJ2lu
cHV0LmlucHV0TW9kZSA9ICJ1cmwiOyBpbnB1dC5pbnB1dE1vZGUnLCAnInVybCInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJ1cmwiJyk7CitzaG91bGRC
ZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAidXJsIik7IGlucHV0LmlucHV0TW9k
ZScsICcidXJsIicpOworc2hvdWxkQmUoJ2lucHV0LmlucHV0TW9kZSA9ICJlbWFpbCI7IGlucHV0
LmlucHV0TW9kZScsICciZW1haWwiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJp
bnB1dG1vZGUiKScsICciZW1haWwiJyk7CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJp
bnB1dG1vZGUiLCAiZW1haWwiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJlbWFpbCInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAibnVtZXJpYyI7IGlucHV0LmlucHV0TW9kZScsICcibnVt
ZXJpYyInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIpJywgJyJu
dW1lcmljIicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwgIm51
bWVyaWMiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJudW1lcmljIicpOworc2hvdWxkQmUoJ2lucHV0
LmlucHV0TW9kZSA9ICJkZWNpbWFsIjsgaW5wdXQuaW5wdXRNb2RlJywgJyJkZWNpbWFsIicpOwor
c2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnImRlY2ltYWwiJyk7
CitzaG91bGRCZSgnaW5wdXQuc2V0QXR0cmlidXRlKCJpbnB1dG1vZGUiLCAiZGVjaW1hbCIpOyBp
bnB1dC5pbnB1dE1vZGUnLCAnImRlY2ltYWwiJyk7CitzaG91bGRCZSgnaW5wdXQuaW5wdXRNb2Rl
ID0gInNlYXJjaCI7IGlucHV0LmlucHV0TW9kZScsICcic2VhcmNoIicpOworc2hvdWxkQmUoJ2lu
cHV0LmdldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiknLCAnInNlYXJjaCInKTsKK3Nob3VsZEJlKCdp
bnB1dC5zZXRBdHRyaWJ1dGUoImlucHV0bW9kZSIsICJzZWFyY2giKTsgaW5wdXQuaW5wdXRNb2Rl
JywgJyJzZWFyY2giJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdWYWxpZCBjYXNlLWluc2Vuc2l0
aXZlIHZhbHVlczonKTsKK3Nob3VsZEJlKCdpbnB1dC5pbnB1dE1vZGUgPSAidEV4dCI7IGlucHV0
LmlucHV0TW9kZScsICcidGV4dCInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoImlu
cHV0bW9kZSIpJywgJyJ0RXh0IicpOworc2hvdWxkQmUoJ2lucHV0LnNldEF0dHJpYnV0ZSgiaW5w
dXRtb2RlIiwgInRFeHQiKTsgaW5wdXQuaW5wdXRNb2RlJywgJyJ0ZXh0IicpOworCitkZWJ1Zygn
Jyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>