<?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>227596</bug_id>
          
          <creation_ts>2021-07-01 14:03:48 -0700</creation_ts>
          <short_desc>REGRESSION (r279466):  [Big Sur] webgl/1.0.3/conformance &amp; webgl/2.0.0/conformance are failing</short_desc>
          <delta_ts>2021-07-06 12:33:19 -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>ANGLE</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac (Intel)</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>
          <dependson>227226</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>ayumi_kojima</reporter>
          <assigned_to name="Kyle Piddington">kpiddington</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>johncunningham</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774245</commentid>
    <comment_count>0</comment_count>
    <who name="">ayumi_kojima</who>
    <bug_when>2021-07-01 14:03:48 -0700</bug_when>
    <thetext>webgl/1.0.3/conformance/glsl/functions/glsl-function-atan-xy.html	
webgl/1.0.3/conformance/ogles/GL/atan/atan_009_to_012.html	
webgl/2.0.0/conformance/glsl/functions/glsl-function-atan-xy.html	
webgl/2.0.0/conformance/ogles/GL/atan/atan_009_to_012.html

History: https://results.webkit.org/?suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;test=webgl%2F1.0.3%2Fconformance%2Fglsl%2Ffunctions%2Fglsl-function-atan-xy.html&amp;test=webgl%2F1.0.3%2Fconformance%2Fogles%2FGL%2Fatan%2Fatan_009_to_012.html&amp;test=webgl%2F2.0.0%2Fconformance%2Fglsl%2Ffunctions%2Fglsl-function-atan-xy.html&amp;test=webgl%2F2.0.0%2Fconformance%2Fogles%2FGL%2Fatan%2Fatan_009_to_012.html

It looks like the tests have started failing at r279466 

https://build.webkit.org/results/Apple-BigSur-Release-WK1-Tests/r279475%20(3797)/results.html

--- /Volumes/Data/worker/bigsur-release-tests-wk1/build/layout-test-results/webgl/1.0.3/conformance/glsl/functions/glsl-function-atan-xy-expected.txt
+++ /Volumes/Data/worker/bigsur-release-tests-wk1/build/layout-test-results/webgl/1.0.3/conformance/glsl/functions/glsl-function-atan-xy-actual.txt
@@ -1,5 +1,30 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/glsl/functions/glsl-function-atan-xy.html
-[ PASS ] All tests passed
+[ 1: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 2: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 3: FAIL ] images are different: at (0,0): ref=(187,0,0,255) test=(255,0,0,255) tolerance=5
+[ 4: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 5: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 6: FAIL ] images are different: at (0,0): ref=(187,187,0,255) test=(255,255,0,255) tolerance=5
+[ 7: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 8: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 9: FAIL ] images are different: at (0,0): ref=(187,192,187,255) test=(255,255,255,255) tolerance=5
+[ 10: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 11: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 12: FAIL ] images are different: at (0,0): ref=(137,192,187,191) test=(137,255,255,255) tolerance=5
+[ 13: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 14: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 15: PASS ] images are the same
+[ 16: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 17: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 18: PASS ] images are the same
+[ 19: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 20: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 21: FAIL ] images are different: at (0,0): ref=(187,192,186,255) test=(186,255,185,255) tolerance=5
+[ 22: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 23: PASS ] getError was expected value: NO_ERROR : no errors from draw
+[ 24: FAIL ] images are different: at (0,0): ref=(137,192,186,191) test=(137,255,185,190) tolerance=5
+[ 25: PASS ] successfullyParsed is true
+[ FAIL ] 6 failures reported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774246</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-01 14:06:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/80045012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774275</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 15:49:06 -0700</bug_when>
    <thetext>Let&apos;s mark these as expected failures in TestExpectations and follow up. If just the arctangent function has exceptionally poor precision when fastMathEnabled is used, we could plausibly increase the tolerance on these specific WebGL conformance tests.

I think that we shouldn&apos;t revert the changes from Bug 227226 . Without fastMathEnabled, it seems likely that a significant amount of WebGL content will be slower with ANGLE&apos;s Metal backend than the OpenGL backend.

Would it be feasible or appropriate for Apple engineers to also file a bug against Metal to understand why precision of this one trigonometric function is so poor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774298</commentid>
    <comment_count>3</comment_count>
      <attachid>432749</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-01 16:57:07 -0700</bug_when>
    <thetext>Created attachment 432749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774315</commentid>
    <comment_count>4</comment_count>
      <attachid>432749</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 17:35:28 -0700</bug_when>
    <thetext>Comment on attachment 432749
Patch

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

This seems like a good solution; didn&apos;t realize these options could be changed per-shader. r+ once this builds and passes tests.

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.mm:603
&gt; +            //Fastmath on downlevel Intel causes some issues (Webkit bug 227596)

Space after //.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774338</commentid>
    <comment_count>5</comment_count>
      <attachid>432749</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-01 18:43:20 -0700</bug_when>
    <thetext>Comment on attachment 432749
Patch

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

&gt; Source/ThirdParty/ANGLE/ChangeLog:7
&gt; +        Proposed  workaround: Disable fastmath on shaders when atan or invariants are used
&gt; +        on Intel systems

This patch seems to only possibly enable fastMath, never disable it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774341</commentid>
    <comment_count>6</comment_count>
      <attachid>432749</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 18:47:41 -0700</bug_when>
    <thetext>Comment on attachment 432749
Patch

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

&gt;&gt; Source/ThirdParty/ANGLE/ChangeLog:7
&gt;&gt; +        on Intel systems
&gt; 
&gt; This patch seems to only possibly enable fastMath, never disable it?

It&apos;s disabled either if the shader uses atan, or uses the invariant qualifier - am I misreading the code below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774624</commentid>
    <comment_count>7</comment_count>
      <attachid>432834</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-02 17:34:34 -0700</bug_when>
    <thetext>Created attachment 432834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774625</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-07-02 17:35:32 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774628</commentid>
    <comment_count>9</comment_count>
      <attachid>432836</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-02 17:39:19 -0700</bug_when>
    <thetext>Created attachment 432836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774631</commentid>
    <comment_count>10</comment_count>
      <attachid>432836</attachid>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2021-07-02 17:44:11 -0700</bug_when>
    <thetext>Comment on attachment 432836
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774747</commentid>
    <comment_count>11</comment_count>
      <attachid>432836</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-04 18:31:59 -0700</bug_when>
    <thetext>Comment on attachment 432836
Patch

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

Looks good. r+ also based on johncunningham@&apos;s review. One small comment.

Note to save time that you don&apos;t need to request review on subsequent patches - you can just change the ChangeLogs to say &quot;Reviewed by Kenneth Russell.&quot; and cq+.

&gt; Source/ThirdParty/ANGLE/include/platform/FeaturesMtl.h:133
&gt; +    Feature intelDisableFastMathWorkaround = {

This feature doesn&apos;t need to end in &quot;Workaround&quot;, and this name is confusing to read - it sounds like it&apos;s disabling a workaround related to fast math. intelDisableFastMath would be clearer in my opinion.

&gt; Source/ThirdParty/ANGLE/include/platform/FeaturesMtl.h:134
&gt; +            &quot;intel_disable_fast_math_workarounds&quot;, FeatureCategory::MetalWorkarounds,

Please name the same as the feature - workaround instead of workarounds in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775017</commentid>
    <comment_count>12</comment_count>
      <attachid>432956</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-06 11:52:02 -0700</bug_when>
    <thetext>Created attachment 432956
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775041</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-06 12:33:17 -0700</bug_when>
    <thetext>Committed r279606 (239429@main): &lt;https://commits.webkit.org/239429@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432956.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432749</attachid>
            <date>2021-07-01 16:57:07 -0700</date>
            <delta_ts>2021-07-02 17:34:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227596-20210701165706.patch</filename>
            <type>text/plain</type>
            <size>2099</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggMGEzZTI1MGQzOGYzMTZkNGY5ZDQwMGE1NmMxODY4NDNkZjAwZTU1OC4uODlhNWU4NWFkNGRi
NmJlMzM4ZWUxZmI1YjhhZTNlZmQwMTg1YTM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTAxICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI3OTQ2Nik6ICBbQmlnIFN1
cl0gd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UgJiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZSBhcmUg
ZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3NTk2CisKKyAgICAgICAgUHJvcG9zZWQgIHdvcmthcm91bmQ6IERpc2FibGUgZmFzdG1hdGgg
b24gc2hhZGVycyB3aGVuIGF0YW4gb3IgaW52YXJpYW50cyBhcmUgdXNlZAorICAgICAgICBvbiBJ
bnRlbCBzeXN0ZW1zCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbToKKyAgICAgICAg
KHJ4OjptdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkpOgorCiAyMDIxLTA2LTIzICBLaW1tbyBLaW5u
dW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBz
dWJtaXRzIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9tdGxfdXRpbHMubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tCmluZGV4IGQ5NGRmM2IzM2Q1MTJkMWUzNjBl
ZWRlYzg3NDRkYzQ2ZWUyMTI0Y2YuLjE3MTlmMWY3YTQ5MTFhZjI4MmMxYjBiYWNjMDZjMzk0YTdj
M2NkZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbQpAQCAtNjAwLDcgKzYwMCwx
MCBAQCBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxN
VExEZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICBjb25zdCB1aW50MzJfdCB2ZW5kb3JfaWQg
PSBHZXREZXZpY2VWZW5kb3JJZChtZXRhbERldmljZSk7CiAgICAgICAgIGlmICh2ZW5kb3JfaWQg
PT0gYW5nbGU6OmtWZW5kb3JJRF9JbnRlbCkKICAgICAgICAgewotICAgICAgICAgICAgb3B0aW9u
cy5mYXN0TWF0aEVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIC8vRmFzdG1hdGggb24gZG93
bmxldmVsIEludGVsIGNhdXNlcyBzb21lIGlzc3VlcyAoV2Via2l0IGJ1ZyAyMjc1OTYpCisgICAg
ICAgICAgICBvcHRpb25zLmZhc3RNYXRoRW5hYmxlZCA9ICFbbnNTb3VyY2UgY29udGFpbnNTdHJp
bmc6QCJtZXRhbDo6YXRhbiJdOworICAgICAgICAgICAgLy8gVE9ETyhqY3VubmluZ2hhbSk6IHdv
cmthcm91bmQgZm9yIGRvd25sZXZlbCBpbnRlbCBkcml2ZXIgbm90IHByZXNlcnZpbmcgaW52YXJp
YW5jZSBvbiBhbGwgc2hhZGVycy4KKyAgICAgICAgICAgIG9wdGlvbnMuZmFzdE1hdGhFbmFibGVk
ICY9ICFbbnNTb3VyY2UgY29udGFpbnNTdHJpbmc6QCJbW2ludmFyaWFudF1dIl07CiAgICAgICAg
IH0KICAgICAgICAgb3B0aW9ucy5wcmVwcm9jZXNzb3JNYWNyb3MgPSBzdWJzdGl0dXRpb25NYWNy
b3M7CiAgICAgICAgIGF1dG8gbGlicmFyeSA9IFttZXRhbERldmljZSBuZXdMaWJyYXJ5V2l0aFNv
dXJjZTpuc1NvdXJjZSBvcHRpb25zOm9wdGlvbnMgZXJyb3I6Jm5zRXJyb3JdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432834</attachid>
            <date>2021-07-02 17:34:34 -0700</date>
            <delta_ts>2021-07-02 17:39:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227596-20210702173434.patch</filename>
            <type>text/plain</type>
            <size>17366</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNjhhNGU4NTRlODg5ZWUzYjliZGIxOGJlNDljNDMzNzRjOTJhY2ZlYS4uYWZhMGUxNDI2NmIx
MTY1Y2QxY2M5ZWY4NTFiNWQ1Y2MyNzBiOTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTAyICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI3OTQ2Nik6ICBbQmlnIFN1
cl0gd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UgJiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZSBhcmUg
ZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3NTk2CisgICAgICAgIFByb3ZpZGUgSW50ZWwgd29ya2Fyb3VuZCBmb3IgQmlnIFN1ciBzeXN0
ZW1zLiBBdGFuIGFuZCBpbnZhcmlhbnQgaGF2ZSAKKyAgICAgICAgaXNzdWVzIG9uIG9sZGVyIHN5
c3RlbXMsIGFuZCByZXF1aXJlIHVzIHRvIGRpc2FibGUgZmFzdG1hdGggdG8gcHJvZHVjZSBjb3Jy
ZWN0IHJlc3VsdHMuIAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oOgorICAgICAgICAqIHNyYy9j
b21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5oOgorICAgICAgICAoc2g6
OlRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rpb246OnJlc2V0KToKKyAgICAgICAgKiBzcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcDoKKyAgICAg
ICAgKEdlbk1ldGFsVHJhdmVyc2VyOjplbWl0UG9zdFF1YWxpZmllcik6CisgICAgICAgIChHZW5N
ZXRhbFRyYXZlcnNlcjo6dmlzaXRVbmFyeSk6CisgICAgICAgIChHZW5NZXRhbFRyYXZlcnNlcjo6
dmlzaXRBZ2dyZWdhdGUpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9E
aXNwbGF5TXRsLm1tOgorICAgICAgICAocng6OkRpc3BsYXlNdGw6OmluaXRpYWxpemVGZWF0dXJl
cyk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwuaDoK
KyAgICAgICAgKHJ4OjpQcm9ncmFtTXRsOjpnZXRUcmFuc2xhdGVkU2hhZGVySW5mbyBjb25zdCk6
CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW06Cisg
ICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGls
cy5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19t
dGxfdXRpbHMubW06CisgICAgICAgIChyeDo6bXRsOjpHbHNsYW5nR2V0TVNMKToKKyAgICAgICAg
KiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5oOgorICAgICAg
ICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tOgorICAg
ICAgICAocng6Om10bDo6VHJhbnNmb3JtRmVlZGJhY2tVdGlsczo6Y3JlYXRlTXNsWGZiTGlicmFy
eSk6CisgICAgICAgIChyeDo6bXRsOjpUcmFuc2Zvcm1GZWVkYmFja1V0aWxzOjpnZXRUcmFuc2Zv
cm1GZWVkYmFja1JlbmRlclBpcGVsaW5lKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvbXRsX3V0aWxzLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF91dGlscy5tbToKKyAgICAgICAgKHJ4OjptdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkp
OgorCiAyMDIxLTA3LTAxICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjc5MTcyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oCmluZGV4IGNmMDViNTRiMDE2
NjFkNTVkNjA5ZmZjOTZlN2Y1YjM1ZDMyYWRhYmIuLmJjYTIwMzFiNDI3NWRkMmFkMzc5YjUwM2Q3
N2I0MDVhNDkyNzlmN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1
ZGUvcGxhdGZvcm0vRmVhdHVyZXNNdGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9p
bmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzTXRsLmgKQEAgLTEzMCw2ICsxMzAsMTAgQEAgc3RydWN0
IEZlYXR1cmVzTXRsIDogRmVhdHVyZVNldEJhc2UKICAgICAgICAgICAgICJpbnRlbF9leHBsaWNp
dF9ib29sX2Nhc3Rfd29ya2Fyb3VuZCIsIEZlYXR1cmVDYXRlZ29yeTo6TWV0YWxXb3JrYXJvdW5k
cywKICAgICAgICAgICAgICJJbnNlcnQgZXhwbGljaXQgY2FzdHMgZm9yIGZsb2F0L2RvdWJsZS91
bnNpZ25lZC9zaWduZWQgaW50IG9uIG1hY09TIDEwLjE1IHdpdGggSW50ZWwgZHJpdmVyIiwKICAg
ICAgICAgICAgICZtZW1iZXJzfTsKKyAgICBGZWF0dXJlIGludGVsRGlzYWJsZUZhc3RNYXRoV29y
a2Fyb3VuZCA9IHsKKyAgICAgICAgICAgICJpbnRlbF9kaXNhYmxlX2Zhc3RfbWF0aF93b3JrYXJv
dW5kcyIsIEZlYXR1cmVDYXRlZ29yeTo6TWV0YWxXb3JrYXJvdW5kcywKKyAgICAgICAgICAgICJE
aXNhYmxlIGZhc3QgbWF0aCBpbiBhdGFuIGFuZCBpbnZhcmlhbmNlIGNhc2VzIHdoZW4gcnVubmlu
ZyBiZWxvdyBtYWNPUyAxMi4wIiwKKyAgICAgICAgICAgICZtZW1iZXJzfTsKIH07CiAKIH0gIC8v
IG5hbWVzcGFjZSBhbmdsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QuaAppbmRleCBiZTExMGE5NTRlNjgwNjViNDlhM2ZkZjRmNTNjOGEzOWE0ZmQwZjhkLi43ZmI5
ODc1ZDlhN2I4ZmQwZmU2MmNhMDBhZmM4ODRjOTExNGVmOWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuaApAQCAtMTIwLDYgKzEyMCw4IEBAIGNsYXNzIFRy
YW5zbGF0b3JNZXRhbFJlZmxlY3Rpb24KICAgICB7CiAgICAgICAgIGhhc1VCT3MgPSBmYWxzZTsK
ICAgICAgICAgaGFzRmxhdElucHV0ID0gZmFsc2U7CisgICAgICAgIGhhc0F0YW4gPSBmYWxzZTsK
KyAgICAgICAgaGFzSW52YXJpYW5jZSA9IGZhbHNlOwogICAgICAgICBvcmlnaW5hbE5hbWVzLmNs
ZWFyKCk7CiAgICAgICAgIHNhbXBsZXJCaW5kaW5ncy5jbGVhcigpOwogICAgICAgICB0ZXh0dXJl
QmluZGluZ3MuY2xlYXIoKTsKQEAgLTEyOSw2ICsxMzEsOCBAQCBjbGFzcyBUcmFuc2xhdG9yTWV0
YWxSZWZsZWN0aW9uCiAKICAgICBib29sIGhhc1VCT3MgPSBmYWxzZTsKICAgICBib29sIGhhc0Zs
YXRJbnB1dCA9IGZhbHNlOworICAgIGJvb2wgaGFzQXRhbiA9IGZhbHNlOworICAgIGJvb2wgaGFz
SW52YXJpYW5jZSA9IGZhbHNlOwogCiAgIHByaXZhdGU6CiAgICAgb3JpZ2luYWxOYW1lc01hcCBv
cmlnaW5hbE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAppbmRleCBiZDBkMzU2Y2MyZGU5ZjA3ZTg3OGY0YWRi
MWM1YjBkYzg4NWM4ZDM2Li5lOGU5MDUxYmQzMDVmMTRkYmJlNGU3ZmU0MWY1YTZjN2ZmNGM3NzAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QvRW1pdE1ldGFsLmNwcApAQCAtOTc5LDYgKzk3OSw5IEBAIHZvaWQgR2VuTWV0YWxUcmF2ZXJz
ZXI6OmVtaXRQb3N0UXVhbGlmaWVyKGNvbnN0IEVtaXRWYXJpYWJsZURlY2xhcmF0aW9uQ29uZmln
ICZlCiAgICAgaWYgKGlzSW52YXJpYW50KQogICAgIHsKICAgICAgICAgbU91dCA8PCAiIFtbaW52
YXJpYW50XV0iOworICAgICAgICBUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uICpyZWZsZWN0aW9u
ID0KKyAgICAgICAgICAgICgoc2g6OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAqKSZtQ29tcGlsZXIp
LT5nZXRUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uKCk7CisgICAgICAgIHJlZmxlY3Rpb24tPmhh
c0ludmFyaWFuY2UgPSB0cnVlOwogICAgIH0KIH0KIApAQCAtMjEzNiw2ICsyMTM5LDEyIEBAIGJv
b2wgR2VuTWV0YWxUcmF2ZXJzZXI6OnZpc2l0QWdncmVnYXRlKFZpc2l0LCBUSW50ZXJtQWdncmVn
YXRlICphZ2dyZWdhdGVOb2RlKQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIGNvbnN0IFRPcGVy
YXRvciBvcCA9IGFnZ3JlZ2F0ZU5vZGUtPmdldE9wKCk7CisgICAgICAgIGlmKG9wID09IEVPcEF0
YW4pCisgICAgICAgIHsKKyAgICAgICAgICAgIFRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rpb24gKnJl
ZmxlY3Rpb24gPQorICAgICAgICAgICAgICAgICgoc2g6OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAq
KSZtQ29tcGlsZXIpLT5nZXRUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uKCk7CisgICAgICAgICAg
ICByZWZsZWN0aW9uLT5oYXNBdGFuID0gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgICBzd2l0Y2gg
KG9wKQogICAgICAgICB7CiAgICAgICAgICAgICBjYXNlIFRPcGVyYXRvcjo6RU9wQ2FsbEZ1bmN0
aW9uSW5BU1Q6CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IGE3MDQxMjgw
ODc2MzgzNWIyZjE5NjQ1MmFhODhmMTYzZmVlOTQwMzIuLmFhOWFkNmQ5MTk5YmUyNzlhNTVjZTdl
NGRhYzI3NzhmNDM0Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBA
IC05NzcsNiArOTc3LDcgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRmVhdHVyZXMoKQog
CiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oKCZtRmVhdHVyZXMpLCBpbnRlbFRoaW5NaXBt
YXBXb3JrYXJvdW5kLCBpc0ludGVsKCkpOwogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKCgm
bUZlYXR1cmVzKSwgaW50ZWxFeHBsaWNpdEJvb2xDYXN0V29ya2Fyb3VuZCwgaXNJbnRlbCgpICYm
IEdldE1hY09TVmVyc2lvbigpIDwgT1NWZXJzaW9uKDExLCAwLCAwKSk7CisgICAgQU5HTEVfRkVB
VFVSRV9DT05ESVRJT04oKCZtRmVhdHVyZXMpLCBpbnRlbERpc2FibGVGYXN0TWF0aFdvcmthcm91
bmQsIGlzSW50ZWwoKSAmJiBHZXRNYWNPU1ZlcnNpb24oKSA8IE9TVmVyc2lvbigxMiwgMCwgMCkp
OwogCiAgICAgYW5nbGU6OlBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0gPSBBTkdMRVBsYXRmb3Jt
Q3VycmVudCgpOwogICAgIHBsYXRmb3JtLT5vdmVycmlkZUZlYXR1cmVzTXRsKHBsYXRmb3JtLCAm
bUZlYXR1cmVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5oCmluZGV4IDYzZTBiZWEx
MTQwZTEwZjA5ODE5NTU3ZTExZDdiODczNGYyYzljMDQuLjMyMzUxN2NiMTQ1YmExYmNhNWI4NjE3
ZmZkODMyODc0ZGZjMzAxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwuaApAQCAt
MTUzLDYgKzE1Myw5IEBAIGNsYXNzIFByb2dyYW1NdGwgOiBwdWJsaWMgUHJvZ3JhbUltcGwsIHB1
YmxpYyBtdGw6OlJlbmRlclBpcGVsaW5lQ2FjaGVTcGVjaWFsaXplCiAKICAgICBzdGQ6OmFycmF5
PHVpbnQzMl90LCBtdGw6OmtNYXhTaGFkZXJYRkJzPiBnZXRYZmJCaW5kaW5ncygpIGNvbnN0IHsg
cmV0dXJuIG1YZmJCaW5kaW5nczsgfQogICAgIHN0ZDo6c3RyaW5nIGdldFRyYW5zbGF0ZWRTaGFk
ZXJTb3VyY2UoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSkgY29uc3QgeyByZXR1cm4g
bU1zbFNoYWRlclRyYW5zbGF0ZUluZm9bc2hhZGVyVHlwZV0ubWV0YWxTaGFkZXJTb3VyY2U7IH0K
KyAgICAKKyAgICBtdGw6OlRyYW5zbGF0ZWRTaGFkZXJJbmZvIGdldFRyYW5zbGF0ZWRTaGFkZXJJ
bmZvKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUpIGNvbnN0IHsgcmV0dXJuIG1Nc2xT
aGFkZXJUcmFuc2xhdGVJbmZvW3NoYWRlclR5cGVdOyB9CisgICAgCiAgICAgYm9vbCBoYXNGbGF0
QXR0cmlidXRlKCk7CiAgICAgCiAgICAgbXRsOjpSZW5kZXJQaXBlbGluZUNhY2hlICptTWV0YWxY
ZmJSZW5kZXJQaXBlbGluZUNhY2hlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW0gYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQpp
bmRleCBiM2M2ZTg5ZTdjNzhhYWRhNmNhNGJjZjU4NmQyMWU4MWFjYjhiODU1Li4xMjdkNGE0Yzhh
YTAzODhiNjQ3MWQ0NTllY2JkMmIwMDY2M2VkOTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJv
Z3JhbU10bC5tbQpAQCAtNzM0LDggKzczNCw5IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbU10bDo6
Y3JlYXRlTXNsU2hhZGVyTGliKG10bDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgICAgICAvLyBD
b252ZXJ0IHRvIGFjdHVhbCBiaW5hcnkgc2hhZGVyCiAgICAgICAgIG10bDo6QXV0b09iakNQdHI8
TlNFcnJvciAqPiBlcnIgPSBuaWw7CisgICAgICAgIGJvb2wgZGlzYWJsZUZhc3RNYXRoID0gKGNv
bnRleHQtPmdldERpc3BsYXkoKS0+Z2V0RmVhdHVyZXMoKS5pbnRlbERpc2FibGVGYXN0TWF0aFdv
cmthcm91bmQuZW5hYmxlZCAmJiB0cmFuc2xhdGVkTXNsSW5mby0+aGFzSW52YXJpYW50T3JBdGFu
KTsKICAgICAgICAgdHJhbnNsYXRlZE1zbEluZm8tPm1ldGFsTGlicmFyeSA9Ci0gICAgICAgICAg
ICBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkobXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsSW5mby0+
bWV0YWxTaGFkZXJTb3VyY2UsIHN1YnN0aXR1dGlvbk1hY3JvcywgJmVycik7CisgICAgICAgICAg
ICBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkobXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsSW5mby0+
bWV0YWxTaGFkZXJTb3VyY2UsIHN1YnN0aXR1dGlvbk1hY3JvcywgIWRpc2FibGVGYXN0TWF0aCwg
JmVycik7CiAgICAgICAgIGlmIChlcnIgJiYgIXRyYW5zbGF0ZWRNc2xJbmZvLT5tZXRhbExpYnJh
cnkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBzczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMuaAppbmRleCBiNmUy
ZWNjMzg2ODJkY2U5ODQ3YWUzY2MyMzVhNzNjMDc1YTYzZDMyLi5kM2RkYWNhODMyZDZmMWExNmFh
Y2MwMmYxOWY5MDcyZDI3N2Y1MDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9nbHNsYW5nX210bF91dGlscy5oCkBAIC0zNCw2ICszNCw3IEBAIHN0cnVjdCBUcmFuc2xhdGVk
U2hhZGVySW5mbwogICAgIHN0ZDo6YXJyYXk8dWludDMyX3QsIGtNYXhHTFVCT0JpbmRpbmdzPiBh
Y3R1YWxVQk9CaW5kaW5nczsKICAgICBzdGQ6OmFycmF5PHVpbnQzMl90LCBrTWF4U2hhZGVyWEZC
cz4gYWN0dWFsWEZCQmluZGluZ3M7CiAgICAgYm9vbCBoYXNVQk9Bcmd1bWVudEJ1ZmZlcjsKKyAg
ICBib29sIGhhc0ludmFyaWFudE9yQXRhbjsKIH07CiB2b2lkIE1TTEdldFNoYWRlclNvdXJjZShj
b25zdCBnbDo6UHJvZ3JhbVN0YXRlICZwcm9ncmFtU3RhdGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnbDo6UHJvZ3JhbUxpbmtlZFJlc291cmNlcyAmcmVzb3VyY2VzLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L210bF9nbHNsYW5nX210bF91dGlscy5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMubW0KaW5kZXggNzBk
NzZkYjE3MmMwYTE3NjE2YjRjM2RjODgzM2ZkMTY1Mzk5MDMyYi4uNzkxMjg1YmI0NWY5ZTg2MzQ4
M2E0MGQ4ZTcwMDk1NTZjZjEwZWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGlscy5tbQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
bXRsX2dsc2xhbmdfbXRsX3V0aWxzLm1tCkBAIC00NTQsNiArNDU0LDcgQEAgYW5nbGU6OlJlc3Vs
dCBHbHNsYW5nR2V0TVNMKGNvbnN0IGdsOjpDb250ZXh0ICpnbENvbnRleHQsCiAgICAgICAgICAg
ICBHZXRBc3NpZ25lZFNhbXBsZXJCaW5kaW5ncyhyZWZsZWN0aW9uLCBvcmlnaW5hbFNhbXBsZXJC
aW5kaW5ncywgc3RydWN0U2FtcGxlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmbXNsU2hhZGVySW5mb091dC0+YXQodHlwZSkuYWN0dWFsU2FtcGxlckJpbmRpbmdz
KTsKICAgICAgICAgfQorICAgICAgICAoKm1zbFNoYWRlckluZm9PdXQpW3R5cGVdLmhhc0ludmFy
aWFudE9yQXRhbiA9IHJlZmxlY3Rpb24tPmhhc0F0YW4gfHwgcmVmbGVjdGlvbi0+aGFzSW52YXJp
YW5jZTsKICAgICB9CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF9yZW5kZXJfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLmgKaW5kZXggYjYwZmNlNzE0YjVk
NjdmOWY0MmI4ODcyZmI4YWYyODMwMGMwMDc5ZS4uNjc2MTRjOWM1N2IxMTU3MjFjZWJmN2Q2NGFl
NmI1M2NkZGU3NjdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGls
cy5oCkBAIC01NzgsNyArNTc4LDggQEAgY2xhc3MgVmVydGV4Rm9ybWF0Q29udmVyc2lvblV0aWxz
IGZpbmFsIDogYW5nbGU6Ok5vbkNvcHlhYmxlCiAKICAgcHJpdmF0ZToKICAgICBBdXRvT2JqQ1B0
cjxpZDxNVExMaWJyYXJ5Pj4gY3JlYXRlTXNsWGZiTGlicmFyeShDb250ZXh0TXRsICpjb250ZXh0
TXRsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0ZDo6c3RyaW5nICZ0cmFuc2xhdGVkTXNsKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmdHJhbnNs
YXRlZE1zbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIGVuYWJsZUZhc3RNYXRoKTsKIH07CiAKIC8vIFJlbmRlclV0aWxzOiBjb250YWlu
ZXIgY2xhc3Mgb2YgdmFyaW91cyB1dGlsIGNsYXNzZXMgYWJvdmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVy
X3V0aWxzLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L21ldGFsL210bF9yZW5kZXJfdXRpbHMubW0KaW5kZXggNzg3ZTE3MmFmZGVhZWE1YzgyNTc3ZjUx
YzQyMzRlZDA0NDA4ODJlNy4uYzNiOTJlZWI3MTY3ZjViZDY1ZjA3MTVjNzhmZmE3YmE0NjA2NDFk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMubW0KQEAgLTMw
NDYsMTcgKzMwNDYsMTcgQEAgVmVydGV4Rm9ybWF0Q29udmVyc2lvblV0aWxzOjpnZXRGbG9hdENv
bnZlcnN0aW9uUmVuZGVyUGlwZWxpbmUoQ29udGV4dE10bCAqY29udGUKIAogQXV0b09iakNQdHI8
aWQ8TVRMTGlicmFyeT4+IFRyYW5zZm9ybUZlZWRiYWNrVXRpbHM6OmNyZWF0ZU1zbFhmYkxpYnJh
cnkoCiAgICAgQ29udGV4dE10bCAqY29udGV4dE10bCwKLSAgICBjb25zdCBzdGQ6OnN0cmluZyAm
dHJhbnNsYXRlZE1zbCkKKyAgICBjb25zdCBzdGQ6OnN0cmluZyAmdHJhbnNsYXRlZE1zbCwKKyAg
ICBib29sIGVuYWJsZUZhc3RNYXRoKQogewogICAgIEFOR0xFX01UTF9PQkpDX1NDT1BFCiAgICAg
ewogICAgICAgICBEaXNwbGF5TXRsICpkaXNwbGF5ICAgICA9IGNvbnRleHRNdGwtPmdldERpc3Bs
YXkoKTsKICAgICAgICAgaWQ8TVRMRGV2aWNlPiBtdGxEZXZpY2UgPSBkaXNwbGF5LT5nZXRNZXRh
bERldmljZSgpOwotCiAgICAgICAgIC8vIENvbnZlcnQgdG8gYWN0dWFsIGJpbmFyeSBzaGFkZXIK
ICAgICAgICAgbXRsOjpBdXRvT2JqQ1B0cjxOU0Vycm9yICo+IGVyciA9IG5pbDsKICAgICAgICAg
bXRsOjpBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gbXRsU2hhZGVyTGliID0KLSAgICAgICAg
bXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5KG10bERldmljZSwgdHJhbnNsYXRlZE1zbCwgQHtAIlRS
QU5TRk9STV9GRUVEQkFDS19FTkFCTEVEIjogQCIxIn0sICZlcnIpOworICAgICAgICBtdGw6OkNy
ZWF0ZVNoYWRlckxpYnJhcnkobXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsLCBAe0AiVFJBTlNGT1JN
X0ZFRURCQUNLX0VOQUJMRUQiOiBAIjEifSwgZW5hYmxlRmFzdE1hdGgsICZlcnIpOwogICAgICAg
ICBpZiAoZXJyICYmICFtdGxTaGFkZXJMaWIpCiAgICAgICAgIHsKICAgICAgICAgICAgIE5TTG9n
KEAiJUAiLCBlcnIuZ2V0KCkpOwpAQCAtMzA3NCwxMyArMzA3NCwxMyBAQCBBdXRvT2JqQ1B0cjxp
ZDxNVExSZW5kZXJQaXBlbGluZVN0YXRlPj4gVHJhbnNmb3JtRmVlZGJhY2tVdGlsczo6Z2V0VHJh
bnNmb3JtRmVlZAogewogICAgIGNvbnN0IFByb2dyYW1NdGwgKnByb2dyYW1NdGwgPSBtdGw6Okdl
dEltcGwoY29udGV4dE10bC0+Z2V0U3RhdGUoKS5nZXRQcm9ncmFtKCkpOwogICAgIFJlbmRlclBp
cGVsaW5lQ2FjaGUgJmNhY2hlICAgPSAqcHJvZ3JhbU10bC0+bU1ldGFsWGZiUmVuZGVyUGlwZWxp
bmVDYWNoZTsKLQorICAgIGJvb2wgZGlzYWJsZUZhc3RNYXRoID0gY29udGV4dE10bC0+Z2V0RGlz
cGxheSgpLT5nZXRGZWF0dXJlcygpLmludGVsRGlzYWJsZUZhc3RNYXRoV29ya2Fyb3VuZC5lbmFi
bGVkICYmICBwcm9ncmFtTXRsLT5nZXRUcmFuc2xhdGVkU2hhZGVySW5mbyhnbDo6U2hhZGVyVHlw
ZTo6VmVydGV4KS5oYXNJbnZhcmlhbnRPckF0YW47CiAgICAgaWYgKCFjYWNoZS5nZXRWZXJ0ZXhT
aGFkZXIoKSkKICAgICB7CiAgICAgICAgIC8vIFBpcGVsaW5lIGNhY2hlIG5vdCBpbnRpYWxpemVk
LCBkbyBpdCBub3c6CiAgICAgICAgIEFOR0xFX01UTF9PQkpDX1NDT1BFCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGF1dG8gc2hhZGVyTGliID0gY3JlYXRlTXNsWGZiTGlicmFyeShjb250ZXh0TXRs
LCBwcm9ncmFtTXRsLT5nZXRUcmFuc2xhdGVkU2hhZGVyU291cmNlKGdsOjpTaGFkZXJUeXBlOjpW
ZXJ0ZXgpKTsKKyAgICAgICAgICAgIGF1dG8gc2hhZGVyTGliID0gY3JlYXRlTXNsWGZiTGlicmFy
eShjb250ZXh0TXRsLCBwcm9ncmFtTXRsLT5nZXRUcmFuc2xhdGVkU2hhZGVyU291cmNlKGdsOjpT
aGFkZXJUeXBlOjpWZXJ0ZXgpLCAhZGlzYWJsZUZhc3RNYXRoKTsKICAgICAgICAgICAgIC8vIE5v
biBzcGVjaWFsaXplZCBjb25zdGFudHMgcHJvdmlkZWQsIHVzZSBkZWZhdWx0IGNyZWF0aW9uIGZ1
bmN0aW9uLgogICAgICAgICAgICAgRW5zdXJlVmVydGV4U2hhZGVyT25seVBpcGVsaW5lQ2FjaGVJ
bml0aWFsaXplZChjb250ZXh0TXRsLCBTSEFERVJfRU5UUllfTkFNRSwgc2hhZGVyTGliLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
Y2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oCmluZGV4IDQ3ZGQ0NDg3YmIxYjdh
ZDdmNWUyYTU3NWQ5MzFmODYyODk4M2MzYzkuLmQyNzNkNDgxMzA2NTE2YjhjOGU3ZmYzYzFhZTFm
YmZiZjRkNTM3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKQEAgLTg4LDYgKzg4
LDcgQEAgdWludDMyX3QgR2V0RGV2aWNlVmVuZG9ySWQoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmlj
ZSk7CiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxN
VExEZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeTxOU1N0cmluZyAq
LCBOU09iamVjdCAqPiAqIHN1YnN0aXR1dGlvbkRpY3Rpb25hcnksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZUZhc3RNYXRoLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0b09iakNQdHI8
TlNFcnJvciAqPiAqZXJyb3IpOwogCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRl
U2hhZGVyTGlicmFyeShpZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNlLApAQCAtOTgsNiArOTksNyBA
QCBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExE
ZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqc291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNvdXJjZUxlbiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeTxOU1N0cmluZyAq
LCBOU09iamVjdCAqPiAqIHN1YnN0aXR1dGlvbkRpY3Rpb25hcnksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZUZhc3RNYXRoLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0b09iakNQdHI8
TlNFcnJvciAqPiAqZXJyb3IpOwogCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRl
U2hhZGVyTGlicmFyeUZyb21CaW5hcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9tdGxfdXRpbHMubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tCmluZGV4IGUyOTc5MDZiZmY5NzdiOTRkNWEyMzA0NTE3
YWYyMmZjNTg0YTVmM2MuLmJkMTJjNTNmZDQ2ZWRlMDc1YTUzZjY5ZTc0Y2Q5YTI4Nzk0ZmVkNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9tdGxfdXRpbHMubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbQpAQCAtNTYwLDIyICs1NjAsMjQgQEAg
c3RhdGljIE1UTExhbmd1YWdlVmVyc2lvbiBHZXRVc2VyU2V0T3JIaWdoZXN0TVNMVmVyc2lvbihj
b25zdCBNVExMYW5ndWFnZVZlcnNpb24KIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBDcmVh
dGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmc291
cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNE
aWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uTWFjcm9zLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFi
bGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKQogewotICAgIHJldHVybiBDcmVhdGVT
aGFkZXJMaWJyYXJ5KG1ldGFsRGV2aWNlLCBzb3VyY2UuY19zdHIoKSwgc291cmNlLnNpemUoKSwg
c3Vic3RpdHV0aW9uTWFjcm9zLCBlcnJvcik7CisgICAgcmV0dXJuIENyZWF0ZVNoYWRlckxpYnJh
cnkobWV0YWxEZXZpY2UsIHNvdXJjZS5jX3N0cigpLCBzb3VyY2Uuc2l6ZSgpLCBzdWJzdGl0dXRp
b25NYWNyb3MsIGVuYWJsZUZhc3RNYXRoLCBlcnJvcik7CiB9CiAKIEF1dG9PYmpDUHRyPGlkPE1U
TExpYnJhcnk+PiBDcmVhdGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dGQ6OnN0cmluZyAmc291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQXV0b09iakNQdHI8TlNFcnJvciAqPiAqZXJyb3IpCiB7Ci0gICAgcmV0dXJu
IENyZWF0ZVNoYWRlckxpYnJhcnkobWV0YWxEZXZpY2UsIHNvdXJjZS5jX3N0cigpLCBzb3VyY2Uu
c2l6ZSgpLEB7fSwgZXJyb3IpOworICAgIHJldHVybiBDcmVhdGVTaGFkZXJMaWJyYXJ5KG1ldGFs
RGV2aWNlLCBzb3VyY2UuY19zdHIoKSwgc291cmNlLnNpemUoKSxAe30sIHRydWUsIGVycm9yKTsK
IH0KIAogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8
TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzb3VyY2VMZW4sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOU0RpY3Rpb25hcnk8TlNTdHJp
bmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25NYWNyb3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZUZhc3RNYXRoLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0b09iakNQdHI8
TlNFcnJvciAqPiAqZXJyb3JPdXQpCiB7CiAgICAgQU5HTEVfTVRMX09CSkNfU0NPUEUKQEAgLTU5
Niw2ICs1OTgsOCBAQCBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGli
cmFyeShpZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICBvcHRpb25zLmZhc3RNYXRo
RW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCiAgICAgICAgIG9wdGlvbnMubGFuZ3VhZ2VWZXJzaW9u
ID0gR2V0VXNlclNldE9ySGlnaGVzdE1TTFZlcnNpb24ob3B0aW9ucy5sYW5ndWFnZVZlcnNpb24p
OworICAgICAgICAvLyBUT0RPKGpjdW5uaW5naGFtKTogd29ya2Fyb3VuZCBmb3IgaW50ZWwgZHJp
dmVyIG5vdCBwcmVzZXJ2aW5nIGludmFyaWFuY2Ugb24gYWxsIHNoYWRlcnMKKyAgICAgICAgb3B0
aW9ucy5mYXN0TWF0aEVuYWJsZWQgJj0gZW5hYmxlRmFzdE1hdGg7CiAgICAgICAgIG9wdGlvbnMu
cHJlcHJvY2Vzc29yTWFjcm9zID0gc3Vic3RpdHV0aW9uTWFjcm9zOwogICAgICAgICBhdXRvIGxp
YnJhcnkgPSBbbWV0YWxEZXZpY2UgbmV3TGlicmFyeVdpdGhTb3VyY2U6bnNTb3VyY2Ugb3B0aW9u
czpvcHRpb25zIGVycm9yOiZuc0Vycm9yXTsKICAgICAgICAgaWYgKGFuZ2xlOjpHZXRFbnZpcm9u
bWVudFZhcihrQU5HTEVQcmludE1TTEVudilbMF0gPT0gJzEnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432836</attachid>
            <date>2021-07-02 17:39:19 -0700</date>
            <delta_ts>2021-07-06 11:52:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227596-20210702173918.patch</filename>
            <type>text/plain</type>
            <size>17895</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNjhhNGU4NTRlODg5ZWUzYjliZGIxOGJlNDljNDMzNzRjOTJhY2ZlYS4uYWZhMGUxNDI2NmIx
MTY1Y2QxY2M5ZWY4NTFiNWQ1Y2MyNzBiOTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTAyICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI3OTQ2Nik6ICBbQmlnIFN1
cl0gd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UgJiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZSBhcmUg
ZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3NTk2CisgICAgICAgIFByb3ZpZGUgSW50ZWwgd29ya2Fyb3VuZCBmb3IgQmlnIFN1ciBzeXN0
ZW1zLiBBdGFuIGFuZCBpbnZhcmlhbnQgaGF2ZSAKKyAgICAgICAgaXNzdWVzIG9uIG9sZGVyIHN5
c3RlbXMsIGFuZCByZXF1aXJlIHVzIHRvIGRpc2FibGUgZmFzdG1hdGggdG8gcHJvZHVjZSBjb3Jy
ZWN0IHJlc3VsdHMuIAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oOgorICAgICAgICAqIHNyYy9j
b21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5oOgorICAgICAgICAoc2g6
OlRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rpb246OnJlc2V0KToKKyAgICAgICAgKiBzcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcDoKKyAgICAg
ICAgKEdlbk1ldGFsVHJhdmVyc2VyOjplbWl0UG9zdFF1YWxpZmllcik6CisgICAgICAgIChHZW5N
ZXRhbFRyYXZlcnNlcjo6dmlzaXRVbmFyeSk6CisgICAgICAgIChHZW5NZXRhbFRyYXZlcnNlcjo6
dmlzaXRBZ2dyZWdhdGUpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9E
aXNwbGF5TXRsLm1tOgorICAgICAgICAocng6OkRpc3BsYXlNdGw6OmluaXRpYWxpemVGZWF0dXJl
cyk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwuaDoK
KyAgICAgICAgKHJ4OjpQcm9ncmFtTXRsOjpnZXRUcmFuc2xhdGVkU2hhZGVySW5mbyBjb25zdCk6
CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW06Cisg
ICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGls
cy5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19t
dGxfdXRpbHMubW06CisgICAgICAgIChyeDo6bXRsOjpHbHNsYW5nR2V0TVNMKToKKyAgICAgICAg
KiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5oOgorICAgICAg
ICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tOgorICAg
ICAgICAocng6Om10bDo6VHJhbnNmb3JtRmVlZGJhY2tVdGlsczo6Y3JlYXRlTXNsWGZiTGlicmFy
eSk6CisgICAgICAgIChyeDo6bXRsOjpUcmFuc2Zvcm1GZWVkYmFja1V0aWxzOjpnZXRUcmFuc2Zv
cm1GZWVkYmFja1JlbmRlclBpcGVsaW5lKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvbXRsX3V0aWxzLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF91dGlscy5tbToKKyAgICAgICAgKHJ4OjptdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkp
OgorCiAyMDIxLTA3LTAxICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjc5MTcyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oCmluZGV4IGNmMDViNTRiMDE2
NjFkNTVkNjA5ZmZjOTZlN2Y1YjM1ZDMyYWRhYmIuLmJjYTIwMzFiNDI3NWRkMmFkMzc5YjUwM2Q3
N2I0MDVhNDkyNzlmN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1
ZGUvcGxhdGZvcm0vRmVhdHVyZXNNdGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9p
bmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzTXRsLmgKQEAgLTEzMCw2ICsxMzAsMTAgQEAgc3RydWN0
IEZlYXR1cmVzTXRsIDogRmVhdHVyZVNldEJhc2UKICAgICAgICAgICAgICJpbnRlbF9leHBsaWNp
dF9ib29sX2Nhc3Rfd29ya2Fyb3VuZCIsIEZlYXR1cmVDYXRlZ29yeTo6TWV0YWxXb3JrYXJvdW5k
cywKICAgICAgICAgICAgICJJbnNlcnQgZXhwbGljaXQgY2FzdHMgZm9yIGZsb2F0L2RvdWJsZS91
bnNpZ25lZC9zaWduZWQgaW50IG9uIG1hY09TIDEwLjE1IHdpdGggSW50ZWwgZHJpdmVyIiwKICAg
ICAgICAgICAgICZtZW1iZXJzfTsKKyAgICBGZWF0dXJlIGludGVsRGlzYWJsZUZhc3RNYXRoV29y
a2Fyb3VuZCA9IHsKKyAgICAgICAgICAgICJpbnRlbF9kaXNhYmxlX2Zhc3RfbWF0aF93b3JrYXJv
dW5kcyIsIEZlYXR1cmVDYXRlZ29yeTo6TWV0YWxXb3JrYXJvdW5kcywKKyAgICAgICAgICAgICJE
aXNhYmxlIGZhc3QgbWF0aCBpbiBhdGFuIGFuZCBpbnZhcmlhbmNlIGNhc2VzIHdoZW4gcnVubmlu
ZyBiZWxvdyBtYWNPUyAxMi4wIiwKKyAgICAgICAgICAgICZtZW1iZXJzfTsKIH07CiAKIH0gIC8v
IG5hbWVzcGFjZSBhbmdsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QuaAppbmRleCBiZTExMGE5NTRlNjgwNjViNDlhM2ZkZjRmNTNjOGEzOWE0ZmQwZjhkLi43ZmI5
ODc1ZDlhN2I4ZmQwZmU2MmNhMDBhZmM4ODRjOTExNGVmOWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuaApAQCAtMTIwLDYgKzEyMCw4IEBAIGNsYXNzIFRy
YW5zbGF0b3JNZXRhbFJlZmxlY3Rpb24KICAgICB7CiAgICAgICAgIGhhc1VCT3MgPSBmYWxzZTsK
ICAgICAgICAgaGFzRmxhdElucHV0ID0gZmFsc2U7CisgICAgICAgIGhhc0F0YW4gPSBmYWxzZTsK
KyAgICAgICAgaGFzSW52YXJpYW5jZSA9IGZhbHNlOwogICAgICAgICBvcmlnaW5hbE5hbWVzLmNs
ZWFyKCk7CiAgICAgICAgIHNhbXBsZXJCaW5kaW5ncy5jbGVhcigpOwogICAgICAgICB0ZXh0dXJl
QmluZGluZ3MuY2xlYXIoKTsKQEAgLTEyOSw2ICsxMzEsOCBAQCBjbGFzcyBUcmFuc2xhdG9yTWV0
YWxSZWZsZWN0aW9uCiAKICAgICBib29sIGhhc1VCT3MgPSBmYWxzZTsKICAgICBib29sIGhhc0Zs
YXRJbnB1dCA9IGZhbHNlOworICAgIGJvb2wgaGFzQXRhbiA9IGZhbHNlOworICAgIGJvb2wgaGFz
SW52YXJpYW5jZSA9IGZhbHNlOwogCiAgIHByaXZhdGU6CiAgICAgb3JpZ2luYWxOYW1lc01hcCBv
cmlnaW5hbE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAppbmRleCBiZDBkMzU2Y2MyZGU5ZjA3ZTg3OGY0YWRi
MWM1YjBkYzg4NWM4ZDM2Li5lOGU5MDUxYmQzMDVmMTRkYmJlNGU3ZmU0MWY1YTZjN2ZmNGM3NzAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QvRW1pdE1ldGFsLmNwcApAQCAtOTc5LDYgKzk3OSw5IEBAIHZvaWQgR2VuTWV0YWxUcmF2ZXJz
ZXI6OmVtaXRQb3N0UXVhbGlmaWVyKGNvbnN0IEVtaXRWYXJpYWJsZURlY2xhcmF0aW9uQ29uZmln
ICZlCiAgICAgaWYgKGlzSW52YXJpYW50KQogICAgIHsKICAgICAgICAgbU91dCA8PCAiIFtbaW52
YXJpYW50XV0iOworICAgICAgICBUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uICpyZWZsZWN0aW9u
ID0KKyAgICAgICAgICAgICgoc2g6OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAqKSZtQ29tcGlsZXIp
LT5nZXRUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uKCk7CisgICAgICAgIHJlZmxlY3Rpb24tPmhh
c0ludmFyaWFuY2UgPSB0cnVlOwogICAgIH0KIH0KIApAQCAtMjEzNiw2ICsyMTM5LDEyIEBAIGJv
b2wgR2VuTWV0YWxUcmF2ZXJzZXI6OnZpc2l0QWdncmVnYXRlKFZpc2l0LCBUSW50ZXJtQWdncmVn
YXRlICphZ2dyZWdhdGVOb2RlKQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIGNvbnN0IFRPcGVy
YXRvciBvcCA9IGFnZ3JlZ2F0ZU5vZGUtPmdldE9wKCk7CisgICAgICAgIGlmKG9wID09IEVPcEF0
YW4pCisgICAgICAgIHsKKyAgICAgICAgICAgIFRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rpb24gKnJl
ZmxlY3Rpb24gPQorICAgICAgICAgICAgICAgICgoc2g6OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAq
KSZtQ29tcGlsZXIpLT5nZXRUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uKCk7CisgICAgICAgICAg
ICByZWZsZWN0aW9uLT5oYXNBdGFuID0gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgICBzd2l0Y2gg
KG9wKQogICAgICAgICB7CiAgICAgICAgICAgICBjYXNlIFRPcGVyYXRvcjo6RU9wQ2FsbEZ1bmN0
aW9uSW5BU1Q6CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IGE3MDQxMjgw
ODc2MzgzNWIyZjE5NjQ1MmFhODhmMTYzZmVlOTQwMzIuLmFhOWFkNmQ5MTk5YmUyNzlhNTVjZTdl
NGRhYzI3NzhmNDM0Mzg1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBA
IC05NzcsNiArOTc3LDcgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRmVhdHVyZXMoKQog
CiAgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oKCZtRmVhdHVyZXMpLCBpbnRlbFRoaW5NaXBt
YXBXb3JrYXJvdW5kLCBpc0ludGVsKCkpOwogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKCgm
bUZlYXR1cmVzKSwgaW50ZWxFeHBsaWNpdEJvb2xDYXN0V29ya2Fyb3VuZCwgaXNJbnRlbCgpICYm
IEdldE1hY09TVmVyc2lvbigpIDwgT1NWZXJzaW9uKDExLCAwLCAwKSk7CisgICAgQU5HTEVfRkVB
VFVSRV9DT05ESVRJT04oKCZtRmVhdHVyZXMpLCBpbnRlbERpc2FibGVGYXN0TWF0aFdvcmthcm91
bmQsIGlzSW50ZWwoKSAmJiBHZXRNYWNPU1ZlcnNpb24oKSA8IE9TVmVyc2lvbigxMiwgMCwgMCkp
OwogCiAgICAgYW5nbGU6OlBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0gPSBBTkdMRVBsYXRmb3Jt
Q3VycmVudCgpOwogICAgIHBsYXRmb3JtLT5vdmVycmlkZUZlYXR1cmVzTXRsKHBsYXRmb3JtLCAm
bUZlYXR1cmVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5oCmluZGV4IDYzZTBiZWEx
MTQwZTEwZjA5ODE5NTU3ZTExZDdiODczNGYyYzljMDQuLjMyMzUxN2NiMTQ1YmExYmNhNWI4NjE3
ZmZkODMyODc0ZGZjMzAxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwuaApAQCAt
MTUzLDYgKzE1Myw5IEBAIGNsYXNzIFByb2dyYW1NdGwgOiBwdWJsaWMgUHJvZ3JhbUltcGwsIHB1
YmxpYyBtdGw6OlJlbmRlclBpcGVsaW5lQ2FjaGVTcGVjaWFsaXplCiAKICAgICBzdGQ6OmFycmF5
PHVpbnQzMl90LCBtdGw6OmtNYXhTaGFkZXJYRkJzPiBnZXRYZmJCaW5kaW5ncygpIGNvbnN0IHsg
cmV0dXJuIG1YZmJCaW5kaW5nczsgfQogICAgIHN0ZDo6c3RyaW5nIGdldFRyYW5zbGF0ZWRTaGFk
ZXJTb3VyY2UoY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVyVHlwZSkgY29uc3QgeyByZXR1cm4g
bU1zbFNoYWRlclRyYW5zbGF0ZUluZm9bc2hhZGVyVHlwZV0ubWV0YWxTaGFkZXJTb3VyY2U7IH0K
KyAgICAKKyAgICBtdGw6OlRyYW5zbGF0ZWRTaGFkZXJJbmZvIGdldFRyYW5zbGF0ZWRTaGFkZXJJ
bmZvKGNvbnN0IGdsOjpTaGFkZXJUeXBlIHNoYWRlclR5cGUpIGNvbnN0IHsgcmV0dXJuIG1Nc2xT
aGFkZXJUcmFuc2xhdGVJbmZvW3NoYWRlclR5cGVdOyB9CisgICAgCiAgICAgYm9vbCBoYXNGbGF0
QXR0cmlidXRlKCk7CiAgICAgCiAgICAgbXRsOjpSZW5kZXJQaXBlbGluZUNhY2hlICptTWV0YWxY
ZmJSZW5kZXJQaXBlbGluZUNhY2hlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwubW0gYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQpp
bmRleCBiM2M2ZTg5ZTdjNzhhYWRhNmNhNGJjZjU4NmQyMWU4MWFjYjhiODU1Li4zNDEyYThhNWQw
ZTQ4YWMxMWQwNmY1NDY0NzcxZTZhNzI5ZTJjN2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5tbQorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJv
Z3JhbU10bC5tbQpAQCAtNzM0LDggKzczNCw5IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbU10bDo6
Y3JlYXRlTXNsU2hhZGVyTGliKG10bDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgICAgICAvLyBD
b252ZXJ0IHRvIGFjdHVhbCBiaW5hcnkgc2hhZGVyCiAgICAgICAgIG10bDo6QXV0b09iakNQdHI8
TlNFcnJvciAqPiBlcnIgPSBuaWw7CisgICAgICAgIGJvb2wgZGlzYWJsZUZhc3RNYXRoID0gKGNv
bnRleHQtPmdldERpc3BsYXkoKS0+Z2V0RmVhdHVyZXMoKS5pbnRlbERpc2FibGVGYXN0TWF0aFdv
cmthcm91bmQuZW5hYmxlZCAmJiB0cmFuc2xhdGVkTXNsSW5mby0+aGFzSW52YXJpYW50T3JBdGFu
KTsKICAgICAgICAgdHJhbnNsYXRlZE1zbEluZm8tPm1ldGFsTGlicmFyeSA9Ci0gICAgICAgICAg
ICBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkobXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsSW5mby0+
bWV0YWxTaGFkZXJTb3VyY2UsIHN1YnN0aXR1dGlvbk1hY3JvcywgJmVycik7CisgICAgICAgICAg
ICBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnkobXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsSW5mby0+
bWV0YWxTaGFkZXJTb3VyY2UsIHN1YnN0aXR1dGlvbk1hY3JvcywgIWRpc2FibGVGYXN0TWF0aCwg
JmVycik7CiAgICAgICAgIGlmIChlcnIgJiYgIXRyYW5zbGF0ZWRNc2xJbmZvLT5tZXRhbExpYnJh
cnkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBzczsKQEAgLTgy
MSw2ICs4MjIsNyBAQCB2b2lkIFByb2dyYW1NdGw6OnNhdmVTaGFkZXJJbnRlcm5hbEluZm8oZ2w6
OkJpbmFyeU91dHB1dFN0cmVhbSAqc3RyZWFtKQogICAgICAgICB7CiAgICAgICAgICAgICBzdHJl
YW0tPndyaXRlSW50PHVpbnQzMl90Pih1Ym9CaW5kaW5nKTsKICAgICAgICAgfQorICAgICAgICBz
dHJlYW0tPndyaXRlQm9vbChtTXNsU2hhZGVyVHJhbnNsYXRlSW5mb1tzaGFkZXJUeXBlXS5oYXNJ
bnZhcmlhbnRPckF0YW4pOwogICAgIH0KIH0KIApAQCAtODQwLDYgKzg0Miw3IEBAIHZvaWQgUHJv
Z3JhbU10bDo6bG9hZFNoYWRlckludGVybmFsSW5mbyhnbDo6QmluYXJ5SW5wdXRTdHJlYW0gKnN0
cmVhbSkKICAgICAgICAgewogICAgICAgICAgICAgdWJvQmluZGluZyA9IHN0cmVhbS0+cmVhZElu
dDx1aW50MzJfdD4oKTsKICAgICAgICAgfQorICAgICAgICBtTXNsU2hhZGVyVHJhbnNsYXRlSW5m
b1tzaGFkZXJUeXBlXS5oYXNJbnZhcmlhbnRPckF0YW4gPSBzdHJlYW0tPnJlYWRCb29sKCk7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0
aWxzLmgKaW5kZXggYjZlMmVjYzM4NjgyZGNlOTg0N2FlM2NjMjM1YTczYzA3NWE2M2QzMi4uZDNk
ZGFjYTgzMmQ2ZjFhMTZhYWNjMDJmMTlmOTA3MmQyNzdmNTA3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5n
X210bF91dGlscy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMuaApAQCAtMzQsNiArMzQsNyBAQCBz
dHJ1Y3QgVHJhbnNsYXRlZFNoYWRlckluZm8KICAgICBzdGQ6OmFycmF5PHVpbnQzMl90LCBrTWF4
R0xVQk9CaW5kaW5ncz4gYWN0dWFsVUJPQmluZGluZ3M7CiAgICAgc3RkOjphcnJheTx1aW50MzJf
dCwga01heFNoYWRlclhGQnM+IGFjdHVhbFhGQkJpbmRpbmdzOwogICAgIGJvb2wgaGFzVUJPQXJn
dW1lbnRCdWZmZXI7CisgICAgYm9vbCBoYXNJbnZhcmlhbnRPckF0YW47CiB9Owogdm9pZCBNU0xH
ZXRTaGFkZXJTb3VyY2UoY29uc3QgZ2w6OlByb2dyYW1TdGF0ZSAmcHJvZ3JhbVN0YXRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OlByb2dyYW1MaW5rZWRSZXNvdXJjZXMgJnJl
c291cmNlcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMubW0gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0
aWxzLm1tCmluZGV4IDcwZDc2ZGIxNzJjMGExNzYxNmI0YzNkYzg4MzNmZDE2NTM5OTAzMmIuLjc5
MTI4NWJiNDVmOWU4NjM0ODNhNDBkOGU3MDA5NTU2Y2YxMGVlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFu
Z19tdGxfdXRpbHMubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGlscy5tbQpAQCAtNDU0LDYgKzQ1NCw3
IEBAIGFuZ2xlOjpSZXN1bHQgR2xzbGFuZ0dldE1TTChjb25zdCBnbDo6Q29udGV4dCAqZ2xDb250
ZXh0LAogICAgICAgICAgICAgR2V0QXNzaWduZWRTYW1wbGVyQmluZGluZ3MocmVmbGVjdGlvbiwg
b3JpZ2luYWxTYW1wbGVyQmluZGluZ3MsIHN0cnVjdFNhbXBsZXJzLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJm1zbFNoYWRlckluZm9PdXQtPmF0KHR5cGUpLmFjdHVh
bFNhbXBsZXJCaW5kaW5ncyk7CiAgICAgICAgIH0KKyAgICAgICAgKCptc2xTaGFkZXJJbmZvT3V0
KVt0eXBlXS5oYXNJbnZhcmlhbnRPckF0YW4gPSByZWZsZWN0aW9uLT5oYXNBdGFuIHx8IHJlZmxl
Y3Rpb24tPmhhc0ludmFyaWFuY2U7CiAgICAgfQogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5oCmlu
ZGV4IGI2MGZjZTcxNGI1ZDY3ZjlmNDJiODg3MmZiOGFmMjgzMDBjMDA3OWUuLjY3NjE0YzljNTdi
MTE1NzIxY2ViZjdkNjRhZTZiNTNjZGRlNzY3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L210bF9yZW5kZXJfdXRpbHMuaApAQCAtNTc4LDcgKzU3OCw4IEBAIGNsYXNzIFZlcnRleEZvcm1h
dENvbnZlcnNpb25VdGlscyBmaW5hbCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogCiAgIHByaXZhdGU6
CiAgICAgQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IGNyZWF0ZU1zbFhmYkxpYnJhcnkoQ29u
dGV4dE10bCAqY29udGV4dE10bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmdHJhbnNsYXRlZE1zbCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Rk
OjpzdHJpbmcgJnRyYW5zbGF0ZWRNc2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGVGYXN0TWF0aCk7CiB9OwogCiAvLyBSZW5k
ZXJVdGlsczogY29udGFpbmVyIGNsYXNzIG9mIHZhcmlvdXMgdXRpbCBjbGFzc2VzIGFib3ZlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX3JlbmRlcl91dGlscy5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tCmluZGV4IDc4N2UxNzJh
ZmRlYWVhNWM4MjU3N2Y1MWM0MjM0ZWQwNDQwODgyZTcuLmMzYjkyZWViNzE2N2Y1YmQ2NWYwNzE1
Yzc4ZmZhN2JhNDYwNjQxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVy
X3V0aWxzLm1tCkBAIC0zMDQ2LDE3ICszMDQ2LDE3IEBAIFZlcnRleEZvcm1hdENvbnZlcnNpb25V
dGlsczo6Z2V0RmxvYXRDb252ZXJzdGlvblJlbmRlclBpcGVsaW5lKENvbnRleHRNdGwgKmNvbnRl
CiAKIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBUcmFuc2Zvcm1GZWVkYmFja1V0aWxzOjpj
cmVhdGVNc2xYZmJMaWJyYXJ5KAogICAgIENvbnRleHRNdGwgKmNvbnRleHRNdGwsCi0gICAgY29u
c3Qgc3RkOjpzdHJpbmcgJnRyYW5zbGF0ZWRNc2wpCisgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnRy
YW5zbGF0ZWRNc2wsCisgICAgYm9vbCBlbmFibGVGYXN0TWF0aCkKIHsKICAgICBBTkdMRV9NVExf
T0JKQ19TQ09QRQogICAgIHsKICAgICAgICAgRGlzcGxheU10bCAqZGlzcGxheSAgICAgPSBjb250
ZXh0TXRsLT5nZXREaXNwbGF5KCk7CiAgICAgICAgIGlkPE1UTERldmljZT4gbXRsRGV2aWNlID0g
ZGlzcGxheS0+Z2V0TWV0YWxEZXZpY2UoKTsKLQogICAgICAgICAvLyBDb252ZXJ0IHRvIGFjdHVh
bCBiaW5hcnkgc2hhZGVyCiAgICAgICAgIG10bDo6QXV0b09iakNQdHI8TlNFcnJvciAqPiBlcnIg
PSBuaWw7CiAgICAgICAgIG10bDo6QXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IG10bFNoYWRl
ckxpYiA9Ci0gICAgICAgIG10bDo6Q3JlYXRlU2hhZGVyTGlicmFyeShtdGxEZXZpY2UsIHRyYW5z
bGF0ZWRNc2wsIEB7QCJUUkFOU0ZPUk1fRkVFREJBQ0tfRU5BQkxFRCI6IEAiMSJ9LCAmZXJyKTsK
KyAgICAgICAgbXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5KG10bERldmljZSwgdHJhbnNsYXRlZE1z
bCwgQHtAIlRSQU5TRk9STV9GRUVEQkFDS19FTkFCTEVEIjogQCIxIn0sIGVuYWJsZUZhc3RNYXRo
LCAmZXJyKTsKICAgICAgICAgaWYgKGVyciAmJiAhbXRsU2hhZGVyTGliKQogICAgICAgICB7CiAg
ICAgICAgICAgICBOU0xvZyhAIiVAIiwgZXJyLmdldCgpKTsKQEAgLTMwNzQsMTMgKzMwNzQsMTMg
QEAgQXV0b09iakNQdHI8aWQ8TVRMUmVuZGVyUGlwZWxpbmVTdGF0ZT4+IFRyYW5zZm9ybUZlZWRi
YWNrVXRpbHM6OmdldFRyYW5zZm9ybUZlZWQKIHsKICAgICBjb25zdCBQcm9ncmFtTXRsICpwcm9n
cmFtTXRsID0gbXRsOjpHZXRJbXBsKGNvbnRleHRNdGwtPmdldFN0YXRlKCkuZ2V0UHJvZ3JhbSgp
KTsKICAgICBSZW5kZXJQaXBlbGluZUNhY2hlICZjYWNoZSAgID0gKnByb2dyYW1NdGwtPm1NZXRh
bFhmYlJlbmRlclBpcGVsaW5lQ2FjaGU7Ci0KKyAgICBib29sIGRpc2FibGVGYXN0TWF0aCA9IGNv
bnRleHRNdGwtPmdldERpc3BsYXkoKS0+Z2V0RmVhdHVyZXMoKS5pbnRlbERpc2FibGVGYXN0TWF0
aFdvcmthcm91bmQuZW5hYmxlZCAmJiAgcHJvZ3JhbU10bC0+Z2V0VHJhbnNsYXRlZFNoYWRlcklu
Zm8oZ2w6OlNoYWRlclR5cGU6OlZlcnRleCkuaGFzSW52YXJpYW50T3JBdGFuOwogICAgIGlmICgh
Y2FjaGUuZ2V0VmVydGV4U2hhZGVyKCkpCiAgICAgewogICAgICAgICAvLyBQaXBlbGluZSBjYWNo
ZSBub3QgaW50aWFsaXplZCwgZG8gaXQgbm93OgogICAgICAgICBBTkdMRV9NVExfT0JKQ19TQ09Q
RQogICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvIHNoYWRlckxpYiA9IGNyZWF0ZU1zbFhmYkxp
YnJhcnkoY29udGV4dE10bCwgcHJvZ3JhbU10bC0+Z2V0VHJhbnNsYXRlZFNoYWRlclNvdXJjZShn
bDo6U2hhZGVyVHlwZTo6VmVydGV4KSk7CisgICAgICAgICAgICBhdXRvIHNoYWRlckxpYiA9IGNy
ZWF0ZU1zbFhmYkxpYnJhcnkoY29udGV4dE10bCwgcHJvZ3JhbU10bC0+Z2V0VHJhbnNsYXRlZFNo
YWRlclNvdXJjZShnbDo6U2hhZGVyVHlwZTo6VmVydGV4KSwgIWRpc2FibGVGYXN0TWF0aCk7CiAg
ICAgICAgICAgICAvLyBOb24gc3BlY2lhbGl6ZWQgY29uc3RhbnRzIHByb3ZpZGVkLCB1c2UgZGVm
YXVsdCBjcmVhdGlvbiBmdW5jdGlvbi4KICAgICAgICAgICAgIEVuc3VyZVZlcnRleFNoYWRlck9u
bHlQaXBlbGluZUNhY2hlSW5pdGlhbGl6ZWQoY29udGV4dE10bCwgU0hBREVSX0VOVFJZX05BTUUs
IHNoYWRlckxpYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmNhY2hlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaAppbmRl
eCA0N2RkNDQ4N2JiMWI3YWQ3ZjVlMmE1NzVkOTMxZjg2Mjg5ODNjM2M5Li5kMjczZDQ4MTMwNjUx
NmI4YzhlN2ZmM2MxYWUxZmJmYmY0ZDUzN2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGls
cy5oCkBAIC04OCw2ICs4OCw3IEBAIHVpbnQzMl90IEdldERldmljZVZlbmRvcklkKGlkPE1UTERl
dmljZT4gbWV0YWxEZXZpY2UpOwogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNo
YWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZzb3VyY2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOU0RpY3Rp
b25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9uYXJ5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFi
bGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogQXV0b09iakNQdHI8aWQ8TVRM
TGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwK
QEAgLTk4LDYgKzk5LDcgQEAgQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRl
ckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNvdXJjZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzb3VyY2VMZW4s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOU0RpY3Rp
b25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9uYXJ5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFi
bGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogQXV0b09iakNQdHI8aWQ8TVRM
TGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnlGcm9tQmluYXJ5KGlkPE1UTERldmljZT4gbWV0
YWxEZXZpY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbQppbmRleCBlMjk3OTA2YmZm
OTc3Yjk0ZDVhMjMwNDUxN2FmMjJmYzU4NGE1ZjNjLi5iZDEyYzUzZmQ0NmVkZTA3NWE1M2Y2OWU3
NGNkOWEyODc5NGZlZDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMubW0KQEAgLTU2
MCwyMiArNTYwLDI0IEBAIHN0YXRpYyBNVExMYW5ndWFnZVZlcnNpb24gR2V0VXNlclNldE9ySGln
aGVzdE1TTFZlcnNpb24oY29uc3QgTVRMTGFuZ3VhZ2VWZXJzaW9uCiBBdXRvT2JqQ1B0cjxpZDxN
VExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RkOjpzdHJpbmcgJnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5TRGljdGlvbmFyeTxOU1N0cmluZyAqLCBOU09iamVjdCAqPiAqIHN1YnN0
aXR1dGlvbk1hY3JvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgZW5hYmxlRmFzdE1hdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBBdXRvT2JqQ1B0cjxOU0Vycm9yICo+ICplcnJvcikKIHsKLSAg
ICByZXR1cm4gQ3JlYXRlU2hhZGVyTGlicmFyeShtZXRhbERldmljZSwgc291cmNlLmNfc3RyKCks
IHNvdXJjZS5zaXplKCksIHN1YnN0aXR1dGlvbk1hY3JvcywgZXJyb3IpOworICAgIHJldHVybiBD
cmVhdGVTaGFkZXJMaWJyYXJ5KG1ldGFsRGV2aWNlLCBzb3VyY2UuY19zdHIoKSwgc291cmNlLnNp
emUoKSwgc3Vic3RpdHV0aW9uTWFjcm9zLCBlbmFibGVGYXN0TWF0aCwgZXJyb3IpOwogfQogCiBB
dXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExEZXZp
Y2U+IG1ldGFsRGV2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9y
KQogewotICAgIHJldHVybiBDcmVhdGVTaGFkZXJMaWJyYXJ5KG1ldGFsRGV2aWNlLCBzb3VyY2Uu
Y19zdHIoKSwgc291cmNlLnNpemUoKSxAe30sIGVycm9yKTsKKyAgICByZXR1cm4gQ3JlYXRlU2hh
ZGVyTGlicmFyeShtZXRhbERldmljZSwgc291cmNlLmNfc3RyKCksIHNvdXJjZS5zaXplKCksQHt9
LCB0cnVlLCBlcnJvcik7CiB9CiAKIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBDcmVhdGVT
aGFkZXJMaWJyYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzb3VyY2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc291cmNl
TGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNE
aWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uTWFjcm9zLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFi
bGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yT3V0KQogewogICAgIEFOR0xFX01UTF9P
QkpDX1NDT1BFCkBAIC01OTYsNiArNTk4LDggQEAgQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+
IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAg
b3B0aW9ucy5mYXN0TWF0aEVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgogICAgICAgICBvcHRpb25z
Lmxhbmd1YWdlVmVyc2lvbiA9IEdldFVzZXJTZXRPckhpZ2hlc3RNU0xWZXJzaW9uKG9wdGlvbnMu
bGFuZ3VhZ2VWZXJzaW9uKTsKKyAgICAgICAgLy8gVE9ETyhqY3VubmluZ2hhbSk6IHdvcmthcm91
bmQgZm9yIGludGVsIGRyaXZlciBub3QgcHJlc2VydmluZyBpbnZhcmlhbmNlIG9uIGFsbCBzaGFk
ZXJzCisgICAgICAgIG9wdGlvbnMuZmFzdE1hdGhFbmFibGVkICY9IGVuYWJsZUZhc3RNYXRoOwog
ICAgICAgICBvcHRpb25zLnByZXByb2Nlc3Nvck1hY3JvcyA9IHN1YnN0aXR1dGlvbk1hY3JvczsK
ICAgICAgICAgYXV0byBsaWJyYXJ5ID0gW21ldGFsRGV2aWNlIG5ld0xpYnJhcnlXaXRoU291cmNl
Om5zU291cmNlIG9wdGlvbnM6b3B0aW9ucyBlcnJvcjombnNFcnJvcl07CiAgICAgICAgIGlmIChh
bmdsZTo6R2V0RW52aXJvbm1lbnRWYXIoa0FOR0xFUHJpbnRNU0xFbnYpWzBdID09ICcxJykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432956</attachid>
            <date>2021-07-06 11:52:02 -0700</date>
            <delta_ts>2021-07-06 12:33:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227596-20210706115201.patch</filename>
            <type>text/plain</type>
            <size>17844</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNjhhNGU4NTRlODg5ZWUzYjliZGIxOGJlNDljNDMzNzRjOTJhY2ZlYS4uNDRhMjFlNjE2Zjk4
MGE1M2ZhMTk4ZDBhOWNjOTMxZmQ0YWQ5MzNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTAyICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI3OTQ2Nik6ICBbQmlnIFN1
cl0gd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UgJiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZSBhcmUg
ZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3NTk2CisgICAgICAgIFByb3ZpZGUgSW50ZWwgd29ya2Fyb3VuZCBmb3IgQmlnIFN1ciBzeXN0
ZW1zLiBBdGFuIGFuZCBpbnZhcmlhbnQgaGF2ZSAKKyAgICAgICAgaXNzdWVzIG9uIG9sZGVyIHN5
c3RlbXMsIGFuZCByZXF1aXJlIHVzIHRvIGRpc2FibGUgZmFzdG1hdGggdG8gcHJvZHVjZSBjb3Jy
ZWN0IHJlc3VsdHMuIAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKwor
ICAgICAgICAqIGluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNNdGwuaDoKKyAgICAgICAgKiBzcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuaDoKKyAgICAgICAgKHNo
OjpUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uOjpyZXNldCk6CisgICAgICAgICogc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHA6CisgICAg
ICAgIChHZW5NZXRhbFRyYXZlcnNlcjo6ZW1pdFBvc3RRdWFsaWZpZXIpOgorICAgICAgICAoR2Vu
TWV0YWxUcmF2ZXJzZXI6OnZpc2l0VW5hcnkpOgorICAgICAgICAoR2VuTWV0YWxUcmF2ZXJzZXI6
OnZpc2l0QWdncmVnYXRlKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
RGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplRmVhdHVy
ZXMpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLmg6
CisgICAgICAgIChyeDo6UHJvZ3JhbU10bDo6Z2V0VHJhbnNsYXRlZFNoYWRlckluZm8gY29uc3Qp
OgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tOgor
ICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRp
bHMuaDoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdf
bXRsX3V0aWxzLm1tOgorICAgICAgICAocng6Om10bDo6R2xzbGFuZ0dldE1TTCk6CisgICAgICAg
ICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMuaDoKKyAgICAg
ICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5tbToKKyAg
ICAgICAgKHJ4OjptdGw6OlRyYW5zZm9ybUZlZWRiYWNrVXRpbHM6OmNyZWF0ZU1zbFhmYkxpYnJh
cnkpOgorICAgICAgICAocng6Om10bDo6VHJhbnNmb3JtRmVlZGJhY2tVdGlsczo6Z2V0VHJhbnNm
b3JtRmVlZGJhY2tSZW5kZXJQaXBlbGluZSk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF91dGlscy5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfdXRpbHMubW06CisgICAgICAgIChyeDo6bXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5
KToKKwogMjAyMS0wNy0wMSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTE3Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNNdGwuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNNdGwuaAppbmRleCBjZjA1YjU0YjAx
NjYxZDU1ZDYwOWZmYzk2ZTdmNWIzNWQzMmFkYWJiLi4wOWMyY2JiYTJiMWNlODJhMmM4MjcxZTA1
YzhkYTNiYWQ0NDE4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNs
dWRlL3BsYXRmb3JtL0ZlYXR1cmVzTXRsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
aW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc010bC5oCkBAIC0xMzAsNiArMTMwLDEwIEBAIHN0cnVj
dCBGZWF0dXJlc010bCA6IEZlYXR1cmVTZXRCYXNlCiAgICAgICAgICAgICAiaW50ZWxfZXhwbGlj
aXRfYm9vbF9jYXN0X3dvcmthcm91bmQiLCBGZWF0dXJlQ2F0ZWdvcnk6Ok1ldGFsV29ya2Fyb3Vu
ZHMsCiAgICAgICAgICAgICAiSW5zZXJ0IGV4cGxpY2l0IGNhc3RzIGZvciBmbG9hdC9kb3VibGUv
dW5zaWduZWQvc2lnbmVkIGludCBvbiBtYWNPUyAxMC4xNSB3aXRoIEludGVsIGRyaXZlciIsCiAg
ICAgICAgICAgICAmbWVtYmVyc307CisgICAgRmVhdHVyZSBpbnRlbERpc2FibGVGYXN0TWF0aCA9
IHsKKyAgICAgICAgICAgICJpbnRlbF9kaXNhYmxlX2Zhc3RfbWF0aCIsIEZlYXR1cmVDYXRlZ29y
eTo6TWV0YWxXb3JrYXJvdW5kcywKKyAgICAgICAgICAgICJEaXNhYmxlIGZhc3QgbWF0aCBpbiBh
dGFuIGFuZCBpbnZhcmlhbmNlIGNhc2VzIHdoZW4gcnVubmluZyBiZWxvdyBtYWNPUyAxMi4wIiwK
KyAgICAgICAgICAgICZtZW1iZXJzfTsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZSBhbmdsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuaAppbmRleCBiZTExMGE5NTRl
NjgwNjViNDlhM2ZkZjRmNTNjOGEzOWE0ZmQwZjhkLi43ZmI5ODc1ZDlhN2I4ZmQwZmU2MmNhMDBh
ZmM4ODRjOTExNGVmOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QuaApAQCAtMTIwLDYgKzEyMCw4IEBAIGNsYXNzIFRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rp
b24KICAgICB7CiAgICAgICAgIGhhc1VCT3MgPSBmYWxzZTsKICAgICAgICAgaGFzRmxhdElucHV0
ID0gZmFsc2U7CisgICAgICAgIGhhc0F0YW4gPSBmYWxzZTsKKyAgICAgICAgaGFzSW52YXJpYW5j
ZSA9IGZhbHNlOwogICAgICAgICBvcmlnaW5hbE5hbWVzLmNsZWFyKCk7CiAgICAgICAgIHNhbXBs
ZXJCaW5kaW5ncy5jbGVhcigpOwogICAgICAgICB0ZXh0dXJlQmluZGluZ3MuY2xlYXIoKTsKQEAg
LTEyOSw2ICsxMzEsOCBAQCBjbGFzcyBUcmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uCiAKICAgICBi
b29sIGhhc1VCT3MgPSBmYWxzZTsKICAgICBib29sIGhhc0ZsYXRJbnB1dCA9IGZhbHNlOworICAg
IGJvb2wgaGFzQXRhbiA9IGZhbHNlOworICAgIGJvb2wgaGFzSW52YXJpYW5jZSA9IGZhbHNlOwog
CiAgIHByaXZhdGU6CiAgICAgb3JpZ2luYWxOYW1lc01hcCBvcmlnaW5hbE5hbWVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJh
bnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFs
LmNwcAppbmRleCBiZDBkMzU2Y2MyZGU5ZjA3ZTg3OGY0YWRiMWM1YjBkYzg4NWM4ZDM2Li5lOGU5
MDUxYmQzMDVmMTRkYmJlNGU3ZmU0MWY1YTZjN2ZmNGM3NzAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QvRW1pdE1ldGFsLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcApAQCAt
OTc5LDYgKzk3OSw5IEBAIHZvaWQgR2VuTWV0YWxUcmF2ZXJzZXI6OmVtaXRQb3N0UXVhbGlmaWVy
KGNvbnN0IEVtaXRWYXJpYWJsZURlY2xhcmF0aW9uQ29uZmlnICZlCiAgICAgaWYgKGlzSW52YXJp
YW50KQogICAgIHsKICAgICAgICAgbU91dCA8PCAiIFtbaW52YXJpYW50XV0iOworICAgICAgICBU
cmFuc2xhdG9yTWV0YWxSZWZsZWN0aW9uICpyZWZsZWN0aW9uID0KKyAgICAgICAgICAgICgoc2g6
OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAqKSZtQ29tcGlsZXIpLT5nZXRUcmFuc2xhdG9yTWV0YWxS
ZWZsZWN0aW9uKCk7CisgICAgICAgIHJlZmxlY3Rpb24tPmhhc0ludmFyaWFuY2UgPSB0cnVlOwog
ICAgIH0KIH0KIApAQCAtMjEzNiw2ICsyMTM5LDEyIEBAIGJvb2wgR2VuTWV0YWxUcmF2ZXJzZXI6
OnZpc2l0QWdncmVnYXRlKFZpc2l0LCBUSW50ZXJtQWdncmVnYXRlICphZ2dyZWdhdGVOb2RlKQog
ICAgIGVsc2UKICAgICB7CiAgICAgICAgIGNvbnN0IFRPcGVyYXRvciBvcCA9IGFnZ3JlZ2F0ZU5v
ZGUtPmdldE9wKCk7CisgICAgICAgIGlmKG9wID09IEVPcEF0YW4pCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFRyYW5zbGF0b3JNZXRhbFJlZmxlY3Rpb24gKnJlZmxlY3Rpb24gPQorICAgICAgICAg
ICAgICAgICgoc2g6OlRyYW5zbGF0b3JNZXRhbERpcmVjdCAqKSZtQ29tcGlsZXIpLT5nZXRUcmFu
c2xhdG9yTWV0YWxSZWZsZWN0aW9uKCk7CisgICAgICAgICAgICByZWZsZWN0aW9uLT5oYXNBdGFu
ID0gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgICBzd2l0Y2ggKG9wKQogICAgICAgICB7CiAgICAg
ICAgICAgICBjYXNlIFRPcGVyYXRvcjo6RU9wQ2FsbEZ1bmN0aW9uSW5BU1Q6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlz
cGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IGE3MDQxMjgwODc2MzgzNWIyZjE5NjQ1MmFhODhm
MTYzZmVlOTQwMzIuLjdlYjUwM2Y4OGYwYjM2ZDBjNjg1OTQyZTE3NjBmZjg3YWJkYzUwOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC05NzcsNiArOTc3LDcgQEAgdm9p
ZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRmVhdHVyZXMoKQogCiAgICAgQU5HTEVfRkVBVFVSRV9D
T05ESVRJT04oKCZtRmVhdHVyZXMpLCBpbnRlbFRoaW5NaXBtYXBXb3JrYXJvdW5kLCBpc0ludGVs
KCkpOwogICAgIEFOR0xFX0ZFQVRVUkVfQ09ORElUSU9OKCgmbUZlYXR1cmVzKSwgaW50ZWxFeHBs
aWNpdEJvb2xDYXN0V29ya2Fyb3VuZCwgaXNJbnRlbCgpICYmIEdldE1hY09TVmVyc2lvbigpIDwg
T1NWZXJzaW9uKDExLCAwLCAwKSk7CisgICAgQU5HTEVfRkVBVFVSRV9DT05ESVRJT04oKCZtRmVh
dHVyZXMpLCBpbnRlbERpc2FibGVGYXN0TWF0aCwgaXNJbnRlbCgpICYmIEdldE1hY09TVmVyc2lv
bigpIDwgT1NWZXJzaW9uKDEyLCAwLCAwKSk7CiAKICAgICBhbmdsZTo6UGxhdGZvcm1NZXRob2Rz
ICpwbGF0Zm9ybSA9IEFOR0xFUGxhdGZvcm1DdXJyZW50KCk7CiAgICAgcGxhdGZvcm0tPm92ZXJy
aWRlRmVhdHVyZXNNdGwocGxhdGZvcm0sICZtRmVhdHVyZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Q
cm9ncmFtTXRsLmgKaW5kZXggNjNlMGJlYTExNDBlMTBmMDk4MTk1NTdlMTFkN2I4NzM0ZjJjOWMw
NC4uMzIzNTE3Y2IxNDViYTFiY2E1Yjg2MTdmZmQ4MzI4NzRkZmMzMDEyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dy
YW1NdGwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvUHJvZ3JhbU10bC5oCkBAIC0xNTMsNiArMTUzLDkgQEAgY2xhc3MgUHJvZ3JhbU10
bCA6IHB1YmxpYyBQcm9ncmFtSW1wbCwgcHVibGljIG10bDo6UmVuZGVyUGlwZWxpbmVDYWNoZVNw
ZWNpYWxpemUKIAogICAgIHN0ZDo6YXJyYXk8dWludDMyX3QsIG10bDo6a01heFNoYWRlclhGQnM+
IGdldFhmYkJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbVhmYkJpbmRpbmdzOyB9CiAgICAgc3Rk
OjpzdHJpbmcgZ2V0VHJhbnNsYXRlZFNoYWRlclNvdXJjZShjb25zdCBnbDo6U2hhZGVyVHlwZSBz
aGFkZXJUeXBlKSBjb25zdCB7IHJldHVybiBtTXNsU2hhZGVyVHJhbnNsYXRlSW5mb1tzaGFkZXJU
eXBlXS5tZXRhbFNoYWRlclNvdXJjZTsgfQorICAgIAorICAgIG10bDo6VHJhbnNsYXRlZFNoYWRl
ckluZm8gZ2V0VHJhbnNsYXRlZFNoYWRlckluZm8oY29uc3QgZ2w6OlNoYWRlclR5cGUgc2hhZGVy
VHlwZSkgY29uc3QgeyByZXR1cm4gbU1zbFNoYWRlclRyYW5zbGF0ZUluZm9bc2hhZGVyVHlwZV07
IH0KKyAgICAKICAgICBib29sIGhhc0ZsYXRBdHRyaWJ1dGUoKTsKICAgICAKICAgICBtdGw6OlJl
bmRlclBpcGVsaW5lQ2FjaGUgKm1NZXRhbFhmYlJlbmRlclBpcGVsaW5lQ2FjaGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
UHJvZ3JhbU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCmluZGV4IGIzYzZlODllN2M3OGFhZGE2Y2E0YmNmNTg2
ZDIxZTgxYWNiOGI4NTUuLmNhNmJmZTJjY2IwZjQzODIzMzQwNzBkNDNkNGI2NzIzOWQxOWI4YTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9Qcm9ncmFtTXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCkBAIC03MzQsOCArNzM0LDkgQEAg
YW5nbGU6OlJlc3VsdCBQcm9ncmFtTXRsOjpjcmVhdGVNc2xTaGFkZXJMaWIobXRsOjpDb250ZXh0
ICpjb250ZXh0LAogCiAgICAgICAgIC8vIENvbnZlcnQgdG8gYWN0dWFsIGJpbmFyeSBzaGFkZXIK
ICAgICAgICAgbXRsOjpBdXRvT2JqQ1B0cjxOU0Vycm9yICo+IGVyciA9IG5pbDsKKyAgICAgICAg
Ym9vbCBkaXNhYmxlRmFzdE1hdGggPSAoY29udGV4dC0+Z2V0RGlzcGxheSgpLT5nZXRGZWF0dXJl
cygpLmludGVsRGlzYWJsZUZhc3RNYXRoLmVuYWJsZWQgJiYgdHJhbnNsYXRlZE1zbEluZm8tPmhh
c0ludmFyaWFudE9yQXRhbik7CiAgICAgICAgIHRyYW5zbGF0ZWRNc2xJbmZvLT5tZXRhbExpYnJh
cnkgPQotICAgICAgICAgICAgbXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5KG10bERldmljZSwgdHJh
bnNsYXRlZE1zbEluZm8tPm1ldGFsU2hhZGVyU291cmNlLCBzdWJzdGl0dXRpb25NYWNyb3MsICZl
cnIpOworICAgICAgICAgICAgbXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5KG10bERldmljZSwgdHJh
bnNsYXRlZE1zbEluZm8tPm1ldGFsU2hhZGVyU291cmNlLCBzdWJzdGl0dXRpb25NYWNyb3MsICFk
aXNhYmxlRmFzdE1hdGgsICZlcnIpOwogICAgICAgICBpZiAoZXJyICYmICF0cmFuc2xhdGVkTXNs
SW5mby0+bWV0YWxMaWJyYXJ5KQogICAgICAgICB7CiAgICAgICAgICAgICBzdGQ6Om9zdHJpbmdz
dHJlYW0gc3M7CkBAIC04MjEsNiArODIyLDcgQEAgdm9pZCBQcm9ncmFtTXRsOjpzYXZlU2hhZGVy
SW50ZXJuYWxJbmZvKGdsOjpCaW5hcnlPdXRwdXRTdHJlYW0gKnN0cmVhbSkKICAgICAgICAgewog
ICAgICAgICAgICAgc3RyZWFtLT53cml0ZUludDx1aW50MzJfdD4odWJvQmluZGluZyk7CiAgICAg
ICAgIH0KKyAgICAgICAgc3RyZWFtLT53cml0ZUJvb2wobU1zbFNoYWRlclRyYW5zbGF0ZUluZm9b
c2hhZGVyVHlwZV0uaGFzSW52YXJpYW50T3JBdGFuKTsKICAgICB9CiB9CiAKQEAgLTg0MCw2ICs4
NDIsNyBAQCB2b2lkIFByb2dyYW1NdGw6OmxvYWRTaGFkZXJJbnRlcm5hbEluZm8oZ2w6OkJpbmFy
eUlucHV0U3RyZWFtICpzdHJlYW0pCiAgICAgICAgIHsKICAgICAgICAgICAgIHVib0JpbmRpbmcg
PSBzdHJlYW0tPnJlYWRJbnQ8dWludDMyX3Q+KCk7CiAgICAgICAgIH0KKyAgICAgICAgbU1zbFNo
YWRlclRyYW5zbGF0ZUluZm9bc2hhZGVyVHlwZV0uaGFzSW52YXJpYW50T3JBdGFuID0gc3RyZWFt
LT5yZWFkQm9vbCgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9nbHNsYW5nX210bF91dGlscy5o
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9nbHNsYW5nX210bF91dGlscy5oCmluZGV4IGI2ZTJlY2MzODY4MmRjZTk4NDdhZTNjYzIzNWE3
M2MwNzVhNjNkMzIuLmQzZGRhY2E4MzJkNmYxYTE2YWFjYzAyZjE5ZjkwNzJkMjc3ZjUwN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLmgKQEAg
LTM0LDYgKzM0LDcgQEAgc3RydWN0IFRyYW5zbGF0ZWRTaGFkZXJJbmZvCiAgICAgc3RkOjphcnJh
eTx1aW50MzJfdCwga01heEdMVUJPQmluZGluZ3M+IGFjdHVhbFVCT0JpbmRpbmdzOwogICAgIHN0
ZDo6YXJyYXk8dWludDMyX3QsIGtNYXhTaGFkZXJYRkJzPiBhY3R1YWxYRkJCaW5kaW5nczsKICAg
ICBib29sIGhhc1VCT0FyZ3VtZW50QnVmZmVyOworICAgIGJvb2wgaGFzSW52YXJpYW50T3JBdGFu
OwogfTsKIHZvaWQgTVNMR2V0U2hhZGVyU291cmNlKGNvbnN0IGdsOjpQcm9ncmFtU3RhdGUgJnBy
b2dyYW1TdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQcm9ncmFtTGlu
a2VkUmVzb3VyY2VzICZyZXNvdXJjZXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLm1t
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9nbHNsYW5nX210bF91dGlscy5tbQppbmRleCA3MGQ3NmRiMTcyYzBhMTc2MTZiNGMzZGM4ODMz
ZmQxNjUzOTkwMzJiLi43OTEyODViYjQ1ZjllODYzNDgzYTQwZDhlNzAwOTU1NmNmMTBlZTUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX2dsc2xhbmdfbXRsX3V0aWxzLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfZ2xzbGFuZ19tdGxfdXRpbHMubW0K
QEAgLTQ1NCw2ICs0NTQsNyBAQCBhbmdsZTo6UmVzdWx0IEdsc2xhbmdHZXRNU0woY29uc3QgZ2w6
OkNvbnRleHQgKmdsQ29udGV4dCwKICAgICAgICAgICAgIEdldEFzc2lnbmVkU2FtcGxlckJpbmRp
bmdzKHJlZmxlY3Rpb24sIG9yaWdpbmFsU2FtcGxlckJpbmRpbmdzLCBzdHJ1Y3RTYW1wbGVycywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtc2xTaGFkZXJJbmZvT3V0
LT5hdCh0eXBlKS5hY3R1YWxTYW1wbGVyQmluZGluZ3MpOwogICAgICAgICB9CisgICAgICAgICgq
bXNsU2hhZGVySW5mb091dClbdHlwZV0uaGFzSW52YXJpYW50T3JBdGFuID0gcmVmbGVjdGlvbi0+
aGFzQXRhbiB8fCByZWZsZWN0aW9uLT5oYXNJbnZhcmlhbmNlOwogICAgIH0KICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5oIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9y
ZW5kZXJfdXRpbHMuaAppbmRleCBiNjBmY2U3MTRiNWQ2N2Y5ZjQyYjg4NzJmYjhhZjI4MzAwYzAw
NzllLi42NzYxNGM5YzU3YjExNTcyMWNlYmY3ZDY0YWU2YjUzY2RkZTc2N2E5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRs
X3JlbmRlcl91dGlscy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLmgKQEAgLTU3OCw3ICs1NzgsOCBAQCBj
bGFzcyBWZXJ0ZXhGb3JtYXRDb252ZXJzaW9uVXRpbHMgZmluYWwgOiBhbmdsZTo6Tm9uQ29weWFi
bGUKIAogICBwcml2YXRlOgogICAgIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBjcmVhdGVN
c2xYZmJMaWJyYXJ5KENvbnRleHRNdGwgKmNvbnRleHRNdGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnRyYW5z
bGF0ZWRNc2wpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZ0cmFuc2xhdGVkTXNsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlRmFzdE1hdGgp
OwogfTsKIAogLy8gUmVuZGVyVXRpbHM6IGNvbnRhaW5lciBjbGFzcyBvZiB2YXJpb3VzIHV0aWwg
Y2xhc3NlcyBhYm92ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMubW0gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5t
bQppbmRleCA3ODdlMTcyYWZkZWFlYTVjODI1NzdmNTFjNDIzNGVkMDQ0MDg4MmU3Li43OGZmODY1
YTE3MDNhYzUxYTBlZjdlNTZiMWUxMzkxZjU1MzVlNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGls
cy5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvbXRsX3JlbmRlcl91dGlscy5tbQpAQCAtMzA0NiwxNyArMzA0NiwxNyBAQCBWZXJ0ZXhG
b3JtYXRDb252ZXJzaW9uVXRpbHM6OmdldEZsb2F0Q29udmVyc3Rpb25SZW5kZXJQaXBlbGluZShD
b250ZXh0TXRsICpjb250ZQogCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gVHJhbnNmb3Jt
RmVlZGJhY2tVdGlsczo6Y3JlYXRlTXNsWGZiTGlicmFyeSgKICAgICBDb250ZXh0TXRsICpjb250
ZXh0TXRsLAotICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZ0cmFuc2xhdGVkTXNsKQorICAgIGNvbnN0
IHN0ZDo6c3RyaW5nICZ0cmFuc2xhdGVkTXNsLAorICAgIGJvb2wgZW5hYmxlRmFzdE1hdGgpCiB7
CiAgICAgQU5HTEVfTVRMX09CSkNfU0NPUEUKICAgICB7CiAgICAgICAgIERpc3BsYXlNdGwgKmRp
c3BsYXkgICAgID0gY29udGV4dE10bC0+Z2V0RGlzcGxheSgpOwogICAgICAgICBpZDxNVExEZXZp
Y2U+IG10bERldmljZSA9IGRpc3BsYXktPmdldE1ldGFsRGV2aWNlKCk7Ci0KICAgICAgICAgLy8g
Q29udmVydCB0byBhY3R1YWwgYmluYXJ5IHNoYWRlcgogICAgICAgICBtdGw6OkF1dG9PYmpDUHRy
PE5TRXJyb3IgKj4gZXJyID0gbmlsOwogICAgICAgICBtdGw6OkF1dG9PYmpDUHRyPGlkPE1UTExp
YnJhcnk+PiBtdGxTaGFkZXJMaWIgPQotICAgICAgICBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnko
bXRsRGV2aWNlLCB0cmFuc2xhdGVkTXNsLCBAe0AiVFJBTlNGT1JNX0ZFRURCQUNLX0VOQUJMRUQi
OiBAIjEifSwgJmVycik7CisgICAgICAgIG10bDo6Q3JlYXRlU2hhZGVyTGlicmFyeShtdGxEZXZp
Y2UsIHRyYW5zbGF0ZWRNc2wsIEB7QCJUUkFOU0ZPUk1fRkVFREJBQ0tfRU5BQkxFRCI6IEAiMSJ9
LCBlbmFibGVGYXN0TWF0aCwgJmVycik7CiAgICAgICAgIGlmIChlcnIgJiYgIW10bFNoYWRlckxp
YikKICAgICAgICAgewogICAgICAgICAgICAgTlNMb2coQCIlQCIsIGVyci5nZXQoKSk7CkBAIC0z
MDc0LDEzICszMDc0LDEzIEBAIEF1dG9PYmpDUHRyPGlkPE1UTFJlbmRlclBpcGVsaW5lU3RhdGU+
PiBUcmFuc2Zvcm1GZWVkYmFja1V0aWxzOjpnZXRUcmFuc2Zvcm1GZWVkCiB7CiAgICAgY29uc3Qg
UHJvZ3JhbU10bCAqcHJvZ3JhbU10bCA9IG10bDo6R2V0SW1wbChjb250ZXh0TXRsLT5nZXRTdGF0
ZSgpLmdldFByb2dyYW0oKSk7CiAgICAgUmVuZGVyUGlwZWxpbmVDYWNoZSAmY2FjaGUgICA9ICpw
cm9ncmFtTXRsLT5tTWV0YWxYZmJSZW5kZXJQaXBlbGluZUNhY2hlOwotCisgICAgYm9vbCBkaXNh
YmxlRmFzdE1hdGggPSBjb250ZXh0TXRsLT5nZXREaXNwbGF5KCktPmdldEZlYXR1cmVzKCkuaW50
ZWxEaXNhYmxlRmFzdE1hdGguZW5hYmxlZCAmJiAgcHJvZ3JhbU10bC0+Z2V0VHJhbnNsYXRlZFNo
YWRlckluZm8oZ2w6OlNoYWRlclR5cGU6OlZlcnRleCkuaGFzSW52YXJpYW50T3JBdGFuOwogICAg
IGlmICghY2FjaGUuZ2V0VmVydGV4U2hhZGVyKCkpCiAgICAgewogICAgICAgICAvLyBQaXBlbGlu
ZSBjYWNoZSBub3QgaW50aWFsaXplZCwgZG8gaXQgbm93OgogICAgICAgICBBTkdMRV9NVExfT0JK
Q19TQ09QRQogICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvIHNoYWRlckxpYiA9IGNyZWF0ZU1z
bFhmYkxpYnJhcnkoY29udGV4dE10bCwgcHJvZ3JhbU10bC0+Z2V0VHJhbnNsYXRlZFNoYWRlclNv
dXJjZShnbDo6U2hhZGVyVHlwZTo6VmVydGV4KSk7CisgICAgICAgICAgICBhdXRvIHNoYWRlckxp
YiA9IGNyZWF0ZU1zbFhmYkxpYnJhcnkoY29udGV4dE10bCwgcHJvZ3JhbU10bC0+Z2V0VHJhbnNs
YXRlZFNoYWRlclNvdXJjZShnbDo6U2hhZGVyVHlwZTo6VmVydGV4KSwgIWRpc2FibGVGYXN0TWF0
aCk7CiAgICAgICAgICAgICAvLyBOb24gc3BlY2lhbGl6ZWQgY29uc3RhbnRzIHByb3ZpZGVkLCB1
c2UgZGVmYXVsdCBjcmVhdGlvbiBmdW5jdGlvbi4KICAgICAgICAgICAgIEVuc3VyZVZlcnRleFNo
YWRlck9ubHlQaXBlbGluZUNhY2hlSW5pdGlhbGl6ZWQoY29udGV4dE10bCwgU0hBREVSX0VOVFJZ
X05BTUUsIHNoYWRlckxpYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmNhY2hlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMu
aAppbmRleCA0N2RkNDQ4N2JiMWI3YWQ3ZjVlMmE1NzVkOTMxZjg2Mjg5ODNjM2M5Li5kMjczZDQ4
MTMwNjUxNmI4YzhlN2ZmM2MxYWUxZmJmYmY0ZDUzN2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF91dGlscy5oCkBAIC04OCw2ICs4OCw3IEBAIHVpbnQzMl90IEdldERldmljZVZlbmRvcklkKGlk
PE1UTERldmljZT4gbWV0YWxEZXZpY2UpOwogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENy
ZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZz
b3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
U0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9u
YXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBlbmFibGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogQXV0b09iakNQdHI8
aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERl
dmljZSwKQEAgLTk4LDYgKzk5LDcgQEAgQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0
ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNvdXJjZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzb3Vy
Y2VMZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
U0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9u
YXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBlbmFibGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogQXV0b09iakNQdHI8
aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnlGcm9tQmluYXJ5KGlkPE1UTERldmlj
ZT4gbWV0YWxEZXZpY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5tbQppbmRleCBlMjk3
OTA2YmZmOTc3Yjk0ZDVhMjMwNDUxN2FmMjJmYzU4NGE1ZjNjLi5iZDEyYzUzZmQ0NmVkZTA3NWE1
M2Y2OWU3NGNkOWEyODc5NGZlZDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLm1tCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMubW0K
QEAgLTU2MCwyMiArNTYwLDI0IEBAIHN0YXRpYyBNVExMYW5ndWFnZVZlcnNpb24gR2V0VXNlclNl
dE9ySGlnaGVzdE1TTFZlcnNpb24oY29uc3QgTVRMTGFuZ3VhZ2VWZXJzaW9uCiBBdXRvT2JqQ1B0
cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExEZXZpY2U+IG1ldGFs
RGV2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5TRGljdGlvbmFyeTxOU1N0cmluZyAqLCBOU09iamVjdCAqPiAq
IHN1YnN0aXR1dGlvbk1hY3JvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgZW5hYmxlRmFzdE1hdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvT2JqQ1B0cjxOU0Vycm9yICo+ICplcnJvcikK
IHsKLSAgICByZXR1cm4gQ3JlYXRlU2hhZGVyTGlicmFyeShtZXRhbERldmljZSwgc291cmNlLmNf
c3RyKCksIHNvdXJjZS5zaXplKCksIHN1YnN0aXR1dGlvbk1hY3JvcywgZXJyb3IpOworICAgIHJl
dHVybiBDcmVhdGVTaGFkZXJMaWJyYXJ5KG1ldGFsRGV2aWNlLCBzb3VyY2UuY19zdHIoKSwgc291
cmNlLnNpemUoKSwgc3Vic3RpdHV0aW9uTWFjcm9zLCBlbmFibGVGYXN0TWF0aCwgZXJyb3IpOwog
fQogCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxN
VExEZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnNvdXJjZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4g
KmVycm9yKQogewotICAgIHJldHVybiBDcmVhdGVTaGFkZXJMaWJyYXJ5KG1ldGFsRGV2aWNlLCBz
b3VyY2UuY19zdHIoKSwgc291cmNlLnNpemUoKSxAe30sIGVycm9yKTsKKyAgICByZXR1cm4gQ3Jl
YXRlU2hhZGVyTGlicmFyeShtZXRhbERldmljZSwgc291cmNlLmNfc3RyKCksIHNvdXJjZS5zaXpl
KCksQHt9LCB0cnVlLCBlcnJvcik7CiB9CiAKIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBD
cmVhdGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzb3VyY2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg
c291cmNlTGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uTWFj
cm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBlbmFibGVGYXN0TWF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yT3V0KQogewogICAgIEFOR0xF
X01UTF9PQkpDX1NDT1BFCkBAIC01OTYsNiArNTk4LDggQEAgQXV0b09iakNQdHI8aWQ8TVRMTGli
cmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAg
ICAgICAgb3B0aW9ucy5mYXN0TWF0aEVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgogICAgICAgICBv
cHRpb25zLmxhbmd1YWdlVmVyc2lvbiA9IEdldFVzZXJTZXRPckhpZ2hlc3RNU0xWZXJzaW9uKG9w
dGlvbnMubGFuZ3VhZ2VWZXJzaW9uKTsKKyAgICAgICAgLy8gVE9ETyhqY3VubmluZ2hhbSk6IHdv
cmthcm91bmQgZm9yIGludGVsIGRyaXZlciBub3QgcHJlc2VydmluZyBpbnZhcmlhbmNlIG9uIGFs
bCBzaGFkZXJzCisgICAgICAgIG9wdGlvbnMuZmFzdE1hdGhFbmFibGVkICY9IGVuYWJsZUZhc3RN
YXRoOwogICAgICAgICBvcHRpb25zLnByZXByb2Nlc3Nvck1hY3JvcyA9IHN1YnN0aXR1dGlvbk1h
Y3JvczsKICAgICAgICAgYXV0byBsaWJyYXJ5ID0gW21ldGFsRGV2aWNlIG5ld0xpYnJhcnlXaXRo
U291cmNlOm5zU291cmNlIG9wdGlvbnM6b3B0aW9ucyBlcnJvcjombnNFcnJvcl07CiAgICAgICAg
IGlmIChhbmdsZTo6R2V0RW52aXJvbm1lbnRWYXIoa0FOR0xFUHJpbnRNU0xFbnYpWzBdID09ICcx
JykK
</data>

          </attachment>
      

    </bug>

</bugzilla>