<?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>89286</bug_id>
          
          <creation_ts>2012-06-16 12:40:14 -0700</creation_ts>
          <short_desc>REGRESSION(r120485): Turned many, many tests red (Requested by abarth on #webkit).</short_desc>
          <delta_ts>2012-06-16 17:51:38 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>81974</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>atwilson</cc>
    
    <cc>tpayne</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>650841</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-16 12:40:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/120485 broke the build:
Turned many, many tests red (Requested by abarth on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650844</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 12:40:39 -0700</bug_when>
    <thetext>
 test 	results	image results	actual failure	expected failure
+compositing/color-matching/image-color-matching.html		images diff (0%)	image	pass
+css3/filters/crash-hw-sw-switch.html		images diff (0%)	image	pass
+css3/filters/custom/custom-filter-shader-cache.html		images diff (0%)	image	pass
+css3/filters/custom/effect-custom-combined-missing.html		images diff (0%)	image	pass
+css3/filters/custom/effect-custom.html		images diff (0%)	image	pass
+css3/filters/custom/missing-custom-filter-shader.html		images diff (0%)	image	pass
+css3/filters/effect-blur-hw.html		images diff (0%)	image	pass
+css3/filters/effect-brightness-hw.html		images diff (0%)	image	pass
+css3/filters/effect-brightness.html		images diff (0%)	image	pass
+css3/filters/effect-contrast-hw.html		images diff (0%)	image	pass
+css3/filters/effect-drop-shadow-hw.html		images diff (0%)	image	pass
+fast/images/jpeg-with-color-profile.html		images diff (0%)	image	pass
+fast/images/png-with-color-profile.html		images diff (0%)	image	pass
+http/tests/local/file-url-sent-as-referer.html		images diff (0%)	image	pass
+scrollbars/listbox-scrollbar-combinations.html		images diff (0%)	image	pass
+scrollbars/overflow-scrollbar-combinations.html		images diff (0%)	image	pass
+svg/as-border-image/svg-as-border-image.html		images diff (0%)	image	pass
+svg/custom/createImageElement.svg		images diff (0%)	image	pass
+svg/custom/createImageElement2.xhtml		images diff (0%)	image	pass
+svg/custom/focus-ring.svg		images diff (0%)	image	pass
+svg/custom/group-opacity.svg		images diff (0%)	image	pass
+svg/custom/image-parent-translation.xhtml		images diff (0%)	image	pass
+svg/custom/image-small-width-height.svg		images diff (0%)	image	pass
+svg/custom/js-update-image-and-display.svg		images diff (0%)	image	pass
+svg/custom/js-update-image-and-display2.svg		images diff (0%)	image	pass
+svg/custom/js-update-image-and-display3.svg		images diff (0%)	image	pass
+svg/custom/js-update-image.svg		images diff (0%)	image	pass
+svg/custom/text-image-opacity.svg		images diff (0%)	image	pass
+svg/custom/use-on-g-containing-foreignObject-and-image.svg		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-dom-height-attr.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-dom-width-attr.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-dom-x-attr.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-dom-y-attr.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html		images diff (0%)	image	pass
+svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html		images diff (0%)	image	pass
+svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg		images diff (0%)	image	pass
+svg/filters/feImage-subregions-preseveAspectRatio-none.svg		images diff (0%)	image	pass
+svg/filters/feImage-subregions.svg		images diff (0%)	image	pass
+svg/filters/filter-source-position.svg		images diff (0%)	image	pass
+svg/repaint/image-href-change.svg		images diff (0%)	image	pass
+svg/transforms/animated-path-inside-transformed-html.xhtml		images diff (0%)	image	pass
+svg/zoom/page/zoom-background-images.html		images diff (0%)	image	pass
+svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml		images diff (0%)	image	pass
+svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml		images diff (0%)	image	pass
+svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml		images diff (0%)	image	pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650845</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 12:40:50 -0700</bug_when>
    <thetext>I&apos;m going to try rebaselining them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650846</commentid>
    <comment_count>3</comment_count>
      <attachid>147981</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-16 12:41:02 -0700</bug_when>
    <thetext>Created attachment 147981
ROLLOUT of r120485

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650850</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 12:53:45 -0700</bug_when>
    <thetext>Updated baselines in http://trac.webkit.org/changeset/120529</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650851</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Payne">tpayne</who>
    <bug_when>2012-06-16 12:54:42 -0700</bug_when>
    <thetext>atwilson rebaselined these yesterday. These test results were expected to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650860</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 13:03:38 -0700</bug_when>
    <thetext>&gt; atwilson rebaselined these yesterday. These test results were expected to change.

Well, they were still red as of a few minutes ago.  Leaving a ton of red tests in the tree isn&apos;t the right way to handle these situations.  I&apos;m not sure what went wrong where, but hopefully it will be fixed now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650886</commentid>
    <comment_count>7</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2012-06-16 16:48:10 -0700</bug_when>
    <thetext>I landed the baselines that tpayne requested here: http://trac.webkit.org/changeset/120512, but they hadn&apos;t fully cleared the canary bots by the time I had to leave for the day (although I spot-checked a few of them on the linux bots and they seemed to have gone green).

Perhaps there were more tests that were red but that didn&apos;t get rebaselined as part of that patch? I&apos;m somewhat at a loss as to what happened, too, barring some kind of screwup with the rebaseline tool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650910</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-16 17:51:38 -0700</bug_when>
    <thetext>One possibility is that there were so many failures that the bots stopped early and hid the remaining failures.

I think the lesson to learn here is not to land these sorts of patches near the end of the day on a Friday.  We should land them when we know we have the time to clean up the mess.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147981</attachid>
            <date>2012-06-16 12:41:02 -0700</date>
            <delta_ts>2012-06-16 12:53:59 -0700</delta_ts>
            <desc>ROLLOUT of r120485</desc>
            <filename>bug-89286-20120616194550.patch</filename>
            <type>text/plain</type>
            <size>26378</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVmZWExYWUyZmJkNjkxMzFmNGQ2NDM3
ZDIwM2U2Y2I2MDQxNzYzNzQuLmY1Y2JmY2EwYjNjNDlhNDFjNTg0NWI5NTUyYzFkYjI1YTIyOWU3
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMTYgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMjA0ODUuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMDQ4
NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyODYK
KworICAgICAgICBUdXJuZWQgbWFueSwgbWFueSB0ZXN0cyByZWQgKFJlcXVlc3RlZCBieSBhYmFy
dGggb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMi0wNi0x
NSAgVG9ueSBQYXluZSAgPHRwYXluZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBBZGQgaWNjanBlZyBhbmQgcWNtcyB0byBjaHJvbWl1bSBwb3J0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFk
NmM0YmE1MmMxYWE0NGQwNmQzYzU5YTBkNTk1YzE3MzRkNTA2OTIuLmQxNjRlM2RhY2VkZjVmM2Vi
OGI2NjlhM2JhOTE0NTk5ZWViYTJhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAx
Mi0wNi0xNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMDQ4NS4KKyAgICAgICAgaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTIwNDg1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTI4NgorCisgICAgICAgIFR1cm5lZCBtYW55LCBtYW55
IHRlc3RzIHJlZCAoUmVxdWVzdGVkIGJ5IGFiYXJ0aCBvbiAjd2Via2l0KS4KKworICAgICAgICAq
IFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSW1hZ2VGcmFtZSk6CisgICAgICAgIChJbWFn
ZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5jcHA6CisgICAgICAgICh0dXJib1N3aXp6bGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkpQRUdJbWFnZVJlYWRlcjo6SlBFR0ltYWdlUmVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkpQRUdJbWFnZVJlYWRlcjo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SlBFR0ltYWdlUmVh
ZGVyOjpkZWNvZGUpOgorICAgICAgICAoSlBFR0ltYWdlUmVhZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpQRUdJbWFnZURlY29kZXI6Om91dHB1dFNjYW5saW5lcyk6CisgICAgICAgICogcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQTkdJbWFnZVJlYWRlcjo6UE5HSW1hZ2VSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UE5HSW1hZ2VSZWFkZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OlBOR0ltYWdlUmVhZGVy
OjpjdXJyZW50QnVmZmVyU2l6ZSk6CisgICAgICAgIChQTkdJbWFnZVJlYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpQTkdJbWFnZVJlYWRlcjo6ZGVjb2RpbmdTaXplT25seSk6CisgICAgICAgIChX
ZWJDb3JlOjpQTkdJbWFnZVJlYWRlcjo6aW50ZXJsYWNlQnVmZmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlBOR0ltYWdlUmVhZGVyOjpoYXNBbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpQTkdJbWFn
ZVJlYWRlcjo6c2V0SGFzQWxwaGEpOgorICAgICAgICAoV2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVy
OjpoZWFkZXJBdmFpbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVyOjpy
b3dBdmFpbGFibGUpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEvSW1h
Z2VEZWNvZGVyU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OnJlc29sdmVDb2xvclNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbG9yU3BhY2Up
OgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VGcmFtZTo6c2V0Q29sb3JQcm9maWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlRnJhbWU6OnNldFN0YXR1cyk6CisKIDIwMTItMDYtMTYgIElnb3Ig
T2xpdmVpcmEgIDxpZ29yLm9Ac2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBbVGV4bWFwR0xd
IFJlZHVjZSB0aGUgbnVtYmVyIG9mIGdsVGV4U3ViSW1hZ2UyRCBjYWxscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5k
ZXggMmJjNThmM2ViZThlZmQ5NTAwNDQ4MDY4N2I5OTE1ODU0ZGIzZDM2My4uNTFhODdiMjU4Y2E4
M2NkOTliMDAyMTcwNDIyOWFhMDM5OGUxYzc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC00NjcsMTggKzQ2
NywxOSBAQAogLyogVVNFKFNLSUEpIGZvciBXaW4vTGludXgvTWFjL0FuZHJvaWQgKi8KICNpZiBQ
TEFURk9STShDSFJPTUlVTSkKICNpZiBPUyhEQVJXSU4pCisjaWYgVVNFKFNLSUFfT05fTUFDX0NI
Uk9NSVVNKQogI2RlZmluZSBXVEZfVVNFX1NLSUEgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9D
RyAxCisjZW5kaWYKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAjZGVmaW5lIFdURl9VU0VfQ09S
RV9URVhUIDEKICNkZWZpbmUgV1RGX1VTRV9JQ0NKUEVHIDEKLSNkZWZpbmUgV1RGX1VTRV9RQ01T
TElCIDEKICNlbGlmIE9TKEFORFJPSUQpCiAjZGVmaW5lIFdURl9VU0VfU0tJQSAxCiAjZWxzZQog
I2RlZmluZSBXVEZfVVNFX1NLSUEgMQogI2RlZmluZSBXVEZfVVNFX0NIUk9NSVVNX05FVCAxCi0j
ZGVmaW5lIFdURl9VU0VfSUNDSlBFRyAxCi0jZGVmaW5lIFdURl9VU0VfUUNNU0xJQiAxCiAjZW5k
aWYKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IGQ5
NWY0Y2RiNTI1ZmQwM2ZkYzliYTczMTJmNjYxNDI2ZDRkNzA4ZTEuLjdkOGY5NTc1YWI3ODVkZDhh
ZDdiZWNhZmFjMGQzZDhkYjBmN2IwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwCkBAIC0xMTEyLDcgKzExMTIsNiBAQAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGly
KS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhzbHQuZ3lwOmxpYnhzbHQnLAogICAgICAgICAnPChj
aHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJ3ZWJwL2xpYndlYnAuZ3lwOmxpYndlYnAn
LAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9ucGFwaS9ucGFwaS5n
eXA6bnBhcGknLAotICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9xY21z
L3FjbXMuZ3lwOnFjbXMnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0
eS9zcWxpdGUvc3FsaXRlLmd5cDpzcWxpdGUnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGly
KS92OC90b29scy9neXAvdjguZ3lwOnY4JywKICAgICAgICAgJzwobGlianBlZ19neXBfcGF0aCk6
bGlianBlZycsCkBAIC0xMjQxLDcgKzEyNDAsNiBAQAogICAgICAgICAnPChjaHJvbWl1bV9zcmNf
ZGlyKS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhzbHQuZ3lwOmxpYnhzbHQnLAogICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9ucGFwaS9ucGFwaS5neXA6bnBhcGknLAog
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMn
LAotICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9xY21zL3FjbXMuZ3lw
OnFjbXMnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9zcWxpdGUv
c3FsaXRlLmd5cDpzcWxpdGUnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9w
YXJ0eS9hbmdsZS9zcmMvYnVpbGRfYW5nbGUuZ3lwOnRyYW5zbGF0b3JfZ2xzbCcsCiAgICAgICAg
ICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L3psaWIvemxpYi5neXA6emxpYicsCkBA
IC0xMjYxLDcgKzEyNTksNiBAQAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9w
YXJ0eS9saWJ4c2x0L2xpYnhzbHQuZ3lwOmxpYnhzbHQnLAogICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS90aGlyZF9wYXJ0eS9ucGFwaS9ucGFwaS5neXA6bnBhcGknLAogICAgICAgICAnPChj
aHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMnLAotICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9xY21zL3FjbXMuZ3lwOnFjbXMnLAogICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9zcWxpdGUvc3FsaXRlLmd5cDpz
cWxpdGUnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9hbmdsZS9z
cmMvYnVpbGRfYW5nbGUuZ3lwOnRyYW5zbGF0b3JfZ2xzbCcsCiAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3RoaXJkX3BhcnR5L3psaWIvemxpYi5neXA6emxpYicsCkBAIC0yMDE0LDcgKzIw
MTEsNiBAQAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29n
bGV1cmwuZ3lwOmdvb2dsZXVybCcsCiAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3NraWEv
c2tpYS5neXA6c2tpYScsCiAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5
L25wYXBpL25wYXBpLmd5cDpucGFwaScsCi0gICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Ro
aXJkX3BhcnR5L3FjbXMvcWNtcy5neXA6cWNtcycsCiAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL3Y4L3Rvb2xzL2d5cC92OC5neXA6djgnLAogICAgICAgXSwKICAgICAgICdleHBvcnRfZGVw
ZW5kZW50X3NldHRpbmdzJzogWwpAQCAtMjAyMyw3ICsyMDE5LDYgQEAKICAgICAgICAgJzwoY2hy
b21pdW1fc3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29nbGV1cmwnLAog
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9za2lhL3NraWEuZ3lwOnNraWEnLAogICAgICAg
ICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9ucGFwaS9ucGFwaS5neXA6bnBhcGkn
LAotICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9xY21zL3FjbXMuZ3lw
OnFjbXMnLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29scy9neXAvdjguZ3lw
OnY4JywKICAgICAgIF0sCiAgICAgICAnZGlyZWN0X2RlcGVuZGVudF9zZXR0aW5ncyc6IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNv
ZGVyLmgKaW5kZXggYjRmNjFmYzI1MTc1ODY5ZTZiMTAwZjg2YjA4YWEyOWU0Njc4ZjkwMC4uYTZi
YzE4OGU1NzFhYzNlOTU5Y2VjYjFhNjIxYzQxODVmMTc2MGVhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTQy
LDE2ICs0Miw2IEBACiAjaW5jbHVkZSAiU2tDb2xvclByaXYuaCIKICNlbmRpZgogCi0jaWYgVVNF
KFFDTVNMSUIpCi0jaW5jbHVkZSAicWNtcy5oIgotI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
Ci0jaWYgT1MoREFSV0lOKQotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENHLmgiCi0jaW5jbHVk
ZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+Ci0jaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgotI2VuZGlmCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgdHlwZWRlZiBWZWN0b3I8Y2hhcj4gQ29sb3JQcm9maWxlOwpAQCAtMTc1LDEyICsxNjUs
MTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgVVNFKFNLSUEpCiAgICAgICAgIE5hdGl2
ZUltYWdlU2tpYSBtX2JpdG1hcDsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lO
KQorICAgICAgICBDb2xvclByb2ZpbGUgbV9jb2xvclByb2ZpbGU7CisjZW5kaWYKICNlbHNlCiAg
ICAgICAgIFZlY3RvcjxQaXhlbERhdGE+IG1fYmFja2luZ1N0b3JlOwogICAgICAgICBQaXhlbERh
dGEqIG1fYnl0ZXM7IC8vIFRoZSBtZW1vcnkgaXMgYmFja2VkIGJ5IG1fYmFja2luZ1N0b3JlLgog
ICAgICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICAgICAgYm9vbCBtX2hhc0FscGhhOwotICAgICAg
ICAvLyBGSVhNRTogRG8gd2UgbmVlZCBtX2NvbG9yUHJvZmlsZSBhbnltb3JlPwogICAgICAgICBD
b2xvclByb2ZpbGUgbV9jb2xvclByb2ZpbGU7CiAjZW5kaWYKICAgICAgICAgSW50UmVjdCBtX29y
aWdpbmFsRnJhbWVSZWN0OyAvLyBUaGlzIHdpbGwgYWx3YXlzIGp1c3QgYmUgdGhlIGVudGlyZQpA
QCAtMjk3LDQyICsyODksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1
cm4gIW1lbWNtcCgmcHJvZmlsZURhdGFbMTJdLCAibW50ciIsIDQpIHx8ICFtZW1jbXAoJnByb2Zp
bGVEYXRhWzEyXSwgInNjbnIiLCA0KTsKICAgICAgICAgfQogCi0jaWYgVVNFKFFDTVNMSUIpCi0g
ICAgICAgIHN0YXRpYyBxY21zX3Byb2ZpbGUqIHFjbXNPdXRwdXREZXZpY2VQcm9maWxlKCkKLSAg
ICAgICAgewotICAgICAgICAgICAgc3RhdGljIHFjbXNfcHJvZmlsZSogb3V0cHV0RGV2aWNlUHJv
ZmlsZSA9IDA7Ci0KLSAgICAgICAgICAgIHN0YXRpYyBib29sIHFjbXNJbml0aWFsaXplZCA9IGZh
bHNlOwotICAgICAgICAgICAgaWYgKCFxY21zSW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgICAgICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgICAgICAgICAgICAgIHFjbXNJbml0aWFsaXpl
ZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBvcHRpb25hbCBJQ0N2NCBz
dXBwb3J0LgotI2lmIE9TKERBUldJTikKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8Q0dDb2xv
clNwYWNlUmVmPiBtb25pdG9yQ29sb3JTcGFjZShBZG9wdENGLCBDR0Rpc3BsYXlDb3B5Q29sb3JT
cGFjZShDR01haW5EaXNwbGF5SUQoKSkpOwotICAgICAgICAgICAgICAgIENGRGF0YVJlZiBpY2NQ
cm9maWxlKENHQ29sb3JTcGFjZUNvcHlJQ0NQcm9maWxlKG1vbml0b3JDb2xvclNwYWNlLmdldCgp
KSk7Ci0gICAgICAgICAgICAgICAgaWYgKGljY1Byb2ZpbGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgc2l6ZV90IGxlbmd0aCA9IENGRGF0YUdldExlbmd0aChpY2NQcm9maWxlKTsKLSAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogc3lzdGVtUHJvZmlsZSA9IENGRGF0YUdl
dEJ5dGVQdHIoaWNjUHJvZmlsZSk7Ci0gICAgICAgICAgICAgICAgICAgIG91dHB1dERldmljZVBy
b2ZpbGUgPSBxY21zX3Byb2ZpbGVfZnJvbV9tZW1vcnkoc3lzdGVtUHJvZmlsZSwgbGVuZ3RoKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKG91dHB1dERldmljZVByb2ZpbGUgJiYgcWNtc19wcm9m
aWxlX2lzX2JvZ3VzKG91dHB1dERldmljZVByb2ZpbGUpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBxY21zX3Byb2ZpbGVfcmVsZWFzZShvdXRwdXREZXZpY2VQcm9maWxlKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG91dHB1dERldmljZVByb2ZpbGUgPSAwOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICghb3V0cHV0RGV2
aWNlUHJvZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0RGV2aWNlUHJvZmlsZSA9IHFj
bXNfcHJvZmlsZV9zUkdCKCk7Ci0jZWxzZQotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBzUkdC
IHByb2ZpbGVzIGRvbid0IGFkZCBtdWNoIHZhbHVlLiBVc2UgdGhlIHVzZXIncyBtb25pdG9yIHBy
b2ZpbGUuCi0gICAgICAgICAgICAgICAgb3V0cHV0RGV2aWNlUHJvZmlsZSA9IHFjbXNfcHJvZmls
ZV9zUkdCKCk7Ci0jZW5kaWYKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogQ2hlY2sgdGhhdCB0
aGUgcHJvZmlsZSBpcyB2YWxpZC4gRmFsbGJhY2sgdG8gc1JHQiBpZiBub3Q/Ci0gICAgICAgICAg
ICAgICAgaWYgKG91dHB1dERldmljZVByb2ZpbGUpCi0gICAgICAgICAgICAgICAgICAgIHFjbXNf
cHJvZmlsZV9wcmVjYWNoZV9vdXRwdXRfdHJhbnNmb3JtKG91dHB1dERldmljZVByb2ZpbGUpOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIG91dHB1dERldmljZVByb2ZpbGU7Ci0g
ICAgICAgIH0KLSNlbmRpZgotCiAgICAgICAgIC8vIFNldHMgdGhlICJkZWNvZGUgZmFpbHVyZSIg
ZmxhZy4gIEZvciBjYWxsZXIgY29udmVuaWVuY2UgKHNpbmNlIHNvCiAgICAgICAgIC8vIG1hbnkg
Y2FsbGVycyB3YW50IHRvIHJldHVybiBmYWxzZSBhZnRlciBjYWxsaW5nIHRoaXMpLCByZXR1cm5z
IGZhbHNlCiAgICAgICAgIC8vIHRvIGVuYWJsZSBlYXN5IHRhaWxjYWxsaW5nLiAgU3ViY2xhc3Nl
cyBtYXkgb3ZlcnJpZGUgdGhpcyB0byBhbHNvCkBAIC0zNjQsNyArMzIwLDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fZGF0YTsgLy8gVGhl
IGVuY29kZWQgZGF0YS4KICAgICAgICAgVmVjdG9yPEltYWdlRnJhbWU+IG1fZnJhbWVCdWZmZXJD
YWNoZTsKLSAgICAgICAgLy8gRklYTUU6IERvIHdlIG5lZWQgbV9jb2xvclByb2ZpbGUgYW55IG1v
cmUsIGZvciBhbnkgcG9ydD8KICAgICAgICAgQ29sb3JQcm9maWxlIG1fY29sb3JQcm9maWxlOwog
ICAgICAgICBib29sIG1fc2NhbGVkOwogICAgICAgICBWZWN0b3I8aW50PiBtX3NjYWxlZENvbHVt
bnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9q
cGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBlYzhkZTI4YTQ1MDcyMWEy
MWE2MmUxZjJkZGQ2OWE0YjI0NTg3OWYzLi40NmEyOGJhOGVkMzlmMWFkZTRjNDhlZDRiMDQyYjVi
MjkxYjAxODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTYwLDkgKzYw
LDYgQEAgZXh0ZXJuICJDIiB7CiAjaWYgVVNFKElDQ0pQRUcpCiAjaW5jbHVkZSAiaWNjanBlZy5o
IgogI2VuZGlmCi0jaWYgVVNFKFFDTVNMSUIpCi0jaW5jbHVkZSAicWNtcy5oIgotI2VuZGlmCiAj
aW5jbHVkZSA8c2V0am1wLmg+CiB9CiAKQEAgLTc5LDExICs3Niw5IEBAIGlubGluZSBKX0NPTE9S
X1NQQUNFIHJnYk91dHB1dENvbG9yU3BhY2UoKSB7IHJldHVybiBKQ1NfRVhUX1JHQkE7IH0KICNl
bHNlCiBpbmxpbmUgSl9DT0xPUl9TUEFDRSByZ2JPdXRwdXRDb2xvclNwYWNlKCkgeyByZXR1cm4g
SkNTX0VYVF9CR1JBOyB9CiAjZW5kaWYKLWlubGluZSBib29sIHR1cmJvU3dpenpsZWQoSl9DT0xP
Ul9TUEFDRSBjb2xvclNwYWNlKSB7IHJldHVybiBjb2xvclNwYWNlID09IEpDU19FWFRfUkdCQSB8
fCBjb2xvclNwYWNlID09IEpDU19FWFRfQkdSQTsgfQotaW5saW5lIGJvb2wgY29sb3JTcGFjZUhh
c0FscGhhKEpfQ09MT1JfU1BBQ0UgY29sb3JTcGFjZSkgeyByZXR1cm4gdHVyYm9Td2l6emxlZChj
b2xvclNwYWNlKTsgfQoraW5saW5lIGJvb2wgdHVyYm9Td2l6emxlZChKX0NPTE9SX1NQQUNFIGNv
bG9yU3BhY2UpIHsgcmV0dXJuIGNvbG9yU3BhY2UgPT0gcmdiT3V0cHV0Q29sb3JTcGFjZSgpOyB9
CiAjZWxzZQogaW5saW5lIEpfQ09MT1JfU1BBQ0UgcmdiT3V0cHV0Q29sb3JTcGFjZSgpIHsgcmV0
dXJuIEpDU19SR0I7IH0KLWlubGluZSBib29sIGNvbG9yU3BhY2VIYXNBbHBoYShKX0NPTE9SX1NQ
QUNFKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICNpZiBPUyhBTkRST0lEKQpAQCAtMTY4
LDkgKzE2Myw2IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2J5dGVzVG9Ta2lwKDApCiAgICAgICAg
ICwgbV9zdGF0ZShKUEVHX0hFQURFUikKICAgICAgICAgLCBtX3NhbXBsZXMoMCkKLSNpZiBVU0Uo
UUNNU0xJQikKLSAgICAgICAgLCBtX3RyYW5zZm9ybSgwKQotI2VuZGlmCiAgICAgewogICAgICAg
ICBtZW1zZXQoJm1faW5mbywgMCwgc2l6ZW9mKGpwZWdfZGVjb21wcmVzc19zdHJ1Y3QpKTsKIApA
QCAtMjE4LDExICsyMTAsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBmYXN0RnJlZShzcmMpOwog
ICAgICAgICBtX2luZm8uc3JjID0gMDsKIAotI2lmIFVTRShRQ01TTElCKQotICAgICAgICBpZiAo
bV90cmFuc2Zvcm0pCi0gICAgICAgICAgICBxY21zX3RyYW5zZm9ybV9yZWxlYXNlKG1fdHJhbnNm
b3JtKTsKLSAgICAgICAgbV90cmFuc2Zvcm0gPSAwOwotI2VuZGlmCiAgICAgICAgIGpwZWdfZGVz
dHJveV9kZWNvbXByZXNzKCZtX2luZm8pOwogICAgIH0KIApAQCAtMzExLDE0ICsyOTgsNiBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgQ29sb3JQcm9maWxlIHJnYklucHV0RGV2aWNlQ29sb3JQ
cm9maWxlID0gcmVhZENvbG9yUHJvZmlsZShpbmZvKCkpOwogICAgICAgICAgICAgICAgIGlmICgh
cmdiSW5wdXREZXZpY2VDb2xvclByb2ZpbGUuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgICAg
ICBtX2RlY29kZXItPnNldENvbG9yUHJvZmlsZShyZ2JJbnB1dERldmljZUNvbG9yUHJvZmlsZSk7
Ci0jaWYgVVNFKFFDTVNMSUIpCi0gICAgICAgICAgICAgICAgY3JlYXRlQ29sb3JUcmFuc2Zvcm0o
cmdiSW5wdXREZXZpY2VDb2xvclByb2ZpbGUsIGNvbG9yU3BhY2VIYXNBbHBoYShtX2luZm8ub3V0
X2NvbG9yX3NwYWNlKSk7Ci0jaWYgZGVmaW5lZChUVVJCT19KUEVHX1JHQl9TV0laWkxFKQotICAg
ICAgICAgICAgICAgIC8vIElucHV0IFJHQkEgZGF0YSB0byBxY21zLiBOb3RlOiByZXN0b3JlZCB0
byBCR1JBIG9uIG91dHB1dC4KLSAgICAgICAgICAgICAgICBpZiAobV90cmFuc2Zvcm0gJiYgbV9p
bmZvLm91dF9jb2xvcl9zcGFjZSA9PSBKQ1NfRVhUX0JHUkEpCi0gICAgICAgICAgICAgICAgICAg
IG1faW5mby5vdXRfY29sb3Jfc3BhY2UgPSBKQ1NfRVhUX1JHQkE7Ci0jZW5kaWYKLSNlbmRpZgog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAobV9kZWNvZGluZ1NpemVPbmx5KSB7CkBA
IC00MjMsMzEgKzQwMiw2IEBAIHB1YmxpYzoKICAgICBqcGVnX2RlY29tcHJlc3Nfc3RydWN0KiBp
bmZvKCkgeyByZXR1cm4gJm1faW5mbzsgfQogICAgIEpTQU1QQVJSQVkgc2FtcGxlcygpIGNvbnN0
IHsgcmV0dXJuIG1fc2FtcGxlczsgfQogICAgIEpQRUdJbWFnZURlY29kZXIqIGRlY29kZXIoKSB7
IHJldHVybiBtX2RlY29kZXI7IH0KLSNpZiBVU0UoUUNNU0xJQikKLSAgICBxY21zX3RyYW5zZm9y
bSogY29sb3JUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3RyYW5zZm9ybTsgfQotCi0gICAg
dm9pZCBjcmVhdGVDb2xvclRyYW5zZm9ybShjb25zdCBDb2xvclByb2ZpbGUmIGNvbG9yUHJvZmls
ZSwgYm9vbCBoYXNBbHBoYSkKLSAgICB7Ci0gICAgICAgIGlmIChtX3RyYW5zZm9ybSkKLSAgICAg
ICAgICAgIHFjbXNfdHJhbnNmb3JtX3JlbGVhc2UobV90cmFuc2Zvcm0pOwotICAgICAgICBtX3Ry
YW5zZm9ybSA9IDA7Ci0KLSAgICAgICAgaWYgKGNvbG9yUHJvZmlsZS5pc0VtcHR5KCkpCi0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIHFjbXNfcHJvZmlsZSogZGV2aWNlUHJvZmlsZSA9IElt
YWdlRGVjb2Rlcjo6cWNtc091dHB1dERldmljZVByb2ZpbGUoKTsKLSAgICAgICAgaWYgKCFkZXZp
Y2VQcm9maWxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBxY21zX3Byb2ZpbGUqIGlu
cHV0UHJvZmlsZSA9IHFjbXNfcHJvZmlsZV9mcm9tX21lbW9yeShjb2xvclByb2ZpbGUuZGF0YSgp
LCBjb2xvclByb2ZpbGUuc2l6ZSgpKTsKLSAgICAgICAgaWYgKCFpbnB1dFByb2ZpbGUpCi0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIC8vIFdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgY29s
b3IgcHJvZmlsZXMgZm9yIFJHQiBwcm9maWxlZCBpbWFnZXMuCi0gICAgICAgIEFTU0VSVChpY1Np
Z1JnYkRhdGEgPT0gcWNtc19wcm9maWxlX2dldF9jb2xvcl9zcGFjZShpbnB1dFByb2ZpbGUpKTsK
LSAgICAgICAgcWNtc19kYXRhX3R5cGUgZGF0YUZvcm1hdCA9IGhhc0FscGhhID8gUUNNU19EQVRB
X1JHQkFfOCA6IFFDTVNfREFUQV9SR0JfODsKLSAgICAgICAgLy8gRklYTUU6IERvbid0IGZvcmNl
IHBlcmNlcHR1YWwgaW50ZW50IGlmIHRoZSBpbWFnZSBwcm9maWxlIGNvbnRhaW5zIGFuIGludGVu
dC4KLSAgICAgICAgbV90cmFuc2Zvcm0gPSBxY21zX3RyYW5zZm9ybV9jcmVhdGUoaW5wdXRQcm9m
aWxlLCBkYXRhRm9ybWF0LCBkZXZpY2VQcm9maWxlLCBkYXRhRm9ybWF0LCBRQ01TX0lOVEVOVF9Q
RVJDRVBUVUFMKTsKLSAgICAgICAgcWNtc19wcm9maWxlX3JlbGVhc2UoaW5wdXRQcm9maWxlKTsK
LSAgICB9Ci0jZW5kaWYKIAogcHJpdmF0ZToKICAgICBKUEVHSW1hZ2VEZWNvZGVyKiBtX2RlY29k
ZXI7CkBAIC00NjAsMTAgKzQxNCw2IEBAIHByaXZhdGU6CiAgICAganN0YXRlIG1fc3RhdGU7CiAK
ICAgICBKU0FNUEFSUkFZIG1fc2FtcGxlczsKLQotI2lmIFVTRShRQ01TTElCKQotICAgIHFjbXNf
dHJhbnNmb3JtKiBtX3RyYW5zZm9ybTsKLSNlbmRpZgogfTsKIAogLy8gT3ZlcnJpZGUgdGhlIHN0
YW5kYXJkIGVycm9yIG1ldGhvZCBpbiB0aGUgSUpHIEpQRUcgZGVjb2RlciBjb2RlLgpAQCAtNTcx
LDE1ICs1MjEsMTEgQEAgYm9vbCBKUEVHSW1hZ2VEZWNvZGVyOjpvdXRwdXRTY2FubGluZXMoKQog
CiAjaWYgIUVOQUJMRShJTUFHRV9ERUNPREVSX0RPV05fU0FNUExJTkcpICYmIGRlZmluZWQoVFVS
Qk9fSlBFR19SR0JfU1dJWlpMRSkKICAgICBpZiAodHVyYm9Td2l6emxlZChpbmZvLT5vdXRfY29s
b3Jfc3BhY2UpKSB7Ci0gICAgICAgIEFTU0VSVCghbV9zY2FsZWQpOwotICAgICAgICB3aGlsZSAo
aW5mby0+b3V0cHV0X3NjYW5saW5lIDwgaW5mby0+b3V0cHV0X2hlaWdodCkgewotICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciogcm93ID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyKj4o
YnVmZmVyLmdldEFkZHIoMCwgaW5mby0+b3V0cHV0X3NjYW5saW5lKSk7Ci0gICAgICAgICAgICBp
ZiAoanBlZ19yZWFkX3NjYW5saW5lcyhpbmZvLCAmcm93LCAxKSAhPSAxKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSNpZiBVU0UoUUNNU0xJQikKLSAgICAgICAgICAgIGlmIChxY21z
X3RyYW5zZm9ybSogdHJhbnNmb3JtID0gbV9yZWFkZXItPmNvbG9yVHJhbnNmb3JtKCkpCi0gICAg
ICAgICAgICAgICAgcWNtc190cmFuc2Zvcm1fZGF0YV90eXBlKHRyYW5zZm9ybSwgcm93LCByb3cs
IGluZm8tPm91dHB1dF93aWR0aCwgcmdiT3V0cHV0Q29sb3JTcGFjZSgpID09IEpDU19FWFRfQkdS
QSA/IFFDTVNfT1VUUFVUX0JHUlggOiBRQ01TX09VVFBVVF9SR0JYKTsKLSNlbmRpZgorICAgICAg
ICAgQVNTRVJUKCFtX3NjYWxlZCk7CisgICAgICAgICB3aGlsZSAoaW5mby0+b3V0cHV0X3NjYW5s
aW5lIDwgaW5mby0+b3V0cHV0X2hlaWdodCkgeworICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHJvdyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KGJ1ZmZlci5nZXRBZGRyKDAs
IGluZm8tPm91dHB1dF9zY2FubGluZSkpOworICAgICAgICAgICAgIGlmIChqcGVnX3JlYWRfc2Nh
bmxpbmVzKGluZm8sICZyb3csIDEpICE9IDEpCisgICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQpAQCAtNTk4LDEw
ICs1NDQsNiBAQCBib29sIEpQRUdJbWFnZURlY29kZXI6Om91dHB1dFNjYW5saW5lcygpCiAgICAg
ICAgIGludCBkZXN0WSA9IHNjYWxlZFkoc291cmNlWSk7CiAgICAgICAgIGlmIChkZXN0WSA8IDAp
CiAgICAgICAgICAgICBjb250aW51ZTsKLSNpZiBVU0UoUUNNU0xJQikKLSAgICAgICAgaWYgKG1f
cmVhZGVyLT5jb2xvclRyYW5zZm9ybSgpICYmIGluZm8tPm91dF9jb2xvcl9zcGFjZSA9PSBKQ1Nf
UkdCKQotICAgICAgICAgICAgcWNtc190cmFuc2Zvcm1fZGF0YShtX3JlYWRlci0+Y29sb3JUcmFu
c2Zvcm0oKSwgKnNhbXBsZXMsICpzYW1wbGVzLCBpbmZvLT5vdXRwdXRfd2lkdGgpOwotI2VuZGlm
CiAgICAgICAgIGludCB3aWR0aCA9IG1fc2NhbGVkID8gbV9zY2FsZWRDb2x1bW5zLnNpemUoKSA6
IGluZm8tPm91dHB1dF93aWR0aDsKICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsg
Kyt4KSB7CiAgICAgICAgICAgICBKU0FNUExFKiBqc2FtcGxlID0gKnNhbXBsZXMgKyAobV9zY2Fs
ZWQgPyBtX3NjYWxlZENvbHVtbnNbeF0gOiB4KSAqICgoaW5mby0+b3V0X2NvbG9yX3NwYWNlID09
IEpDU19SR0IpID8gMyA6IDQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAxMzhk
NWM1MTI5MWVhMjZmNjk2NDNmNmFhNDQ4ODRiYjVjNjQ4MGVmLi44MTViMDk2MWQxNDViNDkzYWI3
ZjFmZjdkNjhlNTc4ZDgzMmQxYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcApAQCAt
NDEsMTcgKzQxLDEyIEBACiAjaW5jbHVkZSAiUE5HSW1hZ2VEZWNvZGVyLmgiCiAKICNpbmNsdWRl
ICJwbmcuaCIKLSNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAjaW5jbHVkZSAiVHJhY2VFdmVu
dC5oIgogI2VuZGlmCiAKLSNpZiBVU0UoUUNNU0xJQikKLSNpbmNsdWRlICJxY21zLmgiCi0jZW5k
aWYKLQogI2lmIGRlZmluZWQoUE5HX0xJQlBOR19WRVJfTUFKT1IpICYmIGRlZmluZWQoUE5HX0xJ
QlBOR19WRVJfTUlOT1IpICYmIChQTkdfTElCUE5HX1ZFUl9NQUpPUiA+IDEgfHwgKFBOR19MSUJQ
TkdfVkVSX01BSk9SID09IDEgJiYgUE5HX0xJQlBOR19WRVJfTUlOT1IgPj0gNCkpCiAjZGVmaW5l
IEpNUEJVRihwbmdfcHRyKSBwbmdfam1wYnVmKHBuZ19wdHIpCiAjZWxzZQpAQCAtMTEyLDE0ICsx
MDcsMTAgQEAgY2xhc3MgUE5HSW1hZ2VSZWFkZXIKIHB1YmxpYzoKICAgICBQTkdJbWFnZVJlYWRl
cihQTkdJbWFnZURlY29kZXIqIGRlY29kZXIpCiAgICAgICAgIDogbV9yZWFkT2Zmc2V0KDApCi0g
ICAgICAgICwgbV9jdXJyZW50QnVmZmVyU2l6ZSgwKQogICAgICAgICAsIG1fZGVjb2RpbmdTaXpl
T25seShmYWxzZSkKLSAgICAgICAgLCBtX2hhc0FscGhhKGZhbHNlKQogICAgICAgICAsIG1faW50
ZXJsYWNlQnVmZmVyKDApCi0jaWYgVVNFKFFDTVNMSUIpCi0gICAgICAgICwgbV90cmFuc2Zvcm0o
MCkKLSAgICAgICAgLCBtX3Jvd0J1ZmZlcigpCi0jZW5kaWYKKyAgICAgICAgLCBtX2hhc0FscGhh
KGZhbHNlKQorICAgICAgICAsIG1fY3VycmVudEJ1ZmZlclNpemUoMCkKICAgICB7CiAgICAgICAg
IG1fcG5nID0gcG5nX2NyZWF0ZV9yZWFkX3N0cnVjdChQTkdfTElCUE5HX1ZFUl9TVFJJTkcsIDAs
IGRlY29kaW5nRmFpbGVkLCBkZWNvZGluZ1dhcm5pbmcpOwogICAgICAgICBtX2luZm8gPSBwbmdf
Y3JlYXRlX2luZm9fc3RydWN0KG1fcG5nKTsKQEAgLTEzNiwxNiArMTI3LDEzIEBAIHB1YmxpYzoK
ICAgICAgICAgaWYgKG1fcG5nICYmIG1faW5mbykKICAgICAgICAgICAgIC8vIFRoaXMgd2lsbCB6
ZXJvIHRoZSBwb2ludGVycy4KICAgICAgICAgICAgIHBuZ19kZXN0cm95X3JlYWRfc3RydWN0KCZt
X3BuZywgJm1faW5mbywgMCk7Ci0jaWYgVVNFKFFDTVNMSUIpCi0gICAgICAgIGlmIChtX3RyYW5z
Zm9ybSkKLSAgICAgICAgICAgIHFjbXNfdHJhbnNmb3JtX3JlbGVhc2UobV90cmFuc2Zvcm0pOwot
ICAgICAgICBtX3RyYW5zZm9ybSA9IDA7Ci0jZW5kaWYKICAgICAgICAgZGVsZXRlW10gbV9pbnRl
cmxhY2VCdWZmZXI7CiAgICAgICAgIG1faW50ZXJsYWNlQnVmZmVyID0gMDsKICAgICAgICAgbV9y
ZWFkT2Zmc2V0ID0gMDsKICAgICB9CiAKKyAgICB1bnNpZ25lZCBjdXJyZW50QnVmZmVyU2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudEJ1ZmZlclNpemU7IH0KKwogICAgIGJvb2wgZGVjb2Rl
KGNvbnN0IFNoYXJlZEJ1ZmZlciYgZGF0YSwgYm9vbCBzaXplT25seSkKICAgICB7CiAgICAgICAg
IG1fZGVjb2RpbmdTaXplT25seSA9IHNpemVPbmx5OwpAQCAtMTY5LDU3ICsxNTcsMjUgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgYm9vbCBkZWNvZGluZ1Np
emVPbmx5KCkgY29uc3QgeyByZXR1cm4gbV9kZWNvZGluZ1NpemVPbmx5OyB9CiAgICAgcG5nX3N0
cnVjdHAgcG5nUHRyKCkgY29uc3QgeyByZXR1cm4gbV9wbmc7IH0KICAgICBwbmdfaW5mb3AgaW5m
b1B0cigpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQorICAgIHBuZ19ieXRlcCBpbnRlcmxhY2VC
dWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2ludGVybGFjZUJ1ZmZlcjsgfQorICAgIGJvb2wgaGFz
QWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2hhc0FscGhhOyB9CiAKICAgICB2b2lkIHNldFJlYWRP
ZmZzZXQodW5zaWduZWQgb2Zmc2V0KSB7IG1fcmVhZE9mZnNldCA9IG9mZnNldDsgfQotICAgIHVu
c2lnbmVkIGN1cnJlbnRCdWZmZXJTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50QnVmZmVy
U2l6ZTsgfQotICAgIGJvb2wgZGVjb2RpbmdTaXplT25seSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVj
b2RpbmdTaXplT25seTsgfQotICAgIHZvaWQgc2V0SGFzQWxwaGEoYm9vbCBoYXNBbHBoYSkgeyBt
X2hhc0FscGhhID0gaGFzQWxwaGE7IH0KLSAgICBib29sIGhhc0FscGhhKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNBbHBoYTsgfQorICAgIHZvaWQgc2V0SGFzQWxwaGEoYm9vbCBiKSB7IG1faGFzQWxw
aGEgPSBiOyB9CiAKLSAgICBwbmdfYnl0ZXAgaW50ZXJsYWNlQnVmZmVyKCkgY29uc3QgeyByZXR1
cm4gbV9pbnRlcmxhY2VCdWZmZXI7IH0KICAgICB2b2lkIGNyZWF0ZUludGVybGFjZUJ1ZmZlcihp
bnQgc2l6ZSkgeyBtX2ludGVybGFjZUJ1ZmZlciA9IG5ldyBwbmdfYnl0ZVtzaXplXTsgfQotI2lm
IFVTRShRQ01TTElCKQotICAgIHBuZ19ieXRlcCByb3dCdWZmZXIoKSBjb25zdCB7IHJldHVybiBt
X3Jvd0J1ZmZlci5nZXQoKTsgfQotICAgIHZvaWQgY3JlYXRlUm93QnVmZmVyKGludCBzaXplKSB7
IG1fcm93QnVmZmVyID0gYWRvcHRBcnJheVB0cihuZXcgcG5nX2J5dGVbc2l6ZV0pOyB9Ci0gICAg
cWNtc190cmFuc2Zvcm0qIGNvbG9yVHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zv
cm07IH0KLQotICAgIHZvaWQgY3JlYXRlQ29sb3JUcmFuc2Zvcm0oY29uc3QgQ29sb3JQcm9maWxl
JiBjb2xvclByb2ZpbGUsIGJvb2wgaGFzQWxwaGEpCi0gICAgewotICAgICAgICBpZiAobV90cmFu
c2Zvcm0pCi0gICAgICAgICAgICBxY21zX3RyYW5zZm9ybV9yZWxlYXNlKG1fdHJhbnNmb3JtKTsK
LSAgICAgICAgbV90cmFuc2Zvcm0gPSAwOwotCi0gICAgICAgIGlmIChjb2xvclByb2ZpbGUuaXNF
bXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBxY21zX3Byb2ZpbGUqIGRldmlj
ZVByb2ZpbGUgPSBJbWFnZURlY29kZXI6OnFjbXNPdXRwdXREZXZpY2VQcm9maWxlKCk7Ci0gICAg
ICAgIGlmICghZGV2aWNlUHJvZmlsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgcWNt
c19wcm9maWxlKiBpbnB1dFByb2ZpbGUgPSBxY21zX3Byb2ZpbGVfZnJvbV9tZW1vcnkoY29sb3JQ
cm9maWxlLmRhdGEoKSwgY29sb3JQcm9maWxlLnNpemUoKSk7Ci0gICAgICAgIGlmICghaW5wdXRQ
cm9maWxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAvLyBXZSBjdXJyZW50bHkgb25s
eSBzdXBwb3J0IGNvbG9yIHByb2ZpbGVzIGZvciBSR0IgYW5kIFJHQkEgaW1hZ2VzLgotICAgICAg
ICBBU1NFUlQoaWNTaWdSZ2JEYXRhID09IHFjbXNfcHJvZmlsZV9nZXRfY29sb3Jfc3BhY2UoaW5w
dXRQcm9maWxlKSk7Ci0gICAgICAgIHFjbXNfZGF0YV90eXBlIGRhdGFGb3JtYXQgPSBoYXNBbHBo
YSA/IFFDTVNfREFUQV9SR0JBXzggOiBRQ01TX0RBVEFfUkdCXzg7Ci0gICAgICAgIC8vIEZJWE1F
OiBEb24ndCBmb3JjZSBwZXJjZXB0dWFsIGludGVudCBpZiB0aGUgaW1hZ2UgcHJvZmlsZSBjb250
YWlucyBhbiBpbnRlbnQuCi0gICAgICAgIG1fdHJhbnNmb3JtID0gcWNtc190cmFuc2Zvcm1fY3Jl
YXRlKGlucHV0UHJvZmlsZSwgZGF0YUZvcm1hdCwgZGV2aWNlUHJvZmlsZSwgZGF0YUZvcm1hdCwg
UUNNU19JTlRFTlRfUEVSQ0VQVFVBTCk7Ci0gICAgICAgIHFjbXNfcHJvZmlsZV9yZWxlYXNlKGlu
cHV0UHJvZmlsZSk7Ci0gICAgfQotI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgcG5nX3N0cnVjdHAg
bV9wbmc7Ci0gICAgcG5nX2luZm9wIG1faW5mbzsKICAgICB1bnNpZ25lZCBtX3JlYWRPZmZzZXQ7
Ci0gICAgdW5zaWduZWQgbV9jdXJyZW50QnVmZmVyU2l6ZTsKICAgICBib29sIG1fZGVjb2RpbmdT
aXplT25seTsKLSAgICBib29sIG1faGFzQWxwaGE7CisgICAgcG5nX3N0cnVjdHAgbV9wbmc7Cisg
ICAgcG5nX2luZm9wIG1faW5mbzsKICAgICBwbmdfYnl0ZXAgbV9pbnRlcmxhY2VCdWZmZXI7Ci0j
aWYgVVNFKFFDTVNMSUIpCi0gICAgcWNtc190cmFuc2Zvcm0qIG1fdHJhbnNmb3JtOwotICAgIE93
bkFycmF5UHRyPHBuZ19ieXRlPiBtX3Jvd0J1ZmZlcjsKLSNlbmRpZgorICAgIGJvb2wgbV9oYXNB
bHBoYTsKKyAgICB1bnNpZ25lZCBtX2N1cnJlbnRCdWZmZXJTaXplOwogfTsKIAogUE5HSW1hZ2VE
ZWNvZGVyOjpQTkdJbWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhT3B0aW9uIGFscGhhT3B0
aW9uLApAQCAtMzQyLDEwICsyOTgsNiBAQCB2b2lkIFBOR0ltYWdlRGVjb2Rlcjo6aGVhZGVyQXZh
aWxhYmxlKCkKICAgICAgICAgLy8gdGhlIGNvbG9yIHByb2ZpbGUgb3Igd2UnZCBuZWVkIHRvIGRl
Y29kZSBpbnRvIGEgZ3JheS1zY2FsZSBpbWFnZSBidWZmZXIgYW5kCiAgICAgICAgIC8vIGhhbmQg
dGhhdCB0byBDb3JlR3JhcGhpY3MuCiAgICAgICAgIHJlYWRDb2xvclByb2ZpbGUocG5nLCBpbmZv
LCBtX2NvbG9yUHJvZmlsZSk7Ci0jaWYgVVNFKFFDTVNMSUIpCi0gICAgICAgIG1fcmVhZGVyLT5j
cmVhdGVDb2xvclRyYW5zZm9ybShtX2NvbG9yUHJvZmlsZSwgY29sb3JUeXBlICYgUE5HX0NPTE9S
X01BU0tfQUxQSEEpOwotICAgICAgICBtX2NvbG9yUHJvZmlsZS5jbGVhcigpOwotI2VuZGlmCiAg
ICAgfQogCiAgICAgLy8gVGhlIG9wdGlvbnMgd2Ugc2V0IGhlcmUgbWF0Y2ggd2hhdCBNb3ppbGxh
IGRvZXMuCkBAIC00MTUsOCArMzY3LDggQEAgdm9pZCBQTkdJbWFnZURlY29kZXI6OnJvd0F2YWls
YWJsZSh1bnNpZ25lZCBjaGFyKiByb3dCdWZmZXIsIHVuc2lnbmVkIHJvd0luZGV4LAogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdW5zaWduZWQgY29sb3JDaGFubmVs
cyA9IG1fcmVhZGVyLT5oYXNBbHBoYSgpID8gNCA6IDM7CiAgICAgICAgIGlmIChQTkdfSU5URVJM
QUNFX0FEQU03ID09IHBuZ19nZXRfaW50ZXJsYWNlX3R5cGUocG5nLCBtX3JlYWRlci0+aW5mb1B0
cigpKSkgeworICAgICAgICAgICAgdW5zaWduZWQgY29sb3JDaGFubmVscyA9IG1fcmVhZGVyLT5o
YXNBbHBoYSgpID8gNCA6IDM7CiAgICAgICAgICAgICBtX3JlYWRlci0+Y3JlYXRlSW50ZXJsYWNl
QnVmZmVyKGNvbG9yQ2hhbm5lbHMgKiBzaXplKCkud2lkdGgoKSAqIHNpemUoKS5oZWlnaHQoKSk7
CiAgICAgICAgICAgICBpZiAoIW1fcmVhZGVyLT5pbnRlcmxhY2VCdWZmZXIoKSkgewogICAgICAg
ICAgICAgICAgIGxvbmdqbXAoSk1QQlVGKHBuZyksIDEpOwpAQCAtNDI0LDE1ICszNzYsNiBAQCB2
b2lkIFBOR0ltYWdlRGVjb2Rlcjo6cm93QXZhaWxhYmxlKHVuc2lnbmVkIGNoYXIqIHJvd0J1ZmZl
ciwgdW5zaWduZWQgcm93SW5kZXgsCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotI2lmIFVT
RShRQ01TTElCKQotICAgICAgICBpZiAobV9yZWFkZXItPmNvbG9yVHJhbnNmb3JtKCkpIHsKLSAg
ICAgICAgICAgIG1fcmVhZGVyLT5jcmVhdGVSb3dCdWZmZXIoY29sb3JDaGFubmVscyAqIHNpemUo
KS53aWR0aCgpKTsKLSAgICAgICAgICAgIGlmICghbV9yZWFkZXItPnJvd0J1ZmZlcigpKSB7Ci0g
ICAgICAgICAgICAgICAgbG9uZ2ptcChKTVBCVUYocG5nKSwgMSk7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgYnVmZmVy
LnNldFN0YXR1cyhJbWFnZUZyYW1lOjpGcmFtZVBhcnRpYWwpOwogICAgICAgICBidWZmZXIuc2V0
SGFzQWxwaGEoZmFsc2UpOwogICAgICAgICBidWZmZXIuc2V0Q29sb3JQcm9maWxlKG1fY29sb3JQ
cm9maWxlKTsKQEAgLTQ5MCwxMyArNDMzLDYgQEAgdm9pZCBQTkdJbWFnZURlY29kZXI6OnJvd0F2
YWlsYWJsZSh1bnNpZ25lZCBjaGFyKiByb3dCdWZmZXIsIHVuc2lnbmVkIHJvd0luZGV4LAogICAg
ICAgICBwbmdfcHJvZ3Jlc3NpdmVfY29tYmluZV9yb3cobV9yZWFkZXItPnBuZ1B0cigpLCByb3cs
IHJvd0J1ZmZlcik7CiAgICAgfQogCi0jaWYgVVNFKFFDTVNMSUIpCi0gICAgaWYgKHFjbXNfdHJh
bnNmb3JtKiB0cmFuc2Zvcm0gPSBtX3JlYWRlci0+Y29sb3JUcmFuc2Zvcm0oKSkgewotICAgICAg
ICBxY21zX3RyYW5zZm9ybV9kYXRhKHRyYW5zZm9ybSwgcm93LCBtX3JlYWRlci0+cm93QnVmZmVy
KCksIHNpemUoKS53aWR0aCgpKTsKLSAgICAgICAgcm93ID0gbV9yZWFkZXItPnJvd0J1ZmZlcigp
OwotICAgIH0KLSNlbmRpZgotCiAgICAgLy8gV3JpdGUgdGhlIGRlY29kZWQgcm93IHBpeGVscyB0
byB0aGUgZnJhbWUgYnVmZmVyLgogICAgIGludCB3aWR0aCA9IHNjYWxlZFNpemUoKS53aWR0aCgp
OwogICAgIGJvb2wgbm9uVHJpdmlhbEFscGhhID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9za2lhL0ltYWdlRGVjb2RlclNraWEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2tpYS9JbWFnZURlY29k
ZXJTa2lhLmNwcAppbmRleCA1Y2MxMzJjNGQ0ODQwMGI4MTUyZWU1ZjRmZWYyMjQyYzQyOWRiNmI2
Li5kMmYwNmQ5MDdjNDhhMWMxOTkyYzAyZTY5MTkyNjBjNzE4NmUwNDUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9za2lhL0ltYWdlRGVjb2RlclNr
aWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NraWEv
SW1hZ2VEZWNvZGVyU2tpYS5jcHAKQEAgLTI3LDYgKzI3LDEzIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW1hZ2VEZWNvZGVyLmgiCiAKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgorCisjaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKKyNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHRDRy5oIgorI2luY2x1ZGUgIlNrQ0dVdGlscy5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogSW1hZ2VGcmFtZTo6SW1hZ2VGcmFtZSgpCkBAIC0xMDcsMTcg
KzExNCw1OCBAQCB2b2lkIEltYWdlRnJhbWU6OnNldEhhc0FscGhhKGJvb2wgYWxwaGEpCiAgICAg
bV9iaXRtYXAuYml0bWFwKCkuc2V0SXNPcGFxdWUoIWFscGhhKTsKIH0KIAorI2lmIFBMQVRGT1JN
KENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pCitzdGF0aWMgdm9pZCByZXNvbHZlQ29sb3JTcGFjZShj
b25zdCBTa0JpdG1hcCYgYml0bWFwLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkKK3sKKyAg
ICBpbnQgd2lkdGggPSBiaXRtYXAud2lkdGgoKTsKKyAgICBpbnQgaGVpZ2h0ID0gYml0bWFwLmhl
aWdodCgpOworICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBzcmNJbWFnZShBZG9wdENGLCBTa0Ny
ZWF0ZUNHSW1hZ2VSZWZXaXRoQ29sb3JzcGFjZShiaXRtYXAsIGNvbG9yU3BhY2UpKTsKKyAgICBT
a0F1dG9Mb2NrUGl4ZWxzIGxvY2soYml0bWFwKTsKKyAgICB2b2lkKiBwaXhlbHMgPSBiaXRtYXAu
Z2V0UGl4ZWxzKCk7CisgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gY2dCaXRtYXAoQWRvcHRD
RiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKHBpeGVscywgd2lkdGgsIGhlaWdodCwgOCwgd2lkdGgg
KiA0LCBkZXZpY2VSR0JDb2xvclNwYWNlUmVmKCksIGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9zdCB8
IGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkRmlyc3QpKTsKKyAgICBpZiAoIWNnQml0bWFwKQor
ICAgICAgICByZXR1cm47CisgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKGNnQml0bWFwLmdldCgp
LCBrQ0dCbGVuZE1vZGVDb3B5KTsKKyAgICBDR1JlY3QgYm91bmRzID0geyB7MCwgMH0sIHt3aWR0
aCwgaGVpZ2h0fSB9OworICAgIENHQ29udGV4dERyYXdJbWFnZShjZ0JpdG1hcC5nZXQoKSwgYm91
bmRzLCBzcmNJbWFnZS5nZXQoKSk7Cit9CisKK3N0YXRpYyBDR0NvbG9yU3BhY2VSZWYgY3JlYXRl
Q29sb3JTcGFjZShjb25zdCBDb2xvclByb2ZpbGUmIGNvbG9yUHJvZmlsZSkKK3sKKyAgICBSZXRh
aW5QdHI8Q0ZEYXRhUmVmPiBkYXRhKEFkb3B0Q0YsIENGRGF0YUNyZWF0ZShrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCByZWludGVycHJldF9jYXN0PGNvbnN0IFVJbnQ4Kj4oY29sb3JQcm9maWxlLmRhdGEo
KSksIGNvbG9yUHJvZmlsZS5zaXplKCkpKTsKKyNpZm5kZWYgVEFSR0VUSU5HX0xFT1BBUkQKKyAg
ICByZXR1cm4gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0aElDQ1Byb2ZpbGUoZGF0YS5nZXQoKSk7Cisj
ZWxzZQorICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gcHJvZmlsZURhdGFQcm92aWRl
cihBZG9wdENGLCBDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhDRkRhdGEoZGF0YS5nZXQoKSkpOwor
ICAgIENHRmxvYXQgcmFuZ2VzW10gPSB7MC4wLCAyNTUuMCwgMC4wLCAyNTUuMCwgMC4wLCAyNTUu
MH07CisgICAgcmV0dXJuIENHQ29sb3JTcGFjZUNyZWF0ZUlDQ0Jhc2VkKDMsIHJhbmdlcywgcHJv
ZmlsZURhdGFQcm92aWRlci5nZXQoKSwgZGV2aWNlUkdCQ29sb3JTcGFjZVJlZigpKTsKKyNlbmRp
ZgorfQorI2VuZGlmCisKIHZvaWQgSW1hZ2VGcmFtZTo6c2V0Q29sb3JQcm9maWxlKGNvbnN0IENv
bG9yUHJvZmlsZSYgY29sb3JQcm9maWxlKQogewotICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRo
aXMgSW1hZ2VGcmFtZSBmdW5jdGlvbiBhbnltb3JlLCBvbiBhbnkgcG9ydD8KLSAgICBVTlVTRURf
UEFSQU0oY29sb3JQcm9maWxlKTsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lO
KQorICAgIG1fY29sb3JQcm9maWxlID0gY29sb3JQcm9maWxlOworI2Vsc2UKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworI2VuZGlmCiB9CiAKIHZvaWQgSW1hZ2VGcmFtZTo6c2V0U3RhdHVzKEZyYW1l
U3RhdHVzIHN0YXR1cykKIHsKICAgICBtX3N0YXR1cyA9IHN0YXR1czsKLSAgICBpZiAobV9zdGF0
dXMgPT0gRnJhbWVDb21wbGV0ZSkKKyAgICBpZiAobV9zdGF0dXMgPT0gRnJhbWVDb21wbGV0ZSkg
ewogICAgICAgICBtX2JpdG1hcC5zZXREYXRhQ29tcGxldGUoKTsgIC8vIFRlbGwgdGhlIGJpdG1h
cCBpdCdzIGRvbmUuCisjaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKKyAgICAg
ICAgLy8gcmVzb2x2ZUNvbG9yU3BhY2UoKSBhbmQgY2FsbGVlcyBhc3N1bWUgdGhhdCB0aGUgYWxw
aGEgY2hhbm5lbCBpcworICAgICAgICAvLyBwcmVtdWx0aXBsaWVkLCBzbyBkb24ndCBhcHBseSB0
aGUgY29sb3IgcHJvZmlsZSBpZiBpdCBpc24ndC4KKyAgICAgICAgaWYgKG1fY29sb3JQcm9maWxl
LmlzRW1wdHkoKSB8fCAoIW1fcHJlbXVsdGlwbHlBbHBoYSAmJiBoYXNBbHBoYSgpKSkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY2dDb2xv
clNwYWNlKEFkb3B0Q0YsIGNyZWF0ZUNvbG9yU3BhY2UobV9jb2xvclByb2ZpbGUpKTsKKyAgICAg
ICAgcmVzb2x2ZUNvbG9yU3BhY2UobV9iaXRtYXAuYml0bWFwKCksIGNnQ29sb3JTcGFjZS5nZXQo
KSk7CisjZW5kaWYKKyAgICB9CiB9CiAKIGludCBJbWFnZUZyYW1lOjp3aWR0aCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZjUwMDJlMTAxYWExZjIyZDRjY2E2YWJmMGE3MzY1ZWUxMzcwOTBmNi4uZmY5Y2E2NGE1
ODcwYmVmNWY1OGRkY2YxYjUyMWZkNTM1YjI5NDY5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTA2LTE2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIwNDg1LgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjA0ODUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5Mjg2CisKKyAgICAgICAgVHVybmVkIG1hbnksIG1h
bnkgdGVzdHMgcmVkIChSZXF1ZXN0ZWQgYnkgYWJhcnRoIG9uICN3ZWJraXQpLgorCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0wNi0xNiAgWmFu
IERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
R1RLIGdhcmRlbmluZywgdXBkYXRpbmcgYmFzZWxpbmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyYTE0ZDUwNTI2YTEzODYxMTI1NmJk
OTIyZTljMWQxZWZhMTVlMTIwLi5iYjM1ZDM2YTU0YmIwMGI0ODJhNTM1NjI4MWY0YWEzNjJhMTgy
NDg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTExNzQsNiArMTE3NCwxMCBAQCBCVUdDUjExMTUzIExJTlVYIFdJTiA6IHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL2NhbnZhcy1pbmNyZW1lbgogLy8gdGVz
dF9zaGVsbCwgRFJUIGRvIG5vdCBjb3JyZWN0bHkgc2NoZWR1bGUgcGFpbnRzIHdoZW4gaW52YWxp
ZGF0aW5nLgogQlVHQ1I2MjQzMyBXSU4gOiBmYXN0L2ltYWdlcy9naWYtbG9vcC1jb3VudC5odG1s
ID0gSU1BR0UKIAorLy8gSW1wbGVtZW50IGNvbG9yIHByb2ZpbGUgc3VwcG9ydC4KK0JVR0NSMTQz
IDogZmFzdC9pbWFnZXMvanBlZy13aXRoLWNvbG9yLXByb2ZpbGUuaHRtbCA9IE1JU1NJTkcKK0JV
R0NSMTQzIDogZmFzdC9pbWFnZXMvcG5nLXdpdGgtY29sb3ItcHJvZmlsZS5odG1sID0gTUlTU0lO
RworCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogLy8gU1ZHIFRFU1RTCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>