<?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>200242</bug_id>
          
          <creation_ts>2019-07-29 14:11:49 -0700</creation_ts>
          <short_desc>macCatalyst build fails the first attempt, requires a second build</short_desc>
          <delta_ts>2019-08-02 11:39:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193799</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mitz</cc>
    
    <cc>pvollan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1556697</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-07-29 14:11:49 -0700</bug_when>
    <thetext>macCatalyst builds fail the first time with an error like:

Code Signing Error: The file &quot;/Users/tim_cook/Build/Debug-maccatalyst/DerivedSources/WebKit2/WebContent-macCatalyst-no-sandbox.entitlements&quot; could not be opened. Verify the value of the CODE_SIGN_ENTITLEMENTS build setting for target &quot;WebContent&quot; is correct and that the file exists on disk.

This problem is caused by the file referenced by CODE_SIGN_ENTITLEMENTS changing during the build process. For macCatalyst builds, we start with the iOS entitlements files and then tweak them for macCatalyst. When this occurs during a clean build, Xcode sees the entitlements file being generated and complains about it. Restarting the build does so with the file already existing, and so Xcode does not complain about it.

The approach of generating or tweaking entitlement files may have worked in the past, but the fact is that Xcode doesn&apos;t support it.

We had a similar problem with macOS builds. The entitlements files used to be generated on the fly with scripts like WebKit/Scripts/process-network-sandbox-entitlements.sh. That process was reworked to avoid the issue with Xcode not allowing the files to be generated (see r241135). In short:

o The various process-*-entitlements.sh scripts were consolidated into a single process-entitlements file
o CODE_SIGN_ENTITLEMENTS, which contains the name of the entitlements file to use, was de-initialized so that Xcode would not try to access our generated entitlements file
o CODE_SIGN_INJECT_BASE_ENTITLEMENTS (which injects some base entitlements) was set to NO. If it were left set to YES, Xcode would create its own entitlements file and use it as if it were specified in CODE_SIGN_ENTITLEMENTS
o WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS was updated with an &quot;--entitlements &lt;generated_file&gt;&quot; option. WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS was then used to initialize OTHER_CODE_SIGN_FLAGS. By specifying the entitlements file this way, we avoid Xcode complaining about it.

This approach works well for macOS, and so we now also use it to address the issue with macCatalyst. While we&apos;re at it, convert the rest of the platforms to use the same approach and also generate their entitlements from the process-entitlements script.


&lt;rdar://problem/52976416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556698</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-29 14:12:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/53678481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556705</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-07-29 14:18:52 -0700</bug_when>
    <thetext>The new process was validated by performing a build with the old process and the new process, and then comparing the entitlements of the resulting XPC services to make sure they were the same. Builds were performed for all platforms, and for Engineering and Production builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556708</commentid>
    <comment_count>3</comment_count>
      <attachid>375103</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-07-29 14:21:29 -0700</bug_when>
    <thetext>Created attachment 375103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557273</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-07-31 08:50:32 -0700</bug_when>
    <thetext>Adding a couple more reviewers who may be able to help with entitlements and the build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557295</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-07-31 09:59:57 -0700</bug_when>
    <thetext>Does it not work if there&apos;s a separate build target that processes the entitlements before the other webkit build targets start? I would imagine Xcode wouldn&apos;t even look at the value of CODE_SIGN_ENTITLEMENTS until it starts building that target, and if a previous target had already done the processing, then the entitlements file would exist and not need to be modified any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557302</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-07-31 10:29:06 -0700</bug_when>
    <thetext>That might work with the old build system. I haven&apos;t tried it. But it&apos;s less likely to work with XCBuild, which takes a larger overview when building and would likely expect/require that the entitlements files exist even across build targets.

Even if we were to consider that approach and it worked, it would still leave us with two different mechanisms for managing entitlements files. This patch not only addresses the build problem, but it also unifies the approaches into just a single approach. This single approach is based on a single process-entitlements.sh script file, which better allows us to see what entitlements are used in what builds and which better allows us to verify and adjust the entitlements. In the old approach, everything was spread out across many entitlements files -- some of which got tweaked -- which were hard to validate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557810</commentid>
    <comment_count>7</comment_count>
      <attachid>375103</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-01 17:11:15 -0700</bug_when>
    <thetext>Comment on attachment 375103
Patch

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

I think this looks right, but please confirm we aren&apos;t missing &apos;seatbelt-profile&apos; stuff in the generated build.

&gt; Source/WebKit/Scripts/process-entitlements.sh:77
&gt; +    plistbuddy Add :com.apple.security.cs.allow-jit bool YES

Does this need a seatbelt-profiles array? It was present in the original &apos;entitlements&apos; file.

    plistbuddy Add :seatbelt-profiles array
    plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.WebContent

&gt; Source/WebKit/Scripts/process-entitlements.sh:83
&gt; +    plistbuddy Add :com.apple.security.network.client bool YES

Does this need a seatbelt-profiles array? It was present in the original &apos;entitlements&apos; file.

    plistbuddy Add :seatbelt-profiles array
    plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.Networking

&gt; Source/WebKit/Scripts/process-entitlements.sh:142
&gt; +    plistbuddy Add :com.apple.security.print                               bool YES

I don&apos;t believe we allow plugin process on iOS. Was there an entitlements file for it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557938</commentid>
    <comment_count>8</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-08-02 08:22:07 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #7)
&gt; Comment on attachment 375103 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375103&amp;action=review
&gt; 
&gt; I think this looks right, but please confirm we aren&apos;t missing
&gt; &apos;seatbelt-profile&apos; stuff in the generated build.

I&apos;m pretty sure it&apos;s right. I should elaborate. In the ChangeLog, I say:

    The new process was validated by performing a build with the old
    process and the new process, and then comparing the entitlements of
    the resulting XPC services to make sure they were the same. Builds
    were performed for all platforms, and for Engineering and Production
    builds.

This comparison was not eyeballed. I built all products using both the old and new methods. I then wrote a script that dumped the entitlements and compared them using `diff`. I&apos;ll double-check this approach by eyeballing the results and looking for the differences you ask about, but -- initially -- I think the results consistent.


&gt; &gt; Source/WebKit/Scripts/process-entitlements.sh:77
&gt; &gt; +    plistbuddy Add :com.apple.security.cs.allow-jit bool YES
&gt; 
&gt; Does this need a seatbelt-profiles array? It was present in the original
&gt; &apos;entitlements&apos; file.
&gt; 
&gt;     plistbuddy Add :seatbelt-profiles array
&gt;     plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.WebContent
&gt; 
&gt; &gt; Source/WebKit/Scripts/process-entitlements.sh:83
&gt; &gt; +    plistbuddy Add :com.apple.security.network.client bool YES
&gt; 
&gt; Does this need a seatbelt-profiles array? It was present in the original
&gt; &apos;entitlements&apos; file.
&gt; 
&gt;     plistbuddy Add :seatbelt-profiles array
&gt;     plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.Networking
&gt; 
&gt; &gt; Source/WebKit/Scripts/process-entitlements.sh:142
&gt; &gt; +    plistbuddy Add :com.apple.security.print                               bool YES


The &quot;Derive Entitlements for Manual Sandboxing&quot; Build Phase removes seatbelt-profiles if WK_MANUAL_SANDBOXING_ENABLED is YES. WK_MANUAL_SANDBOXING_ENABLED is set to YES only for the macOS SDK. macCatalyst projects are built against the macOS SDK so WK_MANUAL_SANDBOXING_ENABLED  is YES for for macCatalyst. Thus, seatbelt-profiles gets removed for macCatalyst.


&gt; I don&apos;t believe we allow plugin process on iOS. Was there an entitlements
&gt; file for it?


This was in Source/WebKit/Configurations/PluginService.64.xcconfig:

CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_YES = Configurations/PluginService.entitlements;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557944</commentid>
    <comment_count>9</comment_count>
      <attachid>375103</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-02 09:32:35 -0700</bug_when>
    <thetext>Comment on attachment 375103
Patch

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

&gt;&gt;&gt; Source/WebKit/Scripts/process-entitlements.sh:77
&gt;&gt;&gt; +    plistbuddy Add :com.apple.security.cs.allow-jit bool YES
&gt;&gt; 
&gt;&gt; Does this need a seatbelt-profiles array? It was present in the original &apos;entitlements&apos; file.
&gt;&gt; 
&gt;&gt;     plistbuddy Add :seatbelt-profiles array
&gt;&gt;     plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.WebContent
&gt; 
&gt; The &quot;Derive Entitlements for Manual Sandboxing&quot; Build Phase removes seatbelt-profiles if WK_MANUAL_SANDBOXING_ENABLED is YES. WK_MANUAL_SANDBOXING_ENABLED is set to YES only for the macOS SDK. macCatalyst projects are built against the macOS SDK so WK_MANUAL_SANDBOXING_ENABLED  is YES for for macCatalyst. Thus, seatbelt-profiles gets removed for macCatalyst.

Got it. Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557945</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-02 09:33:05 -0700</bug_when>
    <thetext>This looks correct, and you&apos;ve answered all my questions. Please get it landed when you have a chance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558013</commentid>
    <comment_count>11</comment_count>
      <attachid>375103</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-02 11:39:44 -0700</bug_when>
    <thetext>Comment on attachment 375103
Patch

Clearing flags on attachment: 375103

Committed r248164: &lt;https://trac.webkit.org/changeset/248164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558014</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-02 11:39:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375103</attachid>
            <date>2019-07-29 14:21:29 -0700</date>
            <delta_ts>2019-08-02 11:39:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200242-20190729142128.patch</filename>
            <type>text/plain</type>
            <size>37891</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3OTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUyZmY3Yjg5YzJkYmIxZjUw
MWQ0MDc3OTViMjJhODNiNzg0ODNkODIuLmY3YmMzMzZiNzc0ZDk0ZGJhOTBkMjZlYzE0ZWJlNTUy
MGY4ZTYxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzYgQEAKKzIwMTktMDctMjkgIEtlaXRoIFJv
bGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0IGJ1aWxkIGZh
aWxzIHRoZSBmaXJzdCBhdHRlbXB0LCByZXF1aXJlcyBhIHNlY29uZCBidWlsZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMjQyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS81MzY3ODQ4MT4KKworICAgICAgICBtYWNDYXRhbHlzdCBidWlsZHMgZmFp
bCB0aGUgZmlyc3QgdGltZSB3aXRoIGFuIGVycm9yIGxpa2U6CisKKyAgICAgICAgICAgIENvZGUg
U2lnbmluZyBFcnJvcjogVGhlIGZpbGUKKyAgICAgICAgICAgICIvVXNlcnMvdGltX2Nvb2svQnVp
bGQvRGVidWctbWFjY2F0YWx5c3QvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJDb250ZW50LW1h
Y0NhdGFseXN0LW5vLXNhbmRib3guZW50aXRsZW1lbnRzIgorICAgICAgICAgICAgY291bGQgbm90
IGJlIG9wZW5lZC4gVmVyaWZ5IHRoZSB2YWx1ZSBvZiB0aGUKKyAgICAgICAgICAgIENPREVfU0lH
Tl9FTlRJVExFTUVOVFMgYnVpbGQgc2V0dGluZyBmb3IgdGFyZ2V0ICJXZWJDb250ZW50IiBpcwor
ICAgICAgICAgICAgY29ycmVjdCBhbmQgdGhhdCB0aGUgZmlsZSBleGlzdHMgb24gZGlzay4KKwor
ICAgICAgICBUaGlzIHByb2JsZW0gaXMgY2F1c2VkIGJ5IHRoZSBmaWxlIHJlZmVyZW5jZWQgYnkK
KyAgICAgICAgQ09ERV9TSUdOX0VOVElUTEVNRU5UUyBjaGFuZ2luZyBkdXJpbmcgdGhlIGJ1aWxk
IHByb2Nlc3MuIEZvcgorICAgICAgICBtYWNDYXRhbHlzdCBidWlsZHMsIHdlIHN0YXJ0IHdpdGgg
dGhlIGlPUyBlbnRpdGxlbWVudHMgZmlsZXMgYW5kIHRoZW4KKyAgICAgICAgdHdlYWsgdGhlbSBm
b3IgbWFjQ2F0YWx5c3QuIFdoZW4gdGhpcyBvY2N1cnMgZHVyaW5nIGEgY2xlYW4gYnVpbGQsCisg
ICAgICAgIFhjb2RlIHNlZXMgdGhlIGVudGl0bGVtZW50cyBmaWxlIGJlaW5nIGdlbmVyYXRlZCBh
bmQgY29tcGxhaW5zIGFib3V0CisgICAgICAgIGl0LiBSZXN0YXJ0aW5nIHRoZSBidWlsZCBkb2Vz
IHNvIHdpdGggdGhlIGZpbGUgYWxyZWFkeSBleGlzdGluZywgYW5kCisgICAgICAgIHNvIFhjb2Rl
IGRvZXMgbm90IGNvbXBsYWluIGFib3V0IGl0LgorCisgICAgICAgIFRoZSBhcHByb2FjaCBvZiBn
ZW5lcmF0aW5nIG9yIHR3ZWFraW5nIGVudGl0bGVtZW50IGZpbGVzIG1heSBoYXZlCisgICAgICAg
IHdvcmtlZCBpbiB0aGUgcGFzdCwgYnV0IHRoZSBmYWN0IGlzIHRoYXQgWGNvZGUgZG9lc24ndCBz
dXBwb3J0IGl0LgorCisgICAgICAgIFdlIGhhZCBhIHNpbWlsYXIgcHJvYmxlbSB3aXRoIG1hY09T
IGJ1aWxkcy4gVGhlIGVudGl0bGVtZW50cyBmaWxlcworICAgICAgICB1c2VkIHRvIGJlIGdlbmVy
YXRlZCBvbiB0aGUgZmx5IHdpdGggc2NyaXB0cyBsaWtlCisgICAgICAgIFdlYktpdC9TY3JpcHRz
L3Byb2Nlc3MtbmV0d29yay1zYW5kYm94LWVudGl0bGVtZW50cy5zaC4gVGhhdCBwcm9jZXNzCisg
ICAgICAgIHdhcyByZXdvcmtlZCB0byBhdm9pZCB0aGUgaXNzdWUgd2l0aCBYY29kZSBub3QgYWxs
b3dpbmcgdGhlIGZpbGVzIHRvCisgICAgICAgIGJlIGdlbmVyYXRlZCAoc2VlIHIyNDExMzUpLiBJ
biBzaG9ydDoKKworICAgICAgICBvIFRoZSB2YXJpb3VzIHByb2Nlc3MtKi1lbnRpdGxlbWVudHMu
c2ggc2NyaXB0cyB3ZXJlIGNvbnNvbGlkYXRlZCBpbnRvCisgICAgICAgICAgYSBzaW5nbGUgcHJv
Y2Vzcy1lbnRpdGxlbWVudHMgZmlsZQorICAgICAgICBvIENPREVfU0lHTl9FTlRJVExFTUVOVFMs
IHdoaWNoIGNvbnRhaW5zIHRoZSBuYW1lIG9mIHRoZSBlbnRpdGxlbWVudHMKKyAgICAgICAgICBm
aWxlIHRvIHVzZSwgd2FzIGRlLWluaXRpYWxpemVkIHNvIHRoYXQgWGNvZGUgd291bGQgbm90IHRy
eSB0bworICAgICAgICAgIGFjY2VzcyBvdXIgZ2VuZXJhdGVkIGVudGl0bGVtZW50cyBmaWxlCisg
ICAgICAgIG8gQ09ERV9TSUdOX0lOSkVDVF9CQVNFX0VOVElUTEVNRU5UUyAod2hpY2ggaW5qZWN0
cyBzb21lIGJhc2UKKyAgICAgICAgICBlbnRpdGxlbWVudHMpIHdhcyBzZXQgdG8gTk8uIElmIGl0
IHdlcmUgbGVmdCBzZXQgdG8gWUVTLCBYY29kZSB3b3VsZAorICAgICAgICAgIGNyZWF0ZSBpdHMg
b3duIGVudGl0bGVtZW50cyBmaWxlIGFuZCB1c2UgaXQgYXMgaWYgaXQgd2VyZSBzcGVjaWZpZWQK
KyAgICAgICAgICBpbiBDT0RFX1NJR05fRU5USVRMRU1FTlRTCisgICAgICAgIG8gV0tfTElCUkFS
WV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHUyB3YXMgdXBkYXRlZCB3aXRoIGFuCisgICAgICAg
ICAgIi0tZW50aXRsZW1lbnRzIDxnZW5lcmF0ZWRfZmlsZT4iIG9wdGlvbi4KKyAgICAgICAgICBX
S19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTIHdhcyB0aGVuIHVzZWQgdG8gaW5p
dGlhbGl6ZQorICAgICAgICAgIE9USEVSX0NPREVfU0lHTl9GTEFHUy4gQnkgc3BlY2lmeWluZyB0
aGUgZW50aXRsZW1lbnRzIGZpbGUgdGhpcyB3YXksCisgICAgICAgICAgd2UgYXZvaWQgWGNvZGUg
Y29tcGxhaW5pbmcgYWJvdXQgaXQuCisKKyAgICAgICAgVGhpcyBhcHByb2FjaCB3b3JrcyB3ZWxs
IGZvciBtYWNPUywgYW5kIHNvIHdlIG5vdyBhbHNvIHVzZSBpdCB0bworICAgICAgICBhZGRyZXNz
IHRoZSBpc3N1ZSB3aXRoIG1hY0NhdGFseXN0LiBXaGlsZSB3ZSdyZSBhdCBpdCwgY29udmVydCB0
aGUKKyAgICAgICAgcmVzdCBvZiB0aGUgcGxhdGZvcm1zIHRvIHVzZSB0aGUgc2FtZSBhcHByb2Fj
aCBhbmQgYWxzbyBnZW5lcmF0ZSB0aGVpcgorICAgICAgICBlbnRpdGxlbWVudHMgZnJvbSB0aGUg
cHJvY2Vzcy1lbnRpdGxlbWVudHMgc2NyaXB0LgorCisgICAgICAgIFRoZSBuZXcgcHJvY2VzcyB3
YXMgdmFsaWRhdGVkIGJ5IHBlcmZvcm1pbmcgYSBidWlsZCB3aXRoIHRoZSBvbGQKKyAgICAgICAg
cHJvY2VzcyBhbmQgdGhlIG5ldyBwcm9jZXNzLCBhbmQgdGhlbiBjb21wYXJpbmcgdGhlIGVudGl0
bGVtZW50cyBvZgorICAgICAgICB0aGUgcmVzdWx0aW5nIFhQQyBzZXJ2aWNlcyB0byBtYWtlIHN1
cmUgdGhleSB3ZXJlIHRoZSBzYW1lLiBCdWlsZHMKKyAgICAgICAgd2VyZSBwZXJmb3JtZWQgZm9y
IGFsbCBwbGF0Zm9ybXMsIGFuZCBmb3IgRW5naW5lZXJpbmcgYW5kIFByb2R1Y3Rpb24KKyAgICAg
ICAgYnVpbGRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVhQQ1NlcnZpY2UueGNjb25maWc6CisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvTmV0d29yay1pT1MuZW50aXRsZW1lbnRzOiBSZW1vdmVkLgorICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL05ldHdvcmstbWFjQ2F0YWx5c3QuZW50aXRsZW1lbnRzOiBSZW1v
dmVkLgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL05ldHdvcmtTZXJ2aWNlLnhjY29uZmlnOgor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1BsdWdpblNlcnZpY2UuNjQueGNjb25maWc6CisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvUGx1Z2luU2VydmljZS5lbnRpdGxlbWVudHM6IFJlbW92ZWQu
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzOiBS
ZW1vdmVkLgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnQtbWFjQ2F0YWx5c3Qu
ZW50aXRsZW1lbnRzOiBSZW1vdmVkLgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvbnRl
bnRTZXJ2aWNlLkRldmVsb3BtZW50LnhjY29uZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L1dlYkNvbnRlbnRTZXJ2aWNlLnhjY29uZmlnOgorICAgICAgICAqIFNjcmlwdHMvY29weS13ZWJj
b250ZW50LXJlc291cmNlcy10by1wcml2YXRlLWhlYWRlcnMuc2g6CisgICAgICAgICogU2NyaXB0
cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKwogMjAxOS0wNy0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFsbG93IG1vcmUgc3lzY2FsbHMgaW4gdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcycgc2FuZGJveCBwcm9maWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3Vy
YXRpb25zL0Jhc2VYUENTZXJ2aWNlLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9CYXNlWFBDU2VydmljZS54Y2NvbmZpZwppbmRleCA0ZmE3MzZjYmQ1ZDM1ZTEwYzZmNjYy
NzA5YjcxZjY3MjJkYjQ1OWZhLi4zYTVlODNiOWU0ZTNjNjk0OWU3ZTIyMDBhYzgyYmU3MTc5Yzhm
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Jhc2VYUENTZXJ2
aWNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVhQQ1Nl
cnZpY2UueGNjb25maWcKQEAgLTYzLDIzICs2Myw4IEBAIFdLX1BBVEhfRlJPTV9TRVJWSUNFX0VY
RUNVVEFCTEVfVE9fRlJBTUVXT1JLX1NIQUxMT1dfQlVORExFX1lFU19ERVBMT1lNRU5UX1lFUyA9
CiBXS19QQVRIX0ZST01fU0VSVklDRV9FWEVDVVRBQkxFX1RPX0ZSQU1FV09SS19TSEFMTE9XX0JV
TkRMRV9OT19ERVBMT1lNRU5UX05PID0gLi4vLi4vLi47CiBXS19QQVRIX0ZST01fU0VSVklDRV9F
WEVDVVRBQkxFX1RPX0ZSQU1FV09SS19TSEFMTE9XX0JVTkRMRV9ZRVNfREVQTE9ZTUVOVF9OTyA9
IC4uOwogCi1DT0RFX1NJR05fRU5USVRMRU1FTlRTID0gJChDT0RFX1NJR05fRU5USVRMRU1FTlRT
X0NPQ09BX1RPVUNIXyQoV0tfSVNfQ09DT0FfVE9VQ0gpKTsKLUNPREVfU0lHTl9FTlRJVExFTUVO
VFNfQ09DT0FfVE9VQ0hfID0gJChDT0RFX1NJR05fRU5USVRMRU1FTlRTX0NPQ09BX1RPVUNIX05P
KTsKLUNPREVfU0lHTl9FTlRJVExFTUVOVFNfQ09DT0FfVE9VQ0hfTk8gPSA7Ci1DT0RFX1NJR05f
RU5USVRMRU1FTlRTX0NPQ09BX1RPVUNIX1lFUyA9ICQoQ09ERV9TSUdOX0VOVElUTEVNRU5UU19J
T1NfU0tJUF9JTlNUQUxMXyQoU0tJUF9JTlNUQUxMKSk7Ci0KLUNPREVfU0lHTl9FTlRJVExFTUVO
VFNfSU9TX1NLSVBfSU5TVEFMTF8gPSAkKENPREVfU0lHTl9FTlRJVExFTUVOVFNfSU9TX1NLSVBf
SU5TVEFMTF9OTyk7Ci1DT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19TS0lQX0lOU1RBTExfTk8g
PSAkKENPREVfU0lHTl9FTlRJVExFTUVOVFNfSU9TX01BTlVBTF9TQU5EQk9YSU5HXyQoV0tfTUFO
VUFMX1NBTkRCT1hJTkdfRU5BQkxFRCkpOwotQ09ERV9TSUdOX0VOVElUTEVNRU5UU19JT1NfU0tJ
UF9JTlNUQUxMX1lFUyA9IDsKLQotQ09ERV9TSUdOX0VOVElUTEVNRU5UU19JT1NfTUFOVUFMX1NB
TkRCT1hJTkdfID0gJChDT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19NQU5VQUxfU0FOREJPWElO
R19OTyk7Ci1DT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19NQU5VQUxfU0FOREJPWElOR19OTyA9
IENvbmZpZ3VyYXRpb25zLyQoV0tfWFBDX1NFUlZJQ0VfSU9TX0VOVElUTEVNRU5UU19CQVNFKS5l
bnRpdGxlbWVudHM7Ci1DT0RFX1NJR05fRU5USVRMRU1FTlRTX0lPU19NQU5VQUxfU0FOREJPWElO
R19ZRVMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8kKFdL
X1hQQ19TRVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRSktbm8tc2FuZGJveC5lbnRpdGxlbWVu
dHM7Ci0KLUNPREVfU0lHTl9JTkpFQ1RfQkFTRV9FTlRJVExFTUVOVFMgPSAkKENPREVfU0lHTl9J
TkpFQ1RfQkFTRV9FTlRJVExFTUVOVFNfJChXS19JU19DT0NPQV9UT1VDSCkpOwotQ09ERV9TSUdO
X0lOSkVDVF9CQVNFX0VOVElUTEVNRU5UU18gPSAkKENPREVfU0lHTl9JTkpFQ1RfQkFTRV9FTlRJ
VExFTUVOVFNfTk8pOwotQ09ERV9TSUdOX0lOSkVDVF9CQVNFX0VOVElUTEVNRU5UU19OTyA9IE5P
OwotQ09ERV9TSUdOX0lOSkVDVF9CQVNFX0VOVElUTEVNRU5UU19ZRVMgPSAkKENPREVfU0lHTl9J
TkpFQ1RfQkFTRV9FTlRJVExFTUVOVFMpCisvLyBXZSB3YW50IHRoaXMgdG8gYWx3YXlzIGJlIE5P
LiBJZiBzZXQgdG8gWUVTLCBYY29kZSB3aWxsIGludm9rZSBjb2Rlc2lnbiB3aXRoIGFuIC0tZW50
aXRsZW1lbnRzIHBhcmFtZXRlciB0aGF0IHBvaW50cyB0byB0aGUgcGxhdGZvcm0ncyBCYXNlRW50
aXRsZW1lbnRzLnBsaXN0LiBUaGlzIHBhcmFtZXRlciB3b3VsZCBvdmVycmlkZSBhbnkgLS1lbnRp
dGxlbWVudHMgcGFyYW1ldGVyIHRoYXQgd2UgZXN0YWJsaXNoIGluIFdLX0xJQlJBUllfVkFMSURB
VElPTl9DT0RFX1NJR05fRkxBR1MsIGNhdXNpbmcgb3VyIGVudGl0bGVtZW50cyB0byBiZSBpZ25v
cmVkLgorQ09ERV9TSUdOX0lOSkVDVF9CQVNFX0VOVElUTEVNRU5UUyA9IE5POwogCiBXS19QUk9D
RVNTRURfWENFTlRfRklMRT0kKFRFTVBfRklMRV9ESVIpLyQoRlVMTF9QUk9EVUNUX05BTUUpLmVu
dGl0bGVtZW50cwogCkBAIC04OCw5ICs3MywyNCBAQCBXS19MSUJSQVJZX1ZBTElEQVRJT05fRU5B
QkxFRF8gPSAkKFdLX0xJQlJBUllfVkFMSURBVElPTl9FTkFCTEVEX05PKTsKIFdLX0xJQlJBUllf
VkFMSURBVElPTl9FTkFCTEVEX05PID0gJChXS19MSUJSQVJZX1ZBTElEQVRJT05fRU5BQkxFRCk7
CiBXS19MSUJSQVJZX1ZBTElEQVRJT05fRU5BQkxFRF9ZRVMgPSBZRVM7CiAKLVdLX0xJQlJBUllf
VkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1Nbc2RrPW1hY29zeCpdID0gJChXS19MSUJSQVJZX1ZB
TElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTXyQoV0tfWFBDX1NFUlZJQ0VfVkFSSUFOVCkpIC0tZW50
aXRsZW1lbnRzICQoV0tfUFJPQ0VTU0VEX1hDRU5UX0ZJTEUpOwotV0tfTElCUkFSWV9WQUxJREFU
SU9OX0NPREVfU0lHTl9GTEFHU18gPSAkKFdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05f
RkxBR1NfTm9ybWFsKTsKLVdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfTm9y
bWFsID0gJChXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTXyQoV0tfTElCUkFS
WV9WQUxJREFUSU9OX0VOQUJMRUQpKTsKLVdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05f
RkxBR1NfWUVTID0gLW8gbGlicmFyeTsKK1dLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05f
RkxBR1MgPSAkKFdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfJChXS19QTEFU
Rk9STV9OQU1FKSk7CitXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTX21hY29z
eCA9ICQoV0tfTElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19tYWNmYW1pbHkpOwor
V0tfTElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19tYWNjYXRhbHlzdCA9ICQoV0tf
TElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19tYWNmYW1pbHkpOworV0tfTElCUkFS
WV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19pcGhvbmVvcyA9ICQoV0tfTElCUkFSWV9WQUxJ
REFUSU9OX0NPREVfU0lHTl9GTEFHU19pb3NkZXZpY2VmYW1pbHkpOworV0tfTElCUkFSWV9WQUxJ
REFUSU9OX0NPREVfU0lHTl9GTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKFdLX0xJQlJBUllfVkFM
SURBVElPTl9DT0RFX1NJR05fRkxBR1NfaW9zc2ltdWxhdG9yZmFtaWx5KTsKK1dLX0xJQlJBUllf
VkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfYXBwbGV0dm9zID0gJChXS19MSUJSQVJZX1ZBTElE
QVRJT05fQ09ERV9TSUdOX0ZMQUdTX2lvc2RldmljZWZhbWlseSk7CitXS19MSUJSQVJZX1ZBTElE
QVRJT05fQ09ERV9TSUdOX0ZMQUdTX2FwcGxldHZzaW11bGF0b3IgPSAkKFdLX0xJQlJBUllfVkFM
SURBVElPTl9DT0RFX1NJR05fRkxBR1NfaW9zc2ltdWxhdG9yZmFtaWx5KTsKK1dLX0xJQlJBUllf
VkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1Nfd2F0Y2hvcyA9ICQoV0tfTElCUkFSWV9WQUxJREFU
SU9OX0NPREVfU0lHTl9GTEFHU19pb3NkZXZpY2VmYW1pbHkpOworV0tfTElCUkFSWV9WQUxJREFU
SU9OX0NPREVfU0lHTl9GTEFHU193YXRjaHNpbXVsYXRvciA9ICQoV0tfTElCUkFSWV9WQUxJREFU
SU9OX0NPREVfU0lHTl9GTEFHU19pb3NzaW11bGF0b3JmYW1pbHkpOworCitXS19MSUJSQVJZX1ZB
TElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTX21hY2ZhbWlseSA9ICQoV0tfTElCUkFSWV9WQUxJREFU
SU9OX0NPREVfU0lHTl9GTEFHU19tYWNmYW1pbHlfVkFSSUFOVF8kKFdLX1hQQ19TRVJWSUNFX1ZB
UklBTlQpKSAtLWVudGl0bGVtZW50cyAkKFdLX1BST0NFU1NFRF9YQ0VOVF9GSUxFKTsKK1dLX0xJ
QlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfbWFjZmFtaWx5X1ZBUklBTlRfID0gJChX
S19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTX21hY2ZhbWlseV9Ob3JtYWwpOwor
V0tfTElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19tYWNmYW1pbHlfVkFSSUFOVF9O
b3JtYWwgPSAkKFdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfbWFjZmFtaWx5
X1ZBUklBTlRfTm9ybWFsX1ZBTElEQVRJT05fJChXS19MSUJSQVJZX1ZBTElEQVRJT05fRU5BQkxF
RCkpOworV0tfTElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU19tYWNmYW1pbHlfVkFS
SUFOVF9Ob3JtYWxfVkFMSURBVElPTl9ZRVMgPSAtbyBsaWJyYXJ5OworV0tfTElCUkFSWV9WQUxJ
REFUSU9OX0NPREVfU0lHTl9GTEFHU19pb3NkZXZpY2VmYW1pbHkgPSAtLWVudGl0bGVtZW50cyAk
KFdLX1BST0NFU1NFRF9YQ0VOVF9GSUxFKTsKK1dLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJ
R05fRkxBR1NfaW9zc2ltdWxhdG9yZmFtaWx5ID0gJChXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09E
RV9TSUdOX0ZMQUdTX2lvc3NpbXVsYXRvcmZhbWlseV9YQlNfJChSQ19YQlMpKTsKK1dLX0xJQlJB
UllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfaW9zc2ltdWxhdG9yZmFtaWx5X1hCU18gPSAk
KFdLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfaW9zc2ltdWxhdG9yZmFtaWx5
X1hCU19OTyk7CitXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTX2lvc3NpbXVs
YXRvcmZhbWlseV9YQlNfTk8gPSAtLWVudGl0bGVtZW50cyAkKFdLX1BST0NFU1NFRF9YQ0VOVF9G
SUxFKTsKK1dLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfaW9zc2ltdWxhdG9y
ZmFtaWx5X1hCU19ZRVMgPSA7CiAKIE9USEVSX0NPREVfU0lHTl9GTEFHUyA9ICQoV0tfTElCUkFS
WV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHUyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50cyBiL1NvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvTmV0d29yay1pT1MuZW50aXRsZW1lbnRzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1M2RmZDU2MzU0MDk5ZWYwMzA5MWQxZDVjNTk0YjNmMTczYjI4NTkxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDM3NQp6Y21aV2slU3l5UjVTKDVnbzlKYSQ1
ZjYlWWw/KTVNelFCezxiJnB8Xl5lI2lATVleTkpLaz98dF96bkptQUw4SCEKemNFITNCYlhRZVpT
SjR7Y2BUUHFlSkcqPVAoPTBwNDU9d2JwMmQ4dzU3RkYhYmkpS3sxdTAhdmNSTXE+JnFHPjNHCnp1
cnoqRSU4VVBNaGMwdmp2RjRzaUlWMDN1cTIoZlckenc2aSZiTGZAYU9oY1NZbTBPU0RYbE5KKT8p
Kll7MklEZQp6UUsoendxQ3R6UilhLUI2c0JLKU1Wejh6ak5fbi0zYT1tNTRuJWRNYFFSO14tZVd7
N0NWLXF+KGBOdkA/Jm8raHkKeFIhQGYyXlpJbWg8cTBBYXJ7WW04I2haOCtwVysqNGEwSkoyMHls
NkFjV15JJEZAWkc7SXIyI0dAQj5CSmI2eC1kCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9OZXR3b3JrLW1hY0NhdGFseXN0LmVudGl0bGVtZW50cyBiL1NvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvTmV0d29yay1tYWNDYXRhbHlzdC5lbnRpdGxlbWVudHMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwMjViZjM4NTYzZTA5NWY5NmNmNDNlNmMzNjk0
OGExNThjZGI3ZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3JrLW1hY0NhdGFseXN0LmVudGl0
bGVtZW50cworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8v
RFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlz
dC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5zZWF0YmVs
dC1wcm9maWxlczwva2V5PgotCTxhcnJheT4KLQkJPHN0cmluZz5jb20uYXBwbGUuV2ViS2l0Lk5l
dHdvcmtpbmc8L3N0cmluZz4KLQk8L2FycmF5PgotCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5Lm5l
dHdvcmsuY2xpZW50PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+Y29tLmFwcGxlLnByaXZhdGUubmV0
d29yay5zb2NrZXQtZGVsZWdhdGU8L2tleT4KLQk8dHJ1ZS8+Ci08L2RpY3Q+Ci08L3BsaXN0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3JrU2VydmljZS54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvTmV0d29ya1NlcnZpY2UueGNj
b25maWcKaW5kZXggNTBhNGJiMmVhN2VlOTVmZTc2MDI0YWYwNzhjOGNkZjQwMmZkN2U1Ni4uYjRh
Y2VkMjlhNzVkY2NmNTBjNWEwZThhZTBiNjNmY2UxMTVmOGNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9OZXR3b3JrU2VydmljZS54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmtTZXJ2aWNlLnhjY29uZmlnCkBAIC0yMywx
NSArMjMsNiBAQAogCiAjaW5jbHVkZSAiQmFzZVhQQ1NlcnZpY2UueGNjb25maWciCiAKLVdLX1hQ
Q19TRVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRSA9ICQoV0tfWFBDX1NFUlZJQ0VfSU9TX0VO
VElUTEVNRU5UU19CQVNFXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotV0tfWFBDX1NFUlZJQ0VfSU9T
X0VOVElUTEVNRU5UU19CQVNFX2lwaG9uZW9zID0gTmV0d29yay1pT1M7Ci1XS19YUENfU0VSVklD
RV9JT1NfRU5USVRMRU1FTlRTX0JBU0VfaXBob25lc2ltdWxhdG9yID0gTmV0d29yay1pT1M7Ci1X
S19YUENfU0VSVklDRV9JT1NfRU5USVRMRU1FTlRTX0JBU0Vfd2F0Y2hvcyA9IE5ldHdvcmstaU9T
OwotV0tfWFBDX1NFUlZJQ0VfSU9TX0VOVElUTEVNRU5UU19CQVNFX3dhdGNoc2ltdWxhdG9yID0g
TmV0d29yay1pT1M7Ci1XS19YUENfU0VSVklDRV9JT1NfRU5USVRMRU1FTlRTX0JBU0VfYXBwbGV0
dm9zID0gTmV0d29yay1pT1M7Ci1XS19YUENfU0VSVklDRV9JT1NfRU5USVRMRU1FTlRTX0JBU0Vf
YXBwbGV0dnNpbXVsYXRvciA9IE5ldHdvcmstaU9TOwotV0tfWFBDX1NFUlZJQ0VfSU9TX0VOVElU
TEVNRU5UU19CQVNFX21hY2NhdGFseXN0ID0gTmV0d29yay1tYWNDYXRhbHlzdDsKLQogUFJPRFVD
VF9OQU1FID0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nOwogUFJPRFVDVF9CVU5ETEVfSURF
TlRJRklFUiA9ICQoUFJPRFVDVF9OQU1FKTsKIElORk9QTElTVF9GSUxFW3Nkaz1pcGhvbmUqXSA9
IE5ldHdvcmtQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9OZXR3b3JrU2Vydmlj
ZS9JbmZvLWlPUy5wbGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvUGx1Z2luU2VydmljZS42NC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvUGx1Z2luU2VydmljZS42NC54Y2NvbmZpZwppbmRleCBjMzI1MWVkZmQ2ZDI0ZDdlZGU5NzU0
YjM5Nzk5NTg1ZTJhODY3NGMwLi5lNjlkOTAxOTRkZWI5NTI4OGU5MmY4NzVlYjk2MTZkNWQ0YzQ0
MWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1BsdWdpblNlcnZp
Y2UuNjQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9QbHVnaW5T
ZXJ2aWNlLjY0LnhjY29uZmlnCkBAIC0zNSw3ICszNSw2IEBAIFdLX0FQUEtJVF9MREZMQUdTX21h
Y29zeCA9IC1mcmFtZXdvcmsgQXBwS2l0OwogT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAk
KFdLX0FQUEtJVF9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExBVEZPUk0pICQoT1RIRVJfTERG
TEFHU19WRVJTSU9ORURfRlJBTUVXT1JLX1BBVEgpICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JL
U19MREZMQUdTKTsKIE9USEVSX0xERkxBR1NfUExBVEZPUk1bc2RrPW1hY29zeCpdID0gJChCVUlM
VF9QUk9EVUNUU19ESVIpL1BsdWdpblByb2Nlc3NTaGltLmR5bGliOwogCi1DT0RFX1NJR05fRU5U
SVRMRU1FTlRTX0NPQ09BX1RPVUNIX1lFUyA9IENvbmZpZ3VyYXRpb25zL1BsdWdpblNlcnZpY2Uu
ZW50aXRsZW1lbnRzOwogV0tfTElCUkFSWV9WQUxJREFUSU9OX0NPREVfU0lHTl9GTEFHU1tzZGs9
bWFjb3N4Kl0gPSAtLWVudGl0bGVtZW50cyAkKFdLX1BST0NFU1NFRF9YQ0VOVF9GSUxFKTsKIAog
U0tJUF9JTlNUQUxMW3Nkaz1pcGhvbmUqXSA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvUGx1Z2luU2VydmljZS5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL1BsdWdpblNlcnZpY2UuZW50aXRsZW1lbnRzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkZGU2YzBkMmZlOWQ5NWIzZTRjNjI3N2YwYTE1NmMwZTYxZTM4
ZmU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvUGx1Z2luU2VydmljZS5lbnRpdGxlbWVudHMKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAv
L0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Ci08
cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LmNz
LmFsbG93LWppdDwva2V5PgotCTx0cnVlLz4KLSAgICA8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5j
cy5hbGxvdy11bnNpZ25lZC1leGVjdXRhYmxlLW1lbW9yeTwva2V5PgotICAgIDx0cnVlLz4KLQk8
a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5jcy5kaXNhYmxlLWxpYnJhcnktdmFsaWRhdGlvbjwva2V5
PgotCTx0cnVlLz4KLQk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5maWxlcy51c2VyLXNlbGVjdGVk
LnJlYWQtd3JpdGU8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5jb20uYXBwbGUuc2VjdXJpdHkucHJp
bnQ8L2tleT4KLQk8dHJ1ZS8+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJDb250ZW50LWlPUy5lbnRpdGxlbWVudHMgYi9Tb3Vy
Y2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnQtaU9TLmVudGl0bGVtZW50cwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc2YTk3ZDBlYWNmZDRhOGUwNDM0NDMzM2IzMTRl
ZjAwMjZlOTA4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnQtaU9TLmVudGl0bGVtZW50
cworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBM
SVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAu
ZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5jb20uYXBwbGUucHJp
dmF0ZS5uZXR3b3JrLnNvY2tldC1kZWxlZ2F0ZTwva2V5PgotCTx0cnVlLz4KLQk8a2V5PmNvbS5h
cHBsZS5wcml2YXRlLmFsbG93LWV4cGxpY2l0LWdyYXBoaWNzLXByaW9yaXR5PC9rZXk+Ci0JPHRy
dWUvPgotCTxrZXk+Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLmFsbG93LXJlbW90ZS1p
bnNwZWN0aW9uPC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+Y29tLmFwcGxlLnByaXZhdGUud2ViaW5z
cGVjdG9yLnByb3h5LWFwcGxpY2F0aW9uPC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+Y29tLmFwcGxl
LmxvY2F0aW9uZC5hdXRob3JpemVhcHBsaWNhdGlvbnM8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5j
b20uYXBwbGUubG9jYXRpb25kLmVmZmVjdGl2ZV9idW5kbGU8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtl
eT5zZWF0YmVsdC1wcm9maWxlczwva2V5PgotCTxhcnJheT4KLQkJPHN0cmluZz5jb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQ8L3N0cmluZz4KLQk8L2FycmF5PgotCTxrZXk+ZHluYW1pYy1jb2Rl
c2lnbmluZzwva2V5PgotCTx0cnVlLz4KLQk8a2V5PmNvbS5hcHBsZS5wcml2YXRlLmNvcmVtZWRp
YS5waWRpbmhlcml0YW5jZS5hbGxvdzwva2V5PgotCTx0cnVlLz4KLQk8a2V5PmNvbS5hcHBsZS5w
cml2YXRlLmNvcmVtZWRpYS5leHRlbnNpb25zLmF1ZGlvcmVjb3JkaW5nLmFsbG93PC9rZXk+Ci0J
PHRydWUvPgotCTxrZXk+Y29tLmFwcGxlLnRjYy5kZWxlZ2F0ZWQtc2VydmljZXM8L2tleT4KLQk8
YXJyYXk+Ci0JCTxzdHJpbmc+a1RDQ1NlcnZpY2VNaWNyb3Bob25lPC9zdHJpbmc+Ci0JCTxzdHJp
bmc+a1RDQ1NlcnZpY2VDYW1lcmE8L3N0cmluZz4KLQk8L2FycmF5PgotCTxrZXk+Y29tLmFwcGxl
LnByaXZhdGUubWVtb3J5c3RhdHVzPC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+Y29tLmFwcGxlLlF1
YXJ0ekNvcmUud2Via2l0LWVuZC1wb2ludHM8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5jb20uYXBw
bGUuUXVhcnR6Q29yZS5zZWN1cmUtbW9kZTwva2V5PgotCTx0cnVlLz4KLTwvZGljdD4KLTwvcGxp
c3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnQt
bWFjQ2F0YWx5c3QuZW50aXRsZW1lbnRzIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9X
ZWJDb250ZW50LW1hY0NhdGFseXN0LmVudGl0bGVtZW50cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjA4NDMzZWNlMmY4ZWJhNDE4Y2RhNzdmMWEyOTg2NjlhZjlhYjJjOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL1dlYkNvbnRlbnQtbWFjQ2F0YWx5c3QuZW50aXRsZW1lbnRzCisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9F
TiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBs
aXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdD4KLQk8a2V5PnNlYXRiZWx0LXByb2ZpbGVzPC9rZXk+
Ci0JPGFycmF5PgotCQk8c3RyaW5nPmNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudDwvc3RyaW5n
PgotCTwvYXJyYXk+Ci0JPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuY3MuYWxsb3ctaml0PC9rZXk+
Ci0JPHRydWUvPgotPC9kaWN0PgotPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvV2ViQ29udGVudFNlcnZpY2UuRGV2ZWxvcG1lbnQueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50
LnhjY29uZmlnCmluZGV4IDk5Zjc1MmFkMDA1NjE3MTJhMjVmNTQxMTZlMTQ4OTBkMGRiNjBhMzIu
LjM4M2JjZmY1YzNhNzUxMGYyZDY1YWIyNjc5YWE2NGFmNzlhZDFiNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudFNlcnZpY2UuRGV2ZWxvcG1lbnQu
eGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJDb250ZW50U2Vy
dmljZS5EZXZlbG9wbWVudC54Y2NvbmZpZwpAQCAtMjksMyArMjksNyBAQCBTS0lQX0lOU1RBTExb
c2RrPW1hY29zeCpdID0gJChXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktTKTsKIFdLX1hQQ19TRVJW
SUNFX1ZBUklBTlQgPSBEZXZlbG9wbWVudDsKIAogV0tfVVNFX1JFU1RSSUNURURfRU5USVRMRU1F
TlRTID0gTk87CisKK1dLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1NfaXBob25l
b3MgPSA7CitXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9TSUdOX0ZMQUdTX2FwcGxldHZvcyA9
IDsKK1dLX0xJQlJBUllfVkFMSURBVElPTl9DT0RFX1NJR05fRkxBR1Nfd2F0Y2hvcyA9IDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudFNlcnZpY2Uu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkNvbnRlbnRTZXJ2aWNl
LnhjY29uZmlnCmluZGV4IDNmNzY0YzI3ZDczM2QyNjVkNzBjMGNlNzI4MWRhZGQwNGE3YTVjODMu
Ljg4ZmM5MDc4M2FlYjU2YTk1ODE2NmYzYjNhMDY5OGQ2YTdkNmZjNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudFNlcnZpY2UueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJDb250ZW50U2VydmljZS54Y2NvbmZp
ZwpAQCAtMjMsMTUgKzIzLDYgQEAKIAogI2luY2x1ZGUgIkJhc2VYUENTZXJ2aWNlLnhjY29uZmln
IgogCi1XS19YUENfU0VSVklDRV9JT1NfRU5USVRMRU1FTlRTX0JBU0UgPSAkKFdLX1hQQ19TRVJW
SUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLVdLX1hQQ19T
RVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRV9pcGhvbmVvcyA9IFdlYkNvbnRlbnQtaU9TOwot
V0tfWFBDX1NFUlZJQ0VfSU9TX0VOVElUTEVNRU5UU19CQVNFX2lwaG9uZXNpbXVsYXRvciA9IFdl
YkNvbnRlbnQtaU9TOwotV0tfWFBDX1NFUlZJQ0VfSU9TX0VOVElUTEVNRU5UU19CQVNFX3dhdGNo
b3MgPSBXZWJDb250ZW50LWlPUzsKLVdLX1hQQ19TRVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFT
RV93YXRjaHNpbXVsYXRvciA9IFdlYkNvbnRlbnQtaU9TOwotV0tfWFBDX1NFUlZJQ0VfSU9TX0VO
VElUTEVNRU5UU19CQVNFX2FwcGxldHZvcyA9IFdlYkNvbnRlbnQtaU9TOwotV0tfWFBDX1NFUlZJ
Q0VfSU9TX0VOVElUTEVNRU5UU19CQVNFX2FwcGxldHZzaW11bGF0b3IgPSBXZWJDb250ZW50LWlP
UzsKLVdLX1hQQ19TRVJWSUNFX0lPU19FTlRJVExFTUVOVFNfQkFTRV9tYWNjYXRhbHlzdCA9IFdl
YkNvbnRlbnQtbWFjQ2F0YWx5c3Q7Ci0KIFBST0RVQ1RfTkFNRSA9ICQoUFJPRFVDVF9OQU1FXyQo
V0tfWFBDX1NFUlZJQ0VfVkFSSUFOVCkpOwogUFJPRFVDVF9OQU1FXyA9ICQoUFJPRFVDVF9OQU1F
X05vcm1hbCk7CiBQUk9EVUNUX05BTUVfTm9ybWFsID0gY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL2NvcHktd2ViY29udGVudC1y
ZXNvdXJjZXMtdG8tcHJpdmF0ZS1oZWFkZXJzLnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL2Nv
cHktd2ViY29udGVudC1yZXNvdXJjZXMtdG8tcHJpdmF0ZS1oZWFkZXJzLnNoCmluZGV4IGFhNzQ2
NGE0NTI3YTBhMDk5OGU3OWI3NTE1MjBjMWFkNDFjMDhlZDMuLjNhMDdmOTBhZjA3NTEyZjNmNzVl
YWY0NzgyNDkyZDY1MDI4YzQ1MjIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9j
b3B5LXdlYmNvbnRlbnQtcmVzb3VyY2VzLXRvLXByaXZhdGUtaGVhZGVycy5zaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvY29weS13ZWJjb250ZW50LXJlc291cmNlcy10by1wcml2YXRlLWhl
YWRlcnMuc2gKQEAgLTI4LDEzICsyOCw4IEBAIHNldCAtZQogV0VCX0NPTlRFTlRfUkVTT1VSQ0VT
X1BBVEg9IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9XZWJLaXQuZnJhbWV3b3JrL1ByaXZhdGVIZWFk
ZXJzL0N1c3RvbVdlYkNvbnRlbnRSZXNvdXJjZXMiCiBta2RpciAtcCAiJHtXRUJfQ09OVEVOVF9S
RVNPVVJDRVNfUEFUSH0iCiAKLWlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gPT0gIm1hY29zeCIg
XV07IHRoZW4KLSAgICBFTlRJVExFTUVOVFNfRklMRT0iJHtXS19QUk9DRVNTRURfWENFTlRfRklM
RX0iCi1lbHNlCi0gICAgRU5USVRMRU1FTlRTX0ZJTEU9IiR7U1JDUk9PVH0vQ29uZmlndXJhdGlv
bnMvV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzIgotZmkKLWVjaG8gIkNvcHlpbmcgV2ViQ29u
dGVudCBlbnRpdGxlbWVudHMgZnJvbSAke0VOVElUTEVNRU5UU19GSUxFfSB0byAke1dFQl9DT05U
RU5UX1JFU09VUkNFU19QQVRIfS9XZWJDb250ZW50LmVudGl0bGVtZW50cyIKLWRpdHRvICIke0VO
VElUTEVNRU5UU19GSUxFfSIgIiR7V0VCX0NPTlRFTlRfUkVTT1VSQ0VTX1BBVEh9L1dlYkNvbnRl
bnQuZW50aXRsZW1lbnRzIgorZWNobyAiQ29weWluZyBXZWJDb250ZW50IGVudGl0bGVtZW50cyBm
cm9tICR7V0tfUFJPQ0VTU0VEX1hDRU5UX0ZJTEV9IHRvICR7V0VCX0NPTlRFTlRfUkVTT1VSQ0VT
X1BBVEh9L1dlYkNvbnRlbnQuZW50aXRsZW1lbnRzIgorZGl0dG8gIiR7V0tfUFJPQ0VTU0VEX1hD
RU5UX0ZJTEV9IiAiJHtXRUJfQ09OVEVOVF9SRVNPVVJDRVNfUEFUSH0vV2ViQ29udGVudC5lbnRp
dGxlbWVudHMiCiAKIFdFQkNPTlRFTlRfWElCPSIke1NSQ1JPT1R9L1Jlc291cmNlcy9XZWJDb250
ZW50UHJvY2Vzcy54aWIiCiBlY2hvICJDb3B5aW5nIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBmcm9t
ICR7V0VCQ09OVEVOVF9YSUJ9IHRvICR7V0VCX0NPTlRFTlRfUkVTT1VSQ0VTX1BBVEh9L1dlYkNv
bnRlbnRQcm9jZXNzLnhpYiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9j
ZXNzLWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0
bGVtZW50cy5zaAppbmRleCA5NjVmMzE2ZTE3ZTRiZTdiN2NiNGQ3NzYzYjg3MWY0YjM5YzI2ZWVh
Li5kMWYwMjk2YjNkZGIyYmE0MzkxM2EyZDY1MzFiYTg0OWIxZGExZTk0IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC0xLDI5ICsxLDMxIEBA
CiAjIS9iaW4vYmFzaAogCi1bWyAke1dLX1BMQVRGT1JNX05BTUV9ID09IG1hY29zeCBdXSB8fCBl
eGl0IDAKLQogZnVuY3Rpb24gcGxpc3RidWRkeSgpCiB7CiAgICAgL3Vzci9saWJleGVjL1BsaXN0
QnVkZHkgLWMgIiQqIiAiJHtXS19QUk9DRVNTRURfWENFTlRfRklMRX0iCiB9CiAKLWZ1bmN0aW9u
IHByb2Nlc3Nfd2ViY29udGVudF9lbnRpdGxlbWVudHMoKQorIyA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CisjIE1hYyBlbnRpdGxlbWVudHMKKyMgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitmdW5jdGlvbiBtYWNfcHJvY2Vzc193ZWJj
b250ZW50X2VudGl0bGVtZW50cygpCiB7CiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5z
ZWN1cml0eS5jcy5hbGxvdy1qaXQgYm9vbCBZRVMKIAotICAgIGlmIFtbICR7V0tfVVNFX1JFU1RS
SUNURURfRU5USVRMRU1FTlRTfSA9PSBZRVMgXV0KKyAgICBpZiBbWyAiJHtXS19VU0VfUkVTVFJJ
Q1RFRF9FTlRJVExFTUVOVFN9IiA9PSBZRVMgXV0KICAgICB0aGVuCiAgICAgICAgIHBsaXN0YnVk
ZHkgQWRkIDpjb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS5XZWJLaXRXZWJDb250ZW50U2FuZGJv
eCBib29sIFlFUwogICAgIGZpCiAKLSAgICBwcm9jZXNzX3dlYmNvbnRlbnRfb3JfcGx1Z2luX2Vu
dGl0bGVtZW50cworICAgIG1hY19wcm9jZXNzX3dlYmNvbnRlbnRfb3JfcGx1Z2luX2VudGl0bGVt
ZW50cwogfQogCi1mdW5jdGlvbiBwcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKK2Z1bmN0
aW9uIG1hY19wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKIHsKLSAgICBpZiBbWyAke1dL
X1VTRV9SRVNUUklDVEVEX0VOVElUTEVNRU5UU30gPT0gWUVTIF1dCisgICAgaWYgW1sgIiR7V0tf
VVNFX1JFU1RSSUNURURfRU5USVRMRU1FTlRTfSIgPT0gWUVTIF1dCiAgICAgdGhlbgotICAgICAg
ICBpZiAoKCAke1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SfSA+PSAxMDE1MDAgKSkKKyAg
ICAgICAgaWYgKCggIiR7VEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1J9IiA+PSAxMDE1MDAg
KSkKICAgICAgICAgdGhlbgogICAgICAgICAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5w
cml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRlIGJvb2wgWUVTCiAgICAgICAgIGZpCkBAIC0z
Miw3ICszNCw3IEBAIGZ1bmN0aW9uIHByb2Nlc3NfbmV0d29ya19lbnRpdGxlbWVudHMoKQogICAg
IGZpCiB9CiAKLWZ1bmN0aW9uIHByb2Nlc3NfcGx1Z2luX2VudGl0bGVtZW50cygpCitmdW5jdGlv
biBtYWNfcHJvY2Vzc19wbHVnaW5fZW50aXRsZW1lbnRzKCkKIHsKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnNlY3VyaXR5LmNzLmFsbG93LWppdCAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5jcy5hbGxv
dy11bnNpZ25lZC1leGVjdXRhYmxlLW1lbW9yeSBib29sIFlFUwpAQCAtNDAsMzcgKzQyLDE0NSBA
QCBmdW5jdGlvbiBwcm9jZXNzX3BsdWdpbl9lbnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkg
QWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuZmlsZXMudXNlci1zZWxlY3RlZC5yZWFkLXdyaXRlICAg
ICAgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LnByaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgWUVTCiAKLSAgICBwcm9jZXNzX3dl
YmNvbnRlbnRfb3JfcGx1Z2luX2VudGl0bGVtZW50cworICAgIG1hY19wcm9jZXNzX3dlYmNvbnRl
bnRfb3JfcGx1Z2luX2VudGl0bGVtZW50cwogfQogCi1mdW5jdGlvbiBwcm9jZXNzX3dlYmNvbnRl
bnRfb3JfcGx1Z2luX2VudGl0bGVtZW50cygpCitmdW5jdGlvbiBtYWNfcHJvY2Vzc193ZWJjb250
ZW50X29yX3BsdWdpbl9lbnRpdGxlbWVudHMoKQogewotICAgIGlmIFtbICR7V0tfVVNFX1JFU1RS
SUNURURfRU5USVRMRU1FTlRTfSA9PSBZRVMgXV0KKyAgICBpZiBbWyAiJHtXS19VU0VfUkVTVFJJ
Q1RFRF9FTlRJVExFTUVOVFN9IiA9PSBZRVMgXV0KICAgICB0aGVuCi0gICAgICAgIGlmICgoICR7
VEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1J9ID49IDEwMTQwMCApKQorICAgICAgICBpZiAo
KCAiJHtUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUn0iID49IDEwMTQwMCApKQogICAgICAg
ICB0aGVuCiAgICAgICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRjYy5kZWxlZ2F0
ZWQtc2VydmljZXMgYXJyYXkKLSAgICAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUu
dGNjLmRlbGVnYXRlZC1zZXJ2aWNlczowIHN0cmluZyBrVENDU2VydmljZUNhbWVyYQogICAgICAg
ICAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS50Y2MuZGVsZWdhdGVkLXNlcnZpY2VzOjEg
c3RyaW5nIGtUQ0NTZXJ2aWNlTWljcm9waG9uZQorICAgICAgICAgICAgcGxpc3RidWRkeSBBZGQg
OmNvbS5hcHBsZS50Y2MuZGVsZWdhdGVkLXNlcnZpY2VzOjAgc3RyaW5nIGtUQ0NTZXJ2aWNlQ2Ft
ZXJhCiAgICAgICAgIGZpCiAKLSAgICAgICAgaWYgW1sgJHtXS19XRUJDT05URU5UX1NFUlZJQ0Vf
TkVFRFNfWFBDX0RPTUFJTl9FWFRFTlNJT05fRU5USVRMRU1FTlR9ID09IFlFUyBdXQorICAgICAg
ICBpZiBbWyAiJHtXS19XRUJDT05URU5UX1NFUlZJQ0VfTkVFRFNfWFBDX0RPTUFJTl9FWFRFTlNJ
T05fRU5USVRMRU1FTlR9IiA9PSBZRVMgXV0KICAgICAgICAgdGhlbgogICAgICAgICAgICAgcGxp
c3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLnhwYy5kb21haW4tZXh0ZW5zaW9uIGJvb2wg
WUVTCiAgICAgICAgIGZpCiAgICAgZmkKIAotICAgIGlmIFtbICR7V0tfWFBDX1NFUlZJQ0VfVkFS
SUFOVH0gPT0gRGV2ZWxvcG1lbnQgXV0KKyAgICBpZiBbWyAiJHtXS19YUENfU0VSVklDRV9WQVJJ
QU5UfSIgPT0gRGV2ZWxvcG1lbnQgXV0KICAgICB0aGVuCiAgICAgICAgIHBsaXN0YnVkZHkgQWRk
IDpjb20uYXBwbGUuc2VjdXJpdHkuY3MuZGlzYWJsZS1saWJyYXJ5LXZhbGlkYXRpb24gYm9vbCBZ
RVMKICAgICBmaQogfQogCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KKyMgbWFjQ2F0YWx5c3QgZW50aXRsZW1lbnRzCisjID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KKworZnVuY3Rpb24gbWFjY2F0YWx5c3RfcHJvY2Vzc193ZWJjb250
ZW50X2VudGl0bGVtZW50cygpCit7CisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1
cml0eS5jcy5hbGxvdy1qaXQgYm9vbCBZRVMKK30KKworZnVuY3Rpb24gbWFjY2F0YWx5c3RfcHJv
Y2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygpCit7CisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5wcml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRlIGJvb2wgWUVTCisgICAgcGxpc3Ri
dWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3JrLmNsaWVudCBib29sIFlFUworfQor
CitmdW5jdGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX3BsdWdpbl9lbnRpdGxlbWVudHMoKQorewor
ICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuY3MuYWxsb3ctaml0ICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxl
LnNlY3VyaXR5LmNzLmFsbG93LXVuc2lnbmVkLWV4ZWN1dGFibGUtbWVtb3J5IGJvb2wgWUVTCisg
ICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5jcy5kaXNhYmxlLWxpYnJhcnkt
dmFsaWRhdGlvbiAgICAgICBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUu
c2VjdXJpdHkuZmlsZXMudXNlci1zZWxlY3RlZC5yZWFkLXdyaXRlICAgICAgYm9vbCBZRVMKKyAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LnByaW50ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgWUVTCit9CisKKworIyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CisjIGlPUyBGYW1pbHkgZW50aXRsZW1lbnRzCisjID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZnVuY3Rpb24gaW9zX2ZhbWlseV9w
cm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzKCkKK3sKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6
Y29tLmFwcGxlLlF1YXJ0ekNvcmUuc2VjdXJlLW1vZGUgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5
IEFkZCA6Y29tLmFwcGxlLlF1YXJ0ekNvcmUud2Via2l0LWVuZC1wb2ludHMgYm9vbCBZRVMKKyAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLmxvY2F0aW9uZC5hdXRob3JpemVhcHBsaWNhdGlv
bnMgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLmxvY2F0aW9uZC5lZmZl
Y3RpdmVfYnVuZGxlIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLmFsbG93LWV4cGxpY2l0LWdyYXBoaWNzLXByaW9yaXR5IGJvb2wgWUVTCisgICAgcGxpc3Ri
dWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLmNvcmVtZWRpYS5leHRlbnNpb25zLmF1ZGlvcmVj
b3JkaW5nLmFsbG93IGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLmNvcmVtZWRpYS5waWRpbmhlcml0YW5jZS5hbGxvdyBib29sIFlFUworICAgIHBsaXN0YnVk
ZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnlzdGF0dXMgYm9vbCBZRVMKKyAgICBwbGlz
dGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUgYm9v
bCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9y
LmFsbG93LXJlbW90ZS1pbnNwZWN0aW9uIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNv
bS5hcHBsZS5wcml2YXRlLndlYmluc3BlY3Rvci5wcm94eS1hcHBsaWNhdGlvbiBib29sIFlFUwor
ICAgIHBsaXN0YnVkZHkgQWRkIDpkeW5hbWljLWNvZGVzaWduaW5nIGJvb2wgWUVTCisKKyAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRjYy5kZWxlZ2F0ZWQtc2VydmljZXMgYXJyYXkKKyAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRjYy5kZWxlZ2F0ZWQtc2VydmljZXM6MCBzdHJp
bmcga1RDQ1NlcnZpY2VDYW1lcmEKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRjYy5k
ZWxlZ2F0ZWQtc2VydmljZXM6MSBzdHJpbmcga1RDQ1NlcnZpY2VNaWNyb3Bob25lCisKKyAgICBw
bGlzdGJ1ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXMgYXJyYXkKKyAgICBwbGlzdGJ1ZGR5IEFk
ZCA6c2VhdGJlbHQtcHJvZmlsZXM6MCBzdHJpbmcgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50
Cit9CisKK2Z1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygp
Cit7CisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5tdWx0aXRhc2tpbmcuc3lzdGVtYXBw
YXNzZXJ0aW9ucyBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucGF5bWVu
dC5hbGwtYWNjZXNzIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLmFjY291bnRzLmJ1bmRsZWlkc3Bvb2ZpbmcgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUuZG1kLnBvbGljeSBib29sIFlFUworICAgIHBsaXN0YnVkZHkg
QWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnlzdGF0dXMgYm9vbCBZRVMKKyAgICBwbGlzdGJ1
ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUgYm9vbCBZ
RVMKKworICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlcyBhcnJheQorICAgIHBs
aXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlczowIHN0cmluZyBjb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtpbmcKK30KKworZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX3BsdWdpbl9lbnRp
dGxlbWVudHMoKQoreworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuY3Mu
YWxsb3ctaml0ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5
IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LmNzLmFsbG93LXVuc2lnbmVkLWV4ZWN1dGFibGUtbWVt
b3J5IGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5jcy5k
aXNhYmxlLWxpYnJhcnktdmFsaWRhdGlvbiAgICAgICBib29sIFlFUworICAgIHBsaXN0YnVkZHkg
QWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuZmlsZXMudXNlci1zZWxlY3RlZC5yZWFkLXdyaXRlICAg
ICAgYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LnByaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgWUVTCit9CisKKwogcm0gLWYgIiR7
V0tfUFJPQ0VTU0VEX1hDRU5UX0ZJTEV9IgotW1sgJHtSQ19YQlN9ID09ICJZRVMiIF1dIHx8IHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuZ2V0LXRhc2stYWxsb3cgYm9vbCBZRVMK
K3BsaXN0YnVkZHkgQ2xlYXIgZGljdAogCi1bWyAke1BST0RVQ1RfTkFNRX0gPX4gY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50KC5EZXZlbG9wbWVudCk/IF1dICYmIHByb2Nlc3Nfd2ViY29udGVu
dF9lbnRpdGxlbWVudHMKLVtbICR7UFJPRFVDVF9OQU1FfSA9PSBjb20uYXBwbGUuV2ViS2l0Lk5l
dHdvcmtpbmcgXV0gJiYgcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cwotW1sgJHtQUk9EVUNU
X05BTUV9ID09IGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLjY0IF1dICYmIHByb2Nlc3NfcGx1Z2lu
X2VudGl0bGVtZW50cworaWYgW1sgIiR7V0tfUExBVEZPUk1fTkFNRX0iID1+IC4qc2ltdWxhdG9y
IF1dCit0aGVuCisgICAgW1sgIiR7UkNfWEJTfSIgIT0gWUVTIF1dICYmIHBsaXN0YnVkZHkgQWRk
IDpjb20uYXBwbGUuc2VjdXJpdHkuZ2V0LXRhc2stYWxsb3cgYm9vbCBZRVMKK2VsaWYgW1sgIiR7
V0tfUExBVEZPUk1fTkFNRX0iID09IG1hY29zeCBdXQordGhlbgorICAgIFtbICIke1JDX1hCU30i
ICE9IFlFUyBdXSAmJiBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LmdldC10YXNr
LWFsbG93IGJvb2wgWUVTCisKKyAgICBpZiBbWyAiJHtQUk9EVUNUX05BTUV9IiA9PSBjb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxvcG1lbnQgXV07IHRoZW4gbWFjX3Byb2Nlc3Nfd2Vi
Y29udGVudF9lbnRpdGxlbWVudHMKKyAgICBlbGlmIFtbICIke1BST0RVQ1RfTkFNRX0iID09IGNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBdXTsgdGhlbiBtYWNfcHJvY2Vzc193ZWJjb250ZW50
X2VudGl0bGVtZW50cworICAgIGVsaWYgW1sgIiR7UFJPRFVDVF9OQU1FfSIgPT0gY29tLmFwcGxl
LldlYktpdC5OZXR3b3JraW5nIF1dOyB0aGVuIG1hY19wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1l
bnRzCisgICAgZWxpZiBbWyAiJHtQUk9EVUNUX05BTUV9IiA9PSBjb20uYXBwbGUuV2ViS2l0LlBs
dWdpbi42NCBdXTsgdGhlbiBtYWNfcHJvY2Vzc19wbHVnaW5fZW50aXRsZW1lbnRzCisgICAgZWxz
ZSBlY2hvICJVbnN1cHBvcnRlZC91bmtub3duIHByb2R1Y3Q6ICR7UFJPRFVDVF9OQU1FfSIKKyAg
ICBmaQorZWxpZiBbWyAiJHtXS19QTEFURk9STV9OQU1FfSIgPT0gbWFjY2F0YWx5c3QgfHwgIiR7
V0tfUExBVEZPUk1fTkFNRX0iID09IGlvc21hYyBdXQordGhlbgorICAgIFtbICIke1JDX1hCU30i
ICE9IFlFUyAmJiAoICIke1BST0RVQ1RfTkFNRX0iID09IGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudC5EZXZlbG9wbWVudCB8fCAiJHtQUk9EVUNUX05BTUV9IiA9PSBjb20uYXBwbGUuV2ViS2l0
LlBsdWdpbi42NCApIF1dICYmIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuZ2V0
LXRhc2stYWxsb3cgYm9vbCBZRVMKKworICAgIGlmIFtbICIke1BST0RVQ1RfTkFNRX0iID09IGNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudCBdXTsgdGhlbiBtYWNjYXRhbHlz
dF9wcm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzCisgICAgZWxpZiBbWyAiJHtQUk9EVUNU
X05BTUV9IiA9PSBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgXV07IHRoZW4gbWFjY2F0YWx5
c3RfcHJvY2Vzc193ZWJjb250ZW50X2VudGl0bGVtZW50cworICAgIGVsaWYgW1sgIiR7UFJPRFVD
VF9OQU1FfSIgPT0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIF1dOyB0aGVuIG1hY2NhdGFs
eXN0X3Byb2Nlc3NfbmV0d29ya19lbnRpdGxlbWVudHMKKyAgICBlbGlmIFtbICIke1BST0RVQ1Rf
TkFNRX0iID09IGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLjY0IF1dOyB0aGVuIG1hY2NhdGFseXN0
X3Byb2Nlc3NfcGx1Z2luX2VudGl0bGVtZW50cworICAgIGVsc2UgZWNobyAiVW5zdXBwb3J0ZWQv
dW5rbm93biBwcm9kdWN0OiAke1BST0RVQ1RfTkFNRX0iCisgICAgZmkKK2VsaWYgW1sgIiR7V0tf
UExBVEZPUk1fTkFNRX0iID09IGlwaG9uZW9zIHx8CisgICAgICAgICIke1dLX1BMQVRGT1JNX05B
TUV9IiA9PSBhcHBsZXR2b3MgfHwKKyAgICAgICAgIiR7V0tfUExBVEZPUk1fTkFNRX0iID09IHdh
dGNob3MgXV0KK3RoZW4KKyAgICBpZiBbWyAiJHtQUk9EVUNUX05BTUV9IiA9PSBjb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxvcG1lbnQgXV07IHRoZW4gdHJ1ZQorICAgIGVsaWYgW1sg
IiR7UFJPRFVDVF9OQU1FfSIgPT0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IF1dOyB0aGVu
IGlvc19mYW1pbHlfcHJvY2Vzc193ZWJjb250ZW50X2VudGl0bGVtZW50cworICAgIGVsaWYgW1sg
IiR7UFJPRFVDVF9OQU1FfSIgPT0gY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIF1dOyB0aGVu
IGlvc19mYW1pbHlfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cworICAgIGVsaWYgW1sgIiR7
UFJPRFVDVF9OQU1FfSIgPT0gY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQgXV07IHRoZW4gaW9z
X2ZhbWlseV9wcm9jZXNzX3BsdWdpbl9lbnRpdGxlbWVudHMKKyAgICBlbHNlIGVjaG8gIlVuc3Vw
cG9ydGVkL3Vua25vd24gcHJvZHVjdDogJHtQUk9EVUNUX05BTUV9IgorICAgIGZpCitlbHNlCisg
ICAgZWNobyAiVW5zdXBwb3J0ZWQvdW5rbm93biBwbGF0Zm9ybTogJHtXS19QTEFURk9STV9OQU1F
fSIKK2ZpCiAKIGV4aXQgMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMGEyYjE5MmZmODc1ZDVmMDVhZDJiZWMxNGE5YWVjMzQyNDMwMmNk
OS4uMjlhYWRlN2Y2ODUwNjMwNzQyOTQ5YmU4N2MwZTI1YjczNzA2YTIxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MCw3ICs2MCw2
IEBACiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQzBDRTcyODkxMjQ3RTY4NjAwQkMwRUM0
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJEZXJp
dmVkIFNvdXJjZXMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCiAJCQkJQzBDRTcyODQxMjQ3RTY2
ODAwQkMwRUM0IC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKLQkJCQkzNzQwRTcyODFC
MjM3MjRBMDA0QURFRjEgLyogRGVyaXZlIEVudGl0bGVtZW50cyBmb3IgTWFudWFsIFNhbmRib3hp
bmcgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJKTsKQEAgLTI5NjksOCArMjk2
OCw2IEBACiAJCTM3MEYzNEE0MTgyOUJFQTMwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOYXZpZ2F0aW9uRGF0
YUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MEYzNEE2MTgyOUNG
RjMwMDkwMjdDOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEhpc3RvcnlEZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Jyb3dzaW5nQ29udGV4dEhpc3RvcnlEZWxlZ2F0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzExOUE3QzIwQ0NCNjRFMDAyQzZE
QzkgLyogV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdl
YktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMzcxMTlBN0QyMENDQjY0RTAwMkM2REM5IC8qIE5ldHdvcmstbWFjQ2F0YWx5c3QuZW50
aXRsZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5wbGlzdC5lbnRpdGxlbWVudHM7IHBhdGggPSAiTmV0d29yay1tYWNDYXRhbHlzdC5l
bnRpdGxlbWVudHMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzNzExOUE3RTIwQ0NC
NjRFMDAyQzZEQzkgLyogV2ViQ29udGVudC1tYWNDYXRhbHlzdC5lbnRpdGxlbWVudHMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LmVu
dGl0bGVtZW50czsgcGF0aCA9ICJXZWJDb250ZW50LW1hY0NhdGFseXN0LmVudGl0bGVtZW50cyI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MTgzRDU0MTgyRjRFNzAwMDgwQzgxMSAv
KiBXS05TVVJMRXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV0tOU1VSTEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxODNE
NTUxODJGNEU3MDAwODBDODExIC8qIFdLTlNVUkxFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tOU1VSTEV4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzNzFBMTkzRjE4MjREMjkzMDBGMzJBNUUgLyogV0tOU0RpY3Rpb25hcnkubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS05TRGljdGlvbmFyeS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0NDQsNyArMzQ0MSw2IEBACiAJCTUzMjE1OTUy
MURCQUU2RkMwMDU0QUEzQyAvKiBOZXR3b3JrU2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrU2Vzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUzNUJDQjkwMjA2OUM0OUMwMENDQ0UwMiAvKiBOZXR3b3JrQWN0aXZpdHlU
cmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtBY3Rpdml0eVRyYWNrZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTM1RTA4Q0EyMjU0NjBGQzAwREYwMENBIC8qIHBvc3Rw
cm9jZXNzLWhlYWRlci1ydWxlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAicG9z
dHByb2Nlc3MtaGVhZGVyLXJ1bGUiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MzZG
NDZEMzIyMEQzODUxMDAxMjYzMjIgLyogUGx1Z2luU2VydmljZS5lbnRpdGxlbWVudHMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnBsaXN0LmVudGl0bGVtZW50czsgcGF0aCA9IFBsdWdpblNlcnZpY2UuZW50aXRs
ZW1lbnRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MzlFQjU0NjFEQzJFRTQwMDA5
RDQ4Q0YgLyogTmV0d29ya0RhdGFUYXNrQmxvYi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOZXR3b3JrRGF0YVRhc2tCbG9iLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTM5RUI1NDcxREMyRUU0MDAwOUQ0OENGIC8qIE5ldHdvcmtEYXRhVGFza0Js
b2IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0RhdGFUYXNrQmxv
Yi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0IxNjQwRjIyMDM3MTUwMDBFQzQx
NjYgLyogcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5zaDsg
cGF0aCA9ICJwcm9jZXNzLWVudGl0bGVtZW50cy5zaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zNzA5LDggKzM3MDUsNiBAQAogCQk3QUZCRDM2RTIxRTU0NkUzMDA1REJBQ0IgLyog
UGVyc2lzdGVuY3lVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJzaXN0ZW5jeVV0aWxz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MwNjVGMjkxQzhDRDk1RjAwQzJE
OTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlw
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzA2NUYyQTFDOENEOTVGMDBD
MkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QzBCQjlBODE4RENERTg5MDAwNkMwODYg
LyogV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54bWw7IHBhdGggPSAiV2ViQ29udGVudC1pT1Mu
ZW50aXRsZW1lbnRzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0MwQkI5QTkxOERD
REY1QTAwMDZDMDg2IC8qIE5ldHdvcmstaU9TLmVudGl0bGVtZW50cyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueG1sOyBwYXRoID0gIk5ldHdv
cmstaU9TLmVudGl0bGVtZW50cyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMTM1
QUE2MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUGx1Z2luSW5mb3JtYXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzEzNUFBNzE3M0IwQkNBMDA1ODZBRTIgLyogV0tQ
bHVnaW5JbmZvcm1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Bs
dWdpbkluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMTM1QUFB
MTczQjBDRkYwMDU4NkFFMiAvKiBQbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdpbkluZm9ybWF0aW9uTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTAwMywxOSArNDk5NywxNCBAQAogCQkJCUJDQUND
NDBEMTZCMEI3QkUwMEI2RTA5MiAvKiBCYXNlWFBDU2VydmljZS54Y2NvbmZpZyAqLywKIAkJCQkx
QTRGOTc2QjEwMEU3QjY2MDA2MzdBMTggLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovLAogCQkJ
CTFBNEY5NzZDMTAwRTdCNjYwMDYzN0ExOCAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLywK
LQkJCQk3QzBCQjlBOTE4RENERjVBMDAwNkMwODYgLyogTmV0d29yay1pT1MuZW50aXRsZW1lbnRz
ICovLAotCQkJCTM3MTE5QTdEMjBDQ0I2NEUwMDJDNkRDOSAvKiBOZXR3b3JrLW1hY0NhdGFseXN0
LmVudGl0bGVtZW50cyAqLywKIAkJCQlCQzgyODNBQjE2QjRCRUFEMDBBMjc4RkUgLyogTmV0d29y
a1NlcnZpY2UueGNjb25maWcgKi8sCiAJCQkJQTFFREQyREIxODg0Qjk2NDAwQkJGRTk4IC8qIFBs
dWdpblByb2Nlc3NTaGltLnhjY29uZmlnICovLAogCQkJCUJDODI4M0Y0MTZCNEZDNTMwMEEyNzhG
RSAvKiBQbHVnaW5TZXJ2aWNlLjY0LnhjY29uZmlnICovLAotCQkJCTUzNkY0NkQzMjIwRDM4NTEw
MDEyNjMyMiAvKiBQbHVnaW5TZXJ2aWNlLmVudGl0bGVtZW50cyAqLywKIAkJCQkzN0U4M0Q0MDFC
MzdEMjdCMDAyMDc5RUUgLyogU2FuZGJveFByb2ZpbGVzLnhjY29uZmlnICovLAogCQkJCUExQjg5
QjkyMjIxRTAyMzMwMEVCNENFQSAvKiBTREtWYXJpYW50LnhjY29uZmlnICovLAogCQkJCUExRURE
MkRDMTg4NEI5QjUwMEJCRkU5OCAvKiBTZWNJdGVtU2hpbS54Y2NvbmZpZyAqLywKIAkJCQk1MTgz
QjM5MzEzNzlGODVDMDBFODc1NEUgLyogU2hpbS54Y2NvbmZpZyAqLywKIAkJCQkxQTRGOTc2RTEw
MEU3QjY2MDA2MzdBMTggLyogVmVyc2lvbi54Y2NvbmZpZyAqLywKLQkJCQk3QzBCQjlBODE4RENE
RTg5MDAwNkMwODYgLyogV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzICovLAotCQkJCTM3MTE5
QTdFMjBDQ0I2NEUwMDJDNkRDOSAvKiBXZWJDb250ZW50LW1hY0NhdGFseXN0LmVudGl0bGVtZW50
cyAqLywKIAkJCQkzNzJFQkI0QTIwMTdFNzYwMDAwODUwNjQgLyogV2ViQ29udGVudFNlcnZpY2Uu
RGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCiAJCQkJQkNBQ0M0MEUxNkIwQjhBODAwQjZFMDkyIC8q
IFdlYkNvbnRlbnRTZXJ2aWNlLnhjY29uZmlnICovLAogCQkJCUJDQjg2RjRCMTE2QUFBQ0QwMENF
MjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi8sCkBAIC0xMDcxOSwyOCArMTA3MDgsNiBAQAogCQkJ
c2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsgXCIke0FDVElPTn1c
IiA9IFwiaW5zdGFsbGhkcnNcIiBdIHx8IFsgXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbGFwaVwi
IF07IHRoZW5cbiAgICBleGl0IDA7XG5maVxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMv
Y2hlY2stZm9yLWluYXBwcm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBdOyB0aGVuXG4gICAgLi4v
Li4vVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItaW5hcHByb3ByaWF0ZS1vYmpjLWNsYXNzLW5hbWVz
IFdLIF9XSyB8fCBleGl0ICQ/XG5maSI7CiAJCX07Ci0JCTM3NDBFNzI4MUIyMzcyNEEwMDRBREVG
MSAvKiBEZXJpdmUgRW50aXRsZW1lbnRzIGZvciBNYW51YWwgU2FuZGJveGluZyAqLyA9IHsKLQkJ
CWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCSk7Ci0JCQlpbnB1dFBhdGhzID0gKAotCQkJCSIk
KFNSQ1JPT1QpL0NvbmZpZ3VyYXRpb25zL05ldHdvcmstaU9TLmVudGl0bGVtZW50cyIsCi0JCQkJ
IiQoU1JDUk9PVCkvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzIiwK
LQkJCQkiJChTUkNST09UKS9Db25maWd1cmF0aW9ucy9OZXR3b3JrLW1hY0NhdGFseXN0LmVudGl0
bGVtZW50cyIsCi0JCQkJIiQoU1JDUk9PVCkvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudC1tYWND
YXRhbHlzdC5lbnRpdGxlbWVudHMiLAotCQkJKTsKLQkJCW5hbWUgPSAiRGVyaXZlIEVudGl0bGVt
ZW50cyBmb3IgTWFudWFsIFNhbmRib3hpbmciOwotCQkJb3V0cHV0UGF0aHMgPSAoCi0JCQkJIiQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmstaU9TLW5v
LXNhbmRib3guZW50aXRsZW1lbnRzIiwKLQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGVudC1pT1Mtbm8tc2FuZGJveC5lbnRpdGxlbWVudHMi
LAotCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3
b3JrLW1hY0NhdGFseXN0LW5vLXNhbmRib3guZW50aXRsZW1lbnRzIiwKLQkJCQkiJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGVudC1tYWNDYXRhbHlz
dC1uby1zYW5kYm94LmVudGl0bGVtZW50cyIsCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0JCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxT
Y3JpcHQgPSAiaWYgW1sgXCIke1dLX01BTlVBTF9TQU5EQk9YSU5HX0VOQUJMRUR9XCIgIT0gXCJZ
RVNcIiB8fCBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwiIF1dOyB0aGVuXG4g
ICAgZXhpdFxuZmlcblxuaWYgW1sgXCIke0FDVElPTn1cIiA9PSBcImJ1aWxkXCIgfHwgXCIke0FD
VElPTn1cIiA9PSBcImluc3RhbGxcIiBdXTsgdGhlblxuICAgIGZvciAoKGkgPSAwOyBpIDwgJHtT
Q1JJUFRfSU5QVVRfRklMRV9DT1VOVH07ICsraSkpOyBkb1xuICAgICAgICBldmFsIEVOVElUTEVN
RU5UUz1cXCR7U0NSSVBUX0lOUFVUX0ZJTEVfJHtpfX1cbiAgICAgICAgRU5USVRMRU1FTlRTX0JB
U0U9JHtFTlRJVExFTUVOVFMjIyovfVxuICAgICAgICBFTlRJVExFTUVOVFNfQkFTRT0ke0VOVElU
TEVNRU5UU19CQVNFJS5lbnRpdGxlbWVudHN9XG4gICAgICAgIHBsdXRpbCAtcmVtb3ZlIHNlYXRi
ZWx0LXByb2ZpbGVzIC1vIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvJHtFTlRJVExFTUVOVFNfQkFTRX0tbm8tc2FuZGJveC5lbnRpdGxlbWVudHNcIiBcIiR7
RU5USVRMRU1FTlRTfVwiXG4gICAgZG9uZVxuZmlcbiI7Ci0JCX07CiAJCTM3NUEyNDg4MTdFNTA0
OEUwMEM5QTA4NiAvKiBQb3N0cHJvY2VzcyBXS0Jhc2UuaCAqLyA9IHsKIAkJCWlzYSA9IFBCWFNo
ZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBA
IC0xMDc3Nyw5ICsxMDc0NCw4IEBACiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJaW5wdXRQYXRocyA9ICgKLQkJ
CQkiJChURU1QX0ZJTEVfRElSKS8kKEZVTExfUFJPRFVDVF9OQU1FKS54Y2VudCIsCisJCQkJIiQo
V0tfUFJPQ0VTU0VEX1hDRU5UX0ZJTEUpIiwKIAkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpLyQo
SU5GT1BMSVNUX1BBVEgpIiwKLQkJCQkiJHtTUkNST09UfS9Db25maWd1cmF0aW9ucy9XZWJDb250
ZW50LWlPUy5lbnRpdGxlbWVudHMiLAogCQkJCSIkKFNSQ1JPT1QpL1Jlc291cmNlcy9XZWJDb250
ZW50UHJvY2Vzcy54aWIiLAogCQkJKTsKIAkJCW5hbWUgPSAiQ29weSBDdXN0b20gV2ViQ29udGVu
dCBSZXNvdXJjZXMgdG8gRnJhbWV3b3JrIFByaXZhdGUgSGVhZGVycyI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>