<?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>171205</bug_id>
          
          <creation_ts>2017-04-23 15:15:49 -0700</creation_ts>
          <short_desc>[GStreamer] WebKit improperly handles missing GStreamer elements</short_desc>
          <delta_ts>2018-02-08 10:39:37 -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>Media</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=171211</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=171161</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dirk.fizzlebeef</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>dirk.fizzlebeef</cc>
    
    <cc>magomez</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1300373</commentid>
    <comment_count>0</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-23 15:15:49 -0700</bug_when>
    <thetext>When I go to midori-browser.org in Midori, I can see the page for an instant before it goes blank. The following messages are produced in the console: 

    (WebKitWebProcess:27301): GLib-GObject-CRITICAL **: g_object_set: assertion &apos;G_IS_OBJECT (object)&apos; failed 

    ** (WebKitWebProcess:27301): CRITICAL **: file /var/tmp/portage/media-libs/gst-plugins-base-1.10.3/work/gst-plugins-base-1.10.3/gst-libs/gst/audio/gstaudioringbuffer.c: line 1993 (gst_audio_ring_buffer_set_channel_positions): should not be reached 


Second, every time I attempt to open the web inspector on any page, it shows an error page that begins with &quot;Web Inspector encountered an internal error&quot; and this error is in the console: 

    (midori4:27162): Gtk-WARNING **: Allocating size to WebKitWebViewBase 0x10f8700 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? 

I asked about these bugs in the #midori channel on Freenode and was told it&apos;s a regression in WebKit GTK, so I&apos;m opening the bug here instead of there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300378</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 16:29:17 -0700</bug_when>
    <thetext>What version of WebKitGTK+?

(In reply to dirk.fizzlebeef from comment #0)
&gt; When I go to midori-browser.org in Midori, I can see the page for an instant
&gt; before it goes blank. The following messages are produced in the console: 
&gt; 
&gt;     (WebKitWebProcess:27301): GLib-GObject-CRITICAL **: g_object_set:
&gt; assertion &apos;G_IS_OBJECT (object)&apos; failed 

This is the first problem, so let&apos;s worry about this one first. Could you get a backtrace to it please, using G_DEBUG=fatal-criticals?

&gt; Second, every time I attempt to open the web inspector on any page, it shows
&gt; an error page that begins with &quot;Web Inspector encountered an internal error&quot;

Since this web inspector error is unrelated, please file a second bug for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300383</commentid>
    <comment_count>2</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-23 17:11:51 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #1)
&gt; What version of WebKitGTK+?

Sorry about that. I&apos;m using version 2.16.1 with the following features:

    [ Legend : U - final flag setting for installation]
    [        : I - package is installed with flag     ]
    [ Colors : set, unset                             ]
     * Found these USE flags for net-libs/webkit-gtk-2.16.1:
     U I
     - - coverage      : Enable code coverage support
     - - doc           : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
     + + egl           : Enable EGL support
     - - geolocation   : Enable geolocation support through app-misc/geoclue
     - - gles2         : Enable GLESv2 support
     - - gnome-keyring : Enable support for storing passwords via gnome-keyring
     + + gstreamer     : Add support for media-libs/gstreamer (Streaming media)
     - - introspection : Add support for GObject based introspection
     + + jit           : Enable just-in-time compilation for improved performance. May prevent use of some PaX memory protection features in Gentoo Hardened.
     - - libnotify     : Enable desktop notification support
     - - nsplugin      : Build plugin for browsers supporting the Netscape plugin architecture (that is almost any modern browser)
     + + opengl        : Add support for OpenGL (3D graphics)
     - - spell         : Add dictionary support
     - - test          : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don&apos;t set it in make.conf/package.use
                         anymore
     - - wayland       : Enable dev-libs/wayland backend
     + + webgl         : Build support for the WebGL HTML API using virtual/opengl

&gt; &gt; When I go to midori-browser.org in Midori, I can see the page for an instant
&gt; &gt; before it goes blank. The following messages are produced in the console: 
&gt; &gt; 
&gt; &gt;     (WebKitWebProcess:27301): GLib-GObject-CRITICAL **: g_object_set:
&gt; &gt; assertion &apos;G_IS_OBJECT (object)&apos; failed 
&gt; 
&gt; This is the first problem, so let&apos;s worry about this one first. Could you
&gt; get a backtrace to it please, using G_DEBUG=fatal-criticals?

I ran `G_DEBUG=fatal_criticals gdb midori` and hit that page, but I didn&apos;t see any additional information. I also tried setting `G_DEBUG=fatal-criticals` as well as setting it inside gdb using `set environment G_DEBUG=fatal_criticals` and `set environment G_DEBUG=fatal-criticals`. (I tried both because the glib docs say it is an underscore.) However, I only see a little additonal information:

    RenderNamedFlowThread 0x7fff90b7bc00 willBeDestroyed

    (WebKitWebProcess:18169): GLib-GObject-CRITICAL **: g_object_set: assertion &apos;G_IS_OBJECT (object)&apos; failed
    [New Thread 0x7fff7a12f700 (LWP 18334)]
    [Thread 0x7fff7892c700 (LWP 18174) exited]
    [Thread 0x7fff88be3700 (LWP 18043) exited]

&gt; &gt; Second, every time I attempt to open the web inspector on any page, it shows
&gt; &gt; an error page that begins with &quot;Web Inspector encountered an internal error&quot;
&gt; 
&gt; Since this web inspector error is unrelated, please file a second bug for
&gt; this.

Done: https://bugs.webkit.org/show_bug.cgi?id=171207</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300385</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 17:48:50 -0700</bug_when>
    <thetext>It&apos;s G_DEBUG=fatal-criticals with the hyphen, not the underscore. That will cause the web process to crash when it hits the critical, so you can get a backtrace out of coredumpctl. (If you don&apos;t have coredumpctl enabled, you&apos;ll have to attach to the web process with gdb before navigating to that page.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300393</commentid>
    <comment_count>4</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-23 19:16:33 -0700</bug_when>
    <thetext>Sorry, I don&apos;t understand. What do I need to do?

By the way, I installed surf and ran into the same issue on the same website.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300401</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-04-23 19:44:37 -0700</bug_when>
    <thetext>Can you try to run a new instance of the browser after exporting this environment variable?

export WEBKIT_DISABLE_COMPOSITING_MODE=1


Does it make a difference?


Can you upload a txt file with the output of running the command glxinfo on your computer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300402</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:18:44 -0700</bug_when>
    <thetext>(In reply to dirk.fizzlebeef from comment #4)
&gt; Sorry, I don&apos;t understand. What do I need to do?
&gt; 
&gt; By the way, I installed surf and ran into the same issue on the same website.

You need to make the WebKitWebProcess crash on that critical, and then get a backtrace from the resulting core dump. That way we can see where the critical is occurring. Instructions for Gentoo:

https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces

Note: it&apos;s much easier to just let it crash and then open the backtrace in coredumpctl if you have it. &apos;coredumpctl gdb&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300403</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:19:48 -0700</bug_when>
    <thetext>Hm, since you use Gentoo, please do make sure you have built all packages that appear in the backtrace with debuginfo. We don&apos;t want to see missing ????? lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300405</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-04-23 20:23:01 -0700</bug_when>
    <thetext>(In reply to dirk.fizzlebeef from comment #4)
&gt; Sorry, I don&apos;t understand. What do I need to do?
&gt; 
&gt; By the way, I installed surf and ran into the same issue on the same website.

Here are some good instructions about how to generate a coredump and obtain a backtrace from it: https://trac.webkit.org/wiki/WebKitGTK/Debugging#Gettingabacktracefromacoredump</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300406</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:27:43 -0700</bug_when>
    <thetext>Hmmm actually, I can reproduce this, except for the criticals you see, which must be a separate issue. Disabling compositing mode makes no difference: the Midori webpage disappears soon either way. (I doubt it&apos;s using compositing mode anyway.) I think this is probably bug #171161, but let&apos;s proceed separately for now. And please do still post a backtrace for that first critical, since I can&apos;t reproduce that.

Note: if I load the Midori page with trunk I hit this assertion in image decoders:

ASSERTION FAILED: m_deletionHasBegun
../../Source/WTF/wtf/RefCounted.h(84) : WTF::RefCountedBase::~RefCountedBase()
1   0x7fceae2bae31 /home/mcatanzaro/Projects/GNOME/install/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7fceae2bae31]
2   0x7fceb680990d /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF14RefCountedBaseD1Ev+0x3f) [0x7fceb680990d]
3   0x7fceb85ab3ec /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF10RefCountedIN7WebCore12ImageDecoderEED1Ev+0x18) [0x7fceb85ab3ec]
4   0x7fceb85aafc4 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore12ImageDecoderD1Ev+0x70) [0x7fceb85aafc4]
5   0x7fceb85bc448 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15PNGImageDecoderD1Ev+0x3c) [0x7fceb85bc448]
6   0x7fceb85bc464 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15PNGImageDecoderD0Ev+0x18) [0x7fceb85bc464]
7   0x7fceb85b80c7 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt14default_deleteIN7WebCore15PNGImageDecoderEEclEPS1_+0x23) [0x7fceb85b80c7]
8   0x7fceb85b7343 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZNSt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS1_EED1Ev+0x47) [0x7fceb85b7343]
9   0x7fceb85b8647 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF16VectorDestructorILb1ESt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS3_EEE8destructEPS6_S8_+0x2e) [0x7fceb85b8647]
10  0x7fceb85b7954 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF20VectorTypeOperationsISt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS3_EEE8destructEPS6_S8_+0x23) [0x7fceb85b7954]
11  0x7fceb85b8978 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF6VectorISt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS3_EELm0ENS_15CrashOnOverflowELm16EE6shrinkEm+0x78) [0x7fceb85b8978]
12  0x7fceb85b7be1 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF6VectorISt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS3_EELm0ENS_15CrashOnOverflowELm16EE14shrinkCapacityEm+0x55) [0x7fceb85b7be1]
13  0x7fceb85b7083 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF6VectorISt10unique_ptrIN7WebCore15PNGImageDecoderESt14default_deleteIS3_EELm0ENS_15CrashOnOverflowELm16EE5clearEv+0x1d) [0x7fceb85b7083]
14  0x7fceb85b5d36 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ICOImageDecoder9setFailedEv+0x30) [0x7fceb85b5d36]
15  0x7fceb85b65d1 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ICOImageDecoder13decodeAtIndexEm+0x3f1) [0x7fceb85b65d1]
16  0x7fceb85b603a /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ICOImageDecoder6decodeEmb+0x5a) [0x7fceb85b603a]
17  0x7fceb85b5d00 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ICOImageDecoder18frameBufferAtIndexEm+0x74) [0x7fceb85b5d00]
18  0x7fceb85a9666 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore12ImageDecoder23createFrameImageAtIndexEmNS_16SubsamplingLevelERKNS_15DecodingOptionsE+0x7a) [0x7fceb85a9666]
19  0x7fceb7e75dab /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ImageFrameCache25frameAtIndexCacheIfNeededEmNS_10ImageFrame7CachingERKSt8optionalINS_16SubsamplingLevelEE+0x1a1) [0x7fceb7e75dab]
20  0x7fceb7e7a85b /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ImageFrameCache33frameMetadataAtIndexCacheIfNeededIN3WTF6RefPtrI14_cairo_surfaceEEJNS_10ImageFrame7CachingERNS_16SubsamplingLevelEEEET_mMS6_KFSA_vEPSt8optionalISA_EDpOT0_+0xd1) [0x7fceb7e7a85b]
21  0x7fceb7e76789 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15ImageFrameCache30frameImageAtIndexCacheIfNeededEmNS_16SubsamplingLevelE+0x67) [0x7fceb7e76789]
22  0x7fceb7e7da6a /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore11ImageSource30frameImageAtIndexCacheIfNeededEmNS_16SubsamplingLevelEPKNS_15GraphicsContextE+0x50) [0x7fceb7e7da6a]
23  0x7fceb7df42a8 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore11BitmapImage30frameImageAtIndexCacheIfNeededEmNS_16SubsamplingLevelEPKNS_15GraphicsContextE+0xfc) [0x7fceb7df42a8]
24  0x7fceb7df4328 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore11BitmapImage26nativeImageForCurrentFrameEPKNS_15GraphicsContextE+0x38) [0x7fceb7df4328]
25  0x7fceb6dac2ba /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(+0x56fc2ba) [0x7fceb6dac2ba]
26  0x7fceb6dac449 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(+0x56fc449) [0x7fceb6dac449]
27  0x7fceb6dac8a6 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(+0x56fc8a6) [0x7fceb6dac8a6]
28  0x7fceb69fe3e2 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit21WebIconDatabaseClient23iconDataReadyForPageURLEPNS_15WebIconDatabaseEPN3API3URLE+0x5c) [0x7fceb69fe3e2]
29  0x7fceb69fb6dd /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit15WebIconDatabase29notifyIconDataReadyForPageURLERKN3WTF6StringE+0x49) [0x7fceb69fb6dd]
30  0x7fceb69fb321 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit15WebIconDatabase27didImportIconDataForPageURLERKN3WTF6StringE+0x23) [0x7fceb69fb321]
31  0x7fceb7bdb929 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(+0x652b929) [0x7fceb7bdb929]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300409</commentid>
    <comment_count>10</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-23 20:33:42 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #5)
&gt; Can you try to run a new instance of the browser after exporting this
&gt; environment variable?
&gt; 
&gt; export WEBKIT_DISABLE_COMPOSITING_MODE=1
&gt; 
&gt; 
&gt; Does it make a difference?

No difference.

&gt; Can you upload a txt file with the output of running the command glxinfo on
&gt; your computer?

http://ix.io/rDe

I&apos;ll work on getting that backtrace...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300410</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:34:23 -0700</bug_when>
    <thetext>I filed bug #171211 for the image decoder crash. Note: the attachment in that bug is an example of what your backtrace to the g_object_set() critical should look like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301376</commentid>
    <comment_count>12</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-25 18:12:24 -0700</bug_when>
    <thetext>I&apos;m still working on getting that core dump, but I&apos;m having problems due to not really knowing what I&apos;m doing. I&apos;ll link to the details in case anyone here can help troubleshoot on Gentoo: https://forums.gentoo.org/viewtopic-p-8060872.html#8060872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301397</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-25 18:44:43 -0700</bug_when>
    <thetext>Looks like you&apos;re on the right track... everything looks right except for the missing debuginfo. I don&apos;t know how to help with that on Gentoo. I would have expected adding -ggdb to CFLAGS would have done the trick. Maybe try removing splitdebug; that would make the build take longer (you might even think the linker has hung, even though it&apos;s still working) but that&apos;s my best guess as to the problem. Alternatively you could try changing the CMake build type using -DCMAKE_BUILD_TYPE=Debug, which should work just as well, though I&apos;m not sure how to do that in make.conf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301472</commentid>
    <comment_count>14</comment_count>
      <attachid>308210</attachid>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-25 21:31:57 -0700</bug_when>
    <thetext>Created attachment 308210
Backtrace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301517</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-25 23:57:09 -0700</bug_when>
    <thetext>Could it be that gst_element_factory_make(&quot;videoflip&quot;, nullptr) is failing? Miguel?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301532</commentid>
    <comment_count>16</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-26 00:31:11 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #15)
&gt; Could it be that gst_element_factory_make(&quot;videoflip&quot;, nullptr) is failing?
&gt; Miguel?

Checking the backtrace that seems to be the problem, yes. Seems that gst_element_factory_make is not able to create the videoflip element. Probably it was not enabled during the compilation of gst-plugins-good. You can check this by running:

gst-inspect-1.0 videoflip

That will show the plugin info or a message that it&apos;s not present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301663</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-26 10:29:14 -0700</bug_when>
    <thetext>This is still a WebKit bug. There&apos;s no reason to expect video playback to work if GStreamer elements are missing, but WebKit should handle this gracefully without any critical warnings. (It&apos;s fine to print warning-level warnings about this misconfiguration, of course, but criticals are always application bugs.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301884</commentid>
    <comment_count>18</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-26 18:37:49 -0700</bug_when>
    <thetext>(In reply to Miguel Gomez from comment #16)
&gt; Checking the backtrace that seems to be the problem, yes. Seems that
&gt; gst_element_factory_make is not able to create the videoflip element.
&gt; Probably it was not enabled during the compilation of gst-plugins-good. You
&gt; can check this by running:
&gt; 
&gt; gst-inspect-1.0 videoflip
&gt; 
&gt; That will show the plugin info or a message that it&apos;s not present.

When I run that command I get &quot;No such element or plugin &apos;videoflip&apos;&quot;.

Actually, I don&apos;t have gst-plugins-good at all. Is it a required dependency? If so then I can open a Gentoo bug against that package.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301918</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-26 20:16:42 -0700</bug_when>
    <thetext>It&apos;s required for multimedia playback, but WebKit should definitely not crash like this with it missing. It should just fail to play media.

Please file a separate bug for the web inspector crash; that&apos;s a different issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302081</commentid>
    <comment_count>20</comment_count>
    <who name="">dirk.fizzlebeef</who>
    <bug_when>2017-04-27 08:08:19 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #19)
&gt; Please file a separate bug for the web inspector crash; that&apos;s a different
&gt; issue.

Already did: https://bugs.webkit.org/show_bug.cgi?id=171207</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397498</commentid>
    <comment_count>21</comment_count>
      <attachid>333368</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-08 04:12:53 -0800</bug_when>
    <thetext>Created attachment 333368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397530</commentid>
    <comment_count>22</comment_count>
      <attachid>333368</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-02-08 08:16:38 -0800</bug_when>
    <thetext>Comment on attachment 333368
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2187
&gt;          GstElement* videoFlip = gst_element_factory_make(&quot;videoflip&quot;, nullptr);

Do we need runtime checks after every call to gst_element_factory_make() in WebKit? Probably, right?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2190
&gt; +            g_object_set(m_pipeline.get(), &quot;video-filter&quot;, videoFlip, nullptr);

How does the memory management work here? Convention is for the property setter to take its own ref on the object, so now the pipeline should have its own ref of videoFlip. But you don&apos;t unref videoFlip yourself here. So it looks like it&apos;s leaking.

If GStreamer isn&apos;t taking its own ref on videoFlip, that&apos;s really unexpected and weird IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397550</commentid>
    <comment_count>23</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-08 09:27:57 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #22)
&gt; Comment on attachment 333368 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=333368&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2187
&gt; &gt;          GstElement* videoFlip = gst_element_factory_make(&quot;videoflip&quot;, nullptr);
&gt; 
&gt; Do we need runtime checks after every call to gst_element_factory_make() in
&gt; WebKit? Probably, right?
&gt; 

It depends. I don&apos;t think it should be needed for elements shipped by GStreamer -core and -plugins-base. For the others, yes, runtime checks should be done.

&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2190
&gt; &gt; +            g_object_set(m_pipeline.get(), &quot;video-filter&quot;, videoFlip, nullptr);
&gt; 
&gt; How does the memory management work here? Convention is for the property
&gt; setter to take its own ref on the object, so now the pipeline should have
&gt; its own ref of videoFlip. But you don&apos;t unref videoFlip yourself here. So it
&gt; looks like it&apos;s leaking.
&gt; 
&gt; If GStreamer isn&apos;t taking its own ref on videoFlip, that&apos;s really unexpected
&gt; and weird IMO.

I&apos;ll check this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397553</commentid>
    <comment_count>24</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-08 09:37:11 -0800</bug_when>
    <thetext>I don&apos;t think it leaks, the ownership is transferred to playsink with gst_object_ref_sink().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397562</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-02-08 09:53:13 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #24)
&gt; I don&apos;t think it leaks, the ownership is transferred to playsink with
&gt; gst_object_ref_sink().

Inside the property setter?? OK then....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397583</commentid>
    <comment_count>26</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-08 10:39:01 -0800</bug_when>
    <thetext>Committed r228281: &lt;https://trac.webkit.org/changeset/228281&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397584</commentid>
    <comment_count>27</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-08 10:39:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/37356862&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>308210</attachid>
            <date>2017-04-25 21:31:57 -0700</date>
            <delta_ts>2017-04-25 21:31:57 -0700</delta_ts>
            <desc>Backtrace</desc>
            <filename>backtrace</filename>
            <type>text/plain</type>
            <size>68207</size>
            <attacher>dirk.fizzlebeef</attacher>
            
              <data encoding="base64">W05ldyBMV1AgODQzM10KW05ldyBMV1AgODQzNV0KW05ldyBMV1AgODU5Nl0KW05ldyBMV1AgODU5
OF0KW05ldyBMV1AgODYxMV0KW05ldyBMV1AgODQzOF0KW05ldyBMV1AgODQzOV0KW05ldyBMV1Ag
ODU5Ml0KW05ldyBMV1AgODYxM10KW05ldyBMV1AgODQ0MF0KW05ldyBMV1AgODQ0Ml0KW05ldyBM
V1AgODU5N10KW05ldyBMV1AgODYwOF0KW05ldyBMV1AgODU5OV0KW05ldyBMV1AgODYwMF0KW1Ro
cmVhZCBkZWJ1Z2dpbmcgdXNpbmcgbGlidGhyZWFkX2RiIGVuYWJsZWRdClVzaW5nIGhvc3QgbGli
dGhyZWFkX2RiIGxpYnJhcnkgIi9saWI2NC9saWJ0aHJlYWRfZGIuc28uMSIuCkNvcmUgd2FzIGdl
bmVyYXRlZCBieSBgL3Vzci9saWJleGVjL3dlYmtpdDJndGstNC4wL1dlYktpdFdlYlByb2Nlc3Mg
MzcnLgpQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtw
b2ludCB0cmFwLgojMCAgMHgwMDAwN2YzNGQwMjdkZTkxIGluID8/ICgpIGZyb20gL3Vzci9saWI2
NC9saWJnbGliLTIuMC5zby4wCltDdXJyZW50IHRocmVhZCBpcyAxIChUaHJlYWQgMHg3ZjM0ZDUw
MTc5NDAgKExXUCA4NDMzKSldCgpUaHJlYWQgMTUgKFRocmVhZCAweDdmMzQ2NGJmYjcwMCAoTFdQ
IDg2MDApKToKIzAgIDB4MDAwMDdmMzRjZTVjYjRhOCBpbiBwdGhyZWFkX2NvbmRfdGltZWR3YWl0
QEBHTElCQ18yLjMuMiAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKTm8gc3ltYm9sIHRh
YmxlIGluZm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMDFlNjVhIGluIFdURjo6VGhyZWFk
Q29uZGl0aW9uOjp0aW1lZFdhaXQgKHRoaXM9dGhpc0BlbnRyeT0weDdmMzQ3OGIwZDAzMCwgbXV0
ZXg9Li4uLCBhYnNvbHV0ZVRpbWU9MTQ5MzE4MDMwOS40ODU3MTQ5KSBhdCAvdmFyL3RtcC9wb3J0
YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6Mzg2CiAgICAgICAgdGltZVNlY29uZHMg
PSAxNDkzMTgwMzA5CiAgICAgICAgdGltZU5hbm9zZWNvbmRzID0gNDg1NzE0OTEyCiAgICAgICAg
dGFyZ2V0VGltZSA9IHt0dl9zZWMgPSAxNDkzMTgwMzA5LCB0dl9uc2VjID0gNDg1NzE0OTEyfQoj
MiAgMHgwMDAwN2YzNGNmZmY2YmNiIGluIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFs
bHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdU
Rjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9j
a1R5cGUgY29uc3QmKSAoYWRkcmVzcz1hZGRyZXNzQGVudHJ5PTB4N2YzNDc4YWViZWViLCB2YWxp
ZGF0aW9uPS4uLiwgYmVmb3JlU2xlZXA9Li4uLCB0aW1lb3V0PS4uLikgYXQgL3Zhci90bXAvcG9y
dGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291
cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTk4CiAgICAgICAgbG9ja2VyID0gezxXVEY6OkFi
c3RyYWN0TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9sb2NrYWJsZSA9IDB4N2YzNDc4
YjBkMDA4fQogICAgICAgIGRpZERlcXVldWUgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICByZXN1
bHQgPSA8b3B0aW1pemVkIG91dD4KIzMgIDB4MDAwMDdmMzRjZmZlNzkzZSBpbiBXVEY6OlBhcmtp
bmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5PGJvb2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50
aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBj
b25zdCYpOjp7bGFtYmRhKCkjMX0sIGJvb2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8
V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25z
dCYpOjp7bGFtYmRhKCkjMn0+KHZvaWQgY29uc3QqLCBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6
d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9j
a1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzF9IGNvbnN0JiwgYm9vbCBXVEY6OkNvbmRpdGlvbkJh
c2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWlj
Q2xvY2tUeXBlIGNvbnN0Jik6OntsYW1iZGEoKSMyfSBjb25zdCYsIFdURjo6VGltZVdpdGhEeW5h
bWljQ2xvY2tUeXBlIGNvbnN0JikgKHRpbWVvdXQ9Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHZhbGlk
YXRpb249Li4uLCBhZGRyZXNzPTB4N2YzNDc4YWViZWViKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25l
dC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RG
L3d0Zi9QYXJraW5nTG90Lmg6ODUKTm8gbG9jYWxzLgojNCAgV1RGOjpDb25kaXRpb25CYXNlOjp3
YWl0VW50aWw8V1RGOjpMb2NrPiAodGltZW91dD0uLi4sIGxvY2s9Li4uLCB0aGlzPTB4N2YzNDc4
YWViZWViKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dv
cmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDo3NwpObyBsb2Nh
bHMuCiM1ICBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3I8V1RGOjpMb2NrPiAocmVsYXRpdmVU
aW1lb3V0PS4uLiwgbG9jaz0uLi4sIHRoaXM9MHg3ZjM0NzhhZWJlZWIpIGF0IC92YXIvdG1wL3Bv
cnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1Nv
dXJjZS9XVEYvd3RmL0NvbmRpdGlvbi5oOjExNwpObyBsb2NhbHMuCiM2ICBXVEY6OkF1dG9tYXRp
Y1RocmVhZDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSAoX19jbG9zdXJlPTB4MTU3NzMwMCkgYXQg
L3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0
ay0yLjE2LjEvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFkLmNwcDoyMDAKICAgICAgICBy
ZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBsb2NrZXIgPSB7PFdURjo6QWJzdHJhY3RM
b2NrZXI+ID0gezxObyBkYXRhIGZpZWxkcz59LCBtX2xvY2thYmxlID0gMHg3ZjM0NzhhNzcwMDR9
CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdGhyZWFkID0ge3N0YXRp
YyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmMzQ3OGFlYmVjOH0KICAg
ICAgICBzdG9wUGVybWFuZW50bHkgPSB7X190aGlzID0gMHg3ZjM0NzhhZWJlYzgsIF9fc3RvcElt
cGwgPSA8c3ludGhldGljIHBvaW50ZXI+fQogICAgICAgIHRoaXMgPSAweDdmMzQ3OGFlYmVjOAog
ICAgICAgIHByZXNlcnZlVGhpc0ZvclRocmVhZCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1p
emVkIG91dD4sIG1fcHRyID0gMHg3ZjM0NzhhZWJlYzh9CiM3ICBzdGQ6Ol9GdW5jdGlvbl9oYW5k
bGVyPHZvaWQoKSwgV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJh
Y3RMb2NrZXImKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEg
JikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzUu
NC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM4ICAweDAwMDA3
ZjM0Y2ZmZjk2NTUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0
ICh0aGlzPTB4N2YzNDY0YmZhY2MwKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdu
dS81LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcKTm8gbG9jYWxzLgojOSAgV1RG
Ojp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmMzQ3OGE1YjJkMCkgYXQgL3Zhci90
bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2
LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAgICAgIGNvbnRleHQgPSAweDdm
MzQ3OGE1YjJkMAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2Jp
bmFyeV9mdW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlv
bl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9
IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTU3NzMwMCwgX01f
Y29uc3Rfb2JqZWN0ID0gMHgxNTc3MzAwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNTc3MzAw
LCBfTV9tZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0
ZDo6X1VuZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHgxNTc3MzAwfSwgX01fcG9kX2RhdGEgPSAi
XDAwMHNXXDAwMSIsICdcMDAwJyA8cmVwZWF0cyAxMSB0aW1lcz59LCBfTV9tYW5hZ2VyID0gMHg3
ZjM0Y2ZmZTc3NTAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8V1RGOjpBdXRv
bWF0aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6PGxhbWJkYSgp
PiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhICYsIGNvbnN0IHN0ZDo6X0FueV9kYXRhICYs
IHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2VyID0gMHg3ZjM0Y2ZmZTc4MTAg
PHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OkF1dG9tYXRpY1RocmVhZDo6c3Rh
cnQoY29uc3QgV1RGOjpBYnN0cmFjdExvY2tlciYpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShj
b25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiMxMCAweDAwMDA3ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3
dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzRjMTkzMWE2MCkgYXQgL3Zhci90bXAvcG9y
dGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291
cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2OAogICAgICAgIGludm9jYXRpb24g
PSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGNvbnRhaW5p
bmcgMHg3ZjM0YzE5MzFhNjAKIzExIDB4MDAwMDdmMzRjZTVjNTRhNCBpbiBzdGFydF90aHJlYWQg
KCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWls
YWJsZS4KIzEyIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJj
LnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoKVGhyZWFkIDE0IChUaHJlYWQg
MHg3ZjM0NjUzZmM3MDAgKExXUCA4NTk5KSk6CiMwICAweDAwMDA3ZjM0Y2U1Y2I0YTggaW4gcHRo
cmVhZF9jb25kX3RpbWVkd2FpdEBAR0xJQkNfMi4zLjIgKCkgZnJvbSAvbGliNjQvbGlicHRocmVh
ZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEgIDB4MDAwMDdmMzRkMDAx
ZTY1YSBpbiBXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0ICh0aGlzPXRoaXNAZW50cnk9
MHg3ZjM0YzE5Zjg5OTAsIG11dGV4PS4uLiwgYWJzb2x1dGVUaW1lPTE0OTMxODAzMDkuNDg0MTE3
KSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Vi
a2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6Mzg2CiAg
ICAgICAgdGltZVNlY29uZHMgPSAxNDkzMTgwMzA5CiAgICAgICAgdGltZU5hbm9zZWNvbmRzID0g
NDg0MTE3MDMxCiAgICAgICAgdGFyZ2V0VGltZSA9IHt0dl9zZWMgPSAxNDkzMTgwMzA5LCB0dl9u
c2VjID0gNDg0MTE3MDMxfQojMiAgMHgwMDAwN2YzNGNmZmY2YmNiIGluIFdURjo6UGFya2luZ0xv
dDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxi
b29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpU
aW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSAoYWRkcmVzcz1hZGRyZXNzQGVudHJ5PTB4
N2YzNDc4YjIwNjYzLCB2YWxpZGF0aW9uPS4uLiwgYmVmb3JlU2xlZXA9Li4uLCB0aW1lb3V0PS4u
LikgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dl
YmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTk4CiAgICAgICAg
bG9ja2VyID0gezxXVEY6OkFic3RyYWN0TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9s
b2NrYWJsZSA9IDB4N2YzNGMxOWY4OTY4fQogICAgICAgIGRpZERlcXVldWUgPSA8b3B0aW1pemVk
IG91dD4KICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KIzMgIDB4MDAwMDdmMzRjZmZl
NzkzZSBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5PGJvb2wgV1RGOjpDb25k
aXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRo
RHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMX0sIGJvb2wgV1RGOjpDb25kaXRp
b25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHlu
YW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMn0+KHZvaWQgY29uc3QqLCBib29sIFdU
Rjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpU
aW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzF9IGNvbnN0JiwgYm9v
bCBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdU
Rjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0Jik6OntsYW1iZGEoKSMyfSBjb25zdCYs
IFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKHRpbWVvdXQ9Li4uLCBiZWZv
cmVTbGVlcD0uLi4sIHZhbGlkYXRpb249Li4uLCBhZGRyZXNzPTB4N2YzNDc4YjIwNjYzKSBhdCAv
dmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3Rr
LTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9QYXJraW5nTG90Lmg6ODUKTm8gbG9jYWxzLgojNCAgV1RG
OjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPiAodGltZW91dD0uLi4sIGxvY2s9
Li4uLCB0aGlzPTB4N2YzNDc4YjIwNjYzKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dl
YmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Db25k
aXRpb24uaDo3NwpObyBsb2NhbHMuCiM1ICBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3I8V1RG
OjpMb2NrPiAocmVsYXRpdmVUaW1lb3V0PS4uLiwgbG9jaz0uLi4sIHRoaXM9MHg3ZjM0NzhiMjA2
NjMpIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93
ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL0NvbmRpdGlvbi5oOjExNwpObyBsb2NhbHMu
CiM2ICBXVEY6OkF1dG9tYXRpY1RocmVhZDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSAoX19jbG9z
dXJlPTB4MTU1YWQ4MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIu
MTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFk
LmNwcDoyMDAKICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBsb2NrZXIg
PSB7PFdURjo6QWJzdHJhY3RMb2NrZXI+ID0gezxObyBkYXRhIGZpZWxkcz59LCBtX2xvY2thYmxl
ID0gMHg3ZjM0NzhhNzcwMGN9CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAg
ICAgdGhyZWFkID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAw
eDdmMzQ3OGIyMDY0MH0KICAgICAgICBzdG9wUGVybWFuZW50bHkgPSB7X190aGlzID0gMHg3ZjM0
NzhiMjA2NDAsIF9fc3RvcEltcGwgPSA8c3ludGhldGljIHBvaW50ZXI+fQogICAgICAgIHRoaXMg
PSAweDdmMzQ3OGIyMDY0MAogICAgICAgIHByZXNlcnZlVGhpc0ZvclRocmVhZCA9IHtzdGF0aWMg
aXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjM0NzhiMjA2NDB9CiM3ICBz
dGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0
KGNvbnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29u
c3Qgc3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvbGliL2djYy94ODZf
NjQtcGMtbGludXgtZ251LzUuNC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MTg3MQpObyBs
b2NhbHMuCiM4ICAweDAwMDA3ZjM0Y2ZmZjk2NTUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6
b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2YzNDY1M2ZiY2MwKSBhdCAvdXNyL2xpYi9nY2Mv
eDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcK
Tm8gbG9jYWxzLgojOSAgV1RGOjp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmMzQ3
OGE1YjA1MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93
b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAg
ICAgIGNvbnRleHQgPSAweDdmMzQ3OGE1YjA1MAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6
X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRz
Pn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3Rh
dGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVj
dCA9IDB4MTU1YWQ4MCwgX01fY29uc3Rfb2JqZWN0ID0gMHgxNTVhZDgwLCBfTV9mdW5jdGlvbl9w
b2ludGVyID0gMHgxNTVhZDgwLCBfTV9tZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRl
ZmluZWRfY2xhc3M6OiopKHN0ZDo6X1VuZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHgxNTVhZDgw
LCB0aGlzIGFkanVzdG1lbnQgLTY4NDMwODM5MTE2MDc3NTI3MDR9LCBfTV9wb2RfZGF0YSA9ICJc
MjAwXDI1NVVcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzUwbUhwe1xiXDI0MSJ9LCBfTV9tYW5h
Z2VyID0gMHg3ZjM0Y2ZmZTc3NTAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8
V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6
PGxhbWJkYSgpPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhICYsIGNvbnN0IHN0ZDo6X0Fu
eV9kYXRhICYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2VyID0gMHg3ZjM0
Y2ZmZTc4MTAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OkF1dG9tYXRpY1Ro
cmVhZDo6c3RhcnQoY29uc3QgV1RGOjpBYnN0cmFjdExvY2tlciYpOjo8bGFtYmRhKCk+ID46Ol9N
X2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiMxMCAweDAwMDA3ZjM0ZDAwMWUwNGEg
aW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzRjMTkzMTIyMCkgYXQgL3Zh
ci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0y
LjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2OAogICAgICAgIGlu
dm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+
IGNvbnRhaW5pbmcgMHg3ZjM0YzE5MzEyMjAKIzExIDB4MDAwMDdmMzRjZTVjNTRhNCBpbiBzdGFy
dF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBp
bmZvIGF2YWlsYWJsZS4KIzEyIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9uZSAoKSBmcm9tIC9s
aWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoKVGhyZWFkIDEz
IChUaHJlYWQgMHg3ZjM0NGZmZmY3MDAgKExXUCA4NjA4KSk6CiMwICAweDAwMDA3ZjM0ZDIzOGY1
ZWQgaW4gcG9sbCAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8g
YXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMjc4NjZjIGluID8/ICgpIGZyb20gL3Vzci9saWI2
NC9saWJnbGliLTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzIgIDB4
MDAwMDdmMzRkMDI3ODlmMiBpbiBnX21haW5fbG9vcF9ydW4gKCkgZnJvbSAvdXNyL2xpYjY0L2xp
YmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMyAgMHgwMDAw
N2YzNGQwMDIwNzQwIGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC92YXIvdG1wL3BvcnRhZ2Uv
bmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9X
VEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiAgICAgICAgcnVuTG9vcCA9IEAweDdmMzQ3
ODFkMzg3MDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVm
Q291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25l
ZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8gZGF0YSBm
aWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNoZXIgPSAw
eDdmMzRkMDIyMjE4OCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5jdGlvblF1
ZXVlTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwg
X19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gNTEyLCBfX3NwaW5zID0gMCwgX19l
bGlzaW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0gMHgwfX0sIF9fc2l6
ZSA9ICdcMDAwJyA8cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxyZXBlYXRzIDIx
IHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3RhcnQgPSAzLCBt
X2VuZCA9IDMsIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpGdW5jdGlv
bjx2b2lkKCk+ID4+ID0ge21fYnVmZmVyID0gMHg3ZjM0NzhhMzNjMDAsIG1fY2FwYWNpdHkgPSAx
NiwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59fSwgbV9tYWluQ29udGV4dCA9IHttX3B0
ciA9IDB4N2YzNDQ4MDAwOTAwfSwgbV9tYWluTG9vcHMgPSB7PFdURjo6VmVjdG9yQnVmZmVyPFdU
Rjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMHVsPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxX
VEY6OkdSZWZQdHI8X0dNYWluTG9vcD4gPj4gPSB7bV9idWZmZXIgPSAweDdmMzQ3ODFmODYwMCwg
bV9jYXBhY2l0eSA9IDE2LCBtX3NpemUgPSAxfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRh
IGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4N2YzNDQ4MDAxMjYwfX0KICAgICAgICBu
ZXN0ZWRNYWluTG9vcCA9IDxvcHRpbWl6ZWQgb3V0PgojNCAgMHgwMDAwN2YzNGQwMDFmNDYwIGlu
IFdURjo6V29ya1F1ZXVlOjo8bGFtYmRhKCk+OjpvcGVyYXRvcigpIChfX2Nsb3N1cmU9MHg3ZjM0
NGZmZmVjYzApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEv
d29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvV29ya1F1ZXVlR2Vu
ZXJpYy5jcHA6NDQKICAgICAgICB0aGlzID0gMHg3ZjM0NzgxYjQ3MjAKIzUgIHN0ZDo6X0Z1bmN0
aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNo
YXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6Ojxs
YW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9
Li4uKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRlL2cr
Ky12NS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9jYWxzLgojNiAgMHgwMDAwN2YzNGNmZmY5NjU1IGlu
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmMzQ0
ZmZmZWNjMCkgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvNS40LjAvaW5jbHVk
ZS9nKystdjUvZnVuY3Rpb25hbDoyMjY3Ck5vIGxvY2Fscy4KIzcgIFdURjo6dGhyZWFkRW50cnlQ
b2ludCAoY29udGV4dERhdGE9MHg3ZjM0NzgxZjFhZjApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0
LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5jcHA6OTIKICAgICAgICBjb250ZXh0ID0gMHg3ZjM0NzgxZjFhZjAKICAg
ICAgICBlbnRyeVBvaW50ID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248
dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rpb25fYmFzZT4gPSB7c3Rh
dGljIF9NX21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxpZ24gPSA4LCBfTV9mdW5jdG9y
ID0ge19NX3VudXNlZCA9IHtfTV9vYmplY3QgPSAweDdmMzQ3ODFiNDcyMCwgX01fY29uc3Rfb2Jq
ZWN0ID0gMHg3ZjM0NzgxYjQ3MjAsIF9NX2Z1bmN0aW9uX3BvaW50ZXIgPSAweDdmMzQ3ODFiNDcy
MCwgX01fbWVtYmVyX3BvaW50ZXIgPSAodm9pZCAoc3RkOjpfVW5kZWZpbmVkX2NsYXNzOjoqKShz
dGQ6Ol9VbmRlZmluZWRfY2xhc3MgKiBjb25zdCkpIDB4N2YzNDc4MWI0NzIwLCB0aGlzIGFkanVz
dG1lbnQgMTM5ODY0ODUwMjYyNjE2fSwgX01fcG9kX2RhdGEgPSAiIEdcMDMzeDRcMTc3XDAwMFww
MDBYalwyNjdcMzIyXDA2NFwxNzdcMDAwIn0sIF9NX21hbmFnZXIgPSAweDdmMzRkMDAxZjM4MCA8
c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXVEY6OldvcmtRdWV1ZTo6cGxhdGZv
cm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3Jr
UXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSAmLCBj
b25zdCBzdGQ6Ol9BbnlfZGF0YSAmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52
b2tlciA9IDB4N2YzNGQwMDFmM2YwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RG
OjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVl
dWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShj
b25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiM4ICAweDAwMDA3ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3
dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzQ3ODFlYzM3MCkgYXQgL3Zhci90bXAvcG9y
dGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291
cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2OAogICAgICAgIGludm9jYXRpb24g
PSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGNvbnRhaW5p
bmcgMHg3ZjM0NzgxZWMzNzAKIzkgIDB4MDAwMDdmMzRjZTVjNTRhNCBpbiBzdGFydF90aHJlYWQg
KCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWls
YWJsZS4KIzEwIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJj
LnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoKVGhyZWFkIDEyIChUaHJlYWQg
MHg3ZjM0NjYzZmU3MDAgKExXUCA4NTk3KSk6CiMwICAweDAwMDA3ZjM0Y2U1Y2I0YTggaW4gcHRo
cmVhZF9jb25kX3RpbWVkd2FpdEBAR0xJQkNfMi4zLjIgKCkgZnJvbSAvbGliNjQvbGlicHRocmVh
ZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEgIDB4MDAwMDdmMzRkMDAx
ZTY1YSBpbiBXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0ICh0aGlzPXRoaXNAZW50cnk9
MHg3ZjM0NzhhNmMwMzAsIG11dGV4PS4uLiwgYWJzb2x1dGVUaW1lPTE0OTMxODAzMDkuMjIzNDY2
MikgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dl
YmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjM4Ngog
ICAgICAgIHRpbWVTZWNvbmRzID0gMTQ5MzE4MDMwOQogICAgICAgIHRpbWVOYW5vc2Vjb25kcyA9
IDIyMzQ2NjE1NwogICAgICAgIHRhcmdldFRpbWUgPSB7dHZfc2VjID0gMTQ5MzE4MDMwOSwgdHZf
bnNlYyA9IDIyMzQ2NjE1N30KIzIgIDB4MDAwMDdmMzRjZmZmNmJjYiBpbiBXVEY6OlBhcmtpbmdM
b3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpTY29wZWRMYW1iZGE8
Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBjb25zdCYsIFdURjo6
VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKGFkZHJlc3M9YWRkcmVzc0BlbnRyeT0w
eDdmMzQ3OGE3Yjk2MywgdmFsaWRhdGlvbj0uLi4sIGJlZm9yZVNsZWVwPS4uLiwgdGltZW91dD0u
Li4pIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93
ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL1BhcmtpbmdMb3QuY3BwOjU5OAogICAgICAg
IGxvY2tlciA9IHs8V1RGOjpBYnN0cmFjdExvY2tlcj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIG1f
bG9ja2FibGUgPSAweDdmMzQ3OGE2YzAwOH0KICAgICAgICBkaWREZXF1ZXVlID0gPG9wdGltaXpl
ZCBvdXQ+CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiMzICAweDAwMDA3ZjM0Y2Zm
ZTc5M2UgaW4gV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseTxib29sIFdURjo6Q29u
ZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0
aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzF9LCBib29sIFdURjo6Q29uZGl0
aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5
bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzJ9Pih2b2lkIGNvbnN0KiwgYm9vbCBX
VEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6
VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0Jik6OntsYW1iZGEoKSMxfSBjb25zdCYsIGJv
b2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBX
VEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMn0gY29uc3Qm
LCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICh0aW1lb3V0PS4uLiwgYmVm
b3JlU2xlZXA9Li4uLCB2YWxpZGF0aW9uPS4uLiwgYWRkcmVzcz0weDdmMzQ3OGE3Yjk2MykgYXQg
L3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0
ay0yLjE2LjEvU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5oOjg1Ck5vIGxvY2Fscy4KIzQgIFdU
Rjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4gKHRpbWVvdXQ9Li4uLCBsb2Nr
PS4uLiwgdGhpcz0weDdmMzQ3OGE3Yjk2MykgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93
ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvQ29u
ZGl0aW9uLmg6NzcKTm8gbG9jYWxzLgojNSAgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0Rm9yPFdU
Rjo6TG9jaz4gKHJlbGF0aXZlVGltZW91dD0uLi4sIGxvY2s9Li4uLCB0aGlzPTB4N2YzNDc4YTdi
OTYzKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsv
d2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDoxMTcKTm8gbG9jYWxz
LgojNiAgV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkgKF9fY2xv
c3VyZT0weDE1ZjlmYjApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0y
LjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL0F1dG9tYXRpY1RocmVh
ZC5jcHA6MjAwCiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgbG9ja2Vy
ID0gezxXVEY6OkFic3RyYWN0TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9sb2NrYWJs
ZSA9IDB4N2YzNGMxOWY5MDFjfQogICAgICAgIHJlc3VsdCA9IDxvcHRpbWl6ZWQgb3V0PgogICAg
ICAgIHRocmVhZCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0g
MHg3ZjM0NzhhN2I5NDB9CiAgICAgICAgc3RvcFBlcm1hbmVudGx5ID0ge19fdGhpcyA9IDB4N2Yz
NDc4YTdiOTQwLCBfX3N0b3BJbXBsID0gPHN5bnRoZXRpYyBwb2ludGVyPn0KICAgICAgICB0aGlz
ID0gMHg3ZjM0NzhhN2I5NDAKICAgICAgICBwcmVzZXJ2ZVRoaXNGb3JUaHJlYWQgPSB7c3RhdGlj
IGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2YzNDc4YTdiOTQwfQojNyAg
c3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFy
dChjb25zdCBXVEY6OkFic3RyYWN0TG9ja2VyJik6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNv
bnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKSBhdCAvdXNyL2xpYi9nY2MveDg2
XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjE4NzEKTm8g
bG9jYWxzLgojOCAgMHgwMDAwN2YzNGNmZmY5NjU1IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46
Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmMzQ2NjNmZGNjMCkgYXQgL3Vzci9saWIvZ2Nj
L3g4Nl82NC1wYy1saW51eC1nbnUvNS40LjAvaW5jbHVkZS9nKystdjUvZnVuY3Rpb25hbDoyMjY3
Ck5vIGxvY2Fscy4KIzkgIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZjM0
NzhhN2RiZTApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEv
d29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6OTIKICAg
ICAgICBjb250ZXh0ID0gMHg3ZjM0NzhhN2RiZTAKICAgICAgICBlbnRyeVBvaW50ID0gezxzdGQ6
Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxk
cz59LCA8c3RkOjpfRnVuY3Rpb25fYmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIHN0
YXRpYyBfTV9tYXhfYWxpZ24gPSA4LCBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHtfTV9vYmpl
Y3QgPSAweDE1ZjlmYjAsIF9NX2NvbnN0X29iamVjdCA9IDB4MTVmOWZiMCwgX01fZnVuY3Rpb25f
cG9pbnRlciA9IDB4MTVmOWZiMCwgX01fbWVtYmVyX3BvaW50ZXIgPSAodm9pZCAoc3RkOjpfVW5k
ZWZpbmVkX2NsYXNzOjoqKShzdGQ6Ol9VbmRlZmluZWRfY2xhc3MgKiBjb25zdCkpIDB4MTVmOWZi
MH0sIF9NX3BvZF9kYXRhID0gIlwyNjBcMjM3X1wwMDEiLCAnXDAwMCcgPHJlcGVhdHMgMTEgdGlt
ZXM+fSwgX01fbWFuYWdlciA9IDB4N2YzNGNmZmU3NzUwIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlOjpf
QmFzZV9tYW5hZ2VyPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChjb25zdCBXVEY6OkFic3Ry
YWN0TG9ja2VyJik6OjxsYW1iZGEoKT4gPjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSAmLCBj
b25zdCBzdGQ6Ol9BbnlfZGF0YSAmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52
b2tlciA9IDB4N2YzNGNmZmU3ODEwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RG
OjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6PGxh
bWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEgJik+fQojMTAgMHgwMDAw
N2YzNGQwMDFlMDRhIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCAocGFyYW09MHg3ZjM0Nzhh
ZmIzMzApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29y
ay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcDox
NjgKICAgICAgICBpbnZvY2F0aW9uID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6VGhyZWFkRnVuY3Rp
b25JbnZvY2F0aW9uPiBjb250YWluaW5nIDB4N2YzNDc4YWZiMzMwCiMxMSAweDAwMDA3ZjM0Y2U1
YzU0YTQgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL2xpYjY0L2xpYnB0aHJlYWQuc28uMApObyBz
eW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMxMiAweDAwMDA3ZjM0ZDIzOTg2NmQgaW4gY2xv
bmUgKCkgZnJvbSAvbGliNjQvbGliYy5zby42Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJs
ZS4KClRocmVhZCAxMSAoVGhyZWFkIDB4N2YzNDdiMThmNzAwIChMV1AgODQ0MikpOgojMCAgMHgw
MDAwN2YzNGQyMzhmNWVkIGluIHBvbGwgKCkgZnJvbSAvbGliNjQvbGliYy5zby42Ck5vIHN5bWJv
bCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEgIDB4MDAwMDdmMzRkMDI3ODY2YyBpbiA/PyAoKSBm
cm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFp
bGFibGUuCiMyICAweDAwMDA3ZjM0ZDAyNzg5ZjIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGZyb20g
L3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJs
ZS4KIzMgIDB4MDAwMDdmMzRkMDAyMDc0MCBpbiBXVEY6OlJ1bkxvb3A6OnJ1biAoKSBhdCAvdmFy
L3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIu
MTYuMS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo5NAogICAgICAgIHJ1bkxv
b3AgPSBAMHg3ZjM0YzE5ZDAwMDA6IHs8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6
OlRocmVhZFNhZmVSZWZDb3VudGVkPFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPj4gPSB7PFdURjo6
VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9IHttX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWlj
X2Jhc2U8dW5zaWduZWQgaW50Pj4gPSB7c3RhdGljIF9TX2FsaWdubWVudCA9IDQsIF9NX2kgPSAx
fSwgPE5vIGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBmaWVsZHM+fSwgX3ZwdHIuRnVuY3Rpb25E
aXNwYXRjaGVyID0gMHg3ZjM0ZDAyMjIxODggPHZ0YWJsZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0s
IG1fZnVuY3Rpb25RdWV1ZUxvY2sgPSB7bV9tdXRleCA9IHtfX2RhdGEgPSB7X19sb2NrID0gMCwg
X19jb3VudCA9IDAsIF9fb3duZXIgPSAwLCBfX251c2VycyA9IDAsIF9fa2luZCA9IDUxMiwgX19z
cGlucyA9IDAsIF9fZWxpc2lvbiA9IDAsIF9fbGlzdCA9IHtfX3ByZXYgPSAweDAsIF9fbmV4dCA9
IDB4MH19LCBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgMTcgdGltZXM+LCAiXDAwMiIsICdcMDAw
JyA8cmVwZWF0cyAyMSB0aW1lcz4sIF9fYWxpZ24gPSAwfX0sIG1fZnVuY3Rpb25RdWV1ZSA9IHtt
X3N0YXJ0ID0gMTEsIG1fZW5kID0gMTEsIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJh
c2U8V1RGOjpGdW5jdGlvbjx2b2lkKCk+ID4+ID0ge21fYnVmZmVyID0gMHg3ZjM0YzE5ZmE1MDAs
IG1fY2FwYWNpdHkgPSAxNiwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59fSwgbV9tYWlu
Q29udGV4dCA9IHttX3B0ciA9IDB4N2YzNDY4MDAwOTAwfSwgbV9tYWluTG9vcHMgPSB7PFdURjo6
VmVjdG9yQnVmZmVyPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMHVsPj4gPSB7PFdURjo6VmVj
dG9yQnVmZmVyQmFzZTxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4gPj4gPSB7bV9idWZmZXIgPSAw
eDdmMzRjMTljZjAwMCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUgPSAxfSwgPE5vIGRhdGEgZmll
bGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4N2YzNDY4MDAx
MjYwfX0KICAgICAgICBuZXN0ZWRNYWluTG9vcCA9IDxvcHRpbWl6ZWQgb3V0PgojNCAgMHgwMDAw
N2YzNGQwMDFmNDYwIGluIFdURjo6V29ya1F1ZXVlOjo8bGFtYmRhKCk+OjpvcGVyYXRvcigpIChf
X2Nsb3N1cmU9MHg3ZjM0N2IxOGVjYzApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Vi
a2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL2dlbmVy
aWMvV29ya1F1ZXVlR2VuZXJpYy5jcHA6NDQKICAgICAgICB0aGlzID0gMHg3ZjM0YzE5ZjcxNDAK
IzUgIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZv
cm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3Jr
UXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRh
ICYpIChfX2Z1bmN0b3I9Li4uKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81
LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9jYWxzLgojNiAgMHgwMDAw
N2YzNGNmZmY5NjU1IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9wZXJhdG9yKCkoKSBjb25z
dCAodGhpcz0weDdmMzQ3YjE4ZWNjMCkgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1n
bnUvNS40LjAvaW5jbHVkZS9nKystdjUvZnVuY3Rpb25hbDoyMjY3Ck5vIGxvY2Fscy4KIzcgIFdU
Rjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZjM0YzE5ZjYwZjApIGF0IC92YXIv
dG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4x
Ni4xL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6OTIKICAgICAgICBjb250ZXh0ID0gMHg3
ZjM0YzE5ZjYwZjAKICAgICAgICBlbnRyeVBvaW50ID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9i
aW5hcnlfZnVuY3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rp
b25fYmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxpZ24g
PSA4LCBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHtfTV9vYmplY3QgPSAweDdmMzRjMTlmNzE0
MCwgX01fY29uc3Rfb2JqZWN0ID0gMHg3ZjM0YzE5ZjcxNDAsIF9NX2Z1bmN0aW9uX3BvaW50ZXIg
PSAweDdmMzRjMTlmNzE0MCwgX01fbWVtYmVyX3BvaW50ZXIgPSAodm9pZCAoc3RkOjpfVW5kZWZp
bmVkX2NsYXNzOjoqKShzdGQ6Ol9VbmRlZmluZWRfY2xhc3MgKiBjb25zdCkpIDB4N2YzNGMxOWY3
MTQwLCB0aGlzIGFkanVzdG1lbnQgMTM5ODY0ODUwMjYyNjE2fSwgX01fcG9kX2RhdGEgPSAiQHFc
MjM3XDMwMVwwNjRcMTc3XDAwMFwwMDBYalwyNjdcMzIyXDA2NFwxNzdcMDAwIn0sIF9NX21hbmFn
ZXIgPSAweDdmMzRkMDAxZjM4MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxX
VEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtR
dWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01fbWFuYWdl
cihzdGQ6Ol9BbnlfZGF0YSAmLCBjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmLCBzdGQ6Ol9NYW5hZ2Vy
X29wZXJhdGlvbik+fSwgX01faW52b2tlciA9IDB4N2YzNGQwMDFmM2YwIDxzdGQ6Ol9GdW5jdGlv
bl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFy
IGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFt
YmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiM4ICAweDAwMDA3
ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzRjMTlm
NTBiMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3Jr
L3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2
OAogICAgICAgIGludm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlv
bkludm9jYXRpb24+IGNvbnRhaW5pbmcgMHg3ZjM0YzE5ZjUwYjAKIzkgIDB4MDAwMDdmMzRjZTVj
NTRhNCBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5
bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEwIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9u
ZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxl
LgoKVGhyZWFkIDEwIChUaHJlYWQgMHg3ZjM0N2JmZmY3MDAgKExXUCA4NDQwKSk6CiMwICAweDAw
MDA3ZjM0ZDIzOGY1ZWQgaW4gcG9sbCAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9s
IHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMjc4NjZjIGluID8/ICgpIGZy
b20gL3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWls
YWJsZS4KIzIgIDB4MDAwMDdmMzRkMDI3ODlmMiBpbiBnX21haW5fbG9vcF9ydW4gKCkgZnJvbSAv
dXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxl
LgojMyAgMHgwMDAwN2YzNGQwMDIwNzQwIGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC92YXIv
dG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4x
Ni4xL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiAgICAgICAgcnVuTG9v
cCA9IEAweDdmMzRjMTllODAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpU
aHJlYWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNf
YmFzZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9
LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRp
c3BhdGNoZXIgPSAweDdmMzRkMDIyMjE4OCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwg
bV9mdW5jdGlvblF1ZXVlTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBf
X2NvdW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gNTEyLCBfX3Nw
aW5zID0gMCwgX19lbGlzaW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0g
MHgwfX0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwgJ1wwMDAn
IDxyZXBlYXRzIDIxIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9mdW5jdGlvblF1ZXVlID0ge21f
c3RhcnQgPSA0MSwgbV9lbmQgPSA0MSwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFz
ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gPj4gPSB7bV9idWZmZXIgPSAweDdmMzRjMTk5OWQ3MCwg
bV9jYXBhY2l0eSA9IDQzLCBtX3NpemUgPSAwfSwgPE5vIGRhdGEgZmllbGRzPn19LCBtX21haW5D
b250ZXh0ID0ge21fcHRyID0gMHg3ZjM0NzAwMDA5MDB9LCBtX21haW5Mb29wcyA9IHs8V1RGOjpW
ZWN0b3JCdWZmZXI8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+LCAwdWw+PiA9IHs8V1RGOjpWZWN0
b3JCdWZmZXJCYXNlPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiA+PiA9IHttX2J1ZmZlciA9IDB4
N2YzNGMxOWU3MDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDF9LCA8Tm8gZGF0YSBmaWVs
ZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIG1fc291cmNlID0ge21fcHRyID0gMHg3ZjM0NzAwMDEy
NjB9fQogICAgICAgIG5lc3RlZE1haW5Mb29wID0gPG9wdGltaXplZCBvdXQ+CiM0ICAweDAwMDA3
ZjM0ZDAwMWY0NjAgaW4gV1RGOjpXb3JrUXVldWU6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkgKF9f
Y2xvc3VyZT0weDdmMzQ3YmZmZWNjMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJr
aXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvZ2VuZXJp
Yy9Xb3JrUXVldWVHZW5lcmljLmNwcDo0NAogICAgICAgIHRoaXMgPSAweDdmMzRjMTlmNzA4MAoj
NSAgc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9y
bUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtR
dWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEg
JikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzUu
NC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM2ICAweDAwMDA3
ZjM0Y2ZmZjk2NTUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0
ICh0aGlzPTB4N2YzNDdiZmZlY2MwKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdu
dS81LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcKTm8gbG9jYWxzLgojNyAgV1RG
Ojp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmMzRjMTlmNjBhMCkgYXQgL3Zhci90
bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2
LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAgICAgIGNvbnRleHQgPSAweDdm
MzRjMTlmNjBhMAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2Jp
bmFyeV9mdW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlv
bl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9
IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4N2YzNGMxOWY3MDgw
LCBfTV9jb25zdF9vYmplY3QgPSAweDdmMzRjMTlmNzA4MCwgX01fZnVuY3Rpb25fcG9pbnRlciA9
IDB4N2YzNGMxOWY3MDgwLCBfTV9tZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmlu
ZWRfY2xhc3M6OiopKHN0ZDo6X1VuZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHg3ZjM0YzE5Zjcw
ODB9LCBfTV9wb2RfZGF0YSA9ICJcMjAwcFwyMzdcMzAxXDA2NFwxNzdcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDAifSwgX01fbWFuYWdlciA9IDB4N2YzNGQwMDFmMzgwIDxzdGQ6
Ol9GdW5jdGlvbl9iYXNlOjpfQmFzZV9tYW5hZ2VyPFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUlu
aXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1
ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhICYsIGNvbnN0
IHN0ZDo6X0FueV9kYXRhICYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2Vy
ID0gMHg3ZjM0ZDAwMWYzZjAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6Oldv
cmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6
VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0
IHN0ZDo6X0FueV9kYXRhICYpPn0KIzggIDB4MDAwMDdmMzRkMDAxZTA0YSBpbiBXVEY6Ond0ZlRo
cmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2YzNGMxOWY1MDYwKSBhdCAvdmFyL3RtcC9wb3J0YWdl
L25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY4CiAgICAgICAgaW52b2NhdGlvbiA9IHN0
ZDo6dW5pcXVlX3B0cjxXVEY6OlRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gY29udGFpbmluZyAw
eDdmMzRjMTlmNTA2MAojOSAgMHgwMDAwN2YzNGNlNWM1NGE0IGluIHN0YXJ0X3RocmVhZCAoKSBm
cm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxl
LgojMTAgMHgwMDAwN2YzNGQyMzk4NjZkIGluIGNsb25lICgpIGZyb20gL2xpYjY0L2xpYmMuc28u
NgpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCgpUaHJlYWQgOSAoVGhyZWFkIDB4N2Yz
NDRkMWZmNzAwIChMV1AgODYxMykpOgojMCAgMHgwMDAwN2YzNGQyMzhmNWVkIGluIHBvbGwgKCkg
ZnJvbSAvbGliNjQvbGliYy5zby42Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEg
IDB4MDAwMDdmMzRkMDI3ODY2YyBpbiA/PyAoKSBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAu
c28uMApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMyICAweDAwMDA3ZjM0ZDAyNzg5
ZjIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGZyb20gL3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4w
Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzMgIDB4MDAwMDdmMzRkMDAyMDc0MCBp
biBXVEY6OlJ1bkxvb3A6OnJ1biAoKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtp
dC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1
bkxvb3BHTGliLmNwcDo5NAogICAgICAgIHJ1bkxvb3AgPSBAMHg3ZjM0NGQzZTEwMDA6IHs8V1RG
OjpGdW5jdGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6OlRocmVhZFNhZmVSZWZDb3VudGVkPFdURjo6
RnVuY3Rpb25EaXNwYXRjaGVyPj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9
IHttX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgaW50Pj4gPSB7c3Rh
dGljIF9TX2FsaWdubWVudCA9IDQsIF9NX2kgPSAxfSwgPE5vIGRhdGEgZmllbGRzPn19LCA8Tm8g
ZGF0YSBmaWVsZHM+fSwgX3ZwdHIuRnVuY3Rpb25EaXNwYXRjaGVyID0gMHg3ZjM0ZDAyMjIxODgg
PHZ0YWJsZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0sIG1fZnVuY3Rpb25RdWV1ZUxvY2sgPSB7bV9t
dXRleCA9IHtfX2RhdGEgPSB7X19sb2NrID0gMCwgX19jb3VudCA9IDAsIF9fb3duZXIgPSAwLCBf
X251c2VycyA9IDAsIF9fa2luZCA9IDUxMiwgX19zcGlucyA9IDAsIF9fZWxpc2lvbiA9IDAsIF9f
bGlzdCA9IHtfX3ByZXYgPSAweDAsIF9fbmV4dCA9IDB4MH19LCBfX3NpemUgPSAnXDAwMCcgPHJl
cGVhdHMgMTcgdGltZXM+LCAiXDAwMiIsICdcMDAwJyA8cmVwZWF0cyAyMSB0aW1lcz4sIF9fYWxp
Z24gPSAwfX0sIG1fZnVuY3Rpb25RdWV1ZSA9IHttX3N0YXJ0ID0gMCwgbV9lbmQgPSAwLCBtX2J1
ZmZlciA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6RnVuY3Rpb248dm9pZCgpPiA+PiA9
IHttX2J1ZmZlciA9IDB4MCwgbV9jYXBhY2l0eSA9IDAsIG1fc2l6ZSA9IDB9LCA8Tm8gZGF0YSBm
aWVsZHM+fX0sIG1fbWFpbkNvbnRleHQgPSB7bV9wdHIgPSAweDdmMzQ0NDAwMDkwMH0sIG1fbWFp
bkxvb3BzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4sIDB1
bD4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+ID4+
ID0ge21fYnVmZmVyID0gMHg3ZjM0NzgwMTRkMDAsIG1fY2FwYWNpdHkgPSAxNiwgbV9zaXplID0g
MX0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9zb3VyY2UgPSB7bV9w
dHIgPSAweDdmMzQ0NDAwMTI2MH19CiAgICAgICAgbmVzdGVkTWFpbkxvb3AgPSA8b3B0aW1pemVk
IG91dD4KIzQgIDB4MDAwMDdmMzRkMDAxZjQ2MCBpbiBXVEY6OldvcmtRdWV1ZTo6PGxhbWJkYSgp
Pjo6b3BlcmF0b3IoKSAoX19jbG9zdXJlPTB4N2YzNDRkMWZlY2MwKSBhdCAvdmFyL3RtcC9wb3J0
YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3Vy
Y2UvV1RGL3d0Zi9nZW5lcmljL1dvcmtRdWV1ZUdlbmVyaWMuY3BwOjQ0CiAgICAgICAgdGhpcyA9
IDB4N2YzNDRkM2U5ZmMwCiM1ICBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpX
b3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6
OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25z
dCBzdGQ6Ol9BbnlfZGF0YSAmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9saWIvZ2NjL3g4Nl82
NC1wYy1saW51eC1nbnUvNS40LjAvaW5jbHVkZS9nKystdjUvZnVuY3Rpb25hbDoxODcxCk5vIGxv
Y2Fscy4KIzYgIDB4MDAwMDdmMzRjZmZmOTY1NSBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+Ojpv
cGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg3ZjM0NGQxZmVjYzApIGF0IC91c3IvbGliL2djYy94
ODZfNjQtcGMtbGludXgtZ251LzUuNC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MjI2NwpO
byBsb2NhbHMuCiM3ICBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2YzNDRk
M2ZlMDUwKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dv
cmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjkyCiAgICAg
ICAgY29udGV4dCA9IDB4N2YzNDRkM2ZlMDUwCiAgICAgICAgZW50cnlQb2ludCA9IHs8c3RkOjpf
TWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCBzdGF0
aWMgX01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7X01fb2JqZWN0
ID0gMHg3ZjM0NGQzZTlmYzAsIF9NX2NvbnN0X29iamVjdCA9IDB4N2YzNDRkM2U5ZmMwLCBfTV9m
dW5jdGlvbl9wb2ludGVyID0gMHg3ZjM0NGQzZTlmYzAsIF9NX21lbWJlcl9wb2ludGVyID0gKHZv
aWQgKHN0ZDo6X1VuZGVmaW5lZF9jbGFzczo6Kikoc3RkOjpfVW5kZWZpbmVkX2NsYXNzICogY29u
c3QpKSAweDdmMzQ0ZDNlOWZjMCwgdGhpcyBhZGp1c3RtZW50IDc3MzgxMzU3MzY5OTEzNzgyOTB9
LCBfTV9wb2RfZGF0YSA9ICJcMzAwXDIzNz5NNFwxNzdcMDAwXDAwMHJrIFN0YWNrIn0sIF9NX21h
bmFnZXIgPSAweDdmMzRkMDAxZjM4MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdl
cjxXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6Oldv
cmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01fbWFu
YWdlcihzdGQ6Ol9BbnlfZGF0YSAmLCBjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmLCBzdGQ6Ol9NYW5h
Z2VyX29wZXJhdGlvbik+fSwgX01faW52b2tlciA9IDB4N2YzNGQwMDFmM2YwIDxzdGQ6Ol9GdW5j
dGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShj
aGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8
bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiM4ICAweDAw
MDA3ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzRj
MTllMTFjMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93
b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3Bw
OjE2OAogICAgICAgIGludm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5j
dGlvbkludm9jYXRpb24+IGNvbnRhaW5pbmcgMHg3ZjM0YzE5ZTExYzAKIzkgIDB4MDAwMDdmMzRj
ZTVjNTRhNCBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5v
IHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEwIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBj
bG9uZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxh
YmxlLgoKVGhyZWFkIDggKFRocmVhZCAweDdmMzQ3OTVmZjcwMCAoTFdQIDg1OTIpKToKIzAgIDB4
MDAwMDdmMzRkMjM4ZjVlZCBpbiBwb2xsICgpIGZyb20gL2xpYjY0L2xpYmMuc28uNgpObyBzeW1i
b2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMxICAweDAwMDA3ZjM0ZDAyNzg2NmMgaW4gPz8gKCkg
ZnJvbSAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMiAgMHgwMDAwN2YzNGQwMjc4OWYyIGluIGdfbWFpbl9sb29wX3J1biAoKSBmcm9t
IC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFi
bGUuCiMzICAweDAwMDA3ZjM0ZDAwMjA3NDAgaW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgL3Zh
ci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0y
LjE2LjEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTQKICAgICAgICBydW5M
b29wID0gQDB4N2YzNGMxODhlMDAwOiB7PFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPiA9IHs8V1RG
OjpUaHJlYWRTYWZlUmVmQ291bnRlZDxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4+ID0gezxXVEY6
OlRocmVhZFNhZmVSZWZDb3VudGVkQmFzZT4gPSB7bV9yZWZDb3VudCA9IHs8c3RkOjpfX2F0b21p
Y19iYXNlPHVuc2lnbmVkIGludD4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQgPSA0LCBfTV9pID0g
MX0sIDxObyBkYXRhIGZpZWxkcz59fSwgPE5vIGRhdGEgZmllbGRzPn0sIF92cHRyLkZ1bmN0aW9u
RGlzcGF0Y2hlciA9IDB4N2YzNGQwMjIyMTg4IDx2dGFibGUgZm9yIFdURjo6UnVuTG9vcCsxNj59
LCBtX2Z1bmN0aW9uUXVldWVMb2NrID0ge21fbXV0ZXggPSB7X19kYXRhID0ge19fbG9jayA9IDAs
IF9fY291bnQgPSAwLCBfX293bmVyID0gMCwgX19udXNlcnMgPSAwLCBfX2tpbmQgPSA1MTIsIF9f
c3BpbnMgPSAwLCBfX2VsaXNpb24gPSAwLCBfX2xpc3QgPSB7X19wcmV2ID0gMHgwLCBfX25leHQg
PSAweDB9fSwgX19zaXplID0gJ1wwMDAnIDxyZXBlYXRzIDE3IHRpbWVzPiwgIlwwMDIiLCAnXDAw
MCcgPHJlcGVhdHMgMjEgdGltZXM+LCBfX2FsaWduID0gMH19LCBtX2Z1bmN0aW9uUXVldWUgPSB7
bV9zdGFydCA9IDExLCBtX2VuZCA9IDExLCBtX2J1ZmZlciA9IHs8V1RGOjpWZWN0b3JCdWZmZXJC
YXNlPFdURjo6RnVuY3Rpb248dm9pZCgpPiA+PiA9IHttX2J1ZmZlciA9IDB4N2YzNGMxODkwNDgw
LCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDB9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIG1fbWFp
bkNvbnRleHQgPSB7bV9wdHIgPSAweDdmMzQ2YzAwMDkwMH0sIG1fbWFpbkxvb3BzID0gezxXVEY6
OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4sIDB1bD4+ID0gezxXVEY6OlZl
Y3RvckJ1ZmZlckJhc2U8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+ID4+ID0ge21fYnVmZmVyID0g
MHg3ZjM0YzE4OGQwMDAsIG1fY2FwYWNpdHkgPSAxNiwgbV9zaXplID0gMX0sIDxObyBkYXRhIGZp
ZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9zb3VyY2UgPSB7bV9wdHIgPSAweDdmMzQ2YzAw
MTI2MH19CiAgICAgICAgbmVzdGVkTWFpbkxvb3AgPSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAw
MDdmMzRkMDAxZjQ2MCBpbiBXVEY6OldvcmtRdWV1ZTo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSAo
X19jbG9zdXJlPTB4N2YzNDc5NWZlY2MwKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dl
YmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9nZW5l
cmljL1dvcmtRdWV1ZUdlbmVyaWMuY3BwOjQ0CiAgICAgICAgdGhpcyA9IDB4N2YzNGMxODk0ZDAw
CiM1ICBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29y
a1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0
YSAmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUv
NS40LjAvaW5jbHVkZS9nKystdjUvZnVuY3Rpb25hbDoxODcxCk5vIGxvY2Fscy4KIzYgIDB4MDAw
MDdmMzRjZmZmOTY1NSBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29u
c3QgKHRoaXM9MHg3ZjM0Nzk1ZmVjYzApIGF0IC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgt
Z251LzUuNC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MjI2NwpObyBsb2NhbHMuCiM3ICBX
VEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2YzNGMxOGUzZjUwKSBhdCAvdmFy
L3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIu
MTYuMS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjkyCiAgICAgICAgY29udGV4dCA9IDB4
N2YzNGMxOGUzZjUwCiAgICAgICAgZW50cnlQb2ludCA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3Jf
YmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0
aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCBzdGF0aWMgX01fbWF4X2FsaWdu
ID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7X01fb2JqZWN0ID0gMHg3ZjM0YzE4OTRk
MDAsIF9NX2NvbnN0X29iamVjdCA9IDB4N2YzNGMxODk0ZDAwLCBfTV9mdW5jdGlvbl9wb2ludGVy
ID0gMHg3ZjM0YzE4OTRkMDAsIF9NX21lbWJlcl9wb2ludGVyID0gKHZvaWQgKHN0ZDo6X1VuZGVm
aW5lZF9jbGFzczo6Kikoc3RkOjpfVW5kZWZpbmVkX2NsYXNzICogY29uc3QpKSAweDdmMzRjMTg5
NGQwMCwgdGhpcyBhZGp1c3RtZW50IDEzOTg2NDg2MTQzNDA2NH0sIF9NX3BvZF9kYXRhID0gIlww
MDBNXDIxMVwzMDFcMDY0XDE3N1wwMDBcMDAwXDMyMFwzNDBhXDMyM1wwNjRcMTc3XDAwMCJ9LCBf
TV9tYW5hZ2VyID0gMHg3ZjM0ZDAwMWYzODAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21h
bmFnZXI8V1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RG
OjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+ID46Ol9N
X21hbmFnZXIoc3RkOjpfQW55X2RhdGEgJiwgY29uc3Qgc3RkOjpfQW55X2RhdGEgJiwgc3RkOjpf
TWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmMzRkMDAxZjNmMCA8c3RkOjpf
RnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxp
emUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9T
KTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEgJik+fQojOCAg
MHgwMDAwN2YzNGQwMDFlMDRhIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCAocGFyYW09MHg3
ZjM0YzE4OTMyNDApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2
LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRz
LmNwcDoxNjgKICAgICAgICBpbnZvY2F0aW9uID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6VGhyZWFk
RnVuY3Rpb25JbnZvY2F0aW9uPiBjb250YWluaW5nIDB4N2YzNGMxODkzMjQwCiM5ICAweDAwMDA3
ZjM0Y2U1YzU0YTQgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL2xpYjY0L2xpYnB0aHJlYWQuc28u
MApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMxMCAweDAwMDA3ZjM0ZDIzOTg2NmQg
aW4gY2xvbmUgKCkgZnJvbSAvbGliNjQvbGliYy5zby42Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2
YWlsYWJsZS4KClRocmVhZCA3IChUaHJlYWQgMHg3ZjM0ODBlMWM3MDAgKExXUCA4NDM5KSk6CiMw
ICAweDAwMDA3ZjM0ZDIzOGY1ZWQgaW4gcG9sbCAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8g
c3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMjc4NjZjIGluID8/
ICgpIGZyb20gL3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZv
IGF2YWlsYWJsZS4KIzIgIDB4MDAwMDdmMzRkMDI3ODlmMiBpbiBnX21haW5fbG9vcF9ydW4gKCkg
ZnJvbSAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMyAgMHgwMDAwN2YzNGQwMDIwNzQwIGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0
IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRn
dGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiAgICAgICAg
cnVuTG9vcCA9IEAweDdmMzRjMTllZTAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7
PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8
V1RGOjpUaHJlYWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19h
dG9taWNfYmFzZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01f
aSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5j
dGlvbkRpc3BhdGNoZXIgPSAweDdmMzRkMDIyMjE4OCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3Ar
MTY+fSwgbV9mdW5jdGlvblF1ZXVlTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sg
PSAwLCBfX2NvdW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gNTEy
LCBfX3NwaW5zID0gMCwgX19lbGlzaW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19u
ZXh0ID0gMHgwfX0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwg
J1wwMDAnIDxyZXBlYXRzIDIxIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9mdW5jdGlvblF1ZXVl
ID0ge21fc3RhcnQgPSAwLCBtX2VuZCA9IDAsIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZl
ckJhc2U8V1RGOjpGdW5jdGlvbjx2b2lkKCk+ID4+ID0ge21fYnVmZmVyID0gMHgwLCBtX2NhcGFj
aXR5ID0gMCwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59fSwgbV9tYWluQ29udGV4dCA9
IHttX3B0ciA9IDB4N2YzNDc0MDAwOTAwfSwgbV9tYWluTG9vcHMgPSB7PFdURjo6VmVjdG9yQnVm
ZmVyPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMHVsPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVy
QmFzZTxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4gPj4gPSB7bV9idWZmZXIgPSAweDdmMzRjMTll
ZDAwMCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUgPSAxfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4N2YzNDc0MDAxMjYwfX0KICAg
ICAgICBuZXN0ZWRNYWluTG9vcCA9IDxvcHRpbWl6ZWQgb3V0PgojNCAgMHgwMDAwN2YzNGQwMDFm
NDYwIGluIFdURjo6V29ya1F1ZXVlOjo8bGFtYmRhKCk+OjpvcGVyYXRvcigpIChfX2Nsb3N1cmU9
MHg3ZjM0ODBlMWJjYzApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0y
LjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvV29ya1F1
ZXVlR2VuZXJpYy5jcHA6NDQKICAgICAgICB0aGlzID0gMHg3ZjM0YzE5ZjcwNjAKIzUgIHN0ZDo6
X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFs
aXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFP
Uyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1
bmN0b3I9Li4uKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNs
dWRlL2crKy12NS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9jYWxzLgojNiAgMHgwMDAwN2YzNGNmZmY5
NjU1IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0w
eDdmMzQ4MGUxYmNjMCkgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvNS40LjAv
aW5jbHVkZS9nKystdjUvZnVuY3Rpb25hbDoyMjY3Ck5vIGxvY2Fscy4KIzcgIFdURjo6dGhyZWFk
RW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZjM0YzE5ZjYwNTApIGF0IC92YXIvdG1wL3BvcnRh
Z2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6OTIKICAgICAgICBjb250ZXh0ID0gMHg3ZjM0YzE5ZjYw
NTAKICAgICAgICBlbnRyeVBvaW50ID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVu
Y3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rpb25fYmFzZT4g
PSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxpZ24gPSA4LCBfTV9m
dW5jdG9yID0ge19NX3VudXNlZCA9IHtfTV9vYmplY3QgPSAweDdmMzRjMTlmNzA2MCwgX01fY29u
c3Rfb2JqZWN0ID0gMHg3ZjM0YzE5ZjcwNjAsIF9NX2Z1bmN0aW9uX3BvaW50ZXIgPSAweDdmMzRj
MTlmNzA2MCwgX01fbWVtYmVyX3BvaW50ZXIgPSAodm9pZCAoc3RkOjpfVW5kZWZpbmVkX2NsYXNz
OjoqKShzdGQ6Ol9VbmRlZmluZWRfY2xhc3MgKiBjb25zdCkpIDB4N2YzNGMxOWY3MDYwLCB0aGlz
IGFkanVzdG1lbnQgMTM5ODY0ODA0ODQxMTg3fSwgX01fcG9kX2RhdGEgPSAiYHBcMjM3XDMwMVww
NjRcMTc3XDAwMFwwMDBcMzQzVlwwMDJcMzIwXDA2NFwxNzdcMDAwIn0sIF9NX21hbmFnZXIgPSAw
eDdmMzRkMDAxZjM4MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXVEY6Oldv
cmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6
VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01fbWFuYWdlcihzdGQ6
Ol9BbnlfZGF0YSAmLCBjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJh
dGlvbik+fSwgX01faW52b2tlciA9IDB4N2YzNGQwMDFmM2YwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5k
bGVyPHZvaWQoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0
KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+
ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiM4ICAweDAwMDA3ZjM0ZDAw
MWUwNGEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzRjMTlmNTA0MCkg
YXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtp
dGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2OAogICAg
ICAgIGludm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9j
YXRpb24+IGNvbnRhaW5pbmcgMHg3ZjM0YzE5ZjUwNDAKIzkgIDB4MDAwMDdmMzRjZTVjNTRhNCBp
biBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5bWJvbCB0
YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEwIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9uZSAoKSBm
cm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoKVGhy
ZWFkIDYgKFRocmVhZCAweDdmMzQ4MTYxZDcwMCAoTFdQIDg0MzgpKToKIzAgIDB4MDAwMDdmMzRk
MjM4ZjVlZCBpbiBwb2xsICgpIGZyb20gL2xpYjY0L2xpYmMuc28uNgpObyBzeW1ib2wgdGFibGUg
aW5mbyBhdmFpbGFibGUuCiMxICAweDAwMDA3ZjM0ZDAyNzg2NmMgaW4gPz8gKCkgZnJvbSAvdXNy
L2xpYjY0L2xpYmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoj
MiAgMHgwMDAwN2YzNGQwMjc4OWYyIGluIGdfbWFpbl9sb29wX3J1biAoKSBmcm9tIC91c3IvbGli
NjQvbGliZ2xpYi0yLjAuc28uMApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMzICAw
eDAwMDA3ZjM0ZDAwMjA3NDAgaW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgL3Zhci90bXAvcG9y
dGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291
cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTQKICAgICAgICBydW5Mb29wID0gQDB4
N2YzNGMxOWYzMDAwOiB7PFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPiA9IHs8V1RGOjpUaHJlYWRT
YWZlUmVmQ291bnRlZDxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4+ID0gezxXVEY6OlRocmVhZFNh
ZmVSZWZDb3VudGVkQmFzZT4gPSB7bV9yZWZDb3VudCA9IHs8c3RkOjpfX2F0b21pY19iYXNlPHVu
c2lnbmVkIGludD4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQgPSA0LCBfTV9pID0gMX0sIDxObyBk
YXRhIGZpZWxkcz59fSwgPE5vIGRhdGEgZmllbGRzPn0sIF92cHRyLkZ1bmN0aW9uRGlzcGF0Y2hl
ciA9IDB4N2YzNGQwMjIyMTg4IDx2dGFibGUgZm9yIFdURjo6UnVuTG9vcCsxNj59LCBtX2Z1bmN0
aW9uUXVldWVMb2NrID0ge21fbXV0ZXggPSB7X19kYXRhID0ge19fbG9jayA9IDAsIF9fY291bnQg
PSAwLCBfX293bmVyID0gMCwgX19udXNlcnMgPSAwLCBfX2tpbmQgPSA1MTIsIF9fc3BpbnMgPSAw
LCBfX2VsaXNpb24gPSAwLCBfX2xpc3QgPSB7X19wcmV2ID0gMHgwLCBfX25leHQgPSAweDB9fSwg
X19zaXplID0gJ1wwMDAnIDxyZXBlYXRzIDE3IHRpbWVzPiwgIlwwMDIiLCAnXDAwMCcgPHJlcGVh
dHMgMjEgdGltZXM+LCBfX2FsaWduID0gMH19LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9
IDAsIG1fZW5kID0gMCwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkZ1
bmN0aW9uPHZvaWQoKT4gPj4gPSB7bV9idWZmZXIgPSAweDAsIG1fY2FwYWNpdHkgPSAwLCBtX3Np
emUgPSAwfSwgPE5vIGRhdGEgZmllbGRzPn19LCBtX21haW5Db250ZXh0ID0ge21fcHRyID0gMHg3
ZjM0N2MwMDA5MDB9LCBtX21haW5Mb29wcyA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8V1RGOjpHUmVm
UHRyPF9HTWFpbkxvb3A+LCAwdWw+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6R1Jl
ZlB0cjxfR01haW5Mb29wPiA+PiA9IHttX2J1ZmZlciA9IDB4N2YzNGMxOWYyMDAwLCBtX2NhcGFj
aXR5ID0gMTYsIG1fc2l6ZSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRz
Pn0sIG1fc291cmNlID0ge21fcHRyID0gMHg3ZjM0N2MwMDEyNjB9fQogICAgICAgIG5lc3RlZE1h
aW5Mb29wID0gPG9wdGltaXplZCBvdXQ+CiM0ICAweDAwMDA3ZjM0ZDAwMWY0NjAgaW4gV1RGOjpX
b3JrUXVldWU6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkgKF9fY2xvc3VyZT0weDdmMzQ4MTYxY2Nj
MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dl
YmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNw
cDo0NAogICAgICAgIHRoaXMgPSAweDdmMzRjMTlmNzAyMAojNSAgc3RkOjpfRnVuY3Rpb25faGFu
ZGxlcjx2b2lkKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25z
dCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgp
PiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0
IC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzUuNC4wL2luY2x1ZGUvZysrLXY1L2Z1
bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM2ICAweDAwMDA3ZjM0Y2ZmZjk2NTUgaW4gc3RkOjpm
dW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2YzNDgxNjFjY2Mw
KSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRlL2crKy12
NS9mdW5jdGlvbmFsOjIyNjcKTm8gbG9jYWxzLgojNyAgV1RGOjp0aHJlYWRFbnRyeVBvaW50IChj
b250ZXh0RGF0YT0weDdmMzRjMTlmNjAwMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93
ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmNwcDo5MgogICAgICAgIGNvbnRleHQgPSAweDdmMzRjMTlmNjAwMAogICAgICAgIGVu
dHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lkPj4g
PSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMgX01f
bWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7X01f
dW51c2VkID0ge19NX29iamVjdCA9IDB4N2YzNGMxOWY3MDIwLCBfTV9jb25zdF9vYmplY3QgPSAw
eDdmMzRjMTlmNzAyMCwgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4N2YzNGMxOWY3MDIwLCBfTV9t
ZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0ZDo6X1Vu
ZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHg3ZjM0YzE5ZjcwMjAsIHRoaXMgYWRqdXN0bWVudCAx
Mzk4NjQ4NzYxNzE2OTZ9LCBfTV9wb2RfZGF0YSA9ICIgcFwyMzdcMzAxXDA2NFwxNzdcMDAwXDAw
MFwyNjBcMzAxQlwzMjRcMDY0XDE3N1wwMDAifSwgX01fbWFuYWdlciA9IDB4N2YzNGQwMDFmMzgw
IDxzdGQ6Ol9GdW5jdGlvbl9iYXNlOjpfQmFzZV9tYW5hZ2VyPFdURjo6V29ya1F1ZXVlOjpwbGF0
Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6Oldv
cmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhICYs
IGNvbnN0IHN0ZDo6X0FueV9kYXRhICYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9p
bnZva2VyID0gMHg3ZjM0ZDAwMWYzZjAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBX
VEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtR
dWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tl
KGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpPn0KIzggIDB4MDAwMDdmMzRkMDAxZTA0YSBpbiBXVEY6
Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2YzNGMxOWY1MDAwKSBhdCAvdmFyL3RtcC9w
b3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9T
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY4CiAgICAgICAgaW52b2NhdGlv
biA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OlRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gY29udGFp
bmluZyAweDdmMzRjMTlmNTAwMAojOSAgMHgwMDAwN2YzNGNlNWM1NGE0IGluIHN0YXJ0X3RocmVh
ZCAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMTAgMHgwMDAwN2YzNGQyMzk4NjZkIGluIGNsb25lICgpIGZyb20gL2xpYjY0L2xp
YmMuc28uNgpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCgpUaHJlYWQgNSAoVGhyZWFk
IDB4N2YzNDRlNWZmNzAwIChMV1AgODYxMSkpOgojMCAgMHgwMDAwN2YzNGNlNWNiMGZmIGluIHB0
aHJlYWRfY29uZF93YWl0QEBHTElCQ18yLjMuMiAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNv
LjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMDFlNjhi
IGluIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQgKHRoaXM9dGhpc0BlbnRyeT0weDdm
MzQ0ZDNlMzAzMCwgbXV0ZXg9Li4uLCBhYnNvbHV0ZVRpbWU9aW5mKSBhdCAvdmFyL3RtcC9wb3J0
YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6Mzc1CiAgICAgICAgdGltZVNlY29uZHMg
PSA8b3B0aW1pemVkIG91dD4KICAgICAgICB0aW1lTmFub3NlY29uZHMgPSA8b3B0aW1pemVkIG91
dD4KICAgICAgICB0YXJnZXRUaW1lID0ge3R2X3NlYyA9IDEzOTg2MjYzMTMzNTg3MiwgdHZfbnNl
YyA9IDEzOTg2NDgwNDY2Mjg0MX0KIzIgIDB4MDAwMDdmMzRjZmZmNmJjYiBpbiBXVEY6OlBhcmtp
bmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpTY29wZWRMYW1i
ZGE8Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBjb25zdCYsIFdU
Rjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKGFkZHJlc3M9YWRkcmVzc0BlbnRy
eT0weDdmMzQ3ODAyOTZhMSwgdmFsaWRhdGlvbj0uLi4sIGJlZm9yZVNsZWVwPS4uLiwgdGltZW91
dD0uLi4pIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29y
ay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL1BhcmtpbmdMb3QuY3BwOjU5OAogICAg
ICAgIGxvY2tlciA9IHs8V1RGOjpBYnN0cmFjdExvY2tlcj4gPSB7PE5vIGRhdGEgZmllbGRzPn0s
IG1fbG9ja2FibGUgPSAweDdmMzQ0ZDNlMzAwOH0KICAgICAgICBkaWREZXF1ZXVlID0gPG9wdGlt
aXplZCBvdXQ+CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiMzICAweDAwMDA3ZjM0
ZDNjNjAwMWMgaW4gV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseTxib29sIFdURjo6
Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1l
V2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzF9LCBib29sIFdURjo6Q29u
ZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0
aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzJ9Pih2b2lkIGNvbnN0KiwgYm9v
bCBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdU
Rjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0Jik6OntsYW1iZGEoKSMxfSBjb25zdCYs
IGJvb2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2sm
LCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMn0gY29u
c3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICh0aW1lb3V0PS4uLiwg
YmVmb3JlU2xlZXA9Li4uLCB2YWxpZGF0aW9uPS4uLiwgYWRkcmVzcz0weDdmMzQ3ODAyOTZhMSkg
YXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtp
dGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5oOjg1Ck5vIGxvY2Fscy4KIzQg
IFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4gKHRpbWVvdXQ9Li4uLCBs
b2NrPS4uLiwgdGhpcz0weDdmMzQ3ODAyOTZhMSkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGli
cy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYv
Q29uZGl0aW9uLmg6NzcKICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KIzUgIFdURjo6
TWVzc2FnZVF1ZXVlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+Ojp3YWl0Rm9yTWVzc2Fn
ZUZpbHRlcmVkV2l0aFRpbWVvdXQ8V2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCY+IChhYnNv
bHV0ZVRpbWU9Li4uLCBwcmVkaWNhdGU9Li4uLCByZXN1bHQ9PHN5bnRoZXRpYyBwb2ludGVyPiwg
dGhpcz0weDdmMzQ3ODAyOTZhMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQt
Z3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvTWVzc2FnZVF1
ZXVlLmg6MTU0CiAgICAgICAgdGltZWRPdXQgPSBmYWxzZQogICAgICAgIGZvdW5kID0gezxXVEY6
OkRlcXVlSXRlcmF0b3JCYXNlPHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpXb3JrZXJSdW5Mb29w
OjpUYXNrLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+
ID4sIDB1bD4+ID0ge21fZGVxdWUgPSAweDdmMzQ3ODAyOTZhOCwgbV9pbmRleCA9IDxvcHRpbWl6
ZWQgb3V0Pn0sIDxObyBkYXRhIGZpZWxkcz59CiM2ICBXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpy
dW5Jbk1vZGUgKHRoaXM9dGhpc0BlbnRyeT0weDdmMzQ3ODAyOTZhMCwgY29udGV4dD1jb250ZXh0
QGVudHJ5PTB4N2YzNDc4MDQ1MjQwLCBwcmVkaWNhdGU9Li4uLCB3YWl0TW9kZT13YWl0TW9kZUBl
bnRyeT1XZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpXYWl0Rm9yTWVzc2FnZSkgYXQgL3Zhci90bXAv
cG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcDoxNzkKICAgICAgICBtYWlu
Q29udGV4dCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGRlYWRsaW5lID0ge3N0YXRpYyBjbG9j
a1R5cGUgPSBXVEY6OkNsb2NrVHlwZTo6V2FsbCwgbV92YWx1ZSA9IGluZn0KICAgICAgICBhYnNv
bHV0ZVRpbWUgPSB7c3RhdGljIGNsb2NrVHlwZSA9IFdURjo6Q2xvY2tUeXBlOjpXYWxsLCBtX3Zh
bHVlID0gaW5mfQogICAgICAgIHJlc3VsdCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHRhc2sg
PSA8b3B0aW1pemVkIG91dD4KIzcgIDB4MDAwMDdmMzRkM2M2MDQ0OCBpbiBXZWJDb3JlOjpXb3Jr
ZXJSdW5Mb29wOjpydW4gKHRoaXM9MHg3ZjM0NzgwMjk2YTAsIGNvbnRleHQ9MHg3ZjM0NzgwNDUy
NDApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93
ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHA6
MTM3CiAgICAgICAgbW9kZVByZWRpY2F0ZSA9IHttX21vZGUgPSB7bV9pbXBsID0ge3N0YXRpYyBp
c1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9fSwgbV9kZWZhdWx0TW9kZSA9
IHRydWV9CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiM4ICAweDAwMDA3ZjM0ZDNj
NjI5ODIgaW4gV2ViQ29yZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQgKHRoaXM9MHg3ZjM0
NzgwMjk2OTApIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEv
d29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcDoxOTAKICAgICAgICBtYWluQ29udGV4dCA9IHttX3B0ciA9IDB4N2YzNDQwMDAwOGUwfQog
ICAgICAgIHRocmVhZElEID0gPG9wdGltaXplZCBvdXQ+CiM5ICAweDAwMDA3ZjM0Y2ZmZjk2NTUg
aW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2Yz
NDRlNWZlY2MwKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNs
dWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcKTm8gbG9jYWxzLgojMTAgV1RGOjp0aHJlYWRFbnRy
eVBvaW50IChjb250ZXh0RGF0YT0weDdmMzQ3ODAyYjczMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9u
ZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dU
Ri93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAgICAgIGNvbnRleHQgPSAweDdmMzQ3ODAyYjczMAog
ICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlv
bjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtz
dGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0
b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4N2YzNGQzYzYyYzAwIDxXZWJDb3JlOjpX
b3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZFN0YXJ0KHZvaWQqKT4sIF9NX2NvbnN0X29iamVjdCA9
IDB4N2YzNGQzYzYyYzAwIDxXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZFN0YXJ0
KHZvaWQqKT4sIF9NX2Z1bmN0aW9uX3BvaW50ZXIgPSAweDdmMzRkM2M2MmMwMCA8V2ViQ29yZTo6
V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRTdGFydCh2b2lkKik+LCBfTV9tZW1iZXJfcG9pbnRl
ciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0ZDo6X1VuZGVmaW5lZF9jbGFz
cyAqIGNvbnN0KSkgMHg3ZjM0ZDNjNjJjMDAgPFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkU3RhcnQodm9pZCopPiwgdGhpcyBhZGp1c3RtZW50IDEzOTg2MzMyODQ2MjQ4MH0sIF9N
X3BvZF9kYXRhID0gIlwwMDAsXDMwNlwzMjNcMDY0XDE3N1wwMDBcMDAwXDIyMFwyMjZcMDAyeDRc
MTc3XDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHg3ZjM0Y2ZmZjk2OTAgPHN0ZDo6X0Z1bmN0aW9uX2Jh
c2U6Ol9CYXNlX21hbmFnZXI8V1RGOjpjcmVhdGVUaHJlYWQoV1RGOjpUaHJlYWRGdW5jdGlvbiwg
dm9pZCosIGNoYXIgY29uc3QqKTo6PGxhbWJkYSgpPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9k
YXRhICYsIGNvbnN0IHN0ZDo6X0FueV9kYXRhICYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59
LCBfTV9pbnZva2VyID0gMHg3ZjM0Y2ZmZjk1OTAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9p
ZCgpLCBXVEY6OmNyZWF0ZVRocmVhZChXVEY6OlRocmVhZEZ1bmN0aW9uLCB2b2lkKiwgY2hhciBj
b25zdCopOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKT59
CiMxMSAweDAwMDA3ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJh
bT0weDdmMzQ3ODAxMjBkMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3Rr
LTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRo
cmVhZHMuY3BwOjE2OAogICAgICAgIGludm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpU
aHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGNvbnRhaW5pbmcgMHg3ZjM0NzgwMTIwZDAKIzEyIDB4
MDAwMDdmMzRjZTVjNTRhNCBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVh
ZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEzIDB4MDAwMDdmMzRkMjM5
ODY2ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGlu
Zm8gYXZhaWxhYmxlLgoKVGhyZWFkIDQgKFRocmVhZCAweDdmMzQ2NWJmZDcwMCAoTFdQIDg1OTgp
KToKIzAgIDB4MDAwMDdmMzRjZTVjYjRhOCBpbiBwdGhyZWFkX2NvbmRfdGltZWR3YWl0QEBHTElC
Q18yLjMuMiAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGlu
Zm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMDFlNjVhIGluIFdURjo6VGhyZWFkQ29uZGl0
aW9uOjp0aW1lZFdhaXQgKHRoaXM9dGhpc0BlbnRyeT0weDdmMzQ3OGE2ZTAzMCwgbXV0ZXg9Li4u
LCBhYnNvbHV0ZVRpbWU9MTQ5MzE4MDMwOS4yMjM0NjcxKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25l
dC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6Mzg2CiAgICAgICAgdGltZVNlY29uZHMgPSAxNDkz
MTgwMzA5CiAgICAgICAgdGltZU5hbm9zZWNvbmRzID0gMjIzNDY3MTExCiAgICAgICAgdGFyZ2V0
VGltZSA9IHt0dl9zZWMgPSAxNDkzMTgwMzA5LCB0dl9uc2VjID0gMjIzNDY3MTExfQojMiAgMHgw
MDAwN2YzNGNmZmY2YmNiIGluIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBs
KHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2Nv
cGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUg
Y29uc3QmKSAoYWRkcmVzcz1hZGRyZXNzQGVudHJ5PTB4N2YzNDc4YTdiOWEzLCB2YWxpZGF0aW9u
PS4uLiwgYmVmb3JlU2xlZXA9Li4uLCB0aW1lb3V0PS4uLikgYXQgL3Zhci90bXAvcG9ydGFnZS9u
ZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dU
Ri93dGYvUGFya2luZ0xvdC5jcHA6NTk4CiAgICAgICAgbG9ja2VyID0gezxXVEY6OkFic3RyYWN0
TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9sb2NrYWJsZSA9IDB4N2YzNDc4YTZlMDA4
fQogICAgICAgIGRpZERlcXVldWUgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICByZXN1bHQgPSA8
b3B0aW1pemVkIG91dD4KIzMgIDB4MDAwMDdmMzRjZmZlNzkzZSBpbiBXVEY6OlBhcmtpbmdMb3Q6
OnBhcmtDb25kaXRpb25hbGx5PGJvb2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RG
OjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYp
Ojp7bGFtYmRhKCkjMX0sIGJvb2wgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpM
b2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7
bGFtYmRhKCkjMn0+KHZvaWQgY29uc3QqLCBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVu
dGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUg
Y29uc3QmKTo6e2xhbWJkYSgpIzF9IGNvbnN0JiwgYm9vbCBXVEY6OkNvbmRpdGlvbkJhc2U6Ondh
aXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tU
eXBlIGNvbnN0Jik6OntsYW1iZGEoKSMyfSBjb25zdCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xv
Y2tUeXBlIGNvbnN0JikgKHRpbWVvdXQ9Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHZhbGlkYXRpb249
Li4uLCBhZGRyZXNzPTB4N2YzNDc4YTdiOWEzKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJz
L3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Q
YXJraW5nTG90Lmg6ODUKTm8gbG9jYWxzLgojNCAgV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50
aWw8V1RGOjpMb2NrPiAodGltZW91dD0uLi4sIGxvY2s9Li4uLCB0aGlzPTB4N2YzNDc4YTdiOWEz
KSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Vi
a2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDo3NwpObyBsb2NhbHMuCiM1
ICBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3I8V1RGOjpMb2NrPiAocmVsYXRpdmVUaW1lb3V0
PS4uLiwgbG9jaz0uLi4sIHRoaXM9MHg3ZjM0NzhhN2I5YTMpIGF0IC92YXIvdG1wL3BvcnRhZ2Uv
bmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9X
VEYvd3RmL0NvbmRpdGlvbi5oOjExNwpObyBsb2NhbHMuCiM2ICBXVEY6OkF1dG9tYXRpY1RocmVh
ZDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSAoX19jbG9zdXJlPTB4MTVmYTE4MCkgYXQgL3Zhci90
bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2
LjEvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFkLmNwcDoyMDAKICAgICAgICByZXN1bHQg
PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBsb2NrZXIgPSB7PFdURjo6QWJzdHJhY3RMb2NrZXI+
ID0gezxObyBkYXRhIGZpZWxkcz59LCBtX2xvY2thYmxlID0gMHg3ZjM0YzE5ZjkwMWN9CiAgICAg
ICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdGhyZWFkID0ge3N0YXRpYyBpc1Jl
ZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmMzQ3OGE3Yjk4MH0KICAgICAgICBz
dG9wUGVybWFuZW50bHkgPSB7X190aGlzID0gMHg3ZjM0NzhhN2I5ODAsIF9fc3RvcEltcGwgPSA8
c3ludGhldGljIHBvaW50ZXI+fQogICAgICAgIHRoaXMgPSAweDdmMzQ3OGE3Yjk4MAogICAgICAg
IHByZXNlcnZlVGhpc0ZvclRocmVhZCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91
dD4sIG1fcHRyID0gMHg3ZjM0NzhhN2I5ODB9CiM3ICBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZv
aWQoKSwgV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJhY3RMb2Nr
ZXImKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEgJikgKF9f
ZnVuY3Rvcj0uLi4pIGF0IC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzUuNC4wL2lu
Y2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM4ICAweDAwMDA3ZjM0Y2Zm
Zjk2NTUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlz
PTB4N2YzNDY1YmZjY2MwKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQu
MC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcKTm8gbG9jYWxzLgojOSAgV1RGOjp0aHJl
YWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmMzQ3OGE3ZGMzMCkgYXQgL3Zhci90bXAvcG9y
dGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291
cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAgICAgIGNvbnRleHQgPSAweDdmMzQ3OGE3
ZGMzMAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9m
dW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNl
PiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9N
X2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTVmYTE4MCwgX01fY29uc3Rf
b2JqZWN0ID0gMHgxNWZhMTgwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNWZhMTgwLCBfTV9t
ZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0ZDo6X1Vu
ZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHgxNWZhMTgwfSwgX01fcG9kX2RhdGEgPSAiXDIwMFwy
NDFfXDAwMSIsICdcMDAwJyA8cmVwZWF0cyAxMSB0aW1lcz59LCBfTV9tYW5hZ2VyID0gMHg3ZjM0
Y2ZmZTc3NTAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8V1RGOjpBdXRvbWF0
aWNUaHJlYWQ6OnN0YXJ0KGNvbnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6PGxhbWJkYSgpPiA+
OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhICYsIGNvbnN0IHN0ZDo6X0FueV9kYXRhICYsIHN0
ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2VyID0gMHg3ZjM0Y2ZmZTc4MTAgPHN0
ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OkF1dG9tYXRpY1RocmVhZDo6c3RhcnQo
Y29uc3QgV1RGOjpBYnN0cmFjdExvY2tlciYpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25z
dCBzdGQ6Ol9BbnlfZGF0YSAmKT59CiMxMCAweDAwMDA3ZjM0ZDAwMWUwNGEgaW4gV1RGOjp3dGZU
aHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmMzQ3OGFmYjM1MCkgYXQgL3Zhci90bXAvcG9ydGFn
ZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNl
L1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2OAogICAgICAgIGludm9jYXRpb24gPSBz
dGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGNvbnRhaW5pbmcg
MHg3ZjM0NzhhZmIzNTAKIzExIDB4MDAwMDdmMzRjZTVjNTRhNCBpbiBzdGFydF90aHJlYWQgKCkg
ZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJs
ZS4KIzEyIDB4MDAwMDdmMzRkMjM5ODY2ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJjLnNv
LjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgoKVGhyZWFkIDMgKFRocmVhZCAweDdm
MzQ2NmJmZjcwMCAoTFdQIDg1OTYpKToKIzAgIDB4MDAwMDdmMzRjZTVjYjRhOCBpbiBwdGhyZWFk
X2NvbmRfdGltZWR3YWl0QEBHTElCQ18yLjMuMiAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNv
LjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMDFlNjVh
IGluIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQgKHRoaXM9dGhpc0BlbnRyeT0weDdm
MzQ3OGE3NDAzMCwgbXV0ZXg9Li4uLCBhYnNvbHV0ZVRpbWU9MTQ5MzE4MDMwOS4yMjM0NjgxKSBh
dCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0
Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6Mzg2CiAgICAg
ICAgdGltZVNlY29uZHMgPSAxNDkzMTgwMzA5CiAgICAgICAgdGltZU5hbm9zZWNvbmRzID0gMjIz
NDY4MDY1CiAgICAgICAgdGFyZ2V0VGltZSA9IHt0dl9zZWMgPSAxNDkzMTgwMzA5LCB0dl9uc2Vj
ID0gMjIzNDY4MDY1fQojMiAgMHgwMDAwN2YzNGNmZmY2YmNiIGluIFdURjo6UGFya2luZ0xvdDo6
cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29s
ICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1l
V2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSAoYWRkcmVzcz1hZGRyZXNzQGVudHJ5PTB4N2Yz
NDc4YTdiOTIzLCB2YWxpZGF0aW9uPS4uLiwgYmVmb3JlU2xlZXA9Li4uLCB0aW1lb3V0PS4uLikg
YXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtp
dGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTk4CiAgICAgICAgbG9j
a2VyID0gezxXVEY6OkFic3RyYWN0TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9sb2Nr
YWJsZSA9IDB4N2YzNDc4YTc0MDA4fQogICAgICAgIGRpZERlcXVldWUgPSA8b3B0aW1pemVkIG91
dD4KICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KIzMgIDB4MDAwMDdmMzRjZmZlNzkz
ZSBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5PGJvb2wgV1RGOjpDb25kaXRp
b25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHlu
YW1pY0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMX0sIGJvb2wgV1RGOjpDb25kaXRpb25C
YXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1p
Y0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMn0+KHZvaWQgY29uc3QqLCBib29sIFdURjo6
Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1l
V2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKTo6e2xhbWJkYSgpIzF9IGNvbnN0JiwgYm9vbCBX
VEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6
VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0Jik6OntsYW1iZGEoKSMyfSBjb25zdCYsIFdU
Rjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKHRpbWVvdXQ9Li4uLCBiZWZvcmVT
bGVlcD0uLi4sIHZhbGlkYXRpb249Li4uLCBhZGRyZXNzPTB4N2YzNDc4YTdiOTIzKSBhdCAvdmFy
L3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIu
MTYuMS9Tb3VyY2UvV1RGL3d0Zi9QYXJraW5nTG90Lmg6ODUKTm8gbG9jYWxzLgojNCAgV1RGOjpD
b25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPiAodGltZW91dD0uLi4sIGxvY2s9Li4u
LCB0aGlzPTB4N2YzNDc4YTdiOTIzKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dlYmtp
dC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRp
b24uaDo3NwpObyBsb2NhbHMuCiM1ICBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3I8V1RGOjpM
b2NrPiAocmVsYXRpdmVUaW1lb3V0PS4uLiwgbG9jaz0uLi4sIHRoaXM9MHg3ZjM0NzhhN2I5MjMp
IGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJr
aXRndGstMi4xNi4xL1NvdXJjZS9XVEYvd3RmL0NvbmRpdGlvbi5oOjExNwpObyBsb2NhbHMuCiM2
ICBXVEY6OkF1dG9tYXRpY1RocmVhZDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSAoX19jbG9zdXJl
PTB4MTU3NTgwMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYu
MS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFkLmNw
cDoyMDAKICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBsb2NrZXIgPSB7
PFdURjo6QWJzdHJhY3RMb2NrZXI+ID0gezxObyBkYXRhIGZpZWxkcz59LCBtX2xvY2thYmxlID0g
MHg3ZjM0YzE5ZjkwMWN9CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAg
dGhyZWFkID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdm
MzQ3OGE3YjkwMH0KICAgICAgICBzdG9wUGVybWFuZW50bHkgPSB7X190aGlzID0gMHg3ZjM0Nzhh
N2I5MDAsIF9fc3RvcEltcGwgPSA8c3ludGhldGljIHBvaW50ZXI+fQogICAgICAgIHRoaXMgPSAw
eDdmMzQ3OGE3YjkwMAogICAgICAgIHByZXNlcnZlVGhpc0ZvclRocmVhZCA9IHtzdGF0aWMgaXNS
ZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjM0NzhhN2I5MDB9CiM3ICBzdGQ6
Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KGNv
bnN0IFdURjo6QWJzdHJhY3RMb2NrZXImKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qg
c3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvbGliL2djYy94ODZfNjQt
cGMtbGludXgtZ251LzUuNC4wL2luY2x1ZGUvZysrLXY1L2Z1bmN0aW9uYWw6MTg3MQpObyBsb2Nh
bHMuCiM4ICAweDAwMDA3ZjM0Y2ZmZjk2NTUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3Bl
cmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2YzNDY2YmZlY2MwKSBhdCAvdXNyL2xpYi9nY2MveDg2
XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRlL2crKy12NS9mdW5jdGlvbmFsOjIyNjcKTm8g
bG9jYWxzLgojOSAgV1RGOjp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmMzQ3OGE3
ZGI5MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3Jr
L3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo5MgogICAgICAg
IGNvbnRleHQgPSAweDdmMzQ3OGE3ZGI5MAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01h
eWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0s
IDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGlj
IF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9
IDB4MTU3NTgwMCwgX01fY29uc3Rfb2JqZWN0ID0gMHgxNTc1ODAwLCBfTV9mdW5jdGlvbl9wb2lu
dGVyID0gMHgxNTc1ODAwLCBfTV9tZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmlu
ZWRfY2xhc3M6OiopKHN0ZDo6X1VuZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHgxNTc1ODAwLCB0
aGlzIGFkanVzdG1lbnQgMTM5ODYzMzM5Mjg0ODY0fSwgX01fcG9kX2RhdGEgPSAiXDAwMFhXXDAw
MVwwMDBcMDAwXDAwMFwwMDBcMjAwXDI3MVwyNDd4NFwxNzdcMDAwIn0sIF9NX21hbmFnZXIgPSAw
eDdmMzRjZmZlNzc1MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXVEY6OkF1
dG9tYXRpY1RocmVhZDo6c3RhcnQoY29uc3QgV1RGOjpBYnN0cmFjdExvY2tlciYpOjo8bGFtYmRh
KCk+ID46Ol9NX21hbmFnZXIoc3RkOjpfQW55X2RhdGEgJiwgY29uc3Qgc3RkOjpfQW55X2RhdGEg
Jiwgc3RkOjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmMzRjZmZlNzgx
MCA8c3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6QXV0b21hdGljVGhyZWFkOjpz
dGFydChjb25zdCBXVEY6OkFic3RyYWN0TG9ja2VyJik6OjxsYW1iZGEoKT4gPjo6X01faW52b2tl
KGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpPn0KIzEwIDB4MDAwMDdmMzRkMDAxZTA0YSBpbiBXVEY6
Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2YzNDc4YWZiMzEwKSBhdCAvdmFyL3RtcC9w
b3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9T
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY4CiAgICAgICAgaW52b2NhdGlv
biA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OlRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gY29udGFp
bmluZyAweDdmMzQ3OGFmYjMxMAojMTEgMHgwMDAwN2YzNGNlNWM1NGE0IGluIHN0YXJ0X3RocmVh
ZCAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMTIgMHgwMDAwN2YzNGQyMzk4NjZkIGluIGNsb25lICgpIGZyb20gL2xpYjY0L2xp
YmMuc28uNgpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCgpUaHJlYWQgMiAoVGhyZWFk
IDB4N2YzNGMyMzkwNzAwIChMV1AgODQzNSkpOgojMCAgMHgwMDAwN2YzNGQyMzY4NWJkIGluIG5h
bm9zbGVlcCAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMSAgMHgwMDAwN2YzNGQwMDI1MmMxIGluIHN0ZDo6dGhpc190aHJlYWQ6OnNsZWVw
X2Zvcjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwbD4gPiAoX19ydGltZT08c3ludGhldGljIHBv
aW50ZXI+KSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS81LjQuMC9pbmNsdWRl
L2crKy12NS90aHJlYWQ6MjkyCiAgICAgICAgX190cyA9IHt0dl9zZWMgPSAwLCB0dl9uc2VjID0g
NTEyMDAwMDAwfQojMiAgYm1hbGxvYzo6c2xlZXAgKGR1cmF0aW9uPS4uLiwgbG9jaz0uLi4pIGF0
IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRn
dGstMi4xNi4xL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaDo2NQpObyBsb2Nh
bHMuCiMzICBibWFsbG9jOjp3YWl0VW50aWxGYWxzZSAoY29uZGl0aW9uPUAweDdmMzRkMDIyZGE1
ODogdHJ1ZSwgc2xlZXBEdXJhdGlvbj0uLi4sIGxvY2s9Li4uKSBhdCAvdmFyL3RtcC9wb3J0YWdl
L25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4Lmg6NzUKTm8gbG9jYWxzLgojNCAgYm1hbGxvYzo6
SGVhcDo6c2NhdmVuZ2UgKHRoaXM9dGhpc0BlbnRyeT0weDdmMzRkMDIyY2U2MCA8Ym1hbGxvYzo6
UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1vcnk+LCBsb2NrPS4uLiwgc2xlZXBEdXJh
dGlvbj1zbGVlcER1cmF0aW9uQGVudHJ5PS4uLikgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGli
cy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9IZWFwLmNwcDoxMjMKTm8gbG9jYWxzLgojNSAgMHgwMDAwN2YzNGQwMDI1M2VmIGlu
IGJtYWxsb2M6OkhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5nZSAodGhpcz0weDdmMzRkMDIyY2U2MCA8
Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1vcnk+KSBhdCAvdmFyL3Rt
cC9wb3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYu
MS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwOjExOAogICAgICAgIGxvY2sgPSB7X01f
ZGV2aWNlID0gMHg3ZjM0ZDAyMmRiZjAgPGJtYWxsb2M6OlBlclByb2Nlc3M8Ym1hbGxvYzo6SGVh
cD46OnNfbXV0ZXg+LCBfTV9vd25zID0gZmFsc2V9CiM2ICAweDAwMDA3ZjM0ZDAwMjY4NDYgaW4g
Ym1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6Oiop
KCk+Ojp0aHJlYWRSdW5Mb29wICh0aGlzPTB4N2YzNGQwMjJkYTYwIDxibWFsbG9jOjpQZXJQcm9j
ZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeSszMDcyPikgYXQgL3Zhci90bXAvcG9ydGFnZS9u
ZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaDoxMjUKICAgICAgICBleHBlY3RlZFN0YXRlID0gYm1h
bGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+
OjpSdW5SZXF1ZXN0ZWQKIzcgIDB4MDAwMDdmMzRkMDAyNmEwOSBpbiBibWFsbG9jOjpBc3luY1Rh
c2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT46OnRocmVhZEVudHJ5
UG9pbnQgKGFzeW5jVGFzaz08b3B0aW1pemVkIG91dD4pIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0
LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQXN5bmNUYXNrLmg6MTEwCk5vIGxvY2Fscy4KIzggIDB4MDAwMDdmMzRjOWU0
MjBmMiBpbiA/PyAoKSBmcm9tIC91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzUuNC4w
L2xpYnN0ZGMrKy5zby42Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzkgIDB4MDAw
MDdmMzRjZTVjNTRhNCBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5z
by4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzEwIDB4MDAwMDdmMzRkMjM5ODY2
ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKTm8gc3ltYm9sIHRhYmxlIGluZm8g
YXZhaWxhYmxlLgoKVGhyZWFkIDEgKFRocmVhZCAweDdmMzRkNTAxNzk0MCAoTFdQIDg0MzMpKToK
IzAgIDB4MDAwMDdmMzRkMDI3ZGU5MSBpbiA/PyAoKSBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0y
LjAuc28uMApObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCiMxICAweDAwMDA3ZjM0ZDAy
N2YyZGQgaW4gZ19sb2d2ICgpIGZyb20gL3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wCk5vIHN5
bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzIgIDB4MDAwMDdmMzRkMDI3ZjQ0NyBpbiBnX2xv
ZyAoKSBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMApObyBzeW1ib2wgdGFibGUgaW5m
byBhdmFpbGFibGUuCiMzICAweDAwMDA3ZjM0ZDA1NWFmMDEgaW4gZ19vYmplY3Rfc2V0ICgpIGZy
b20gL3Vzci9saWI2NC9saWJnb2JqZWN0LTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2
YWlsYWJsZS4KIzQgIDB4MDAwMDdmMzRkM2NlYmZkOSBpbiBXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4gKHRoaXM9dGhpc0BlbnRyeT0weDdmMzQ4
MDU3ZTg0MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93
b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6MjEyOQogICAgICAgIHZpZGVv
RmxpcCA9IDB4MAogICAgICAgIGJ1cyA9IHttX3B0ciA9IDB4MWE0ZTkyMH0KICAgICAgICB0ZXh0
Q29tYmluZXIgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBfX0ZVTkNUSU9OX18gPSAiY3JlYXRl
R1NUUGxheUJpbiIKICAgICAgICB2aWRlb1NpbmtQYWQgPSB7bV9wdHIgPSAweDB9CiM1ICAweDAw
MDA3ZjM0ZDNjZWM1ODggaW4gV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjps
b2FkICh0aGlzPTB4N2YzNDgwNTdlODQwLCB1cmxTdHJpbmc9Li4uKSBhdCAvdmFyL3RtcC9wb3J0
YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcDoyNDMKICAgICAgICB1cmwgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0ge3N0
YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmMzQ3YTI5MDAwMH19
LCBtX2lzVmFsaWQgPSB0cnVlLCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSBmYWxzZSwgbV9j
YW5ub3RCZUFCYXNlVVJMID0gdHJ1ZSwgbV9zY2hlbWVFbmQgPSA0LCBtX3VzZXJTdGFydCA9IDUs
IG1fdXNlckVuZCA9IDUsIG1fcGFzc3dvcmRFbmQgPSA1LCBtX2hvc3RFbmQgPSA1LCBtX3BvcnRF
bmQgPSA1LCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDQ3MjIsIG1fcGF0aEVuZCA9IDQ3NTQsIG1f
cXVlcnlFbmQgPSA0NzU0LCBtX2ZyYWdtZW50RW5kID0gNDc1NH0KICAgICAgICBjbGVhblVSTCA9
IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4
N2YzNDdhMjkwMDAwfX0KICAgICAgICBfX0ZVTkNUSU9OX18gPSAibG9hZCIKIzYgIDB4MDAwMDdm
MzRkMzgxM2FhMyBpbiBXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdp
bmUgKHRoaXM9dGhpc0BlbnRyeT0weDdmMzQ3OGEzMjgyOCwgY3VycmVudD1jdXJyZW50QGVudHJ5
PTB4MCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3Jr
L3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOjUxNQogICAgICAgIGVuZ2luZSA9IDxvcHRpbWl6ZWQgb3V0PgojNyAgMHgwMDAw
N2YzNGQzODEzZjJiIGluIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpsb2FkICh0aGlzPTB4N2YzNDc4
YTMyODI4LCB1cmw9Li4uLCBjb250ZW50VHlwZT0uLi4sIGtleVN5c3RlbT0uLi4pIGF0IC92YXIv
dG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4x
Ni4xL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDo0MTAK
Tm8gbG9jYWxzLgojOCAgMHgwMDAwN2YzNGQzNDc1OTllIGluIFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OmxvYWRSZXNvdXJjZSAodGhpcz0weDdmMzQ3ODFhYzAwMCwgaW5pdGlhbFVSTD0uLi4s
IGNvbnRlbnRUeXBlPS4uLiwga2V5U3lzdGVtPS4uLikgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQt
bGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoxNTU3CiAgICAgICAgdXJsID0ge21fc3RyaW5n
ID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0g
MHg3ZjM0N2EyOTAwMDB9fSwgbV9pc1ZhbGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFt
aWx5ID0gZmFsc2UsIG1fY2Fubm90QmVBQmFzZVVSTCA9IHRydWUsIG1fc2NoZW1lRW5kID0gNCwg
bV91c2VyU3RhcnQgPSA1LCBtX3VzZXJFbmQgPSA1LCBtX3Bhc3N3b3JkRW5kID0gNSwgbV9ob3N0
RW5kID0gNSwgbV9wb3J0RW5kID0gNSwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSA0NzIyLCBtX3Bh
dGhFbmQgPSA0NzU0LCBtX3F1ZXJ5RW5kID0gNDc1NCwgbV9mcmFnbWVudEVuZCA9IDQ3NTR9CiAg
ICAgICAgcmVzb3VyY2UgPSAweDAKICAgICAgICBsb2FkQXR0ZW1wdGVkID0gZmFsc2UKIzkgIDB4
MDAwMDdmMzRkMzQ3NjZkMSBpbiBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojo8bGFtYmRhKCk+
OjpvcGVyYXRvcigpIChfX2Nsb3N1cmU9PG9wdGltaXplZCBvdXQ+KSBhdCAvdmFyL3RtcC9wb3J0
YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOjE0MDUKICAgICAgICBhYnNvbHV0
ZVVSTCA9IHttX3N0cmluZyA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXpl
ZCBvdXQ+LCBtX3B0ciA9IDB4N2YzNDdhMjkwMDAwfX0sIG1faXNWYWxpZCA9IHRydWUsIG1fcHJv
dG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBtX2Nhbm5vdEJlQUJhc2VVUkwgPSB0cnVlLCBt
X3NjaGVtZUVuZCA9IDQsIG1fdXNlclN0YXJ0ID0gNSwgbV91c2VyRW5kID0gNSwgbV9wYXNzd29y
ZEVuZCA9IDUsIG1faG9zdEVuZCA9IDUsIG1fcG9ydEVuZCA9IDUsIG1fcGF0aEFmdGVyTGFzdFNs
YXNoID0gNDcyMiwgbV9wYXRoRW5kID0gNDc1NCwgbV9xdWVyeUVuZCA9IDQ3NTQsIG1fZnJhZ21l
bnRFbmQgPSA0NzU0fQogICAgICAgIGNvbnRlbnRUeXBlID0ge21fdHlwZSA9IHttX2ltcGwgPSB7
c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19fQogICAgICAg
IG1vZGUgPSBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojo8bGFtYmRhKCk+OjpBdHRyaWJ1dGUK
IzEwIFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyPFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnNlbGVjdE1lZGlhUmVzb3VyY2UoKTo6PGxhbWJkYSgpPiA+OjpjYWxsKHZv
aWQpICh0aGlzPTB4N2YzNDc4YWZiNmYwKSBhdCAvdmFyL3RtcC9wb3J0YWdlL25ldC1saWJzL3dl
YmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9Tb3VyY2UvV1RGL3d0Zi9GdW5j
dGlvbi5oOjg5Ck5vIGxvY2Fscy4KIzExIDB4MDAwMDdmMzRkMzc2NTg5YSBpbiBXVEY6OkZ1bmN0
aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9PHN5bnRoZXRpYyBwb2ludGVy
PikgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dl
YmtpdGd0ay0yLjE2LjEvU291cmNlL1dURi93dGYvRnVuY3Rpb24uaDo1MApObyBsb2NhbHMuCiMx
MiBXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxXZWJDb3JlOjpUaW1lcj46OmRpc3BhdGNoT25lVGFz
ayAodGhpcz0weDdmMzQ3ODFhYzQzMCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJr
aXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHA6ODEKICAgICAgICB0YXNrID0ge21fY2FsbGFibGVXcmFw
cGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFw
cGVyQmFzZT4gY29udGFpbmluZyAweDdmMzQ3ODFjZDk5MH0KIzEzIDB4MDAwMDdmMzRkMzc2NTk5
OCBpbiBXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxXZWJDb3JlOjpUaW1lcj46OnNoYXJlZFRpbWVy
RmlyZWQgKCkgYXQgL3Zhci90bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93
b3JrL3dlYmtpdGd0ay0yLjE2LjEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tR
dWV1ZS5jcHA6NjYKICAgICAgICBxdWV1ZWREaXNwYXRjaGVycyA9IHttX3N0YXJ0ID0gMiwgbV9l
bmQgPSA8b3B0aW1pemVkIG91dD4sIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8
V1RGOjpXZWFrUHRyPFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFdlYkNvcmU6OlRpbWVyPiA+ID4+
ID0ge21fYnVmZmVyID0gMHg3ZjM0NzgxZmU0ODAsIG1fY2FwYWNpdHkgPSAxNiwgbV9zaXplID0g
PG9wdGltaXplZCBvdXQ+fSwgPE5vIGRhdGEgZmllbGRzPn19CiMxNCAweDAwMDA3ZjM0ZDM3OGM1
ODYgaW4gV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwgKHRo
aXM9MHg3ZjM0YzE5ODM5ZDgpIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWxpYnMvd2Via2l0LWd0
ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZFRpbWVycy5jcHA6MTIxCiAgICAgICAgdGltZXIgPSAweDdmMzRkNGUyMmUwMCA8V2ViQ29y
ZTo6VGFza0Rpc3BhdGNoZXI8V2ViQ29yZTo6VGltZXI+OjpzaGFyZWRUaW1lcigpOjp0aW1lcj4K
ICAgICAgICBmaXJlVGltZSA9IDQ4MDMuODEwNzA5MDAwMDAwMwogICAgICAgIHRpbWVUb1F1aXQg
PSA0ODAzLjg2MDcwOTAwMDAwMDUKICAgICAgICB0aGlzID0gMHg3ZjM0YzE5ODM5ZDgKIzE1IDB4
MDAwMDdmMzRkMDAyMDMzYSBpbiBXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6VGltZXJCYXNlKFdU
Rjo6UnVuTG9vcCYpOjp7bGFtYmRhKHZvaWQqKSMxfTo6X0ZVTih2b2lkKikgKCkgYXQgL3Zhci90
bXAvcG9ydGFnZS9uZXQtbGlicy93ZWJraXQtZ3RrLTIuMTYuMS93b3JrL3dlYmtpdGd0ay0yLjE2
LjEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6MTYyCiAgICAgICAgV1RGOjpy
dW5Mb29wU291cmNlRnVuY3Rpb25zID0ge3ByZXBhcmUgPSAweDAsIGNoZWNrID0gMHgwLCBkaXNw
YXRjaCA9IDB4N2YzNGQwMDFmZTUwIDxXVEY6OjxsYW1iZGEoR1NvdXJjZSosIEdTb3VyY2VGdW5j
LCBncG9pbnRlcik+OjpfRlVOKEdTb3VyY2UgKiwgR1NvdXJjZUZ1bmMsIGdwb2ludGVyKT4sIGZp
bmFsaXplID0gMHgwLCBjbG9zdXJlX2NhbGxiYWNrID0gMHgwLCBjbG9zdXJlX21hcnNoYWwgPSAw
eDB9CiMxNiAweDAwMDA3ZjM0ZDAyNzgzMmEgaW4gZ19tYWluX2NvbnRleHRfZGlzcGF0Y2ggKCkg
ZnJvbSAvdXNyL2xpYjY0L2xpYmdsaWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZh
aWxhYmxlLgojMTcgMHgwMDAwN2YzNGQwMjc4NmQwIGluID8/ICgpIGZyb20gL3Vzci9saWI2NC9s
aWJnbGliLTIuMC5zby4wCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzE4IDB4MDAw
MDdmMzRkMDI3ODlmMiBpbiBnX21haW5fbG9vcF9ydW4gKCkgZnJvbSAvdXNyL2xpYjY0L2xpYmds
aWItMi4wLnNvLjAKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgojMTkgMHgwMDAwN2Yz
NGQwMDIwNzQwIGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC92YXIvdG1wL3BvcnRhZ2UvbmV0
LWxpYnMvd2Via2l0LWd0ay0yLjE2LjEvd29yay93ZWJraXRndGstMi4xNi4xL1NvdXJjZS9XVEYv
d3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiAgICAgICAgcnVuTG9vcCA9IEAweDdmMzRjMTlm
ODAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNv
dW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVmQ291
bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBp
bnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8gZGF0YSBmaWVs
ZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNoZXIgPSAweDdm
MzRkMDIyMjE4OCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5jdGlvblF1ZXVl
TG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwgX19v
d25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gNTEyLCBfX3NwaW5zID0gMCwgX19lbGlz
aW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0gMHgwfX0sIF9fc2l6ZSA9
ICdcMDAwJyA8cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxyZXBlYXRzIDIxIHRp
bWVzPiwgX19hbGlnbiA9IDB9fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3RhcnQgPSA4LCBtX2Vu
ZCA9IDksIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpGdW5jdGlvbjx2
b2lkKCk+ID4+ID0ge21fYnVmZmVyID0gMHg3ZjM0YzE5ZDgwYTgsIG1fY2FwYWNpdHkgPSAyMSwg
bV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59fSwgbV9tYWluQ29udGV4dCA9IHttX3B0ciA9
IDB4MTQ0OWRmMH0sIG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQ
dHI8X0dNYWluTG9vcD4sIDB1bD4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpHUmVm
UHRyPF9HTWFpbkxvb3A+ID4+ID0ge21fYnVmZmVyID0gMHg3ZjM0YzE5ZmExMDAsIG1fY2FwYWNp
dHkgPSAxNiwgbV9zaXplID0gMX0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgbV9zb3VyY2UgPSB7bV9wdHIgPSAweDE0NmYzYjB9fQogICAgICAgIG5lc3RlZE1haW5Mb29w
ID0gPG9wdGltaXplZCBvdXQ+CiMyMCAweDAwMDA3ZjM0ZDJlZmQxODkgaW4gV2ViS2l0OjpDaGls
ZFByb2Nlc3NNYWluPFdlYktpdDo6V2ViUHJvY2VzcywgV2ViS2l0OjpXZWJQcm9jZXNzTWFpbj4g
KGFyZ2M9PG9wdGltaXplZCBvdXQ+LCBhcmd2PTB4N2ZmY2I0MTQ5ODM4KSBhdCAvdmFyL3RtcC9w
b3J0YWdlL25ldC1saWJzL3dlYmtpdC1ndGstMi4xNi4xL3dvcmsvd2Via2l0Z3RrLTIuMTYuMS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvdW5peC9DaGlsZFByb2Nlc3NNYWluLmg6NjEKICAgICAgICBj
aGlsZE1haW4gPSB7PFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbkJhc2U+ID0ge192cHRyLkNoaWxk
UHJvY2Vzc01haW5CYXNlID0gMHg3ZjM0ZDRjNzJkYzAgPHZ0YWJsZSBmb3IgV2ViS2l0OjpXZWJQ
cm9jZXNzTWFpbisxNj4sIG1fcGFyYW1ldGVycyA9IHt1aVByb2Nlc3NOYW1lID0ge21faW1wbCA9
IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfX0sIGNsaWVu
dElkZW50aWZpZXIgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0
PiwgbV9wdHIgPSAweDB9fSwgY29ubmVjdGlvbklkZW50aWZpZXIgPSAzNywgZXh0cmFJbml0aWFs
aXphdGlvbkRhdGEgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSA8b3B0aW1pemVkIG91
dD4sIHN0YXRpYyBtX21pbkxvYWQgPSA8b3B0aW1pemVkIG91dD4sIG1fdGFibGUgPSAweDAsIG1f
dGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVs
ZXRlZENvdW50ID0gMH19fX0sIDxObyBkYXRhIGZpZWxkcz59CiMyMSAweDAwMDA3ZjM0ZDIyZDE3
OTAgaW4gX19saWJjX3N0YXJ0X21haW4gKCkgZnJvbSAvbGliNjQvbGliYy5zby42Ck5vIHN5bWJv
bCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4KIzIyIDB4MDAwMDAwMDAwMDQwMDc4OSBpbiBfc3RhcnQg
KCkKTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333368</attachid>
            <date>2018-02-08 04:12:53 -0800</date>
            <delta_ts>2018-02-08 09:53:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171205-20180208121252.patch</filename>
            <type>text/plain</type>
            <size>2187</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdmZmM0MmFjNjdlNzAx
ZmRkNjE0YTdlZWQ2OGEzN2VmMzVhY2VkYy4uZDE2ZWM2ZTI2MWMyMjQ0ZWI5NTNkYmEwNTQ2Yzhm
ZmE3NzhhMDQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAyLTA4ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBXZWJLaXQgaW1wcm9wZXJseSBoYW5kbGVzIG1pc3NpbmcgR1N0cmVhbWVyIGVsZW1lbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEyMDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5
QmluKTogQWRkIGEKKyAgICAgICAgdGVzdCBjaGVja2luZyB0aGUgdmlkZW9mbGlwIGVsZW1lbnQg
d2FzIGNvcnJlY3RseSBjcmVhdGVkLiBJdAorICAgICAgICBtaWdodCBub3QgYmUgYXZhaWxhYmxl
IG9uIHNvbWUgZXhvdGljIGRpc3Ryb3Mgc3VjaCBhcyBHZW50b28uCisKIDIwMTgtMDItMDggIFBo
aWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdW1dlYkF1ZGlvXSBObyBuZWVkIGZvciB2ZXJzaW9uIGNoZWNrIGluIGVhY2ggbG9vcCBpdGVy
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggZTg4MjY2ZmQ2ZjZiMmUxNzgxZWY1ZDljYmM5ODI1ZTBlYzExYWQ3ZC4uYThlNzQyM2Ni
NzIxMzdiZDNiYTJiODRkZGNlNDU1Y2QxN2M0OWE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTIxODUsOCArMjE4NSwxMSBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAgICAg
IC8vIElmIG5vdCB1c2luZyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZywgbGV0IEdTdHJlYW1lciBo
YW5kbGUKICAgICAgICAgLy8gdGhlIGltYWdlLW9yaWVudGF0aW9uIHRhZy4KICAgICAgICAgR3N0
RWxlbWVudCogdmlkZW9GbGlwID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJ2aWRlb2ZsaXAi
LCBudWxscHRyKTsKLSAgICAgICAgZ19vYmplY3Rfc2V0KHZpZGVvRmxpcCwgIm1ldGhvZCIsIDgs
IG51bGxwdHIpOwotICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgInZpZGVv
LWZpbHRlciIsIHZpZGVvRmxpcCwgbnVsbHB0cik7CisgICAgICAgIGlmICh2aWRlb0ZsaXApIHsK
KyAgICAgICAgICAgIGdfb2JqZWN0X3NldCh2aWRlb0ZsaXAsICJtZXRob2QiLCA4LCBudWxscHRy
KTsKKyAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5lLmdldCgpLCAidmlkZW8tZmls
dGVyIiwgdmlkZW9GbGlwLCBudWxscHRyKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBH
U1RfV0FSTklORygiVGhlIHZpZGVvZmxpcCBlbGVtZW50IGlzIG1pc3NpbmcsIHZpZGVvIHJvdGF0
aW9uIHN1cHBvcnQgaXMgbm93IGRpc2FibGVkLiBQbGVhc2UgY2hlY2sgeW91ciBnc3QtcGx1Z2lu
cy1nb29kIGluc3RhbGxhdGlvbi4iKTsKICAgICB9CiAKICAgICBHUmVmUHRyPEdzdFBhZD4gdmlk
ZW9TaW5rUGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKG1fdmlkZW9T
aW5rLmdldCgpLCAic2luayIpKTsK
</data>
<flag name="review"
          id="352258"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>