<?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>20328</bug_id>
          
          <creation_ts>2008-08-07 23:07:24 -0700</creation_ts>
          <short_desc>REGRESSION: When transition property is &apos;all&apos;, some transitions are broken after the first time.</short_desc>
          <delta_ts>2008-08-11 15:45:04 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NeedsReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>88089</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-07 23:07:24 -0700</bug_when>
    <thetext>In the testcase to be attached, hovering over the list items no longer shows scale or color transitions after they have been selected once. The list items go &quot;dead&quot; to hover.

Adding an explicit -webkit-transition-property rule makes it work again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88090</commentid>
    <comment_count>1</comment_count>
      <attachid>22703</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-07 23:07:45 -0700</bug_when>
    <thetext>Created attachment 22703
Manual testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88091</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-07 23:23:39 -0700</bug_when>
    <thetext>Behavior works in r35532, broken in r35620, broken in r35625.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88092</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-08 00:03:42 -0700</bug_when>
    <thetext>This broke in r35545 (of course).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88134</commentid>
    <comment_count>4</comment_count>
      <attachid>22713</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-08 15:26:48 -0700</bug_when>
    <thetext>Created attachment 22713
Automated testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88141</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-08 17:37:19 -0700</bug_when>
    <thetext>That automated testcase doesn&apos;t catch all the issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88236</commentid>
    <comment_count>6</comment_count>
      <attachid>22733</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-11 13:56:00 -0700</bug_when>
    <thetext>Created attachment 22733
Patch, testcase, changlog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88240</commentid>
    <comment_count>7</comment_count>
      <attachid>22733</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-08-11 15:30:04 -0700</bug_when>
    <thetext>Comment on attachment 22733
Patch, testcase, changlog

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88241</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-11 15:44:26 -0700</bug_when>
    <thetext>Committed r35672
	M	WebCore/ChangeLog
	M	WebCore/page/AnimationController.cpp
	M	LayoutTests/ChangeLog
	A	LayoutTests/transitions/interrupted-all-transition-expected.txt
	A	LayoutTests/transitions/interrupted-all-transition.html
r35672 = e0d44797ca91baba9b32df622363f49b88fd0c98 (trunk)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88242</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-08-11 15:44:48 -0700</bug_when>
    <thetext>Reopen to assign to me (sorry for the noise)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>22703</attachid>
            <date>2008-08-07 23:07:45 -0700</date>
            <delta_ts>2008-08-07 23:07:45 -0700</delta_ts>
            <desc>Manual testcase</desc>
            <filename>transition_all_state.html</filename>
            <type>text/html</type>
            <size>2133</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+VHJhbnNpdGlvbnM8L3RpdGxl
PgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CiAgCiAgICAjY2hhcmFj
dGVycyB7CiAgICAgIHdpZHRoOiA3MCU7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICB9CiAgICAj
Y2hhcmFjdGVycyA+IGxpIHsKICAgICAgICBsaXN0LW1hcmtlcjogbm9uZTsKICAgIH0KCiAgICAj
Y2hhcmFjdGVycyA+IGxpID4gLm5hbWUgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJh
dGlvbjogMjUwbXM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2xhdGVncmV5OwogICAgICAg
IGNvbG9yOiB3aGl0ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDEw
cHg7CiAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB3aGl0
ZTsKICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBmb250LXNpemU6
IDMwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKICAgICAgICBmb250LXdlaWdo
dDogYm9sZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVj
dDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zv
cm06IHNjYWxlKDEpOwogICAgfQoKICAgICNjaGFyYWN0ZXJzID4gbGkgPiAubmFtZTpob3ZlciB7
CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgICAgICAgb3BhY2l0eTog
MC45OwogICAgfQoKICAgICNjaGFyYWN0ZXJzID4gbGkuZW5hYmxlZCA+IC5uYW1lIHsKICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTAwMDAwOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgIH0K
ICAgIAogIDwvc3R5bGU+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9
InV0Zi04Ij4KCiAgICB2YXIgZ1NlbGVjdGVkID0gbnVsbDsKCiAgICBmdW5jdGlvbiBzZXR1cCgp
CiAgICB7CiAgICAgIGZvciAodmFyIG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhcmFj
dGVycyIpLmZpcnN0Q2hpbGQ7IG47IG4gPSBuLm5leHRTaWJsaW5nKSB7CiAgICAgICAgICBuLm9u
Y2xpY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBpZiAodGhpcyA9PSBnU2VsZWN0ZWQp
IHsKICAgICAgICAgICAgICAgICAgZ1NlbGVjdGVkLmNsYXNzTmFtZSA9ICIiOwogICAgICAgICAg
ICAgICAgICBnU2VsZWN0ZWQgPSBudWxsOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ1NlbGVj
dGVkKSB7CiAgICAgICAgICAgICAgICAgIGdTZWxlY3RlZC5jbGFzc05hbWUgPSAiIjsKICAgICAg
ICAgICAgICAgICAgZ1NlbGVjdGVkID0gdGhpczsKICAgICAgICAgICAgICAgICAgZ1NlbGVjdGVk
LmNsYXNzTmFtZSA9ICJlbmFibGVkIjsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICBnU2VsZWN0ZWQgPSB0aGlzOwogICAgICAgICAgICAgICAgICBnU2VsZWN0ZWQuY2xh
c3NOYW1lID0gImVuYWJsZWQiOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgfQog
ICAgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzZXR1cCwgZmFsc2UpOwog
IDwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoKPHA+QWZ0ZXIgY2xpY2tpbmcgb24gb25lIGl0ZW0g
dGhlbiBhbm90aGVyLCB0aGUgZmlyc3QgaXRlbSBzaG91bGQgc3RpbGwgc2NhbGUgb24gOmhvdmVy
PC9wPgo8dWwgaWQ9ImNoYXJhY3RlcnMiPgogIDxsaT4KICAgIDxoMiBjbGFzcz0ibmFtZSI+QmFs
dGFyPC9oMj4KICA8L2xpPgogIDxsaT4KICAgIDxoMiBjbGFzcz0ibmFtZSI+TnVtYmVyIFNpeDwv
aDI+CiAgPC9saT4KICA8bGk+CiAgICA8aDIgY2xhc3M9Im5hbWUiPkFkYW1hPC9oMj4KICA8L2xp
Pgo8L3VsPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>22713</attachid>
            <date>2008-08-08 15:26:48 -0700</date>
            <delta_ts>2008-08-08 15:26:48 -0700</delta_ts>
            <desc>Automated testcase</desc>
            <filename>transition-all-repeated.html</filename>
            <type>text/html</type>
            <size>1665</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+VHJhbnNpdGlvbiBBbGw8L3Rp
dGxlPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CiAgICAjY29udGFp
bmVyIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogNDAwcHg7CiAgICAg
IGhlaWdodDogMTAwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogICAgfQogICAg
I2JveCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaGVpZ2h0OiAxMDBweDsKICAg
ICAgd2lkdGg6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwogICAgICAtd2Vi
a2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzOwogICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGlt
aW5nLWZ1bmN0aW9uOiBsaW5lYXI7Ci8qICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5
OiBsZWZ0OyovCiAgICB9CiAgPC9zdHlsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgY2hhcnNldD0idXRmLTgiPgogICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewogICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CiAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBzdGFydFRy
YW5zaXRpb24oKQogICAgewogICAgICB2YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2JveCcpOwogICAgICBib3guc3R5bGUubGVmdCA9ICczMDBweCc7CiAgICAgIGJveC5zdHlsZS5v
cGFjaXR5ID0gMC41OwogICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAg
ICBib3guc3R5bGUubGVmdCA9ICcwcHgnOwogICAgICAgIAogICAgICAgIHdpbmRvdy5zZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGJveFBvcyA9IHBhcnNlSW50KHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGJveCkubGVmdCk7CiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gKGJveFBvcyA8IDIwMCkgPyAiUEFTUyIgOiAiRkFJ
TCI7CiAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgIAogICAgICAg
IH0sIDI1MCk7CiAgICAgICAgCiAgICAgIH0sIDUwMCk7CiAgICB9CiAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHN0YXJ0VHJhbnNpdGlvbiwgZmFsc2UpCiAgPC9zY3JpcHQ+Cjwv
aGVhZD4KPGJvZHk+Cgo8cD5Cb3ggc2hvdWxkIHN0YXJ0IG1vdmluZyBsZWZ0IGFmdGVyIGxlZnQg
c3R5bGUgaXMgcmVzZXQgYWZ0ZXIgNTAwbXM8L3A+CjxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgPGRp
diBpZD0iYm94Ij4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgaWQ9InJlc3VsdCI+CjwvZGl2Pgo8L2Jv
ZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22733</attachid>
            <date>2008-08-11 13:56:00 -0700</date>
            <delta_ts>2008-08-11 15:30:04 -0700</delta_ts>
            <desc>Patch, testcase, changlog</desc>
            <filename>patch_ 20328.txt</filename>
            <type>text/plain</type>
            <size>21238</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNGI1OWE2Li5mOTE2ODU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xICsxLDEyIEBACisyMDA4LTA4LTEx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMyOAorICAgICAgICBBZGQgdGVzdGNhc2UgZm9yIGludGVycnVw
dGVkICdhbGwnIHRyYW5zaXRpb24gd2l0aCBtb3JlIHRoYW4KKyAgICAgICAgb25lIHByb3BlcnR5
IGNoYW5naW5nLgorICAgICAgICAKKyAgICAgICAgKiB0cmFuc2l0aW9ucy9pbnRlcnJ1cHRlZC1h
bGwtdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRyYW5zaXRpb25z
L2ludGVycnVwdGVkLWFsbC10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorCiA9PSBSb2xsZWQgb3Zl
ciB0byBDaGFuZ2VMb2ctMjAwOC0wOC0xMCA9PQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdHJh
bnNpdGlvbnMvaW50ZXJydXB0ZWQtYWxsLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvdHJhbnNpdGlvbnMvaW50ZXJydXB0ZWQtYWxsLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NmU4YTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy90cmFuc2l0aW9ucy9pbnRlcnJ1cHRlZC1hbGwtdHJhbnNpdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitCb3ggc2hvdWxkIHN0YXJ0IG1vdmluZyBs
ZWZ0IGFmdGVyIGxlZnQgc3R5bGUgaXMgcmVzZXQgYWZ0ZXIgNTAwbXMKKworUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvdHJhbnNpdGlvbnMvaW50ZXJydXB0ZWQtYWxsLXRyYW5zaXRpb24u
aHRtbCBiL0xheW91dFRlc3RzL3RyYW5zaXRpb25zL2ludGVycnVwdGVkLWFsbC10cmFuc2l0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJkYWQ2NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5zaXRpb25zL2ludGVycnVwdGVkLWFsbC10cmFu
c2l0aW9uLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJodHRwOi8vd3d3LnczLm9y
Zy9UUi9odG1sNC9sb29zZS5kdGQiPgorCis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1l
dGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
dXRmLTgiPgorICA8dGl0bGU+SW50ZXJydXB0ZWQgQWxsIFRyYW5zaXRpb248L3RpdGxlPgorICA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICNjb250YWluZXIgewor
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgd2lkdGg6IDQwMHB4OworICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgIH0KKyAgICAj
Ym94IHsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAg
LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxczsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlv
bi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKKyAgICB9CisgIDwvc3R5bGU+CisgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbigpCisgICAgeworICAgICAgdmFyIGJv
eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKKyAgICAgIGJveC5zdHlsZS5sZWZ0
ID0gJzMwMHB4JzsKKyAgICAgIGJveC5zdHlsZS5vcGFjaXR5ID0gMC41OworICAgICAgd2luZG93
LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGJveC5zdHlsZS5sZWZ0ID0gJzBweCc7
CisgICAgICAgIAorICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICB2YXIgYm94UG9zID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94KS5s
ZWZ0KTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJI
VE1MID0gKGJveFBvcyA8IDIwMCkgPyAiUEFTUyIgOiAiRkFJTCI7CisgICAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCAyNTApOworICAgICAgfSwgNTAwKTsKKyAg
ICB9CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRyYW5zaXRpb24s
IGZhbHNlKQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8cD5Cb3ggc2hvdWxkIHN0
YXJ0IG1vdmluZyBsZWZ0IGFmdGVyIGxlZnQgc3R5bGUgaXMgcmVzZXQgYWZ0ZXIgNTAwbXM8L3A+
Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJib3giPgorICA8L2Rpdj4KKzwvZGl2
PgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmY2NjZTAzLi43
NmI5ODYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDA4LTA4LTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyOAor
ICAgICAgICBGaXggYSBwcm9ibGVtIHdoZW4gYW4gJ2FsbCcgdHJhbnNpdGlvbiB0cmFuc2l0aW9u
IHdpdGggbW9yZSB0aGFuCisgICAgICAgIG9uZSBwcm9wZXJ0eSBjaGFuZ2luZyBpcyBpbnRlcnJ1
cHRlZCwgYW5kIGRpZCBzb21lIEFuaW1hdGlvbkNvbnRyb2xsZXIKKyAgICAgICAgY2xlYW51cC4K
KworICAgICAgICBUZXN0OiB0cmFuc2l0aW9ucy9pbnRlcnJ1cHRlZC1hbGwtdHJhbnNpdGlvbi5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW1wbGljaXRBbmltYXRpb246OkltcGxpY2l0QW5pbWF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpibGVuZFByb3BlcnRpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9uOjp1cGRhdGVUcmFuc2l0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVBbmltYXRpb246OmNsZWFudXBGaW5pc2hlZEFu
aW1hdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9uOjpzZXRUcmFu
c2l0aW9uU3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUFuaW1hdGlvbjo6
b3ZlcnJpZGVJbXBsaWNpdEFuaW1hdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRl
QW5pbWF0aW9uOjpyZXN1bWVPdmVycmlkZGVuSW1wbGljaXRBbmltYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjphbmltYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkltcGxpY2l0QW5pbWF0aW9uOjpvbkFuaW1hdGlvbkVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bXBsaWNpdEFuaW1hdGlvbjo6c2VuZFRyYW5zaXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbXBsaWNpdEFuaW1hdGlvbjo6YWZmZWN0c1Byb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6
OktleWZyYW1lQW5pbWF0aW9uOjplbmRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6S2V5
ZnJhbWVBbmltYXRpb246Om9uQW5pbWF0aW9uRW5kKToKKwogMjAwOC0wOC0xMSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBBbmltYXRpb24g
YW5kIFRyYW5zaXRpb24gRXZlbnRzCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5k
ZXggMDMyNmNhNy4uNTk5YWY2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9BbmltYXRpb25Db250cm9sbGVyLmNwcApA
QCAtMTYwLDkgKzE2MCw4IEBAIGNsYXNzIEltcGxpY2l0QW5pbWF0aW9uOwogY2xhc3MgS2V5ZnJh
bWVBbmltYXRpb247CiBjbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTsKIAotLy8gQSBD
b21wb3NpdGVBbmltYXRpb24gcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgYW5pbWF0aW9ucyB0
aGF0Ci0vLyBhcmUgcnVubmluZywgc3VjaCBhcyBhIG51bWJlciBvZiBwcm9wZXJ0aWVzIHRyYW5z
aXRpb25pbmcgYXQgb25jZS4KLQorLy8gQSBDb21wb3NpdGVBbmltYXRpb24gcmVwcmVzZW50cyBh
IGNvbGxlY3Rpb24gb2YgYW5pbWF0aW9ucyB0aGF0IGFyZSBydW5uaW5nCisvLyBvbiBhIHNpbmds
ZSBSZW5kZXJPYmplY3QsIHN1Y2ggYXMgYSBudW1iZXIgb2YgcHJvcGVydGllcyB0cmFuc2l0aW9u
aW5nIGF0IG9uY2UuCiBjbGFzcyBDb21wb3NpdGVBbmltYXRpb24gOiBwdWJsaWMgTm9uY29weWFi
bGUgewogcHVibGljOgogICAgIENvbXBvc2l0ZUFuaW1hdGlvbihBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZSogYW5pbWF0aW9uQ29udHJvbGxlcikKQEAgLTE3Nyw3ICsxNzYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2tleWZyYW1lQW5pbWF0aW9ucyk7CiAgICAgfQog
ICAgIAotICAgIFJlbmRlclN0eWxlKiBhbmltYXRlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxl
KiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxlKiB0YXJnZXRTdHlsZSk7CisgICAgUmVuZGVyU3R5
bGUqIGFuaW1hdGUoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHls
ZSwgUmVuZGVyU3R5bGUqIHRhcmdldFN0eWxlKTsKICAgICAKICAgICB2b2lkIHNldEFuaW1hdGlu
Zyhib29sIGluQW5pbWF0aW5nKTsKICAgICBib29sIGFuaW1hdGluZygpOwpAQCAtMjA2LDggKzIw
NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdhaXRpbmdGb3JTdHlsZUF2YWlsYWJsZShib29s
IHdhaXRpbmcpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCB1cGRhdGVUcmFuc2l0aW9ucyhSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHls
ZSogdGFyZ2V0U3R5bGUpOwotICAgIHZvaWQgdXBkYXRlS2V5ZnJhbWVBbmltYXRpb25zKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxl
KiB0YXJnZXRTdHlsZSk7CisgICAgdm9pZCB1cGRhdGVUcmFuc2l0aW9ucyhSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSog
dGFyZ2V0U3R5bGUpOworICAgIHZvaWQgdXBkYXRlS2V5ZnJhbWVBbmltYXRpb25zKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0
eWxlKiB0YXJnZXRTdHlsZSk7CiAKICAgICBLZXlmcmFtZUFuaW1hdGlvbiogZmluZEtleWZyYW1l
QW5pbWF0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSk7CiAgICAgCkBAIC0zNzcsMTUgKzM3
NiwxOSBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JFbmRFdmVudDsKIH07CiAK
Ky8vIEFuIEltcGxpY2l0QW5pbWF0aW9uIHRyYWNrcyB0aGUgc3RhdGUgb2YgYSB0cmFuc2l0aW9u
IG9mIGEgc3BlY2lmaWMgQ1NTIHByb3BlcnR5CisvLyBmb3IgYSBzaW5nbGUgUmVuZGVyT2JqZWN0
LgogY2xhc3MgSW1wbGljaXRBbmltYXRpb24gOiBwdWJsaWMgQW5pbWF0aW9uQmFzZSB7CiBwdWJs
aWM6Ci0gICAgSW1wbGljaXRBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uKiB0cmFuc2l0aW9uLCBS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBBbmltKQorICAg
IEltcGxpY2l0QW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiogdHJhbnNpdGlvbiwgaW50IGFuaW1h
dGluZ1Byb3BlcnR5LCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBDb21wb3NpdGVBbmltYXRpb24q
IGNvbXBBbmltKQogICAgIDogQW5pbWF0aW9uQmFzZSh0cmFuc2l0aW9uLCByZW5kZXJlciwgY29t
cEFuaW0pCi0gICAgLCBtX3Byb3BlcnR5KHRyYW5zaXRpb24tPnByb3BlcnR5KCkpCisgICAgLCBt
X3RyYW5zaXRpb25Qcm9wZXJ0eSh0cmFuc2l0aW9uLT5wcm9wZXJ0eSgpKQorICAgICwgbV9hbmlt
YXRpbmdQcm9wZXJ0eShhbmltYXRpbmdQcm9wZXJ0eSkKICAgICAsIG1fb3ZlcnJpZGRlbihmYWxz
ZSkKICAgICAsIG1fZnJvbVN0eWxlKDApCiAgICAgLCBtX3RvU3R5bGUoMCkKICAgICB7CisgICAg
ICAgIEFTU0VSVChhbmltYXRpbmdQcm9wZXJ0eSAhPSBjQW5pbWF0ZUFsbCk7CiAgICAgfQogICAg
IAogICAgIHZpcnR1YWwgfkltcGxpY2l0QW5pbWF0aW9uKCkKQEAgLTQwMiw3ICs0MDUsOCBAQCBw
dWJsaWM6CiAgICAgICAgICAgICB1cGRhdGVTdGF0ZU1hY2hpbmUoU1RBVEVfSU5QVVRfRU5EX0FO
SU1BVElPTiwgLTEpOyAgICAgCiAgICAgfQogICAgIAotICAgIGludCBwcm9wZXJ0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydHk7IH0KKyAgICBpbnQgdHJhbnNpdGlvblByb3BlcnR5KCkgY29u
c3QgeyByZXR1cm4gbV90cmFuc2l0aW9uUHJvcGVydHk7IH0KKyAgICBpbnQgYW5pbWF0aW5nUHJv
cGVydHkoKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGluZ1Byb3BlcnR5OyB9CiAgICAgCiAgICAg
dmlydHVhbCB2b2lkIG9uQW5pbWF0aW9uRW5kKGRvdWJsZSBpbkVsYXBzZWRUaW1lKTsKICAgICAK
QEAgLTQxOSw3ICs0MjMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBoYXNTdHlsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZnJvbVN0eWxlICYmIG1fdG9TdHlsZTsgfQogICAgIAotICAgIGJvb2wg
aXNUYXJnZXRQcm9wZXJ0eUVxdWFsKGludCBwcm9wLCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUp
OworICAgIGJvb2wgaXNUYXJnZXRQcm9wZXJ0eUVxdWFsKGludCBwcm9wLCBjb25zdCBSZW5kZXJT
dHlsZSogdGFyZ2V0U3R5bGUpOwogCiAgICAgdm9pZCBibGVuZFByb3BlcnR5VmFsdWVJblN0eWxl
KGludCBwcm9wLCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlKTsKICAgICAKQEAgLTQzMiw4ICs0
MzYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzZW5kVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgaW5FdmVudFR5cGUsIGRvdWJsZSBpbkVsYXBzZWRUaW1lKTsKICAgICAKIHBy
aXZhdGU6Ci0gICAgaW50IG1fcHJvcGVydHk7Ci0gICAgYm9vbCBtX292ZXJyaWRkZW47CisgICAg
aW50IG1fdHJhbnNpdGlvblByb3BlcnR5OyAgIC8vIFRyYW5zaXRpb24gcHJvcGVydHkgYXMgc3Bl
Y2lmaWVkIGluIHRoZSBSZW5kZXJTdHlsZS4gTWF5IGJlIGNBbmltYXRlQWxsCisgICAgaW50IG1f
YW5pbWF0aW5nUHJvcGVydHk7ICAgIC8vIFNwZWNpZmljIHByb3BlcnR5IGZvciB0aGlzIEltcGxp
Y2l0QW5pbWF0aW9uCisgICAgYm9vbCBtX292ZXJyaWRkZW47ICAgICAgICAgIC8vIHRydWUgd2hl
biB0aGVyZSBpcyBhIGtleWZyYW1lIGFuaW1hdGlvbiB0aGF0IG92ZXJyaWRlcyB0aGUgdHJhbnNp
dGlvbmluZyBwcm9wZXJ0eQogICAgIAogICAgIC8vIFRoZSB0d28gc3R5bGVzIHRoYXQgd2UgYXJl
IGJsZW5kaW5nLgogICAgIFJlbmRlclN0eWxlKiBtX2Zyb21TdHlsZTsKQEAgLTQ1MCw2ICs0NTUs
OCBAQCB2b2lkIEFuaW1hdGlvbkV2ZW50RGlzcGF0Y2hlcjo6dGltZXJGaXJlZChUaW1lcjxBbmlt
YXRpb25UaW1lckJhc2U+KikKICAgICBtX2FuaW0tPmFuaW1hdGlvbkV2ZW50RGlzcGF0Y2hlckZp
cmVkKG1fZWxlbWVudC5nZXQoKSwgbV9uYW1lLCBtX3Byb3BlcnR5LCBtX3Jlc2V0LCBtX2V2ZW50
VHlwZSwgbV9lbGFwc2VkVGltZSk7CiB9CiAKKy8vIEFuIEtleWZyYW1lQW5pbWF0aW9uIHRyYWNr
cyB0aGUgc3RhdGUgb2YgYW4gZXhwbGljaXQgYW5pbWF0aW9uCisvLyBmb3IgYSBzaW5nbGUgUmVu
ZGVyT2JqZWN0LgogY2xhc3MgS2V5ZnJhbWVBbmltYXRpb24gOiBwdWJsaWMgQW5pbWF0aW9uQmFz
ZSB7CiBwdWJsaWM6CiAgICAgS2V5ZnJhbWVBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uKiBhbmlt
YXRpb24sIFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGludCBpbmRleCwgQ29tcG9zaXRlQW5pbWF0
aW9uKiBjb21wQW5pbSkKQEAgLTEyMzUsNiArMTI0Miw3IEBAIGludCBBbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZTo6Z2V0UHJvcGVydHlBdEluZGV4KGludCBpKQogYm9vbCBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZTo6YmxlbmRQcm9wZXJ0aWVzKGludCBwcm9wLCBSZW5kZXJTdHlsZSogZHN0
LCBjb25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIsIGRvdWJsZSBwcm9n
KQogewogICAgIGlmIChwcm9wID09IGNBbmltYXRlQWxsKSB7CisgICAgICAgIEFTU0VSVCgwKTsK
ICAgICAgICAgYm9vbCBuZWVkc1RpbWVyID0gZmFsc2U7CiAgICAgCiAgICAgICAgIHNpemVfdCBu
ID0gZ1Byb3BlcnR5V3JhcHBlcnMtPnNpemUoKTsKQEAgLTEzODksNyArMTM5Nyw3IEBAIHZvaWQg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqIGRv
Y3VtZW50KQogICAgIHVwZGF0ZUFuaW1hdGlvblRpbWVyKCk7CiB9CiAKLXZvaWQgQ29tcG9zaXRl
QW5pbWF0aW9uOjp1cGRhdGVUcmFuc2l0aW9ucyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5k
ZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUpCit2b2lkIENv
bXBvc2l0ZUFuaW1hdGlvbjo6dXBkYXRlVHJhbnNpdGlvbnMoUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHRhcmdldFN0
eWxlKQogewogICAgIC8vIElmIGN1cnJlbnRTdHlsZSBpcyBudWxsLCB3ZSBkb24ndCBkbyB0cmFu
c2l0aW9ucwogICAgIGlmICghY3VycmVudFN0eWxlIHx8ICF0YXJnZXRTdHlsZS0+dHJhbnNpdGlv
bnMoKSkKQEAgLTE0MTAsMTQgKzE0MTgsMTcgQEAgdm9pZCBDb21wb3NpdGVBbmltYXRpb246OnVw
ZGF0ZVRyYW5zaXRpb25zKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKgogICAg
ICAgICAKICAgICAgICAgLy8gSGFuZGxlIGJvdGggdGhlICdhbGwnIGFuZCBzaW5nbGUgcHJvcGVy
dHkgY2FzZXMuIEZvciB0aGUgc2luZ2xlIHByb3AgY2FzZSwgd2UgbWFrZSBvbmx5IG9uZSBwYXNz
CiAgICAgICAgIC8vIHRocm91Z2ggdGhlIGxvb3AKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IDsg
KytpKSB7CisgICAgICAgIGZvciAoaW50IHByb3BlcnR5SW5kZXggPSAwOyA7ICsrcHJvcGVydHlJ
bmRleCkgewogICAgICAgICAgICAgaWYgKGFsbCkgewotICAgICAgICAgICAgICAgIGlmIChpID49
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpnZXROdW1Qcm9wZXJ0aWVzKCkpCisgICAgICAg
ICAgICAgICAgaWYgKHByb3BlcnR5SW5kZXggPj0gQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OmdldE51bVByb3BlcnRpZXMoKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICAgLy8gZ2V0IHRoZSBuZXh0IHByb3AKLSAgICAgICAgICAgICAgICBwcm9wID0gQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmdldFByb3BlcnR5QXRJbmRleChpKTsKKyAgICAgICAg
ICAgICAgICBwcm9wID0gQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmdldFByb3BlcnR5QXRJ
bmRleChwcm9wZXJ0eUluZGV4KTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgLy8gSW1w
bGljaXRBbmltYXRpb25zIGFyZSBhbHdheXMgaGFzaGVkIGJ5IGFjdHVhbCBwcm9wZXJ0aWVzLCBu
ZXZlciBjQW5pbWF0ZUFsbAorICAgICAgICAgICAgQVNTRVJUKHByb3AgPiBmaXJzdENTU1Byb3Bl
cnR5ICYmIHByb3AgPCAoZmlyc3RDU1NQcm9wZXJ0eSArIG51bUNTU1Byb3BlcnRpZXMpKTsKKwog
ICAgICAgICAgICAgLy8gU2VlIGlmIHRoZXJlIGlzIGEgY3VycmVudCB0cmFuc2l0aW9uIGZvciB0
aGlzIHByb3AKICAgICAgICAgICAgIEltcGxpY2l0QW5pbWF0aW9uKiBpbXBsQW5pbSA9IG1fdHJh
bnNpdGlvbnMuZ2V0KHByb3ApOwogICAgICAgICAgICAgYm9vbCBlcXVhbCA9IHRydWU7CkBAIC0x
NDI1LDI4ICsxNDM2LDE5IEBAIHZvaWQgQ29tcG9zaXRlQW5pbWF0aW9uOjp1cGRhdGVUcmFuc2l0
aW9ucyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5kZXJTdHlsZSoKICAgICAgICAgICAgIGlm
IChpbXBsQW5pbSkgewogICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG9uZSwgaGFzIG91ciB0
YXJnZXQgY2hhbmdlZD8KICAgICAgICAgICAgICAgICBpZiAoIWltcGxBbmltLT5pc1RhcmdldFBy
b3BlcnR5RXF1YWwocHJvcCwgdGFyZ2V0U3R5bGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8v
IEl0IGhhcyBjaGFuZ2VkIC0gdG9zcyBpdCBhbmQgc3RhcnQgb3ZlcgotICAgICAgICAgICAgICAg
ICAgICAvLyBPcGFjaXR5IGlzIHNwZWNpYWwgc2luY2UgaXQgY2FuIHBvcCBpbiBhbmQgb3V0IG9m
IFJlbmRlckxheWVycy4gV2UgbmVlZCB0byBjb21wdXRlCi0gICAgICAgICAgICAgICAgICAgIC8v
IHRoZSBibGVuZGVkIG9wYWNpdHkgdmFsdWUgYmV0d2VlbiB0aGUgcHJldmlvdXMgZnJvbSBhbmQg
dG8gc3R5bGVzIGFuZCBwdXQgdGhhdCBpbiB0aGUgY3VycmVudFN0eWxlLCB3aGljaAotICAgICAg
ICAgICAgICAgICAgICAvLyB3aWxsIGJlY29tZSB0aGUgbmV3IGZyb21TdHlsZS4gVGhpcyBpcyBj
aGFuZ2luZyBhIGNvbnN0IFJlbmRlclN0eWxlLCBidXQgd2Uga25vdyB3aGF0IHdlIGFyZSBkb2lu
ZywgcmVhbGx5IDotKQotICAgICAgICAgICAgICAgICAgICBpZiAocHJvcCA9PSBDU1NQcm9wZXJ0
eU9wYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIGdldCB0aGUgYmxlbmRlZCB2
YWx1ZSBvZiBvcGFjaXR5IGludG8gdGhlIGN1cnJlbnRTdHlsZSAod2hpY2ggd2lsbCBiZSB0aGUg
bmV3IGZyb21TdHlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGltcGxBbmltLT5ibGVuZFBy
b3BlcnR5VmFsdWVJblN0eWxlKENTU1Byb3BlcnR5T3BhY2l0eSwgY3VycmVudFN0eWxlKTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotCiAgICAgICAgICAgICAgICAgICAgIGltcGxBbmltLT5yZXNl
dChyZW5kZXJlcik7CiAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpbXBsQW5pbTsKICAgICAg
ICAgICAgICAgICAgICAgbV90cmFuc2l0aW9ucy5yZW1vdmUocHJvcCk7CiAgICAgICAgICAgICAg
ICAgICAgIGVxdWFsID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAv
LyBTZWUgaWYgd2UgbmVlZCB0byBzdGFydCBhIG5ldyB0cmFuc2l0aW9uCiAgICAgICAgICAgICAg
ICAgZXF1YWwgPSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cHJvcGVydGllc0VxdWFsKHBy
b3AsIGN1cnJlbnRTdHlsZSwgdGFyZ2V0U3R5bGUpOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgCiAgICAgICAgICAgICBpZiAoIWVxdWFsKSB7Ci0gICAgICAgICAgICAgICAgLy8gQUFkZCB0
aGUgbmV3IHRyYW5zaXRpb24KLSAgICAgICAgICAgICAgICBJbXBsaWNpdEFuaW1hdGlvbiogYW5p
bWF0aW9uID0gbmV3IEltcGxpY2l0QW5pbWF0aW9uKGNvbnN0X2Nhc3Q8QW5pbWF0aW9uKj4oYW5p
bSksIHJlbmRlcmVyLCB0aGlzKTsKKyAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIG5ldyB0cmFu
c2l0aW9uCisgICAgICAgICAgICAgICAgSW1wbGljaXRBbmltYXRpb24qIGFuaW1hdGlvbiA9IG5l
dyBJbXBsaWNpdEFuaW1hdGlvbihjb25zdF9jYXN0PEFuaW1hdGlvbio+KGFuaW0pLCBwcm9wLCBy
ZW5kZXJlciwgdGhpcyk7CiAgICAgICAgICAgICAgICAgbV90cmFuc2l0aW9ucy5zZXQocHJvcCwg
YW5pbWF0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMTQ1Nyw3ICsxNDU5
LDcgQEAgdm9pZCBDb21wb3NpdGVBbmltYXRpb246OnVwZGF0ZVRyYW5zaXRpb25zKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKgogICAgIH0KIH0KIAotdm9pZCBDb21wb3NpdGVB
bmltYXRpb246OnVwZGF0ZUtleWZyYW1lQW5pbWF0aW9ucyhSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUpCit2
b2lkIENvbXBvc2l0ZUFuaW1hdGlvbjo6dXBkYXRlS2V5ZnJhbWVBbmltYXRpb25zKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0
eWxlKiB0YXJnZXRTdHlsZSkKIHsKICAgICAvLyBOb3RoaW5nIHRvIGRvIGlmIHdlIGRvbid0IGhh
dmUgYW55IGFuaW1hdGlvbnMsIGFuZCBkaWRuJ3QgaGF2ZSBhbnkgYmVmb3JlCiAgICAgaWYgKG1f
a2V5ZnJhbWVBbmltYXRpb25zLmlzRW1wdHkoKSAmJiAhdGFyZ2V0U3R5bGUtPmhhc0FuaW1hdGlv
bnMoKSkKQEAgLTE1MjksNyArMTUzMSw3IEBAIEtleWZyYW1lQW5pbWF0aW9uKiBDb21wb3NpdGVB
bmltYXRpb246OmZpbmRLZXlmcmFtZUFuaW1hdGlvbihjb25zdCBBdG9taWNTdHJpbmcmCiAgICAg
cmV0dXJuIG1fa2V5ZnJhbWVBbmltYXRpb25zLmdldChuYW1lLmltcGwoKSk7CiB9CiAKLVJlbmRl
clN0eWxlKiBDb21wb3NpdGVBbmltYXRpb246OmFuaW1hdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHRhcmdldFN0eWxlKQor
UmVuZGVyU3R5bGUqIENvbXBvc2l0ZUFuaW1hdGlvbjo6YW5pbWF0ZShSZW5kZXJPYmplY3QqIHJl
bmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogdGFy
Z2V0U3R5bGUpCiB7CiAgICAgUmVuZGVyU3R5bGUqIHJlc3VsdFN0eWxlID0gMDsKICAgICAKQEAg
LTE2MTksMTEgKzE2MjEsNyBAQCB2b2lkIENvbXBvc2l0ZUFuaW1hdGlvbjo6cmVzZXRUcmFuc2l0
aW9ucyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogCiB2b2lkIENvbXBvc2l0ZUFuaW1hdGlvbjo6
cmVzZXRBbmltYXRpb25zKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7Ci0gICAgQW5pbWF0aW9u
TmFtZU1hcDo6Y29uc3RfaXRlcmF0b3Iga2ZlbmQgPSBtX2tleWZyYW1lQW5pbWF0aW9ucy5lbmQo
KTsKLSAgICBmb3IgKEFuaW1hdGlvbk5hbWVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9rZXlm
cmFtZUFuaW1hdGlvbnMuYmVnaW4oKTsgaXQgIT0ga2ZlbmQ7ICsraXQpIHsKLSAgICAgICAgS2V5
ZnJhbWVBbmltYXRpb24qIGFuaW0gPSBpdC0+c2Vjb25kOwotICAgICAgICBkZWxldGUgYW5pbTsK
LSAgICB9CisgICAgZGVsZXRlQWxsVmFsdWVzKG1fa2V5ZnJhbWVBbmltYXRpb25zKTsKICAgICBt
X2tleWZyYW1lQW5pbWF0aW9ucy5jbGVhcigpOwogfQogCkBAIC0xNjQxLDcgKzE2MzksNyBAQCB2
b2lkIENvbXBvc2l0ZUFuaW1hdGlvbjo6Y2xlYW51cEZpbmlzaGVkQW5pbWF0aW9ucyhSZW5kZXJP
YmplY3QqIHJlbmRlcmVyKQogICAgICAgICBpZiAoIWFuaW0pCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgaWYgKGFuaW0tPnBvc3RhY3RpdmUoKSAmJiAhYW5pbS0+d2FpdGluZ0ZvckVu
ZEV2ZW50KCkpCi0gICAgICAgICAgICBmaW5pc2hlZFRyYW5zaXRpb25zLmFwcGVuZChhbmltLT5w
cm9wZXJ0eSgpKTsKKyAgICAgICAgICAgIGZpbmlzaGVkVHJhbnNpdGlvbnMuYXBwZW5kKGFuaW0t
PmFuaW1hdGluZ1Byb3BlcnR5KCkpOwogICAgIH0KICAgICAKICAgICAvLyBEZWxldGUgdGhlbQpA
QCAtMTY5NCw4ICsxNjkyLDcgQEAgdm9pZCBDb21wb3NpdGVBbmltYXRpb246OnNldFRyYW5zaXRp
b25TdGFydFRpbWUoaW50IHByb3BlcnR5LCBkb3VibGUgdCkKICAgICBDU1NQcm9wZXJ0eVRyYW5z
aXRpb25zTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3RyYW5zaXRpb25zLmVuZCgpOwogICAg
IGZvciAoQ1NTUHJvcGVydHlUcmFuc2l0aW9uc01hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3Ry
YW5zaXRpb25zLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBJbXBsaWNpdEFu
aW1hdGlvbiogYW5pbSA9IGl0LT5zZWNvbmQ7Ci0gICAgICAgIGlmIChhbmltICYmIGFuaW0tPndh
aXRpbmdGb3JTdGFydFRpbWUoKSAmJiAKLSAgICAgICAgICAgICAgICAgICAgKGFuaW0tPnByb3Bl
cnR5KCkgPT0gcHJvcGVydHkgfHwgYW5pbS0+cHJvcGVydHkoKSA9PSBjQW5pbWF0ZUFsbCkpCisg
ICAgICAgIGlmIChhbmltICYmIGFuaW0tPndhaXRpbmdGb3JTdGFydFRpbWUoKSAmJiBhbmltLT5h
bmltYXRpbmdQcm9wZXJ0eSgpID09IHByb3BlcnR5KQogICAgICAgICAgICAgYW5pbS0+dXBkYXRl
U3RhdGVNYWNoaW5lKEFuaW1hdGlvbkJhc2U6OlNUQVRFX0lOUFVUX1NUQVJUX1RJTUVfU0VULCB0
KTsKICAgICB9CiB9CkBAIC0xNzQ5LDcgKzE3NDYsNyBAQCB2b2lkIENvbXBvc2l0ZUFuaW1hdGlv
bjo6b3ZlcnJpZGVJbXBsaWNpdEFuaW1hdGlvbnMoaW50IHByb3BlcnR5KQogICAgIENTU1Byb3Bl
cnR5VHJhbnNpdGlvbnNNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fdHJhbnNpdGlvbnMuZW5k
KCk7CiAgICAgZm9yIChDU1NQcm9wZXJ0eVRyYW5zaXRpb25zTWFwOjpjb25zdF9pdGVyYXRvciBp
dCA9IG1fdHJhbnNpdGlvbnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIElt
cGxpY2l0QW5pbWF0aW9uKiBhbmltID0gaXQtPnNlY29uZDsKLSAgICAgICAgaWYgKGFuaW0gJiYg
KGFuaW0tPnByb3BlcnR5KCkgPT0gcHJvcGVydHkgfHwgYW5pbS0+cHJvcGVydHkoKSA9PSBjQW5p
bWF0ZUFsbCkpCisgICAgICAgIGlmIChhbmltICYmIGFuaW0tPmFuaW1hdGluZ1Byb3BlcnR5KCkg
PT0gcHJvcGVydHkpCiAgICAgICAgICAgICBhbmltLT5zZXRPdmVycmlkZGVuKHRydWUpOwogICAg
IH0KIH0KQEAgLTE3NTksNyArMTc1Niw3IEBAIHZvaWQgQ29tcG9zaXRlQW5pbWF0aW9uOjpyZXN1
bWVPdmVycmlkZGVuSW1wbGljaXRBbmltYXRpb25zKGludCBwcm9wZXJ0eSkKICAgICBDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25zTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3RyYW5zaXRpb25zLmVu
ZCgpOwogICAgIGZvciAoQ1NTUHJvcGVydHlUcmFuc2l0aW9uc01hcDo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBtX3RyYW5zaXRpb25zLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBJ
bXBsaWNpdEFuaW1hdGlvbiogYW5pbSA9IGl0LT5zZWNvbmQ7Ci0gICAgICAgIGlmIChhbmltICYm
IChhbmltLT5wcm9wZXJ0eSgpID09IHByb3BlcnR5IHx8IGFuaW0tPnByb3BlcnR5KCkgPT0gY0Fu
aW1hdGVBbGwpKQorICAgICAgICBpZiAoYW5pbSAmJiBhbmltLT5hbmltYXRpbmdQcm9wZXJ0eSgp
ID09IHByb3BlcnR5KQogICAgICAgICAgICAgYW5pbS0+c2V0T3ZlcnJpZGRlbihmYWxzZSk7CiAg
ICAgfQogfQpAQCAtMTgyOCwxMiArMTgyNSw5IEBAIHZvaWQgSW1wbGljaXRBbmltYXRpb246OmFu
aW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uKiBhbmltYXRpb24sIFJlbmRlck9iamVjdCogcmVuCiAg
ICAgICAgIHJldHVybjsKICAgICAKICAgICAvLyBJZiB3ZSBnZXQgdGhpcyBmYXIgYW5kIHRoZSBh
bmltYXRpb24gaXMgZG9uZSwgaXQgbWVhbnMgd2UgYXJlIGNsZWFuaW5nIHVwIGEganVzdCBmaW5p
c2hlZCBhbmltYXRpb24uCi0gICAgLy8gSWYgc28sIHNlbmQgYmFjayB0aGUgdGFyZ2V0U3R5bGUg
KGl0IHdpbGwgZ2V0IHRvc3NlZCBsYXRlcikKLSAgICBpZiAocG9zdGFjdGl2ZSgpKSB7Ci0gICAg
ICAgIGlmICghYW5pbWF0ZWRTdHlsZSkKLSAgICAgICAgICAgIGFuaW1hdGVkU3R5bGUgPSBjb25z
dF9jYXN0PFJlbmRlclN0eWxlKj4odGFyZ2V0U3R5bGUpOworICAgIC8vIFNvIGp1c3QgcmV0dXJu
LiBFdmVyeXRoaW5nIGlzIGFscmVhZHkgYWxsIGNsZWFuZWQgdXAKKyAgICBpZiAocG9zdGFjdGl2
ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCiAgICAgLy8gUmVzZXQgdG8gc3RhcnQgdGhl
IHRyYW5zaXRpb24gaWYgd2UgYXJlIG5ldwogICAgIGlmIChpc25ldygpKQpAQCAtMTg0NSwxNyAr
MTgzOSwxNSBAQCB2b2lkIEltcGxpY2l0QW5pbWF0aW9uOjphbmltYXRlKENvbXBvc2l0ZUFuaW1h
dGlvbiogYW5pbWF0aW9uLCBSZW5kZXJPYmplY3QqIHJlbgogICAgICAgICBhbmltYXRlZFN0eWxl
ID0gbmV3IChyZW5kZXJlci0+cmVuZGVyQXJlbmEoKSkgUmVuZGVyU3R5bGUoKnRhcmdldFN0eWxl
KTsKICAgICAKICAgICBkb3VibGUgcHJvZyA9IHByb2dyZXNzKDEsIDApOwotICAgIGJvb2wgbmVl
ZHNBbmltID0gQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJsZW5kUHJvcGVydGllcyhtX3By
b3BlcnR5LCBhbmltYXRlZFN0eWxlLCBtX2Zyb21TdHlsZSwgbV90b1N0eWxlLCBwcm9nKTsKKyAg
ICBib29sIG5lZWRzQW5pbSA9IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpibGVuZFByb3Bl
cnRpZXMobV9hbmltYXRpbmdQcm9wZXJ0eSwgYW5pbWF0ZWRTdHlsZSwgbV9mcm9tU3R5bGUsIG1f
dG9TdHlsZSwgcHJvZyk7CiAgICAgaWYgKG5lZWRzQW5pbSkKICAgICAgICAgc2V0QW5pbWF0aW5n
KCk7CiB9CiAKIHZvaWQgSW1wbGljaXRBbmltYXRpb246Om9uQW5pbWF0aW9uRW5kKGRvdWJsZSBp
bkVsYXBzZWRUaW1lKQogewotICAgIC8vIHdlJ3JlIGNvbnZlcnRpbmcgdGhlIGFuaW1hdGlvbiBp
bnRvIGEgdHJhbnNpdGlvbiBoZXJlCiAgICAgaWYgKCFzZW5kVHJhbnNpdGlvbkV2ZW50KEV2ZW50
TmFtZXM6OndlYmtpdFRyYW5zaXRpb25FbmRFdmVudCwgaW5FbGFwc2VkVGltZSkpIHsKLSAgICAg
ICAgLy8gd2UgZGlkbid0IGRpc3BhdGNoIGFuIGV2ZW50LCB3aGljaCB3b3VsZCBjYWxsIGVuZEFu
aW1hdGlvbigpLCBzbyB3ZSdsbCBqdXN0IGVuZAotICAgICAgICAvLyBpdCBoZXJlLgorICAgICAg
ICAvLyBXZSBkaWRuJ3QgZGlzcGF0Y2ggYW4gZXZlbnQsIHdoaWNoIHdvdWxkIGNhbGwgZW5kQW5p
bWF0aW9uKCksIHNvIHdlJ2xsIGp1c3QgY2FsbCBpdCBoZXJlLgogICAgICAgICBlbmRBbmltYXRp
b24odHJ1ZSk7CiAgICAgfQogfQpAQCAtMTg2OSwxMiArMTg2MSwxMCBAQCBib29sIEltcGxpY2l0
QW5pbWF0aW9uOjpzZW5kVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaW5FdmVu
dFR5cGUsIGRvdQogICAgICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IGVsZW1lbnRGb3JFdmVu
dERpc3BhdGNoKCk7CiAgICAgICAgICAgICBpZiAoZWxlbWVudCkgewogICAgICAgICAgICAgICAg
IFN0cmluZyBwcm9wZXJ0eU5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKG1fcHJvcGVydHkgPT0g
Y0FuaW1hdGVBbGwpCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZSA9IFN0cmluZygi
Iik7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5h
bWUgPSBTdHJpbmcoZ2V0UHJvcGVydHlOYW1lKChDU1NQcm9wZXJ0eUlEKW1fcHJvcGVydHkpKTsK
KyAgICAgICAgICAgICAgICBpZiAobV90cmFuc2l0aW9uUHJvcGVydHkgIT0gY0FuaW1hdGVBbGwp
CisgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZSA9IFN0cmluZyhnZXRQcm9wZXJ0eU5h
bWUoKENTU1Byb3BlcnR5SUQpbV90cmFuc2l0aW9uUHJvcGVydHkpKTsKICAgICAgICAgICAgICAg
ICBtX3dhaXRpbmdGb3JFbmRFdmVudCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgbV9hbmltYXRp
b25FdmVudERpc3BhdGNoZXIuc3RhcnRUaW1lcihlbGVtZW50LCBwcm9wZXJ0eU5hbWUsIG1fcHJv
cGVydHksIHRydWUsIGluRXZlbnRUeXBlLCBpbkVsYXBzZWRUaW1lKTsKKyAgICAgICAgICAgICAg
ICBtX2FuaW1hdGlvbkV2ZW50RGlzcGF0Y2hlci5zdGFydFRpbWVyKGVsZW1lbnQsIHByb3BlcnR5
TmFtZSwgbV90cmFuc2l0aW9uUHJvcGVydHksIHRydWUsIGluRXZlbnRUeXBlLCBpbkVsYXBzZWRU
aW1lKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGlkIGRpc3BhdGNoIGFuIGV2
ZW50CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE5MTUsMTEgKzE5MDUsMTAgQEAgdm9p
ZCBJbXBsaWNpdEFuaW1hdGlvbjo6c2V0T3ZlcnJpZGRlbihib29sIGIpCiAKIGJvb2wgSW1wbGlj
aXRBbmltYXRpb246OmFmZmVjdHNQcm9wZXJ0eShpbnQgcHJvcGVydHkpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG1fcHJvcGVydHkgPT0gcHJvcGVydHkgfHwKLSAgICAobV9wcm9wZXJ0eSA9PSBjQW5p
bWF0ZUFsbCAmJiAhQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnByb3BlcnRpZXNFcXVhbChw
cm9wZXJ0eSwgbV9mcm9tU3R5bGUsIG1fdG9TdHlsZSkpOworICAgIHJldHVybiAobV9hbmltYXRp
bmdQcm9wZXJ0eSA9PSBwcm9wZXJ0eSk7CiB9CiAKLWJvb2wgSW1wbGljaXRBbmltYXRpb246Omlz
VGFyZ2V0UHJvcGVydHlFcXVhbChpbnQgcHJvcCwgUmVuZGVyU3R5bGUqIHRhcmdldFN0eWxlKQor
Ym9vbCBJbXBsaWNpdEFuaW1hdGlvbjo6aXNUYXJnZXRQcm9wZXJ0eUVxdWFsKGludCBwcm9wLCBj
b25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUpCiB7CiAgICAgcmV0dXJuIEFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjpwcm9wZXJ0aWVzRXF1YWwocHJvcCwgbV90b1N0eWxlLCB0YXJnZXRT
dHlsZSk7CiB9CkBAIC0yMDA4LDEwICsxOTk3LDkgQEAgdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6
YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qIGFuaW1hdGlvbiwgUmVuZGVyT2JqZWN0KiByZW4K
IAogdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6ZW5kQW5pbWF0aW9uKGJvb2wgcmVzZXQpCiB7Ci0g
ICAgaWYgKG1fb2JqZWN0KSB7Ci0gICAgICAgIC8vIHJlc3RvcmUgdGhlIG9yaWdpbmFsICh1bmFu
aW1hdGVkKSBzdHlsZQorICAgIC8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsICh1bmFuaW1hdGVkKSBz
dHlsZQorICAgIGlmIChtX29iamVjdCkKICAgICAgICAgc2V0Q2hhbmdlZChtX29iamVjdC0+ZWxl
bWVudCgpKTsKLSAgICB9CiB9CiAKIHZvaWQgS2V5ZnJhbWVBbmltYXRpb246Om9uQW5pbWF0aW9u
U3RhcnQoZG91YmxlIGluRWxhcHNlZFRpbWUpCkBAIC0yMDI2LDEwICsyMDE0LDggQEAgdm9pZCBL
ZXlmcmFtZUFuaW1hdGlvbjo6b25BbmltYXRpb25JdGVyYXRpb24oZG91YmxlIGluRWxhcHNlZFRp
bWUpCiAKIHZvaWQgS2V5ZnJhbWVBbmltYXRpb246Om9uQW5pbWF0aW9uRW5kKGRvdWJsZSBpbkVs
YXBzZWRUaW1lKQogewotICAgIC8vIEZJWE1FOiBzZXQgdGhlIHVuYW5pbWF0ZWQgc3R5bGUgb24g
dGhlIGVsZW1lbnQKICAgICBpZiAoIXNlbmRBbmltYXRpb25FdmVudChFdmVudE5hbWVzOjp3ZWJr
aXRBbmltYXRpb25FbmRFdmVudCwgaW5FbGFwc2VkVGltZSkpIHsKLSAgICAgICAgLy8gd2UgZGlk
bid0IGRpc3BhdGNoIGFuIGV2ZW50LCB3aGljaCB3b3VsZCBjYWxsIGVuZEFuaW1hdGlvbigpLCBz
byB3ZSdsbCBqdXN0IGVuZAotICAgICAgICAvLyBpdCBoZXJlLgorICAgICAgICAvLyBXZSBkaWRu
J3QgZGlzcGF0Y2ggYW4gZXZlbnQsIHdoaWNoIHdvdWxkIGNhbGwgZW5kQW5pbWF0aW9uKCksIHNv
IHdlJ2xsIGp1c3QgY2FsbCBpdCBoZXJlLgogICAgICAgICBlbmRBbmltYXRpb24odHJ1ZSk7CiAg
ICAgfQogfQpAQCAtMjA1OCw3ICsyMDQ0LDcgQEAgYm9vbCBLZXlmcmFtZUFuaW1hdGlvbjo6c2Vu
ZEFuaW1hdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaW5FdmVudFR5cGUsIGRvdWIKIAog
dm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6b3ZlcnJpZGVBbmltYXRpb25zKCkKIHsKLSAgICAvLyB0
aGlzIHdpbGwgb3ZlcnJpZGUgaW1wbGljaXQgYW5pbWF0aW9ucyB0aGF0IG1hdGNoIHRoZSBwcm9w
ZXJ0aWVzIGluIHRoZSBrZXlmcmFtZSBhbmltYXRpb24KKyAgICAvLyBUaGlzIHdpbGwgb3ZlcnJp
ZGUgaW1wbGljaXQgYW5pbWF0aW9ucyB0aGF0IG1hdGNoIHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBr
ZXlmcmFtZSBhbmltYXRpb24KICAgICBIYXNoU2V0PGludD46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9
IG1fa2V5ZnJhbWVzLT5lbmRQcm9wZXJ0aWVzKCk7CiAgICAgZm9yIChIYXNoU2V0PGludD46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gbV9rZXlmcmFtZXMtPmJlZ2luUHJvcGVydGllcygpOyBpdCAhPSBl
bmQ7ICsraXQpCiAgICAgICAgIGNvbXBvc2l0ZUFuaW1hdGlvbigpLT5vdmVycmlkZUltcGxpY2l0
QW5pbWF0aW9ucygqaXQpOwpAQCAtMjA2Niw3ICsyMDUyLDcgQEAgdm9pZCBLZXlmcmFtZUFuaW1h
dGlvbjo6b3ZlcnJpZGVBbmltYXRpb25zKCkKIAogdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6cmVz
dW1lT3ZlcnJpZGRlbkFuaW1hdGlvbnMoKQogewotICAgIC8vIHRoaXMgd2lsbCByZXN1bWUgb3Zl
cnJpZGRlbiBpbXBsaWNpdCBhbmltYXRpb25zCisgICAgLy8gVGhpcyB3aWxsIHJlc3VtZSBvdmVy
cmlkZGVuIGltcGxpY2l0IGFuaW1hdGlvbnMKICAgICBIYXNoU2V0PGludD46OmNvbnN0X2l0ZXJh
dG9yIGVuZCA9IG1fa2V5ZnJhbWVzLT5lbmRQcm9wZXJ0aWVzKCk7CiAgICAgZm9yIChIYXNoU2V0
PGludD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9rZXlmcmFtZXMtPmJlZ2luUHJvcGVydGllcygp
OyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgIGNvbXBvc2l0ZUFuaW1hdGlvbigpLT5yZXN1bWVP
dmVycmlkZGVuSW1wbGljaXRBbmltYXRpb25zKCppdCk7Cg==
</data>
<flag name="review"
          id="10076"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>