<?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>223309</bug_id>
          
          <creation_ts>2021-03-16 22:54:49 -0700</creation_ts>
          <short_desc>modern-media-controls script should not be allocated in heap</short_desc>
          <delta_ts>2021-03-30 14:58:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>223421</blocked>
    
    <blocked>223961</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ap</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mkwst</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1740391</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-16 22:54:49 -0700</bug_when>
    <thetext>We should not allocate heap memory.
And we should not concatenate localized string data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740392</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-16 22:56:43 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #0)
&gt; We should not allocate heap memory.
&gt; And we should not concatenate localized string data.

Currently, I have no idea how to change localized string part. We should not concatenate them. We should

1. Have JSON data for localized strings
2. Pass it to media control script
3. And parse it inside media control script

This localized string part makes script UTF-16, this is bad for memory.
In this bug, let&apos;s just first minify the script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740630</commentid>
    <comment_count>2</comment_count>
      <attachid>423460</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 02:59:46 -0700</bug_when>
    <thetext>Created attachment 423460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740634</commentid>
    <comment_count>3</comment_count>
      <attachid>423463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 03:10:47 -0700</bug_when>
    <thetext>Created attachment 423463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740658</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-17 04:02:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/75520193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740725</commentid>
    <comment_count>5</comment_count>
      <attachid>423463</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-17 09:10:25 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;

I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740793</commentid>
    <comment_count>6</comment_count>
      <attachid>423463</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-17 11:11:44 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36071
&gt; +				&quot;$(SRCROOT)/../JavaScriptCore/Scripts/js-minify.py&quot;,

Is this really the only input path? And why are there no output paths?

&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt; 
&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.

A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740799</commentid>
    <comment_count>7</comment_count>
      <attachid>423463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 11:18:13 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36071
&gt;&gt; +				&quot;$(SRCROOT)/../JavaScriptCore/Scripts/js-minify.py&quot;,
&gt; 
&gt; Is this really the only input path? And why are there no output paths?

Maybe we should add these files to output files? They are not included before this patch.

&gt;&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt;&gt; 
&gt;&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.
&gt; 
&gt; A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?

I think we should check Debug build or not. This is what 

#if !defined(NDEBUG)
        // Setting a scriptURL allows the source to be debuggable in the inspector.
        URL scriptURL = URL({ }, &quot;mediaControlsScript&quot;_s);
            // Setting a scriptURL allows the source to be debuggable in the inspector.
            URL scriptURL = URL({ }, makeString(&quot;mediaControlsScript&quot;_s, index));
#else
        URL scriptURL;
            URL scriptURL;
#endif

part is doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740806</commentid>
    <comment_count>8</comment_count>
      <attachid>423463</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-17 11:22:51 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt;&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt;&gt;&gt; 
&gt;&gt;&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.
&gt;&gt; 
&gt;&gt; A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?
&gt; 
&gt; I think we should check Debug build or not. This is what 
&gt; 
&gt; #if !defined(NDEBUG)
&gt;         // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;         URL scriptURL = URL({ }, &quot;mediaControlsScript&quot;_s);
&gt;             // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;             URL scriptURL = URL({ }, makeString(&quot;mediaControlsScript&quot;_s, index));
&gt; #else
&gt;         URL scriptURL;
&gt;             URL scriptURL;
&gt; #endif
&gt; 
&gt; part is doing.

I think @Eric Carlson meant &quot;development build&quot; more as &quot;engineering build&quot; which is any time an engineer does a local build.

Having it be debug-only is really not ideal since 99% of features involving media controls do not need assertions or anything like that.

&gt; Source/WebCore/rendering/RenderThemeIOS.mm:1296
&gt; +            m_mediaControlsAdditionalScript = String(RenderThemeIOSAdditions_mediaControlsScript);

you&apos;ll need to change `RenderThemeIOSAdditions_mediaControlsScript` in WebKitAdditions

&gt; Source/WebCore/rendering/RenderThemeMac.mm:338
&gt; +            m_mediaControlsAdditionalScript = String(RenderThemeMacAdditions_mediaControlsScript);

you&apos;ll need to change `RenderThemeMacAdditions_mediaControlsScript` in WebKitAdditions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740819</commentid>
    <comment_count>9</comment_count>
      <attachid>423463</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-17 11:38:42 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt;&gt;&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.
&gt;&gt;&gt; 
&gt;&gt;&gt; A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?
&gt;&gt; 
&gt;&gt; I think we should check Debug build or not. This is what 
&gt;&gt; 
&gt;&gt; #if !defined(NDEBUG)
&gt;&gt;         // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;         URL scriptURL = URL({ }, &quot;mediaControlsScript&quot;_s);
&gt;&gt;             // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;             URL scriptURL = URL({ }, makeString(&quot;mediaControlsScript&quot;_s, index));
&gt;&gt; #else
&gt;&gt;         URL scriptURL;
&gt;&gt;             URL scriptURL;
&gt;&gt; #endif
&gt;&gt; 
&gt;&gt; part is doing.
&gt; 
&gt; I think @Eric Carlson meant &quot;development build&quot; more as &quot;engineering build&quot; which is any time an engineer does a local build.
&gt; 
&gt; Having it be debug-only is really not ideal since 99% of features involving media controls do not need assertions or anything like that.

As an alternative to making the visibility of the media controls script based on a compile flag, I think you could name it something like `__InjectedScript_mediaControls.js` which would be ignored by Web Inspector unless the &quot;Show WebKit-internal scripts&quot; engineering setting (which are only shown for local engineering builds) is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740824</commentid>
    <comment_count>10</comment_count>
      <attachid>423463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 11:48:52 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt;&gt;&gt;&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?
&gt;&gt;&gt; 
&gt;&gt;&gt; I think we should check Debug build or not. This is what 
&gt;&gt;&gt; 
&gt;&gt;&gt; #if !defined(NDEBUG)
&gt;&gt;&gt;         // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;&gt;         URL scriptURL = URL({ }, &quot;mediaControlsScript&quot;_s);
&gt;&gt;&gt;             // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;&gt;             URL scriptURL = URL({ }, makeString(&quot;mediaControlsScript&quot;_s, index));
&gt;&gt;&gt; #else
&gt;&gt;&gt;         URL scriptURL;
&gt;&gt;&gt;             URL scriptURL;
&gt;&gt;&gt; #endif
&gt;&gt;&gt; 
&gt;&gt;&gt; part is doing.
&gt;&gt; 
&gt;&gt; I think @Eric Carlson meant &quot;development build&quot; more as &quot;engineering build&quot; which is any time an engineer does a local build.
&gt;&gt; 
&gt;&gt; Having it be debug-only is really not ideal since 99% of features involving media controls do not need assertions or anything like that.
&gt; 
&gt; As an alternative to making the visibility of the media controls script based on a compile flag, I think you could name it something like `__InjectedScript_mediaControls.js` which would be ignored by Web Inspector unless the &quot;Show WebKit-internal scripts&quot; engineering setting (which are only shown for local engineering builds) is enabled.

Do we have a Xcode environment variable which can be switched based on &quot;development build&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740825</commentid>
    <comment_count>11</comment_count>
      <attachid>423463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 11:50:17 -0700</bug_when>
    <thetext>Comment on attachment 423463
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:36078
&gt;&gt;&gt;&gt;&gt;&gt;&gt; +			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; | python \&quot;$SRCROOT/../JavaScriptCore/Scripts/js-minify.py\&quot; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;
&gt;&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt;&gt; I can&apos;t tell if this is already the case, but it would be helpful to not minify the sources in development builds.
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; A big problem with this is that there isn&apos;t a great definition of what a &quot;development build&quot; is. Just debug vs. release, or something else?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I think we should check Debug build or not. This is what 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; #if !defined(NDEBUG)
&gt;&gt;&gt;&gt;         // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;&gt;&gt;         URL scriptURL = URL({ }, &quot;mediaControlsScript&quot;_s);
&gt;&gt;&gt;&gt;             // Setting a scriptURL allows the source to be debuggable in the inspector.
&gt;&gt;&gt;&gt;             URL scriptURL = URL({ }, makeString(&quot;mediaControlsScript&quot;_s, index));
&gt;&gt;&gt;&gt; #else
&gt;&gt;&gt;&gt;         URL scriptURL;
&gt;&gt;&gt;&gt;             URL scriptURL;
&gt;&gt;&gt;&gt; #endif
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; part is doing.
&gt;&gt;&gt; 
&gt;&gt;&gt; I think @Eric Carlson meant &quot;development build&quot; more as &quot;engineering build&quot; which is any time an engineer does a local build.
&gt;&gt;&gt; 
&gt;&gt;&gt; Having it be debug-only is really not ideal since 99% of features involving media controls do not need assertions or anything like that.
&gt;&gt; 
&gt;&gt; As an alternative to making the visibility of the media controls script based on a compile flag, I think you could name it something like `__InjectedScript_mediaControls.js` which would be ignored by Web Inspector unless the &quot;Show WebKit-internal scripts&quot; engineering setting (which are only shown for local engineering builds) is enabled.
&gt; 
&gt; Do we have a Xcode environment variable which can be switched based on &quot;development build&quot;?

Or, I&apos;ll just drop minification thing from this patch since this does not offer memory reduction (this reduces size of framework, but this is not a main goal of this patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740826</commentid>
    <comment_count>12</comment_count>
      <attachid>423512</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 11:52:15 -0700</bug_when>
    <thetext>Created attachment 423512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740836</commentid>
    <comment_count>13</comment_count>
      <attachid>423513</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 12:15:59 -0700</bug_when>
    <thetext>Created attachment 423513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740841</commentid>
    <comment_count>14</comment_count>
      <attachid>423513</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 12:27:54 -0700</bug_when>
    <thetext>Comment on attachment 423513
Patch

Ah, let me wait. It seems that we are allocating memory for String(CFString). We should serialize script into C characters as we do in builtin code and place it into __DATA_CONST.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740851</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-17 12:38:12 -0700</bug_when>
    <thetext>&gt; Maybe we should add these files to output files? They are not included before this patch.

1. Input files. Seems certain that we need more here, as otherwise incremental builds will not be triggered when inputs change.

2. Output files. This script seems to put outputs directly in their final location, so nothing else probably depends on it. I don&apos;t know what old and new Xcode build systems will do when output is missing. Will they run this script phase unconditionally, wasting incremental build time even when nothing changes?

As for engineering builds, strategically there should be as little difference between local builds and what ships to customers as possible. Things like minification in particular tend to have bugs, and we&apos;ve seen a few before. I acknowledge the need to debug, yet I would encourage thinking of ways to make these scripts debuggable in some other way, that&apos;s not automagically triggered by &quot;local builds&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740853</commentid>
    <comment_count>16</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-17 12:41:27 -0700</bug_when>
    <thetext>I think my suggestion of using `__InjectedScript_*.js` might actually be a valid alternative that satisfies both cases because that will not only be hidden from Web Inspector in non-local builds but will also be ignored by the debugger when pausing (local engineering builds can enable the &quot;Pause in WebKit-internal scripts&quot; setting in Web Inspector).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740864</commentid>
    <comment_count>17</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 13:01:12 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #15)
&gt; &gt; Maybe we should add these files to output files? They are not included before this patch.
&gt; 
&gt; 1. Input files. Seems certain that we need more here, as otherwise
&gt; incremental builds will not be triggered when inputs change.
&gt; 
&gt; 2. Output files. This script seems to put outputs directly in their final
&gt; location, so nothing else probably depends on it. I don&apos;t know what old and
&gt; new Xcode build systems will do when output is missing. Will they run this
&gt; script phase unconditionally, wasting incremental build time even when
&gt; nothing changes?
&gt; 
&gt; As for engineering builds, strategically there should be as little
&gt; difference between local builds and what ships to customers as possible.
&gt; Things like minification in particular tend to have bugs, and we&apos;ve seen a
&gt; few before. I acknowledge the need to debug, yet I would encourage thinking
&gt; of ways to make these scripts debuggable in some other way, that&apos;s not
&gt; automagically triggered by &quot;local builds&quot;.

Since WTFString(CFString) will allocate memory anyway, I&apos;ll go to the different course, basically just use UserAgentScripts as we already do for QuickTimePluginReplacement.js since UserAgentScripts is designed for this `user-agent specific script source` purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740870</commentid>
    <comment_count>18</comment_count>
      <attachid>423520</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 13:22:32 -0700</bug_when>
    <thetext>Created attachment 423520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740872</commentid>
    <comment_count>19</comment_count>
      <attachid>423522</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 13:26:02 -0700</bug_when>
    <thetext>Created attachment 423522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740897</commentid>
    <comment_count>20</comment_count>
      <attachid>423522</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-17 14:03:32 -0700</bug_when>
    <thetext>Comment on attachment 423522
Patch

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

r=me once EWS is happy, nice fix! :)

&gt; Source/WebCore/Modules/modern-media-controls/js-files:-1
&gt; -main.js

This file is also used by `LayoutTests/media/modern-media-controls/resources/media-controls-loader.js`.  IMO it&apos;s fine to copy this list into that file though (which would also avoid a sync XHR).

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:-36084
&gt; -			shellScript = &quot;SRC_DIR=\&quot;$SRCROOT/Modules/modern-media-controls\&quot;\nDST_DIR=\&quot;$BUILT_PRODUCTS_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/modern-media-controls\&quot;\n\nmkdir -p \&quot;$DST_DIR\&quot;\n\nif [ \&quot;${WK_PLATFORM_NAME}\&quot; == \&quot;macosx\&quot; ]; then\n    IMG_OS_PREFIX=\&quot;macOS\&quot;\nelse\n    if [[ \&quot;${WK_PLATFORM_NAME}\&quot; == *\&quot;watch\&quot;* ]]; then\n        IMG_OS_PREFIX=\&quot;watchOS\&quot;\n    else\n        IMG_OS_PREFIX=\&quot;iOS\&quot;\n    fi\nfi\n\nif [ -n \&quot;$IMG_OS_PREFIX\&quot; ]; then\nrsync -aq --exclude \&quot;.svn\&quot; --exclude \&quot;.DS_Store\&quot; \&quot;$SRC_DIR/images/$IMG_OS_PREFIX/\&quot; \&quot;$DST_DIR/images\&quot;\nfi\n\ncd \&quot;$SRC_DIR\&quot;\ncat controls/*.css | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.css\&quot;\ncat `cat js-files` | perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos; &gt; \&quot;$DST_DIR/modern-media-controls.js\&quot;\n&quot;;

NIT: Does removing the `perl -0777 -pe &apos;s{/\\*.*?\\*/}{}gs&apos;` mean that comments are not stripped anymore?  I guess this won&apos;t be an issue though if we minify the JS files later anyways.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:7151
&gt; +    Vector&lt;String, 3&gt; mediaControlsScripts = RenderTheme::singleton().mediaControlsScripts();

`auto`?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:7171
&gt; +                scope.clearException();

Can we log the reason that the evaluate failed?  This shouldn&apos;t ever happen (i.e. the media controls script shouldn&apos;t have any errors), so it&apos;d be nice to have in a sysdiagnose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740911</commentid>
    <comment_count>21</comment_count>
      <attachid>423529</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 14:28:43 -0700</bug_when>
    <thetext>Created attachment 423529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740950</commentid>
    <comment_count>22</comment_count>
      <attachid>423538</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 16:36:14 -0700</bug_when>
    <thetext>Created attachment 423538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740954</commentid>
    <comment_count>23</comment_count>
      <attachid>423539</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 16:45:14 -0700</bug_when>
    <thetext>Created attachment 423539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740999</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 19:00:33 -0700</bug_when>
    <thetext>Committed r274607 (235444@main): &lt;https://commits.webkit.org/235444@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423460</attachid>
            <date>2021-03-17 02:59:46 -0700</date>
            <delta_ts>2021-03-17 03:11:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317025945.patch</filename>
            <type>text/plain</type>
            <size>21786</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
N2IyZmMwNWY3ZWRhNjBiNjBmZTcwYmY1Y2UyYjIyNDZhYzkzNThlLi42YTY4YTIxOTc4MDZkODEw
MWRmN2YwMTMyMDY5NDlmMzJjNzI0YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9sIHNjcmlwdCBzaG91bGQgbm90IGJlIGFs
bG9jYXRlZCBpbiBoZWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMzMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNjcmlwdHMvanMtbWluaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgor
CiAyMDIxLTAzLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAog
ICAgICAgICBbSlNDXSBJbXBsZW1lbnQgRXJyb3IjY2F1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNmZjNDQ4
YTI1MzAzYjc0ZGYzOWQxMDZhYmQ0MWFjMGU2MTcxMjZhLi5kNTNkOTMxMDBjN2QwMjg1ZmEwYWNj
NDJhN2MyYmNkYTgzNTA0MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDMt
MTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBtb2Rlcm4t
bWVkaWEtY29udHJvbCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBhbGxvY2F0ZWQgaW4gaGVhcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwg
d2UgYXJlIGNvbmNhdGVuYXRpbmcgc2V2ZXJhbCBtb2Rlcm4tbWVkaWEtY29udHJvbHMgc2NyaXB0
cyBpbnRvIG9uZS4KKyAgICAgICAgQnV0IHRoaXMgY2F1c2VzIHNpZ25pZmljYW50IG1lbW9yeSBv
dmVyaGVhZCAofjYwMEtCKSBzaW5jZSBpdCBhdm9pZHMgdXNpbmcKKyAgICAgICAgZmlsZS1iYWNr
ZWQgbW1hcHBlZCBkYXRhIChOU0J1bmRsZSdzIGZlYXR1cmUpLgorCisgICAgICAgIEluIHRoaXMg
cGF0Y2gsCisKKyAgICAgICAgMS4gV2Ugc2VwYXJhdGVseSBrZWVwIHRoZXNlIHRocmVlIHNjcmlw
dHMuIEFuZCBleGVjdXRlIHRoZW0gc2VwYXJhdGVseSBpbnN0ZWFkIG9mIGNvbmNhdGVuYXRpbmcg
dGhlbSBpbnRvIG9uZS4KKyAgICAgICAgICAgVGhpcyBjYXVzZXMgc21hbGwgbWVtb3J5IG92ZXJo
ZWFkLCBidXQgdGhpcyBpcyBtdWNoIGJldHRlciBjb21wYXJlZCB0byB+NjAwS0IgaGVhcCBhbGxv
Y2F0aW9uLgorICAgICAgICAyLiBXZSBwZXJmb3JtIEpTLW1pbmlmaWNhdGlvbiBvbnRvIHRoZSBt
b2Rlcm4tbWVkaWEtY29udHJvbHMuIFRoaXMgY2FuIGltcHJvdmUgZnJhbWV3b3JrJ3Mgc2l6ZSBh
bmQgaXQgY2FuIGV2ZW4KKyAgICAgICAgICAgaW1wcm92ZSBwYXJzaW5nIGV0Yy4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRy
b2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1Njcmlw
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hl
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Njcmlw
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oOgorCiAyMDIxLTAzLTE2ICBQ
ZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgZG9jdW1lbnQgcGljdHVy
ZUluUGljdHVyZUVsZW1lbnQgaXMgbnVsbCBpZiB5b3UgRW50ZXIgUGljdHVyZSBpbiBQaWN0dXJl
IGZyb20gY29udGV4dHVhbCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
U2NyaXB0cy9qcy1taW5pZnkucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9qcy1t
aW5pZnkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkzMjllNGFjNjlkN2UxMDFlMDFkODc4ZWM0OTljNDI1ZmFi
ZTJlYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL2pz
LW1pbmlmeS5weQpAQCAtMCwwICsxLDM4IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMg
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
IyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBqc21pbgoraW1wb3J0
IHN5cworCisKK2RlZiBtYWluKGFyZ3YpOgorICAgIGlucHV0Q29udGVudCA9IHN5cy5zdGRpbi5y
ZWFkKCkKKyAgICBvdXRwdXRDb250ZW50ID0ganNtaW4uanNtaW4oaW5wdXRDb250ZW50KQorICAg
IHN5cy5zdGRvdXQud3JpdGUob3V0cHV0Q29udGVudCkKKyAgICByZXR1cm4gMAorCisKK2lmIF9f
bmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZDM1ODNkN2U3MDY3MzMzODg4ZTJmNjE0YTQ2NmEzNGYzYmY2YzJlZC4uZjJjMWM5ZGY4MDRiZDQz
YmZkMjE4ZTI5Nzk0NzVmMjFhYWZjZjgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzYwNjgsMTMgKzM2MDY4LDE0IEBACiAJ
CQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKFNSQ1JPT1QpLy4u
L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvanMtbWluaWZ5LnB5IiwKIAkJCSk7CiAJCQluYW1lID0g
IkNvcHkgbW9kZXJuIG1lZGlhIGNvbnRyb2xzIGNvZGUgYW5kIGFzc2V0cyI7CiAJCQlvdXRwdXRQ
YXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJTUkNfRElSPVwi
JFNSQ1JPT1QvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuRFNUX0RJUj1cIiRCVUlM
VF9QUk9EVUNUU19ESVIvJFVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSC9tb2Rlcm4t
bWVkaWEtY29udHJvbHNcIlxuXG5ta2RpciAtcCBcIiREU1RfRElSXCJcblxuaWYgWyBcIiR7V0tf
UExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwiIF07IHRoZW5cbiAgICBJTUdfT1NfUFJFRklY
PVwibWFjT1NcIlxuZWxzZVxuICAgIGlmIFtbIFwiJHtXS19QTEFURk9STV9OQU1FfVwiID09ICpc
IndhdGNoXCIqIF1dOyB0aGVuXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJ3YXRjaE9TXCJcbiAg
ICBlbHNlXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJpT1NcIlxuICAgIGZpXG5maVxuXG5pZiBb
IC1uIFwiJElNR19PU19QUkVGSVhcIiBdOyB0aGVuXG5yc3luYyAtYXEgLS1leGNsdWRlIFwiLnN2
blwiIC0tZXhjbHVkZSBcIi5EU19TdG9yZVwiIFwiJFNSQ19ESVIvaW1hZ2VzLyRJTUdfT1NfUFJF
RklYL1wiIFwiJERTVF9ESVIvaW1hZ2VzXCJcbmZpXG5cbmNkIFwiJFNSQ19ESVJcIlxuY2F0IGNv
bnRyb2xzLyouY3NzIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiRE
U1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5jc3NcIlxuY2F0IGBjYXQganMtZmlsZXNgIHwg
cGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1t
ZWRpYS1jb250cm9scy5qc1wiXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiU1JDX0RJUj1cIiRTUkNS
T09UL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcbkRTVF9ESVI9XCIkQlVJTFRfUFJP
RFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEgvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzXCJcblxubWtkaXIgLXAgXCIkRFNUX0RJUlwiXG5cbmlmIFsgXCIke1dLX1BMQVRG
T1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdOyB0aGVuXG4gICAgSU1HX09TX1BSRUZJWD1cIm1h
Y09TXCJcbmVsc2VcbiAgICBpZiBbWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSAqXCJ3YXRj
aFwiKiBdXTsgdGhlblxuICAgICAgICBJTUdfT1NfUFJFRklYPVwid2F0Y2hPU1wiXG4gICAgZWxz
ZVxuICAgICAgICBJTUdfT1NfUFJFRklYPVwiaU9TXCJcbiAgICBmaVxuZmlcblxuaWYgWyAtbiBc
IiRJTUdfT1NfUFJFRklYXCIgXTsgdGhlblxucnN5bmMgLWFxIC0tZXhjbHVkZSBcIi5zdm5cIiAt
LWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBcIiRTUkNfRElSL2ltYWdlcy8kSU1HX09TX1BSRUZJWC9c
IiBcIiREU1RfRElSL2ltYWdlc1wiXG5maVxuXG5jZCBcIiRTUkNfRElSXCJcbmNhdCBjb250cm9s
cy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBlICdzey9cXCouKj9cXCovfXt9Z3MnID4gXCIkRFNUX0RJ
Ui9tb2Rlcm4tbWVkaWEtY29udHJvbHMuY3NzXCJcbmNhdCBgY2F0IGpzLWZpbGVzYCB8IHBlcmwg
LTA3NzcgLXBlICdzey9cXCouKj9cXCovfXt9Z3MnIHwgcHl0aG9uIFwiJFNSQ1JPT1QvLi4vSmF2
YVNjcmlwdENvcmUvU2NyaXB0cy9qcy1taW5pZnkucHlcIiA+IFwiJERTVF9ESVIvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzLmpzXCJcbiI7CiAJCX07CiAJCUE1RTc5Q0VDMUU2N0YyQ0YwMEZCODE1MyAv
KiBNYWtlIEZyYW1ld29ya3MgU3ltYm9saWMgTGluayAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDAzZTkzOWY2MTI1ODM0NDczZWQ4MjQyN2Q1MThmZTIxZjZhN2QyMWUuLmY0ZjE5ZDY5
NDg5NGMwMjk5MWVkYzc5NzczOWU0ZGVlMjIxNWYzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzE0NywxMSArNzE0NywxMSBAQCBib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgaWYgKCFw
YWdlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1Nj
cmlwdCA9IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7Ci0g
ICAgaWYgKCFtZWRpYUNvbnRyb2xzU2NyaXB0Lmxlbmd0aCgpKQorICAgIFZlY3RvcjxTdHJpbmcs
IDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlh
Q29udHJvbHNTY3JpcHQoKTsKKyAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHRzLnNpemUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHNldHVwQW5kQ2FsbEpTKFttZWRp
YUNvbnRyb2xzU2NyaXB0XShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3Jp
cHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CisgICAgcmV0dXJuIHNldHVw
QW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0cyA9IFdURk1vdmUobWVkaWFDb250cm9sc1Nj
cmlwdHMpXShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250cm9s
bGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CiAgICAgICAgIGF1dG8mIHZtID0gZ2xvYmFs
T2JqZWN0LnZtKCk7CiAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZt
KTsKIApAQCAtNzE1OSwxNiArNzE1OSwyMiBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3Vy
ZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgICAgIGlmIChmdW5jdGlvblZhbHVl
LmlzQ2FsbGFibGUodm0pKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICAgICAgdW5z
aWduZWQgaW5kZXggPSAwOworICAgICAgICBmb3IgKGF1dG8mIG1lZGlhQ29udHJvbHNTY3JpcHQg
OiBtZWRpYUNvbnRyb2xzU2NyaXB0cykgeworICAgICAgICAgICAgaWYgKG1lZGlhQ29udHJvbHNT
Y3JpcHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogI2lmICFkZWZpbmVk
KE5ERUJVRykKLSAgICAgICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJj
ZSB0byBiZSBkZWJ1Z2dhYmxlIGluIHRoZSBpbnNwZWN0b3IuCi0gICAgICAgIFVSTCBzY3JpcHRV
UkwgPSBVUkwoeyB9LCAibWVkaWFDb250cm9sc1NjcmlwdCJfcyk7CisgICAgICAgICAgICAvLyBT
ZXR0aW5nIGEgc2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJlIGRlYnVnZ2FibGUgaW4g
dGhlIGluc3BlY3Rvci4KKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCBtYWtl
U3RyaW5nKCJtZWRpYUNvbnRyb2xzU2NyaXB0Il9zLCBpbmRleCkpOwogI2Vsc2UKLSAgICAgICAg
VVJMIHNjcmlwdFVSTDsKKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkw7CiAjZW5kaWYKLSAgICAg
ICAgc2NyaXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihTY3Jp
cHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0VVJMKSksIHdv
cmxkKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewotICAgICAg
ICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNl
cHRpb24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNjcmlw
dFVSTCkpLCB3b3JsZCk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9u
KCkpKSB7CisgICAgICAgICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2luZGV4
OwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCmluZGV4IGJkZjMxOTc3NGVjZjg1Y2YwZThkMGQ5MGJlMjFjMjg3MjM4
YTNiMmYuLjA3ZTBjYzA5NThlNjFmMzg4NGIwMzQ1YTc4NjM4ODRlYTg1MWRjYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC04Nyw3ICs4Nyw3IEBAIGNsYXNzIFJl
bmRlclRoZW1lIHsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgp
IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbW9kZXJuTWVkaWFDb250
cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5n
IGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAg
IHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSB7IHJldHVybiBTdHJpbmcoKTsg
fQorICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdCgpIHsg
cmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJp
bmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyByZXR1
cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzRm9ybWF0dGVk
U3RyaW5nRm9yRHVyYXRpb24oZG91YmxlKSB7IHJldHVybiBTdHJpbmcoKTsgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4
IDYwNGFiYjZjNmNjYTkyYWYyYWU5ZGJkNjA2NjczMDJkNGMzNjIxNmUuLjU4Mjg1ZGJhZTUzZTE3
ODU0MDcyN2VhMTA5NzQzNDUzMWMzYzU2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC0xNzIsNyArMTcyLDcgQEAgU3RyaW5nIFJl
bmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiAgICAgcmV0
dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIAotU3RyaW5n
IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5n
LCAzPiBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogewogICAgIHJl
dHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFD
b250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKaW5kZXggMDU3YTgzNGJhY2IyMjhlNDk5NmNhZjRmOWE1
NmU0NDBmNDdiN2YyZC4uNTlmYmRkNDBmOGIyYTJjMmQwOTg2YjcwZWU5NDliYTEyZTJjOTI1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaApAQCAt
MzcsNyArMzcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUFkd2FpdGEgOiBwdWJsaWMgUmVuZGVyVGhl
bWUgewogICAgIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkgZmluYWw7CiAjaWYgRU5B
QkxFKFZJREVPKQogICAgIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmlu
YWw7Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSBmaW5hbDsKKyAgICBWZWN0b3I8
U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgZmluYWw7CiAjZW5kaWYKIAogICAgIGJv
b2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXgg
ZDg0YjVkYTRhMGIzZWY3ZGNmMTIxNDI5NTdiN2QxNDRiMTk4ZmFhMi4uMzA5ODA0YTBhNWYxMTQ1
NWIwMThkYjE3Njk2MDM2NjM0YTdlOGQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUlPUyBm
aW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICNpZiBFTkFCTEUoVklERU8pCiAgICAg
U3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1v
ZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgU3RyaW5nIG1lZGlh
Q29udHJvbHNTY3JpcHQoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNv
bnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRT
dHJpbmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgb3Zl
cnJpZGU7CiAjZW5kaWYKIApAQCAtMTkxLDcgKzE5MSw5IEBAIGNsYXNzIFJlbmRlclRoZW1lSU9T
IGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIENvbG9yIHN5c3RlbUNvbG9y
KENTU1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Qgb3ZlcnJp
ZGU7CiAKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIFN0cmlu
ZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0cmluZyBtX21l
ZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxT
Y3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAg
U3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5tbQppbmRleCBlNDg1MDMwZWRiNzZjZGQxZTY1N2EzMDdmZjM4
ZWIzMmE1YTM3NGVjLi4wNTk2NTZjODQyOTY5ZTZiZmExNGNkNmYyMmQ0NWNhYjMyMmYyYThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0xMjc2LDI2
ICsxMjc2LDMxIEBAIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bW9kZXJuTWVkaWFDb250cm9sc1N0
eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJUaGVtZUlPUzo6cHVyZ2VDYWNoZXMoKQogewogICAgIG1f
bGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1f
bWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQo
KTsKICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAg
ICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7
CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJl
ZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQo
KTsKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1Zl
Y3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKIHsK
ICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3Jp
cHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxl
IGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKIAotICAg
ICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwotICAgICAgICAgICAgc2NyaXB0
QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxl
IHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5n
cyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxd
KTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRo
Q29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29u
dHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJd
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICAgICAg
Ly8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2NyaXB0
LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0ZWFkLgorICAgICAgICAgICAg
bV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdX
aXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEt
Y29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1Nj
cmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9y
UmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9y
eTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
IGVycm9yOm5pbF07CiAjaWYgZGVmaW5lZChSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNv
bnRyb2xzU2NyaXB0KQotICAgICAgICAgICAgUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFD
b250cm9sc1NjcmlwdAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlw
dCA9IFN0cmluZyhSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsK
ICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRl
ci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNT
Y3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2Nh
bGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAor
ICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsK
ICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkg
ewpAQCAtMTMwOCw3ICsxMzEzLDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRy
b2xzU2NyaXB0KCkKIAogICAgICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3Jp
cHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29u
dHJvbHNTY3JpcHQ7CisgICAgcmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07
CiB9CiAKIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zv
ckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGlj
b25UeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCA2
MTFkY2VkYzEyMDBiZjRhYWQ1MjMwYzAxZDM5Zjg4NjEzYzkyMWFkLi41MTc0YWZmOWJmODRjNzI1
MDNmOWU1YWZmOWY1YWQxMWJlMWQ5ZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaApAQCAtMTA4LDcgKzEwOCw3IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZp
bmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIC8vIE1lZGlhIGNvbnRyb2xzCiAg
ICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7CiAgICAgU3RyaW5nIG1v
ZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7Ci0gICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNTY3JpcHQoKSBmaW5hbDsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xz
U2NyaXB0KCkgZmluYWw7CiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJ
Y29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAjZW5k
aWYKIApAQCAtMjM4LDcgKzIzOCw5IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZpbmFsIDogcHVi
bGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIFJldGFpblB0cjxXZWJDb3JlUmVuZGVyVGhlbWVO
b3RpZmljYXRpb25PYnNlcnZlcj4gbV9ub3RpZmljYXRpb25PYnNlcnZlcjsKIAogICAgIFN0cmlu
ZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250cm9s
c0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1Njcmlw
dDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdDsKICAgICBTdHJp
bmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9tZWRpYUNv
bnRyb2xzU3R5bGVTaGVldDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KaW5kZXggZjE1NGI1ZjVhM2Q3M2U1MDc4MTdjYjkwYjY4ODlmMTA1ZTc1ZDM3My4u
Y2FkZDRiNTBmMWJkM2NlNDMxYTcxODk2ZjBlODE4NDYwYjU4NGM1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMzE2LDI4ICszMTYsMzMgQEAgU3Ry
aW5nIFJlbmRlclRoZW1lTWFjOjptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB2b2lk
IFJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcygpCiB7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRy
b2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRyb2xzTG9j
YWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFD
b250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9s
c0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX2xlZ2FjeU1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRp
YUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogCiAgICAgUmVuZGVy
VGhlbWU6OnB1cmdlQ2FjaGVzKCk7CiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc1NjcmlwdCgpCiB7CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkgewogICAgICAgICBpZiAo
bV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgTlNCdW5kbGUg
KmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVu
ZGxlIGNsYXNzXV07CiAKLSAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsK
LSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29u
dGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJv
bHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5n
RW5jb2RpbmcgZXJyb3I6bmlsXSk7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNl
OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rl
cm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpu
aWxdKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBMb2NhbGl6ZWQgc3RyaW5ncyBhcmUgbm90IHdv
cnRoIGhhdmluZyBhIHNjcmlwdC4gV2Ugc2hvdWxkIG1ha2UgaXQgSlNPTiBkYXRhIGV0Yy4gaW5z
dGVhZC4KKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQg
PSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291
cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzIiBvZlR5cGU6QCJq
cyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CisgICAgICAgICAg
ICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZG
aWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5
cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVN
YWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1l
TWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQKKyAgICAgICAgICAgIG1fbWVkaWFDb250
cm9sc0FkZGl0aW9uYWxTY3JpcHQgPSBTdHJpbmcoUmVuZGVyVGhlbWVNYWNBZGRpdGlvbnNfbWVk
aWFDb250cm9sc1NjcmlwdCk7CiAjZW5kaWYKLSAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1Nj
cmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICAgICAgfQotICAgICAgICByZXR1
cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0OworICAgICAgICByZXR1cm4geworICAgICAgICAgICAg
bV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCwKKyAgICAgICAgICAgIG1fbWVk
aWFDb250cm9sc1NjcmlwdCwKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxT
Y3JpcHQsCisgICAgICAgIH07CiAgICAgfQogCiAgICAgaWYgKG1fbGVnYWN5TWVkaWFDb250cm9s
c1NjcmlwdC5pc0VtcHR5KCkpIHsKQEAgLTM0Niw3ICszNTEsNyBAQCBTdHJpbmcgUmVuZGVyVGhl
bWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogICAgICAgICBOU1N0cmluZyAqc2NyaXB0ID0g
W05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJj
ZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZyBlcnJvcjpuaWxdOwogICAgICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3Jp
cHQgPSBtYWtlU3RyaW5nKFN0cmluZyB7IGxvY2FsaXplZFN0cmluZ3MgfSwgU3RyaW5nIHsgc2Ny
aXB0IH0pOwogICAgIH0KLSAgICByZXR1cm4gbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0Owor
ICAgIHJldHVybiB7IG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCB9OwogfQogCiBTdHJpbmcg
UmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5
cGUoY29uc3QgU3RyaW5nJiBpY29uTmFtZSwgY29uc3QgU3RyaW5nJiBpY29uVHlwZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCmluZGV4IGQ5NzYzMDRmOGJk
NzVhN2Q3YjU3YjhmYjk1MDEzZGFmNjQ2YjQxNWUuLmZlNjlmM2YwMDk3OGJlNjdhZmZlMWJmNjM5
NTAzYzI4OWI0MzkxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmNwcApAQCAtMTA3OSw3ICsxMDc5LDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lV2luOjptZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCgpCiAjZW5kaWYKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lV2lu
OjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lV2lu
OjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NS
SVBUKQogICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CkBAIC0xMDg4
LDkgKzEwODgsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQo
KQogICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChzdHJpbmdXaXRoQ29udGVudHNPZkZpbGUo
Im1lZGlhQ29udHJvbHNBcHBsZSJfcywgImpzIl9zKSk7CiAgICAgICAgIG1fbWVkaWFDb250cm9s
c1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1f
bWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX21lZGlhQ29udHJvbHNTY3JpcHQg
fTsKICNlbHNlCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsKICNl
bmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5o
CmluZGV4IDI1Nzg5NDMzN2E5YzM5NzI2ZjJhZTk0MzJiMTRhNGNiYzgzMWY1OTAuLjM4MTE0NGRl
NWEyZjQ5ZmE0NzU5ZDAyMmQwNzVhY2Y4NGVjZDg5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZVdpbi5oCkBAIC0xMjEsNyArMTIxLDcgQEAgY2xhc3MgUmVuZGVyVGhl
bWVXaW4gZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogCiAjaWYgRU5BQkxFKFZJREVPKQog
ICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0cmlu
ZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywgMz4g
bWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBJbnRTaXplIG1l
dGVyU2l6ZUZvckJvdW5kcyhjb25zdCBSZW5kZXJNZXRlciYsIGNvbnN0IEludFJlY3QmKSBjb25z
dCBvdmVycmlkZTsK
</data>
<flag name="commit-queue"
          id="442831"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423463</attachid>
            <date>2021-03-17 03:10:47 -0700</date>
            <delta_ts>2021-03-17 11:52:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317031046.patch</filename>
            <type>text/plain</type>
            <size>21892</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
N2IyZmMwNWY3ZWRhNjBiNjBmZTcwYmY1Y2UyYjIyNDZhYzkzNThlLi42YTY4YTIxOTc4MDZkODEw
MWRmN2YwMTMyMDY5NDlmMzJjNzI0YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9sIHNjcmlwdCBzaG91bGQgbm90IGJlIGFs
bG9jYXRlZCBpbiBoZWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMzMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNjcmlwdHMvanMtbWluaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgor
CiAyMDIxLTAzLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAog
ICAgICAgICBbSlNDXSBJbXBsZW1lbnQgRXJyb3IjY2F1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNmZjNDQ4
YTI1MzAzYjc0ZGYzOWQxMDZhYmQ0MWFjMGU2MTcxMjZhLi5kNTNkOTMxMDBjN2QwMjg1ZmEwYWNj
NDJhN2MyYmNkYTgzNTA0MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDMt
MTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBtb2Rlcm4t
bWVkaWEtY29udHJvbCBzY3JpcHQgc2hvdWxkIG5vdCBiZSBhbGxvY2F0ZWQgaW4gaGVhcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwg
d2UgYXJlIGNvbmNhdGVuYXRpbmcgc2V2ZXJhbCBtb2Rlcm4tbWVkaWEtY29udHJvbHMgc2NyaXB0
cyBpbnRvIG9uZS4KKyAgICAgICAgQnV0IHRoaXMgY2F1c2VzIHNpZ25pZmljYW50IG1lbW9yeSBv
dmVyaGVhZCAofjYwMEtCKSBzaW5jZSBpdCBhdm9pZHMgdXNpbmcKKyAgICAgICAgZmlsZS1iYWNr
ZWQgbW1hcHBlZCBkYXRhIChOU0J1bmRsZSdzIGZlYXR1cmUpLgorCisgICAgICAgIEluIHRoaXMg
cGF0Y2gsCisKKyAgICAgICAgMS4gV2Ugc2VwYXJhdGVseSBrZWVwIHRoZXNlIHRocmVlIHNjcmlw
dHMuIEFuZCBleGVjdXRlIHRoZW0gc2VwYXJhdGVseSBpbnN0ZWFkIG9mIGNvbmNhdGVuYXRpbmcg
dGhlbSBpbnRvIG9uZS4KKyAgICAgICAgICAgVGhpcyBjYXVzZXMgc21hbGwgbWVtb3J5IG92ZXJo
ZWFkLCBidXQgdGhpcyBpcyBtdWNoIGJldHRlciBjb21wYXJlZCB0byB+NjAwS0IgaGVhcCBhbGxv
Y2F0aW9uLgorICAgICAgICAyLiBXZSBwZXJmb3JtIEpTLW1pbmlmaWNhdGlvbiBvbnRvIHRoZSBt
b2Rlcm4tbWVkaWEtY29udHJvbHMuIFRoaXMgY2FuIGltcHJvdmUgZnJhbWV3b3JrJ3Mgc2l6ZSBh
bmQgaXQgY2FuIGV2ZW4KKyAgICAgICAgICAgaW1wcm92ZSBwYXJzaW5nIGV0Yy4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRy
b2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1Njcmlw
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hl
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Njcmlw
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oOgorCiAyMDIxLTAzLTE2ICBQ
ZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgZG9jdW1lbnQgcGljdHVy
ZUluUGljdHVyZUVsZW1lbnQgaXMgbnVsbCBpZiB5b3UgRW50ZXIgUGljdHVyZSBpbiBQaWN0dXJl
IGZyb20gY29udGV4dHVhbCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
U2NyaXB0cy9qcy1taW5pZnkucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9qcy1t
aW5pZnkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkzMjllNGFjNjlkN2UxMDFlMDFkODc4ZWM0OTljNDI1ZmFi
ZTJlYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL2pz
LW1pbmlmeS5weQpAQCAtMCwwICsxLDM4IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMg
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
IyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBqc21pbgoraW1wb3J0
IHN5cworCisKK2RlZiBtYWluKGFyZ3YpOgorICAgIGlucHV0Q29udGVudCA9IHN5cy5zdGRpbi5y
ZWFkKCkKKyAgICBvdXRwdXRDb250ZW50ID0ganNtaW4uanNtaW4oaW5wdXRDb250ZW50KQorICAg
IHN5cy5zdGRvdXQud3JpdGUob3V0cHV0Q29udGVudCkKKyAgICByZXR1cm4gMAorCisKK2lmIF9f
bmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZDM1ODNkN2U3MDY3MzMzODg4ZTJmNjE0YTQ2NmEzNGYzYmY2YzJlZC4uZjJjMWM5ZGY4MDRiZDQz
YmZkMjE4ZTI5Nzk0NzVmMjFhYWZjZjgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzYwNjgsMTMgKzM2MDY4LDE0IEBACiAJ
CQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKFNSQ1JPT1QpLy4u
L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvanMtbWluaWZ5LnB5IiwKIAkJCSk7CiAJCQluYW1lID0g
IkNvcHkgbW9kZXJuIG1lZGlhIGNvbnRyb2xzIGNvZGUgYW5kIGFzc2V0cyI7CiAJCQlvdXRwdXRQ
YXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJTUkNfRElSPVwi
JFNSQ1JPT1QvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuRFNUX0RJUj1cIiRCVUlM
VF9QUk9EVUNUU19ESVIvJFVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSC9tb2Rlcm4t
bWVkaWEtY29udHJvbHNcIlxuXG5ta2RpciAtcCBcIiREU1RfRElSXCJcblxuaWYgWyBcIiR7V0tf
UExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwiIF07IHRoZW5cbiAgICBJTUdfT1NfUFJFRklY
PVwibWFjT1NcIlxuZWxzZVxuICAgIGlmIFtbIFwiJHtXS19QTEFURk9STV9OQU1FfVwiID09ICpc
IndhdGNoXCIqIF1dOyB0aGVuXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJ3YXRjaE9TXCJcbiAg
ICBlbHNlXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJpT1NcIlxuICAgIGZpXG5maVxuXG5pZiBb
IC1uIFwiJElNR19PU19QUkVGSVhcIiBdOyB0aGVuXG5yc3luYyAtYXEgLS1leGNsdWRlIFwiLnN2
blwiIC0tZXhjbHVkZSBcIi5EU19TdG9yZVwiIFwiJFNSQ19ESVIvaW1hZ2VzLyRJTUdfT1NfUFJF
RklYL1wiIFwiJERTVF9ESVIvaW1hZ2VzXCJcbmZpXG5cbmNkIFwiJFNSQ19ESVJcIlxuY2F0IGNv
bnRyb2xzLyouY3NzIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiRE
U1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5jc3NcIlxuY2F0IGBjYXQganMtZmlsZXNgIHwg
cGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1t
ZWRpYS1jb250cm9scy5qc1wiXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiU1JDX0RJUj1cIiRTUkNS
T09UL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcbkRTVF9ESVI9XCIkQlVJTFRfUFJP
RFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEgvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzXCJcblxubWtkaXIgLXAgXCIkRFNUX0RJUlwiXG5cbmlmIFsgXCIke1dLX1BMQVRG
T1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdOyB0aGVuXG4gICAgSU1HX09TX1BSRUZJWD1cIm1h
Y09TXCJcbmVsc2VcbiAgICBpZiBbWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSAqXCJ3YXRj
aFwiKiBdXTsgdGhlblxuICAgICAgICBJTUdfT1NfUFJFRklYPVwid2F0Y2hPU1wiXG4gICAgZWxz
ZVxuICAgICAgICBJTUdfT1NfUFJFRklYPVwiaU9TXCJcbiAgICBmaVxuZmlcblxuaWYgWyAtbiBc
IiRJTUdfT1NfUFJFRklYXCIgXTsgdGhlblxucnN5bmMgLWFxIC0tZXhjbHVkZSBcIi5zdm5cIiAt
LWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBcIiRTUkNfRElSL2ltYWdlcy8kSU1HX09TX1BSRUZJWC9c
IiBcIiREU1RfRElSL2ltYWdlc1wiXG5maVxuXG5jZCBcIiRTUkNfRElSXCJcbmNhdCBjb250cm9s
cy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBlICdzey9cXCouKj9cXCovfXt9Z3MnID4gXCIkRFNUX0RJ
Ui9tb2Rlcm4tbWVkaWEtY29udHJvbHMuY3NzXCJcbmNhdCBgY2F0IGpzLWZpbGVzYCB8IHBlcmwg
LTA3NzcgLXBlICdzey9cXCouKj9cXCovfXt9Z3MnIHwgcHl0aG9uIFwiJFNSQ1JPT1QvLi4vSmF2
YVNjcmlwdENvcmUvU2NyaXB0cy9qcy1taW5pZnkucHlcIiA+IFwiJERTVF9ESVIvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzLmpzXCJcbiI7CiAJCX07CiAJCUE1RTc5Q0VDMUU2N0YyQ0YwMEZCODE1MyAv
KiBNYWtlIEZyYW1ld29ya3MgU3ltYm9saWMgTGluayAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDAzZTkzOWY2MTI1ODM0NDczZWQ4MjQyN2Q1MThmZTIxZjZhN2QyMWUuLmY0ZjE5ZDY5
NDg5NGMwMjk5MWVkYzc5NzczOWU0ZGVlMjIxNWYzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzE0NywxMSArNzE0NywxMSBAQCBib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgaWYgKCFw
YWdlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1Nj
cmlwdCA9IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7Ci0g
ICAgaWYgKCFtZWRpYUNvbnRyb2xzU2NyaXB0Lmxlbmd0aCgpKQorICAgIFZlY3RvcjxTdHJpbmcs
IDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlh
Q29udHJvbHNTY3JpcHQoKTsKKyAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHRzLnNpemUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHNldHVwQW5kQ2FsbEpTKFttZWRp
YUNvbnRyb2xzU2NyaXB0XShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3Jp
cHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CisgICAgcmV0dXJuIHNldHVw
QW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0cyA9IFdURk1vdmUobWVkaWFDb250cm9sc1Nj
cmlwdHMpXShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250cm9s
bGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CiAgICAgICAgIGF1dG8mIHZtID0gZ2xvYmFs
T2JqZWN0LnZtKCk7CiAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZt
KTsKIApAQCAtNzE1OSwxNiArNzE1OSwyMiBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3Vy
ZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgICAgIGlmIChmdW5jdGlvblZhbHVl
LmlzQ2FsbGFibGUodm0pKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICAgICAgdW5z
aWduZWQgaW5kZXggPSAwOworICAgICAgICBmb3IgKGF1dG8mIG1lZGlhQ29udHJvbHNTY3JpcHQg
OiBtZWRpYUNvbnRyb2xzU2NyaXB0cykgeworICAgICAgICAgICAgaWYgKG1lZGlhQ29udHJvbHNT
Y3JpcHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogI2lmICFkZWZpbmVk
KE5ERUJVRykKLSAgICAgICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJj
ZSB0byBiZSBkZWJ1Z2dhYmxlIGluIHRoZSBpbnNwZWN0b3IuCi0gICAgICAgIFVSTCBzY3JpcHRV
UkwgPSBVUkwoeyB9LCAibWVkaWFDb250cm9sc1NjcmlwdCJfcyk7CisgICAgICAgICAgICAvLyBT
ZXR0aW5nIGEgc2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJlIGRlYnVnZ2FibGUgaW4g
dGhlIGluc3BlY3Rvci4KKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCBtYWtl
U3RyaW5nKCJtZWRpYUNvbnRyb2xzU2NyaXB0Il9zLCBpbmRleCkpOwogI2Vsc2UKLSAgICAgICAg
VVJMIHNjcmlwdFVSTDsKKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkw7CiAjZW5kaWYKLSAgICAg
ICAgc2NyaXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihTY3Jp
cHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0VVJMKSksIHdv
cmxkKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewotICAgICAg
ICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNl
cHRpb24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNjcmlw
dFVSTCkpLCB3b3JsZCk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9u
KCkpKSB7CisgICAgICAgICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2luZGV4
OwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCmluZGV4IGJkZjMxOTc3NGVjZjg1Y2YwZThkMGQ5MGJlMjFjMjg3MjM4
YTNiMmYuLjA3ZTBjYzA5NThlNjFmMzg4NGIwMzQ1YTc4NjM4ODRlYTg1MWRjYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC04Nyw3ICs4Nyw3IEBAIGNsYXNzIFJl
bmRlclRoZW1lIHsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgp
IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbW9kZXJuTWVkaWFDb250
cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5n
IGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAg
IHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSB7IHJldHVybiBTdHJpbmcoKTsg
fQorICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdCgpIHsg
cmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJp
bmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyByZXR1
cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzRm9ybWF0dGVk
U3RyaW5nRm9yRHVyYXRpb24oZG91YmxlKSB7IHJldHVybiBTdHJpbmcoKTsgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4
IDYwNGFiYjZjNmNjYTkyYWYyYWU5ZGJkNjA2NjczMDJkNGMzNjIxNmUuLjJmODZlOTE1NmVjMzQw
N2NmYjFhMzc2MGUwYjdmOWIzMzlkMzUwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC0xNzIsOSArMTcyLDkgQEAgU3RyaW5nIFJl
bmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiAgICAgcmV0
dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIAotU3RyaW5n
IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5n
LCAzPiBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogewotICAgIHJl
dHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFD
b250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSk7CisgICAgcmV0dXJuIHsgU3RyaW5nKG1lZGlhQ29u
dHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNj
cmlwdCkpIH07CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQWR3YWl0YS5oCmluZGV4IDA1N2E4MzRiYWNiMjI4ZTQ5OTZjYWY0ZjlhNTZlNDQwZjQ3
YjdmMmQuLjU5ZmJkZDQwZjhiMmEyYzJkMDk4NmI3MGVlOTQ5YmExMmUyYzkyNWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKQEAgLTM3LDcgKzM3
LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVBZHdhaXRhIDogcHVibGljIFJlbmRlclRoZW1lIHsKICAg
ICBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpIGZpbmFsOwogI2lmIEVOQUJMRShWSURF
TykKICAgICBTdHJpbmcgZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAg
IFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywg
Mz4gbWVkaWFDb250cm9sc1NjcmlwdCgpIGZpbmFsOwogI2VuZGlmCiAKICAgICBib29sIHN1cHBv
cnRzSG92ZXIoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4IGQ4NGI1ZGE0
YTBiM2VmN2RjZjEyMTQyOTU3YjdkMTQ0YjE5OGZhYTIuLjMwOTgwNGEwYTVmMTE0NTViMDE4ZGIx
NzY5NjAzNjYzNGE3ZThkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5oCkBAIC0xNTYsNyArMTU2LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVJT1MgZmluYWwgOiBw
dWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIFN0cmluZyBt
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtb2Rlcm5NZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xz
U2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1Nj
cmlwdCgpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9y
SWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwog
I2VuZGlmCiAKQEAgLTE5MSw3ICsxOTEsOSBAQCBjbGFzcyBSZW5kZXJUaGVtZUlPUyBmaW5hbCA6
IHB1YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICAgICBDb2xvciBzeXN0ZW1Db2xvcihDU1NWYWx1
ZUlELCBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRp
YUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdDsKICAgICBTdHJpbmcgbV9tZWRpYUNvbnRy
b2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0Owog
ICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIFN0cmluZyBt
X21lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MubW0KaW5kZXggZTQ4NTAzMGVkYjc2Y2RkMWU2NTdhMzA3ZmYzOGViMzJhNWEz
NzRlYy4uMDU5NjU2Yzg0Mjk2OWU2YmZhMTRjZDZmMjJkNDVjYWIzMjJmMmE4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtMTI3NiwyNiArMTI3Niwz
MSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
KCkKIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2xlZ2FjeU1l
ZGlhQ29udHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29u
dHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAg
bV9tZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRp
YUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1f
bGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAg
ICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiB9CiAK
LVN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3Ry
aW5nLCAzPiBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCiB7CiAgICAgaWYg
KFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250
cm9sc0VuYWJsZWQoKSkgewogICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVG
b3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNzXV07CiAKLSAgICAgICAgICAg
IFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIu
YXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9y
UmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlw
ZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7Ci0gICAg
ICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRz
T2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBv
ZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGlu
ZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBMb2NhbGl6ZWQgc3RyaW5ncyBhcmUgbm90IHdvcnRoIGhhdmluZyBhIHNjcmlwdC4gV2Ugc2hv
dWxkIG1ha2UgaXQgSlNPTiBkYXRhIGV0Yy4gaW5zdGVhZC4KKyAgICAgICAgICAgIG1fbWVkaWFD
b250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRl
bnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xz
LWxvY2FsaXplZC1zdHJpbmdzIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0Vu
Y29kaW5nIGVycm9yOm5pbF07CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNl
OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rl
cm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpu
aWxdOwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9sc1Nj
cmlwdCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNT
Y3JpcHQKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQgPSBTdHJp
bmcoUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdCk7CiAjZW5kaWYK
LSAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJp
bmcoKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0Owor
ICAgICAgICByZXR1cm4geworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3Ry
aW5nc1NjcmlwdCwKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCwKKyAgICAgICAg
ICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQsCisgICAgICAgIH07CiAgICAgfQog
CiAgICAgaWYgKG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKQEAgLTEz
MDgsNyArMTMxMyw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Njcmlw
dCgpCiAKICAgICAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRl
ci50b1N0cmluZygpOwogICAgIH0KLSAgICByZXR1cm4gbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2Ny
aXB0OworICAgIHJldHVybiB7IG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCB9OwogfQogCiBT
dHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFt
ZUFuZFR5cGUoY29uc3QgU3RyaW5nJiBpY29uTmFtZSwgY29uc3QgU3RyaW5nJiBpY29uVHlwZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggNjExZGNlZGMx
MjAwYmY0YWFkNTIzMGMwMWQzOWY4ODYxM2M5MjFhZC4uNTE3NGFmZjliZjg0YzcyNTAzZjllNWFm
ZjlmNWFkMTFiZTFkOWRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZU1hYyBmaW5hbCA6IHB1
YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICAgICAvLyBNZWRpYSBjb250cm9scwogICAgIFN0cmlu
ZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwogICAgIFN0cmluZyBtb2Rlcm5NZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2Ny
aXB0KCkgZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdCgp
IGZpbmFsOwogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVB
bmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogI2VuZGlmCiAKQEAg
LTIzOCw3ICsyMzgsOSBAQCBjbGFzcyBSZW5kZXJUaGVtZU1hYyBmaW5hbCA6IHB1YmxpYyBSZW5k
ZXJUaGVtZUNvY29hIHsKICAgICBSZXRhaW5QdHI8V2ViQ29yZVJlbmRlclRoZW1lTm90aWZpY2F0
aW9uT2JzZXJ2ZXI+IG1fbm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAKICAgICBTdHJpbmcgbV9sZWdh
Y3lNZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6
ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAg
U3RyaW5nIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVn
YWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0
eWxlU2hlZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
CmluZGV4IGYxNTRiNWY1YTNkNzNlNTA3ODE3Y2I5MGI2ODg5ZjEwNWU3NWQzNzMuLmNhZGQ0YjUw
ZjFiZDNjZTQzMWE3MTg5NmYwZTgxODQ2MGI1ODRjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTMxNiwyOCArMzE2LDMzIEBAIFN0cmluZyBSZW5k
ZXJUaGVtZU1hYzo6bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJU
aGVtZU1hYzo6cHVyZ2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1Njcmlw
dC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0
cmluZ3NTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNT
Y3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlv
bmFsU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRy
b2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9s
c1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIAogICAgIFJlbmRlclRoZW1lOjpw
dXJnZUNhY2hlcygpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNT
Y3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNT
Y3JpcHQoKQogewogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKCkpIHsKICAgICAgICAgaWYgKG1fbWVkaWFD
b250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIE5TQnVuZGxlICpidW5kbGUg
PSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFz
c11dOwogCi0gICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7Ci0gICAgICAg
ICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZG
aWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2Fs
aXplZC1zdHJpbmdzIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
IGVycm9yOm5pbF0pOwotICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5n
IHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVy
bi1tZWRpYS1jb250cm9scyIgb2ZUeXBlOkAianMiIGluRGlyZWN0b3J5OkAibW9kZXJuLW1lZGlh
LWNvbnRyb2xzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZp
bmcgYSBzY3JpcHQuIFdlIHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisg
ICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3Ry
aW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1v
ZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNv
ZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgbV9tZWRp
YUNvbnRyb2xzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVu
ZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scyIgb2ZUeXBlOkAianMi
IGluRGlyZWN0b3J5OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIl0gZW5jb2Rpbmc6TlNVVEY4U3Ry
aW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKICNpZiBkZWZpbmVkKFJlbmRlclRoZW1lTWFjQWRkaXRp
b25zX21lZGlhQ29udHJvbHNTY3JpcHQpCi0gICAgICAgICAgICBSZW5kZXJUaGVtZU1hY0FkZGl0
aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRp
dGlvbmFsU2NyaXB0ID0gU3RyaW5nKFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJv
bHNTY3JpcHQpOwogI2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBz
Y3JpcHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1fbWVk
aWFDb250cm9sc1NjcmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG1fbWVkaWFD
b250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJv
bHNTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LAor
ICAgICAgICB9OwogICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQu
aXNFbXB0eSgpKSB7CkBAIC0zNDYsNyArMzUxLDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0KCkKICAgICAgICAgTlNTdHJpbmcgKnNjcmlwdCA9IFtOU1N0cmlu
ZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRp
YUNvbnRyb2xzQXBwbGUiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmcgZXJyb3I6bmlsXTsKICAgICAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0ID0gbWFr
ZVN0cmluZyhTdHJpbmcgeyBsb2NhbGl6ZWRTdHJpbmdzIH0sIFN0cmluZyB7IHNjcmlwdCB9KTsK
ICAgICB9Ci0gICAgcmV0dXJuIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1
cm4geyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgfTsKIH0KIAogU3RyaW5nIFJlbmRlclRo
ZW1lTWFjOjptZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0
IFN0cmluZyYgaWNvbk5hbWUsIGNvbnN0IFN0cmluZyYgaWNvblR5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBkOTc2MzA0ZjhiZDc1YTdkN2I1
N2I4ZmI5NTAxM2RhZjY0NmI0MTVlLi5mZTY5ZjNmMDA5NzhiZTY3YWZmZTFiZjYzOTUwM2MyODli
NDM5MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAK
QEAgLTEwNzksNyArMTA3OSw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9s
c1N0eWxlU2hlZXQoKQogI2VuZGlmCiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFD
b250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZVdpbjo6bWVkaWFD
b250cm9sc1NjcmlwdCgpCiB7CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKICAg
ICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMTA4OCw5ICsxMDg4
LDkgQEAgU3RyaW5nIFJlbmRlclRoZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKICAgICAg
ICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlKCJtZWRpYUNv
bnRyb2xzQXBwbGUiX3MsICJqcyJfcykpOwogICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQg
PSBzY3JpcHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQotICAgIHJldHVybiBtX21lZGlhQ29u
dHJvbHNTY3JpcHQ7CisgICAgcmV0dXJuIHsgbV9tZWRpYUNvbnRyb2xzU2NyaXB0IH07CiAjZWxz
ZQotICAgIHJldHVybiBlbXB0eVN0cmluZygpOworICAgIHJldHVybiB7IH07CiAjZW5kaWYKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaAppbmRleCAy
NTc4OTQzMzdhOWMzOTcyNmYyYWU5NDMyYjE0YTRjYmM4MzFmNTkwLi4zODExNDRkZTVhMmY0OWZh
NDc1OWQwMjJkMDc1YWNmODRlY2Q4OWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVXaW4uaApAQCAtMTIxLDcgKzEyMSw3IEBAIGNsYXNzIFJlbmRlclRoZW1lV2luIGZp
bmFsIDogcHVibGljIFJlbmRlclRoZW1lIHsKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJp
bmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVycmlkZTsKLSAgICBTdHJpbmcgbWVkaWFD
b250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29u
dHJvbHNTY3JpcHQoKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgSW50U2l6ZSBtZXRlclNpemVG
b3JCb3VuZHMoY29uc3QgUmVuZGVyTWV0ZXImLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJp
ZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423512</attachid>
            <date>2021-03-17 11:52:15 -0700</date>
            <delta_ts>2021-03-17 12:15:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317115214.patch</filename>
            <type>text/plain</type>
            <size>16769</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZmYzQ0OGEyNTMwM2I3
NGRmMzlkMTA2YWJkNDFhYzBlNjE3MTI2YS4uNzBkM2EzNTZmNmU4MTZhZmZkNGI5Mzg0NDQyNTM0
ZmNlYWUxMzljNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTAzLTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgbW9kZXJuLW1lZGlhLWNv
bnRyb2wgc2NyaXB0IHNob3VsZCBub3QgYmUgYWxsb2NhdGVkIGluIGhlYXAKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzMwOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIGFyZSBj
b25jYXRlbmF0aW5nIHNldmVyYWwgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdHMgaW50byBv
bmUuCisgICAgICAgIEJ1dCB0aGlzIGNhdXNlcyBzaWduaWZpY2FudCBtZW1vcnkgb3ZlcmhlYWQg
KH42MDBLQikgc2luY2UgaXQgYXZvaWRzIHVzaW5nCisgICAgICAgIGZpbGUtYmFja2VkIG1tYXBw
ZWQgZGF0YSAoTlNCdW5kbGUncyBmZWF0dXJlKS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3
ZSBzZXBhcmF0ZWx5IGtlZXAgdGhlc2UgdGhyZWUgc2NyaXB0cy4gQW5kIGV4ZWN1dGUgdGhlbSBz
ZXBhcmF0ZWx5IGluc3RlYWQgb2YgY29uY2F0ZW5hdGluZyB0aGVtIGludG8gb25lLgorICAgICAg
ICBUaGlzIGNhdXNlcyBzbWFsbCBtZW1vcnkgb3ZlcmhlYWQsIGJ1dCB0aGlzIGlzIG11Y2ggYmV0
dGVyIGNvbXBhcmVkIHRvIH42MDBLQiBoZWFwIGFsbG9jYXRpb24uCisKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNv
bnRyb2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1Nj
cmlwdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwdXJnZUNh
Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Nj
cmlwdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3Jp
cHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oOgorCiAyMDIxLTAzLTE2
ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgZG9jdW1lbnQgcGlj
dHVyZUluUGljdHVyZUVsZW1lbnQgaXMgbnVsbCBpZiB5b3UgRW50ZXIgUGljdHVyZSBpbiBQaWN0
dXJlIGZyb20gY29udGV4dHVhbCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAppbmRleCAwM2U5MzlmNjEyNTgzNDQ3M2VkODI0MjdkNTE4ZmUyMWY2YTdkMjFlLi5m
NGYxOWQ2OTQ4OTRjMDI5OTFlZGM3OTc3MzllNGRlZTIyMTVmMzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTcxNDcsMTEgKzcxNDcsMTEgQEAgYm9vbCBI
VE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3JpcHQoKQogICAg
IGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNTY3JpcHQgPSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkubWVkaWFDb250cm9sc1Njcmlw
dCgpOwotICAgIGlmICghbWVkaWFDb250cm9sc1NjcmlwdC5sZW5ndGgoKSkKKyAgICBWZWN0b3I8
U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cyA9IFJlbmRlclRoZW1lOjpzaW5nbGV0b24o
KS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7CisgICAgaWYgKCFtZWRpYUNvbnRyb2xzU2NyaXB0cy5z
aXplKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBzZXR1cEFuZENhbGxK
UyhbbWVkaWFDb250cm9sc1NjcmlwdF0oSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
SlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgU2NyaXB0Q29udHJvbGxl
ciYgc2NyaXB0Q29udHJvbGxlciwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkgeworICAgIHJldHVy
biBzZXR1cEFuZENhbGxKUyhbbWVkaWFDb250cm9sc1NjcmlwdHMgPSBXVEZNb3ZlKG1lZGlhQ29u
dHJvbHNTY3JpcHRzKV0oSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgU2NyaXB0Q29udHJvbGxlciYgc2NyaXB0
Q29udHJvbGxlciwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkgewogICAgICAgICBhdXRvJiB2bSA9
IGdsb2JhbE9iamVjdC52bSgpOwogICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9T
Q09QRSh2bSk7CiAKQEAgLTcxNTksMTYgKzcxNTksMjIgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50
OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3JpcHQoKQogICAgICAgICBpZiAoZnVuY3Rp
b25WYWx1ZS5pc0NhbGxhYmxlKHZtKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAg
ICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgZm9yIChhdXRvJiBtZWRpYUNvbnRyb2xz
U2NyaXB0IDogbWVkaWFDb250cm9sc1NjcmlwdHMpIHsKKyAgICAgICAgICAgIGlmIChtZWRpYUNv
bnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICNpZiAh
ZGVmaW5lZChOREVCVUcpCi0gICAgICAgIC8vIFNldHRpbmcgYSBzY3JpcHRVUkwgYWxsb3dzIHRo
ZSBzb3VyY2UgdG8gYmUgZGVidWdnYWJsZSBpbiB0aGUgaW5zcGVjdG9yLgotICAgICAgICBVUkwg
c2NyaXB0VVJMID0gVVJMKHsgfSwgIm1lZGlhQ29udHJvbHNTY3JpcHQiX3MpOworICAgICAgICAg
ICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJjZSB0byBiZSBkZWJ1Z2dh
YmxlIGluIHRoZSBpbnNwZWN0b3IuCisgICAgICAgICAgICBVUkwgc2NyaXB0VVJMID0gVVJMKHsg
fSwgbWFrZVN0cmluZygibWVkaWFDb250cm9sc1NjcmlwdCJfcywgaW5kZXgpKTsKICNlbHNlCi0g
ICAgICAgIFVSTCBzY3JpcHRVUkw7CisgICAgICAgICAgICBVUkwgc2NyaXB0VVJMOwogI2VuZGlm
Ci0gICAgICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNlcHRp
b24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNjcmlwdFVS
TCkpLCB3b3JsZCk7Ci0gICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsK
LSAgICAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICBzY3JpcHRDb250cm9sbGVyLmV2YWx1YXRlSW5Xb3JsZElnbm9y
aW5nRXhjZXB0aW9uKFNjcmlwdFNvdXJjZUNvZGUobWVkaWFDb250cm9sc1NjcmlwdCwgV1RGTW92
ZShzY3JpcHRVUkwpKSwgd29ybGQpOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4
Y2VwdGlvbigpKSkgeworICAgICAgICAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
KytpbmRleDsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBiZGYzMTk3NzRlY2Y4NWNmMGU4ZDBkOTBiZTIx
YzI4NzIzOGEzYjJmLi4wN2UwY2MwOTU4ZTYxZjM4ODRiMDM0NWE3ODYzODg0ZWE4NTFkY2FhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtODcsNyArODcsNyBAQCBj
bGFzcyBSZW5kZXJUaGVtZSB7CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxl
U2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1vZGVybk1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFs
IFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgeyByZXR1cm4gU3RyaW5nKCk7
IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KKyAgICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3Jp
cHQoKSB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFz
ZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYp
IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc0Zv
cm1hdHRlZFN0cmluZ0ZvckR1cmF0aW9uKGRvdWJsZSkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAppbmRleCA2MDRhYmI2YzZjY2E5MmFmMmFlOWRiZDYwNjY3MzAyZDRjMzYyMTZlLi4yZjg2ZTkx
NTZlYzM0MDdjZmIxYTM3NjBlMGI3ZjliMzM5ZDM1MGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtMTcyLDkgKzE3Miw5IEBAIFN0
cmluZyBSZW5kZXJUaGVtZUFkd2FpdGE6OmV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQog
ICAgIHJldHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0
LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAK
LVN0cmluZyBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9y
PFN0cmluZywgMz4gUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKIHsK
LSAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6ZW9m
KG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCkpOworICAgIHJldHVybiB7IFN0cmluZyht
ZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0
YUphdmFTY3JpcHQpKSB9OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUFkd2FpdGEuaAppbmRleCAwNTdhODM0YmFjYjIyOGU0OTk2Y2FmNGY5YTU2
ZTQ0MGY0N2I3ZjJkLi41OWZiZGQ0MGY4YjJhMmMyZDA5ODZiNzBlZTk0OWJhMTJlMmM5MjVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCkBAIC0z
Nyw3ICszNyw3IEBAIGNsYXNzIFJlbmRlclRoZW1lQWR3YWl0YSA6IHB1YmxpYyBSZW5kZXJUaGVt
ZSB7CiAgICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSBmaW5hbDsKICNpZiBFTkFC
TEUoVklERU8pCiAgICAgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5h
bDsKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxT
dHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHQoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgYm9v
bCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QgZmluYWwgeyByZXR1cm4g
dHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
SU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBk
ODRiNWRhNGEwYjNlZjdkY2YxMjE0Mjk1N2I3ZDE0NGIxOThmYWEyLi4zMDk4MDRhMGE1ZjExNDU1
YjAxOGRiMTc2OTYwMzY2MzRhN2U4ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MuaApAQCAtMTU2LDcgKzE1Niw3IEBAIGNsYXNzIFJlbmRlclRoZW1lSU9TIGZp
bmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogI2lmIEVOQUJMRShWSURFTykKICAgICBT
dHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVycmlkZTsKICAgICBTdHJpbmcgbW9k
ZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVycmlkZTsKLSAgICBTdHJpbmcgbWVkaWFD
b250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29u
dHJvbHNTY3JpcHQoKSBvdmVycmlkZTsKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0
cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVy
cmlkZTsKICNlbmRpZgogCkBAIC0xOTEsNyArMTkxLDkgQEAgY2xhc3MgUmVuZGVyVGhlbWVJT1Mg
ZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgQ29sb3Igc3lzdGVtQ29sb3Io
Q1NTVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5n
IG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVk
aWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNj
cmlwdDsKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBT
dHJpbmcgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGU0ODUwMzBlZGI3NmNkZDFlNjU3YTMwN2ZmMzhl
YjMyYTVhMzc0ZWMuLjA1OTY1NmM4NDI5NjllNmJmYTE0Y2Q2ZjIyZDQ1Y2FiMzIyZjJhOGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTEyNzYsMjYg
KzEyNzYsMzEgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5
bGVTaGVldCgpCiB2b2lkIFJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hlcygpCiB7CiAgICAgbV9s
ZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9t
ZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgp
OwogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAg
IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsK
ICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVk
KCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgp
OwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVj
dG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogewog
ICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vZGVybk1l
ZGlhQ29udHJvbHNFbmFibGVkKCkpIHsKICAgICAgICAgaWYgKG1fbWVkaWFDb250cm9sc1Njcmlw
dC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUg
YnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOwogCi0gICAg
ICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7Ci0gICAgICAgICAgICBzY3JpcHRC
dWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUg
cGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdz
IiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0p
OwotICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhD
b250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250
cm9scyIgb2ZUeXBlOkAianMiIGluRGlyZWN0b3J5OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIl0g
ZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CisgICAgICAgICAgICAv
LyBGSVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBzY3JpcHQu
IFdlIHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAgICAgICBt
X21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1j
b250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhT
dHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2Ny
aXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JS
ZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scyIgb2ZUeXBlOkAianMiIGluRGlyZWN0b3J5
OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmcg
ZXJyb3I6bmlsXTsKICNpZiBkZWZpbmVkKFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29u
dHJvbHNTY3JpcHQpCi0gICAgICAgICAgICBSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNv
bnRyb2xzU2NyaXB0CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
ID0gU3RyaW5nKFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQpOwog
I2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVy
LnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1Nj
cmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2Fs
aXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQsCisg
ICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LAorICAgICAgICB9Owog
ICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7
CkBAIC0xMzA4LDcgKzEzMTMsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJv
bHNTY3JpcHQoKQogCiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlw
dEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbGVnYWN5TWVkaWFDb250
cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgfTsK
IH0KIAogU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9y
SWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYgaWNvbk5hbWUsIGNvbnN0IFN0cmluZyYgaWNv
blR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IDYx
MWRjZWRjMTIwMGJmNGFhZDUyMzBjMDFkMzlmODg2MTNjOTIxYWQuLjUxNzRhZmY5YmY4NGM3MjUw
M2Y5ZTVhZmY5ZjVhZDExYmUxZDlkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oCkBAIC0xMDgsNyArMTA4LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmlu
YWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgLy8gTWVkaWEgY29udHJvbHMKICAg
ICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKICAgICBTdHJpbmcgbW9k
ZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKLSAgICBTdHJpbmcgbWVkaWFDb250
cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNT
Y3JpcHQoKSBmaW5hbDsKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvcklj
b25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKICNlbmRp
ZgogCkBAIC0yMzgsNyArMjM4LDkgQEAgY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmluYWwgOiBwdWJs
aWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgUmV0YWluUHRyPFdlYkNvcmVSZW5kZXJUaGVtZU5v
dGlmaWNhdGlvbk9ic2VydmVyPiBtX25vdGlmaWNhdGlvbk9ic2VydmVyOwogCiAgICAgU3RyaW5n
IG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xz
TG9jYWxpemVkU3RyaW5nc1NjcmlwdDsKICAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzU2NyaXB0
OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0OwogICAgIFN0cmlu
ZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIFN0cmluZyBtX21lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQppbmRleCBmMTU0YjVmNWEzZDczZTUwNzgxN2NiOTBiNjg4OWYxMDVlNzVkMzczLi5j
YWRkNGI1MGYxYmQzY2U0MzFhNzE4OTZmMGU4MTg0NjBiNTg0YzUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0zMTYsMjggKzMxNiwzMyBAQCBTdHJp
bmcgUmVuZGVyVGhlbWVNYWM6Om1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKIHZvaWQg
UmVuZGVyVGhlbWVNYWM6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2xlZ2FjeU1lZGlhQ29udHJv
bHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNMb2Nh
bGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNv
bnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRyb2xz
QWRkaXRpb25hbFNjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbGVnYWN5TWVk
aWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlh
Q29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAKICAgICBSZW5kZXJU
aGVtZTo6cHVyZ2VDYWNoZXMoKTsKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRpYUNv
bnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lTWFjOjptZWRpYUNv
bnRyb2xzU2NyaXB0KCkKIHsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmICht
X21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBOU0J1bmRsZSAq
YnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5k
bGUgY2xhc3NdXTsKIAotICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwot
ICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250
ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9s
cy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtO
U1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVy
bi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5p
bF0pOworICAgICAgICAgICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29y
dGggaGF2aW5nIGEgc2NyaXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0
ZWFkLgorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9
IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3Vy
Y2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpz
Il0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAg
IG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZp
bGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlw
ZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5T
VVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAjaWYgZGVmaW5lZChSZW5kZXJUaGVtZU1h
Y0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KQotICAgICAgICAgICAgUmVuZGVyVGhlbWVN
YWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdAorICAgICAgICAgICAgbV9tZWRpYUNvbnRy
b2xzQWRkaXRpb25hbFNjcmlwdCA9IFN0cmluZyhSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRp
YUNvbnRyb2xzU2NyaXB0KTsKICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2Ny
aXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVy
biBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBt
X21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRp
YUNvbnRyb2xzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNj
cmlwdCwKKyAgICAgICAgfTsKICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRyb2xz
U2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMzQ2LDcgKzM1MSw3IEBAIFN0cmluZyBSZW5kZXJUaGVt
ZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCiAgICAgICAgIE5TU3RyaW5nICpzY3JpcHQgPSBb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNl
OkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmlu
Z0VuY29kaW5nIGVycm9yOm5pbF07CiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1Njcmlw
dCA9IG1ha2VTdHJpbmcoU3RyaW5nIHsgbG9jYWxpemVkU3RyaW5ncyB9LCBTdHJpbmcgeyBzY3Jp
cHQgfSk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7Cisg
ICAgcmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAKIFN0cmluZyBS
ZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlw
ZShjb25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKaW5kZXggZDk3NjMwNGY4YmQ3
NWE3ZDdiNTdiOGZiOTUwMTNkYWY2NDZiNDE1ZS4uZmU2OWYzZjAwOTc4YmU2N2FmZmUxYmY2Mzk1
MDNjMjg5YjQzOTE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlh
Q29udHJvbHNTdHlsZVNoZWV0KCkKICNlbmRpZgogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVXaW46
Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVXaW46
Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJ
UFQpCiAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKQEAgLTEwODgs
OSArMTA4OCw5IEBAIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9sc1NjcmlwdCgp
CiAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKHN0cmluZ1dpdGhDb250ZW50c09mRmlsZSgi
bWVkaWFDb250cm9sc0FwcGxlIl9zLCAianMiX3MpKTsKICAgICAgICAgbV9tZWRpYUNvbnRyb2xz
U2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgIH0KLSAgICByZXR1cm4gbV9t
ZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIHJldHVybiB7IG1fbWVkaWFDb250cm9sc1NjcmlwdCB9
OwogI2Vsc2UKLSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICByZXR1cm4geyB9OwogI2Vu
ZGlmCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgK
aW5kZXggMjU3ODk0MzM3YTljMzk3MjZmMmFlOTQzMmIxNGE0Y2JjODMxZjU5MC4uMzgxMTQ0ZGU1
YTJmNDlmYTQ3NTlkMDIyZDA3NWFjZjg0ZWNkODljNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lV2luLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBjbGFzcyBSZW5kZXJUaGVt
ZVdpbiBmaW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiAKICNpZiBFTkFCTEUoVklERU8pCiAg
ICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgU3RyaW5n
IG1lZGlhQ29udHJvbHNTY3JpcHQoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBt
ZWRpYUNvbnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAogICAgIEludFNpemUgbWV0
ZXJTaXplRm9yQm91bmRzKGNvbnN0IFJlbmRlck1ldGVyJiwgY29uc3QgSW50UmVjdCYpIGNvbnN0
IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423513</attachid>
            <date>2021-03-17 12:15:59 -0700</date>
            <delta_ts>2021-03-17 13:22:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317121558.patch</filename>
            <type>text/plain</type>
            <size>17116</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZmYzQ0OGEyNTMwM2I3
NGRmMzlkMTA2YWJkNDFhYzBlNjE3MTI2YS4uNWIxM2FjOGIyYzAxMzdiNTE5ZDRmZTBlZTQyZmNk
MDRlZGI5ZTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAzLTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgbW9kZXJuLW1lZGlhLWNv
bnRyb2xzIHNjcmlwdCBzaG91bGQgbm90IGJlIGFsbG9jYXRlZCBpbiBoZWFwCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzMDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSBhcmUg
Y29uY2F0ZW5hdGluZyBzZXZlcmFsIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHRzIGludG8g
b25lLgorICAgICAgICBCdXQgdGhpcyBjYXVzZXMgc2lnbmlmaWNhbnQgbWVtb3J5IG92ZXJoZWFk
ICh+NjAwS0IpIHNpbmNlIGl0IGF2b2lkcyB1c2luZworICAgICAgICBmaWxlLWJhY2tlZCBtbWFw
cGVkIGRhdGEgKE5TQnVuZGxlJ3MgZmVhdHVyZSkuCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwg
d2Ugc2VwYXJhdGVseSBrZWVwIHRoZXNlIHRocmVlIHNjcmlwdHMuIEFuZCBleGVjdXRlIHRoZW0g
c2VwYXJhdGVseSBpbnN0ZWFkIG9mIGNvbmNhdGVuYXRpbmcgdGhlbSBpbnRvIG9uZS4KKyAgICAg
ICAgVGhpcyBjYXVzZXMgc21hbGwgbWVtb3J5IG92ZXJoZWFkLCBidXQgdGhpcyBpcyBtdWNoIGJl
dHRlciBjb21wYXJlZCB0byB+NjAwS0IgaGVhcCBhbGxvY2F0aW9uLgorCisgICAgICAgICogaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFD
b250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29u
dHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUFk
d2FpdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNv
bnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1l
ZGlhQ29udHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUlPUzo6cHVyZ2VDYWNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cHVyZ2VDYWNoZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaDoKKwogMjAyMS0wMy0xNiAgUGVu
ZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIGRvY3VtZW50IHBpY3R1cmVJ
blBpY3R1cmVFbGVtZW50IGlzIG51bGwgaWYgeW91IEVudGVyIFBpY3R1cmUgaW4gUGljdHVyZSBm
cm9tIGNvbnRleHR1YWwgbWVudQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKaW5kZXggMDNlOTM5ZjYxMjU4MzQ0NzNlZDgyNDI3ZDUxOGZlMjFmNmE3ZDIxZS4uNmYwNGUw
MjU2MzhmYjI1OGEzNzI2MzIzMDEyMDEyNjgyN2M5YTUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MTQ3LDExICs3MTQ3LDExIEBAIGJvb2wgSFRNTE1l
ZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KCkKICAgICBpZiAo
IXBhZ2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xz
U2NyaXB0ID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlhQ29udHJvbHNTY3JpcHQoKTsK
LSAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHQubGVuZ3RoKCkpCisgICAgVmVjdG9yPFN0cmlu
ZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMgPSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkubWVk
aWFDb250cm9sc1NjcmlwdHMoKTsKKyAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHRzLnNpemUo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHNldHVwQW5kQ2FsbEpTKFtt
ZWRpYUNvbnRyb2xzU2NyaXB0XShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBz
Y3JpcHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CisgICAgcmV0dXJuIHNl
dHVwQW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0cyA9IFdURk1vdmUobWVkaWFDb250cm9s
c1NjcmlwdHMpXShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250
cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CiAgICAgICAgIGF1dG8mIHZtID0gZ2xv
YmFsT2JqZWN0LnZtKCk7CiAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BF
KHZtKTsKIApAQCAtNzE1OSwxNiArNzE1OSwyMiBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVu
c3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgICAgIGlmIChmdW5jdGlvblZh
bHVlLmlzQ2FsbGFibGUodm0pKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICAgICAg
dW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBmb3IgKGF1dG8mIG1lZGlhQ29udHJvbHNTY3Jp
cHQgOiBtZWRpYUNvbnRyb2xzU2NyaXB0cykgeworICAgICAgICAgICAgaWYgKG1lZGlhQ29udHJv
bHNTY3JpcHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogI2lmICFkZWZp
bmVkKE5ERUJVRykKLSAgICAgICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNv
dXJjZSB0byBiZSBkZWJ1Z2dhYmxlIGluIHRoZSBpbnNwZWN0b3IuCi0gICAgICAgIFVSTCBzY3Jp
cHRVUkwgPSBVUkwoeyB9LCAibWVkaWFDb250cm9sc1NjcmlwdCJfcyk7CisgICAgICAgICAgICAv
LyBTZXR0aW5nIGEgc2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJlIGRlYnVnZ2FibGUg
aW4gdGhlIGluc3BlY3Rvci4KKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCBt
YWtlU3RyaW5nKCJtZWRpYUNvbnRyb2xzU2NyaXB0Il9zLCBpbmRleCkpOwogI2Vsc2UKLSAgICAg
ICAgVVJMIHNjcmlwdFVSTDsKKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkw7CiAjZW5kaWYKLSAg
ICAgICAgc2NyaXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihT
Y3JpcHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0VVJMKSks
IHdvcmxkKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewotICAg
ICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdF
eGNlcHRpb24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNj
cmlwdFVSTCkpLCB3b3JsZCk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0
aW9uKCkpKSB7CisgICAgICAgICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2lu
ZGV4OwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGJkZjMxOTc3NGVjZjg1Y2YwZThkMGQ5MGJlMjFjMjg3
MjM4YTNiMmYuLjVkY2VkNzhlZWQyYjM2N2U4Njk0OGFmYzA2ODhjNTFkYzIyMzJlMTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC04Nyw3ICs4Nyw3IEBAIGNsYXNz
IFJlbmRlclRoZW1lIHsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dCgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbW9kZXJuTWVkaWFD
b250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3Ry
aW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQot
ICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSB7IHJldHVybiBTdHJpbmco
KTsgfQorICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMo
KSB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0
U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsg
cmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc0Zvcm1h
dHRlZFN0cmluZ0ZvckR1cmF0aW9uKGRvdWJsZSkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApp
bmRleCA2MDRhYmI2YzZjY2E5MmFmMmFlOWRiZDYwNjY3MzAyZDRjMzYyMTZlLi44MGZlYTZmMWIy
OWVlMDhmMzgxZDFjNjcxZWFlNGNlZTZiYmI0ZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtMTcyLDkgKzE3Miw5IEBAIFN0cmlu
ZyBSZW5kZXJUaGVtZUFkd2FpdGE6OmV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogICAg
IHJldHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKLVN0
cmluZyBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0
cmluZywgMz4gUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7Ci0g
ICAgcmV0dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQsIHNpemVvZiht
ZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQpKTsKKyAgICByZXR1cm4geyBTdHJpbmcobWVk
aWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFK
YXZhU2NyaXB0KSkgfTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVBZHdhaXRhLmgKaW5kZXggMDU3YTgzNGJhY2IyMjhlNDk5NmNhZjRmOWE1NmU0
NDBmNDdiN2YyZC4uZTAwMjg2OGVlN2Y3NWQ4ZmM3MDgwZWU2M2Q4MWYzMGEwN2FjNjVhZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaApAQCAtMzcs
NyArMzcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUFkd2FpdGEgOiBwdWJsaWMgUmVuZGVyVGhlbWUg
ewogICAgIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkgZmluYWw7CiAjaWYgRU5BQkxF
KFZJREVPKQogICAgIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7
Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSBmaW5hbDsKKyAgICBWZWN0b3I8U3Ry
aW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIGZpbmFsOwogI2VuZGlmCiAKICAgICBib29s
IHN1cHBvcnRzSG92ZXIoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4IGQ4
NGI1ZGE0YTBiM2VmN2RjZjEyMTQyOTU3YjdkMTQ0YjE5OGZhYTIuLjg5MmVkM2Q3ZTE3MDhmYzE5
OWRjMTc1OGE1MjU5ODNmZDE4OGJkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5oCkBAIC0xNTYsNyArMTU2LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVJT1MgZmlu
YWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIFN0
cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtb2Rl
cm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0cmluZyBtZWRpYUNv
bnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250
cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0
cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVy
cmlkZTsKICNlbmRpZgogCkBAIC0xOTEsNyArMTkxLDkgQEAgY2xhc3MgUmVuZGVyVGhlbWVJT1Mg
ZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgQ29sb3Igc3lzdGVtQ29sb3Io
Q1NTVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5n
IG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVk
aWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNj
cmlwdDsKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBT
dHJpbmcgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGU0ODUwMzBlZGI3NmNkZDFlNjU3YTMwN2ZmMzhl
YjMyYTVhMzc0ZWMuLjlmYTM2YTk2MWRhOTdkZDU4ODJkZjUxZmJjOTg1MDI5N2YxNTRhOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTEyNzYsMjYg
KzEyNzYsMzEgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5
bGVTaGVldCgpCiB2b2lkIFJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hlcygpCiB7CiAgICAgbV9s
ZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9t
ZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgp
OwogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAg
IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsK
ICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVk
KCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgp
OwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVj
dG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHRzKCkKIHsK
ICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb2Rlcm5N
ZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3Jp
cHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxl
IGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKIAotICAg
ICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwotICAgICAgICAgICAgc2NyaXB0
QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxl
IHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5n
cyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxd
KTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRo
Q29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29u
dHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJd
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICAgICAg
Ly8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2NyaXB0
LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0ZWFkLgorICAgICAgICAgICAg
bV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdX
aXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEt
Y29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1Nj
cmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9y
UmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9y
eTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
IGVycm9yOm5pbF07CiAjaWYgZGVmaW5lZChSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNv
bnRyb2xzU2NyaXB0KQotICAgICAgICAgICAgUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFD
b250cm9sc1NjcmlwdAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlw
dCA9IFN0cmluZyhSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsK
ICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRl
ci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNT
Y3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2Nh
bGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAor
ICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsK
ICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkg
ewpAQCAtMTMwOCw3ICsxMzEzLDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRy
b2xzU2NyaXB0KCkKIAogICAgICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3Jp
cHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29u
dHJvbHNTY3JpcHQ7CisgICAgcmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07
CiB9CiAKIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zv
ckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGlj
b25UeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCA2
MTFkY2VkYzEyMDBiZjRhYWQ1MjMwYzAxZDM5Zjg4NjEzYzkyMWFkLi44MDc1MDQzM2VlZWIyNDk4
MjRmMTZhMmI0NDk3MTQzNmZlM2Y0ZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaApAQCAtMTA4LDcgKzEwOCw3IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZp
bmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIC8vIE1lZGlhIGNvbnRyb2xzCiAg
ICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7CiAgICAgU3RyaW5nIG1v
ZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7Ci0gICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNTY3JpcHQoKSBmaW5hbDsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xz
U2NyaXB0cygpIGZpbmFsOwogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9y
SWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogI2Vu
ZGlmCiAKQEAgLTIzOCw3ICsyMzgsOSBAQCBjbGFzcyBSZW5kZXJUaGVtZU1hYyBmaW5hbCA6IHB1
YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICAgICBSZXRhaW5QdHI8V2ViQ29yZVJlbmRlclRoZW1l
Tm90aWZpY2F0aW9uT2JzZXJ2ZXI+IG1fbm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAKICAgICBTdHJp
bmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJv
bHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3Jp
cHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3Ry
aW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFD
b250cm9sc1N0eWxlU2hlZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCmluZGV4IGYxNTRiNWY1YTNkNzNlNTA3ODE3Y2I5MGI2ODg5ZjEwNWU3NWQzNzMu
LjJmYmZkYTM0ZjA0NWRmMTI1ZDA4YTdmMTkxMmMwMjY2ZTgyOTMzMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTMxNiwyOCArMzE2LDMzIEBAIFN0
cmluZyBSZW5kZXJUaGVtZU1hYzo6bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9p
ZCBSZW5kZXJUaGVtZU1hYzo6cHVyZ2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250
cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xv
Y2FsaXplZFN0cmluZ3NTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlh
Q29udHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJv
bHNBZGRpdGlvbmFsU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lN
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVk
aWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIAogICAgIFJlbmRl
clRoZW1lOjpwdXJnZUNhY2hlcygpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlh
Q29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVNYWM6Om1lZGlh
Q29udHJvbHNTY3JpcHRzKCkKIHsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7CiAgICAgICAgIGlm
IChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBOU0J1bmRs
ZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVC
dW5kbGUgY2xhc3NdXTsKIAotICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVy
OwotICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhD
b250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250
cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5k
KFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3Vy
Y2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1v
ZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9y
Om5pbF0pOworICAgICAgICAgICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qg
d29ydGggaGF2aW5nIGEgc2NyaXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBp
bnN0ZWFkLgorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1Njcmlw
dCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVz
b3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpA
ImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAg
ICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNP
ZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9m
VHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5n
Ok5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAjaWYgZGVmaW5lZChSZW5kZXJUaGVt
ZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KQotICAgICAgICAgICAgUmVuZGVyVGhl
bWVNYWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdAorICAgICAgICAgICAgbV9tZWRpYUNv
bnRyb2xzQWRkaXRpb25hbFNjcmlwdCA9IFN0cmluZyhSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19t
ZWRpYUNvbnRyb2xzU2NyaXB0KTsKICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xz
U2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAg
ICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9t
ZWRpYUNvbnRyb2xzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25h
bFNjcmlwdCwKKyAgICAgICAgfTsKICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRy
b2xzU2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMzQ2LDcgKzM1MSw3IEBAIFN0cmluZyBSZW5kZXJU
aGVtZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCiAgICAgICAgIE5TU3RyaW5nICpzY3JpcHQg
PSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291
cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0
cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1Nj
cmlwdCA9IG1ha2VTdHJpbmcoU3RyaW5nIHsgbG9jYWxpemVkU3RyaW5ncyB9LCBTdHJpbmcgeyBz
Y3JpcHQgfSk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7
CisgICAgcmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAKIFN0cmlu
ZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5k
VHlwZShjb25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKaW5kZXggZDk3NjMwNGY4
YmQ3NWE3ZDdiNTdiOGZiOTUwMTNkYWY2NDZiNDE1ZS4uZDBmZDJhNmEzMTI0OTgxNGI0MGQwMmU1
ZDI0YzU5Mzg3ODNiOGQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uY3BwCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICNlbmRpZgogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVX
aW46Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVX
aW46Om1lZGlhQ29udHJvbHNTY3JpcHRzKCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNf
U0NSSVBUKQogICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CkBAIC0x
MDg4LDkgKzEwODgsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3Jp
cHQoKQogICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChzdHJpbmdXaXRoQ29udGVudHNPZkZp
bGUoIm1lZGlhQ29udHJvbHNBcHBsZSJfcywgImpzIl9zKSk7CiAgICAgICAgIG1fbWVkaWFDb250
cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJu
IG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX21lZGlhQ29udHJvbHNTY3Jp
cHQgfTsKICNlbHNlCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsK
ICNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdp
bi5oCmluZGV4IDI1Nzg5NDMzN2E5YzM5NzI2ZjJhZTk0MzJiMTRhNGNiYzgzMWY1OTAuLjZkMTdh
ZmQ4M2FiNjNmZGFmYzhmYTE4ODEzY2IzMzczN2M1YTEyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCkBAIC0xMjEsNyArMTIxLDcgQEAgY2xhc3MgUmVuZGVy
VGhlbWVXaW4gZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogCiAjaWYgRU5BQkxFKFZJREVP
KQogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0
cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywg
Mz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgSW50U2l6
ZSBtZXRlclNpemVGb3JCb3VuZHMoY29uc3QgUmVuZGVyTWV0ZXImLCBjb25zdCBJbnRSZWN0Jikg
Y29uc3Qgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423520</attachid>
            <date>2021-03-17 13:22:32 -0700</date>
            <delta_ts>2021-03-17 13:24:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317132231.patch</filename>
            <type>text/plain</type>
            <size>37604</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzU0NWJlZjY0Njk0NDA3YmIyZDgxNGIwMGNmYTg0YzcyZDdjYTllLi4zYzdiOTZmMWMyMzhkZTc5
OTQ4MTBlMGRkMWQ0NzNiNTQ1YmU2M2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBh
bGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIC0tZmFpbC1pZi1ub24tYXNjaWkgZmxhZyB0byBlbnN1cmUgdGhhdCBpbnB1
dCBmaWxlcyBkbyBub3QgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycy4KKworICAgICAgICAq
IFNjcmlwdHMvbWFrZS1qcy1maWxlLWFycmF5cy5weToKKyAgICAgICAgKG1haW4pOgorCiAyMDIx
LTAzLTE3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBbV2ViSURMXSBGaXggY29udmVydFJlY29yZCgpIHRvIHRocm93IG9uIGVudW1lcmFibGUgc3lt
Ym9sIHxrZXl8CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJiNWIxMTgwM2NkM2Q4ZDNiNDU0ZWEzYTA0OTgwYWQw
NzAxMThkMy4uNmI5N2JhNWNkM2UzOWRmMzM0OTY1ZTM5NzAzNmZmNzIzNWVkYzEwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTAzLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CisKKyAgICAgICAgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdCBzaG91
bGQgbm90IGJlIGFsbG9jYXRlZCBpbiBoZWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSBhcmUgY29uY2F0ZW5hdGluZyBzZXZl
cmFsIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHRzIGludG8gb25lLgorICAgICAgICBCdXQg
dGhpcyBjYXVzZXMgc2lnbmlmaWNhbnQgbWVtb3J5IG92ZXJoZWFkICh+NjAwS0IpLiBVc2luZyBO
U0J1bmRsZSdzIGRhdGEgc3RpbGwKKyAgICAgICAgYWxsb2NhdGVzIG1lbW9yeSBzaW5jZSBXVEY6
OlN0cmluZyhDRlN0cmluZykgYWxsb2NhdGVzIGhlYXAgbWVtb3J5LgorCisgICAgICAgIExldCdz
IHVzZSBleGlzdGluZyBtZWNoYW5pc20gZGVzaWduZWQgZm9yIHRoaXMgcHVycG9zZS4gV2Ugc2Vy
aWFsaXplIG1vZGVybi1tZWRpYS1jb250cm9scy5qcyBpbnRvIGNvbnN0IEMgYXJyYXkgaW4KKyAg
ICAgICAgVXNlckFnZW50U2NyaXB0RGF0YS5jcHAuIFVzZXJBZ2VudFNjcmlwdCBpcyBhIG1lY2hh
bmlzbSBmb3IgaGF2aW5nIHVzZXItYWdlbnQgc3BlY2lmaWMgc2NyaXB0IHNvdXJjZSwgYW5kIHRo
aXMgbWF0Y2hlcworICAgICAgICB0byBvdXIgcHVycG9zZS4gKGZvciBleGFtcGxlLCBVc2VyQWdl
bnRTdHlsZVNoZWV0cyAoQ1NTIHZlcnNpb24gb2YgdGhhdCkgaGF2ZSBodG1sLmNzcyBldGMuKS4K
KworICAgICAgICBXZSBhbHNvIF9fSW5qZWN0ZWRTY3JpcHRfKi5qcyBuYW1lIGZvciB0aGVzZSBN
b2Rlcm5NZWRpYUNvbnRyb2xzLmpzIHNjcmlwdHMgd2hpbGUgdGhpcyBpcyBub3QgZGlyZWN0bHkg
cmVsYXRlZCB0byB0aGUKKyAgICAgICAgaGVhcCB1c2FnZSByZWR1Y3Rpb24gb2YgdGhpcyBwYXRj
aC4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgbm90IGRvIHRoZSBzYW1lIHRoaW5nIGZvciBD
U1Mgb2YgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNpbmNlIHRoaXMgcGF0Y2gncyBmb2N1cyBpcyBz
Y3JpcHQgZmlsZXMgZmlyc3QuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvanMtZmlsZXM6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6cXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnRTY3JpcHQpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0lu
amVjdGVkU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hl
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Njcmlw
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3Jp
cHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6
bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46
Om1lZGlhQ29udHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5oOgorCiAyMDIxLTAzLTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBkb24ndCB1c2UgcmF3IHVuaWNvZGUgY2hhcmFjdGVycyBpbiBtb2Rl
cm4gbWVkaWEgY29udHJvbHMgSlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
Y3JpcHRzL21ha2UtanMtZmlsZS1hcnJheXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cy9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5CmluZGV4IGQ5ZmZiNjAyZTM1ZTg0MTM0OTdhOTE4
MmNkZWVkZTBiNmMxNDg3YmYuLjcyODkzMzUwMDAzYzFkODMxZTRmNzNlYjFkMzY0OWExNDU0ODc2
M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL21ha2UtanMtZmls
ZS1hcnJheXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1qcy1m
aWxlLWFycmF5cy5weQpAQCAtNDUsNiArNDUsNyBAQCBkZWYgY2h1bmsobGlzdCwgY2h1bmtTaXpl
KToKIGRlZiBtYWluKCk6CiAgICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTog
JXByb2cgW29wdGlvbnNdIGhlYWRlciBzb3VyY2UgW2lucHV0IFtpbnB1dC4uLl1dIikKICAgICBw
YXJzZXIuYWRkX29wdGlvbignLS1uby1taW5pZnknLCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxw
PSdEbyBub3QgcnVuIHRoZSBpbnB1dCBmaWxlcyB0aHJvdWdoIGpzbWluJykKKyAgICBwYXJzZXIu
YWRkX29wdGlvbignLS1mYWlsLWlmLW5vbi1hc2NpaScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhl
bHA9J0ZhaWwgaWYgdGhlIGlucHV0IGZpbGVzIGluY2x1ZGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMn
KQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCctbicsICctLW5hbWVzcGFjZScsIGhlbHA9J05hbWVz
cGFjZSB0byB1c2UnKQogICAgIChvcHRpb25zLCBhcmd1bWVudHMpID0gcGFyc2VyLnBhcnNlX2Fy
Z3MoKQogICAgIGlmIG5vdCBvcHRpb25zLm5hbWVzcGFjZToKQEAgLTgyLDYgKzgzLDExIEBAIGRl
ZiBtYWluKCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBjaGFyYWN0ZXJzID0gZGF0YQog
CisgICAgICAgIGlmIG9wdGlvbnMuZmFpbF9pZl9ub25fYXNjaWk6CisgICAgICAgICAgICBmb3Ig
Y2hhcmFjdGVyIGluIGNoYXJhY3RlcnM6CisgICAgICAgICAgICAgICAgaWYgb3JkKGNoYXJhY3Rl
cikgPj0gMTI4OgorICAgICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVzIGlzIG5v
dCBBU0NJSSIgJSBjaGFyYWN0ZXIpCisKICAgICAgICAgaWYgaXNfMzoKICAgICAgICAgICAgIGNv
ZGVwb2ludHMgPSBieXRlYXJyYXkoY2hhcmFjdGVycywgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAg
ICAgZWxzZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CmluZGV4IGFkOWU5NjY3ZjBhNjg2YjE2OTVjNzA4ZmEwODg1MTUzNDAzY2FlMmIuLjdkMzc4
MDcwODBmOGNhNzliZWUyNmVlMjA3NGY5YjE1NjUzY2E0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMjY0LDYgKzI2NCw3MSBAQCAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWlycGxh
eS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL2FpcnBsYXktcGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYXV0by1oaWRlLWNvbnRyb2xsZXIuanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91
bmQtY2xpY2stZGVsZWdhdGUtbm90aWZpZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91bmQtdGludC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9uLmpzCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0
b25zLWNvbnRhaW5lci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvY29udHJvbHMtYmFyLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mb3J3YXJkLWJ1dHRvbi5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvZnVsbHNjcmVlbi1i
dXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2ljb24tc2VydmljZS5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbnZhbGlkLXBsYWNh
cmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1pdGVtLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
bWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRy
b2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvbXV0ZS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcGlwLWJ1
dHRvbi5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvcGlwLXBsYWNhcmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3BsYWNhcmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYXktcGF1c2UtYnV0dG9uLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9yZXdpbmQtYnV0
dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9zY2hlZHVsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NlZWstYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9za2lwLWJhY2stYnV0dG9uLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9za2lwLWZvcndh
cmQtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9zbGlkZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3N0YXR1cy1sYWJlbC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvdGltZS1jb250cm9sLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWxhYmVs
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy90cmFja3MtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy93YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvd2F0Y2hvcy1tZWRp
YS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvZ2VzdHVyZS1yZWNvZ25pemVycy9nZXN0dXJlLXJlY29nbml6ZXIuanMKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2dlc3R1cmUtcmVjb2duaXplcnMvcGlu
Y2guanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2dlc3R1
cmUtcmVjb2duaXplcnMvdGFwLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9tYWluLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS9haXJwbGF5LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2F1ZGlvLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxp
dHktc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNv
bnRyb2xsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL211dGUtc3VwcG9ydC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ctc3VwcG9y
dC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
cGlwLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL3BsYWNhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEvcGxheWJhY2stc3VwcG9ydC5qcworJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2NydWJiaW5nLXN1cHBvcnQu
anMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3Nl
ZWstYmFja3dhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvc2Vlay1mb3J3YXJkLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstc3VwcG9ydC5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1iYWNr
LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL3NraXAtZm9yd2FyZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGFydC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGF0dXMtc3VwcG9ydC5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvdGltZS1j
b250cm9sLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3RyYWNrcy1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS92b2x1bWUtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvd2F0Y2hvcy1tZWRpYS1jb250
cm9scy1zdXBwb3J0LmpzCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBhNjRlN2U3OWNhYzM1NmMy
ZDM3MmNhZmRiZjVhM2E5M2JlMDk4MDFjLi40MDVhZTdlM2UwMjIwMGVkOWZkNTA0OTc2ODRkZDc0
MjA1YTE1ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtMjY1NCw2ICsyNjU0LDcgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVudEZhY3RvcnkuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVudFR5cGVIZWxwZXJz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5h
bWVzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0
aE1MTmFtZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
TW9kZXJuTWVkaWFDb250cm9scy5qcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMuaWRsCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9QbHVnSW5zUmVzb3VyY2Vz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1JUQ1BlZXJD
b25uZWN0aW9uQnVpbHRpbnMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNTYw
YjhiN2FhMDU3ZjUyODQyYmU1M2QwMzhkMGY0ZjUyNDgzMzlhOS4uNzViNDY4OGFhNzc4MDIyMDlk
NWExMTliMTZlZjY2NTE2ZWU1MDA4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xNTQzLDkgKzE1NDMsODcgQEAgVXNlckFnZW50U3R5bGVTaGVldHMuaCA6ICQoV2ViQ29yZSkv
Y3NzL21ha2UtY3NzLWZpbGUtYXJyYXlzLnBsICQoV2ViQ29yZSkvYmluZGkKIAogIyAtLS0tLS0t
LQogCisjIG1vZGVybiBtZWRpYSBjb250cm9scworCitNT0RFUk5fTUVESUFfQ09OVFJPTFNfU0NS
SVBUUyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
aW4uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2Vz
dHVyZS1yZWNvZ25pemVycy9nZXN0dXJlLXJlY29nbml6ZXIuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVycy90YXAuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1y
ZWNvZ25pemVycy9waW5jaC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9zY2hlZHVsZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0
ZW0uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaWNvbi1zZXJ2aWNlLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91bmQtdGludC5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
dGltZS1sYWJlbC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9zbGlkZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYXktcGF1c2UtYnV0dG9uLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Nr
aXAtYmFjay1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvc2tpcC1mb3J3YXJkLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tdXRlLWJ1dHRvbi5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9h
aXJwbGF5LWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9waXAtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RyYWNrcy1idXR0b24uanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvZnVsbHNjcmVl
bi1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvc2Vlay1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcmV3aW5kLWJ1dHRvbi5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mb3J3YXJkLWJ1dHRv
bi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9vdmVyZmxvdy1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIuanMgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc3RhdHVzLWxhYmVs
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL2NvbnRyb2xzLWJhci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9s
cy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9iYWNrZ3JvdW5kLWNsaWNrLWRlbGVnYXRlLW5vdGlmaWVyLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1j
b250cm9scy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlubGluZS1tZWRp
YS1jb250cm9scy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYWNhcmQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvYWlycGxheS1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ludmFsaWQtcGxhY2FyZC5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtcGxhY2FyZC5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93
YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlh
LWNvbnRyb2xsZXItc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS9haXJwbGF5LXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvYXVkaW8tc3VwcG9ydC5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9jb250cm9s
cy12aXNpYmlsaXR5LXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL211dGUtc3VwcG9ydC5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVy
Zmxvdy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3BpcC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3BsYWNhcmQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9wbGF5YmFjay1zdXBwb3J0
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L3NjcnViYmluZy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zZWVrLWJhY2t3YXJkLXN1cHBvcnQuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vl
ay1mb3J3YXJkLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvc2tpcC1iYWNrLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1mb3J3YXJkLXN1cHBvcnQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
c3RhcnQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS9zdGF0dXMtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90aW1lLWNvbnRyb2wtc3VwcG9ydC5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90cmFja3Mt
c3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS92b2x1bWUtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1kb2N1bWVudC1jb250cm9sbGVyLmpzIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3dhdGNob3Mt
bWVkaWEtY29udHJvbHMtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLmpzIFwKKyMKKworYWxsIDog
TW9kZXJuTWVkaWFDb250cm9scy5qcworCitNb2Rlcm5NZWRpYUNvbnRyb2xzLmpzIDogJChNT0RF
Uk5fTUVESUFfQ09OVFJPTFNfU0NSSVBUUykKKwljYXQgJD8gPiBNb2Rlcm5NZWRpYUNvbnRyb2xz
LmpzCisKICMgdXNlciBhZ2VudCBzY3JpcHRzCiAKLVVTRVJfQUdFTlRfU0NSSVBUUyA9ICQoV2Vi
Q29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmpzCitVU0VS
X0FHRU5UX1NDUklQVFMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQuanMgXAorICAgIE1vZGVybk1lZGlhQ29udHJvbHMuanMgXAor
IwogCiBVU0VSX0FHRU5UX1NDUklQVFNfRklMRVMgPSBcCiAgICAgVXNlckFnZW50U2NyaXB0cy5o
IFwKQEAgLTE1NTYsNyArMTYzNCw3IEBAIFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFU19QQVRURVJO
UyA9ICQoc3Vic3QgLiwlLCQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTKSkKIGFsbCA6ICQoVVNF
Ul9BR0VOVF9TQ1JJUFRTX0ZJTEVTKQogCiAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFU19QQVRU
RVJOUykgOiAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlz
LnB5ICQoVVNFUl9BR0VOVF9TQ1JJUFRTKQotCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlX1ND
UklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5IC1uIFdlYkNvcmUgJChVU0VSX0FHRU5U
X1NDUklQVFNfRklMRVMpICQoVVNFUl9BR0VOVF9TQ1JJUFRTKQorCSQoUFlUSE9OKSAkKEphdmFT
Y3JpcHRDb3JlX1NDUklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5IC1uIFdlYkNvcmUg
LS1mYWlsLWlmLW5vbi1hc2NpaSAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFUykgJChVU0VSX0FH
RU5UX1NDUklQVFMpCiAKICMgLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvanMtZmlsZXMgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9qcy1maWxlcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmE3ODMwYWEwNDU4MzMwMjg1YWViM2NhMDc3YzM5OWVhZTlhMWJmMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9qcy1maWxlcworKysgL2Rldi9udWxsCkBA
IC0xLDY1ICswLDAgQEAKLW1haW4uanMKLWdlc3R1cmUtcmVjb2duaXplcnMvZ2VzdHVyZS1yZWNv
Z25pemVyLmpzCi1nZXN0dXJlLXJlY29nbml6ZXJzL3RhcC5qcwotZ2VzdHVyZS1yZWNvZ25pemVy
cy9waW5jaC5qcwotY29udHJvbHMvc2NoZWR1bGVyLmpzCi1jb250cm9scy9sYXlvdXQtbm9kZS5q
cwotY29udHJvbHMvbGF5b3V0LWl0ZW0uanMKLWNvbnRyb2xzL2ljb24tc2VydmljZS5qcwotY29u
dHJvbHMvYmFja2dyb3VuZC10aW50LmpzCi1jb250cm9scy90aW1lLWNvbnRyb2wuanMKLWNvbnRy
b2xzL3RpbWUtbGFiZWwuanMKLWNvbnRyb2xzL3NsaWRlci5qcwotY29udHJvbHMvYnV0dG9uLmpz
Ci1jb250cm9scy9wbGF5LXBhdXNlLWJ1dHRvbi5qcwotY29udHJvbHMvc2tpcC1iYWNrLWJ1dHRv
bi5qcwotY29udHJvbHMvc2tpcC1mb3J3YXJkLWJ1dHRvbi5qcwotY29udHJvbHMvbXV0ZS1idXR0
b24uanMKLWNvbnRyb2xzL2FpcnBsYXktYnV0dG9uLmpzCi1jb250cm9scy9waXAtYnV0dG9uLmpz
Ci1jb250cm9scy90cmFja3MtYnV0dG9uLmpzCi1jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5q
cwotY29udHJvbHMvc2Vlay1idXR0b24uanMKLWNvbnRyb2xzL3Jld2luZC1idXR0b24uanMKLWNv
bnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzCi1jb250cm9scy9vdmVyZmxvdy1idXR0b24uanMKLWNv
bnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmpzCi1jb250cm9scy9zdGF0dXMtbGFiZWwuanMKLWNv
bnRyb2xzL2NvbnRyb2xzLWJhci5qcwotY29udHJvbHMvYXV0by1oaWRlLWNvbnRyb2xsZXIuanMK
LWNvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzCi1jb250cm9scy9iYWNrZ3JvdW5kLWNsaWNrLWRl
bGVnYXRlLW5vdGlmaWVyLmpzCi1jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKLWNv
bnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKLWNvbnRyb2xzL21hY29zLWlubGlu
ZS1tZWRpYS1jb250cm9scy5qcwotY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy5qcwotY29udHJvbHMvcGxhY2FyZC5qcwotY29udHJvbHMvYWlycGxheS1wbGFjYXJkLmpz
Ci1jb250cm9scy9pbnZhbGlkLXBsYWNhcmQuanMKLWNvbnRyb2xzL3BpcC1wbGFjYXJkLmpzCi1j
b250cm9scy93YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcwotY29udHJvbHMvd2F0Y2hvcy1t
ZWRpYS1jb250cm9scy5qcwotbWVkaWEvbWVkaWEtY29udHJvbGxlci1zdXBwb3J0LmpzCi1tZWRp
YS9haXJwbGF5LXN1cHBvcnQuanMKLW1lZGlhL2F1ZGlvLXN1cHBvcnQuanMKLW1lZGlhL2NvbnRy
b2xzLXZpc2liaWxpdHktc3VwcG9ydC5qcwotbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzCi1t
ZWRpYS9tdXRlLXN1cHBvcnQuanMKLW1lZGlhL292ZXJmbG93LXN1cHBvcnQuanMKLW1lZGlhL3Bp
cC1zdXBwb3J0LmpzCi1tZWRpYS9wbGFjYXJkLXN1cHBvcnQuanMKLW1lZGlhL3BsYXliYWNrLXN1
cHBvcnQuanMKLW1lZGlhL3NjcnViYmluZy1zdXBwb3J0LmpzCi1tZWRpYS9zZWVrLXN1cHBvcnQu
anMKLW1lZGlhL3NlZWstYmFja3dhcmQtc3VwcG9ydC5qcwotbWVkaWEvc2Vlay1mb3J3YXJkLXN1
cHBvcnQuanMKLW1lZGlhL3NraXAtYmFjay1zdXBwb3J0LmpzCi1tZWRpYS9za2lwLWZvcndhcmQt
c3VwcG9ydC5qcwotbWVkaWEvc3RhcnQtc3VwcG9ydC5qcwotbWVkaWEvc3RhdHVzLXN1cHBvcnQu
anMKLW1lZGlhL3RpbWUtY29udHJvbC1zdXBwb3J0LmpzCi1tZWRpYS90cmFja3Mtc3VwcG9ydC5q
cwotbWVkaWEvdm9sdW1lLXN1cHBvcnQuanMKLW1lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xs
ZXIuanMKLW1lZGlhL3dhdGNob3MtbWVkaWEtY29udHJvbHMtc3VwcG9ydC5qcwotbWVkaWEvbWVk
aWEtY29udHJvbGxlci5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVn
aW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCmluZGV4IDE2ZTJmMjM0NjQ5
NDVhMGY0NjIwMGNkNzc1YTQ5NDY4ZmYxYWI4Y2QuLmVlODlmNjBmNTA1ZDUwN2Q0MGMwYzhiNzVm
NzZiYjQxNGY3ZDk2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lu
cy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KQEAgLTY3LDcgKzY3LDcg
QEAgc3RhdGljIEpTVmFsdWUgKmpzVmFsdWVXaXRoQVZNZXRhZGF0YUl0ZW1JbkNvbnRleHQoQVZN
ZXRhZGF0YUl0ZW0gKiwgSlNDb250ZXh0ICoKIAogc3RhdGljIFN0cmluZyBxdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudFNjcmlwdCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmlu
Zz4gc2NyaXB0KFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCwgc2l6ZW9mKFF1
aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCkpOworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxTdHJpbmc+IHNjcmlwdChTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBs
KFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCwgc2l6ZW9mKFF1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCkpKTsKICAgICByZXR1cm4gc2NyaXB0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDRkNjYyMDVmNTlmYWJmMDQ1YzgwN2Q3NDhlYjE3NDBiZWExMmMxYS4uMDc0ZDRmYTEzNWRj
OWQ5NDI1OWQ0ODZiMGRmOTU4OGI2MDRhNjc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzYwODEsNyArMzYwODEsNyBAQAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIlNSQ19ESVI9XCIkU1JDUk9PVC9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9sc1wiXG5EU1RfRElSPVwiJEJVSUxUX1BST0RVQ1RT
X0RJUi8kVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIL21vZGVybi1tZWRpYS1jb250
cm9sc1wiXG5cbm1rZGlyIC1wIFwiJERTVF9ESVJcIlxuXG5pZiBbIFwiJHtXS19QTEFURk9STV9O
QU1FfVwiID09IFwibWFjb3N4XCIgXTsgdGhlblxuICAgIElNR19PU19QUkVGSVg9XCJtYWNPU1wi
XG5lbHNlXG4gICAgaWYgW1sgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgPT0gKlwid2F0Y2hcIiog
XV07IHRoZW5cbiAgICAgICAgSU1HX09TX1BSRUZJWD1cIndhdGNoT1NcIlxuICAgIGVsc2VcbiAg
ICAgICAgSU1HX09TX1BSRUZJWD1cImlPU1wiXG4gICAgZmlcbmZpXG5cbmlmIFsgLW4gXCIkSU1H
X09TX1BSRUZJWFwiIF07IHRoZW5cbnJzeW5jIC1hcSAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1leGNs
dWRlIFwiLkRTX1N0b3JlXCIgXCIkU1JDX0RJUi9pbWFnZXMvJElNR19PU19QUkVGSVgvXCIgXCIk
RFNUX0RJUi9pbWFnZXNcIlxuZmlcblxuY2QgXCIkU1JDX0RJUlwiXG5jYXQgY29udHJvbHMvKi5j
c3MgfCBwZXJsIC0wNzc3IC1wZSAnc3svXFwqLio/XFwqL317fWdzJyA+IFwiJERTVF9ESVIvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzLmNzc1wiXG5jYXQgYGNhdCBqcy1maWxlc2AgfCBwZXJsIC0wNzc3
IC1wZSAnc3svXFwqLio/XFwqL317fWdzJyA+IFwiJERTVF9ESVIvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzLmpzXCJcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJTUkNfRElSPVwiJFNSQ1JPT1QvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuRFNUX0RJUj1cIiRCVUlMVF9QUk9EVUNUU19ESVIv
JFVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSC9tb2Rlcm4tbWVkaWEtY29udHJvbHNc
IlxuXG5ta2RpciAtcCBcIiREU1RfRElSXCJcblxuaWYgWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1c
IiA9PSBcIm1hY29zeFwiIF07IHRoZW5cbiAgICBJTUdfT1NfUFJFRklYPVwibWFjT1NcIlxuZWxz
ZVxuICAgIGlmIFtbIFwiJHtXS19QTEFURk9STV9OQU1FfVwiID09ICpcIndhdGNoXCIqIF1dOyB0
aGVuXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJ3YXRjaE9TXCJcbiAgICBlbHNlXG4gICAgICAg
IElNR19PU19QUkVGSVg9XCJpT1NcIlxuICAgIGZpXG5maVxuXG5pZiBbIC1uIFwiJElNR19PU19Q
UkVGSVhcIiBdOyB0aGVuXG5yc3luYyAtYXEgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBc
Ii5EU19TdG9yZVwiIFwiJFNSQ19ESVIvaW1hZ2VzLyRJTUdfT1NfUFJFRklYL1wiIFwiJERTVF9E
SVIvaW1hZ2VzXCJcbmZpXG5cbmNkIFwiJFNSQ19ESVJcIlxuY2F0IGNvbnRyb2xzLyouY3NzIHwg
cGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1t
ZWRpYS1jb250cm9scy5jc3NcIlxuIjsKIAkJfTsKIAkJQTVFNzlDRUMxRTY3RjJDRjAwRkI4MTUz
IC8qIE1ha2UgRnJhbWV3b3JrcyBTeW1ib2xpYyBMaW5rICovID0gewogCQkJaXNhID0gUEJYU2hl
bGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKaW5kZXggNmE1OGY2NGM2NzE5Y2NiMGRiYTZiNzBkN2NhMmMxM2M0NDY1NDc0My4uMzFkOWRm
MmJiYzNhMmMwMWFhZDI0NTIyYzc4NDM2YmRhZTQyMWE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MTQ4LDExICs3MTQ4LDExIEBAIGJvb2wgSFRNTE1l
ZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KCkKICAgICBpZiAo
IXBhZ2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xz
U2NyaXB0ID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlhQ29udHJvbHNTY3JpcHQoKTsK
LSAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHQubGVuZ3RoKCkpCisgICAgVmVjdG9yPFN0cmlu
ZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMgPSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkubWVk
aWFDb250cm9sc1NjcmlwdHMoKTsKKyAgICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHRzLnNpemUo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHNldHVwQW5kQ2FsbEpTKFtt
ZWRpYUNvbnRyb2xzU2NyaXB0XShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBz
Y3JpcHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CisgICAgcmV0dXJuIHNl
dHVwQW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0cyA9IFdURk1vdmUobWVkaWFDb250cm9s
c1NjcmlwdHMpXShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250
cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7CiAgICAgICAgIGF1dG8mIHZtID0gZ2xv
YmFsT2JqZWN0LnZtKCk7CiAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BF
KHZtKTsKIApAQCAtNzE2MCwxNiArNzE2MCwxOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVu
c3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgICAgIGlmIChmdW5jdGlvblZh
bHVlLmlzQ2FsbGFibGUodm0pKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSNpZiAhZGVm
aW5lZChOREVCVUcpCi0gICAgICAgIC8vIFNldHRpbmcgYSBzY3JpcHRVUkwgYWxsb3dzIHRoZSBz
b3VyY2UgdG8gYmUgZGVidWdnYWJsZSBpbiB0aGUgaW5zcGVjdG9yLgotICAgICAgICBVUkwgc2Ny
aXB0VVJMID0gVVJMKHsgfSwgIm1lZGlhQ29udHJvbHNTY3JpcHQiX3MpOwotI2Vsc2UKLSAgICAg
ICAgVVJMIHNjcmlwdFVSTDsKLSNlbmRpZgotICAgICAgICBzY3JpcHRDb250cm9sbGVyLmV2YWx1
YXRlSW5Xb3JsZElnbm9yaW5nRXhjZXB0aW9uKFNjcmlwdFNvdXJjZUNvZGUobWVkaWFDb250cm9s
c1NjcmlwdCwgV1RGTW92ZShzY3JpcHRVUkwpKSwgd29ybGQpOwotICAgICAgICBpZiAoVU5MSUtF
TFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7Ci0gICAgICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlv
bigpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB1bnNpZ25lZCBpbmRleCA9
IDA7CisgICAgICAgIGZvciAoYXV0byYgbWVkaWFDb250cm9sc1NjcmlwdCA6IG1lZGlhQ29udHJv
bHNTY3JpcHRzKSB7CisgICAgICAgICAgICBpZiAobWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5
KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAvLyBTZXR0aW5nIGEg
c2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJlIGRlYnVnZ2FibGUgaW4gdGhlIGluc3Bl
Y3Rvci4KKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCBtYWtlU3RyaW5nKCJf
X0luamVjdGVkU2NyaXB0X21lZGlhQ29udHJvbHNTY3JpcHQiX3MsIGluZGV4LCAiLmpzIikpOwor
ICAgICAgICAgICAgc2NyaXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2Vw
dGlvbihTY3JpcHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0
VVJMKSksIHdvcmxkKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24o
KSkpIHsKKyAgICAgICAgICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICsraW5kZXg7
CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmgKaW5kZXggYmRmMzE5Nzc0ZWNmODVjZjBlOGQwZDkwYmUyMWMyODcyMzhh
M2IyZi4uNWRjZWQ3OGVlZDJiMzY3ZTg2OTQ4YWZjMDY4OGM1MWRjMjIzMmUxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTg3LDcgKzg3LDcgQEAgY2xhc3MgUmVu
ZGVyVGhlbWUgewogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkg
eyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtb2Rlcm5NZWRpYUNvbnRy
b2xzU3R5bGVTaGVldCgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcg
ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAg
dmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIHsgcmV0dXJuIFN0cmluZygpOyB9
CisgICAgdmlydHVhbCBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIHsg
cmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJp
bmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyByZXR1
cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzRm9ybWF0dGVk
U3RyaW5nRm9yRHVyYXRpb24oZG91YmxlKSB7IHJldHVybiBTdHJpbmcoKTsgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4
IDYwNGFiYjZjNmNjYTkyYWYyYWU5ZGJkNjA2NjczMDJkNGMzNjIxNmUuLjgwZmVhNmYxYjI5ZWUw
OGYzODFkMWM2NzFlYWU0Y2VlNmJiYjRmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC0xNzIsOSArMTcyLDkgQEAgU3RyaW5nIFJl
bmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiAgICAgcmV0
dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIAotU3RyaW5n
IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5n
LCAzPiBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKCkKIHsKLSAgICBy
ZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6ZW9mKG1lZGlh
Q29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCkpOworICAgIHJldHVybiB7IFN0cmluZyhtZWRpYUNv
bnRyb2xzQWR3YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFT
Y3JpcHQpKSB9OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUFkd2FpdGEuaAppbmRleCAwNTdhODM0YmFjYjIyOGU0OTk2Y2FmNGY5YTU2ZTQ0MGY0
N2I3ZjJkLi5lMDAyODY4ZWU3Zjc1ZDhmYzcwODBlZTYzZDgxZjMwYTA3YWM2NWFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCkBAIC0zNyw3ICsz
Nyw3IEBAIGNsYXNzIFJlbmRlclRoZW1lQWR3YWl0YSA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiAg
ICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSBmaW5hbDsKICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKLSAg
ICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxTdHJpbmcs
IDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgZmluYWw7CiAjZW5kaWYKIAogICAgIGJvb2wgc3Vw
cG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXggZDg0YjVk
YTRhMGIzZWY3ZGNmMTIxNDI5NTdiN2QxNDRiMTk4ZmFhMi4uODkyZWQzZDdlMTcwOGZjMTk5ZGMx
NzU4YTUyNTk4M2ZkMTg4YmRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUlPUyBmaW5hbCA6
IHB1YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgU3RyaW5n
IG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1vZGVybk1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJv
bHNTY3JpcHQoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xz
U2NyaXB0cygpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5n
Rm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRl
OwogI2VuZGlmCiAKQEAgLTE5MSw3ICsxOTEsOSBAQCBjbGFzcyBSZW5kZXJUaGVtZUlPUyBmaW5h
bCA6IHB1YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICAgICBDb2xvciBzeXN0ZW1Db2xvcihDU1NW
YWx1ZUlELCBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IG92ZXJyaWRlOwog
CiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9t
ZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdDsKICAgICBTdHJpbmcgbV9tZWRpYUNv
bnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
OwogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIFN0cmlu
ZyBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW0KaW5kZXggZTQ4NTAzMGVkYjc2Y2RkMWU2NTdhMzA3ZmYzOGViMzJh
NWEzNzRlYy4uODM2MDc5MDhiNjQ0ODZlZGFkNmEyNWE5MDA3ZTgyZWZmMTNhZjJkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtMTI3NiwyNiArMTI3
NiwzMSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNo
ZWV0KCkKIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2xlZ2Fj
eU1lZGlhQ29udHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlh
Q29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAg
ICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9t
ZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAg
IG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsK
ICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiB9
CiAKLVN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8
U3RyaW5nLCAzPiBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewogICAg
IGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkKCkpIHsKICAgICAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5p
c0VtcHR5KCkpIHsKICAgICAgICAgICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVu
ZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOwogCi0gICAgICAg
ICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7Ci0gICAgICAgICAgICBzY3JpcHRCdWls
ZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0
aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzIiBv
ZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOwot
ICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250
ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9s
cyIgb2ZUeXBlOkAianMiIGluRGlyZWN0b3J5OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIl0gZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CisgICAgICAgICAgICAvLyBG
SVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBzY3JpcHQuIFdl
IHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAgICAgICBtX21l
ZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhD
b250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250
cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0
ID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChNb2Rlcm5NZWRpYUNvbnRyb2xz
SmF2YVNjcmlwdCwgc2l6ZW9mKE1vZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0KSk7CiAjaWYg
ZGVmaW5lZChSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KQotICAg
ICAgICAgICAgUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdAorICAg
ICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCA9IFN0cmluZyhSZW5kZXJU
aGVtZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsKICNlbmRpZgotICAgICAgICAg
ICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgICAgIHJl
dHVybiB7CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0
LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRp
YUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsKICAgICB9CiAKICAgICBpZiAo
bV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMTMwOCw3ICsxMzEz
LDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKIAogICAg
ICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVyLnRvU3RyaW5n
KCk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAg
cmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAKIFN0cmluZyBSZW5k
ZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShj
b25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCA2MTFkY2VkYzEyMDBiZjRhYWQ1
MjMwYzAxZDM5Zjg4NjEzYzkyMWFkLi44MDc1MDQzM2VlZWIyNDk4MjRmMTZhMmI0NDk3MTQzNmZl
M2Y0ZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAt
MTA4LDcgKzEwOCw3IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZpbmFsIDogcHVibGljIFJlbmRl
clRoZW1lQ29jb2EgewogICAgIC8vIE1lZGlhIGNvbnRyb2xzCiAgICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7CiAgICAgU3RyaW5nIG1vZGVybk1lZGlhQ29udHJvbHNT
dHlsZVNoZWV0KCkgZmluYWw7Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQoKSBmaW5h
bDsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIGZpbmFsOwog
ICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogI2VuZGlmCiAKQEAgLTIzOCw3ICsy
MzgsOSBAQCBjbGFzcyBSZW5kZXJUaGVtZU1hYyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZUNv
Y29hIHsKICAgICBSZXRhaW5QdHI8V2ViQ29yZVJlbmRlclRoZW1lTm90aWZpY2F0aW9uT2JzZXJ2
ZXI+IG1fbm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNv
bnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdz
U2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1f
bWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFD
b250cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGYx
NTRiNWY1YTNkNzNlNTA3ODE3Y2I5MGI2ODg5ZjEwNWU3NWQzNzMuLmU1MDNhY2IxODc3NDBjYTBj
YTM5MzQ2YjBiMmMxMTFlOGI2N2I2ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KQEAgLTMxNiwyOCArMzE2LDMzIEBAIFN0cmluZyBSZW5kZXJUaGVtZU1h
Yzo6bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJUaGVtZU1hYzo6
cHVyZ2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5jbGVhcklt
cGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3Jp
cHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQuY2xl
YXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVT
aGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIAogICAgIFJlbmRlclRoZW1lOjpwdXJnZUNhY2hl
cygpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQor
VmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHRzKCkK
IHsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb2Rl
cm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNT
Y3JpcHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVu
ZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKIAot
ICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwotICAgICAgICAgICAgc2Ny
aXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVu
ZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3Ry
aW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpu
aWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdX
aXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEt
Y29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVybi1tZWRpYS1jb250cm9s
cyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICAg
ICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2Ny
aXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0ZWFkLgorICAgICAgICAg
ICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJp
bmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVk
aWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNV
VEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9s
c1NjcmlwdCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoTW9kZXJuTWVkaWFD
b250cm9sc0phdmFTY3JpcHQsIHNpemVvZihNb2Rlcm5NZWRpYUNvbnRyb2xzSmF2YVNjcmlwdCkp
OwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVNYWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1Njcmlw
dCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3Jp
cHQKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQgPSBTdHJpbmco
UmVuZGVyVGhlbWVNYWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdCk7CiAjZW5kaWYKLSAg
ICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmco
KTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0OworICAg
ICAgICByZXR1cm4geworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5n
c1NjcmlwdCwKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCwKKyAgICAgICAgICAg
IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQsCisgICAgICAgIH07CiAgICAgfQogCiAg
ICAgaWYgKG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKQEAgLTM0Niw3
ICszNTEsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQog
ICAgICAgICBOU1N0cmluZyAqc2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09m
RmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBl
OkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOwogICAgICAg
ICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgPSBtYWtlU3RyaW5nKFN0cmluZyB7IGxvY2Fs
aXplZFN0cmluZ3MgfSwgU3RyaW5nIHsgc2NyaXB0IH0pOwogICAgIH0KLSAgICByZXR1cm4gbV9s
ZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIHJldHVybiB7IG1fbGVnYWN5TWVkaWFDb250
cm9sc1NjcmlwdCB9OwogfQogCiBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNC
YXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiBpY29uTmFtZSwgY29u
c3QgU3RyaW5nJiBpY29uVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uY3BwCmluZGV4IGQ5NzYzMDRmOGJkNzVhN2Q3YjU3YjhmYjk1MDEzZGFmNjQ2YjQxNWUu
LmQwZmQyYTZhMzEyNDk4MTRiNDBkMDJlNWQyNGM1OTM4NzgzYjhkOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMTA3OSw3ICsxMDc5LDcgQEAg
U3RyaW5nIFJlbmRlclRoZW1lV2luOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiAjZW5kaWYK
IH0KIAotU3RyaW5nIFJlbmRlclRoZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3Rv
cjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7CiAj
aWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKICAgICBpZiAobV9tZWRpYUNvbnRyb2xz
U2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMTA4OCw5ICsxMDg4LDkgQEAgU3RyaW5nIFJlbmRlclRo
ZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBl
bmQoc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlKCJtZWRpYUNvbnRyb2xzQXBwbGUiX3MsICJqcyJf
cykpOwogICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVyLnRvU3Ry
aW5nKCk7CiAgICAgfQotICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgcmV0
dXJuIHsgbV9tZWRpYUNvbnRyb2xzU2NyaXB0IH07CiAjZWxzZQotICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworICAgIHJldHVybiB7IH07CiAjZW5kaWYKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaAppbmRleCAyNTc4OTQzMzdhOWMzOTcyNmYyYWU5
NDMyYjE0YTRjYmM4MzFmNTkwLi42ZDE3YWZkODNhYjYzZmRhZmM4ZmExODgxM2NiMzM3MzdjNWEx
MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaApAQCAtMTIx
LDcgKzEyMSw3IEBAIGNsYXNzIFJlbmRlclRoZW1lV2luIGZpbmFsIDogcHVibGljIFJlbmRlclRo
ZW1lIHsKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxl
U2hlZXQoKSBvdmVycmlkZTsKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJy
aWRlOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgb3ZlcnJp
ZGU7CiAjZW5kaWYKIAogICAgIEludFNpemUgbWV0ZXJTaXplRm9yQm91bmRzKGNvbnN0IFJlbmRl
ck1ldGVyJiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423522</attachid>
            <date>2021-03-17 13:26:02 -0700</date>
            <delta_ts>2021-03-17 16:40:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317132601.patch</filename>
            <type>text/plain</type>
            <size>39295</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzU0NWJlZjY0Njk0NDA3YmIyZDgxNGIwMGNmYTg0YzcyZDdjYTllLi4zYzdiOTZmMWMyMzhkZTc5
OTQ4MTBlMGRkMWQ0NzNiNTQ1YmU2M2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBh
bGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIC0tZmFpbC1pZi1ub24tYXNjaWkgZmxhZyB0byBlbnN1cmUgdGhhdCBpbnB1
dCBmaWxlcyBkbyBub3QgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycy4KKworICAgICAgICAq
IFNjcmlwdHMvbWFrZS1qcy1maWxlLWFycmF5cy5weToKKyAgICAgICAgKG1haW4pOgorCiAyMDIx
LTAzLTE3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBbV2ViSURMXSBGaXggY29udmVydFJlY29yZCgpIHRvIHRocm93IG9uIGVudW1lcmFibGUgc3lt
Ym9sIHxrZXl8CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJiNWIxMTgwM2NkM2Q4ZDNiNDU0ZWEzYTA0OTgwYWQw
NzAxMThkMy4uNmI5N2JhNWNkM2UzOWRmMzM0OTY1ZTM5NzAzNmZmNzIzNWVkYzEwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTAzLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CisKKyAgICAgICAgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdCBzaG91
bGQgbm90IGJlIGFsbG9jYXRlZCBpbiBoZWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMzMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3ZSBhcmUgY29uY2F0ZW5hdGluZyBzZXZl
cmFsIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHRzIGludG8gb25lLgorICAgICAgICBCdXQg
dGhpcyBjYXVzZXMgc2lnbmlmaWNhbnQgbWVtb3J5IG92ZXJoZWFkICh+NjAwS0IpLiBVc2luZyBO
U0J1bmRsZSdzIGRhdGEgc3RpbGwKKyAgICAgICAgYWxsb2NhdGVzIG1lbW9yeSBzaW5jZSBXVEY6
OlN0cmluZyhDRlN0cmluZykgYWxsb2NhdGVzIGhlYXAgbWVtb3J5LgorCisgICAgICAgIExldCdz
IHVzZSBleGlzdGluZyBtZWNoYW5pc20gZGVzaWduZWQgZm9yIHRoaXMgcHVycG9zZS4gV2Ugc2Vy
aWFsaXplIG1vZGVybi1tZWRpYS1jb250cm9scy5qcyBpbnRvIGNvbnN0IEMgYXJyYXkgaW4KKyAg
ICAgICAgVXNlckFnZW50U2NyaXB0RGF0YS5jcHAuIFVzZXJBZ2VudFNjcmlwdCBpcyBhIG1lY2hh
bmlzbSBmb3IgaGF2aW5nIHVzZXItYWdlbnQgc3BlY2lmaWMgc2NyaXB0IHNvdXJjZSwgYW5kIHRo
aXMgbWF0Y2hlcworICAgICAgICB0byBvdXIgcHVycG9zZS4gKGZvciBleGFtcGxlLCBVc2VyQWdl
bnRTdHlsZVNoZWV0cyAoQ1NTIHZlcnNpb24gb2YgdGhhdCkgaGF2ZSBodG1sLmNzcyBldGMuKS4K
KworICAgICAgICBXZSBhbHNvIF9fSW5qZWN0ZWRTY3JpcHRfKi5qcyBuYW1lIGZvciB0aGVzZSBN
b2Rlcm5NZWRpYUNvbnRyb2xzLmpzIHNjcmlwdHMgd2hpbGUgdGhpcyBpcyBub3QgZGlyZWN0bHkg
cmVsYXRlZCB0byB0aGUKKyAgICAgICAgaGVhcCB1c2FnZSByZWR1Y3Rpb24gb2YgdGhpcyBwYXRj
aC4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgbm90IGRvIHRoZSBzYW1lIHRoaW5nIGZvciBD
U1Mgb2YgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNpbmNlIHRoaXMgcGF0Y2gncyBmb2N1cyBpcyBz
Y3JpcHQgZmlsZXMgZmlyc3QuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvanMtZmlsZXM6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6cXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnRTY3JpcHQpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0lu
amVjdGVkU2NyaXB0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwdXJnZUNhY2hl
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1Njcmlw
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3Jp
cHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6
bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46
Om1lZGlhQ29udHJvbHNTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5oOgorCiAyMDIxLTAzLTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBkb24ndCB1c2UgcmF3IHVuaWNvZGUgY2hhcmFjdGVycyBpbiBtb2Rl
cm4gbWVkaWEgY29udHJvbHMgSlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
Y3JpcHRzL21ha2UtanMtZmlsZS1hcnJheXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cy9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5CmluZGV4IGQ5ZmZiNjAyZTM1ZTg0MTM0OTdhOTE4
MmNkZWVkZTBiNmMxNDg3YmYuLjcyODkzMzUwMDAzYzFkODMxZTRmNzNlYjFkMzY0OWExNDU0ODc2
M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL21ha2UtanMtZmls
ZS1hcnJheXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1qcy1m
aWxlLWFycmF5cy5weQpAQCAtNDUsNiArNDUsNyBAQCBkZWYgY2h1bmsobGlzdCwgY2h1bmtTaXpl
KToKIGRlZiBtYWluKCk6CiAgICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTog
JXByb2cgW29wdGlvbnNdIGhlYWRlciBzb3VyY2UgW2lucHV0IFtpbnB1dC4uLl1dIikKICAgICBw
YXJzZXIuYWRkX29wdGlvbignLS1uby1taW5pZnknLCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxw
PSdEbyBub3QgcnVuIHRoZSBpbnB1dCBmaWxlcyB0aHJvdWdoIGpzbWluJykKKyAgICBwYXJzZXIu
YWRkX29wdGlvbignLS1mYWlsLWlmLW5vbi1hc2NpaScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhl
bHA9J0ZhaWwgaWYgdGhlIGlucHV0IGZpbGVzIGluY2x1ZGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMn
KQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCctbicsICctLW5hbWVzcGFjZScsIGhlbHA9J05hbWVz
cGFjZSB0byB1c2UnKQogICAgIChvcHRpb25zLCBhcmd1bWVudHMpID0gcGFyc2VyLnBhcnNlX2Fy
Z3MoKQogICAgIGlmIG5vdCBvcHRpb25zLm5hbWVzcGFjZToKQEAgLTgyLDYgKzgzLDExIEBAIGRl
ZiBtYWluKCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBjaGFyYWN0ZXJzID0gZGF0YQog
CisgICAgICAgIGlmIG9wdGlvbnMuZmFpbF9pZl9ub25fYXNjaWk6CisgICAgICAgICAgICBmb3Ig
Y2hhcmFjdGVyIGluIGNoYXJhY3RlcnM6CisgICAgICAgICAgICAgICAgaWYgb3JkKGNoYXJhY3Rl
cikgPj0gMTI4OgorICAgICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVzIGlzIG5v
dCBBU0NJSSIgJSBjaGFyYWN0ZXIpCisKICAgICAgICAgaWYgaXNfMzoKICAgICAgICAgICAgIGNv
ZGVwb2ludHMgPSBieXRlYXJyYXkoY2hhcmFjdGVycywgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAg
ICAgZWxzZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CmluZGV4IGFkOWU5NjY3ZjBhNjg2YjE2OTVjNzA4ZmEwODg1MTUzNDAzY2FlMmIuLjdkMzc4
MDcwODBmOGNhNzliZWUyNmVlMjA3NGY5YjE1NjUzY2E0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMjY0LDYgKzI2NCw3MSBAQCAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWlycGxh
eS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL2FpcnBsYXktcGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYXV0by1oaWRlLWNvbnRyb2xsZXIuanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91
bmQtY2xpY2stZGVsZWdhdGUtbm90aWZpZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91bmQtdGludC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9uLmpzCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0
b25zLWNvbnRhaW5lci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvY29udHJvbHMtYmFyLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mb3J3YXJkLWJ1dHRvbi5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvZnVsbHNjcmVlbi1i
dXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2ljb24tc2VydmljZS5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbnZhbGlkLXBsYWNh
cmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1pdGVtLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
bWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRy
b2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvbXV0ZS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcGlwLWJ1
dHRvbi5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvcGlwLXBsYWNhcmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3BsYWNhcmQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYXktcGF1c2UtYnV0dG9uLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9yZXdpbmQtYnV0
dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9zY2hlZHVsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NlZWstYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9za2lwLWJhY2stYnV0dG9uLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9za2lwLWZvcndh
cmQtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9zbGlkZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3N0YXR1cy1sYWJlbC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvdGltZS1jb250cm9sLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWxhYmVs
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy90cmFja3MtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy93YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvd2F0Y2hvcy1tZWRp
YS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvZ2VzdHVyZS1yZWNvZ25pemVycy9nZXN0dXJlLXJlY29nbml6ZXIuanMKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2dlc3R1cmUtcmVjb2duaXplcnMvcGlu
Y2guanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2dlc3R1
cmUtcmVjb2duaXplcnMvdGFwLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9tYWluLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS9haXJwbGF5LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2F1ZGlvLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxp
dHktc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNv
bnRyb2xsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xsZXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL211dGUtc3VwcG9ydC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ctc3VwcG9y
dC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
cGlwLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL3BsYWNhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEvcGxheWJhY2stc3VwcG9ydC5qcworJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2NydWJiaW5nLXN1cHBvcnQu
anMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3Nl
ZWstYmFja3dhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvc2Vlay1mb3J3YXJkLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstc3VwcG9ydC5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1iYWNr
LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL3NraXAtZm9yd2FyZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGFydC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGF0dXMtc3VwcG9ydC5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvdGltZS1j
b250cm9sLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3RyYWNrcy1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS92b2x1bWUtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvd2F0Y2hvcy1tZWRpYS1jb250
cm9scy1zdXBwb3J0LmpzCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBhNjRlN2U3OWNhYzM1NmMy
ZDM3MmNhZmRiZjVhM2E5M2JlMDk4MDFjLi40MDVhZTdlM2UwMjIwMGVkOWZkNTA0OTc2ODRkZDc0
MjA1YTE1ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtMjY1NCw2ICsyNjU0LDcgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVudEZhY3RvcnkuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVudFR5cGVIZWxwZXJz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5h
bWVzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0
aE1MTmFtZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
TW9kZXJuTWVkaWFDb250cm9scy5qcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMuaWRsCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9QbHVnSW5zUmVzb3VyY2Vz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1JUQ1BlZXJD
b25uZWN0aW9uQnVpbHRpbnMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNTYw
YjhiN2FhMDU3ZjUyODQyYmU1M2QwMzhkMGY0ZjUyNDgzMzlhOS4uNzViNDY4OGFhNzc4MDIyMDlk
NWExMTliMTZlZjY2NTE2ZWU1MDA4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xNTQzLDkgKzE1NDMsODcgQEAgVXNlckFnZW50U3R5bGVTaGVldHMuaCA6ICQoV2ViQ29yZSkv
Y3NzL21ha2UtY3NzLWZpbGUtYXJyYXlzLnBsICQoV2ViQ29yZSkvYmluZGkKIAogIyAtLS0tLS0t
LQogCisjIG1vZGVybiBtZWRpYSBjb250cm9scworCitNT0RFUk5fTUVESUFfQ09OVFJPTFNfU0NS
SVBUUyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
aW4uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2Vz
dHVyZS1yZWNvZ25pemVycy9nZXN0dXJlLXJlY29nbml6ZXIuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVycy90YXAuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1y
ZWNvZ25pemVycy9waW5jaC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9zY2hlZHVsZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0
ZW0uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaWNvbi1zZXJ2aWNlLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91bmQtdGludC5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
dGltZS1sYWJlbC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9zbGlkZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYXktcGF1c2UtYnV0dG9uLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Nr
aXAtYmFjay1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvc2tpcC1mb3J3YXJkLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tdXRlLWJ1dHRvbi5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9h
aXJwbGF5LWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9waXAtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RyYWNrcy1idXR0b24uanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvZnVsbHNjcmVl
bi1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvc2Vlay1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcmV3aW5kLWJ1dHRvbi5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mb3J3YXJkLWJ1dHRv
bi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9vdmVyZmxvdy1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIuanMgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc3RhdHVzLWxhYmVs
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL2NvbnRyb2xzLWJhci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9s
cy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9iYWNrZ3JvdW5kLWNsaWNrLWRlbGVnYXRlLW5vdGlmaWVyLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1j
b250cm9scy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlubGluZS1tZWRp
YS1jb250cm9scy5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BsYWNhcmQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvYWlycGxheS1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ludmFsaWQtcGxhY2FyZC5qcyBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtcGxhY2FyZC5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93
YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlh
LWNvbnRyb2xsZXItc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS9haXJwbGF5LXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvYXVkaW8tc3VwcG9ydC5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9jb250cm9s
cy12aXNpYmlsaXR5LXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL211dGUtc3VwcG9ydC5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVy
Zmxvdy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3BpcC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3BsYWNhcmQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9wbGF5YmFjay1zdXBwb3J0
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L3NjcnViYmluZy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zZWVrLWJhY2t3YXJkLXN1cHBvcnQuanMg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vl
ay1mb3J3YXJkLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvc2tpcC1iYWNrLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1mb3J3YXJkLXN1cHBvcnQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
c3RhcnQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS9zdGF0dXMtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90aW1lLWNvbnRyb2wtc3VwcG9ydC5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90cmFja3Mt
c3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS92b2x1bWUtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1kb2N1bWVudC1jb250cm9sbGVyLmpzIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3dhdGNob3Mt
bWVkaWEtY29udHJvbHMtc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLmpzIFwKKyMKKworYWxsIDog
TW9kZXJuTWVkaWFDb250cm9scy5qcworCitNb2Rlcm5NZWRpYUNvbnRyb2xzLmpzIDogJChNT0RF
Uk5fTUVESUFfQ09OVFJPTFNfU0NSSVBUUykKKwljYXQgJD8gPiBNb2Rlcm5NZWRpYUNvbnRyb2xz
LmpzCisKICMgdXNlciBhZ2VudCBzY3JpcHRzCiAKLVVTRVJfQUdFTlRfU0NSSVBUUyA9ICQoV2Vi
Q29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmpzCitVU0VS
X0FHRU5UX1NDUklQVFMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQuanMgXAorICAgIE1vZGVybk1lZGlhQ29udHJvbHMuanMgXAor
IwogCiBVU0VSX0FHRU5UX1NDUklQVFNfRklMRVMgPSBcCiAgICAgVXNlckFnZW50U2NyaXB0cy5o
IFwKQEAgLTE1NTYsNyArMTYzNCw3IEBAIFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFU19QQVRURVJO
UyA9ICQoc3Vic3QgLiwlLCQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTKSkKIGFsbCA6ICQoVVNF
Ul9BR0VOVF9TQ1JJUFRTX0ZJTEVTKQogCiAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFU19QQVRU
RVJOUykgOiAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlz
LnB5ICQoVVNFUl9BR0VOVF9TQ1JJUFRTKQotCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlX1ND
UklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5IC1uIFdlYkNvcmUgJChVU0VSX0FHRU5U
X1NDUklQVFNfRklMRVMpICQoVVNFUl9BR0VOVF9TQ1JJUFRTKQorCSQoUFlUSE9OKSAkKEphdmFT
Y3JpcHRDb3JlX1NDUklQVFNfRElSKS9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5IC1uIFdlYkNvcmUg
LS1mYWlsLWlmLW5vbi1hc2NpaSAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxFUykgJChVU0VSX0FH
RU5UX1NDUklQVFMpCiAKICMgLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvanMtZmlsZXMgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9qcy1maWxlcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmE3ODMwYWEwNDU4MzMwMjg1YWViM2NhMDc3YzM5OWVhZTlhMWJmMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9qcy1maWxlcworKysgL2Rldi9udWxsCkBA
IC0xLDY1ICswLDAgQEAKLW1haW4uanMKLWdlc3R1cmUtcmVjb2duaXplcnMvZ2VzdHVyZS1yZWNv
Z25pemVyLmpzCi1nZXN0dXJlLXJlY29nbml6ZXJzL3RhcC5qcwotZ2VzdHVyZS1yZWNvZ25pemVy
cy9waW5jaC5qcwotY29udHJvbHMvc2NoZWR1bGVyLmpzCi1jb250cm9scy9sYXlvdXQtbm9kZS5q
cwotY29udHJvbHMvbGF5b3V0LWl0ZW0uanMKLWNvbnRyb2xzL2ljb24tc2VydmljZS5qcwotY29u
dHJvbHMvYmFja2dyb3VuZC10aW50LmpzCi1jb250cm9scy90aW1lLWNvbnRyb2wuanMKLWNvbnRy
b2xzL3RpbWUtbGFiZWwuanMKLWNvbnRyb2xzL3NsaWRlci5qcwotY29udHJvbHMvYnV0dG9uLmpz
Ci1jb250cm9scy9wbGF5LXBhdXNlLWJ1dHRvbi5qcwotY29udHJvbHMvc2tpcC1iYWNrLWJ1dHRv
bi5qcwotY29udHJvbHMvc2tpcC1mb3J3YXJkLWJ1dHRvbi5qcwotY29udHJvbHMvbXV0ZS1idXR0
b24uanMKLWNvbnRyb2xzL2FpcnBsYXktYnV0dG9uLmpzCi1jb250cm9scy9waXAtYnV0dG9uLmpz
Ci1jb250cm9scy90cmFja3MtYnV0dG9uLmpzCi1jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5q
cwotY29udHJvbHMvc2Vlay1idXR0b24uanMKLWNvbnRyb2xzL3Jld2luZC1idXR0b24uanMKLWNv
bnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzCi1jb250cm9scy9vdmVyZmxvdy1idXR0b24uanMKLWNv
bnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmpzCi1jb250cm9scy9zdGF0dXMtbGFiZWwuanMKLWNv
bnRyb2xzL2NvbnRyb2xzLWJhci5qcwotY29udHJvbHMvYXV0by1oaWRlLWNvbnRyb2xsZXIuanMK
LWNvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzCi1jb250cm9scy9iYWNrZ3JvdW5kLWNsaWNrLWRl
bGVnYXRlLW5vdGlmaWVyLmpzCi1jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKLWNv
bnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKLWNvbnRyb2xzL21hY29zLWlubGlu
ZS1tZWRpYS1jb250cm9scy5qcwotY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy5qcwotY29udHJvbHMvcGxhY2FyZC5qcwotY29udHJvbHMvYWlycGxheS1wbGFjYXJkLmpz
Ci1jb250cm9scy9pbnZhbGlkLXBsYWNhcmQuanMKLWNvbnRyb2xzL3BpcC1wbGFjYXJkLmpzCi1j
b250cm9scy93YXRjaG9zLWFjdGl2aXR5LWluZGljYXRvci5qcwotY29udHJvbHMvd2F0Y2hvcy1t
ZWRpYS1jb250cm9scy5qcwotbWVkaWEvbWVkaWEtY29udHJvbGxlci1zdXBwb3J0LmpzCi1tZWRp
YS9haXJwbGF5LXN1cHBvcnQuanMKLW1lZGlhL2F1ZGlvLXN1cHBvcnQuanMKLW1lZGlhL2NvbnRy
b2xzLXZpc2liaWxpdHktc3VwcG9ydC5qcwotbWVkaWEvZnVsbHNjcmVlbi1zdXBwb3J0LmpzCi1t
ZWRpYS9tdXRlLXN1cHBvcnQuanMKLW1lZGlhL292ZXJmbG93LXN1cHBvcnQuanMKLW1lZGlhL3Bp
cC1zdXBwb3J0LmpzCi1tZWRpYS9wbGFjYXJkLXN1cHBvcnQuanMKLW1lZGlhL3BsYXliYWNrLXN1
cHBvcnQuanMKLW1lZGlhL3NjcnViYmluZy1zdXBwb3J0LmpzCi1tZWRpYS9zZWVrLXN1cHBvcnQu
anMKLW1lZGlhL3NlZWstYmFja3dhcmQtc3VwcG9ydC5qcwotbWVkaWEvc2Vlay1mb3J3YXJkLXN1
cHBvcnQuanMKLW1lZGlhL3NraXAtYmFjay1zdXBwb3J0LmpzCi1tZWRpYS9za2lwLWZvcndhcmQt
c3VwcG9ydC5qcwotbWVkaWEvc3RhcnQtc3VwcG9ydC5qcwotbWVkaWEvc3RhdHVzLXN1cHBvcnQu
anMKLW1lZGlhL3RpbWUtY29udHJvbC1zdXBwb3J0LmpzCi1tZWRpYS90cmFja3Mtc3VwcG9ydC5q
cwotbWVkaWEvdm9sdW1lLXN1cHBvcnQuanMKLW1lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xs
ZXIuanMKLW1lZGlhL3dhdGNob3MtbWVkaWEtY29udHJvbHMtc3VwcG9ydC5qcwotbWVkaWEvbWVk
aWEtY29udHJvbGxlci5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVn
aW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCmluZGV4IDE2ZTJmMjM0NjQ5
NDVhMGY0NjIwMGNkNzc1YTQ5NDY4ZmYxYWI4Y2QuLmVlODlmNjBmNTA1ZDUwN2Q0MGMwYzhiNzVm
NzZiYjQxNGY3ZDk2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lu
cy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KQEAgLTY3LDcgKzY3LDcg
QEAgc3RhdGljIEpTVmFsdWUgKmpzVmFsdWVXaXRoQVZNZXRhZGF0YUl0ZW1JbkNvbnRleHQoQVZN
ZXRhZGF0YUl0ZW0gKiwgSlNDb250ZXh0ICoKIAogc3RhdGljIFN0cmluZyBxdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudFNjcmlwdCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmlu
Zz4gc2NyaXB0KFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCwgc2l6ZW9mKFF1
aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCkpOworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxTdHJpbmc+IHNjcmlwdChTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBs
KFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCwgc2l6ZW9mKFF1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50SmF2YVNjcmlwdCkpKTsKICAgICByZXR1cm4gc2NyaXB0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDRkNjYyMDVmNTlmYWJmMDQ1YzgwN2Q3NDhlYjE3NDBiZWExMmMxYS4uMGM4OWFiYzE0MzA3
YzI2MWM1MDkwMDAzMjcwZTdmMTBjZjViZDMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAwMzIsNyArMTAwMzIsNiBAQAog
CQk3MTNGMUQ1QjIzREYyNTYwMDAzRjVFRkEgLyogSlNHZXRBbmltYXRpb25zT3B0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dldEFuaW1hdGlvbnNPcHRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxM0YxRDVDMjNERjI1NjAwMDNGNUVGQSAv
KiBKU0dldEFuaW1hdGlvbnNPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3MTQxMzE0NzFEQzlENkFGMDAzMzYxMDcgLyogZnVsbHNjcmVlbi1zdXBwb3J0
LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gImZ1bGxzY3JlZW4t
c3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTcxNDEzMTQ4MURDOUQ2
RUYwMDMzNjEwNyAvKiBqcy1maWxlcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAianMtZmlsZXMi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTQ5NUREODIwMkIwNkRDMDBBREZEMzQg
LyogSlNFZmZlY3RUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNFZmZlY3RUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTQ5
NUREQTIwMkIwNkRFMDBBREZEMzQgLyogSlNFZmZlY3RUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNFZmZlY3RUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzE0QzdDNjAxRkRBRDI3OTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQW5pbWF0aW9uUGxh
eWJhY2tFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjczNyw3ICsy
MjczNiw2IEBACiAJCQkJNzE2RkEwRDcxREIyNjU5MTAwNzMyM0NDIC8qIGNvbnRyb2xzICovLAog
CQkJCTJEOEQzQkVBMjM4NDdBQzgwMDY1NzA3NSAvKiBnZXN0dXJlLXJlY29nbml6ZXJzICovLAog
CQkJCTcxRDZBQTZGMURBNEVBRjcwMEIyMzk2OSAvKiBpbWFnZXMgKi8sCi0JCQkJNzE0MTMxNDgx
REM5RDZFRjAwMzM2MTA3IC8qIGpzLWZpbGVzICovLAogCQkJCTcxRDAyRDkxMURCNTVDNEUwMERE
NUNGNSAvKiBtZWRpYSAqLywKIAkJCQk3MUQwMkQ5MDFEQjU1QzRFMDBERDVDRjUgLyogbWFpbi5q
cyAqLywKIAkJCSk7CkBAIC0zNjA4MSw3ICszNjA3OSw3IEBACiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwot
CQkJc2hlbGxTY3JpcHQgPSAiU1JDX0RJUj1cIiRTUkNST09UL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzXCJcbkRTVF9ESVI9XCIkQlVJTFRfUFJPRFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9S
RVNPVVJDRVNfRk9MREVSX1BBVEgvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcblxubWtkaXIgLXAg
XCIkRFNUX0RJUlwiXG5cbmlmIFsgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgPT0gXCJtYWNvc3hc
IiBdOyB0aGVuXG4gICAgSU1HX09TX1BSRUZJWD1cIm1hY09TXCJcbmVsc2VcbiAgICBpZiBbWyBc
IiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSAqXCJ3YXRjaFwiKiBdXTsgdGhlblxuICAgICAgICBJ
TUdfT1NfUFJFRklYPVwid2F0Y2hPU1wiXG4gICAgZWxzZVxuICAgICAgICBJTUdfT1NfUFJFRklY
PVwiaU9TXCJcbiAgICBmaVxuZmlcblxuaWYgWyAtbiBcIiRJTUdfT1NfUFJFRklYXCIgXTsgdGhl
blxucnN5bmMgLWFxIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBc
IiRTUkNfRElSL2ltYWdlcy8kSU1HX09TX1BSRUZJWC9cIiBcIiREU1RfRElSL2ltYWdlc1wiXG5m
aVxuXG5jZCBcIiRTUkNfRElSXCJcbmNhdCBjb250cm9scy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBl
ICdzey9cXCouKj9cXCovfXt9Z3MnID4gXCIkRFNUX0RJUi9tb2Rlcm4tbWVkaWEtY29udHJvbHMu
Y3NzXCJcbmNhdCBgY2F0IGpzLWZpbGVzYCB8IHBlcmwgLTA3NzcgLXBlICdzey9cXCouKj9cXCov
fXt9Z3MnID4gXCIkRFNUX0RJUi9tb2Rlcm4tbWVkaWEtY29udHJvbHMuanNcIlxuIjsKKwkJCXNo
ZWxsU2NyaXB0ID0gIlNSQ19ESVI9XCIkU1JDUk9PVC9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9sc1wiXG5EU1RfRElSPVwiJEJVSUxUX1BST0RVQ1RTX0RJUi8kVU5MT0NBTElaRURfUkVTT1VS
Q0VTX0ZPTERFUl9QQVRIL21vZGVybi1tZWRpYS1jb250cm9sc1wiXG5cbm1rZGlyIC1wIFwiJERT
VF9ESVJcIlxuXG5pZiBbIFwiJHtXS19QTEFURk9STV9OQU1FfVwiID09IFwibWFjb3N4XCIgXTsg
dGhlblxuICAgIElNR19PU19QUkVGSVg9XCJtYWNPU1wiXG5lbHNlXG4gICAgaWYgW1sgXCIke1dL
X1BMQVRGT1JNX05BTUV9XCIgPT0gKlwid2F0Y2hcIiogXV07IHRoZW5cbiAgICAgICAgSU1HX09T
X1BSRUZJWD1cIndhdGNoT1NcIlxuICAgIGVsc2VcbiAgICAgICAgSU1HX09TX1BSRUZJWD1cImlP
U1wiXG4gICAgZmlcbmZpXG5cbmlmIFsgLW4gXCIkSU1HX09TX1BSRUZJWFwiIF07IHRoZW5cbnJz
eW5jIC1hcSAtLWV4Y2x1ZGUgXCIuc3ZuXCIgLS1leGNsdWRlIFwiLkRTX1N0b3JlXCIgXCIkU1JD
X0RJUi9pbWFnZXMvJElNR19PU19QUkVGSVgvXCIgXCIkRFNUX0RJUi9pbWFnZXNcIlxuZmlcblxu
Y2QgXCIkU1JDX0RJUlwiXG5jYXQgY29udHJvbHMvKi5jc3MgfCBwZXJsIC0wNzc3IC1wZSAnc3sv
XFwqLio/XFwqL317fWdzJyA+IFwiJERTVF9ESVIvbW9kZXJuLW1lZGlhLWNvbnRyb2xzLmNzc1wi
XG4iOwogCQl9OwogCQlBNUU3OUNFQzFFNjdGMkNGMDBGQjgxNTMgLyogTWFrZSBGcmFtZXdvcmtz
IFN5bWJvbGljIExpbmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA2YTU4ZjY0YzY3
MTljY2IwZGJhNmI3MGQ3Y2EyYzEzYzQ0NjU0NzQzLi4zMWQ5ZGYyYmJjM2EyYzAxYWFkMjQ1MjJj
Nzg0MzZiZGFlNDIxYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTcxNDgsMTEgKzcxNDgsMTEgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVN
ZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3JpcHQoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQgPSBSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkubWVkaWFDb250cm9sc1NjcmlwdCgpOwotICAgIGlmICghbWVkaWFDb250
cm9sc1NjcmlwdC5sZW5ndGgoKSkKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xz
U2NyaXB0cyA9IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0cygp
OworICAgIGlmICghbWVkaWFDb250cm9sc1NjcmlwdHMuc2l6ZSgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICByZXR1cm4gc2V0dXBBbmRDYWxsSlMoW21lZGlhQ29udHJvbHNTY3JpcHRd
KEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIFNjcmlwdENvbnRyb2xsZXImIHNjcmlwdENvbnRyb2xsZXIsIERP
TVdyYXBwZXJXb3JsZCYgd29ybGQpIHsKKyAgICByZXR1cm4gc2V0dXBBbmRDYWxsSlMoW21lZGlh
Q29udHJvbHNTY3JpcHRzID0gV1RGTW92ZShtZWRpYUNvbnRyb2xzU2NyaXB0cyldKEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIFNjcmlwdENvbnRyb2xsZXImIHNjcmlwdENvbnRyb2xsZXIsIERPTVdyYXBwZXJX
b3JsZCYgd29ybGQpIHsKICAgICAgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAg
ICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogCkBAIC03MTYwLDE2
ICs3MTYwLDE4IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0lu
amVjdGVkU2NyaXB0KCkKICAgICAgICAgaWYgKGZ1bmN0aW9uVmFsdWUuaXNDYWxsYWJsZSh2bSkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotI2lmICFkZWZpbmVkKE5ERUJVRykKLSAgICAg
ICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJjZSB0byBiZSBkZWJ1Z2dh
YmxlIGluIHRoZSBpbnNwZWN0b3IuCi0gICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCAi
bWVkaWFDb250cm9sc1NjcmlwdCJfcyk7Ci0jZWxzZQotICAgICAgICBVUkwgc2NyaXB0VVJMOwot
I2VuZGlmCi0gICAgICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdF
eGNlcHRpb24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNj
cmlwdFVSTCkpLCB3b3JsZCk7Ci0gICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24o
KSkpIHsKLSAgICAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgZm9yIChh
dXRvJiBtZWRpYUNvbnRyb2xzU2NyaXB0IDogbWVkaWFDb250cm9sc1NjcmlwdHMpIHsKKyAgICAg
ICAgICAgIGlmIChtZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIC8vIFNldHRpbmcgYSBzY3JpcHRVUkwgYWxsb3dzIHRo
ZSBzb3VyY2UgdG8gYmUgZGVidWdnYWJsZSBpbiB0aGUgaW5zcGVjdG9yLgorICAgICAgICAgICAg
VVJMIHNjcmlwdFVSTCA9IFVSTCh7IH0sIG1ha2VTdHJpbmcoIl9fSW5qZWN0ZWRTY3JpcHRfbWVk
aWFDb250cm9sc1NjcmlwdCJfcywgaW5kZXgsICIuanMiKSk7CisgICAgICAgICAgICBzY3JpcHRD
b250cm9sbGVyLmV2YWx1YXRlSW5Xb3JsZElnbm9yaW5nRXhjZXB0aW9uKFNjcmlwdFNvdXJjZUNv
ZGUobWVkaWFDb250cm9sc1NjcmlwdCwgV1RGTW92ZShzY3JpcHRVUkwpKSwgd29ybGQpOworICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICAgICAg
ICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgKytpbmRleDsKICAgICAgICAgfQogCiAgICAg
ICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRl
eCBiZGYzMTk3NzRlY2Y4NWNmMGU4ZDBkOTBiZTIxYzI4NzIzOGEzYjJmLi41ZGNlZDc4ZWVkMmIz
NjdlODY5NDhhZmMwNjg4YzUxZGMyMjMyZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaApAQCAtODcsNyArODcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZSB7CiAgICAgdmly
dHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsg
fQogICAgIHZpcnR1YWwgU3RyaW5nIG1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgeyBy
ZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNT
dHlsZVNoZWV0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZWRp
YUNvbnRyb2xzU2NyaXB0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFZlY3Rv
cjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgeyByZXR1cm4geyB9OyB9CiAgICAg
dmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlw
ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAg
IHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNGb3JtYXR0ZWRTdHJpbmdGb3JEdXJhdGlvbihk
b3VibGUpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAKaW5kZXggNjA0YWJiNmM2Y2NhOTJhZjJh
ZTlkYmQ2MDY2NzMwMmQ0YzM2MjE2ZS4uODBmZWE2ZjFiMjllZTA4ZjM4MWQxYzY3MWVhZTRjZWU2
YmJiNGY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
QWR3YWl0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAKQEAgLTE3Miw5ICsxNzIsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpl
eHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29u
dHJvbHNBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdh
aXRhVXNlckFnZW50U3R5bGVTaGVldCkpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRh
OjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3
YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiBTdHJpbmcobWVkaWFD
b250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZh
U2NyaXB0KSk7CisgICAgcmV0dXJuIHsgU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNj
cmlwdCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCkpIH07CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCmlu
ZGV4IDA1N2E4MzRiYWNiMjI4ZTQ5OTZjYWY0ZjlhNTZlNDQwZjQ3YjdmMmQuLmUwMDI4NjhlZTdm
NzVkOGZjNzA4MGVlNjNkODFmMzBhMDdhYzY1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUmVuZGVy
VGhlbWVBZHdhaXRhIDogcHVibGljIFJlbmRlclRoZW1lIHsKICAgICBTdHJpbmcgZXh0cmFEZWZh
dWx0U3R5bGVTaGVldCgpIGZpbmFsOwogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgZXh0
cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAgIFN0cmluZyBtZWRpYUNvbnRy
b2xzU2NyaXB0KCkgZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1Nj
cmlwdHMoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJl
bmRlclN0eWxlJikgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBkODRiNWRhNGEwYjNlZjdkY2YxMjE0Mjk1
N2I3ZDE0NGIxOThmYWEyLi44OTJlZDNkN2UxNzA4ZmMxOTlkYzE3NThhNTI1OTgzZmQxODhiZGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtMTU2LDcg
KzE1Niw3IEBAIGNsYXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1l
Q29jb2EgewogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxl
U2hlZXQoKSBvdmVycmlkZTsKICAgICBTdHJpbmcgbW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQoKSBvdmVycmlkZTsKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJyaWRl
OworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgb3ZlcnJpZGU7
CiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5cGUo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjZW5kaWYKIApAQCAtMTkx
LDcgKzE5MSw5IEBAIGNsYXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRo
ZW1lQ29jb2EgewogICAgIENvbG9yIHN5c3RlbUNvbG9yKENTU1ZhbHVlSUQsIE9wdGlvblNldDxT
dHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgbV9sZWdh
Y3lNZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6
ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAg
U3RyaW5nIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVn
YWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0
eWxlU2hlZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpp
bmRleCBlNDg1MDMwZWRiNzZjZGQxZTY1N2EzMDdmZjM4ZWIzMmE1YTM3NGVjLi44MzYwNzkwOGI2
NDQ4NmVkYWQ2YTI1YTkwMDdlODJlZmYxM2FmMmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0xMjc2LDI2ICsxMjc2LDMxIEBAIFN0cmluZyBSZW5k
ZXJUaGVtZUlPUzo6bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJU
aGVtZUlPUzo6cHVyZ2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1Njcmlw
dC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0
cmluZ3NTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNT
Y3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlv
bmFsU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRy
b2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9s
c1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIH0KIAotU3RyaW5nIFJlbmRlclRo
ZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRo
ZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkg
ewogICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewogICAgICAg
ICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29y
ZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNzXV07CiAKLSAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIg
c2NyaXB0QnVpbGRlcjsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmlu
ZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rl
cm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rp
bmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7Ci0gICAgICAgICAgICBzY3JpcHRC
dWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUg
cGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5E
aXJlY3Rvcnk6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBMb2NhbGl6ZWQgc3Ry
aW5ncyBhcmUgbm90IHdvcnRoIGhhdmluZyBhIHNjcmlwdC4gV2Ugc2hvdWxkIG1ha2UgaXQgSlNP
TiBkYXRhIGV0Yy4gaW5zdGVhZC4KKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXpl
ZFN0cmluZ3NTY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5k
bGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJp
bmdzIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5p
bF07CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBTdHJpbmdJbXBsOjpjcmVh
dGVTdGF0aWNTdHJpbmdJbXBsKE1vZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0LCBzaXplb2Yo
TW9kZXJuTWVkaWFDb250cm9sc0phdmFTY3JpcHQpKTsKICNpZiBkZWZpbmVkKFJlbmRlclRoZW1l
SU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQpCi0gICAgICAgICAgICBSZW5kZXJUaGVt
ZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0CisgICAgICAgICAgICBtX21lZGlhQ29u
dHJvbHNBZGRpdGlvbmFsU2NyaXB0ID0gU3RyaW5nKFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21l
ZGlhQ29udHJvbHNTY3JpcHQpOwogI2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNT
Y3JpcHQgPSBzY3JpcHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAg
IG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21l
ZGlhQ29udHJvbHNTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFs
U2NyaXB0LAorICAgICAgICB9OwogICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJv
bHNTY3JpcHQuaXNFbXB0eSgpKSB7CkBAIC0xMzA4LDcgKzEzMTMsNyBAQCBTdHJpbmcgUmVuZGVy
VGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogCiAgICAgICAgIG1fbGVnYWN5TWVkaWFD
b250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0
dXJuIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX2xlZ2FjeU1l
ZGlhQ29udHJvbHNTY3JpcHQgfTsKIH0KIAogU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNv
bnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYgaWNvbk5h
bWUsIGNvbnN0IFN0cmluZyYgaWNvblR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oCmluZGV4IDYxMWRjZWRjMTIwMGJmNGFhZDUyMzBjMDFkMzlmODg2MTNjOTIx
YWQuLjgwNzUwNDMzZWVlYjI0OTgyNGYxNmEyYjQ0OTcxNDM2ZmUzZjRmOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC0xMDgsNyArMTA4LDcgQEAgY2xh
c3MgUmVuZGVyVGhlbWVNYWMgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAg
Ly8gTWVkaWEgY29udHJvbHMKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBm
aW5hbDsKICAgICBTdHJpbmcgbW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsK
LSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxTdHJp
bmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgZmluYWw7CiAgICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJikgZmluYWw7CiAjZW5kaWYKIApAQCAtMjM4LDcgKzIzOCw5IEBAIGNsYXNzIFJlbmRl
clRoZW1lTWFjIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIFJldGFpblB0
cjxXZWJDb3JlUmVuZGVyVGhlbWVOb3RpZmljYXRpb25PYnNlcnZlcj4gbV9ub3RpZmljYXRpb25P
YnNlcnZlcjsKIAogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAg
U3RyaW5nIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5n
IG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRp
b25hbFNjcmlwdDsKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsK
ICAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggZjE1NGI1ZjVhM2Q3M2U1MDc4MTdj
YjkwYjY4ODlmMTA1ZTc1ZDM3My4uZTUwM2FjYjE4Nzc0MGNhMGNhMzkzNDZiMGIyYzExMWU4YjY3
YjZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAt
MzE2LDI4ICszMTYsMzMgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptb2Rlcm5NZWRpYUNvbnRy
b2xzU3R5bGVTaGVldCgpCiB2b2lkIFJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcygpCiB7CiAg
ICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7Cisg
ICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNo
YXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgp
OworICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFy
ZWQoKTsKICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90
U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNo
YXJlZCgpOwogCiAgICAgUmVuZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKCk7CiB9CiAKLVN0cmluZyBS
ZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5nLCAzPiBS
ZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewogICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkKCkpIHsKICAgICAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsK
ICAgICAgICAgICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6
W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOwogCi0gICAgICAgICAgICBTdHJpbmdC
dWlsZGVyIHNjcmlwdEJ1aWxkZXI7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNl
OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzIiBvZlR5cGU6QCJqcyJd
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOwotICAgICAgICAgICAg
c2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpb
YnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scyIgb2ZUeXBlOkAi
anMiIGluRGlyZWN0b3J5OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIl0gZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CisgICAgICAgICAgICAvLyBGSVhNRTogTG9jYWxp
emVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBzY3JpcHQuIFdlIHNob3VsZCBtYWtl
IGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNM
b2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmls
ZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6
ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBl
cnJvcjpuaWxdOworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gU3RyaW5nSW1w
bDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChNb2Rlcm5NZWRpYUNvbnRyb2xzSmF2YVNjcmlwdCwg
c2l6ZW9mKE1vZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0KSk7CiAjaWYgZGVmaW5lZChSZW5k
ZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KQotICAgICAgICAgICAgUmVu
ZGVyVGhlbWVNYWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdAorICAgICAgICAgICAgbV9t
ZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCA9IFN0cmluZyhSZW5kZXJUaGVtZU1hY0FkZGl0
aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsKICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNv
bnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAg
ICAgICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAg
ICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRk
aXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsKICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRp
YUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMzQ2LDcgKzM1MSw3IEBAIFN0cmluZyBS
ZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdCgpCiAgICAgICAgIE5TU3RyaW5nICpz
Y3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZv
clJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5T
VVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250
cm9sc1NjcmlwdCA9IG1ha2VTdHJpbmcoU3RyaW5nIHsgbG9jYWxpemVkU3RyaW5ncyB9LCBTdHJp
bmcgeyBzY3JpcHQgfSk7CiAgICAgfQotICAgIHJldHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNT
Y3JpcHQ7CisgICAgcmV0dXJuIHsgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAK
IFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25O
YW1lQW5kVHlwZShjb25zdCBTdHJpbmcmIGljb25OYW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKaW5kZXggZDk3
NjMwNGY4YmQ3NWE3ZDdiNTdiOGZiOTUwMTNkYWY2NDZiNDE1ZS4uZDBmZDJhNmEzMTI0OTgxNGI0
MGQwMmU1ZDI0YzU5Mzg3ODNiOGQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVXaW4uY3BwCkBAIC0xMDc5LDcgKzEwNzksNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVX
aW46Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICNlbmRpZgogfQogCi1TdHJpbmcgUmVuZGVy
VGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVy
VGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHRzKCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09O
VFJPTFNfU0NSSVBUKQogICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7
CkBAIC0xMDg4LDkgKzEwODgsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJv
bHNTY3JpcHQoKQogICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChzdHJpbmdXaXRoQ29udGVu
dHNPZkZpbGUoIm1lZGlhQ29udHJvbHNBcHBsZSJfcywgImpzIl9zKSk7CiAgICAgICAgIG1fbWVk
aWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAg
cmV0dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX21lZGlhQ29udHJv
bHNTY3JpcHQgfTsKICNlbHNlCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJu
IHsgfTsKICNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5oCmluZGV4IDI1Nzg5NDMzN2E5YzM5NzI2ZjJhZTk0MzJiMTRhNGNiYzgzMWY1OTAu
LjZkMTdhZmQ4M2FiNjNmZGFmYzhmYTE4ODEzY2IzMzczN2M1YTEyMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCkBAIC0xMjEsNyArMTIxLDcgQEAgY2xhc3Mg
UmVuZGVyVGhlbWVXaW4gZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogCiAjaWYgRU5BQkxF
KFZJREVPKQogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwot
ICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0
cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAg
SW50U2l6ZSBtZXRlclNpemVGb3JCb3VuZHMoY29uc3QgUmVuZGVyTWV0ZXImLCBjb25zdCBJbnRS
ZWN0JikgY29uc3Qgb3ZlcnJpZGU7Cg==
</data>
<flag name="review"
          id="442917"
          type_id="1"
          status="+"
          setter="hi"
    />
    <flag name="commit-queue"
          id="442934"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423529</attachid>
            <date>2021-03-17 14:28:43 -0700</date>
            <delta_ts>2021-03-17 17:47:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317142842.patch</filename>
            <type>text/plain</type>
            <size>40179</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzU0NWJlZjY0Njk0NDA3YmIyZDgxNGIwMGNmYTg0YzcyZDdjYTllLi5iMmVjZWZlODlhZGZkYWNh
MGQ4NmMyM2I4YTRjN2E4M2M4ODQ0ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBh
bGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisg
ICAgICAgIEFkZCAtLWZhaWwtaWYtbm9uLWFzY2lpIGZsYWcgdG8gZW5zdXJlIHRoYXQgaW5wdXQg
ZmlsZXMgZG8gbm90IGluY2x1ZGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL21ha2UtanMtZmlsZS1hcnJheXMucHk6CisgICAgICAgIChtYWluKToKKwogMjAyMS0w
My0xNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dlYklETF0gRml4IGNvbnZlcnRSZWNvcmQoKSB0byB0aHJvdyBvbiBlbnVtZXJhYmxlIHN5bWJv
bCB8a2V5fApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJjNDY2Mzg1ODhiZDBhYWZlZGEyYWJjN2QzMGRiYTQ5ZDgx
OWQ1NWYuLmZiYjgzN2M0YmQxNTAzMjQwOTg4MDRlNjI3NTYyNmM5MTI4MmQ1NGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1NCBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxk
IG5vdCBiZSBhbGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91
c3NvLgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIGFyZSBjb25jYXRlbmF0aW5nIHNldmVyYWwg
bW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdHMgaW50byBvbmUuCisgICAgICAgIEJ1dCB0aGlz
IGNhdXNlcyBzaWduaWZpY2FudCBtZW1vcnkgb3ZlcmhlYWQgKH42MDBLQikuIFVzaW5nIE5TQnVu
ZGxlJ3MgZGF0YSBzdGlsbAorICAgICAgICBhbGxvY2F0ZXMgbWVtb3J5IHNpbmNlIFdURjo6U3Ry
aW5nKENGU3RyaW5nKSBhbGxvY2F0ZXMgaGVhcCBtZW1vcnkuCisKKyAgICAgICAgTGV0J3MgdXNl
IGV4aXN0aW5nIG1lY2hhbmlzbSBkZXNpZ25lZCBmb3IgdGhpcyBwdXJwb3NlLiBXZSBzZXJpYWxp
emUgbW9kZXJuLW1lZGlhLWNvbnRyb2xzLmpzIGludG8gY29uc3QgQyBhcnJheSBpbgorICAgICAg
ICBVc2VyQWdlbnRTY3JpcHREYXRhLmNwcC4gVXNlckFnZW50U2NyaXB0IGlzIGEgbWVjaGFuaXNt
IGZvciBoYXZpbmcgdXNlci1hZ2VudCBzcGVjaWZpYyBzY3JpcHQgc291cmNlLCBhbmQgdGhpcyBt
YXRjaGVzCisgICAgICAgIHRvIG91ciBwdXJwb3NlLiAoZm9yIGV4YW1wbGUsIFVzZXJBZ2VudFN0
eWxlU2hlZXRzIChDU1MgdmVyc2lvbiBvZiB0aGF0KSBoYXZlIGh0bWwuY3NzIGV0Yy4pLgorCisg
ICAgICAgIFdlIGFsc28gX19JbmplY3RlZFNjcmlwdF8qLmpzIG5hbWUgZm9yIHRoZXNlIE1vZGVy
bk1lZGlhQ29udHJvbHMuanMgc2NyaXB0cyB3aGlsZSB0aGlzIGlzIG5vdCBkaXJlY3RseSByZWxh
dGVkIHRvIHRoZQorICAgICAgICBoZWFwIHVzYWdlIHJlZHVjdGlvbiBvZiB0aGlzIHBhdGNoLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBub3QgZG8gdGhlIHNhbWUgdGhpbmcgZm9yIENTUyBv
ZiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgc2luY2UgdGhpcyBwYXRjaCdzIGZvY3VzIGlzIHNjcmlw
dCBmaWxlcyBmaXJzdC4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9qcy1maWxlczogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpxdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudFNjcmlwdCk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0
ZWRTY3JpcHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
SU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OnB1cmdlQ2FjaGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVNYWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFj
OjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1h
Yzo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjptZWRp
YUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6bWVk
aWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lV2luLmg6CisKIDIwMjEtMDMtMTcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0dQVVBdIG1lZGlhL3ZpZGVvLXNldC1yYXRlLWZyb20tcGF1c2Uu
aHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFr
ZS1qcy1maWxlLWFycmF5cy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL21ha2Ut
anMtZmlsZS1hcnJheXMucHkKaW5kZXggZDlmZmI2MDJlMzVlODQxMzQ5N2E5MTgyY2RlZWRlMGI2
YzE0ODdiZi4uNzI4OTMzNTAwMDNjMWQ4MzFlNGY3M2ViMWQzNjQ5YTE0NTQ4NzYzZSAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1qcy1maWxlLWFycmF5cy5w
eQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9tYWtlLWpzLWZpbGUtYXJyYXlz
LnB5CkBAIC00NSw2ICs0NSw3IEBAIGRlZiBjaHVuayhsaXN0LCBjaHVua1NpemUpOgogZGVmIG1h
aW4oKToKICAgICBwYXJzZXIgPSBPcHRpb25QYXJzZXIodXNhZ2U9InVzYWdlOiAlcHJvZyBbb3B0
aW9uc10gaGVhZGVyIHNvdXJjZSBbaW5wdXQgW2lucHV0Li4uXV0iKQogICAgIHBhcnNlci5hZGRf
b3B0aW9uKCctLW5vLW1pbmlmeScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J0RvIG5vdCBy
dW4gdGhlIGlucHV0IGZpbGVzIHRocm91Z2gganNtaW4nKQorICAgIHBhcnNlci5hZGRfb3B0aW9u
KCctLWZhaWwtaWYtbm9uLWFzY2lpJywgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0nRmFpbCBp
ZiB0aGUgaW5wdXQgZmlsZXMgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycycpCiAgICAgcGFy
c2VyLmFkZF9vcHRpb24oJy1uJywgJy0tbmFtZXNwYWNlJywgaGVscD0nTmFtZXNwYWNlIHRvIHVz
ZScpCiAgICAgKG9wdGlvbnMsIGFyZ3VtZW50cykgPSBwYXJzZXIucGFyc2VfYXJncygpCiAgICAg
aWYgbm90IG9wdGlvbnMubmFtZXNwYWNlOgpAQCAtODIsNiArODMsMTEgQEAgZGVmIG1haW4oKToK
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGNoYXJhY3RlcnMgPSBkYXRhCiAKKyAgICAgICAg
aWYgb3B0aW9ucy5mYWlsX2lmX25vbl9hc2NpaToKKyAgICAgICAgICAgIGZvciBjaGFyYWN0ZXIg
aW4gY2hhcmFjdGVyczoKKyAgICAgICAgICAgICAgICBpZiBvcmQoY2hhcmFjdGVyKSA+PSAxMjg6
CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IEFTQ0lJIiAl
IGNoYXJhY3RlcikKKwogICAgICAgICBpZiBpc18zOgogICAgICAgICAgICAgY29kZXBvaW50cyA9
IGJ5dGVhcnJheShjaGFyYWN0ZXJzLCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICBlbHNlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXgg
YWQ5ZTk2NjdmMGE2ODZiMTY5NWM3MDhmYTA4ODUxNTM0MDNjYWUyYi4uN2QzNzgwNzA4MGY4Y2E3
OWJlZTI2ZWUyMDc0ZjliMTU2NTNjYTRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yNjQsNiArMjY0LDcxIEBAICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YWlycGxheS1wbGFjYXJkLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC1jbGljay1k
ZWxlZ2F0ZS1ub3RpZmllci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b24uanMKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFp
bmVyLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9jb250cm9scy1iYXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNv
bi1zZXJ2aWNlLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ludmFsaWQtcGxhY2FyZC5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW9zLWlu
bGluZS1tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0ZW0uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlh
LWNvbnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9tdXRlLWJ1dHRvbi5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uLmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtYnV0dG9uLmpzCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAt
cGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvcGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Jld2luZC1idXR0b24uanMKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NjaGVk
dWxlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvc2Vlay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3NraXAtYmFjay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NraXAtZm9yd2FyZC1idXR0b24u
anMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L3NsaWRlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvc3RhdHVzLWxhYmVsLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtbGFiZWwuanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RyYWNrcy1i
dXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL3dhdGNob3MtYWN0aXZpdHktaW5kaWNhdG9yLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRyb2xz
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJl
LXJlY29nbml6ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVycy9waW5jaC5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25p
emVycy90YXAuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21haW4uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhL2FpcnBsYXktc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvYXVkaW8tc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9m
dWxsc2NyZWVuLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcworJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVk
aWEtZG9jdW1lbnQtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9waXAtc3VwcG9y
dC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
cGxhY2FyZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS9wbGF5YmFjay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zY3J1YmJpbmctc3VwcG9ydC5qcworJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1iYWNrd2Fy
ZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9zZWVrLWZvcndhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWJhY2stc3VwcG9ydC5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tp
cC1mb3J3YXJkLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL3N0YXJ0LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3N0YXR1cy1zdXBwb3J0LmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90aW1lLWNvbnRyb2wtc3Vw
cG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEvdHJhY2tzLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL3ZvbHVtZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLXN1cHBv
cnQuanMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGE2NGU3ZTc5Y2FjMzU2YzJkMzcyY2FmZGJm
NWEzYTkzYmUwOTgwMWMuLjQwNWFlN2UzZTAyMjAwZWQ5ZmQ1MDQ5NzY4NGRkNzQyMDVhMTVlYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0yNjU0LDYgKzI2NTQsNyBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50RmFjdG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50VHlwZUhlbHBlcnMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MTmFtZXMuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxOYW1lcy5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Nb2Rlcm5NZWRp
YUNvbnRyb2xzLmpzCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9QYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1BsdWdJbnNSZXNvdXJjZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvUlRDUGVlckNvbm5lY3Rpb25C
dWlsdGlucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1NjBiOGI3YWEwNTdm
NTI4NDJiZTUzZDAzOGQwZjRmNTI0ODMzOWE5Li43NWI0Njg4YWE3NzgwMjIwOWQ1YTExOWIxNmVm
NjY1MTZlZTUwMDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1NDMsOSAr
MTU0Myw4NyBAQCBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIDogJChXZWJDb3JlKS9jc3MvbWFrZS1j
c3MtZmlsZS1hcnJheXMucGwgJChXZWJDb3JlKS9iaW5kaQogCiAjIC0tLS0tLS0tCiAKKyMgbW9k
ZXJuIG1lZGlhIGNvbnRyb2xzCisKK01PREVSTl9NRURJQV9DT05UUk9MU19TQ1JJUFRTID0gXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFpbi5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29n
bml6ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJzL3RhcC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJz
L3BpbmNoLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL3NjaGVkdWxlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29u
LXNlcnZpY2UuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtY29udHJvbC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWxhYmVs
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3NsaWRlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc2tpcC1iYWNrLWJ1
dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9za2lwLWZvcndhcmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL211dGUtYnV0dG9uLmpzIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2FpcnBsYXktYnV0
dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL3BpcC1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvdHJhY2tzLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5q
cyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9zZWVrLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9yZXdpbmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJm
bG93LWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9zdGF0dXMtbGFiZWwuanMgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvY29udHJv
bHMtYmFyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL2F1dG8taGlkZS1jb250cm9sbGVyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tn
cm91bmQtY2xpY2stZGVsZWdhdGUtbm90aWZpZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xz
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcGxhY2FyZC5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5
LXBsYWNhcmQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvaW52YWxpZC1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BpcC1wbGFjYXJkLmpzIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtYWN0
aXZpdHktaW5kaWNhdG9yLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxl
ci1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL2FpcnBsYXktc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9hdWRpby1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxp
dHktc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS9mdWxsc2NyZWVuLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBv
cnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEvcGlwLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEvcGxhY2FyZC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3BsYXliYWNrLXN1cHBvcnQuanMgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2NydWJiaW5n
LXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEvc2Vlay1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstYmFja3dhcmQtc3VwcG9ydC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zZWVrLWZvcndhcmQt
c3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9za2lwLWJhY2stc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWZvcndhcmQtc3VwcG9ydC5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGFydC1zdXBw
b3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhL3N0YXR1cy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL3RpbWUtY29udHJvbC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3RyYWNrcy1zdXBwb3J0Lmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3Zv
bHVtZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xsZXIuanMgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvd2F0Y2hvcy1tZWRpYS1jb250
cm9scy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMgXAorIworCithbGwgOiBNb2Rlcm5NZWRp
YUNvbnRyb2xzLmpzCisKK01vZGVybk1lZGlhQ29udHJvbHMuanMgOiAkKE1PREVSTl9NRURJQV9D
T05UUk9MU19TQ1JJUFRTKQorCWNhdCAkPyA+IE1vZGVybk1lZGlhQ29udHJvbHMuanMKKwogIyB1
c2VyIGFnZW50IHNjcmlwdHMKIAotVVNFUl9BR0VOVF9TQ1JJUFRTID0gJChXZWJDb3JlKS9Nb2R1
bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuanMKK1VTRVJfQUdFTlRfU0NS
SVBUUyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudC5qcyBcCisgICAgTW9kZXJuTWVkaWFDb250cm9scy5qcyBcCisjCiAKIFVTRVJf
QUdFTlRfU0NSSVBUU19GSUxFUyA9IFwKICAgICBVc2VyQWdlbnRTY3JpcHRzLmggXApAQCAtMTU1
Niw3ICsxNjM0LDcgQEAgVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TID0gJChzdWJz
dCAuLCUsJChVU0VSX0FHRU5UX1NDUklQVFNfRklMRVMpKQogYWxsIDogJChVU0VSX0FHRU5UX1ND
UklQVFNfRklMRVMpCiAKICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TKSA6ICQo
SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgJChVU0VS
X0FHRU5UX1NDUklQVFMpCi0JJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIp
L21ha2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAkKFVTRVJfQUdFTlRfU0NSSVBUU19G
SUxFUykgJChVU0VSX0FHRU5UX1NDUklQVFMpCisJJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVf
U0NSSVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAtLWZhaWwtaWYt
bm9uLWFzY2lpICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTKSAkKFVTRVJfQUdFTlRfU0NSSVBU
UykKIAogIyAtLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9qcy1maWxlcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2pzLWZpbGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2YTc4MzBhYTA0NTgzMzAyODVhZWIzY2EwNzdjMzk5ZWFlOWExYmYyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2pzLWZpbGVzCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAs
MCBAQAotbWFpbi5qcwotZ2VzdHVyZS1yZWNvZ25pemVycy9nZXN0dXJlLXJlY29nbml6ZXIuanMK
LWdlc3R1cmUtcmVjb2duaXplcnMvdGFwLmpzCi1nZXN0dXJlLXJlY29nbml6ZXJzL3BpbmNoLmpz
Ci1jb250cm9scy9zY2hlZHVsZXIuanMKLWNvbnRyb2xzL2xheW91dC1ub2RlLmpzCi1jb250cm9s
cy9sYXlvdXQtaXRlbS5qcwotY29udHJvbHMvaWNvbi1zZXJ2aWNlLmpzCi1jb250cm9scy9iYWNr
Z3JvdW5kLXRpbnQuanMKLWNvbnRyb2xzL3RpbWUtY29udHJvbC5qcwotY29udHJvbHMvdGltZS1s
YWJlbC5qcwotY29udHJvbHMvc2xpZGVyLmpzCi1jb250cm9scy9idXR0b24uanMKLWNvbnRyb2xz
L3BsYXktcGF1c2UtYnV0dG9uLmpzCi1jb250cm9scy9za2lwLWJhY2stYnV0dG9uLmpzCi1jb250
cm9scy9za2lwLWZvcndhcmQtYnV0dG9uLmpzCi1jb250cm9scy9tdXRlLWJ1dHRvbi5qcwotY29u
dHJvbHMvYWlycGxheS1idXR0b24uanMKLWNvbnRyb2xzL3BpcC1idXR0b24uanMKLWNvbnRyb2xz
L3RyYWNrcy1idXR0b24uanMKLWNvbnRyb2xzL2Z1bGxzY3JlZW4tYnV0dG9uLmpzCi1jb250cm9s
cy9zZWVrLWJ1dHRvbi5qcwotY29udHJvbHMvcmV3aW5kLWJ1dHRvbi5qcwotY29udHJvbHMvZm9y
d2FyZC1idXR0b24uanMKLWNvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5qcwotY29udHJvbHMvYnV0
dG9ucy1jb250YWluZXIuanMKLWNvbnRyb2xzL3N0YXR1cy1sYWJlbC5qcwotY29udHJvbHMvY29u
dHJvbHMtYmFyLmpzCi1jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcwotY29udHJvbHMv
bWVkaWEtY29udHJvbHMuanMKLWNvbnRyb2xzL2JhY2tncm91bmQtY2xpY2stZGVsZWdhdGUtbm90
aWZpZXIuanMKLWNvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qcwotY29udHJvbHMvaW9z
LWlubGluZS1tZWRpYS1jb250cm9scy5qcwotY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNv
bnRyb2xzLmpzCi1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzCi1j
b250cm9scy9wbGFjYXJkLmpzCi1jb250cm9scy9haXJwbGF5LXBsYWNhcmQuanMKLWNvbnRyb2xz
L2ludmFsaWQtcGxhY2FyZC5qcwotY29udHJvbHMvcGlwLXBsYWNhcmQuanMKLWNvbnRyb2xzL3dh
dGNob3MtYWN0aXZpdHktaW5kaWNhdG9yLmpzCi1jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRy
b2xzLmpzCi1tZWRpYS9tZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMKLW1lZGlhL2FpcnBsYXkt
c3VwcG9ydC5qcwotbWVkaWEvYXVkaW8tc3VwcG9ydC5qcwotbWVkaWEvY29udHJvbHMtdmlzaWJp
bGl0eS1zdXBwb3J0LmpzCi1tZWRpYS9mdWxsc2NyZWVuLXN1cHBvcnQuanMKLW1lZGlhL211dGUt
c3VwcG9ydC5qcwotbWVkaWEvb3ZlcmZsb3ctc3VwcG9ydC5qcwotbWVkaWEvcGlwLXN1cHBvcnQu
anMKLW1lZGlhL3BsYWNhcmQtc3VwcG9ydC5qcwotbWVkaWEvcGxheWJhY2stc3VwcG9ydC5qcwot
bWVkaWEvc2NydWJiaW5nLXN1cHBvcnQuanMKLW1lZGlhL3NlZWstc3VwcG9ydC5qcwotbWVkaWEv
c2Vlay1iYWNrd2FyZC1zdXBwb3J0LmpzCi1tZWRpYS9zZWVrLWZvcndhcmQtc3VwcG9ydC5qcwot
bWVkaWEvc2tpcC1iYWNrLXN1cHBvcnQuanMKLW1lZGlhL3NraXAtZm9yd2FyZC1zdXBwb3J0Lmpz
Ci1tZWRpYS9zdGFydC1zdXBwb3J0LmpzCi1tZWRpYS9zdGF0dXMtc3VwcG9ydC5qcwotbWVkaWEv
dGltZS1jb250cm9sLXN1cHBvcnQuanMKLW1lZGlhL3RyYWNrcy1zdXBwb3J0LmpzCi1tZWRpYS92
b2x1bWUtc3VwcG9ydC5qcwotbWVkaWEvbWVkaWEtZG9jdW1lbnQtY29udHJvbGxlci5qcwotbWVk
aWEvd2F0Y2hvcy1tZWRpYS1jb250cm9scy1zdXBwb3J0LmpzCi1tZWRpYS9tZWRpYS1jb250cm9s
bGVyLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdpbnMv
UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KaW5kZXggMTZlMmYyMzQ2NDk0NWEwZjQ2MjAw
Y2Q3NzVhNDk0NjhmZjFhYjhjZC4uZWU4OWY2MGY1MDVkNTA3ZDQwYzBjOGI3NWY3NmJiNDE0Zjdk
OTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGlt
ZVBsdWdpblJlcGxhY2VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lu
cy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQpAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMg
SlNWYWx1ZSAqanNWYWx1ZVdpdGhBVk1ldGFkYXRhSXRlbUluQ29udGV4dChBVk1ldGFkYXRhSXRl
bSAqLCBKU0NvbnRleHQgKgogCiBzdGF0aWMgU3RyaW5nIHF1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50U2NyaXB0KCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzY3JpcHQo
UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0KSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0
cmluZz4gc2NyaXB0KFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoUXVpY2tUaW1l
UGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnRKYXZhU2NyaXB0KSkpOwogICAgIHJldHVybiBzY3JpcHQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkNGQ2NjIw
NWY1OWZhYmYwNDVjODA3ZDc0OGViMTc0MGJlYTEyYzFhLi4wYzg5YWJjMTQzMDdjMjYxYzUwOTAw
MDMyNzBlN2YxMGNmNWJkMzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDAzMiw3ICsxMDAzMiw2IEBACiAJCTcxM0YxRDVC
MjNERjI1NjAwMDNGNUVGQSAvKiBKU0dldEFuaW1hdGlvbnNPcHRpb25zLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEzRjFENUMyM0RGMjU2MDAwM0Y1RUZBIC8qIEpTR2V0QW5p
bWF0aW9uc09wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNHZXRBbmltYXRpb25zT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTcxNDEzMTQ3MURDOUQ2QUYwMDMzNjEwNyAvKiBmdWxsc2NyZWVuLXN1cHBvcnQuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiZnVsbHNjcmVlbi1zdXBwb3J0Lmpz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzE0MTMxNDgxREM5RDZFRjAwMzM2MTA3
IC8qIGpzLWZpbGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJqcy1maWxlcyI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1REQ4MjAyQjA2REMwMEFERkQzNCAvKiBKU0VmZmVj
dFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VmZmVj
dFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1RERBMjAyQjA2
REUwMEFERkQzNCAvKiBKU0VmZmVjdFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0VmZmVjdFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MTRDN0M2MDFGREFEMjc5MDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBbmltYXRpb25QbGF5YmFja0V2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNzM3LDcgKzIyNzM2LDYgQEAK
IAkJCQk3MTZGQTBENzFEQjI2NTkxMDA3MzIzQ0MgLyogY29udHJvbHMgKi8sCiAJCQkJMkQ4RDNC
RUEyMzg0N0FDODAwNjU3MDc1IC8qIGdlc3R1cmUtcmVjb2duaXplcnMgKi8sCiAJCQkJNzFENkFB
NkYxREE0RUFGNzAwQjIzOTY5IC8qIGltYWdlcyAqLywKLQkJCQk3MTQxMzE0ODFEQzlENkVGMDAz
MzYxMDcgLyoganMtZmlsZXMgKi8sCiAJCQkJNzFEMDJEOTExREI1NUM0RTAwREQ1Q0Y1IC8qIG1l
ZGlhICovLAogCQkJCTcxRDAyRDkwMURCNTVDNEUwMERENUNGNSAvKiBtYWluLmpzICovLAogCQkJ
KTsKQEAgLTM2MDgxLDcgKzM2MDc5LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNj
cmlwdCA9ICJTUkNfRElSPVwiJFNSQ1JPT1QvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHNc
IlxuRFNUX0RJUj1cIiRCVUlMVF9QUk9EVUNUU19ESVIvJFVOTE9DQUxJWkVEX1JFU09VUkNFU19G
T0xERVJfUEFUSC9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuXG5ta2RpciAtcCBcIiREU1RfRElS
XCJcblxuaWYgWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwiIF07IHRoZW5c
biAgICBJTUdfT1NfUFJFRklYPVwibWFjT1NcIlxuZWxzZVxuICAgIGlmIFtbIFwiJHtXS19QTEFU
Rk9STV9OQU1FfVwiID09ICpcIndhdGNoXCIqIF1dOyB0aGVuXG4gICAgICAgIElNR19PU19QUkVG
SVg9XCJ3YXRjaE9TXCJcbiAgICBlbHNlXG4gICAgICAgIElNR19PU19QUkVGSVg9XCJpT1NcIlxu
ICAgIGZpXG5maVxuXG5pZiBbIC1uIFwiJElNR19PU19QUkVGSVhcIiBdOyB0aGVuXG5yc3luYyAt
YXEgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcIi5EU19TdG9yZVwiIFwiJFNSQ19ESVIv
aW1hZ2VzLyRJTUdfT1NfUFJFRklYL1wiIFwiJERTVF9ESVIvaW1hZ2VzXCJcbmZpXG5cbmNkIFwi
JFNSQ19ESVJcIlxuY2F0IGNvbnRyb2xzLyouY3NzIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4q
P1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5jc3NcIlxuY2F0
IGBjYXQganMtZmlsZXNgIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99e31ncycgPiBc
IiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5qc1wiXG4iOworCQkJc2hlbGxTY3JpcHQg
PSAiU1JDX0RJUj1cIiRTUkNST09UL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcbkRT
VF9ESVI9XCIkQlVJTFRfUFJPRFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVS
X1BBVEgvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcblxubWtkaXIgLXAgXCIkRFNUX0RJUlwiXG5c
bmlmIFsgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdOyB0aGVuXG4gICAg
SU1HX09TX1BSRUZJWD1cIm1hY09TXCJcbmVsc2VcbiAgICBpZiBbWyBcIiR7V0tfUExBVEZPUk1f
TkFNRX1cIiA9PSAqXCJ3YXRjaFwiKiBdXTsgdGhlblxuICAgICAgICBJTUdfT1NfUFJFRklYPVwi
d2F0Y2hPU1wiXG4gICAgZWxzZVxuICAgICAgICBJTUdfT1NfUFJFRklYPVwiaU9TXCJcbiAgICBm
aVxuZmlcblxuaWYgWyAtbiBcIiRJTUdfT1NfUFJFRklYXCIgXTsgdGhlblxucnN5bmMgLWFxIC0t
ZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBcIiRTUkNfRElSL2ltYWdl
cy8kSU1HX09TX1BSRUZJWC9cIiBcIiREU1RfRElSL2ltYWdlc1wiXG5maVxuXG5jZCBcIiRTUkNf
RElSXCJcbmNhdCBjb250cm9scy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBlICdzey9cXCouKj9cXCov
fXt9Z3MnID4gXCIkRFNUX0RJUi9tb2Rlcm4tbWVkaWEtY29udHJvbHMuY3NzXCJcbiI7CiAJCX07
CiAJCUE1RTc5Q0VDMUU2N0YyQ0YwMEZCODE1MyAvKiBNYWtlIEZyYW1ld29ya3MgU3ltYm9saWMg
TGluayAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDE5ODk5ZWNjMDlkYjFmMDFlZGM3
M2RmZDA4YzcwOTM0YTY2YmZjNzMuLjBhMTU3ZTQ5N2VmY2RhMDA0MmNhNjdmNmU1N2RiZWZlYzZm
NzM4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzE0
OCwxMSArNzE0OCwxMSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJv
bHNJbmplY3RlZFNjcmlwdCgpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCA9IFJlbmRlclRoZW1lOjpzaW5nbGV0
b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7Ci0gICAgaWYgKCFtZWRpYUNvbnRyb2xzU2NyaXB0
Lmxlbmd0aCgpKQorICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzID0g
UmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlhQ29udHJvbHNTY3JpcHRzKCk7CisgICAgaWYg
KCFtZWRpYUNvbnRyb2xzU2NyaXB0cy5zaXplKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIHJldHVybiBzZXR1cEFuZENhbGxKUyhbbWVkaWFDb250cm9sc1NjcmlwdF0oSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgU2NyaXB0Q29udHJvbGxlciYgc2NyaXB0Q29udHJvbGxlciwgRE9NV3JhcHBlcldv
cmxkJiB3b3JsZCkgeworICAgIHJldHVybiBzZXR1cEFuZENhbGxKUyhbbWVkaWFDb250cm9sc1Nj
cmlwdHMgPSBXVEZNb3ZlKG1lZGlhQ29udHJvbHNTY3JpcHRzKV0oSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
U2NyaXB0Q29udHJvbGxlciYgc2NyaXB0Q29udHJvbGxlciwgRE9NV3JhcHBlcldvcmxkJiB3b3Js
ZCkgewogICAgICAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOwogICAgICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CiAKQEAgLTcxNjAsMTYgKzcxNjAsMTgg
QEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3Jp
cHQoKQogICAgICAgICBpZiAoZnVuY3Rpb25WYWx1ZS5pc0NhbGxhYmxlKHZtKSkKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogCi0jaWYgIWRlZmluZWQoTkRFQlVHKQotICAgICAgICAvLyBTZXR0
aW5nIGEgc2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJlIGRlYnVnZ2FibGUgaW4gdGhl
IGluc3BlY3Rvci4KLSAgICAgICAgVVJMIHNjcmlwdFVSTCA9IFVSTCh7IH0sICJtZWRpYUNvbnRy
b2xzU2NyaXB0Il9zKTsKLSNlbHNlCi0gICAgICAgIFVSTCBzY3JpcHRVUkw7Ci0jZW5kaWYKLSAg
ICAgICAgc2NyaXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihT
Y3JpcHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0VVJMKSks
IHdvcmxkKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewotICAg
ICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBmb3IgKGF1dG8mIG1lZGlh
Q29udHJvbHNTY3JpcHQgOiBtZWRpYUNvbnRyb2xzU2NyaXB0cykgeworICAgICAgICAgICAgaWYg
KG1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgLy8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJjZSB0
byBiZSBkZWJ1Z2dhYmxlIGluIHRoZSBpbnNwZWN0b3IuCisgICAgICAgICAgICBVUkwgc2NyaXB0
VVJMID0gVVJMKHsgfSwgbWFrZVN0cmluZygiX19JbmplY3RlZFNjcmlwdF9tZWRpYUNvbnRyb2xz
U2NyaXB0Il9zLCBpbmRleCwgIi5qcyIpKTsKKyAgICAgICAgICAgIHNjcmlwdENvbnRyb2xsZXIu
ZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNlcHRpb24oU2NyaXB0U291cmNlQ29kZShtZWRpYUNv
bnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNjcmlwdFVSTCkpLCB3b3JsZCk7CisgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgICAgICAgICAgc2NvcGUu
Y2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICArK2luZGV4OwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJu
IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGJkZjMxOTc3
NGVjZjg1Y2YwZThkMGQ5MGJlMjFjMjg3MjM4YTNiMmYuLjVkY2VkNzhlZWQyYjM2N2U4Njk0OGFm
YzA2ODhjNTFkYzIyMzJlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC04Nyw3ICs4Nyw3IEBAIGNsYXNzIFJlbmRlclRoZW1lIHsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmly
dHVhbCBTdHJpbmcgbW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJp
bmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQo
KSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNT
Y3JpcHQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZywg
Mz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFN0
cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgbWVkaWFDb250cm9sc0Zvcm1hdHRlZFN0cmluZ0ZvckR1cmF0aW9uKGRvdWJsZSkgeyBy
ZXR1cm4gU3RyaW5nKCk7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVBZHdhaXRhLmNwcAppbmRleCA2MDRhYmI2YzZjY2E5MmFmMmFlOWRiZDYwNjY3
MzAyZDRjMzYyMTZlLi44MGZlYTZmMWIyOWVlMDhmMzgxZDFjNjcxZWFlNGNlZTZiYmI0ZjVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApA
QCAtMTcyLDkgKzE3Miw5IEBAIFN0cmluZyBSZW5kZXJUaGVtZUFkd2FpdGE6OmV4dHJhTWVkaWFD
b250cm9sc1N0eWxlU2hlZXQoKQogICAgIHJldHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2Fp
dGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdl
bnRTdHlsZVNoZWV0KSk7CiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29u
dHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRp
YUNvbnRyb2xzU2NyaXB0cygpCiB7Ci0gICAgcmV0dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3
YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQpKTsK
KyAgICByZXR1cm4geyBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXpl
b2YobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSkgfTsKIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKaW5kZXggMDU3YTgz
NGJhY2IyMjhlNDk5NmNhZjRmOWE1NmU0NDBmNDdiN2YyZC4uZTAwMjg2OGVlN2Y3NWQ4ZmM3MDgw
ZWU2M2Q4MWYzMGEwN2FjNjVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lQWR3YWl0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUFkd2FpdGEuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUFkd2Fp
dGEgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNo
ZWV0KCkgZmluYWw7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIFN0cmluZyBleHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCkgZmluYWw7Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3JpcHQo
KSBmaW5hbDsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIGZp
bmFsOwogI2VuZGlmCiAKICAgICBib29sIHN1cHBvcnRzSG92ZXIoY29uc3QgUmVuZGVyU3R5bGUm
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5oCmluZGV4IGQ4NGI1ZGE0YTBiM2VmN2RjZjEyMTQyOTU3YjdkMTQ0YjE5
OGZhYTIuLjg5MmVkM2Q3ZTE3MDhmYzE5OWRjMTc1OGE1MjU5ODNmZDE4OGJkZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCkBAIC0xNTYsNyArMTU2LDcgQEAg
Y2xhc3MgUmVuZGVyVGhlbWVJT1MgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAj
aWYgRU5BQkxFKFZJREVPKQogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92
ZXJyaWRlOwogICAgIFN0cmluZyBtb2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIG92ZXJy
aWRlOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgb3ZlcnJpZGU7CisgICAgVmVj
dG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKICAgICBTdHJp
bmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICNlbmRpZgogCkBAIC0xOTEsNyArMTkxLDkg
QEAgY2xhc3MgUmVuZGVyVGhlbWVJT1MgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7
CiAgICAgQ29sb3Igc3lzdGVtQ29sb3IoQ1NTVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6
Ok9wdGlvbnM+KSBjb25zdCBvdmVycmlkZTsKIAogICAgIFN0cmluZyBtX2xlZ2FjeU1lZGlhQ29u
dHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NT
Y3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9t
ZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdDsKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNv
bnRyb2xzU3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGU0ODUw
MzBlZGI3NmNkZDFlNjU3YTMwN2ZmMzhlYjMyYTVhMzc0ZWMuLjg0MzRjODJhMjVmZTEyYjQ5NGZk
Mzg4ZjExNDdhMDZmNDdhNWE0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW0KQEAgLTEyNzYsMjYgKzEyNzYsMzYgQEAgU3RyaW5nIFJlbmRlclRoZW1lSU9T
Ojptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB2b2lkIFJlbmRlclRoZW1lSU9TOjpw
dXJnZUNhY2hlcygpCiB7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1w
bElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1Njcmlw
dC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVh
ckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQu
Y2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNo
ZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1l
ZGlhQ29udHJvbHNTY3JpcHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVJT1M6Om1l
ZGlhQ29udHJvbHNTY3JpcHRzKCkKIHsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpKSB7Ci0gICAgICAg
IGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBOU0J1
bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhl
bWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAgaWYgKG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0
cmluZ3NTY3JpcHQuaXNFbXB0eSgpIHx8IG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkg
fHwgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBMb2NhbGl6ZWQgc3RyaW5ncyBhcmUgbm90IHdvcnRoIGhhdmluZyBhIHNj
cmlwdC4gV2Ugc2hvdWxkIG1ha2UgaXQgSlNPTiBkYXRhIGV0Yy4gaW5zdGVhZC4KKyAgICAgICAg
ICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmlzRW1wdHkoKSkg
eworICAgICAgICAgICAgICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9y
Q2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOworICAgICAgICAgICAgICAg
IG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5n
V2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlh
LWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG1f
bWVkaWFDb250cm9sc1NjcmlwdCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwo
TW9kZXJuTWVkaWFDb250cm9sc0phdmFTY3JpcHQsIHNpemVvZihNb2Rlcm5NZWRpYUNvbnRyb2xz
SmF2YVNjcmlwdCkpOwogCi0gICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7
Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENv
bnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9kZXJuLW1lZGlhLWNvbnRy
b2xzLWxvY2FsaXplZC1zdHJpbmdzIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmlu
Z0VuY29kaW5nIGVycm9yOm5pbF0pOwotICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQo
W05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJj
ZTpAIm1vZGVybi1tZWRpYS1jb250cm9scyIgb2ZUeXBlOkAianMiIGluRGlyZWN0b3J5OkAibW9k
ZXJuLW1lZGlhLWNvbnRyb2xzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6
bmlsXSk7CiAjaWYgZGVmaW5lZChSZW5kZXJUaGVtZUlPU0FkZGl0aW9uc19tZWRpYUNvbnRyb2xz
U2NyaXB0KQotICAgICAgICAgICAgUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9s
c1NjcmlwdAorICAgICAgICAgICAgaWYgKG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3Jp
cHQgPSBTdHJpbmcoUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9sc1NjcmlwdCk7
CiAjZW5kaWYKLSAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxk
ZXIudG9TdHJpbmcoKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xz
U2NyaXB0OworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzTG9j
YWxpemVkU3RyaW5nc1NjcmlwdCwKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCwK
KyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQsCisgICAgICAgIH07
CiAgICAgfQogCiAgICAgaWYgKG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkp
IHsKQEAgLTEzMDgsNyArMTMxOCw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250
cm9sc1NjcmlwdCgpCiAKICAgICAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2Ny
aXB0QnVpbGRlci50b1N0cmluZygpOwogICAgIH0KLSAgICByZXR1cm4gbV9sZWdhY3lNZWRpYUNv
bnRyb2xzU2NyaXB0OworICAgIHJldHVybiB7IG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCB9
OwogfQogCiBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdG
b3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiBpY29uTmFtZSwgY29uc3QgU3RyaW5nJiBp
Y29uVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXgg
NjExZGNlZGMxMjAwYmY0YWFkNTIzMGMwMWQzOWY4ODYxM2M5MjFhZC4uODA3NTA0MzNlZWViMjQ5
ODI0ZjE2YTJiNDQ5NzE0MzZmZTNmNGY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZU1hYyBm
aW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZUNvY29hIHsKICAgICAvLyBNZWRpYSBjb250cm9scwog
ICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwogICAgIFN0cmluZyBt
b2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAgIFN0cmluZyBtZWRpYUNv
bnRyb2xzU2NyaXB0KCkgZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9s
c1NjcmlwdHMoKSBmaW5hbDsKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zv
ckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKICNl
bmRpZgogCkBAIC0yMzgsNyArMjM4LDkgQEAgY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmluYWwgOiBw
dWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgUmV0YWluUHRyPFdlYkNvcmVSZW5kZXJUaGVt
ZU5vdGlmaWNhdGlvbk9ic2VydmVyPiBtX25vdGlmaWNhdGlvbk9ic2VydmVyOwogCiAgICAgU3Ry
aW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRy
b2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdDsKICAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzU2Ny
aXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0OwogICAgIFN0
cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIFN0cmluZyBtX21lZGlh
Q29udHJvbHNTdHlsZVNoZWV0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbQppbmRleCBmMTU0YjVmNWEzZDczZTUwNzgxN2NiOTBiNjg4OWYxMDVlNzVkMzcz
Li45YmYwNDFhNmViNmJmMWJjNTIyMzg4YTQ4NmI1NDQ4NjY4ODY1ZmMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0zMTYsMjggKzMxNiwzOCBAQCBT
dHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKIHZv
aWQgUmVuZGVyVGhlbWVNYWM6OnB1cmdlQ2FjaGVzKCkKIHsKICAgICBtX2xlZ2FjeU1lZGlhQ29u
dHJvbHNTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNM
b2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRp
YUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRy
b2xzQWRkaXRpb25hbFNjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbGVnYWN5
TWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAKICAgICBSZW5k
ZXJUaGVtZTo6cHVyZ2VDYWNoZXMoKTsKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkgewotICAgICAgICBp
ZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgTlNCdW5k
bGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1l
QnVuZGxlIGNsYXNzXV07CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJp
bmdzU2NyaXB0LmlzRW1wdHkoKSB8fCBtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpIHx8
IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICAvLyBGSVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBzY3Jp
cHQuIFdlIHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAgICAg
ICBpZiAobV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNs
YXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAgICAgICAgICBt
X21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1j
b250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhT
dHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBtX21l
ZGlhQ29udHJvbHNTY3JpcHQgPSBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKE1v
ZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0LCBzaXplb2YoTW9kZXJuTWVkaWFDb250cm9sc0ph
dmFTY3JpcHQpKTsKIAotICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwot
ICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250
ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9s
cy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtO
U1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVy
bi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5p
bF0pOwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVNYWNBZGRpdGlvbnNfbWVkaWFDb250cm9sc1Nj
cmlwdCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNT
Y3JpcHQKKyAgICAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0Lmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
ID0gU3RyaW5nKFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQpOwog
I2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVy
LnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1Nj
cmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2Fs
aXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQsCisg
ICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LAorICAgICAgICB9Owog
ICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7
CkBAIC0zNDYsNyArMzU2LDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRpYUNvbnRyb2xz
U2NyaXB0KCkKICAgICAgICAgTlNTdHJpbmcgKnNjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Q29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzQXBw
bGUiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmls
XTsKICAgICAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0ID0gbWFrZVN0cmluZyhTdHJp
bmcgeyBsb2NhbGl6ZWRTdHJpbmdzIH0sIFN0cmluZyB7IHNjcmlwdCB9KTsKICAgICB9Ci0gICAg
cmV0dXJuIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX2xlZ2Fj
eU1lZGlhQ29udHJvbHNTY3JpcHQgfTsKIH0KIAogU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYgaWNv
bk5hbWUsIGNvbnN0IFN0cmluZyYgaWNvblR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBkOTc2MzA0ZjhiZDc1YTdkN2I1N2I4ZmI5NTAxM2Rh
ZjY0NmI0MTVlLi5kMGZkMmE2YTMxMjQ5ODE0YjQwZDAyZTVkMjRjNTkzODc4M2I4ZDljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKQEAgLTEwNzksNyAr
MTA3OSw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQo
KQogI2VuZGlmCiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9sc1Njcmlw
dCgpCitWZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9sc1Njcmlw
dHMoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiAgICAgaWYgKG1fbWVk
aWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKQEAgLTEwODgsOSArMTA4OCw5IEBAIFN0cmlu
ZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9sc1NjcmlwdCgpCiAgICAgICAgIHNjcmlwdEJ1
aWxkZXIuYXBwZW5kKHN0cmluZ1dpdGhDb250ZW50c09mRmlsZSgibWVkaWFDb250cm9sc0FwcGxl
Il9zLCAianMiX3MpKTsKICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVp
bGRlci50b1N0cmluZygpOwogICAgIH0KLSAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0
OworICAgIHJldHVybiB7IG1fbWVkaWFDb250cm9sc1NjcmlwdCB9OwogI2Vsc2UKLSAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKKyAgICByZXR1cm4geyB9OwogI2VuZGlmCiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKaW5kZXggMjU3ODk0MzM3YTlj
Mzk3MjZmMmFlOTQzMmIxNGE0Y2JjODMxZjU5MC4uNmQxN2FmZDgzYWI2M2ZkYWZjOGZhMTg4MTNj
YjMzNzM3YzVhMTIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2lu
LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZVdpbiBmaW5hbCA6IHB1Ymxp
YyBSZW5kZXJUaGVtZSB7CiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgU3RyaW5nIG1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTY3Jp
cHQoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0
cygpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBJbnRTaXplIG1ldGVyU2l6ZUZvckJvdW5kcyhj
b25zdCBSZW5kZXJNZXRlciYsIGNvbnN0IEludFJlY3QmKSBjb25zdCBvdmVycmlkZTsK
</data>
<flag name="commit-queue"
          id="442938"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423538</attachid>
            <date>2021-03-17 16:36:14 -0700</date>
            <delta_ts>2021-03-17 17:47:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317163613.patch</filename>
            <type>text/plain</type>
            <size>38014</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzU0NWJlZjY0Njk0NDA3YmIyZDgxNGIwMGNmYTg0YzcyZDdjYTllLi5iMmVjZWZlODlhZGZkYWNh
MGQ4NmMyM2I4YTRjN2E4M2M4ODQ0ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBh
bGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisg
ICAgICAgIEFkZCAtLWZhaWwtaWYtbm9uLWFzY2lpIGZsYWcgdG8gZW5zdXJlIHRoYXQgaW5wdXQg
ZmlsZXMgZG8gbm90IGluY2x1ZGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL21ha2UtanMtZmlsZS1hcnJheXMucHk6CisgICAgICAgIChtYWluKToKKwogMjAyMS0w
My0xNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dlYklETF0gRml4IGNvbnZlcnRSZWNvcmQoKSB0byB0aHJvdyBvbiBlbnVtZXJhYmxlIHN5bWJv
bCB8a2V5fApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJjNDY2Mzg1ODhiZDBhYWZlZGEyYWJjN2QzMGRiYTQ5ZDgx
OWQ1NWYuLmU5ZWEyODViOTgxOTcxOTA4NGM2MzlkYWMwZDUzMWJiNzEzN2NkOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1MyBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxk
IG5vdCBiZSBhbGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91
c3NvLgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIGFyZSBjb25jYXRlbmF0aW5nIHNldmVyYWwg
bW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdHMgaW50byBvbmUuCisgICAgICAgIEJ1dCB0aGlz
IGNhdXNlcyBzaWduaWZpY2FudCBtZW1vcnkgb3ZlcmhlYWQgKH42MDBLQikuIFVzaW5nIE5TQnVu
ZGxlJ3MgZGF0YSBzdGlsbAorICAgICAgICBhbGxvY2F0ZXMgbWVtb3J5IHNpbmNlIFdURjo6U3Ry
aW5nKENGU3RyaW5nKSBhbGxvY2F0ZXMgaGVhcCBtZW1vcnkuCisKKyAgICAgICAgTGV0J3MgdXNl
IGV4aXN0aW5nIG1lY2hhbmlzbSBkZXNpZ25lZCBmb3IgdGhpcyBwdXJwb3NlLiBXZSBzZXJpYWxp
emUgbW9kZXJuLW1lZGlhLWNvbnRyb2xzLmpzIGludG8gY29uc3QgQyBhcnJheSBpbgorICAgICAg
ICBVc2VyQWdlbnRTY3JpcHREYXRhLmNwcC4gVXNlckFnZW50U2NyaXB0IGlzIGEgbWVjaGFuaXNt
IGZvciBoYXZpbmcgdXNlci1hZ2VudCBzcGVjaWZpYyBzY3JpcHQgc291cmNlLCBhbmQgdGhpcyBt
YXRjaGVzCisgICAgICAgIHRvIG91ciBwdXJwb3NlLiAoZm9yIGV4YW1wbGUsIFVzZXJBZ2VudFN0
eWxlU2hlZXRzIChDU1MgdmVyc2lvbiBvZiB0aGF0KSBoYXZlIGh0bWwuY3NzIGV0Yy4pLgorCisg
ICAgICAgIFdlIGFsc28gX19JbmplY3RlZFNjcmlwdF8qLmpzIG5hbWUgZm9yIHRoZXNlIE1vZGVy
bk1lZGlhQ29udHJvbHMuanMgc2NyaXB0cyB3aGlsZSB0aGlzIGlzIG5vdCBkaXJlY3RseSByZWxh
dGVkIHRvIHRoZQorICAgICAgICBoZWFwIHVzYWdlIHJlZHVjdGlvbiBvZiB0aGlzIHBhdGNoLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBub3QgZG8gdGhlIHNhbWUgdGhpbmcgZm9yIENTUyBv
ZiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgc2luY2UgdGhpcyBwYXRjaCdzIGZvY3VzIGlzIHNjcmlw
dCBmaWxlcyBmaXJzdC4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpxdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudFNjcmlwdCk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRT
Y3JpcHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OnB1cmdlQ2FjaGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6
bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjptZWRpYUNv
bnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6bWVkaWFD
b250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmg6CisKIDIwMjEtMDMtMTcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0dQVVBdIG1lZGlhL3ZpZGVvLXNldC1yYXRlLWZyb20tcGF1c2UuaHRt
bCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1q
cy1maWxlLWFycmF5cy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL21ha2UtanMt
ZmlsZS1hcnJheXMucHkKaW5kZXggZDlmZmI2MDJlMzVlODQxMzQ5N2E5MTgyY2RlZWRlMGI2YzE0
ODdiZi4uNzI4OTMzNTAwMDNjMWQ4MzFlNGY3M2ViMWQzNjQ5YTE0NTQ4NzYzZSAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1qcy1maWxlLWFycmF5cy5weQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5
CkBAIC00NSw2ICs0NSw3IEBAIGRlZiBjaHVuayhsaXN0LCBjaHVua1NpemUpOgogZGVmIG1haW4o
KToKICAgICBwYXJzZXIgPSBPcHRpb25QYXJzZXIodXNhZ2U9InVzYWdlOiAlcHJvZyBbb3B0aW9u
c10gaGVhZGVyIHNvdXJjZSBbaW5wdXQgW2lucHV0Li4uXV0iKQogICAgIHBhcnNlci5hZGRfb3B0
aW9uKCctLW5vLW1pbmlmeScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J0RvIG5vdCBydW4g
dGhlIGlucHV0IGZpbGVzIHRocm91Z2gganNtaW4nKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCct
LWZhaWwtaWYtbm9uLWFzY2lpJywgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0nRmFpbCBpZiB0
aGUgaW5wdXQgZmlsZXMgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycycpCiAgICAgcGFyc2Vy
LmFkZF9vcHRpb24oJy1uJywgJy0tbmFtZXNwYWNlJywgaGVscD0nTmFtZXNwYWNlIHRvIHVzZScp
CiAgICAgKG9wdGlvbnMsIGFyZ3VtZW50cykgPSBwYXJzZXIucGFyc2VfYXJncygpCiAgICAgaWYg
bm90IG9wdGlvbnMubmFtZXNwYWNlOgpAQCAtODIsNiArODMsMTEgQEAgZGVmIG1haW4oKToKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIGNoYXJhY3RlcnMgPSBkYXRhCiAKKyAgICAgICAgaWYg
b3B0aW9ucy5mYWlsX2lmX25vbl9hc2NpaToKKyAgICAgICAgICAgIGZvciBjaGFyYWN0ZXIgaW4g
Y2hhcmFjdGVyczoKKyAgICAgICAgICAgICAgICBpZiBvcmQoY2hhcmFjdGVyKSA+PSAxMjg6Cisg
ICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IEFTQ0lJIiAlIGNo
YXJhY3RlcikKKwogICAgICAgICBpZiBpc18zOgogICAgICAgICAgICAgY29kZXBvaW50cyA9IGJ5
dGVhcnJheShjaGFyYWN0ZXJzLCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICBlbHNlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWQ5
ZTk2NjdmMGE2ODZiMTY5NWM3MDhmYTA4ODUxNTM0MDNjYWUyYi4uN2QzNzgwNzA4MGY4Y2E3OWJl
ZTI2ZWUyMDc0ZjliMTU2NTNjYTRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yNjQsNiArMjY0LDcxIEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWly
cGxheS1wbGFjYXJkLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC1jbGljay1kZWxl
Z2F0ZS1ub3RpZmllci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b24uanMKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVy
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9jb250cm9scy1iYXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1z
ZXJ2aWNlLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ludmFsaWQtcGxhY2FyZC5qcworJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW9zLWlubGlu
ZS1tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0ZW0uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1mdWxsc2Ny
ZWVuLW1lZGlhLWNvbnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNv
bnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9tdXRlLWJ1dHRvbi5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtYnV0dG9uLmpzCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtcGxh
Y2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvcGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Jld2luZC1idXR0b24uanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NjaGVkdWxl
ci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvc2Vlay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NraXAtYmFjay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NraXAtZm9yd2FyZC1idXR0b24uanMK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Ns
aWRlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvc3RhdHVzLWxhYmVsLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtbGFiZWwuanMKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RyYWNrcy1idXR0
b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3dhdGNob3MtYWN0aXZpdHktaW5kaWNhdG9yLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLmpz
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJl
Y29nbml6ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVycy9waW5jaC5qcworJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVy
cy90YXAuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
aW4uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L2FpcnBsYXktc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEvYXVkaW8tc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0Lmpz
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9mdWxs
c2NyZWVuLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEt
ZG9jdW1lbnQtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9waXAtc3VwcG9ydC5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvcGxh
Y2FyZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS9wbGF5YmFjay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zY3J1YmJpbmctc3VwcG9ydC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1iYWNrd2FyZC1z
dXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS9zZWVrLWZvcndhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWJhY2stc3VwcG9ydC5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1m
b3J3YXJkLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3N0YXJ0LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3N0YXR1cy1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90aW1lLWNvbnRyb2wtc3VwcG9y
dC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
dHJhY2tzLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3ZvbHVtZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLXN1cHBvcnQu
anMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGE2NGU3ZTc5Y2FjMzU2YzJkMzcyY2FmZGJmNWEz
YTkzYmUwOTgwMWMuLjQwNWFlN2UzZTAyMjAwZWQ5ZmQ1MDQ5NzY4NGRkNzQyMDVhMTVlYzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0yNjU0LDYgKzI2NTQsNyBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9NYXRoTUxFbGVtZW50RmFjdG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50VHlwZUhlbHBlcnMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MTmFtZXMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxOYW1lcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Nb2Rlcm5NZWRpYUNv
bnRyb2xzLmpzCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Q
YWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1BsdWdJbnNSZXNvdXJjZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvUlRDUGVlckNvbm5lY3Rpb25CdWls
dGlucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1NjBiOGI3YWEwNTdmNTI4
NDJiZTUzZDAzOGQwZjRmNTI0ODMzOWE5Li43NWI0Njg4YWE3NzgwMjIwOWQ1YTExOWIxNmVmNjY1
MTZlZTUwMDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1NDMsOSArMTU0
Myw4NyBAQCBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIDogJChXZWJDb3JlKS9jc3MvbWFrZS1jc3Mt
ZmlsZS1hcnJheXMucGwgJChXZWJDb3JlKS9iaW5kaQogCiAjIC0tLS0tLS0tCiAKKyMgbW9kZXJu
IG1lZGlhIGNvbnRyb2xzCisKK01PREVSTl9NRURJQV9DT05UUk9MU19TQ1JJUFRTID0gXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFpbi5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6
ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJzL3RhcC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJzL3Bp
bmNoLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL3NjaGVkdWxlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLXNl
cnZpY2UuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtY29udHJvbC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWxhYmVsLmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L3NsaWRlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc2tpcC1iYWNrLWJ1dHRv
bi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9za2lwLWZvcndhcmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL211dGUtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2FpcnBsYXktYnV0dG9u
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3BpcC1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvdHJhY2tzLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9z
ZWVrLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9yZXdpbmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93
LWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9zdGF0dXMtbGFiZWwuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvY29udHJvbHMt
YmFyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2F1dG8taGlkZS1jb250cm9sbGVyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91
bmQtY2xpY2stZGVsZWdhdGUtbm90aWZpZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lv
cy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcGxhY2FyZC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LXBs
YWNhcmQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvaW52YWxpZC1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BpcC1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtYWN0aXZp
dHktaW5kaWNhdG9yLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1z
dXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL2FpcnBsYXktc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9hdWRpby1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxpdHkt
c3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9mdWxsc2NyZWVuLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
cGlwLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEvcGxhY2FyZC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3BsYXliYWNrLXN1cHBvcnQuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2NydWJiaW5nLXN1
cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEvc2Vlay1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstYmFja3dhcmQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zZWVrLWZvcndhcmQtc3Vw
cG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS9za2lwLWJhY2stc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWZvcndhcmQtc3VwcG9ydC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGFydC1zdXBwb3J0
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L3N0YXR1cy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL3RpbWUtY29udHJvbC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3RyYWNrcy1zdXBwb3J0LmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3ZvbHVt
ZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xsZXIuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvd2F0Y2hvcy1tZWRpYS1jb250cm9s
cy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMgXAorIworCithbGwgOiBNb2Rlcm5NZWRpYUNv
bnRyb2xzLmpzCisKK01vZGVybk1lZGlhQ29udHJvbHMuanMgOiAkKE1PREVSTl9NRURJQV9DT05U
Uk9MU19TQ1JJUFRTKQorCWNhdCAkPyA+IE1vZGVybk1lZGlhQ29udHJvbHMuanMKKwogIyB1c2Vy
IGFnZW50IHNjcmlwdHMKIAotVVNFUl9BR0VOVF9TQ1JJUFRTID0gJChXZWJDb3JlKS9Nb2R1bGVz
L3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuanMKK1VTRVJfQUdFTlRfU0NSSVBU
UyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5qcyBcCisgICAgTW9kZXJuTWVkaWFDb250cm9scy5qcyBcCisjCiAKIFVTRVJfQUdF
TlRfU0NSSVBUU19GSUxFUyA9IFwKICAgICBVc2VyQWdlbnRTY3JpcHRzLmggXApAQCAtMTU1Niw3
ICsxNjM0LDcgQEAgVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TID0gJChzdWJzdCAu
LCUsJChVU0VSX0FHRU5UX1NDUklQVFNfRklMRVMpKQogYWxsIDogJChVU0VSX0FHRU5UX1NDUklQ
VFNfRklMRVMpCiAKICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TKSA6ICQoSmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgJChVU0VSX0FH
RU5UX1NDUklQVFMpCi0JJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL21h
a2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxF
UykgJChVU0VSX0FHRU5UX1NDUklQVFMpCisJJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAtLWZhaWwtaWYtbm9u
LWFzY2lpICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTKSAkKFVTRVJfQUdFTlRfU0NSSVBUUykK
IAogIyAtLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdp
bnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KaW5kZXggMTZlMmYyMzQ2NDk0
NWEwZjQ2MjAwY2Q3NzVhNDk0NjhmZjFhYjhjZC4uZWU4OWY2MGY1MDVkNTA3ZDQwYzBjOGI3NWY3
NmJiNDE0ZjdkOTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQpAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgSlNWYWx1ZSAqanNWYWx1ZVdpdGhBVk1ldGFkYXRhSXRlbUluQ29udGV4dChBVk1l
dGFkYXRhSXRlbSAqLCBKU0NvbnRleHQgKgogCiBzdGF0aWMgU3RyaW5nIHF1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50U2NyaXB0KCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5n
PiBzY3JpcHQoUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0KSk7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFN0cmluZz4gc2NyaXB0KFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwo
UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0KSkpOwogICAgIHJldHVybiBzY3JpcHQ7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkNGQ2NjIwNWY1OWZhYmYwNDVjODA3ZDc0OGViMTc0MGJlYTEyYzFhLi4wYzg5YWJjMTQzMDdj
MjYxYzUwOTAwMDMyNzBlN2YxMGNmNWJkMzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDAzMiw3ICsxMDAzMiw2IEBACiAJ
CTcxM0YxRDVCMjNERjI1NjAwMDNGNUVGQSAvKiBKU0dldEFuaW1hdGlvbnNPcHRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEzRjFENUMyM0RGMjU2MDAwM0Y1RUZBIC8q
IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNHZXRBbmltYXRpb25zT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcxNDEzMTQ3MURDOUQ2QUYwMDMzNjEwNyAvKiBmdWxsc2NyZWVuLXN1cHBvcnQu
anMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiZnVsbHNjcmVlbi1z
dXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzE0MTMxNDgxREM5RDZF
RjAwMzM2MTA3IC8qIGpzLWZpbGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJqcy1maWxlcyI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1REQ4MjAyQjA2REMwMEFERkQzNCAv
KiBKU0VmZmVjdFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0VmZmVjdFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1
RERBMjAyQjA2REUwMEFERkQzNCAvKiBKU0VmZmVjdFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0VmZmVjdFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MTRDN0M2MDFGREFEMjc5MDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBbmltYXRpb25QbGF5
YmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNzM3LDcgKzIy
NzM2LDYgQEAKIAkJCQk3MTZGQTBENzFEQjI2NTkxMDA3MzIzQ0MgLyogY29udHJvbHMgKi8sCiAJ
CQkJMkQ4RDNCRUEyMzg0N0FDODAwNjU3MDc1IC8qIGdlc3R1cmUtcmVjb2duaXplcnMgKi8sCiAJ
CQkJNzFENkFBNkYxREE0RUFGNzAwQjIzOTY5IC8qIGltYWdlcyAqLywKLQkJCQk3MTQxMzE0ODFE
QzlENkVGMDAzMzYxMDcgLyoganMtZmlsZXMgKi8sCiAJCQkJNzFEMDJEOTExREI1NUM0RTAwREQ1
Q0Y1IC8qIG1lZGlhICovLAogCQkJCTcxRDAyRDkwMURCNTVDNEUwMERENUNGNSAvKiBtYWluLmpz
ICovLAogCQkJKTsKQEAgLTM2MDgxLDcgKzM2MDc5LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0J
CQlzaGVsbFNjcmlwdCA9ICJTUkNfRElSPVwiJFNSQ1JPT1QvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHNcIlxuRFNUX0RJUj1cIiRCVUlMVF9QUk9EVUNUU19ESVIvJFVOTE9DQUxJWkVEX1JF
U09VUkNFU19GT0xERVJfUEFUSC9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuXG5ta2RpciAtcCBc
IiREU1RfRElSXCJcblxuaWYgWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwi
IF07IHRoZW5cbiAgICBJTUdfT1NfUFJFRklYPVwibWFjT1NcIlxuZWxzZVxuICAgIGlmIFtbIFwi
JHtXS19QTEFURk9STV9OQU1FfVwiID09ICpcIndhdGNoXCIqIF1dOyB0aGVuXG4gICAgICAgIElN
R19PU19QUkVGSVg9XCJ3YXRjaE9TXCJcbiAgICBlbHNlXG4gICAgICAgIElNR19PU19QUkVGSVg9
XCJpT1NcIlxuICAgIGZpXG5maVxuXG5pZiBbIC1uIFwiJElNR19PU19QUkVGSVhcIiBdOyB0aGVu
XG5yc3luYyAtYXEgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcIi5EU19TdG9yZVwiIFwi
JFNSQ19ESVIvaW1hZ2VzLyRJTUdfT1NfUFJFRklYL1wiIFwiJERTVF9ESVIvaW1hZ2VzXCJcbmZp
XG5cbmNkIFwiJFNSQ19ESVJcIlxuY2F0IGNvbnRyb2xzLyouY3NzIHwgcGVybCAtMDc3NyAtcGUg
J3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5j
c3NcIlxuY2F0IGBjYXQganMtZmlsZXNgIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99
e31ncycgPiBcIiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5qc1wiXG4iOworCQkJc2hl
bGxTY3JpcHQgPSAiU1JDX0RJUj1cIiRTUkNST09UL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzXCJcbkRTVF9ESVI9XCIkQlVJTFRfUFJPRFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEgvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcblxubWtkaXIgLXAgXCIkRFNU
X0RJUlwiXG5cbmlmIFsgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdOyB0
aGVuXG4gICAgSU1HX09TX1BSRUZJWD1cIm1hY09TXCJcbmVsc2VcbiAgICBpZiBbWyBcIiR7V0tf
UExBVEZPUk1fTkFNRX1cIiA9PSAqXCJ3YXRjaFwiKiBdXTsgdGhlblxuICAgICAgICBJTUdfT1Nf
UFJFRklYPVwid2F0Y2hPU1wiXG4gICAgZWxzZVxuICAgICAgICBJTUdfT1NfUFJFRklYPVwiaU9T
XCJcbiAgICBmaVxuZmlcblxuaWYgWyAtbiBcIiRJTUdfT1NfUFJFRklYXCIgXTsgdGhlblxucnN5
bmMgLWFxIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBcIiRTUkNf
RElSL2ltYWdlcy8kSU1HX09TX1BSRUZJWC9cIiBcIiREU1RfRElSL2ltYWdlc1wiXG5maVxuXG5j
ZCBcIiRTUkNfRElSXCJcbmNhdCBjb250cm9scy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBlICdzey9c
XCouKj9cXCovfXt9Z3MnID4gXCIkRFNUX0RJUi9tb2Rlcm4tbWVkaWEtY29udHJvbHMuY3NzXCJc
biI7CiAJCX07CiAJCUE1RTc5Q0VDMUU2N0YyQ0YwMEZCODE1MyAvKiBNYWtlIEZyYW1ld29ya3Mg
U3ltYm9saWMgTGluayAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDE5ODk5ZWNjMDlk
YjFmMDFlZGM3M2RmZDA4YzcwOTM0YTY2YmZjNzMuLjg3OTI2MWU0MzMxOGNiZDUzNmI3OGMwOTNk
YTFmOTZkOWI4ZDk0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNzE0OCwxMSArNzE0OCwxMSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1l
ZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCA9IFJlbmRlclRoZW1l
OjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7Ci0gICAgaWYgKCFtZWRpYUNvbnRy
b2xzU2NyaXB0Lmxlbmd0aCgpKQorICAgIGF1dG8gbWVkaWFDb250cm9sc1NjcmlwdHMgPSBSZW5k
ZXJUaGVtZTo6c2luZ2xldG9uKCkubWVkaWFDb250cm9sc1NjcmlwdHMoKTsKKyAgICBpZiAoIW1l
ZGlhQ29udHJvbHNTY3JpcHRzLnNpemUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
cmV0dXJuIHNldHVwQW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0XShKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBTY3JpcHRDb250cm9sbGVyJiBzY3JpcHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQm
IHdvcmxkKSB7CisgICAgcmV0dXJuIHNldHVwQW5kQ2FsbEpTKFttZWRpYUNvbnRyb2xzU2NyaXB0
cyA9IFdURk1vdmUobWVkaWFDb250cm9sc1NjcmlwdHMpXShKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0LCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTY3Jp
cHRDb250cm9sbGVyJiBzY3JpcHRDb250cm9sbGVyLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7
CiAgICAgICAgIGF1dG8mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7CiAgICAgICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKIApAQCAtNzE2MCwxNiArNzE2MCwyMCBAQCBi
b29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgp
CiAgICAgICAgIGlmIChmdW5jdGlvblZhbHVlLmlzQ2FsbGFibGUodm0pKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAKLSNpZiAhZGVmaW5lZChOREVCVUcpCi0gICAgICAgIC8vIFNldHRpbmcg
YSBzY3JpcHRVUkwgYWxsb3dzIHRoZSBzb3VyY2UgdG8gYmUgZGVidWdnYWJsZSBpbiB0aGUgaW5z
cGVjdG9yLgotICAgICAgICBVUkwgc2NyaXB0VVJMID0gVVJMKHsgfSwgIm1lZGlhQ29udHJvbHNT
Y3JpcHQiX3MpOwotI2Vsc2UKLSAgICAgICAgVVJMIHNjcmlwdFVSTDsKLSNlbmRpZgotICAgICAg
ICBzY3JpcHRDb250cm9sbGVyLmV2YWx1YXRlSW5Xb3JsZElnbm9yaW5nRXhjZXB0aW9uKFNjcmlw
dFNvdXJjZUNvZGUobWVkaWFDb250cm9sc1NjcmlwdCwgV1RGTW92ZShzY3JpcHRVUkwpKSwgd29y
bGQpOwotICAgICAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7Ci0gICAgICAg
ICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIGZvciAoYXV0byYgbWVkaWFDb250
cm9sc1NjcmlwdCA6IG1lZGlhQ29udHJvbHNTY3JpcHRzKSB7CisgICAgICAgICAgICBpZiAobWVk
aWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAvLyBTZXR0aW5nIGEgc2NyaXB0VVJMIGFsbG93cyB0aGUgc291cmNlIHRvIGJl
IGRlYnVnZ2FibGUgaW4gdGhlIGluc3BlY3Rvci4KKyAgICAgICAgICAgIFVSTCBzY3JpcHRVUkwg
PSBVUkwoeyB9LCBtYWtlU3RyaW5nKCJfX0luamVjdGVkU2NyaXB0X21lZGlhQ29udHJvbHNTY3Jp
cHQiX3MsIGluZGV4LCAiLmpzIikpOworICAgICAgICAgICAgc2NyaXB0Q29udHJvbGxlci5ldmFs
dWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihTY3JpcHRTb3VyY2VDb2RlKG1lZGlhQ29udHJv
bHNTY3JpcHQsIFdURk1vdmUoc2NyaXB0VVJMKSksIHdvcmxkKTsKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKKyAgICAgICAgICAgICAgICBFeGNlcHRpb24q
IGV4Y2VwdGlvbiA9IHNjb3BlLmV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIHNjb3BlLmNs
ZWFyRXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgcmVwb3J0RXhjZXB0aW9uKCZnbG9iYWxP
YmplY3QsIGV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgKytpbmRleDsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVy
biB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBiZGYzMTk3
NzRlY2Y4NWNmMGU4ZDBkOTBiZTIxYzI4NzIzOGEzYjJmLi41ZGNlZDc4ZWVkMmIzNjdlODY5NDhh
ZmMwNjg4YzUxZGMyMjMyZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aApAQCAtODcsNyArODcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZSB7CiAgICAgdmlydHVhbCBTdHJp
bmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZp
cnR1YWwgU3RyaW5nIG1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xz
U2NyaXB0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmcs
IDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgeyByZXR1cm4geyB9OyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwg
U3RyaW5nIG1lZGlhQ29udHJvbHNGb3JtYXR0ZWRTdHJpbmdGb3JEdXJhdGlvbihkb3VibGUpIHsg
cmV0dXJuIFN0cmluZygpOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lQWR3YWl0YS5jcHAKaW5kZXggNjA0YWJiNmM2Y2NhOTJhZjJhZTlkYmQ2MDY2
NzMwMmQ0YzM2MjE2ZS4uODBmZWE2ZjFiMjllZTA4ZjM4MWQxYzY3MWVhZTRjZWU2YmJiNGY1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAK
QEAgLTE3Miw5ICsxNzIsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpleHRyYU1lZGlh
Q29udHJvbHNTdHlsZVNoZWV0KCkKICAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdh
aXRhVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhVXNlckFn
ZW50U3R5bGVTaGVldCkpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNv
bnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVk
aWFDb250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fk
d2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSk7
CisgICAgcmV0dXJuIHsgU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6
ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCkpIH07CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCmluZGV4IDA1N2E4
MzRiYWNiMjI4ZTQ5OTZjYWY0ZjlhNTZlNDQwZjQ3YjdmMmQuLmUwMDI4NjhlZTdmNzVkOGZjNzA4
MGVlNjNkODFmMzBhMDdhYzY1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUFkd2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVBZHdhaXRhLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVBZHdh
aXRhIDogcHVibGljIFJlbmRlclRoZW1lIHsKICAgICBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVT
aGVldCgpIGZpbmFsOwogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgZXh0cmFNZWRpYUNv
bnRyb2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0
KCkgZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBm
aW5hbDsKICNlbmRpZgogCiAgICAgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxl
JikgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MuaAppbmRleCBkODRiNWRhNGEwYjNlZjdkY2YxMjE0Mjk1N2I3ZDE0NGIx
OThmYWEyLi44OTJlZDNkN2UxNzA4ZmMxOTlkYzE3NThhNTI1OTgzZmQxODhiZGUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtMTU2LDcgKzE1Niw3IEBA
IGNsYXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2Egewog
I2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBv
dmVycmlkZTsKICAgICBTdHJpbmcgbW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVy
cmlkZTsKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOworICAgIFZl
Y3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgb3ZlcnJpZGU7CiAgICAgU3Ry
aW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjZW5kaWYKIApAQCAtMTkxLDcgKzE5MSw5
IEBAIGNsYXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2Eg
ewogICAgIENvbG9yIHN5c3RlbUNvbG9yKENTU1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9y
OjpPcHRpb25zPikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNv
bnRyb2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdz
U2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1f
bWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFD
b250cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQppbmRleCBlNDg1
MDMwZWRiNzZjZGQxZTY1N2EzMDdmZjM4ZWIzMmE1YTM3NGVjLi44NDM0YzgyYTI1ZmUxMmI0OTRm
ZDM4OGYxMTQ3YTA2ZjQ3YTVhNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tCkBAIC0xMjc2LDI2ICsxMjc2LDM2IEBAIFN0cmluZyBSZW5kZXJUaGVtZUlP
Uzo6bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJUaGVtZUlPUzo6
cHVyZ2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5jbGVhcklt
cGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3Jp
cHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQuY2xl
YXJJbXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVT
aGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lSU9TOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lSU9TOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkgewotICAgICAg
ICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgTlNC
dW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRo
ZW1lQnVuZGxlIGNsYXNzXV07CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRT
dHJpbmdzU2NyaXB0LmlzRW1wdHkoKSB8fCBtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgp
IHx8IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuaXNFbXB0eSgpKSB7CisgICAgICAg
ICAgICAvLyBGSVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBz
Y3JpcHQuIFdlIHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAg
ICAgICBpZiAobV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZv
ckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAgICAgICAg
ICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmlu
Z1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRp
YS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBt
X21lZGlhQ29udHJvbHNTY3JpcHQgPSBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBs
KE1vZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0LCBzaXplb2YoTW9kZXJuTWVkaWFDb250cm9s
c0phdmFTY3JpcHQpKTsKIAotICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVy
OwotICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhD
b250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250
cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5k
KFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3Vy
Y2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1v
ZGVybi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9y
Om5pbF0pOwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9s
c1NjcmlwdCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJv
bHNTY3JpcHQKKyAgICAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2Ny
aXB0ID0gU3RyaW5nKFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQp
OwogI2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWls
ZGVyLnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9s
c1NjcmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xv
Y2FsaXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQs
CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LAorICAgICAgICB9
OwogICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgp
KSB7CkBAIC0xMzA4LDcgKzEzMTgsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29u
dHJvbHNTY3JpcHQoKQogCiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IHNj
cmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbGVnYWN5TWVkaWFD
b250cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQg
fTsKIH0KIAogU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5n
Rm9ySWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYgaWNvbk5hbWUsIGNvbnN0IFN0cmluZyYg
aWNvblR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IDYxMWRjZWRjMTIwMGJmNGFhZDUyMzBjMDFkMzlmODg2MTNjOTIxYWQuLjgwNzUwNDMzZWVlYjI0
OTgyNGYxNmEyYjQ0OTcxNDM2ZmUzZjRmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0xMDgsNyArMTA4LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVNYWMg
ZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgLy8gTWVkaWEgY29udHJvbHMK
ICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKICAgICBTdHJpbmcg
bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKLSAgICBTdHJpbmcgbWVkaWFD
b250cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJv
bHNTY3JpcHRzKCkgZmluYWw7CiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdG
b3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAj
ZW5kaWYKIApAQCAtMjM4LDcgKzIzOCw5IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZpbmFsIDog
cHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIFJldGFpblB0cjxXZWJDb3JlUmVuZGVyVGhl
bWVOb3RpZmljYXRpb25PYnNlcnZlcj4gbV9ub3RpZmljYXRpb25PYnNlcnZlcjsKIAogICAgIFN0
cmluZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250
cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1Nj
cmlwdDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdDsKICAgICBT
dHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9tZWRp
YUNvbnRyb2xzU3R5bGVTaGVldDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KaW5kZXggZjE1NGI1ZjVhM2Q3M2U1MDc4MTdjYjkwYjY4ODlmMTA1ZTc1ZDM3
My4uOWJmMDQxYTZlYjZiZjFiYzUyMjM4OGE0ODZiNTQ0ODY2ODg2NWZjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMzE2LDI4ICszMTYsMzggQEAg
U3RyaW5nIFJlbmRlclRoZW1lTWFjOjptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB2
b2lkIFJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcygpCiB7CiAgICAgbV9sZWdhY3lNZWRpYUNv
bnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRyb2xz
TG9jYWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVk
aWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250
cm9sc0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX2xlZ2Fj
eU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9t
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogCiAgICAgUmVu
ZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKCk7CiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVk
aWFDb250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZU1hYzo6bWVk
aWFDb250cm9sc1NjcmlwdHMoKQogewogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKCkpIHsKLSAgICAgICAg
aWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIE5TQnVu
ZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVt
ZUJ1bmRsZSBjbGFzc11dOworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3Ry
aW5nc1NjcmlwdC5pc0VtcHR5KCkgfHwgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSB8
fCBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LmlzRW1wdHkoKSkgeworICAgICAgICAg
ICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2Ny
aXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0ZWFkLgorICAgICAgICAg
ICAgaWYgKG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JD
bGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNzXV07CisgICAgICAgICAgICAgICAg
bV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdX
aXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEt
Y29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4
U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
aWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9t
ZWRpYUNvbnRyb2xzU2NyaXB0ID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChN
b2Rlcm5NZWRpYUNvbnRyb2xzSmF2YVNjcmlwdCwgc2l6ZW9mKE1vZGVybk1lZGlhQ29udHJvbHNK
YXZhU2NyaXB0KSk7CiAKLSAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsK
LSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29u
dGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJv
bHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5n
RW5jb2RpbmcgZXJyb3I6bmlsXSk7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNl
OkAibW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rl
cm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpu
aWxdKTsKICNpZiBkZWZpbmVkKFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNT
Y3JpcHQpCi0gICAgICAgICAgICBSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xz
U2NyaXB0CisgICAgICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlw
dCA9IFN0cmluZyhSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsK
ICNlbmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRl
ci50b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNT
Y3JpcHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2Nh
bGl6ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAor
ICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsK
ICAgICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkg
ewpAQCAtMzQ2LDcgKzM1Niw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9s
c1NjcmlwdCgpCiAgICAgICAgIE5TU3RyaW5nICpzY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0
aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0Fw
cGxlIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5p
bF07CiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IG1ha2VTdHJpbmcoU3Ry
aW5nIHsgbG9jYWxpemVkU3RyaW5ncyB9LCBTdHJpbmcgeyBzY3JpcHQgfSk7CiAgICAgfQotICAg
IHJldHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgcmV0dXJuIHsgbV9sZWdh
Y3lNZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAKIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVk
aWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmIGlj
b25OYW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5jcHAKaW5kZXggZDk3NjMwNGY4YmQ3NWE3ZDdiNTdiOGZiOTUwMTNk
YWY2NDZiNDE1ZS4uZDBmZDJhNmEzMTI0OTgxNGI0MGQwMmU1ZDI0YzU5Mzg3ODNiOGQ5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCkBAIC0xMDc5LDcg
KzEwNzksNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
KCkKICNlbmRpZgogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3Jp
cHQoKQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3Jp
cHRzKCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgIGlmIChtX21l
ZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CkBAIC0xMDg4LDkgKzEwODgsOSBAQCBTdHJp
bmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogICAgICAgICBzY3JpcHRC
dWlsZGVyLmFwcGVuZChzdHJpbmdXaXRoQ29udGVudHNPZkZpbGUoIm1lZGlhQ29udHJvbHNBcHBs
ZSJfcywgImpzIl9zKSk7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1
aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1Njcmlw
dDsKKyAgICByZXR1cm4geyBtX21lZGlhQ29udHJvbHNTY3JpcHQgfTsKICNlbHNlCi0gICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsKICNlbmRpZgogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCmluZGV4IDI1Nzg5NDMzN2E5
YzM5NzI2ZjJhZTk0MzJiMTRhNGNiYzgzMWY1OTAuLjZkMTdhZmQ4M2FiNjNmZGFmYzhmYTE4ODEz
Y2IzMzczN2M1YTEyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdp
bi5oCkBAIC0xMjEsNyArMTIxLDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVXaW4gZmluYWwgOiBwdWJs
aWMgUmVuZGVyVGhlbWUgewogCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIFN0cmluZyBtZWRpYUNv
bnRyb2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2Ny
aXB0KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1Njcmlw
dHMoKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgSW50U2l6ZSBtZXRlclNpemVGb3JCb3VuZHMo
Y29uc3QgUmVuZGVyTWV0ZXImLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Cg==
</data>
<flag name="commit-queue"
          id="442937"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423539</attachid>
            <date>2021-03-17 16:45:14 -0700</date>
            <delta_ts>2021-03-17 18:57:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223309-20210317164513.patch</filename>
            <type>text/plain</type>
            <size>38011</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzU0NWJlZjY0Njk0NDA3YmIyZDgxNGIwMGNmYTg0YzcyZDdjYTllLi5iMmVjZWZlODlhZGZkYWNh
MGQ4NmMyM2I4YTRjN2E4M2M4ODQ0ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBh
bGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisg
ICAgICAgIEFkZCAtLWZhaWwtaWYtbm9uLWFzY2lpIGZsYWcgdG8gZW5zdXJlIHRoYXQgaW5wdXQg
ZmlsZXMgZG8gbm90IGluY2x1ZGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL21ha2UtanMtZmlsZS1hcnJheXMucHk6CisgICAgICAgIChtYWluKToKKwogMjAyMS0w
My0xNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dlYklETF0gRml4IGNvbnZlcnRSZWNvcmQoKSB0byB0aHJvdyBvbiBlbnVtZXJhYmxlIHN5bWJv
bCB8a2V5fApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJjNDY2Mzg1ODhiZDBhYWZlZGEyYWJjN2QzMGRiYTQ5ZDgx
OWQ1NWYuLmU5ZWEyODViOTgxOTcxOTA4NGM2MzlkYWMwZDUzMWJiNzEzN2NkOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1MyBAQAorMjAyMS0wMy0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIG1vZGVybi1tZWRpYS1jb250cm9scyBzY3JpcHQgc2hvdWxk
IG5vdCBiZSBhbGxvY2F0ZWQgaW4gaGVhcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91
c3NvLgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIGFyZSBjb25jYXRlbmF0aW5nIHNldmVyYWwg
bW9kZXJuLW1lZGlhLWNvbnRyb2xzIHNjcmlwdHMgaW50byBvbmUuCisgICAgICAgIEJ1dCB0aGlz
IGNhdXNlcyBzaWduaWZpY2FudCBtZW1vcnkgb3ZlcmhlYWQgKH42MDBLQikuIFVzaW5nIE5TQnVu
ZGxlJ3MgZGF0YSBzdGlsbAorICAgICAgICBhbGxvY2F0ZXMgbWVtb3J5IHNpbmNlIFdURjo6U3Ry
aW5nKENGU3RyaW5nKSBhbGxvY2F0ZXMgaGVhcCBtZW1vcnkuCisKKyAgICAgICAgTGV0J3MgdXNl
IGV4aXN0aW5nIG1lY2hhbmlzbSBkZXNpZ25lZCBmb3IgdGhpcyBwdXJwb3NlLiBXZSBzZXJpYWxp
emUgbW9kZXJuLW1lZGlhLWNvbnRyb2xzLmpzIGludG8gY29uc3QgQyBhcnJheSBpbgorICAgICAg
ICBVc2VyQWdlbnRTY3JpcHREYXRhLmNwcC4gVXNlckFnZW50U2NyaXB0IGlzIGEgbWVjaGFuaXNt
IGZvciBoYXZpbmcgdXNlci1hZ2VudCBzcGVjaWZpYyBzY3JpcHQgc291cmNlLCBhbmQgdGhpcyBt
YXRjaGVzCisgICAgICAgIHRvIG91ciBwdXJwb3NlLiAoZm9yIGV4YW1wbGUsIFVzZXJBZ2VudFN0
eWxlU2hlZXRzIChDU1MgdmVyc2lvbiBvZiB0aGF0KSBoYXZlIGh0bWwuY3NzIGV0Yy4pLgorCisg
ICAgICAgIFdlIGFsc28gX19JbmplY3RlZFNjcmlwdF8qLmpzIG5hbWUgZm9yIHRoZXNlIE1vZGVy
bk1lZGlhQ29udHJvbHMuanMgc2NyaXB0cyB3aGlsZSB0aGlzIGlzIG5vdCBkaXJlY3RseSByZWxh
dGVkIHRvIHRoZQorICAgICAgICBoZWFwIHVzYWdlIHJlZHVjdGlvbiBvZiB0aGlzIHBhdGNoLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBub3QgZG8gdGhlIHNhbWUgdGhpbmcgZm9yIENTUyBv
ZiBtb2Rlcm4tbWVkaWEtY29udHJvbHMgc2luY2UgdGhpcyBwYXRjaCdzIGZvY3VzIGlzIHNjcmlw
dCBmaWxlcyBmaXJzdC4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpxdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudFNjcmlwdCk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRT
Y3JpcHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OnB1cmdlQ2FjaGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6OnB1cmdlQ2FjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6
bWVkaWFDb250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjptZWRpYUNv
bnRyb2xzU2NyaXB0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6bWVkaWFD
b250cm9sc1NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmg6CisKIDIwMjEtMDMtMTcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0dQVVBdIG1lZGlhL3ZpZGVvLXNldC1yYXRlLWZyb20tcGF1c2UuaHRt
bCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1q
cy1maWxlLWFycmF5cy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL21ha2UtanMt
ZmlsZS1hcnJheXMucHkKaW5kZXggZDlmZmI2MDJlMzVlODQxMzQ5N2E5MTgyY2RlZWRlMGI2YzE0
ODdiZi4uNzI4OTMzNTAwMDNjMWQ4MzFlNGY3M2ViMWQzNjQ5YTE0NTQ4NzYzZSAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbWFrZS1qcy1maWxlLWFycmF5cy5weQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5
CkBAIC00NSw2ICs0NSw3IEBAIGRlZiBjaHVuayhsaXN0LCBjaHVua1NpemUpOgogZGVmIG1haW4o
KToKICAgICBwYXJzZXIgPSBPcHRpb25QYXJzZXIodXNhZ2U9InVzYWdlOiAlcHJvZyBbb3B0aW9u
c10gaGVhZGVyIHNvdXJjZSBbaW5wdXQgW2lucHV0Li4uXV0iKQogICAgIHBhcnNlci5hZGRfb3B0
aW9uKCctLW5vLW1pbmlmeScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J0RvIG5vdCBydW4g
dGhlIGlucHV0IGZpbGVzIHRocm91Z2gganNtaW4nKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCct
LWZhaWwtaWYtbm9uLWFzY2lpJywgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0nRmFpbCBpZiB0
aGUgaW5wdXQgZmlsZXMgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycycpCiAgICAgcGFyc2Vy
LmFkZF9vcHRpb24oJy1uJywgJy0tbmFtZXNwYWNlJywgaGVscD0nTmFtZXNwYWNlIHRvIHVzZScp
CiAgICAgKG9wdGlvbnMsIGFyZ3VtZW50cykgPSBwYXJzZXIucGFyc2VfYXJncygpCiAgICAgaWYg
bm90IG9wdGlvbnMubmFtZXNwYWNlOgpAQCAtODIsNiArODMsMTEgQEAgZGVmIG1haW4oKToKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIGNoYXJhY3RlcnMgPSBkYXRhCiAKKyAgICAgICAgaWYg
b3B0aW9ucy5mYWlsX2lmX25vbl9hc2NpaToKKyAgICAgICAgICAgIGZvciBjaGFyYWN0ZXIgaW4g
Y2hhcmFjdGVyczoKKyAgICAgICAgICAgICAgICBpZiBvcmQoY2hhcmFjdGVyKSA+PSAxMjg6Cisg
ICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IEFTQ0lJIiAlIGNo
YXJhY3RlcikKKwogICAgICAgICBpZiBpc18zOgogICAgICAgICAgICAgY29kZXBvaW50cyA9IGJ5
dGVhcnJheShjaGFyYWN0ZXJzLCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICBlbHNlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWQ5
ZTk2NjdmMGE2ODZiMTY5NWM3MDhmYTA4ODUxNTM0MDNjYWUyYi4uN2QzNzgwNzA4MGY4Y2E3OWJl
ZTI2ZWUyMDc0ZjliMTU2NTNjYTRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yNjQsNiArMjY0LDcxIEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWly
cGxheS1wbGFjYXJkLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9hdXRvLWhpZGUtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC1jbGljay1kZWxl
Z2F0ZS1ub3RpZmllci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b24uanMKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVy
LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9jb250cm9scy1iYXIuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5qcworJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1z
ZXJ2aWNlLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ludmFsaWQtcGxhY2FyZC5qcworJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW9zLWlubGlu
ZS1tZWRpYS1jb250cm9scy5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0ZW0uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1mdWxsc2Ny
ZWVuLW1lZGlhLWNvbnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNv
bnRyb2xzLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9tdXRlLWJ1dHRvbi5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uLmpzCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtYnV0dG9uLmpzCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9waXAtcGxh
Y2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvcGxhY2FyZC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Jld2luZC1idXR0b24uanMKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NjaGVkdWxl
ci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvc2Vlay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NraXAtYmFjay1idXR0b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NraXAtZm9yd2FyZC1idXR0b24uanMK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3Ns
aWRlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvc3RhdHVzLWxhYmVsLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtbGFiZWwuanMKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RyYWNrcy1idXR0
b24uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3dhdGNob3MtYWN0aXZpdHktaW5kaWNhdG9yLmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLmpz
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJl
Y29nbml6ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVycy9waW5jaC5qcworJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZ2VzdHVyZS1yZWNvZ25pemVy
cy90YXAuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
aW4uanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L2FpcnBsYXktc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEvYXVkaW8tc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0Lmpz
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9mdWxs
c2NyZWVuLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEt
ZG9jdW1lbnQtY29udHJvbGxlci5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9waXAtc3VwcG9ydC5q
cworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvcGxh
Y2FyZC1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS9wbGF5YmFjay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zY3J1YmJpbmctc3VwcG9ydC5qcworJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1iYWNrd2FyZC1z
dXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS9zZWVrLWZvcndhcmQtc3VwcG9ydC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2Vlay1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWJhY2stc3VwcG9ydC5qcwor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2tpcC1m
b3J3YXJkLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3N0YXJ0LXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3N0YXR1cy1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90aW1lLWNvbnRyb2wtc3VwcG9y
dC5qcworJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
dHJhY2tzLXN1cHBvcnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhL3ZvbHVtZS1zdXBwb3J0LmpzCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS93YXRjaG9zLW1lZGlhLWNvbnRyb2xzLXN1cHBvcnQu
anMKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGE2NGU3ZTc5Y2FjMzU2YzJkMzcyY2FmZGJmNWEz
YTkzYmUwOTgwMWMuLjQwNWFlN2UzZTAyMjAwZWQ5ZmQ1MDQ5NzY4NGRkNzQyMDVhMTVlYzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0yNjU0LDYgKzI2NTQsNyBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9NYXRoTUxFbGVtZW50RmFjdG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50VHlwZUhlbHBlcnMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MTmFtZXMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxOYW1lcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Nb2Rlcm5NZWRpYUNv
bnRyb2xzLmpzCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Q
YWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1BsdWdJbnNSZXNvdXJjZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvUlRDUGVlckNvbm5lY3Rpb25CdWls
dGlucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1NjBiOGI3YWEwNTdmNTI4
NDJiZTUzZDAzOGQwZjRmNTI0ODMzOWE5Li43NWI0Njg4YWE3NzgwMjIwOWQ1YTExOWIxNmVmNjY1
MTZlZTUwMDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE1NDMsOSArMTU0
Myw4NyBAQCBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIDogJChXZWJDb3JlKS9jc3MvbWFrZS1jc3Mt
ZmlsZS1hcnJheXMucGwgJChXZWJDb3JlKS9iaW5kaQogCiAjIC0tLS0tLS0tCiAKKyMgbW9kZXJu
IG1lZGlhIGNvbnRyb2xzCisKK01PREVSTl9NRURJQV9DT05UUk9MU19TQ1JJUFRTID0gXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFpbi5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6
ZXJzL2dlc3R1cmUtcmVjb2duaXplci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJzL3RhcC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9nZXN0dXJlLXJlY29nbml6ZXJzL3Bp
bmNoLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL3NjaGVkdWxlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLXNl
cnZpY2UuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvYmFja2dyb3VuZC10aW50LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3RpbWUtY29udHJvbC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWxhYmVsLmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L3NsaWRlci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvcGxheS1wYXVzZS1idXR0b24uanMgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc2tpcC1iYWNrLWJ1dHRv
bi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9za2lwLWZvcndhcmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL211dGUtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2FpcnBsYXktYnV0dG9u
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3BpcC1idXR0b24uanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvdHJhY2tzLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9mdWxsc2NyZWVuLWJ1dHRvbi5qcyBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9z
ZWVrLWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9yZXdpbmQtYnV0dG9uLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ZvcndhcmQtYnV0dG9uLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93
LWJ1dHRvbi5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9zdGF0dXMtbGFiZWwuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvY29udHJvbHMt
YmFyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2F1dG8taGlkZS1jb250cm9sbGVyLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2JhY2tncm91
bmQtY2xpY2stZGVsZWdhdGUtbm90aWZpZXIuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lv
cy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpz
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvcGxhY2FyZC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LXBs
YWNhcmQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvaW52YWxpZC1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3BpcC1wbGFjYXJkLmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtYWN0aXZp
dHktaW5kaWNhdG9yLmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbWVkaWEtY29udHJvbHMuanMgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1z
dXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhL2FpcnBsYXktc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9hdWRpby1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxpdHkt
c3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9mdWxsc2NyZWVuLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbXV0ZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQu
anMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEv
cGlwLXN1cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEvcGxhY2FyZC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3BsYXliYWNrLXN1cHBvcnQuanMgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvc2NydWJiaW5nLXN1
cHBvcnQuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEvc2Vlay1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL3NlZWstYmFja3dhcmQtc3VwcG9ydC5qcyBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zZWVrLWZvcndhcmQtc3Vw
cG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS9za2lwLWJhY2stc3VwcG9ydC5qcyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9za2lwLWZvcndhcmQtc3VwcG9ydC5qcyBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9zdGFydC1zdXBwb3J0
LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L3N0YXR1cy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL3RpbWUtY29udHJvbC1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3RyYWNrcy1zdXBwb3J0LmpzIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL3ZvbHVt
ZS1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL21lZGlhLWRvY3VtZW50LWNvbnRyb2xsZXIuanMgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvd2F0Y2hvcy1tZWRpYS1jb250cm9s
cy1zdXBwb3J0LmpzIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMgXAorIworCithbGwgOiBNb2Rlcm5NZWRpYUNv
bnRyb2xzLmpzCisKK01vZGVybk1lZGlhQ29udHJvbHMuanMgOiAkKE1PREVSTl9NRURJQV9DT05U
Uk9MU19TQ1JJUFRTKQorCWNhdCAkPyA+IE1vZGVybk1lZGlhQ29udHJvbHMuanMKKwogIyB1c2Vy
IGFnZW50IHNjcmlwdHMKIAotVVNFUl9BR0VOVF9TQ1JJUFRTID0gJChXZWJDb3JlKS9Nb2R1bGVz
L3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuanMKK1VTRVJfQUdFTlRfU0NSSVBU
UyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5qcyBcCisgICAgTW9kZXJuTWVkaWFDb250cm9scy5qcyBcCisjCiAKIFVTRVJfQUdF
TlRfU0NSSVBUU19GSUxFUyA9IFwKICAgICBVc2VyQWdlbnRTY3JpcHRzLmggXApAQCAtMTU1Niw3
ICsxNjM0LDcgQEAgVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TID0gJChzdWJzdCAu
LCUsJChVU0VSX0FHRU5UX1NDUklQVFNfRklMRVMpKQogYWxsIDogJChVU0VSX0FHRU5UX1NDUklQ
VFNfRklMRVMpCiAKICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTX1BBVFRFUk5TKSA6ICQoSmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgJChVU0VSX0FH
RU5UX1NDUklQVFMpCi0JJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL21h
a2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAkKFVTRVJfQUdFTlRfU0NSSVBUU19GSUxF
UykgJChVU0VSX0FHRU5UX1NDUklQVFMpCisJJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkgLW4gV2ViQ29yZSAtLWZhaWwtaWYtbm9u
LWFzY2lpICQoVVNFUl9BR0VOVF9TQ1JJUFRTX0ZJTEVTKSAkKFVTRVJfQUdFTlRfU0NSSVBUUykK
IAogIyAtLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdp
bnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KaW5kZXggMTZlMmYyMzQ2NDk0
NWEwZjQ2MjAwY2Q3NzVhNDk0NjhmZjFhYjhjZC4uZWU4OWY2MGY1MDVkNTA3ZDQwYzBjOGI3NWY3
NmJiNDE0ZjdkOTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQpAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgSlNWYWx1ZSAqanNWYWx1ZVdpdGhBVk1ldGFkYXRhSXRlbUluQ29udGV4dChBVk1l
dGFkYXRhSXRlbSAqLCBKU0NvbnRleHQgKgogCiBzdGF0aWMgU3RyaW5nIHF1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50U2NyaXB0KCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5n
PiBzY3JpcHQoUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0KSk7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFN0cmluZz4gc2NyaXB0KFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwo
UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0LCBzaXplb2YoUXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnRKYXZhU2NyaXB0KSkpOwogICAgIHJldHVybiBzY3JpcHQ7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkNGQ2NjIwNWY1OWZhYmYwNDVjODA3ZDc0OGViMTc0MGJlYTEyYzFhLi4wYzg5YWJjMTQzMDdj
MjYxYzUwOTAwMDMyNzBlN2YxMGNmNWJkMzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDAzMiw3ICsxMDAzMiw2IEBACiAJ
CTcxM0YxRDVCMjNERjI1NjAwMDNGNUVGQSAvKiBKU0dldEFuaW1hdGlvbnNPcHRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzEzRjFENUMyM0RGMjU2MDAwM0Y1RUZBIC8q
IEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNHZXRBbmltYXRpb25zT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcxNDEzMTQ3MURDOUQ2QUYwMDMzNjEwNyAvKiBmdWxsc2NyZWVuLXN1cHBvcnQu
anMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiZnVsbHNjcmVlbi1z
dXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNzE0MTMxNDgxREM5RDZF
RjAwMzM2MTA3IC8qIGpzLWZpbGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJqcy1maWxlcyI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1REQ4MjAyQjA2REMwMEFERkQzNCAv
KiBKU0VmZmVjdFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0VmZmVjdFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1
RERBMjAyQjA2REUwMEFERkQzNCAvKiBKU0VmZmVjdFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0VmZmVjdFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MTRDN0M2MDFGREFEMjc5MDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBbmltYXRpb25QbGF5
YmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNzM3LDcgKzIy
NzM2LDYgQEAKIAkJCQk3MTZGQTBENzFEQjI2NTkxMDA3MzIzQ0MgLyogY29udHJvbHMgKi8sCiAJ
CQkJMkQ4RDNCRUEyMzg0N0FDODAwNjU3MDc1IC8qIGdlc3R1cmUtcmVjb2duaXplcnMgKi8sCiAJ
CQkJNzFENkFBNkYxREE0RUFGNzAwQjIzOTY5IC8qIGltYWdlcyAqLywKLQkJCQk3MTQxMzE0ODFE
QzlENkVGMDAzMzYxMDcgLyoganMtZmlsZXMgKi8sCiAJCQkJNzFEMDJEOTExREI1NUM0RTAwREQ1
Q0Y1IC8qIG1lZGlhICovLAogCQkJCTcxRDAyRDkwMURCNTVDNEUwMERENUNGNSAvKiBtYWluLmpz
ICovLAogCQkJKTsKQEAgLTM2MDgxLDcgKzM2MDc5LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0J
CQlzaGVsbFNjcmlwdCA9ICJTUkNfRElSPVwiJFNSQ1JPT1QvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHNcIlxuRFNUX0RJUj1cIiRCVUlMVF9QUk9EVUNUU19ESVIvJFVOTE9DQUxJWkVEX1JF
U09VUkNFU19GT0xERVJfUEFUSC9tb2Rlcm4tbWVkaWEtY29udHJvbHNcIlxuXG5ta2RpciAtcCBc
IiREU1RfRElSXCJcblxuaWYgWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSBcIm1hY29zeFwi
IF07IHRoZW5cbiAgICBJTUdfT1NfUFJFRklYPVwibWFjT1NcIlxuZWxzZVxuICAgIGlmIFtbIFwi
JHtXS19QTEFURk9STV9OQU1FfVwiID09ICpcIndhdGNoXCIqIF1dOyB0aGVuXG4gICAgICAgIElN
R19PU19QUkVGSVg9XCJ3YXRjaE9TXCJcbiAgICBlbHNlXG4gICAgICAgIElNR19PU19QUkVGSVg9
XCJpT1NcIlxuICAgIGZpXG5maVxuXG5pZiBbIC1uIFwiJElNR19PU19QUkVGSVhcIiBdOyB0aGVu
XG5yc3luYyAtYXEgLS1leGNsdWRlIFwiLnN2blwiIC0tZXhjbHVkZSBcIi5EU19TdG9yZVwiIFwi
JFNSQ19ESVIvaW1hZ2VzLyRJTUdfT1NfUFJFRklYL1wiIFwiJERTVF9ESVIvaW1hZ2VzXCJcbmZp
XG5cbmNkIFwiJFNSQ19ESVJcIlxuY2F0IGNvbnRyb2xzLyouY3NzIHwgcGVybCAtMDc3NyAtcGUg
J3N7L1xcKi4qP1xcKi99e31ncycgPiBcIiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5j
c3NcIlxuY2F0IGBjYXQganMtZmlsZXNgIHwgcGVybCAtMDc3NyAtcGUgJ3N7L1xcKi4qP1xcKi99
e31ncycgPiBcIiREU1RfRElSL21vZGVybi1tZWRpYS1jb250cm9scy5qc1wiXG4iOworCQkJc2hl
bGxTY3JpcHQgPSAiU1JDX0RJUj1cIiRTUkNST09UL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzXCJcbkRTVF9ESVI9XCIkQlVJTFRfUFJPRFVDVFNfRElSLyRVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEgvbW9kZXJuLW1lZGlhLWNvbnRyb2xzXCJcblxubWtkaXIgLXAgXCIkRFNU
X0RJUlwiXG5cbmlmIFsgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdOyB0
aGVuXG4gICAgSU1HX09TX1BSRUZJWD1cIm1hY09TXCJcbmVsc2VcbiAgICBpZiBbWyBcIiR7V0tf
UExBVEZPUk1fTkFNRX1cIiA9PSAqXCJ3YXRjaFwiKiBdXTsgdGhlblxuICAgICAgICBJTUdfT1Nf
UFJFRklYPVwid2F0Y2hPU1wiXG4gICAgZWxzZVxuICAgICAgICBJTUdfT1NfUFJFRklYPVwiaU9T
XCJcbiAgICBmaVxuZmlcblxuaWYgWyAtbiBcIiRJTUdfT1NfUFJFRklYXCIgXTsgdGhlblxucnN5
bmMgLWFxIC0tZXhjbHVkZSBcIi5zdm5cIiAtLWV4Y2x1ZGUgXCIuRFNfU3RvcmVcIiBcIiRTUkNf
RElSL2ltYWdlcy8kSU1HX09TX1BSRUZJWC9cIiBcIiREU1RfRElSL2ltYWdlc1wiXG5maVxuXG5j
ZCBcIiRTUkNfRElSXCJcbmNhdCBjb250cm9scy8qLmNzcyB8IHBlcmwgLTA3NzcgLXBlICdzey9c
XCouKj9cXCovfXt9Z3MnID4gXCIkRFNUX0RJUi9tb2Rlcm4tbWVkaWEtY29udHJvbHMuY3NzXCJc
biI7CiAJCX07CiAJCUE1RTc5Q0VDMUU2N0YyQ0YwMEZCODE1MyAvKiBNYWtlIEZyYW1ld29ya3Mg
U3ltYm9saWMgTGluayAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDE5ODk5ZWNjMDlk
YjFmMDFlZGM3M2RmZDA4YzcwOTM0YTY2YmZjNzMuLmQ3OGY5Nzc2MTU2ZDU2YWUzMjA5NzMzZTM3
NTRkODI5MzI5N2RkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNzE0OCwxMSArNzE0OCwxMSBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1l
ZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCA9IFJlbmRlclRoZW1l
OjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU2NyaXB0KCk7Ci0gICAgaWYgKCFtZWRpYUNvbnRy
b2xzU2NyaXB0Lmxlbmd0aCgpKQorICAgIGF1dG8gbWVkaWFDb250cm9sc1NjcmlwdHMgPSBSZW5k
ZXJUaGVtZTo6c2luZ2xldG9uKCkubWVkaWFDb250cm9sc1NjcmlwdHMoKTsKKyAgICBpZiAobWVk
aWFDb250cm9sc1NjcmlwdHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICByZXR1cm4gc2V0dXBBbmRDYWxsSlMoW21lZGlhQ29udHJvbHNTY3JpcHRdKEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIFNjcmlwdENvbnRyb2xsZXImIHNjcmlwdENvbnRyb2xsZXIsIERPTVdyYXBwZXJXb3Js
ZCYgd29ybGQpIHsKKyAgICByZXR1cm4gc2V0dXBBbmRDYWxsSlMoW21lZGlhQ29udHJvbHNTY3Jp
cHRzID0gV1RGTW92ZShtZWRpYUNvbnRyb2xzU2NyaXB0cyldKEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFNj
cmlwdENvbnRyb2xsZXImIHNjcmlwdENvbnRyb2xsZXIsIERPTVdyYXBwZXJXb3JsZCYgd29ybGQp
IHsKICAgICAgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAgICAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogCkBAIC03MTYwLDE2ICs3MTYwLDIwIEBA
IGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0
KCkKICAgICAgICAgaWYgKGZ1bmN0aW9uVmFsdWUuaXNDYWxsYWJsZSh2bSkpCiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotI2lmICFkZWZpbmVkKE5ERUJVRykKLSAgICAgICAgLy8gU2V0dGlu
ZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJjZSB0byBiZSBkZWJ1Z2dhYmxlIGluIHRoZSBp
bnNwZWN0b3IuCi0gICAgICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoeyB9LCAibWVkaWFDb250cm9s
c1NjcmlwdCJfcyk7Ci0jZWxzZQotICAgICAgICBVUkwgc2NyaXB0VVJMOwotI2VuZGlmCi0gICAg
ICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNlcHRpb24oU2Ny
aXB0U291cmNlQ29kZShtZWRpYUNvbnRyb2xzU2NyaXB0LCBXVEZNb3ZlKHNjcmlwdFVSTCkpLCB3
b3JsZCk7Ci0gICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKLSAgICAg
ICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgZm9yIChhdXRvJiBtZWRpYUNv
bnRyb2xzU2NyaXB0IDogbWVkaWFDb250cm9sc1NjcmlwdHMpIHsKKyAgICAgICAgICAgIGlmICht
ZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgIC8vIFNldHRpbmcgYSBzY3JpcHRVUkwgYWxsb3dzIHRoZSBzb3VyY2UgdG8g
YmUgZGVidWdnYWJsZSBpbiB0aGUgaW5zcGVjdG9yLgorICAgICAgICAgICAgVVJMIHNjcmlwdFVS
TCA9IFVSTCh7IH0sIG1ha2VTdHJpbmcoIl9fSW5qZWN0ZWRTY3JpcHRfbWVkaWFDb250cm9sc1Nj
cmlwdCJfcywgaW5kZXgsICIuanMiKSk7CisgICAgICAgICAgICBzY3JpcHRDb250cm9sbGVyLmV2
YWx1YXRlSW5Xb3JsZElnbm9yaW5nRXhjZXB0aW9uKFNjcmlwdFNvdXJjZUNvZGUobWVkaWFDb250
cm9sc1NjcmlwdCwgV1RGTW92ZShzY3JpcHRVUkwpKSwgd29ybGQpOworICAgICAgICAgICAgaWYg
KFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICAgICAgICAgIGF1dG8qIGV4
Y2VwdGlvbiA9IHNjb3BlLmV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIHNjb3BlLmNsZWFy
RXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgcmVwb3J0RXhjZXB0aW9uKCZnbG9iYWxPYmpl
Y3QsIGV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgKytpbmRleDsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBiZGYzMTk3NzRl
Y2Y4NWNmMGU4ZDBkOTBiZTIxYzI4NzIzOGEzYjJmLi41ZGNlZDc4ZWVkMmIzNjdlODY5NDhhZmMw
Njg4YzUxZGMyMjMyZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApA
QCAtODcsNyArODcsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZSB7CiAgICAgdmlydHVhbCBTdHJpbmcg
bWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1
YWwgU3RyaW5nIG1vZGVybk1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgeyByZXR1cm4gU3RyaW5n
KCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkg
eyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzU2Ny
aXB0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmcsIDM+
IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgeyByZXR1cm4geyB9OyB9CiAgICAgdmlydHVhbCBTdHJp
bmcgbWVkaWFDb250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3Ry
aW5nIG1lZGlhQ29udHJvbHNGb3JtYXR0ZWRTdHJpbmdGb3JEdXJhdGlvbihkb3VibGUpIHsgcmV0
dXJuIFN0cmluZygpOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQWR3YWl0YS5jcHAKaW5kZXggNjA0YWJiNmM2Y2NhOTJhZjJhZTlkYmQ2MDY2NzMw
MmQ0YzM2MjE2ZS4uODBmZWE2ZjFiMjllZTA4ZjM4MWQxYzY3MWVhZTRjZWU2YmJiNGY1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAKQEAg
LTE3Miw5ICsxNzIsOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpleHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCkKICAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRh
VXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhVXNlckFnZW50
U3R5bGVTaGVldCkpOwogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRy
b2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFD
b250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiBTdHJpbmcobWVkaWFDb250cm9sc0Fkd2Fp
dGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSk7Cisg
ICAgcmV0dXJuIHsgU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6ZW9m
KG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCkpIH07CiB9CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCmluZGV4IDA1N2E4MzRi
YWNiMjI4ZTQ5OTZjYWY0ZjlhNTZlNDQwZjQ3YjdmMmQuLmUwMDI4NjhlZTdmNzVkOGZjNzA4MGVl
NjNkODFmMzBhMDdhYzY1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUFkd2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVBZHdhaXRhLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVBZHdhaXRh
IDogcHVibGljIFJlbmRlclRoZW1lIHsKICAgICBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVTaGVl
dCgpIGZpbmFsOwogI2lmIEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgZXh0cmFNZWRpYUNvbnRy
b2xzU3R5bGVTaGVldCgpIGZpbmFsOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkg
ZmluYWw7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBmaW5h
bDsKICNlbmRpZgogCiAgICAgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlJikg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MuaAppbmRleCBkODRiNWRhNGEwYjNlZjdkY2YxMjE0Mjk1N2I3ZDE0NGIxOThm
YWEyLi44OTJlZDNkN2UxNzA4ZmMxOTlkYzE3NThhNTI1OTgzZmQxODhiZGUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtMTU2LDcgKzE1Niw3IEBAIGNs
YXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2EgewogI2lm
IEVOQUJMRShWSURFTykKICAgICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVy
cmlkZTsKICAgICBTdHJpbmcgbW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBvdmVycmlk
ZTsKLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOworICAgIFZlY3Rv
cjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgb3ZlcnJpZGU7CiAgICAgU3RyaW5n
IG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJY29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjZW5kaWYKIApAQCAtMTkxLDcgKzE5MSw5IEBA
IGNsYXNzIFJlbmRlclRoZW1lSU9TIGZpbmFsIDogcHVibGljIFJlbmRlclRoZW1lQ29jb2Egewog
ICAgIENvbG9yIHN5c3RlbUNvbG9yKENTU1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9yOjpP
cHRpb25zPikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBTdHJpbmcgbV9sZWdhY3lNZWRpYUNvbnRy
b2xzU2NyaXB0OworICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2Ny
aXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVk
aWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250
cm9sc1N0eWxlU2hlZXQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQppbmRleCBlNDg1MDMw
ZWRiNzZjZGQxZTY1N2EzMDdmZjM4ZWIzMmE1YTM3NGVjLi44NDM0YzgyYTI1ZmUxMmI0OTRmZDM4
OGYxMTQ3YTA2ZjQ3YTVhNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLm1tCkBAIC0xMjc2LDI2ICsxMjc2LDM2IEBAIFN0cmluZyBSZW5kZXJUaGVtZUlPUzo6
bW9kZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogdm9pZCBSZW5kZXJUaGVtZUlPUzo6cHVy
Z2VDYWNoZXMoKQogewogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJ
Zk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQu
Y2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQuY2xlYXJJ
bXBsSWZOb3RTaGFyZWQoKTsKKyAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LmNs
ZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQu
Y2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKIH0KIAotU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRp
YUNvbnRyb2xzU2NyaXB0KCkKK1ZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lSU9TOjptZWRp
YUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkgewotICAgICAgICBp
ZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgTlNCdW5k
bGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1l
QnVuZGxlIGNsYXNzXV07CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJp
bmdzU2NyaXB0LmlzRW1wdHkoKSB8fCBtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpIHx8
IG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICAvLyBGSVhNRTogTG9jYWxpemVkIHN0cmluZ3MgYXJlIG5vdCB3b3J0aCBoYXZpbmcgYSBzY3Jp
cHQuIFdlIHNob3VsZCBtYWtlIGl0IEpTT04gZGF0YSBldGMuIGluc3RlYWQuCisgICAgICAgICAg
ICBpZiAobV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgICAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNs
YXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAgICAgICAgICBt
X21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1j
b250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhT
dHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBtX21l
ZGlhQ29udHJvbHNTY3JpcHQgPSBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKE1v
ZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0LCBzaXplb2YoTW9kZXJuTWVkaWFDb250cm9sc0ph
dmFTY3JpcHQpKTsKIAotICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwot
ICAgICAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250
ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1vZGVybi1tZWRpYS1jb250cm9s
cy1sb2NhbGl6ZWQtc3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtO
U1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImpzIiBpbkRpcmVjdG9yeTpAIm1vZGVy
bi1tZWRpYS1jb250cm9scyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5p
bF0pOwogI2lmIGRlZmluZWQoUmVuZGVyVGhlbWVJT1NBZGRpdGlvbnNfbWVkaWFDb250cm9sc1Nj
cmlwdCkKLSAgICAgICAgICAgIFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNT
Y3JpcHQKKyAgICAgICAgICAgIGlmIChtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0Lmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
ID0gU3RyaW5nKFJlbmRlclRoZW1lSU9TQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3JpcHQpOwog
I2VuZGlmCi0gICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVy
LnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1Nj
cmlwdDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2Fs
aXplZFN0cmluZ3NTY3JpcHQsCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQsCisg
ICAgICAgICAgICBtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LAorICAgICAgICB9Owog
ICAgIH0KIAogICAgIGlmIChtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7
CkBAIC0xMzA4LDcgKzEzMTgsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJv
bHNTY3JpcHQoKQogCiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlw
dEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbGVnYWN5TWVkaWFDb250
cm9sc1NjcmlwdDsKKyAgICByZXR1cm4geyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQgfTsK
IH0KIAogU3RyaW5nIFJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9y
SWNvbk5hbWVBbmRUeXBlKGNvbnN0IFN0cmluZyYgaWNvbk5hbWUsIGNvbnN0IFN0cmluZyYgaWNv
blR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IDYx
MWRjZWRjMTIwMGJmNGFhZDUyMzBjMDFkMzlmODg2MTNjOTIxYWQuLjgwNzUwNDMzZWVlYjI0OTgy
NGYxNmEyYjQ0OTcxNDM2ZmUzZjRmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oCkBAIC0xMDgsNyArMTA4LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmlu
YWwgOiBwdWJsaWMgUmVuZGVyVGhlbWVDb2NvYSB7CiAgICAgLy8gTWVkaWEgY29udHJvbHMKICAg
ICBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKICAgICBTdHJpbmcgbW9k
ZXJuTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSBmaW5hbDsKLSAgICBTdHJpbmcgbWVkaWFDb250
cm9sc1NjcmlwdCgpIGZpbmFsOworICAgIFZlY3RvcjxTdHJpbmcsIDM+IG1lZGlhQ29udHJvbHNT
Y3JpcHRzKCkgZmluYWw7CiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNCYXNlNjRTdHJpbmdGb3JJ
Y29uTmFtZUFuZFR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAjZW5k
aWYKIApAQCAtMjM4LDcgKzIzOCw5IEBAIGNsYXNzIFJlbmRlclRoZW1lTWFjIGZpbmFsIDogcHVi
bGljIFJlbmRlclRoZW1lQ29jb2EgewogICAgIFJldGFpblB0cjxXZWJDb3JlUmVuZGVyVGhlbWVO
b3RpZmljYXRpb25PYnNlcnZlcj4gbV9ub3RpZmljYXRpb25PYnNlcnZlcjsKIAogICAgIFN0cmlu
ZyBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbWVkaWFDb250cm9s
c0xvY2FsaXplZFN0cmluZ3NTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1Njcmlw
dDsKKyAgICBTdHJpbmcgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdDsKICAgICBTdHJp
bmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBTdHJpbmcgbV9tZWRpYUNv
bnRyb2xzU3R5bGVTaGVldDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KaW5kZXggZjE1NGI1ZjVhM2Q3M2U1MDc4MTdjYjkwYjY4ODlmMTA1ZTc1ZDM3My4u
OWJmMDQxYTZlYjZiZjFiYzUyMjM4OGE0ODZiNTQ0ODY2ODg2NWZjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMzE2LDI4ICszMTYsMzggQEAgU3Ry
aW5nIFJlbmRlclRoZW1lTWFjOjptb2Rlcm5NZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB2b2lk
IFJlbmRlclRoZW1lTWFjOjpwdXJnZUNhY2hlcygpCiB7CiAgICAgbV9sZWdhY3lNZWRpYUNvbnRy
b2xzU2NyaXB0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CisgICAgbV9tZWRpYUNvbnRyb2xzTG9j
YWxpemVkU3RyaW5nc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFD
b250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOworICAgIG1fbWVkaWFDb250cm9s
c0FkZGl0aW9uYWxTY3JpcHQuY2xlYXJJbXBsSWZOb3RTaGFyZWQoKTsKICAgICBtX2xlZ2FjeU1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRp
YUNvbnRyb2xzU3R5bGVTaGVldC5jbGVhckltcGxJZk5vdFNoYXJlZCgpOwogCiAgICAgUmVuZGVy
VGhlbWU6OnB1cmdlQ2FjaGVzKCk7CiB9CiAKLVN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc1NjcmlwdCgpCitWZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc1NjcmlwdHMoKQogewogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKCkpIHsKLSAgICAgICAgaWYg
KG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIE5TQnVuZGxl
ICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1
bmRsZSBjbGFzc11dOworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5n
c1NjcmlwdC5pc0VtcHR5KCkgfHwgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSB8fCBt
X21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2NyaXB0
LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRhdGEgZXRjLiBpbnN0ZWFkLgorICAgICAgICAgICAg
aWYgKG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NTY3JpcHQuaXNFbXB0eSgpKSB7Cisg
ICAgICAgICAgICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFz
czpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNzXV07CisgICAgICAgICAgICAgICAgbV9t
ZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc1NjcmlwdCA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Q29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29u
dHJvbHMtbG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3Ry
aW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg
KG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZWRp
YUNvbnRyb2xzU2NyaXB0ID0gU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChNb2Rl
cm5NZWRpYUNvbnRyb2xzSmF2YVNjcmlwdCwgc2l6ZW9mKE1vZGVybk1lZGlhQ29udHJvbHNKYXZh
U2NyaXB0KSk7CiAKLSAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKLSAg
ICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVu
dHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMt
bG9jYWxpemVkLXN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5j
b2RpbmcgZXJyb3I6bmlsXSk7Ci0gICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNT
dHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAi
bW9kZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4t
bWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxd
KTsKICNpZiBkZWZpbmVkKFJlbmRlclRoZW1lTWFjQWRkaXRpb25zX21lZGlhQ29udHJvbHNTY3Jp
cHQpCi0gICAgICAgICAgICBSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2Ny
aXB0CisgICAgICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5pc0Vt
cHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCA9
IFN0cmluZyhSZW5kZXJUaGVtZU1hY0FkZGl0aW9uc19tZWRpYUNvbnRyb2xzU2NyaXB0KTsKICNl
bmRpZgotICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50
b1N0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTY3Jp
cHQ7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6
ZWRTdHJpbmdzU2NyaXB0LAorICAgICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LAorICAg
ICAgICAgICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKKyAgICAgICAgfTsKICAg
ICB9CiAKICAgICBpZiAobV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewpA
QCAtMzQ2LDcgKzM1Niw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1Nj
cmlwdCgpCiAgICAgICAgIE5TU3RyaW5nICpzY3JpcHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENv
bnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxl
IiBvZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07
CiAgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IG1ha2VTdHJpbmcoU3RyaW5n
IHsgbG9jYWxpemVkU3RyaW5ncyB9LCBTdHJpbmcgeyBzY3JpcHQgfSk7CiAgICAgfQotICAgIHJl
dHVybiBtX2xlZ2FjeU1lZGlhQ29udHJvbHNTY3JpcHQ7CisgICAgcmV0dXJuIHsgbV9sZWdhY3lN
ZWRpYUNvbnRyb2xzU2NyaXB0IH07CiB9CiAKIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc0Jhc2U2NFN0cmluZ0Zvckljb25OYW1lQW5kVHlwZShjb25zdCBTdHJpbmcmIGljb25O
YW1lLCBjb25zdCBTdHJpbmcmIGljb25UeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZVdpbi5jcHAKaW5kZXggZDk3NjMwNGY4YmQ3NWE3ZDdiNTdiOGZiOTUwMTNkYWY2
NDZiNDE1ZS4uZDBmZDJhNmEzMTI0OTgxNGI0MGQwMmU1ZDI0YzU5Mzg3ODNiOGQ5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCkBAIC0xMDc5LDcgKzEw
NzksNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkK
ICNlbmRpZgogfQogCi1TdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQo
KQorVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHRz
KCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgIGlmIChtX21lZGlh
Q29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CkBAIC0xMDg4LDkgKzEwODgsOSBAQCBTdHJpbmcg
UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogICAgICAgICBzY3JpcHRCdWls
ZGVyLmFwcGVuZChzdHJpbmdXaXRoQ29udGVudHNPZkZpbGUoIm1lZGlhQ29udHJvbHNBcHBsZSJf
cywgImpzIl9zKSk7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxk
ZXIudG9TdHJpbmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsK
KyAgICByZXR1cm4geyBtX21lZGlhQ29udHJvbHNTY3JpcHQgfTsKICNlbHNlCi0gICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIHsgfTsKICNlbmRpZgogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCmluZGV4IDI1Nzg5NDMzN2E5YzM5
NzI2ZjJhZTk0MzJiMTRhNGNiYzgzMWY1OTAuLjZkMTdhZmQ4M2FiNjNmZGFmYzhmYTE4ODEzY2Iz
MzczN2M1YTEyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5o
CkBAIC0xMjEsNyArMTIxLDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVXaW4gZmluYWwgOiBwdWJsaWMg
UmVuZGVyVGhlbWUgewogCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIFN0cmluZyBtZWRpYUNvbnRy
b2xzU3R5bGVTaGVldCgpIG92ZXJyaWRlOwotICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0
KCkgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMo
KSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgSW50U2l6ZSBtZXRlclNpemVGb3JCb3VuZHMoY29u
c3QgUmVuZGVyTWV0ZXImLCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>